@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
*, ::after, ::before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

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

body {
  margin: 0;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[data-original-title], abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

dl, ol, ul {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol, ol ul, ul ol, ul ul {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b, strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: #0056b3;
  text-decoration: underline;
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

code, kbd, pre, samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

button, input, optgroup, select, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button;
}

[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
  cursor: pointer;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

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

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

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

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./../img/common/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("../font/slick.eot");
  src: url("../font/slick.eot?#iefix") format("embedded-opentype"), url("../font/slick.woff") format("woff"), url("../font/slick.ttf") format("truetype"), url("../font/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

body.lb-disable-scrolling {
  overflow: hidden;
}

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  opacity: 0.8;
  display: none;
}

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
  outline: none;
}

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;
  /* Image border */
  border: 4px solid white;
}

.lightbox a img {
  border: none;
}

.lb-outerContainer {
  position: relative;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
  /* Background color behind image.
     This is visible during transitions. */
  background-color: white;
}

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
}

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../img/common/loading.gif) no-repeat;
}

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}

.lb-container > .nav {
  left: 0;
}

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");
}

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block;
}

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../img/common/prev.png) left 48% no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-prev:hover {
  opacity: 1;
}

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../img/common/next.png) right 48% no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-next:hover {
  opacity: 1;
}

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-data {
  padding: 0 4px;
  color: #ccc;
}

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em;
}

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em;
}

.lb-data .lb-caption a {
  color: #4ae;
}

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999;
}

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../img/common/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.lb-data .lb-close:hover {
  cursor: pointer;
  opacity: 1;
}

/* ----------- setting -----------*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-size: 1.4rem;
  font-family: "Noto Sans JP", serif;
  line-height: 2;
  color: #333;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Sans JP", serif;
}

a {
  color: #333333;
  -webkit-transition: none;
  transition: none;
}
@media screen and (min-width: 768px) {
  a {
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}
a:hover {
  color: #2592f1;
  text-decoration: none;
}

a img {
  -webkit-transition: none;
  transition: none;
}
@media screen and (min-width: 768px) {
  a img {
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}
a img:hover {
  opacity: 1;
}
@media screen and (min-width: 40em) {
  a img:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
  }
}

@media screen and (max-width: 39.9375em) {
  a {
    -webkit-transition: all 0s ease;
    transition: all 0s ease;
  }
  a img {
    -webkit-transition: none;
    transition: none;
  }
  a:hover img,
  a:active img {
    opacity: 1;
    -webkit-filter: none;
            filter: none;
    -ms-filter: none;
  }
}
.font08 {
  font-size: 0.8rem;
}

.font09 {
  font-size: 0.9rem;
}

.font10 {
  font-size: 1rem;
}

.font11 {
  font-size: 1.1rem;
}

.font12 {
  font-size: 1.2rem;
}

.font13 {
  font-size: 1.3rem;
}

.font14 {
  font-size: 1.4rem;
}

.font15 {
  font-size: 1.5rem;
}

.font16 {
  font-size: 1.6rem;
}

.font17 {
  font-size: 1.7rem;
}

.font18 {
  font-size: 1.8rem;
}

.font19 {
  font-size: 1.9rem;
}

.font20 {
  font-size: 2rem;
}

.font21 {
  font-size: 2.1rem;
}

.font22 {
  font-size: 2.2rem;
}

.font23 {
  font-size: 2.3rem;
}

.font24 {
  font-size: 2.4rem;
}

.font25 {
  font-size: 2.5rem;
}

.font26 {
  font-size: 2.6rem;
}

.font27 {
  font-size: 2.7rem;
}

.font28 {
  font-size: 2.8rem;
}

.font29 {
  font-size: 2.9rem;
}

.font30 {
  font-size: 3rem;
}

.font31 {
  font-size: 3.1rem;
}

.font32 {
  font-size: 3.2rem;
}

.font33 {
  font-size: 3.3rem;
}

.font34 {
  font-size: 3.4rem;
}

.font35 {
  font-size: 3.5rem;
}

.font36 {
  font-size: 3.6rem;
}

.font37 {
  font-size: 3.7rem;
}

.font38 {
  font-size: 3.8rem;
}

.font39 {
  font-size: 3.9rem;
}

.font40 {
  font-size: 4rem;
}

.margin_t05 {
  margin-top: 5px;
}

.margin_t10 {
  margin-top: 10px;
}

.margin_t15 {
  margin-top: 15px;
}

.margin_t20 {
  margin-top: 20px;
}

.margin_t25 {
  margin-top: 25px;
}

.margin_t30 {
  margin-top: 30px;
}

.margin_t35 {
  margin-top: 35px;
}

.margin_t40 {
  margin-top: 40px;
}

.margin_t45 {
  margin-top: 45px;
}

.margin_t50 {
  margin-top: 50px;
}

.margin_t55 {
  margin-top: 55px;
}

.margin_t60 {
  margin-top: 60px;
}

.margin_t65 {
  margin-top: 65px;
}

.margin_t70 {
  margin-top: 70px;
}

.margin_t75 {
  margin-top: 75px;
}

.margin_t80 {
  margin-top: 80px;
}

.margin_t85 {
  margin-top: 85px;
}

.margin_b05 {
  margin-bottom: 5px;
}

.margin_b10 {
  margin-bottom: 10px;
}

.margin_b15 {
  margin-bottom: 15px;
}

.margin_b20 {
  margin-bottom: 20px;
}

.margin_b25 {
  margin-bottom: 25px;
}

.margin_b30 {
  margin-bottom: 30px;
}

.margin_b35 {
  margin-bottom: 35px;
}

.margin_b40 {
  margin-bottom: 40px;
}

.margin_b45 {
  margin-bottom: 45px;
}

.margin_b50 {
  margin-bottom: 50px;
}

.margin_b55 {
  margin-bottom: 55px;
}

.margin_b60 {
  margin-bottom: 60px;
}

.margin_b65 {
  margin-bottom: 65px;
}

.margin_b70 {
  margin-bottom: 70px;
}

.margin_b75 {
  margin-bottom: 75px;
}

.margin_b80 {
  margin-bottom: 80px;
}

.margin_b85 {
  margin-bottom: 85px;
}

.mask-wrap {
  display: table;
  overflow: hidden;
  padding: 0;
}
.mask-wrap .mask {
  display: table;
  position: relative;
  margin-bottom: 0.25em;
  left: -100%;
  overflow: hidden;
}
.mask-wrap .mask-bg {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #2592f1;
}

/* ////////// Page zoomin ////////// */
.zoomInAnimetion {
  opacity: 0;
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
  -webkit-transition: opacity 0.8s, -webkit-transform 1.8s;
  transition: opacity 0.8s, -webkit-transform 1.8s;
  transition: opacity 0.8s, transform 1.8s;
  transition: opacity 0.8s, transform 1.8s, -webkit-transform 1.8s;
}
.zoomInAnimetion.is_animat {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* ////////// Page fadeUp ////////// */
.fadeUpAnimetion {
  opacity: 0;
  -webkit-transform: translate3d(0, 120px, 0);
          transform: translate3d(0, 120px, 0);
  -webkit-transition: opacity 1.5s, -webkit-transform 1.5s;
  transition: opacity 1.5s, -webkit-transform 1.5s;
  transition: opacity 1.5s, transform 1.5s;
  transition: opacity 1.5s, transform 1.5s, -webkit-transform 1.5s;
}
.fadeUpAnimetion.is_animated {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.fadeUpAnimetion2 {
  opacity: 0;
  -webkit-transform: translate3d(0, 160px, 0);
          transform: translate3d(0, 160px, 0);
  -webkit-transition: opacity 1.5s, -webkit-transform 1.5s;
  transition: opacity 1.5s, -webkit-transform 1.5s;
  transition: opacity 1.5s, transform 1.5s;
  transition: opacity 1.5s, transform 1.5s, -webkit-transform 1.5s;
}
.fadeUpAnimetion2.is_animated {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.fadeUpAnimetion3 {
  opacity: 0;
  -webkit-transform: translate3d(0, 200px, 0);
          transform: translate3d(0, 200px, 0);
  -webkit-transition: opacity 1.5s, -webkit-transform 1.5s;
  transition: opacity 1.5s, -webkit-transform 1.5s;
  transition: opacity 1.5s, transform 1.5s;
  transition: opacity 1.5s, transform 1.5s, -webkit-transform 1.5s;
}
.fadeUpAnimetion3.is_animated {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.fadeDownAnimetion {
  opacity: 0;
  -webkit-transform: translate3d(0, -160px, 0);
          transform: translate3d(0, -160px, 0);
  -webkit-transition: opacity 1.5s, -webkit-transform 1.7s;
  transition: opacity 1.5s, -webkit-transform 1.7s;
  transition: opacity 1.5s, transform 1.7s;
  transition: opacity 1.5s, transform 1.7s, -webkit-transform 1.7s;
}
.fadeDownAnimetion.is_animated {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.fadeInAnimetion {
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: opacity 1.5s, -webkit-transform 1.8s;
  transition: opacity 1.5s, -webkit-transform 1.8s;
  transition: opacity 1.5s, transform 1.8s;
  transition: opacity 1.5s, transform 1.8s, -webkit-transform 1.8s;
}
.fadeInAnimetion.is_animated {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

section {
  padding: 30px 0;
}
@media screen and (min-width: 768px) {
  section {
    padding: 70px 0;
  }
}

.wrap {
  margin: 0 auto;
  width: 90%;
}
@media screen and (min-width: 1024px) {
  .wrap {
    max-width: 1200px;
  }
}

.wide_wrap {
  margin: 0 auto;
  width: 90%;
}
.contact_wrap {
  margin: 0 auto;
  width: 90%;
}
@media screen and (min-width: 1024px) {
  .contact_wrap {
    max-width: 1000px;
  }
}

.page_title h2 {
  font-size: 2rem;
  line-height: 1.6;
  margin: 0 0 20px;
  font-weight: normal;
  letter-spacing: 0.2rem;
}
@media screen and (min-width: 768px) {
  .page_title h2 {
    margin: 0 0 30px;
    font-size: 3rem;
    line-height: 1.8;
  }
}
.page_title p {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.1rem;
}
@media screen and (min-width: 768px) {
  .page_title p {
    font-size: 1.8rem;
    line-height: 2;
  }
}

.sec_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .sec_title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.sec_title h3 {
  font-family: "Roboto", sans-serif;
  font-weight: 300 !important;
  font-size: 2.6rem !important;
  color: #005bac !important;
  margin: 0 30px 0 0 !important;
  line-height: 1 !important;
}
@media screen and (min-width: 768px) {
  .sec_title h3 {
    font-size: 4.4rem !important;
  }
}
.sec_title h4 {
  font-size: 1.6rem !important;
  background: none !important;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .sec_title h4 {
    font-size: 2.4rem !important;
  }
}

.sub_title h5 {
  font-size: 1.6rem !important;
  line-height: 1 !important;
  font-weight: normal !important;
}
@media screen and (min-width: 768px) {
  .sub_title h5 {
    font-size: 2.2rem !important;
    line-height: 3 !important;
  }
}

.sp_none {
  display: none;
}
@media screen and (min-width: 1024px) {
  .sp_none {
    display: block;
  }
}

.pc_none {
  display: block;
}
@media screen and (min-width: 1024px) {
  .pc_none {
    display: none;
  }
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
.arrow_waterproof {
  background-color: #1959B8;
}

.arrow_concrete_repair {
  background-color: #802780;
}

.arrow_ground_improvement {
  background-color: #B75D29;
}

.arrow_slope_stabilization {
  background-color: #C39229;
}

.arrow_foundation_construction {
  background-color: #5D4C81;
}

.arrow_pipe_jacking_tunnel_construction {
  background-color: #016837;
}

.arrow_pipe_maintenance {
  background-color: #80AC3F;
}

.arrow_others {
  background-color: #c1c1c1;
}

.arrow_technical_tag {
  background-color: #4eacf4;
}

.arrow_technical_name {
  background-color: #f0be66;
}

.smooth {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  -webkit-transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: clip-path;
  transition-property: clip-path;
}
.smooth.is_animated {
  clip-path: inset(0);
}

.anchor {
  display: block;
  padding-top: 90px;
  margin-top: -90px;
}

#main_visual {
  width: 100%;
  position: relative;
  padding: 0;
}
#main_visual .top_visual {
  width: 100%;
  margin: 0;
  padding: 0;
  aspect-ratio: 16/9;
  line-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
#main_visual .top_visual video {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
#main_visual #show_later {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
#main_visual #vegas {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
#main_visual .show_none {
  display: none;
  -webkit-transition: all 1.3s;
  transition: all 1.3s;
}

#sp_main_visual {
  width: 100%;
  position: relative;
  padding: 0;
}
#sp_main_visual .top_visual {
  width: 100%;
  margin: 0;
  padding: 0;
  aspect-ratio: 9/16;
  line-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
#sp_main_visual .top_visual video {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
#sp_main_visual #sp_show_later {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
#sp_main_visual #vegas_sp {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
#sp_main_visual .sp_show_none {
  display: none;
  -webkit-transition: all 1.3s;
  transition: all 1.3s;
}

#sub_visual {
  overflow: hidden;
  position: relative;
}
#sub_visual .sub_visual_inner {
  height: 150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  #sub_visual .sub_visual_inner {
    height: 300px;
  }
}
#sub_visual .sub_visual_inner h2 {
  line-height: 1;
  font-size: 2.8rem;
  font-weight: 500;
}
#sub_visual .sub_visual_inner h3 {
  font-size: 1.8rem;
  font-weight: normal;
  font-family: "Roboto", sans-serif !important;
}
#sub_visual .sub_visual_img {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: -10;
  -o-object-fit: cover;
     object-fit: cover;
}
header {
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #fff;
  z-index: 9999;
  border-bottom: 1px solid #ccc;
}
header #header {
  width: 100%;
  margin: 0 auto;
  height: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header #header .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
header #header .wrap h1 {
  margin: 0;
  padding: 0;
  line-height: 1;
}
header #header .wrap h1 img {
  height: 40px;
  margin: 0;
  padding: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  header #header .wrap h1 img {
    height: 48px;
  }
}
header #header .wrap ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.5rem;
  font-weight: 400;
}
header #header .wrap ul li {
  margin: 0 0 0 30px;
}
header #header .wrap ul li a {
  position: relative;
  display: inline-block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #333333;
}
header #header .wrap ul li a:hover {
  color: #6abaff;
}
header #header .wrap ul li a::after {
  position: absolute;
  left: 50%;
  content: "";
  width: 0;
  height: 1px;
  background-color: #6abaff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
header #header .wrap ul li a::before {
  top: 0;
}
header #header .wrap ul li a::after {
  bottom: 0;
}
header #header .wrap ul li a:hover::after {
  width: 100%;
}

#breadcrumb {
  font-size: 1.3rem;
  background-color: #005bac;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  #breadcrumb {
    height: 60px;
    font-size: 1.6rem;
  }
}
#breadcrumb a {
  padding: 5px 0;
  color: #fff;
}

/**************** navi ****************/
/* ----------- global-nav -----------*/
#global-nav {
  position: fixed;
  right: -320px;
  top: 0;
  width: 300px;
  height: 100vh;
  padding-top: 40px;
  background-color: #fff;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  z-index: 99990;
  overflow-y: auto;
}
#global-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#global-nav ul li {
  text-align: center;
  padding: 0 14px 0;
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
}
#global-nav ul li p {
  font-size: 0.8rem;
  letter-spacing: 0.1rem;
  color: #68BDD6;
}
#global-nav ul li a {
  display: block;
  padding: 8px 0 0;
  border-bottom: 1px solid #eee;
  text-decoration: none;
  color: #333;
}
#global-nav ul li a:hover {
  background-color: #eee;
}
#global-nav img {
  display: block;
  margin: 50px auto;
  width: 200px;
}
#global-nav .global-nav_sns {
  padding: 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#global-nav .global-nav_sns img {
  width: 45%;
  margin: 30px auto 0;
}

/* ----------- toggle -----------*/
.toggle {
  position: fixed;
  right: 24px;
  top: 10px;
  width: 44px;
  height: 48px;
  padding: 28px 0 0 0;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 99999;
}
@media screen and (max-width: 39.9375em) {
  .toggle {
    right: 10px;
    top: 14px;
  }
}
.toggle span {
  position: absolute;
  left: 15%;
  width: 70%;
  height: 1px;
  background-color: #444;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
.toggle span:nth-child(1) {
  top: 7px;
}
.toggle span:nth-child(2) {
  top: 16px;
}
.toggle span:nth-child(3) {
  top: 25px;
}
.toggle p {
  text-align: center;
  font-size: 8px;
  color: #444;
}
@media screen and (min-width: 1024px) {
  .toggle {
    display: none;
  }
}

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  cursor: pointer;
}

/* Open CSSs */
.nav-open #global-nav {
  right: 0;
}

.nav-open .black-bg {
  opacity: 0.8;
  visibility: visible;
}

.nav-open .toggle span:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 15px;
}

.nav-open .toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}

.nav-open .toggle span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 15px;
}

#contact {
  height: 500px;
  overflow: hidden;
  position: relative;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  #contact {
    height: 500px;
  }
}
#contact .parallax-window {
  height: 100%;
  position: absolute;
  top: 0;
  right: -100px;
  z-index: -10;
}
@media screen and (min-width: 768px) {
  #contact .parallax-window {
    width: 100%;
    height: auto;
  }
}
#contact .wrap {
  width: 90%;
}
@media screen and (min-width: 768px) {
  #contact .wrap {
    width: 100%;
  }
}
#contact .wrap .sec_title span {
  display: inline-block;
  width: 4px;
}
#contact .wrap .btn_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  #contact .wrap .btn_box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3%;
  }
}
#contact .wrap .btn_box a {
  display: block;
  width: 100%;
  margin: 10px 0;
  padding: 15px 0;
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  #contact .wrap .btn_box a {
    width: 300px;
  }
}
#contact .wrap .btn_box a #btn_box_svg {
  margin: 0 0 0 10px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#contact .wrap .btn_box a #btn_box_svg .st0 {
  width: 10%;
  display: inline;
  fill: #fff;
}
#contact .wrap .btn_box a:nth-child(1) {
  background-color: #255A9F;
  border: 1px solid #255A9F;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#contact .wrap .btn_box a:nth-child(1):hover {
  color: #255A9F;
  background-color: #fff;
  border: 1px solid #255A9F;
}
#contact .wrap .btn_box a:nth-child(1):hover .st0 {
  fill: #255A9F !important;
}
#contact .wrap .btn_box a:nth-child(2) {
  background-color: #3C8ED6;
  border: 1px solid #3C8ED6;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#contact .wrap .btn_box a:nth-child(2):hover {
  color: #3C8ED6;
  background-color: #fff;
  border: 1px solid #3C8ED6;
}
#contact .wrap .btn_box a:nth-child(2):hover .st0 {
  fill: #3C8ED6 !important;
}
#contact p {
  margin: 20px 0 30px;
  line-height: 1.6;
  width: 60%;
}
@media screen and (min-width: 768px) {
  #contact p {
    width: 100%;
  }
}

footer {
  padding: 60px 0 0;
}
@media screen and (min-width: 768px) {
  footer {
    padding: 60px 0;
  }
}
footer .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  footer .wrap {
    padding: 70px 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
footer .wrap .foot_left {
  text-align: center;
}
@media screen and (min-width: 768px) {
  footer .wrap .foot_left {
    text-align: left;
  }
}
footer .wrap .foot_left .foot_img {
  margin: 0;
  width: 60%;
}
@media screen and (min-width: 768px) {
  footer .wrap .foot_left .foot_img {
    margin: 0;
    width: 321px;
  }
}
footer .wrap .foot_left .foot_logo {
  margin: 0 0 30px;
  width: 70%;
}
@media screen and (min-width: 768px) {
  footer .wrap .foot_left .foot_logo {
    width: 100%;
    margin: 0 0 30px;
  }
}
footer .wrap .foot_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
footer .wrap .foot_right ul {
  margin: 0 20px 50px;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  footer .wrap .foot_right ul {
    margin: 0 0 0 100px;
  }
}
footer .wrap .foot_right ul li {
  margin: 0 0 20px;
}

.contact_title h2 {
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 0 0 20px;
  padding: 0;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .contact_title h2 {
    margin: 0 0 30px;
    font-size: 2.6rem;
    border-bottom: 3px solid #005bac;
    line-height: 1.8;
  }
}
.contact_title p {
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .contact_title p {
    font-size: 1.8rem;
    line-height: 2;
  }
}
.contact_title .tel_box {
  margin: 30px 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .contact_title .tel_box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.contact_title .tel_box .tel_box_inner {
  width: 100%;
  padding: 20px 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .contact_title .tel_box .tel_box_inner {
    width: 45%;
  }
}
.contact_title .tel_box .tel_box_inner .shiten {
  margin: 0 5% 0 0;
  width: 30%;
  text-align: center;
  padding: 5px;
  background-color: #eee;
  border-radius: 5px;
}
.contact_title .tel_box a {
  font-size: 2.4rem;
  line-height: 1.3;
  font-weight: bold;
  text-decoration: underline;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .contact_title .tel_box a {
    font-size: 3rem;
  }
}

@media (max-width: 500px) {
  .inquiry th, .inquiry td {
    display: block !important;
    width: 100% !important;
    border-top: none !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
  }
  .inquiry tr:first-child th {
    border-top: 1px solid #d7d7d7 !important;
  }
  .inquiry .haveto, .inquiry .any {
    font-size: 1.6rem;
  }
}
.inquiry {
  width: 100%;
  margin: 80px auto 0 !important;
  font-size: 100%;
}
.inquiry tbody {
  border: none;
}
.inquiry tbody tr {
  background-color: #fff;
}
.inquiry tbody tr:nth-child(odd) {
  background-color: #fff;
}
.inquiry tbody th {
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 1.8rem;
  font-weight: normal;
  color: #444;
  width: 30%;
  border-bottom: 1px solid #ccc;
}
@media screen and (min-width: 768px) {
  .inquiry tbody th {
    padding: 20px 5px;
  }
}
.inquiry tbody td {
  padding: 0;
  font-size: 1.8rem;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
}
@media screen and (min-width: 768px) {
  .inquiry tbody td {
    padding: 20px 5px;
  }
}
.inquiry tbody td .textsp, .inquiry tbody td .mailsp, .inquiry tbody td .tel, .inquiry tbody td .zipcode, .inquiry tbody td .address {
  margin: 0;
  padding: 10px 15px;
  font-size: 1.6rem;
  border-radius: 5px;
  background-color: #eee;
  border: 1px solid #ccc;
}
.inquiry tbody td .celect {
  color: #888;
  margin: 0;
  padding: 10px 15px;
  font-size: 1.6rem;
  border-radius: 5px;
  background-color: #eee;
  border: 1px solid #ccc;
}
.inquiry tbody td .content {
  width: 100%;
  margin: 0;
  padding: 20px;
  font-size: 1.6rem;
  border-radius: 5px;
  background-color: #eee;
  border: 1px solid #ccc;
}
.inquiry tbody td .check_box span {
  font-size: 1.4rem;
  line-height: 3rem;
}

.inquiry .entry-content .inquiry tr,
.entry-content table {
  border: solid 1px #d7d7d7;
}

.haveto {
  font-size: 1.4rem;
  padding: 5px;
  background: #ff9393;
  color: #fff;
  border-radius: 2px;
  margin-right: 10px;
  position: relative;
  bottom: 1px;
}

.any {
  font-size: 1.4rem;
  padding: 5px;
  background: #93c9ff;
  color: #fff;
  border-radius: 2px;
  margin-right: 10px;
  position: relative;
  bottom: 1px;
}

.verticallist .wpcf7-list-item {
  display: block;
}

.boxes {
  width: 80%;
  margin: 40px auto 0;
  padding: 30px 30px 25px;
  background-color: #eee;
  text-align: center;
}
.boxes .check_text {
  font-size: 1.4rem;
  margin: 0 0 0 15px;
  display: inline-block;
}

#formbtn {
  display: block;
  padding: 15px;
  width: 350px;
  background: #4c8492;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  border-radius: 2px;
  margin: 25px auto 0;
  border: 2px solid #4c8492;
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -khtml-transition: all 0.3s ease;
}

#formbtn:hover {
  background: #fff;
  color: #4c8492;
  border: 2px solid #4c8492;
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -khtml-transition: all 0.3s ease;
}

@media screen and (max-width: 39.9375em) {
  .inquiry {
    width: 90%;
  }
  .inquiry tbody th {
    padding: 20px 5px 0;
    border-bottom: none;
  }
  .boxes {
    width: 90%;
  }
}
.home #top_information {
  width: 100%;
  background-color: #eee;
}
.home #top_information .top_info_area {
  width: 100vw;
  margin: 0 auto;
}
.home #top_information .wrap {
  padding: 10px 0;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .home #top_information .wrap {
    height: 70px;
    padding: 0;
  }
}
.home #top_information ul {
  width: 70%;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .home #top_information ul {
    width: 90%;
  }
}
.home #top_information ul li {
  font-size: 1.6rem;
}
.home #top_information ul li .day {
  margin: 0;
  display: block;
}
@media screen and (min-width: 768px) {
  .home #top_information ul li .day {
    display: inline;
  }
}
.home #top_information ul li .cate {
  display: block;
  width: 140px;
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  display: block;
}
@media screen and (min-width: 768px) {
  .home #top_information ul li .cate {
    display: inline-block;
    margin: 0 10px;
    padding: 5px 0;
  }
}
.home #top_information .link_btn {
  background: #2592f1;
  border: 1px solid #BCBCBC;
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  margin: 10px 0 0;
  padding: 5px 10px;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .home #top_information .link_btn {
    width: auto;
  }
}
.home #top_information .link_btn.slide {
  background: #fff;
  color: #333;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.home #top_information .link_btn.slide::after {
  background: #2592f1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.home #top_information .link_btn.slide:hover {
  color: #fff;
}
.home #top_information .link_btn.slide:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.home #top_information .link_btn.slide:hover .arrow {
  background-color: #fff;
}
.home #top_information .link_btn.slide:hover .arrow::before {
  border-top: solid 2px #2592f1;
  border-right: solid 2px #2592f1;
}
.home #top_information .arrow {
  position: relative;
  top: 5px;
  left: 0;
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 10px;
  background-color: #2592f1;
  border-radius: 50vh;
}
.home #top_information .arrow::before {
  content: "";
  left: 5px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.home #new_information {
  width: 100%;
  padding: 30px 0;
}
@media screen and (min-width: 768px) {
  .home #new_information {
    padding: 50px 0;
  }
}
.home #new_information ul {
  border-top: 1px solid #ccc;
  width: 100%;
  margin: 10px 0 20px;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .home #new_information ul {
    margin: 20px 0 50px;
  }
}
.home #new_information ul li {
  margin: 10px 0;
  padding: 10px 0;
  font-size: 1.6rem;
  border-bottom: 1px solid #eee;
}
.home #new_information ul li .day {
  margin: 0;
  display: inline;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .home #new_information ul li .day {
    display: inline;
  }
}
.home #new_information ul li .cate {
  display: inline;
  width: 140px;
  margin: 0 0 0 10px;
  padding: 0;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #005bac;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .home #new_information ul li .cate {
    display: inline-block;
    margin: 0 10px;
  }
}
.home #new_information ul li p {
  margin: 0;
  color: #005bac;
}
@media screen and (min-width: 768px) {
  .home #new_information ul li p {
    margin: 10px 0 0;
  }
}
.home #new_information ul li .cat_information,
.home #new_information ul li .cat_important,
.home #new_information ul li .cat_event_info,
.home #new_information ul li .cat_news {
  border: 1px solid #005bac;
  border-radius: 5px;
}
.home #new_information .link_btn {
  background: #2592f1;
  border: 1px solid #BCBCBC;
  border-radius: 5px;
  color: #fff;
  display: block;
  width: 200px;
  margin: 0 auto;
  padding: 5px 0;
  text-align: center;
  position: relative;
}
.home #new_information .link_btn.slide {
  background: #fff;
  color: #333;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.home #new_information .link_btn.slide::after {
  background: #2592f1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.home #new_information .link_btn.slide:hover {
  color: #fff;
}
.home #new_information .link_btn.slide:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.home #new_information .link_btn.slide:hover .arrow {
  background-color: #fff;
}
.home #new_information .link_btn.slide:hover .arrow::before {
  border-top: solid 2px #2592f1;
  border-right: solid 2px #2592f1;
}
.home #new_information .arrow {
  position: relative;
  top: 5px;
  left: 0;
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 10px;
  background-color: #2592f1;
  border-radius: 50vh;
}
.home #new_information .arrow::before {
  content: "";
  left: 5px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.home #technology {
  padding-bottom: 0;
}
.home #technology .tech_btn_area {
  margin: 30px 0 0;
  border-top: 1px solid #BCBCBC;
  border-bottom: 1px solid #BCBCBC;
  background-color: #fff;
}
.home #technology .tech_btn_area .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .home #technology .tech_btn_area .wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.home #technology .tech_btn_area .wrap .tech_btn {
  width: 100%;
  padding: 20px 0 30px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .home #technology .tech_btn_area .wrap .tech_btn {
    width: 33.33%;
    padding: 50px 0 60px;
  }
}
.home #technology .tech_btn_area .wrap .tech_btn:nth-child(2) {
  border-top: 1px solid #BCBCBC;
  border-bottom: 1px solid #BCBCBC;
  border-left: none;
  border-right: none;
}
@media screen and (min-width: 768px) {
  .home #technology .tech_btn_area .wrap .tech_btn:nth-child(2) {
    border-left: 1px solid #BCBCBC;
    border-right: 1px solid #BCBCBC;
    border-top: none;
    border-bottom: none;
  }
}
.home #technology .tech_btn_area .wrap .tech_btn h3 {
  font-size: 2rem;
  font-weight: normal;
}
.home #technology .tech_btn_area .wrap .tech_btn img {
  width: 20%;
  display: block;
  margin: 10px auto 20px;
}
@media screen and (min-width: 768px) {
  .home #technology .tech_btn_area .wrap .tech_btn img {
    width: auto;
    margin: 20px auto 30px;
  }
}
.home #technology .tech_btn_area .wrap .tech_btn .link_btn {
  background: #2592f1;
  border: 1px solid #BCBCBC;
  color: #fff;
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  position: relative;
}
.home #technology .tech_btn_area .wrap .tech_btn .link_btn.slide {
  background: #fff;
  color: #333;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.home #technology .tech_btn_area .wrap .tech_btn .link_btn.slide::after {
  background: #2592f1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.home #technology .tech_btn_area .wrap .tech_btn .link_btn.slide:hover {
  color: #fff;
}
.home #technology .tech_btn_area .wrap .tech_btn .link_btn.slide:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.home #technology .tech_btn_area .wrap .tech_btn .link_btn.slide:hover .arrow {
  background-color: #fff;
}
.home #technology .tech_btn_area .wrap .tech_btn .link_btn.slide:hover .arrow::before {
  border-top: solid 2px #2592f1;
  border-right: solid 2px #2592f1;
}
.home #technology .tech_btn_area .wrap .tech_btn .arrow {
  position: relative;
  top: 5px;
  left: 6px;
  display: inline-block;
  padding: 10px;
  background-color: #2592f1;
  border-radius: 50vh;
}
.home #technology .tech_btn_area .wrap .tech_btn .arrow::before {
  content: "";
  left: 5px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.home #para {
  height: 200px;
  padding: 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .home #para {
    height: 500px;
  }
}
.home #para .parallax-window {
  width: 100vw;
}
.home #company .top_com_contents {
  margin: 20px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .home #company .top_com_contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 50px 0 0;
  }
}
.home #company .top_com_contents .top_com_01, .home #company .top_com_contents .top_com_02 {
  position: relative;
  width: 100%;
  height: 150px;
  padding: 20px;
  color: #323232;
  font-weight: normal;
  background-repeat: no-repeat;
  background-size: cover;
  background-blend-mode: lighten;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .home #company .top_com_contents .top_com_01, .home #company .top_com_contents .top_com_02 {
    width: 49%;
    height: 400px;
    padding: 40px;
  }
}
.home #company .top_com_contents .top_com_01:hover, .home #company .top_com_contents .top_com_02:hover {
  background-color: rgba(255, 255, 255, 0.5);
  background-blend-mode: lighten;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.home #company .top_com_contents .top_com_01 .top_com_title, .home #company .top_com_contents .top_com_02 .top_com_title {
  padding: 0 0 0 10px;
  border-left: 2px solid #323232;
}
.home #company .top_com_contents .top_com_01 h3, .home #company .top_com_contents .top_com_02 h3 {
  margin: 0;
  line-height: 1;
  font-size: 2rem;
  font-weight: normal;
}
.home #company .top_com_contents .top_com_01 h4, .home #company .top_com_contents .top_com_02 h4 {
  font-weight: normal;
}
.home #company .top_com_contents .top_com_01 .arrow, .home #company .top_com_contents .top_com_02 .arrow {
  position: absolute;
  bottom: 40px;
  right: 40px;
  display: inline-block;
  padding: 14px;
  background-color: #fff;
  border-radius: 10vh;
}
.home #company .top_com_contents .top_com_01 .arrow::before, .home #company .top_com_contents .top_com_02 .arrow::before {
  content: "";
  top: 9px;
  left: 7px;
  width: 10px;
  height: 10px;
  border-top: solid 2px #E38D49;
  border-right: solid 2px #E38D49;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.home #company .top_com_contents .top_com_01 a, .home #company .top_com_contents .top_com_02 a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home #company .top_com_contents .top_com_01 {
  background-image: url("../img/index/top_com_01.png");
}
.home #company .top_com_contents .top_com_02 {
  background-image: url("../img/index/top_com_02.png");
}

.category_area {
  padding: 50px 0 !important;
  background-color: #FAFAFA;
}
.category_area h3 {
  margin: 0 0 30px;
  text-align: center;
  font-size: 2rem;
  font-weight: normal;
}
.category_area .taxonomy_top_menu {
  margin: 0 0 50px;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px 3%;
}
.category_area .taxonomy_top_menu li {
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .category_area .taxonomy_top_menu li {
    font-size: 1.8rem;
  }
}
.category_area .taxonomy_top_menu li a {
  display: block;
  padding: 1px 20px;
  background-color: #eee;
  border-radius: 50vh;
}
@media screen and (min-width: 768px) {
  .category_area .taxonomy_top_menu li a {
    padding: 3px 20px;
  }
}
.category_area .taxonomy_top_menu li a:hover {
  color: #fff;
  background-color: #007acc;
}
.category_area .taxonomy_top_menu .current a {
  color: #fff;
  background-color: #007acc;
}

.association h3 {
  margin: 0 0 15px;
  text-align: center;
  font-size: 2rem;
  font-weight: normal;
}
.association ul {
  border: 1px solid #eee;
  background-color: #FAFAFA;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px 5%;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .association ul {
    padding: 50px 80px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    line-height: 2;
  }
}
.association ul li {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .association ul li {
    width: 30%;
  }
}

.term_title_area {
  width: 100%;
  margin: 30px auto 50px;
}
.term_title_area .taxonomy_term_title {
  margin: 0 0 20px;
  font-size: 2rem;
  border-bottom: 3px solid #ccc;
}
@media screen and (min-width: 768px) {
  .term_title_area .taxonomy_term_title {
    font-size: 2.4rem;
  }
}
.term_title_area p {
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .term_title_area p {
    font-size: 1.8rem;
  }
}

#info_archive .wrap ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #ccc;
}
#info_archive .wrap ul li {
  border-bottom: 1px solid #ddd;
  padding: 1rem 0;
  position: relative;
}
#info_archive .wrap ul li a {
  text-decoration: none;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 1rem;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  font-size: 1.8rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #info_archive .wrap ul li a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#info_archive .wrap ul li a:hover {
  color: #007acc;
}
#info_archive .wrap ul li a:hover .arrow_link {
  border-color: #007acc;
  -webkit-transform: translateY(-50%) rotate(-45deg) translateY(5px) translateX(5px);
          transform: translateY(-50%) rotate(-45deg) translateY(5px) translateX(5px);
}
#info_archive .wrap ul li a .info_box_day {
  font-size: 1.8rem;
  white-space: nowrap;
}
#info_archive .wrap ul li a .info_box_cat {
  display: block;
  width: 140px;
  padding: 0;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #005bac;
  display: block;
}
@media screen and (min-width: 768px) {
  #info_archive .wrap ul li a .info_box_cat {
    display: inline-block;
    margin: 0 10px;
  }
}
#info_archive .wrap ul li a .cat_information,
#info_archive .wrap ul li a .cat_important,
#info_archive .wrap ul li a .cat_event_info,
#info_archive .wrap ul li a .cat_news {
  border: 1px solid #005bac;
  border-radius: 5px;
}
#info_archive .wrap ul li a .info_box_text {
  width: 100%;
  margin: 5px 0 0 0;
  padding: 0;
  color: #005bac;
}
#info_archive .wrap ul li a .arrow {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  width: 8px;
  height: 8px;
  border-right: 2px solid #2592f1;
  border-bottom: 2px solid #2592f1;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

#technology_archive_cat table {
  width: 100% !important;
  margin: 0 0 30px;
  font-size: 1.6rem;
}
#technology_archive_cat table thead tr th, #technology_archive_cat table thead tr td,
#technology_archive_cat table tbody tr th,
#technology_archive_cat table tbody tr td {
  padding: 15px 20px;
  border: 1px solid #707070;
}
#technology_archive_cat table thead th {
  background-color: #D8D8D8;
}
#technology_archive_cat table tbody th {
  width: 30%;
  font-weight: normal;
  background-color: #FAFAFA;
}
#technology_archive_cat table tbody ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 30px;
}
#technology_archive_cat table tbody ul li {
  color: #333;
  margin: 0;
}
#technology_archive_cat table tbody ul li .arrow {
  margin: 0 8px 0 0;
  position: relative;
  top: 2px;
  left: 0;
  display: inline-block;
  padding: 8px;
  border-radius: 50vh;
  background-color: #b5b5b5;
}
#technology_archive_cat table tbody ul li .arrow::before {
  content: "";
  left: 4px;
  top: 5px;
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#technology_archive_cat table tbody ul li a {
  color: #333;
}
#technology_archive_cat table tbody ul li a .arrow {
  background-color: #1959B8;
}
#technology_archive_cat table tbody ul li a:hover {
  color: #2592f1;
}

#privacy_policy,
#site_info {
  font-size: 1.6rem;
}
#privacy_policy .privacy_policy .wrap,
#privacy_policy .site_info .wrap,
#site_info .privacy_policy .wrap,
#site_info .site_info .wrap {
  width: 90%;
}
@media screen and (min-width: 1024px) {
  #privacy_policy .privacy_policy .wrap,
  #privacy_policy .site_info .wrap,
  #site_info .privacy_policy .wrap,
  #site_info .site_info .wrap {
    max-width: 1000px;
  }
}
#privacy_policy .privacy_policy .wrap h3,
#privacy_policy .site_info .wrap h3,
#site_info .privacy_policy .wrap h3,
#site_info .site_info .wrap h3 {
  margin: 60px 0 20px;
  font-size: 2.2rem;
  color: #024B9E;
}
#privacy_policy .privacy_policy .wrap h4,
#privacy_policy .site_info .wrap h4,
#site_info .privacy_policy .wrap h4,
#site_info .site_info .wrap h4 {
  padding: 10px 20px;
  font-size: 1.6rem;
  background-color: #eee;
  font-weight: normal;
}
#privacy_policy .privacy_policy .wrap p,
#privacy_policy .site_info .wrap p,
#site_info .privacy_policy .wrap p,
#site_info .site_info .wrap p {
  padding: 10px 20px 30px;
}
#privacy_policy .privacy_policy .wrap table,
#privacy_policy .site_info .wrap table,
#site_info .privacy_policy .wrap table,
#site_info .site_info .wrap table {
  width: 100%;
}
#privacy_policy .privacy_policy .wrap table th, #privacy_policy .privacy_policy .wrap table td,
#privacy_policy .site_info .wrap table th,
#privacy_policy .site_info .wrap table td,
#site_info .privacy_policy .wrap table th,
#site_info .privacy_policy .wrap table td,
#site_info .site_info .wrap table th,
#site_info .site_info .wrap table td {
  padding: 15px;
  font-weight: normal;
  vertical-align: top;
  border: 1px solid #ccc;
}
#privacy_policy .privacy_policy .wrap table th ul, #privacy_policy .privacy_policy .wrap table td ul,
#privacy_policy .site_info .wrap table th ul,
#privacy_policy .site_info .wrap table td ul,
#site_info .privacy_policy .wrap table th ul,
#site_info .privacy_policy .wrap table td ul,
#site_info .site_info .wrap table th ul,
#site_info .site_info .wrap table td ul {
  margin: 0;
  padding: 0 0 0 20px;
}
#privacy_policy .privacy_policy .wrap table th,
#privacy_policy .site_info .wrap table th,
#site_info .privacy_policy .wrap table th,
#site_info .site_info .wrap table th {
  background-color: #eee;
}
#privacy_policy .privacy_policy .wrap ol,
#privacy_policy .site_info .wrap ol,
#site_info .privacy_policy .wrap ol,
#site_info .site_info .wrap ol {
  padding: 10px 20px 30px 40px;
  line-height: 1.6;
}
#privacy_policy .privacy_policy .wrap ol li,
#privacy_policy .site_info .wrap ol li,
#site_info .privacy_policy .wrap ol li,
#site_info .site_info .wrap ol li {
  margin: 0 0 20px;
}
#privacy_policy .privacy_policy .wrap .mini_text,
#privacy_policy .site_info .wrap .mini_text,
#site_info .privacy_policy .wrap .mini_text,
#site_info .site_info .wrap .mini_text {
  font-size: 1.3rem;
}
#privacy_policy .privacy_policy .wrap .right_text,
#privacy_policy .site_info .wrap .right_text,
#site_info .privacy_policy .wrap .right_text,
#site_info .site_info .wrap .right_text {
  text-align: right;
  padding: 0 !important;
}

#technology_development #patent table {
  font-size: 1.6rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #technology_development #patent table {
    font-size: 1.8rem;
  }
}
#technology_development #patent table tr {
  border-top: 1px solid #e5edf7;
  border-bottom: 1px solid #e5edf7;
}
#technology_development #patent table tr th {
  padding: 10px 0;
  width: 100%;
  display: block;
  vertical-align: top;
  color: #024B9E;
  font-weight: normal;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #technology_development #patent table tr th {
    padding: 10px 0;
    width: 20%;
    display: inline-block;
    line-height: 2;
  }
}
#technology_development #patent table tr td {
  padding: 0 0 20px;
  width: 100%;
  display: block;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #technology_development #patent table tr td {
    padding: 10px 0;
    width: 80%;
    display: inline-block;
    line-height: 2;
  }
}
#technology_development .t_d_img {
  margin: 50px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#technology_development .t_d_img div {
  width: 49%;
}
#technology_development .t_d_img div img {
  width: 100%;
}
#technology_development .t_d_img div p {
  font-size: 1.4rem;
}
#technology_development #t_d_menu {
  background-color: #FAFAFA;
}
#technology_development #t_d_menu h2 {
  margin: 0 0 50px;
  text-align: center;
  font-weight: normal;
  font-size: 2.4rem;
}
@media screen and (min-width: 768px) {
  #technology_development #t_d_menu h2 {
    margin: 0 0 50px;
    font-size: 2.4rem;
  }
}
#technology_development #t_d_menu .t_d_list {
  margin: 0 0 30px;
  padding: 10px 20px;
  border: 1px solid #eee;
  background-color: #fff;
  border-radius: 5px;
  font-size: 2.4rem;
}
@media screen and (min-width: 768px) {
  #technology_development #t_d_menu .t_d_list {
    margin: 0 0 50px;
    padding: 20px 50px;
  }
}
#technology_development #t_d_menu .t_d_list h2 {
  margin: 0 0 10px;
  text-align: left;
  font-weight: normal;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  #technology_development #t_d_menu .t_d_list h2 {
    margin: 0 0 10px;
    font-size: 1.8rem;
  }
}
#technology_development #t_d_menu .t_d_list h2 .arrow {
  margin: 0 8px 0 0;
  position: relative;
  top: 2px;
  left: 0;
  display: inline-block;
  padding: 8px;
  border-radius: 50vh;
}
#technology_development #t_d_menu .t_d_list h2 .arrow::before {
  content: "";
  left: 4px;
  top: 5px;
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#technology_development #t_d_menu .t_d_list ul {
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  #technology_development #t_d_menu .t_d_list ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 10px 2%;
  }
}
#technology_development #t_d_menu .t_d_list ul li {
  width: 100%;
  text-align: center;
  border: 1px solid #ccc;
  background-color: #eee;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #technology_development #t_d_menu .t_d_list ul li {
    width: 32%;
  }
}
#technology_development #t_d_menu .t_d_list ul li h3 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: 1.4rem !important;
}
#technology_development #t_d_menu .t_d_list ul li h3 .arrow {
  margin: 0 0 0 8px;
  position: relative;
  top: 2px;
  left: 0;
  display: inline-block;
  padding: 8px;
  border-radius: 50vh;
}
#technology_development #t_d_menu .t_d_list ul li h3 .arrow::before {
  content: "";
  left: 4px;
  top: 5px;
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#technology_development #t_d_menu .t_d_list ul li a {
  display: block;
  padding: 15px 20px;
}
#technology_development #t_d_menu .t_d_list ul .link_btn {
  background: #2592f1;
  border: 1px solid #BCBCBC;
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  text-align: center;
  position: relative;
}
#technology_development #t_d_menu .t_d_list ul .link_btn.slide {
  background: #FAFAFA;
  color: #333;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#technology_development #t_d_menu .t_d_list ul .link_btn.slide::after {
  background: #2592f1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
#technology_development #t_d_menu .t_d_list ul .link_btn.slide:hover a {
  color: #fff;
}
#technology_development #t_d_menu .t_d_list ul .link_btn.slide:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
#technology_development #t_d_menu .t_d_list ul .link_btn.slide:hover .arrow {
  background-color: #fff;
}
#technology_development #t_d_menu .t_d_list ul .link_btn.slide:hover .arrow::before {
  border-top: solid 2px #2592f1;
  border-right: solid 2px #2592f1;
}
#technology_development #t_d_menu .t_d_list ul .no_link {
  border-radius: 5px;
  padding: 15px 20px;
  background: #eee;
}

#sustainability .tab-wrap,
#commitment_to_trust .tab-wrap {
  margin: 40px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#sustainability .tab-wrap .tab-label,
#commitment_to_trust .tab-wrap .tab-label {
  margin: 0;
  padding: 10px;
  background: #f7f7f7;
  text-align: center;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: 1px solid #dddddd;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#sustainability .tab-wrap .tab-label h3,
#commitment_to_trust .tab-wrap .tab-label h3 {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #00A6D9;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .tab-label h3,
  #commitment_to_trust .tab-wrap .tab-label h3 {
    padding: 30px;
    font-size: 2.2rem;
  }
}
#sustainability .tab-wrap .tab-label span,
#commitment_to_trust .tab-wrap .tab-label span {
  display: block;
  font-size: 1.2rem;
  font-weight: normal;
  color: #333;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .tab-label span,
  #commitment_to_trust .tab-wrap .tab-label span {
    font-size: 1.4rem;
  }
}
#sustainability .tab-wrap .tab-label:nth-child(5),
#commitment_to_trust .tab-wrap .tab-label:nth-child(5) {
  border-left: none;
  border-right: none;
}
#sustainability .tab-wrap .tab-label:hover,
#commitment_to_trust .tab-wrap .tab-label:hover {
  background: #f1fcff;
}
#sustainability .tab-wrap .tab-content,
#commitment_to_trust .tab-wrap .tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
}
#sustainability .tab-wrap .tab-content-inner,
#commitment_to_trust .tab-wrap .tab-content-inner {
  opacity: 0;
}
#sustainability .tab-wrap .tab-switch:checked + .tab-label,
#commitment_to_trust .tab-wrap .tab-switch:checked + .tab-label {
  background: #fff;
  border-bottom: 1px solid #fff;
  font-weight: 400;
}
#sustainability .tab-wrap .tab-switch:checked + .tab-label + .tab-content,
#commitment_to_trust .tab-wrap .tab-switch:checked + .tab-label + .tab-content {
  height: auto;
  overflow: auto;
}
#sustainability .tab-wrap .tab-switch:checked + .tab-label + .tab-content .tab-content-inner,
#commitment_to_trust .tab-wrap .tab-switch:checked + .tab-label + .tab-content .tab-content-inner {
  opacity: 1;
  -webkit-transition: 1.8s opacity;
  transition: 1.8s opacity;
}
#sustainability .tab-wrap .tab-switch,
#commitment_to_trust .tab-wrap .tab-switch {
  display: none;
}
#sustainability .tab-wrap .item_menu,
#commitment_to_trust .tab-wrap .item_menu {
  margin: 0 0 80px;
  padding: 30px;
  border-left: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
}
#sustainability .tab-wrap .item_menu ul,
#commitment_to_trust .tab-wrap .item_menu ul {
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px 3%;
}
#sustainability .tab-wrap .item_menu ul li img,
#commitment_to_trust .tab-wrap .item_menu ul li img {
  width: 50px;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_menu ul li img,
  #commitment_to_trust .tab-wrap .item_menu ul li img {
    width: 120px;
  }
}
#sustainability .tab-wrap .item_body .inner_box,
#commitment_to_trust .tab-wrap .item_body .inner_box {
  width: 95%;
  margin: 0 auto 50px;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 10px solid #00A6D9;
  background-color: #fff;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
          box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box,
  #commitment_to_trust .tab-wrap .item_body .inner_box {
    margin: 0 auto 150px;
    padding: 40px;
  }
}
#sustainability .tab-wrap .item_body .inner_box:last-child,
#commitment_to_trust .tab-wrap .item_body .inner_box:last-child {
  margin: 0 auto 100px;
}
#sustainability .tab-wrap .item_body .inner_box .width_40,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_40 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .width_40,
  #commitment_to_trust .tab-wrap .item_body .inner_box .width_40 {
    width: 40%;
  }
}
#sustainability .tab-wrap .item_body .inner_box .width_40 h3,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_40 h3 {
  font-size: 2rem;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .width_40 h3,
  #commitment_to_trust .tab-wrap .item_body .inner_box .width_40 h3 {
    font-size: 2.6rem;
  }
}
#sustainability .tab-wrap .item_body .inner_box .width_40 h3::before,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_40 h3::before {
  content: attr(data-en);
  display: block;
  color: #00A6D9;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .width_40 h3::before,
  #commitment_to_trust .tab-wrap .item_body .inner_box .width_40 h3::before {
    font-size: 2.6rem;
  }
}
#sustainability .tab-wrap .item_body .inner_box .width_40 h3::after,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_40 h3::after {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background-color: #00A6D9;
}
#sustainability .tab-wrap .item_body .inner_box .width_40 h3 span,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_40 h3 span {
  margin: -10px 0 0;
  display: block;
  font-size: 2rem;
}
#sustainability .tab-wrap .item_body .inner_box .width_55,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_55 {
  padding: 10px 0 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .width_55,
  #commitment_to_trust .tab-wrap .item_body .inner_box .width_55 {
    width: 55%;
    padding: 70px 0 0;
  }
}
#sustainability .tab-wrap .item_body .inner_box .width_100,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_100 {
  width: 100%;
  margin: 20px 0 0;
  padding: 10px 20px;
  background-color: #f7f7f7;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .width_100,
  #commitment_to_trust .tab-wrap .item_body .inner_box .width_100 {
    margin: 40px 0 0;
    padding: 30px 40px;
  }
}
#sustainability .tab-wrap .item_body .inner_box .width_100 h4,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_100 h4 {
  margin: 0 0 10px;
  padding: 0 0 10px;
  font-size: 1.6rem;
  font-weight: normal;
  border-bottom: 1px solid #ccc;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .width_100 h4,
  #commitment_to_trust .tab-wrap .item_body .inner_box .width_100 h4 {
    font-size: 2rem;
  }
}
#sustainability .tab-wrap .item_body .inner_box .width_100 ol,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_100 ol {
  padding: 5px 10px;
  font-size: 1.6rem;
  list-style-position: inside;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .width_100 ol,
  #commitment_to_trust .tab-wrap .item_body .inner_box .width_100 ol {
    padding: 10px 30px;
    font-size: 1.8rem;
  }
}
#sustainability .tab-wrap .item_body .inner_box .width_100 ol li,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_100 ol li {
  margin: 0 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px dashed #ccc;
}
#sustainability .tab-wrap .item_body .inner_box .width_100 ol li:last-child,
#commitment_to_trust .tab-wrap .item_body .inner_box .width_100 ol li:last-child {
  margin: 0;
  padding: 0;
  border: none;
}
#sustainability .tab-wrap .item_body .inner_box .sub_box,
#commitment_to_trust .tab-wrap .item_body .inner_box .sub_box {
  width: 100%;
  margin: 40px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .sub_box,
  #commitment_to_trust .tab-wrap .item_body .inner_box .sub_box {
    gap: 3%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#sustainability .tab-wrap .item_body .inner_box .sub_box .img_box,
#commitment_to_trust .tab-wrap .item_body .inner_box .sub_box .img_box {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .sub_box .img_box,
  #commitment_to_trust .tab-wrap .item_body .inner_box .sub_box .img_box {
    width: 65%;
  }
}
#sustainability .tab-wrap .item_body .inner_box .sub_box .img_box h4,
#commitment_to_trust .tab-wrap .item_body .inner_box .sub_box .img_box h4 {
  padding: 0 0 0 10px;
  font-size: 2rem;
  border-left: 10px solid #ccc;
  line-height: 1.4;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .sub_box .img_box h4,
  #commitment_to_trust .tab-wrap .item_body .inner_box .sub_box .img_box h4 {
    line-height: 2;
  }
}
#sustainability .tab-wrap .item_body .inner_box .sub_box .img48,
#commitment_to_trust .tab-wrap .item_body .inner_box .sub_box .img48 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .sub_box .img48,
  #commitment_to_trust .tab-wrap .item_body .inner_box .sub_box .img48 {
    width: 48%;
  }
}
#sustainability .tab-wrap .item_body .inner_box .sub_box .img30,
#commitment_to_trust .tab-wrap .item_body .inner_box .sub_box .img30 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .sub_box .img30,
  #commitment_to_trust .tab-wrap .item_body .inner_box .sub_box .img30 {
    width: 30%;
  }
}
#sustainability .tab-wrap .item_body .inner_box .text_box,
#commitment_to_trust .tab-wrap .item_body .inner_box .text_box {
  margin: 40px 0 0;
  width: 100%;
}
#sustainability .tab-wrap .item_body .inner_box .text_box h4,
#commitment_to_trust .tab-wrap .item_body .inner_box .text_box h4 {
  padding: 0 0 0 10px;
  font-size: 1.8rem;
  border-left: 10px solid #ccc;
  line-height: 1.4;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .text_box h4,
  #commitment_to_trust .tab-wrap .item_body .inner_box .text_box h4 {
    line-height: 1.8;
  }
}
#sustainability .tab-wrap .item_body .inner_box .link_box,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box {
  margin: 20px 0 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .link_box,
  #commitment_to_trust .tab-wrap .item_body .inner_box .link_box {
    margin: 40px 0 0;
  }
}
#sustainability .tab-wrap .item_body .inner_box .link_box ul,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box ul {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px 0;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .link_box ul,
  #commitment_to_trust .tab-wrap .item_body .inner_box .link_box ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 15px 2%;
  }
}
#sustainability .tab-wrap .item_body .inner_box .link_box ul li a,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box ul li a {
  display: block;
  padding: 10px;
}
#sustainability .tab-wrap .item_body .inner_box .link_box .link_btn,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn {
  background: #f7f7f7;
  border: 1px solid #BCBCBC;
  border-radius: 5px;
  color: #fff;
  display: block;
  width: 100%;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  #sustainability .tab-wrap .item_body .inner_box .link_box .link_btn,
  #commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn {
    width: 23%;
  }
}
#sustainability .tab-wrap .item_body .inner_box .link_box .link_btn.slide,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn.slide {
  background: #e8e8e8;
  color: #333;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#sustainability .tab-wrap .item_body .inner_box .link_box .link_btn.slide::after,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn.slide::after {
  background: #2592f1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
#sustainability .tab-wrap .item_body .inner_box .link_box .link_btn.slide:hover::after,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn.slide:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
#sustainability .tab-wrap .item_body .inner_box .link_box .link_btn.slide:hover .arrow,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn.slide:hover .arrow {
  background-color: #fff;
}
#sustainability .tab-wrap .item_body .inner_box .link_box .link_btn.slide:hover .arrow::before,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn.slide:hover .arrow::before {
  border-top: solid 2px #2592f1;
  border-right: solid 2px #2592f1;
}
#sustainability .tab-wrap .item_body .inner_box .link_box .link_btn.slide:hover a,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn.slide:hover a {
  color: #fff;
}
#sustainability .tab-wrap .item_body .inner_box .link_box .link_btn .arrow,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn .arrow {
  margin: 0 8px 0 0;
  position: relative;
  top: 5px;
  left: 0;
  display: inline-block;
  padding: 10px;
  background-color: #2592f1;
  border-radius: 50vh;
}
#sustainability .tab-wrap .item_body .inner_box .link_box .link_btn .arrow::before,
#commitment_to_trust .tab-wrap .item_body .inner_box .link_box .link_btn .arrow::before {
  content: "";
  left: 5px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

#technology_archive #technology_body .tab-wrap,
#technical_cat #technology_body .tab-wrap,
#technical_tag #technology_body .tab-wrap,
#technical_name #technology_body .tab-wrap {
  margin: 40px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#technology_archive #technology_body .tab-wrap .tab-label,
#technical_cat #technology_body .tab-wrap .tab-label,
#technical_tag #technology_body .tab-wrap .tab-label,
#technical_name #technology_body .tab-wrap .tab-label {
  margin: 0;
  padding: 20px 10px 10px;
  background: #f7f7f7;
  text-align: center;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: 1px solid #dddddd;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  #technology_archive #technology_body .tab-wrap .tab-label,
  #technical_cat #technology_body .tab-wrap .tab-label,
  #technical_tag #technology_body .tab-wrap .tab-label,
  #technical_name #technology_body .tab-wrap .tab-label {
    padding: 30px;
  }
}
#technology_archive #technology_body .tab-wrap .tab-label:nth-child(5),
#technical_cat #technology_body .tab-wrap .tab-label:nth-child(5),
#technical_tag #technology_body .tab-wrap .tab-label:nth-child(5),
#technical_name #technology_body .tab-wrap .tab-label:nth-child(5) {
  border-left: none;
  border-right: none;
}
#technology_archive #technology_body .tab-wrap .tab-label:hover,
#technical_cat #technology_body .tab-wrap .tab-label:hover,
#technical_tag #technology_body .tab-wrap .tab-label:hover,
#technical_name #technology_body .tab-wrap .tab-label:hover {
  background: #f1fcff;
}
#technology_archive #technology_body .tab-wrap .tab-label img,
#technical_cat #technology_body .tab-wrap .tab-label img,
#technical_tag #technology_body .tab-wrap .tab-label img,
#technical_name #technology_body .tab-wrap .tab-label img {
  width: 35%;
  margin: 0 0 10px;
}
#technology_archive #technology_body .tab-wrap .tab-label h3,
#technical_cat #technology_body .tab-wrap .tab-label h3,
#technical_tag #technology_body .tab-wrap .tab-label h3,
#technical_name #technology_body .tab-wrap .tab-label h3 {
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #technology_archive #technology_body .tab-wrap .tab-label h3,
  #technical_cat #technology_body .tab-wrap .tab-label h3,
  #technical_tag #technology_body .tab-wrap .tab-label h3,
  #technical_name #technology_body .tab-wrap .tab-label h3 {
    font-size: 1.8rem;
    line-height: 2;
  }
}
#technology_archive #technology_body .tab-wrap .tab-content,
#technical_cat #technology_body .tab-wrap .tab-content,
#technical_tag #technology_body .tab-wrap .tab-content,
#technical_name #technology_body .tab-wrap .tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
}
#technology_archive #technology_body .tab-wrap .tab-content-inner,
#technical_cat #technology_body .tab-wrap .tab-content-inner,
#technical_tag #technology_body .tab-wrap .tab-content-inner,
#technical_name #technology_body .tab-wrap .tab-content-inner {
  opacity: 0;
}
#technology_archive #technology_body .tab-wrap .tab-switch:checked + .tab-label,
#technical_cat #technology_body .tab-wrap .tab-switch:checked + .tab-label,
#technical_tag #technology_body .tab-wrap .tab-switch:checked + .tab-label,
#technical_name #technology_body .tab-wrap .tab-switch:checked + .tab-label {
  background: #fff;
  border-bottom: 1px solid #fff;
}
#technology_archive #technology_body .tab-wrap .tab-switch:checked + .tab-label + .tab-content,
#technical_cat #technology_body .tab-wrap .tab-switch:checked + .tab-label + .tab-content,
#technical_tag #technology_body .tab-wrap .tab-switch:checked + .tab-label + .tab-content,
#technical_name #technology_body .tab-wrap .tab-switch:checked + .tab-label + .tab-content {
  height: auto;
  overflow: auto;
}
#technology_archive #technology_body .tab-wrap .tab-switch:checked + .tab-label + .tab-content .tab-content-inner,
#technical_cat #technology_body .tab-wrap .tab-switch:checked + .tab-label + .tab-content .tab-content-inner,
#technical_tag #technology_body .tab-wrap .tab-switch:checked + .tab-label + .tab-content .tab-content-inner,
#technical_name #technology_body .tab-wrap .tab-switch:checked + .tab-label + .tab-content .tab-content-inner {
  opacity: 1;
  -webkit-transition: 1.8s opacity;
  transition: 1.8s opacity;
}
#technology_archive #technology_body .tab-wrap .tab-switch,
#technical_cat #technology_body .tab-wrap .tab-switch,
#technical_tag #technology_body .tab-wrap .tab-switch,
#technical_name #technology_body .tab-wrap .tab-switch {
  display: none;
}
#technology_archive #technology_body .tab-wrap .item_menu,
#technical_cat #technology_body .tab-wrap .item_menu,
#technical_tag #technology_body .tab-wrap .item_menu,
#technical_name #technology_body .tab-wrap .item_menu {
  margin: 0 0 80px;
  padding: 10px;
  border-left: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
}
@media screen and (min-width: 768px) {
  #technology_archive #technology_body .tab-wrap .item_menu,
  #technical_cat #technology_body .tab-wrap .item_menu,
  #technical_tag #technology_body .tab-wrap .item_menu,
  #technical_name #technology_body .tab-wrap .item_menu {
    padding: 30px;
  }
}
#technology_archive #technology_body .tab-wrap .item_menu ul,
#technical_cat #technology_body .tab-wrap .item_menu ul,
#technical_tag #technology_body .tab-wrap .item_menu ul,
#technical_name #technology_body .tab-wrap .item_menu ul {
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5%;
}
@media screen and (min-width: 768px) {
  #technology_archive #technology_body .tab-wrap .item_menu ul,
  #technical_cat #technology_body .tab-wrap .item_menu ul,
  #technical_tag #technology_body .tab-wrap .item_menu ul,
  #technical_name #technology_body .tab-wrap .item_menu ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#technology_archive #technology_body .tab-wrap .item_menu ul li,
#technical_cat #technology_body .tab-wrap .item_menu ul li,
#technical_tag #technology_body .tab-wrap .item_menu ul li,
#technical_name #technology_body .tab-wrap .item_menu ul li {
  width: 100%;
  border-bottom: 1px dashed #eee;
}
@media screen and (min-width: 768px) {
  #technology_archive #technology_body .tab-wrap .item_menu ul li,
  #technical_cat #technology_body .tab-wrap .item_menu ul li,
  #technical_tag #technology_body .tab-wrap .item_menu ul li,
  #technical_name #technology_body .tab-wrap .item_menu ul li {
    width: 30%;
  }
}
#technology_archive #technology_body .tab-wrap .item_menu ul li a,
#technical_cat #technology_body .tab-wrap .item_menu ul li a,
#technical_tag #technology_body .tab-wrap .item_menu ul li a,
#technical_name #technology_body .tab-wrap .item_menu ul li a {
  padding: 10px;
  display: block;
  width: 100%;
}
#technology_archive #technology_body .tab-wrap .item_menu ul li a:hover,
#technical_cat #technology_body .tab-wrap .item_menu ul li a:hover,
#technical_tag #technology_body .tab-wrap .item_menu ul li a:hover,
#technical_name #technology_body .tab-wrap .item_menu ul li a:hover {
  background-color: #f9f9f9;
}
#technology_archive #technology_body .tab-wrap .item_menu ul li .arrow,
#technical_cat #technology_body .tab-wrap .item_menu ul li .arrow,
#technical_tag #technology_body .tab-wrap .item_menu ul li .arrow,
#technical_name #technology_body .tab-wrap .item_menu ul li .arrow {
  margin: 0 5px 0 0;
  position: relative;
  top: 3px;
  left: 0;
  display: inline-block;
  padding: 8px;
  border-radius: 50vh;
}
#technology_archive #technology_body .tab-wrap .item_menu ul li .arrow::before,
#technical_cat #technology_body .tab-wrap .item_menu ul li .arrow::before,
#technical_tag #technology_body .tab-wrap .item_menu ul li .arrow::before,
#technical_name #technology_body .tab-wrap .item_menu ul li .arrow::before {
  content: "";
  left: 4px;
  top: 5px;
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#technology_archive #technology_body .cate_sec,
#technical_cat #technology_body .cate_sec,
#technical_tag #technology_body .cate_sec,
#technical_name #technology_body .cate_sec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px 2%;
}
#technology_archive #technology_body .cate_sec_inner,
#technical_cat #technology_body .cate_sec_inner,
#technical_tag #technology_body .cate_sec_inner,
#technical_name #technology_body .cate_sec_inner {
  width: 100%;
  padding: 15px 20px 20px;
  border: 1px solid #C7C7C7;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  #technology_archive #technology_body .cate_sec_inner,
  #technical_cat #technology_body .cate_sec_inner,
  #technical_tag #technology_body .cate_sec_inner,
  #technical_name #technology_body .cate_sec_inner {
    width: 32%;
  }
}
#technology_archive #technology_body .cate_sec_inner:hover,
#technical_cat #technology_body .cate_sec_inner:hover,
#technical_tag #technology_body .cate_sec_inner:hover,
#technical_name #technology_body .cate_sec_inner:hover {
  background-color: #f1fcff;
}
#technology_archive #technology_body .cate_sec_inner .box_link,
#technical_cat #technology_body .cate_sec_inner .box_link,
#technical_tag #technology_body .cate_sec_inner .box_link,
#technical_name #technology_body .cate_sec_inner .box_link {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#technology_archive #technology_body .cate_sec_inner h4,
#technical_cat #technology_body .cate_sec_inner h4,
#technical_tag #technology_body .cate_sec_inner h4,
#technical_name #technology_body .cate_sec_inner h4 {
  margin: 0 0 10px;
  padding: 0 0 10px;
  font-size: 1.8rem;
  font-weight: normal;
  border-bottom: 1px solid #c7c7c7;
}
#technology_archive #technology_body .cate_sec_inner h4 .arrow,
#technical_cat #technology_body .cate_sec_inner h4 .arrow,
#technical_tag #technology_body .cate_sec_inner h4 .arrow,
#technical_name #technology_body .cate_sec_inner h4 .arrow {
  margin: 0 5px 0 0;
  position: relative;
  top: 3px;
  left: 0;
  display: inline-block;
  padding: 10px;
  border-radius: 50vh;
}
#technology_archive #technology_body .cate_sec_inner h4 .arrow::before,
#technical_cat #technology_body .cate_sec_inner h4 .arrow::before,
#technical_tag #technology_body .cate_sec_inner h4 .arrow::before,
#technical_name #technology_body .cate_sec_inner h4 .arrow::before {
  content: "";
  left: 4px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#technology_archive #technology_body .cate_sec_inner p,
#technical_cat #technology_body .cate_sec_inner p,
#technical_tag #technology_body .cate_sec_inner p,
#technical_name #technology_body .cate_sec_inner p {
  margin: 15px 0;
}
#technology_archive #technology_body .cate_sec_inner .link_btn,
#technical_cat #technology_body .cate_sec_inner .link_btn,
#technical_tag #technology_body .cate_sec_inner .link_btn,
#technical_name #technology_body .cate_sec_inner .link_btn {
  background: #2592f1;
  border: 1px solid #BCBCBC;
  color: #fff;
  display: block;
  padding: 10px 20px;
  text-align: center;
  position: relative;
  font-size: 1.3rem;
}
#technology_archive #technology_body .cate_sec_inner .link_btn.slide,
#technical_cat #technology_body .cate_sec_inner .link_btn.slide,
#technical_tag #technology_body .cate_sec_inner .link_btn.slide,
#technical_name #technology_body .cate_sec_inner .link_btn.slide {
  background: #e8e8e8;
  color: #333;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#technology_archive #technology_body .cate_sec_inner .link_btn.slide::after,
#technical_cat #technology_body .cate_sec_inner .link_btn.slide::after,
#technical_tag #technology_body .cate_sec_inner .link_btn.slide::after,
#technical_name #technology_body .cate_sec_inner .link_btn.slide::after {
  background: #2592f1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
#technology_archive #technology_body .cate_sec_inner .link_btn.slide:hover,
#technical_cat #technology_body .cate_sec_inner .link_btn.slide:hover,
#technical_tag #technology_body .cate_sec_inner .link_btn.slide:hover,
#technical_name #technology_body .cate_sec_inner .link_btn.slide:hover {
  color: #fff;
}
#technology_archive #technology_body .cate_sec_inner .link_btn.slide:hover::after,
#technical_cat #technology_body .cate_sec_inner .link_btn.slide:hover::after,
#technical_tag #technology_body .cate_sec_inner .link_btn.slide:hover::after,
#technical_name #technology_body .cate_sec_inner .link_btn.slide:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
#technology_archive #technology_body .cate_sec_inner .link_btn.slide:hover .arrow,
#technical_cat #technology_body .cate_sec_inner .link_btn.slide:hover .arrow,
#technical_tag #technology_body .cate_sec_inner .link_btn.slide:hover .arrow,
#technical_name #technology_body .cate_sec_inner .link_btn.slide:hover .arrow {
  background-color: #fff;
}
#technology_archive #technology_body .cate_sec_inner .link_btn.slide:hover .arrow::before,
#technical_cat #technology_body .cate_sec_inner .link_btn.slide:hover .arrow::before,
#technical_tag #technology_body .cate_sec_inner .link_btn.slide:hover .arrow::before,
#technical_name #technology_body .cate_sec_inner .link_btn.slide:hover .arrow::before {
  border-top: solid 2px #2592f1;
  border-right: solid 2px #2592f1;
}
#technology_archive #technology_body .cate_sec_inner .link_btn .arrow,
#technical_cat #technology_body .cate_sec_inner .link_btn .arrow,
#technical_tag #technology_body .cate_sec_inner .link_btn .arrow,
#technical_name #technology_body .cate_sec_inner .link_btn .arrow {
  position: relative;
  top: 5px;
  left: 6px;
  display: inline-block;
  padding: 10px;
  border-radius: 50vh;
}
#technology_archive #technology_body .cate_sec_inner .link_btn .arrow::before,
#technical_cat #technology_body .cate_sec_inner .link_btn .arrow::before,
#technical_tag #technology_body .cate_sec_inner .link_btn .arrow::before,
#technical_name #technology_body .cate_sec_inner .link_btn .arrow::before {
  content: "";
  left: 5px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#technology_archive #technology_body .search_name_inner,
#technical_cat #technology_body .search_name_inner,
#technical_tag #technology_body .search_name_inner,
#technical_name #technology_body .search_name_inner {
  margin: 0 0 40px;
  width: 100%;
}
#technology_archive #technology_body .search_name_inner h4,
#technical_cat #technology_body .search_name_inner h4,
#technical_tag #technology_body .search_name_inner h4,
#technical_name #technology_body .search_name_inner h4 {
  margin: 0;
  padding: 20px 30px;
  font-size: 2rem;
  background-color: #e8e8e8;
}
#technology_archive #technology_body .search_name_inner ul,
#technical_cat #technology_body .search_name_inner ul,
#technical_tag #technology_body .search_name_inner ul,
#technical_name #technology_body .search_name_inner ul {
  margin: 0;
  padding: 20px 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#technology_archive #technology_body .search_name_inner ul li,
#technical_cat #technology_body .search_name_inner ul li,
#technical_tag #technology_body .search_name_inner ul li,
#technical_name #technology_body .search_name_inner ul li {
  margin: 10px 20px;
}
#technology_archive #technology_body .search_name_inner ul li a,
#technical_cat #technology_body .search_name_inner ul li a,
#technical_tag #technology_body .search_name_inner ul li a,
#technical_name #technology_body .search_name_inner ul li a {
  text-decoration: underline;
}
#technology_archive #technology_body .search_name_inner ul li a .arrow,
#technical_cat #technology_body .search_name_inner ul li a .arrow,
#technical_tag #technology_body .search_name_inner ul li a .arrow,
#technical_name #technology_body .search_name_inner ul li a .arrow {
  margin: 0 5px 0 0;
  position: relative;
  top: 3px;
  left: 0;
  display: inline-block;
  padding: 8px;
  border-radius: 50vh;
}
#technology_archive #technology_body .search_name_inner ul li a .arrow::before,
#technical_cat #technology_body .search_name_inner ul li a .arrow::before,
#technical_tag #technology_body .search_name_inner ul li a .arrow::before,
#technical_name #technology_body .search_name_inner ul li a .arrow::before {
  content: "";
  left: 4px;
  top: 5px;
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#technology_archive #technology_body .search_name_inner ul li .arrow,
#technical_cat #technology_body .search_name_inner ul li .arrow,
#technical_tag #technology_body .search_name_inner ul li .arrow,
#technical_name #technology_body .search_name_inner ul li .arrow {
  margin: 0 5px 0 0;
  position: relative;
  top: 3px;
  left: 0;
  display: inline-block;
  padding: 8px;
  border-radius: 50vh;
}
#technology_archive #technology_body .search_name_inner ul li .arrow::before,
#technical_cat #technology_body .search_name_inner ul li .arrow::before,
#technical_tag #technology_body .search_name_inner ul li .arrow::before,
#technical_name #technology_body .search_name_inner ul li .arrow::before {
  content: "";
  left: 4px;
  top: 5px;
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

#company_information #messeage .wrap:first-child,
#list_of_offices #messeage .wrap:first-child,
#messeage_philosophy #messeage .wrap:first-child {
  margin-bottom: 60px;
}
@media screen and (min-width: 768px) {
  #company_information #messeage .wrap:first-child,
  #list_of_offices #messeage .wrap:first-child,
  #messeage_philosophy #messeage .wrap:first-child {
    margin-bottom: 120px;
  }
}
#company_information #messeage .messeage_contents,
#list_of_offices #messeage .messeage_contents,
#messeage_philosophy #messeage .messeage_contents {
  margin: 40px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #company_information #messeage .messeage_contents,
  #list_of_offices #messeage .messeage_contents,
  #messeage_philosophy #messeage .messeage_contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#company_information #messeage .messeage_contents h3, #company_information #messeage .messeage_contents h4, #company_information #messeage .messeage_contents h5,
#list_of_offices #messeage .messeage_contents h3,
#list_of_offices #messeage .messeage_contents h4,
#list_of_offices #messeage .messeage_contents h5,
#messeage_philosophy #messeage .messeage_contents h3,
#messeage_philosophy #messeage .messeage_contents h4,
#messeage_philosophy #messeage .messeage_contents h5 {
  font-weight: normal;
}
#company_information #messeage .messeage_contents .img,
#list_of_offices #messeage .messeage_contents .img,
#messeage_philosophy #messeage .messeage_contents .img {
  width: 50%;
  margin: 0 auto 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  #company_information #messeage .messeage_contents .img,
  #list_of_offices #messeage .messeage_contents .img,
  #messeage_philosophy #messeage .messeage_contents .img {
    width: 20%;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#company_information #messeage .messeage_contents .img img,
#list_of_offices #messeage .messeage_contents .img img,
#messeage_philosophy #messeage .messeage_contents .img img {
  width: 100%;
  margin: 0 20px 0 0;
}
#company_information #messeage .messeage_contents .img h4,
#list_of_offices #messeage .messeage_contents .img h4,
#messeage_philosophy #messeage .messeage_contents .img h4 {
  margin: 10px 0 0;
  line-height: 1;
}
#company_information #messeage .messeage_contents .img h3,
#list_of_offices #messeage .messeage_contents .img h3,
#messeage_philosophy #messeage .messeage_contents .img h3 {
  font-size: 2.6rem;
}
#company_information #messeage .messeage_contents .text,
#list_of_offices #messeage .messeage_contents .text,
#messeage_philosophy #messeage .messeage_contents .text {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #company_information #messeage .messeage_contents .text,
  #list_of_offices #messeage .messeage_contents .text,
  #messeage_philosophy #messeage .messeage_contents .text {
    width: 75%;
  }
}
#company_information #messeage .messeage_contents .text h3,
#list_of_offices #messeage .messeage_contents .text h3,
#messeage_philosophy #messeage .messeage_contents .text h3 {
  margin: 0 0 20px;
  line-height: 1.6;
  font-size: 2.6rem;
}
#company_information #messeage .messeage_contents .text p,
#list_of_offices #messeage .messeage_contents .text p,
#messeage_philosophy #messeage .messeage_contents .text p {
  font-size: 1.6rem;
  line-height: 1.6;
  margin: 10px 0;
}
#company_information #messeage .philosophy_contents,
#list_of_offices #messeage .philosophy_contents,
#messeage_philosophy #messeage .philosophy_contents {
  margin: 40px 0 0;
}
#company_information #messeage .philosophy_contents .philosophy_contents_title,
#list_of_offices #messeage .philosophy_contents .philosophy_contents_title,
#messeage_philosophy #messeage .philosophy_contents .philosophy_contents_title {
  margin: 100px 0 20px;
  position: relative;
  padding: 0 0 0 30px;
  font-weight: 500;
  font-size: 2.8rem;
}
#company_information #messeage .philosophy_contents .philosophy_contents_title::before,
#list_of_offices #messeage .philosophy_contents .philosophy_contents_title::before,
#messeage_philosophy #messeage .philosophy_contents .philosophy_contents_title::before {
  position: absolute;
  content: "";
  width: 25px;
  height: 25px;
  top: 16px;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 50%;
  border: 4px solid #005bac;
}
#company_information #messeage .philosophy_contents .philosophy_contents_title span,
#list_of_offices #messeage .philosophy_contents .philosophy_contents_title span,
#messeage_philosophy #messeage .philosophy_contents .philosophy_contents_title span {
  font-size: 2rem;
  margin: 0;
  display: block;
}
@media screen and (min-width: 768px) {
  #company_information #messeage .philosophy_contents .philosophy_contents_title span,
  #list_of_offices #messeage .philosophy_contents .philosophy_contents_title span,
  #messeage_philosophy #messeage .philosophy_contents .philosophy_contents_title span {
    display: inline;
    margin: 0 0 0 15px;
  }
}
#company_information #messeage .philosophy_contents .philosophy_contents_title:first-child,
#list_of_offices #messeage .philosophy_contents .philosophy_contents_title:first-child,
#messeage_philosophy #messeage .philosophy_contents .philosophy_contents_title:first-child {
  margin: 0 0 20px;
}
#company_information #messeage .philosophy_contents h4,
#list_of_offices #messeage .philosophy_contents h4,
#messeage_philosophy #messeage .philosophy_contents h4 {
  margin: 0 0 20px;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
}
#company_information #messeage .philosophy_contents p,
#list_of_offices #messeage .philosophy_contents p,
#messeage_philosophy #messeage .philosophy_contents p {
  font-size: 1.6rem;
  line-height: 1.6;
}
#company_information #messeage .philosophy_contents ul,
#list_of_offices #messeage .philosophy_contents ul,
#messeage_philosophy #messeage .philosophy_contents ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.6;
}
#company_information #messeage .philosophy_contents ul li,
#list_of_offices #messeage .philosophy_contents ul li,
#messeage_philosophy #messeage .philosophy_contents ul li {
  margin: 10px 0;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}
#company_information #messeage .philosophy_contents ul li span,
#list_of_offices #messeage .philosophy_contents ul li span,
#messeage_philosophy #messeage .philosophy_contents ul li span {
  font-size: 2.4rem;
  font-weight: 500;
  display: block;
  width: 120px;
}
@media screen and (min-width: 768px) {
  #company_information #messeage .philosophy_contents ul li span,
  #list_of_offices #messeage .philosophy_contents ul li span,
  #messeage_philosophy #messeage .philosophy_contents ul li span {
    display: inline-block;
    margin: 0 0 0 15px;
  }
}
#company_information #messeage .philosophy_contents ul li:last-child,
#list_of_offices #messeage .philosophy_contents ul li:last-child,
#messeage_philosophy #messeage .philosophy_contents ul li:last-child {
  border: none;
}
#company_information #messeage .philosophy_contents .philosophy_contents_img,
#list_of_offices #messeage .philosophy_contents .philosophy_contents_img,
#messeage_philosophy #messeage .philosophy_contents .philosophy_contents_img {
  text-align: center;
  margin: 30px 0 0;
}
#company_information #messeage .philosophy_contents .philosophy_contents_img img,
#list_of_offices #messeage .philosophy_contents .philosophy_contents_img img,
#messeage_philosophy #messeage .philosophy_contents .philosophy_contents_img img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #company_information #messeage .philosophy_contents .philosophy_contents_img img,
  #list_of_offices #messeage .philosophy_contents .philosophy_contents_img img,
  #messeage_philosophy #messeage .philosophy_contents .philosophy_contents_img img {
    width: auto;
  }
}
#company_information #btn_area,
#list_of_offices #btn_area,
#messeage_philosophy #btn_area {
  background-color: #FAFAFA;
}
#company_information #btn_area .top_btn,
#list_of_offices #btn_area .top_btn,
#messeage_philosophy #btn_area .top_btn {
  margin: 0 0 30px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5%;
}
@media screen and (min-width: 768px) {
  #company_information #btn_area .top_btn,
  #list_of_offices #btn_area .top_btn,
  #messeage_philosophy #btn_area .top_btn {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#company_information #btn_area .top_btn a,
#list_of_offices #btn_area .top_btn a,
#messeage_philosophy #btn_area .top_btn a {
  margin: 0 0 10px;
  padding: 15px 0 10px;
  display: block;
  width: 100%;
  background-color: #fff;
  border: 1px solid #A7A7A7;
  border-radius: 5px;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  #company_information #btn_area .top_btn a,
  #list_of_offices #btn_area .top_btn a,
  #messeage_philosophy #btn_area .top_btn a {
    width: 30%;
    margin: 0;
  }
}
#company_information #btn_area .top_btn a:last-child,
#list_of_offices #btn_area .top_btn a:last-child,
#messeage_philosophy #btn_area .top_btn a:last-child {
  margin: 0;
}
#company_information #btn_area .top_btn a h3,
#list_of_offices #btn_area .top_btn a h3,
#messeage_philosophy #btn_area .top_btn a h3 {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #company_information #btn_area .top_btn a h3,
  #list_of_offices #btn_area .top_btn a h3,
  #messeage_philosophy #btn_area .top_btn a h3 {
    font-size: 1.8rem;
  }
}
#company_information #btn_area .top_btn a h3 svg,
#list_of_offices #btn_area .top_btn a h3 svg,
#messeage_philosophy #btn_area .top_btn a h3 svg {
  margin: 0 0 0 14px;
  width: 20px;
}
#company_information #btn_area .top_btn a.slide,
#list_of_offices #btn_area .top_btn a.slide,
#messeage_philosophy #btn_area .top_btn a.slide {
  background: #fff;
  color: #333;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#company_information #btn_area .top_btn a.slide::after,
#list_of_offices #btn_area .top_btn a.slide::after,
#messeage_philosophy #btn_area .top_btn a.slide::after {
  background: #2592f1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
#company_information #btn_area .top_btn a.slide:hover,
#list_of_offices #btn_area .top_btn a.slide:hover,
#messeage_philosophy #btn_area .top_btn a.slide:hover {
  color: #fff;
}
#company_information #btn_area .top_btn a.slide:hover h4,
#list_of_offices #btn_area .top_btn a.slide:hover h4,
#messeage_philosophy #btn_area .top_btn a.slide:hover h4 {
  color: #fff;
}
#company_information #btn_area .top_btn a.slide:hover svg,
#list_of_offices #btn_area .top_btn a.slide:hover svg,
#messeage_philosophy #btn_area .top_btn a.slide:hover svg {
  fill: #fff !important;
}
#company_information #btn_area .top_btn a.slide:hover::after,
#list_of_offices #btn_area .top_btn a.slide:hover::after,
#messeage_philosophy #btn_area .top_btn a.slide:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
#company_information #btn_area .top_btn a.slide:hover .arrow::before,
#list_of_offices #btn_area .top_btn a.slide:hover .arrow::before,
#messeage_philosophy #btn_area .top_btn a.slide:hover .arrow::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
#company_information #btn_area .top_btn a .arrow,
#list_of_offices #btn_area .top_btn a .arrow,
#messeage_philosophy #btn_area .top_btn a .arrow {
  position: relative;
  top: 0;
  left: 2px;
  display: inline-block;
  padding: 10px;
}
#company_information #btn_area .top_btn a .arrow::before,
#list_of_offices #btn_area .top_btn a .arrow::before,
#messeage_philosophy #btn_area .top_btn a .arrow::before {
  content: "";
  left: 5px;
  top: 8px;
  width: 10px;
  height: 10px;
  border-top: solid 2px #E38D49;
  border-right: solid 2px #E38D49;
  position: absolute;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#company_information #btn_area .bottom_btn,
#list_of_offices #btn_area .bottom_btn,
#messeage_philosophy #btn_area .bottom_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  #company_information #btn_area .bottom_btn,
  #list_of_offices #btn_area .bottom_btn,
  #messeage_philosophy #btn_area .bottom_btn {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#company_information #btn_area .bottom_btn a,
#list_of_offices #btn_area .bottom_btn a,
#messeage_philosophy #btn_area .bottom_btn a {
  margin: 0 0 10px;
  padding: 15px 0 10px;
  display: block;
  width: 100%;
  background-color: #fff;
  border: 1px solid #A7A7A7;
  border-radius: 5px;
  text-align: center;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 2%;
}
@media screen and (min-width: 768px) {
  #company_information #btn_area .bottom_btn a,
  #list_of_offices #btn_area .bottom_btn a,
  #messeage_philosophy #btn_area .bottom_btn a {
    width: 48%;
    margin: 0;
  }
}
#company_information #btn_area .bottom_btn a:last-child,
#list_of_offices #btn_area .bottom_btn a:last-child,
#messeage_philosophy #btn_area .bottom_btn a:last-child {
  margin: 0;
}
#company_information #btn_area .bottom_btn a h3,
#list_of_offices #btn_area .bottom_btn a h3,
#messeage_philosophy #btn_area .bottom_btn a h3 {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #company_information #btn_area .bottom_btn a h3,
  #list_of_offices #btn_area .bottom_btn a h3,
  #messeage_philosophy #btn_area .bottom_btn a h3 {
    font-size: 2rem;
  }
}
#company_information #btn_area .bottom_btn a h4,
#list_of_offices #btn_area .bottom_btn a h4,
#messeage_philosophy #btn_area .bottom_btn a h4 {
  font-family: "Montserrat", serif;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: normal;
  color: #005bac;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}
@media screen and (min-width: 768px) {
  #company_information #btn_area .bottom_btn a h4,
  #list_of_offices #btn_area .bottom_btn a h4,
  #messeage_philosophy #btn_area .bottom_btn a h4 {
    font-size: 1.6rem;
  }
}
#company_information #btn_area .bottom_btn a.slide,
#list_of_offices #btn_area .bottom_btn a.slide,
#messeage_philosophy #btn_area .bottom_btn a.slide {
  background: #fff;
  color: #333;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#company_information #btn_area .bottom_btn a.slide::after,
#list_of_offices #btn_area .bottom_btn a.slide::after,
#messeage_philosophy #btn_area .bottom_btn a.slide::after {
  background: #2592f1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
#company_information #btn_area .bottom_btn a.slide:hover,
#list_of_offices #btn_area .bottom_btn a.slide:hover,
#messeage_philosophy #btn_area .bottom_btn a.slide:hover {
  color: #fff;
}
#company_information #btn_area .bottom_btn a.slide:hover h4,
#list_of_offices #btn_area .bottom_btn a.slide:hover h4,
#messeage_philosophy #btn_area .bottom_btn a.slide:hover h4 {
  color: #fff;
}
#company_information #btn_area .bottom_btn a.slide:hover::after,
#list_of_offices #btn_area .bottom_btn a.slide:hover::after,
#messeage_philosophy #btn_area .bottom_btn a.slide:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
#company_information #btn_area .bottom_btn a.slide:hover .arrow::before,
#list_of_offices #btn_area .bottom_btn a.slide:hover .arrow::before,
#messeage_philosophy #btn_area .bottom_btn a.slide:hover .arrow::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
#company_information #btn_area .bottom_btn a .arrow,
#list_of_offices #btn_area .bottom_btn a .arrow,
#messeage_philosophy #btn_area .bottom_btn a .arrow {
  position: relative;
  top: 0;
  left: 2px;
  display: inline-block;
  padding: 10px;
}
#company_information #btn_area .bottom_btn a .arrow::before,
#list_of_offices #btn_area .bottom_btn a .arrow::before,
#messeage_philosophy #btn_area .bottom_btn a .arrow::before {
  content: "";
  left: 5px;
  top: 0;
  width: 10px;
  height: 10px;
  border-top: solid 2px #E38D49;
  border-right: solid 2px #E38D49;
  position: absolute;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
#company_information #com_overview .com_overview_contents,
#list_of_offices #com_overview .com_overview_contents,
#messeage_philosophy #com_overview .com_overview_contents {
  margin: 40px 0 0;
}
#company_information #com_overview2,
#list_of_offices #com_overview2,
#messeage_philosophy #com_overview2 {
  background-color: #FAFAFA;
}
#company_information #com_overview3 .com_overview_contents,
#list_of_offices #com_overview3 .com_overview_contents,
#messeage_philosophy #com_overview3 .com_overview_contents {
  margin: 40px 0 0;
}
#company_information #com_overview3 .com_overview_contents h4,
#list_of_offices #com_overview3 .com_overview_contents h4,
#messeage_philosophy #com_overview3 .com_overview_contents h4 {
  width: 100%;
  margin: 0;
  padding: 5px 0;
  font-size: 2.2rem;
  text-align: center;
  background-color: #ccc;
}
#company_information #com_overview3 .com_overview_contents h5,
#list_of_offices #com_overview3 .com_overview_contents h5,
#messeage_philosophy #com_overview3 .com_overview_contents h5 {
  margin: 0;
  padding: 10px 0;
  width: 100%;
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
  background-color: #e5edf7;
}
#company_information #com_overview3 .com_overview_contents table,
#list_of_offices #com_overview3 .com_overview_contents table,
#messeage_philosophy #com_overview3 .com_overview_contents table {
  margin: 0 0 60px;
  font-size: 1.6rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview3 .com_overview_contents table,
  #list_of_offices #com_overview3 .com_overview_contents table,
  #messeage_philosophy #com_overview3 .com_overview_contents table {
    font-size: 1.8rem;
  }
}
#company_information #com_overview3 .com_overview_contents table tr,
#list_of_offices #com_overview3 .com_overview_contents table tr,
#messeage_philosophy #com_overview3 .com_overview_contents table tr {
  border-top: 1px solid #e5edf7;
}
#company_information #com_overview3 .com_overview_contents table tr:last-child,
#list_of_offices #com_overview3 .com_overview_contents table tr:last-child,
#messeage_philosophy #com_overview3 .com_overview_contents table tr:last-child {
  border-bottom: 1px solid #e5edf7;
}
#company_information #com_overview3 .com_overview_contents table tr th,
#list_of_offices #com_overview3 .com_overview_contents table tr th,
#messeage_philosophy #com_overview3 .com_overview_contents table tr th {
  padding: 10px;
  width: 100%;
  display: block;
  vertical-align: top;
  color: #024B9E;
  font-weight: normal;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview3 .com_overview_contents table tr th,
  #list_of_offices #com_overview3 .com_overview_contents table tr th,
  #messeage_philosophy #com_overview3 .com_overview_contents table tr th {
    padding: 10px 15px;
    width: 20%;
    display: inline-block;
    line-height: 2;
  }
}
#company_information #com_overview3 .com_overview_contents table tr td,
#list_of_offices #com_overview3 .com_overview_contents table tr td,
#messeage_philosophy #com_overview3 .com_overview_contents table tr td {
  padding: 10px;
  width: 100%;
  display: block;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview3 .com_overview_contents table tr td,
  #list_of_offices #com_overview3 .com_overview_contents table tr td,
  #messeage_philosophy #com_overview3 .com_overview_contents table tr td {
    padding: 10px 15px;
    width: 80%;
    display: inline-block;
    line-height: 2;
  }
}
#company_information #com_overview3 .com_overview_contents table tr td iframe,
#list_of_offices #com_overview3 .com_overview_contents table tr td iframe,
#messeage_philosophy #com_overview3 .com_overview_contents table tr td iframe {
  margin: 20px 0 0;
}
#company_information #com_overview3 .com_overview_contents table tr td dl,
#list_of_offices #com_overview3 .com_overview_contents table tr td dl,
#messeage_philosophy #com_overview3 .com_overview_contents table tr td dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#company_information #com_overview3 .com_overview_contents table tr td dl dt,
#list_of_offices #com_overview3 .com_overview_contents table tr td dl dt,
#messeage_philosophy #com_overview3 .com_overview_contents table tr td dl dt {
  width: 30%;
  -moz-text-align-last: justify;
       text-align-last: justify;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview3 .com_overview_contents table tr td dl dt,
  #list_of_offices #com_overview3 .com_overview_contents table tr td dl dt,
  #messeage_philosophy #com_overview3 .com_overview_contents table tr td dl dt {
    width: 15%;
  }
}
#company_information #com_overview3 .com_overview_contents table tr td dl dd,
#list_of_offices #com_overview3 .com_overview_contents table tr td dl dd,
#messeage_philosophy #com_overview3 .com_overview_contents table tr td dl dd {
  padding: 0 0 0 5%;
  width: 60%;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview3 .com_overview_contents table tr td dl dd,
  #list_of_offices #com_overview3 .com_overview_contents table tr td dl dd,
  #messeage_philosophy #com_overview3 .com_overview_contents table tr td dl dd {
    width: 83%;
  }
}
#company_information #com_overview3 .com_overview_contents .flex_box,
#list_of_offices #com_overview3 .com_overview_contents .flex_box,
#messeage_philosophy #com_overview3 .com_overview_contents .flex_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview3 .com_overview_contents .flex_box,
  #list_of_offices #com_overview3 .com_overview_contents .flex_box,
  #messeage_philosophy #com_overview3 .com_overview_contents .flex_box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#company_information #com_overview3 .com_overview_contents .flex_box .button,
#list_of_offices #com_overview3 .com_overview_contents .flex_box .button,
#messeage_philosophy #com_overview3 .com_overview_contents .flex_box .button {
  font-family: "Noto Sans JP", serif;
  margin: 0;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview3 .com_overview_contents .flex_box .button,
  #list_of_offices #com_overview3 .com_overview_contents .flex_box .button,
  #messeage_philosophy #com_overview3 .com_overview_contents .flex_box .button {
    margin: 0;
  }
}
#company_information #com_overview3 .com_overview_contents .flex_box .button a,
#list_of_offices #com_overview3 .com_overview_contents .flex_box .button a,
#messeage_philosophy #com_overview3 .com_overview_contents .flex_box .button a {
  background: #eee;
  border-radius: 10px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 250px;
  padding: 5px 45px;
  font-family: "Noto Sans JP", serif;
  text-decoration: none;
  color: #333;
  line-height: 1.8;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-weight: normal;
}
#company_information #com_overview3 .com_overview_contents .flex_box .button a:after,
#list_of_offices #com_overview3 .com_overview_contents .flex_box .button a:after,
#messeage_philosophy #com_overview3 .com_overview_contents .flex_box .button a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: right 0.3s;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
#company_information #com_overview3 .com_overview_contents .flex_box .button a:hover,
#list_of_offices #com_overview3 .com_overview_contents .flex_box .button a:hover,
#messeage_philosophy #com_overview3 .com_overview_contents .flex_box .button a:hover {
  background: #007acc;
  color: #FFF;
}
#company_information #com_overview3 .com_overview_contents .flex_box .button a:hover:after,
#list_of_offices #com_overview3 .com_overview_contents .flex_box .button a:hover:after,
#messeage_philosophy #com_overview3 .com_overview_contents .flex_box .button a:hover:after {
  right: 1.4rem;
}
#company_information #com_overview .com_overview_contents h5,
#company_information #com_overview2 .com_overview_contents h5,
#list_of_offices #com_overview .com_overview_contents h5,
#list_of_offices #com_overview2 .com_overview_contents h5,
#messeage_philosophy #com_overview .com_overview_contents h5,
#messeage_philosophy #com_overview2 .com_overview_contents h5 {
  margin: 0 0 20px;
  font-size: 2rem;
  font-weight: normal;
}
#company_information #com_overview .com_overview_contents table,
#company_information #com_overview2 .com_overview_contents table,
#list_of_offices #com_overview .com_overview_contents table,
#list_of_offices #com_overview2 .com_overview_contents table,
#messeage_philosophy #com_overview .com_overview_contents table,
#messeage_philosophy #com_overview2 .com_overview_contents table {
  font-size: 1.6rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview .com_overview_contents table,
  #company_information #com_overview2 .com_overview_contents table,
  #list_of_offices #com_overview .com_overview_contents table,
  #list_of_offices #com_overview2 .com_overview_contents table,
  #messeage_philosophy #com_overview .com_overview_contents table,
  #messeage_philosophy #com_overview2 .com_overview_contents table {
    font-size: 1.8rem;
  }
}
#company_information #com_overview .com_overview_contents table tr,
#company_information #com_overview2 .com_overview_contents table tr,
#list_of_offices #com_overview .com_overview_contents table tr,
#list_of_offices #com_overview2 .com_overview_contents table tr,
#messeage_philosophy #com_overview .com_overview_contents table tr,
#messeage_philosophy #com_overview2 .com_overview_contents table tr {
  border-top: 1px solid #e5edf7;
}
#company_information #com_overview .com_overview_contents table tr th,
#company_information #com_overview2 .com_overview_contents table tr th,
#list_of_offices #com_overview .com_overview_contents table tr th,
#list_of_offices #com_overview2 .com_overview_contents table tr th,
#messeage_philosophy #com_overview .com_overview_contents table tr th,
#messeage_philosophy #com_overview2 .com_overview_contents table tr th {
  padding: 10px 0;
  width: 100%;
  display: block;
  vertical-align: top;
  color: #024B9E;
  font-weight: normal;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview .com_overview_contents table tr th,
  #company_information #com_overview2 .com_overview_contents table tr th,
  #list_of_offices #com_overview .com_overview_contents table tr th,
  #list_of_offices #com_overview2 .com_overview_contents table tr th,
  #messeage_philosophy #com_overview .com_overview_contents table tr th,
  #messeage_philosophy #com_overview2 .com_overview_contents table tr th {
    padding: 10px 0;
    width: 20%;
    display: inline-block;
    line-height: 2;
  }
}
#company_information #com_overview .com_overview_contents table tr td,
#company_information #com_overview2 .com_overview_contents table tr td,
#list_of_offices #com_overview .com_overview_contents table tr td,
#list_of_offices #com_overview2 .com_overview_contents table tr td,
#messeage_philosophy #com_overview .com_overview_contents table tr td,
#messeage_philosophy #com_overview2 .com_overview_contents table tr td {
  padding: 0 0 20px;
  width: 100%;
  display: block;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview .com_overview_contents table tr td,
  #company_information #com_overview2 .com_overview_contents table tr td,
  #list_of_offices #com_overview .com_overview_contents table tr td,
  #list_of_offices #com_overview2 .com_overview_contents table tr td,
  #messeage_philosophy #com_overview .com_overview_contents table tr td,
  #messeage_philosophy #com_overview2 .com_overview_contents table tr td {
    padding: 10px 0;
    width: 80%;
    display: inline-block;
    line-height: 2;
  }
}
#company_information #com_overview .com_overview_contents table tr td iframe,
#company_information #com_overview2 .com_overview_contents table tr td iframe,
#list_of_offices #com_overview .com_overview_contents table tr td iframe,
#list_of_offices #com_overview2 .com_overview_contents table tr td iframe,
#messeage_philosophy #com_overview .com_overview_contents table tr td iframe,
#messeage_philosophy #com_overview2 .com_overview_contents table tr td iframe {
  margin: 20px 0 0;
}
#company_information #com_overview .com_overview_contents table tr td dl,
#company_information #com_overview2 .com_overview_contents table tr td dl,
#list_of_offices #com_overview .com_overview_contents table tr td dl,
#list_of_offices #com_overview2 .com_overview_contents table tr td dl,
#messeage_philosophy #com_overview .com_overview_contents table tr td dl,
#messeage_philosophy #com_overview2 .com_overview_contents table tr td dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#company_information #com_overview .com_overview_contents table tr td dl dt,
#company_information #com_overview2 .com_overview_contents table tr td dl dt,
#list_of_offices #com_overview .com_overview_contents table tr td dl dt,
#list_of_offices #com_overview2 .com_overview_contents table tr td dl dt,
#messeage_philosophy #com_overview .com_overview_contents table tr td dl dt,
#messeage_philosophy #com_overview2 .com_overview_contents table tr td dl dt {
  width: 30%;
  -moz-text-align-last: justify;
       text-align-last: justify;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview .com_overview_contents table tr td dl dt,
  #company_information #com_overview2 .com_overview_contents table tr td dl dt,
  #list_of_offices #com_overview .com_overview_contents table tr td dl dt,
  #list_of_offices #com_overview2 .com_overview_contents table tr td dl dt,
  #messeage_philosophy #com_overview .com_overview_contents table tr td dl dt,
  #messeage_philosophy #com_overview2 .com_overview_contents table tr td dl dt {
    width: 15%;
  }
}
#company_information #com_overview .com_overview_contents table tr td dl dd,
#company_information #com_overview2 .com_overview_contents table tr td dl dd,
#list_of_offices #com_overview .com_overview_contents table tr td dl dd,
#list_of_offices #com_overview2 .com_overview_contents table tr td dl dd,
#messeage_philosophy #com_overview .com_overview_contents table tr td dl dd,
#messeage_philosophy #com_overview2 .com_overview_contents table tr td dl dd {
  padding: 0 0 0 5%;
  width: 60%;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview .com_overview_contents table tr td dl dd,
  #company_information #com_overview2 .com_overview_contents table tr td dl dd,
  #list_of_offices #com_overview .com_overview_contents table tr td dl dd,
  #list_of_offices #com_overview2 .com_overview_contents table tr td dl dd,
  #messeage_philosophy #com_overview .com_overview_contents table tr td dl dd,
  #messeage_philosophy #com_overview2 .com_overview_contents table tr td dl dd {
    width: 83%;
  }
}
#company_information #com_overview .com_overview_contents table tr td img,
#company_information #com_overview2 .com_overview_contents table tr td img,
#list_of_offices #com_overview .com_overview_contents table tr td img,
#list_of_offices #com_overview2 .com_overview_contents table tr td img,
#messeage_philosophy #com_overview .com_overview_contents table tr td img,
#messeage_philosophy #com_overview2 .com_overview_contents table tr td img {
  width: 100px;
  border: 3px solid #eee;
}
#company_information #com_overview .com_overview_contents .flex_box,
#company_information #com_overview2 .com_overview_contents .flex_box,
#list_of_offices #com_overview .com_overview_contents .flex_box,
#list_of_offices #com_overview2 .com_overview_contents .flex_box,
#messeage_philosophy #com_overview .com_overview_contents .flex_box,
#messeage_philosophy #com_overview2 .com_overview_contents .flex_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview .com_overview_contents .flex_box,
  #company_information #com_overview2 .com_overview_contents .flex_box,
  #list_of_offices #com_overview .com_overview_contents .flex_box,
  #list_of_offices #com_overview2 .com_overview_contents .flex_box,
  #messeage_philosophy #com_overview .com_overview_contents .flex_box,
  #messeage_philosophy #com_overview2 .com_overview_contents .flex_box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#company_information #com_overview .com_overview_contents .flex_box .button,
#company_information #com_overview2 .com_overview_contents .flex_box .button,
#list_of_offices #com_overview .com_overview_contents .flex_box .button,
#list_of_offices #com_overview2 .com_overview_contents .flex_box .button,
#messeage_philosophy #com_overview .com_overview_contents .flex_box .button,
#messeage_philosophy #com_overview2 .com_overview_contents .flex_box .button {
  margin: 0;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview .com_overview_contents .flex_box .button,
  #company_information #com_overview2 .com_overview_contents .flex_box .button,
  #list_of_offices #com_overview .com_overview_contents .flex_box .button,
  #list_of_offices #com_overview2 .com_overview_contents .flex_box .button,
  #messeage_philosophy #com_overview .com_overview_contents .flex_box .button,
  #messeage_philosophy #com_overview2 .com_overview_contents .flex_box .button {
    margin: 0;
  }
}
#company_information #com_overview .com_overview_contents .flex_box .button a,
#company_information #com_overview2 .com_overview_contents .flex_box .button a,
#list_of_offices #com_overview .com_overview_contents .flex_box .button a,
#list_of_offices #com_overview2 .com_overview_contents .flex_box .button a,
#messeage_philosophy #com_overview .com_overview_contents .flex_box .button a,
#messeage_philosophy #com_overview2 .com_overview_contents .flex_box .button a {
  background: #eee;
  border-radius: 10px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 250px;
  padding: 5px 45px;
  font-family: "Noto Sans JP", serif;
  text-decoration: none;
  color: #333;
  line-height: 1.8;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-weight: normal;
}
#company_information #com_overview .com_overview_contents .flex_box .button a:after,
#company_information #com_overview2 .com_overview_contents .flex_box .button a:after,
#list_of_offices #com_overview .com_overview_contents .flex_box .button a:after,
#list_of_offices #com_overview2 .com_overview_contents .flex_box .button a:after,
#messeage_philosophy #com_overview .com_overview_contents .flex_box .button a:after,
#messeage_philosophy #com_overview2 .com_overview_contents .flex_box .button a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: right 0.3s;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
#company_information #com_overview .com_overview_contents .flex_box .button a:hover,
#company_information #com_overview2 .com_overview_contents .flex_box .button a:hover,
#list_of_offices #com_overview .com_overview_contents .flex_box .button a:hover,
#list_of_offices #com_overview2 .com_overview_contents .flex_box .button a:hover,
#messeage_philosophy #com_overview .com_overview_contents .flex_box .button a:hover,
#messeage_philosophy #com_overview2 .com_overview_contents .flex_box .button a:hover {
  background: #007acc;
  color: #FFF;
}
#company_information #com_overview .com_overview_contents .flex_box .button a:hover:after,
#company_information #com_overview2 .com_overview_contents .flex_box .button a:hover:after,
#list_of_offices #com_overview .com_overview_contents .flex_box .button a:hover:after,
#list_of_offices #com_overview2 .com_overview_contents .flex_box .button a:hover:after,
#messeage_philosophy #com_overview .com_overview_contents .flex_box .button a:hover:after,
#messeage_philosophy #com_overview2 .com_overview_contents .flex_box .button a:hover:after {
  right: 1.4rem;
}
#company_information #com_overview .com_overview_contents .pdf_box,
#company_information #com_overview2 .com_overview_contents .pdf_box,
#list_of_offices #com_overview .com_overview_contents .pdf_box,
#list_of_offices #com_overview2 .com_overview_contents .pdf_box,
#messeage_philosophy #com_overview .com_overview_contents .pdf_box,
#messeage_philosophy #com_overview2 .com_overview_contents .pdf_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview .com_overview_contents .pdf_box,
  #company_information #com_overview2 .com_overview_contents .pdf_box,
  #list_of_offices #com_overview .com_overview_contents .pdf_box,
  #list_of_offices #com_overview2 .com_overview_contents .pdf_box,
  #messeage_philosophy #com_overview .com_overview_contents .pdf_box,
  #messeage_philosophy #com_overview2 .com_overview_contents .pdf_box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#company_information #com_overview .com_overview_contents .pdf_box .corpguide_btn,
#company_information #com_overview2 .com_overview_contents .pdf_box .corpguide_btn,
#list_of_offices #com_overview .com_overview_contents .pdf_box .corpguide_btn,
#list_of_offices #com_overview2 .com_overview_contents .pdf_box .corpguide_btn,
#messeage_philosophy #com_overview .com_overview_contents .pdf_box .corpguide_btn,
#messeage_philosophy #com_overview2 .com_overview_contents .pdf_box .corpguide_btn {
  margin: 10px 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #company_information #com_overview .com_overview_contents .pdf_box .corpguide_btn,
  #company_information #com_overview2 .com_overview_contents .pdf_box .corpguide_btn,
  #list_of_offices #com_overview .com_overview_contents .pdf_box .corpguide_btn,
  #list_of_offices #com_overview2 .com_overview_contents .pdf_box .corpguide_btn,
  #messeage_philosophy #com_overview .com_overview_contents .pdf_box .corpguide_btn,
  #messeage_philosophy #com_overview2 .com_overview_contents .pdf_box .corpguide_btn {
    margin: 10px 20px;
  }
}
#company_information #com_overview .com_overview_contents .pdf_box .corpguide_btn a,
#company_information #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a,
#list_of_offices #com_overview .com_overview_contents .pdf_box .corpguide_btn a,
#list_of_offices #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a,
#messeage_philosophy #com_overview .com_overview_contents .pdf_box .corpguide_btn a,
#messeage_philosophy #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a {
  background: #eee;
  border-radius: 10px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 5px 45px;
  font-family: "Noto Sans JP", serif;
  text-decoration: none;
  color: #333;
  line-height: 1.8;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-weight: normal;
}
#company_information #com_overview .com_overview_contents .pdf_box .corpguide_btn a:after,
#company_information #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a:after,
#list_of_offices #com_overview .com_overview_contents .pdf_box .corpguide_btn a:after,
#list_of_offices #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a:after,
#messeage_philosophy #com_overview .com_overview_contents .pdf_box .corpguide_btn a:after,
#messeage_philosophy #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: right 0.3s;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
#company_information #com_overview .com_overview_contents .pdf_box .corpguide_btn a:hover,
#company_information #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a:hover,
#list_of_offices #com_overview .com_overview_contents .pdf_box .corpguide_btn a:hover,
#list_of_offices #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a:hover,
#messeage_philosophy #com_overview .com_overview_contents .pdf_box .corpguide_btn a:hover,
#messeage_philosophy #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a:hover {
  background: #007acc;
  color: #FFF;
}
#company_information #com_overview .com_overview_contents .pdf_box .corpguide_btn a:hover:after,
#company_information #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a:hover:after,
#list_of_offices #com_overview .com_overview_contents .pdf_box .corpguide_btn a:hover:after,
#list_of_offices #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a:hover:after,
#messeage_philosophy #com_overview .com_overview_contents .pdf_box .corpguide_btn a:hover:after,
#messeage_philosophy #com_overview2 .com_overview_contents .pdf_box .corpguide_btn a:hover:after {
  right: 1.4rem;
}

#history {
  position: relative;
}
#history .timeline {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  #history .timeline {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#history .timeline .timeline-list {
  max-width: 100%;
  padding: 10px 0;
}
@media screen and (min-width: 1024px) {
  #history .timeline .timeline-list {
    max-width: 80%;
    padding: 80px 0;
  }
}
#history .timeline .timeline-list h3 {
  margin: 0 0 60px;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
}
#history .timeline .timeline-list a {
  color: #333;
  display: inline;
}
#history .timeline .timeline-list a:hover {
  color: #333;
}
#history .timeline .timeline-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  line-height: 1.5;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  #history .timeline .timeline-list-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#history .timeline .timeline-list-item .date {
  width: 100%;
  margin: -10px 0 20px;
  color: #005bac;
  font-weight: normal;
  font-size: 2.6rem;
  border-bottom: 1px solid #eee;
}
#history .timeline .timeline-list-item .date span {
  margin: 0 0 0 15px;
  font-size: 1.6rem;
  color: #333;
}
#history .timeline .timeline-list-item .content {
  position: relative;
  width: 100%;
  padding: 0 0 60px 25px;
  border-left: none;
}
@media screen and (min-width: 1024px) {
  #history .timeline .timeline-list-item .content {
    margin: 0 0 0 10px;
    padding: 0 0 60px 30px;
    border-left: 1px solid #aaaaaa;
  }
}
#history .timeline .timeline-list-item .content::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 15px;
  height: 15px;
  background-color: #005bac;
  border-radius: 10px;
}
@media screen and (min-width: 1024px) {
  #history .timeline .timeline-list-item .content::before {
    top: 0;
    width: 20px;
    height: 20px;
    left: -10px;
  }
}
#history .timeline .timeline-list-item .content .text_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  #history .timeline .timeline-list-item .content .text_img {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#history .timeline .timeline-list-item .content .text_img .text_box {
  width: 100% !important;
}
@media screen and (min-width: 1024px) {
  #history .timeline .timeline-list-item .content .text_img .text_box {
    width: 58% !important;
  }
}
#history .timeline .timeline-list-item .content .text_img .img_box {
  width: 100% !important;
}
@media screen and (min-width: 1024px) {
  #history .timeline .timeline-list-item .content .text_img .img_box {
    width: 40% !important;
  }
}
#history .timeline .timeline-list-item .content .text_img p {
  font-size: 1.4rem;
}
#history .timeline .timeline-list-item .content ul {
  padding: 0;
  list-style: none;
}
#history .timeline .timeline-list-item .content ul li {
  margin: 0 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px #eee dashed;
}
#history .timeline .timeline-list-item .content ul li:last-child {
  border: none;
}
#history .timeline .timeline-list-item .content img {
  width: 100%;
  margin: 0;
  display: block;
  background-color: #eee;
}
#history .timeline .timeline-list-item .content img:hover {
  opacity: 1;
}
#history .timeline .timeline-list-item .content .timeline_link {
  color: #2592f1;
  display: inline !important;
}
#history .timeline aside {
  width: 100%;
  height: auto;
  /* 追従の指定 */
}
@media screen and (min-width: 1024px) {
  #history .timeline aside {
    width: 15%;
  }
}
#history .timeline aside .side_navi {
  padding: 30px 0;
  position: sticky;
  top: 0;
  list-style: none;
}
@media screen and (min-width: 1024px) {
  #history .timeline aside .side_navi {
    padding: 90px 0;
  }
}
#history .timeline aside .side_navi li {
  margin: 0 0 3px;
  text-align: center;
  border: 1px solid #005bac;
  border-radius: 5px;
}
#history .timeline aside .side_navi li a {
  display: block;
  color: #005bac;
  text-transform: uppercase;
  text-decoration: none;
  padding: 5px;
}
#history .timeline aside .side_navi li a:hover {
  background-color: #005bac;
  color: #fff !important;
}
#history .timeline aside .side_navi .is-current {
  color: #fff !important;
  background-color: #005bac;
}
#history .table_text_box {
  margin: 20px 0 0;
  background-color: #E9EDF3;
  padding: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #history .table_text_box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#history .table_text_box img {
  width: 50% !important;
  margin: 0 auto 30px !important;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  #history .table_text_box img {
    width: auto;
    margin: 0 20px 0 0 !important;
  }
}
#history .table_text_box h5 {
  margin: 0 0 20px;
  padding: 0 0 10px;
  font-size: 1.8rem;
  font-weight: normal;
  color: #005bac;
  border-bottom: 1px solid #a8bfda;
}
#history .table_text_box p {
  font-size: 1.4rem;
  line-height: 2;
}

#single_technical .contents_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  #single_technical .contents_box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#single_technical .contents_box .post_contents {
  width: 100%;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  #single_technical .contents_box .post_contents {
    width: 57%;
  }
}
#single_technical .contents_box .post_contents .post_title {
  line-height: 1.2;
  font-size: 3.4rem;
  color: #024B9E;
}
#single_technical .contents_box .post_contents .post_sub_title {
  font-size: 2.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: normal;
}
#single_technical .contents_box .post_contents .construction_title {
  margin: 0 0 10px;
  background-color: #f16b6f;
  color: #fff;
  font-size: 1.6rem;
  display: inline-block;
  width: 130px;
  font-weight: 600;
  text-align: center;
}
#single_technical .contents_box .post_contents .post_terms {
  margin: 0 0 30px;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  list-style: none;
}
#single_technical .contents_box .post_contents .post_terms li {
  font-size: 1.4rem;
  background-color: #eee;
  padding: 2px 15px;
}
#single_technical .contents_box .post_contents .post_content {
  margin: 10px 0 0;
}
#single_technical .contents_box .post_contents .post_content h2 {
  margin: 60px 0 0;
  background-color: #024B9E;
  color: #fff;
}
#single_technical .contents_box .post_contents .post_content h3 {
  margin: 10px 0 20px;
  padding: 0 0 10px;
  font-size: 2rem;
  border-bottom: 1px solid #ccc;
}
#single_technical .contents_box .post_contents .post_content h4 {
  margin: 30px 0 15px;
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.4;
  padding: 4px 0 4px 10px;
  background-color: #eee;
  border-left: 5px solid #333;
}
#single_technical .contents_box .post_contents .post_content img {
  width: 100%;
  height: auto;
}
#single_technical .contents_box .post_contents .post_content p {
  margin: 0 0 15px;
}
#single_technical .contents_box .post_contents .post_content p:first-of-type {
  margin: 0 0 50px;
}
#single_technical .contents_box .post_contents .post_content ul, #single_technical .contents_box .post_contents .post_content ol {
  margin: 0 0 50px;
  padding: 0 0 0 24px;
}
#single_technical .contents_box .post_contents .post_content ul li, #single_technical .contents_box .post_contents .post_content ol li {
  line-height: 1.6;
  margin: 0 0 15px;
}
#single_technical .contents_box .post_contents .post_content .movie {
  width: 100%;
  aspect-ratio: 16/9;
}
#single_technical .contents_box .post_contents .post_content .movie iframe {
  width: 100%;
  height: 100%;
}
#single_technical .contents_box .post_thumbnail {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #single_technical .contents_box .post_thumbnail {
    width: 40%;
  }
}
#single_technical .contents_box .post_thumbnail img {
  width: 100%;
}
#single_technical .contents_box .post_thumbnail .thumbnail_box {
  position: relative;
}
#single_technical .contents_box .post_thumbnail .thumbnail_box .no_image {
  width: 100%;
  color: #9f9f9f;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#single_technical .contents_box .post_thumbnail .addition_img {
  list-style: none;
  margin: 50px 0 0;
  padding: 0;
}
#single_technical .contents_box .post_thumbnail .addition_img li {
  margin: 0 0 10px;
}
#single_technical .contents_box .post_thumbnail .download_link a {
  background-color: #a9dcf0;
  margin: 10px 0 0;
  padding: 10px 0;
  display: block;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.6rem;
}
#single_technical .contents_box .post_thumbnail .download_link a span {
  margin: 0 10px 0 0;
}
#single_technical .contents_box .post_thumbnail .download_link a:hover {
  color: #fff;
  background-color: #3cb1e0;
}
#single_technical .detail_box {
  margin: 50px 0 0;
}
#single_technical .detail_box h3 {
  margin: 10px 0 20px;
  padding: 0 0 10px;
  font-size: 2rem;
  border-bottom: 1px solid #ccc;
}
#single_technical .detail_box .detail_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 2%;
}
@media screen and (min-width: 768px) {
  #single_technical .detail_box .detail_inner {
    gap: 30px 5%;
  }
}
#single_technical .detail_box .detail_inner .detail_inner_box {
  width: 49%;
}
@media screen and (min-width: 768px) {
  #single_technical .detail_box .detail_inner .detail_inner_box {
    width: 30%;
  }
}
#single_technical .detail_box .detail_inner .detail_inner_box h4 {
  font-size: 1.8rem;
}
#single_technical .detail_box .detail_inner .detail_inner_box img {
  width: 100%;
}
#single_technical .detail_box .detail_inner .detail_inner_box p {
  margin: 5px 0 0;
  line-height: 1.6;
}

.post_single {
  padding: 3rem 0;
}
.post_single .wrap {
  max-width: 960px;
  margin: 0 auto;
}
.post_single .wrap img {
  width: 100%;
  height: auto;
  margin: 2% 0;
}
.post_single .post_thumbnail {
  margin-bottom: 1.5rem;
}
.post_single .post_title_area {
  margin: 0 0 40px;
  padding: 0 0 20px;
  border-bottom: 1px solid #eee;
  text-align: center;
}
.post_single .post_title_area .post_category {
  margin: 0;
  font-size: 1.4rem;
  color: #888;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.post_single .post_title_area .post_category span {
  margin: 0 10px 0 0;
}
.post_single .post_title_area .post_title {
  margin: 0;
  font-size: 2.8rem;
  font-weight: bold;
}
.post_single .post_content {
  font-size: 1.6rem;
  line-height: 1.9;
  color: #444;
}
.post_single .post_content p {
  margin-bottom: 2rem;
}
.post_single .post_content h2, .post_single .post_content h3, .post_single .post_content h4 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  line-height: 1.4;
  font-weight: bold;
  color: #111;
}
.post_single .post_content h2 {
  font-size: 2.2rem;
}
.post_single .post_content h3 {
  font-size: 2rem;
}
.post_single .post_content h4 {
  font-size: 1.8rem;
}

/* ********* pagination ********** */
.pagination {
  width: 100%;
  margin: 0 0 30px;
}
@media screen and (min-width: 768px) {
  .pagination {
    margin: 0 0 80px;
  }
}

.pager .cube_pagination {
  margin: 30px 0 0 0;
  padding: 0;
  text-align: center;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1%;
}

.pager .cube_pagination li {
  padding: 0;
  width: 40px;
  height: 40px;
  text-align: center;
  position: relative;
}

.pager .cube_pagination li a {
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 1.6rem;
  display: table;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: #fff;
  color: #333;
  border-radius: 0;
}
@media screen and (min-width: 768px) {
  .pager .cube_pagination li a {
    border-radius: 10px;
    background: #c4dbf0;
  }
}

.pager .cube_pagination li a span {
  display: table-cell;
  vertical-align: middle;
}

.pager .cube_pagination li a:hover {
  color: #fff;
  background: #2592f1;
}

.pager .cube_pagination li a.active {
  color: #fff;
  background: #444;
}

@media only screen and (max-width: 767px) {
  .pager .cube_pagination li {
    display: none;
  }
  .pager .cube_pagination li.pre,
  .pager .cube_pagination li.next {
    display: inline-block;
    width: 40%;
    height: 50px;
    text-align: center;
  }
  .pager .cube_pagination li.pre a,
  .pager .cube_pagination li.next a {
    width: 100%;
    background-color: #eee;
  }
  .pager .cube_pagination li.pre span::after {
    content: "　前のページへ";
  }
  .pager .cube_pagination li.next span::before {
    content: "次のページへ　";
  }
}