.pc_only {
  display: block;
}

.sp_only {
  display: none;
}

@media (max-width: 767px) {
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
}
.fadein {
  opacity: 0;
  -webkit-transform: translate(0, 20px);
          transform: translate(0, 20px);
}
.fadein.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

ol {
  list-style-type: none;
}
ol li {
  padding-left: 1.3em;
  text-indent: -1.3em;
}
@media (max-width: 767px) {
  ol li {
    padding-left: 1.4em;
    text-indent: -1.2em;
  }
}
ol li ul {
  margin-left: -0.5em;
}

a:hover, a:active {
  opacity: 0.8;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
a.pdf_icon::after {
  content: "";
  width: 18px;
  height: 20px;
  background: url(../images/common/pdf_icon.svg) no-repeat top left/100% auto;
  display: inline-block;
  vertical-align: middle;
  margin-left: 6px;
}

@media (max-width: 767px) {
  img {
    width: 100%;
    height: auto;
  }
  img.isms_logo {
    width: 150px;
    height: auto;
  }
}

.tar {
  text-align: right;
}

.tac {
  text-align: center;
}

@media (max-width: 767px) {
  .tal_sp {
    text-align: left;
  }
}

.fz18 {
  font-size: 18px;
}

.inner {
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .inner {
    width: 86.67%;
  }
}
.inner .copy {
  font-size: 18px;
  display: table;
  margin: 0 auto 70px;
  line-height: 2.2;
  text-align: center;
}
@media (max-width: 767px) {
  .inner .copy {
    font-size: 13px;
    margin-bottom: 50px;
  }
}
.inner .block {
  font-size: 16px;
  border-top: solid 1px #c8c8c8;
  padding: 30px 0;
}

.inner .block p{
 padding-bottom: 1em;
}
.inner .block p:last-of-type{
 padding-bottom: 0;
}
@media (max-width: 767px) {
  .inner .block {
    border-top: solid 1px #c8c8c8;
    padding: 20px 0;
    font-size: 12px;
  }
}
.inner .block:last-of-type {
  border-bottom: solid 1px #c8c8c8;
}
@media (max-width: 767px) {
  .inner .block:last-of-type {
    border-bottom: solid 1px #c8c8c8;
  }
}
.inner .block.first {
  border-top-color: #c8c8c8;
}
.inner .block.first p, .inner .block.first li {
  font-size: 18px;
}
@media (max-width: 767px) {
  .inner .block.first p, .inner .block.first li {
    font-size: 13px;
  }
}
.inner .block.first ol {
  margin: 30px auto 30px 1em;
}
.inner .block.b_none {
  border-bottom: none;
}
.inner .block p, .inner .block li {
  line-height: 2;
  font-size: 16px;
}
@media (max-width: 767px) {
  .inner .block p, .inner .block li {
    font-size: 12px;
    letter-spacing: 0.05em;
  }
}
.inner .block > ul > li {
  margin-bottom: 10px;
}
.inner .block ol > li {
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .inner .block ol > li {
    margin-bottom: 8px;
  }
}
.inner .block ol > li:last-of-type {
  margin-bottom: 0;
}
.inner .block h2, .inner .block h3 {
  color: #1f2c5c;
  font-weight: bold;
}
.inner .block h2 {
  font-size: 24px;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .inner .block h2 {
    font-size: 15px;
    margin-bottom: 8px;
  }
}
.inner .block h3 {
  font-size: 16px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .inner .block h3 {
    font-size: 13px;
    margin-bottom: 5px;
  }
}
.inner .block ul a, .inner .block ol a, .inner .block p a {
  color: #008be1;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .inner .block .mt30 {
    margin-top: 15px;
  }
}
.inner:last-of-type .block h2 {
  margin-bottom: 0;
}
.inner:last-of-type .block:last-of-type {
  border-bottom: solid 1px #000000;
  margin-bottom: 120px;
}
#contact .inner:last-of-type .block:last-of-type {
  margin-bottom: 0px;
}
@media (max-width: 767px) {
  .inner:last-of-type .block:last-of-type {
    border-bottom: solid 1px #000000;
  }
}
.inner:first-of-type .block h2 {
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .inner:first-of-type .block h2 {
    margin-bottom: 8px;
  }
}

#wrapper {
  min-width: 1280px;
  margin: 0 auto;
  width: 100%;
  margin-top: 83px;
}
@media (max-width: 767px) {
  #wrapper {
    min-width: 100%;
    margin-top: 50px;
  }
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1200px;
  background-color: #fff;
  z-index: 12;
  -webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
}
@media (max-width: 767px) {
  header {
    min-width: 100%;
    height: 50px;
    -webkit-box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.16);
            box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.16);
  }
}
header .inner {
  max-width: 100%;
  width: 90%;
  margin: 0 auto;
  padding: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  header .inner {
    padding: 13px 0 14px;
  }
}
@media (max-width: 767px) {
  header .inner #logo {
    width: 80px;
  }
}
header .inner nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
}
@media (min-width: 768px) {
  header .inner nav {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
header .inner nav.touch ul li a:hover::before {
  display: none;
}
@media (max-width: 767px) {
  header .inner nav {
    position: fixed;
    top: 50px;
    left: 0;
    width: 100%;
    background: #fff;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-top: solid #c8c8c8 1px;
    padding: 0 0 30px;
    display: none;
    -webkit-box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.09);
            box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.09);
  }
}
header .inner nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
}
@media (max-width: 767px) {
  header .inner nav ul {
    width: 100%;
    font-size: 14px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 20px;
    border-bottom: solid #c8c8c8 1px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #1f2c5c;
  }
}
header .inner nav ul li {
  margin-right: 30px;
}
header .inner nav ul li a {
  position: relative;
}
header .inner nav ul li a::before {
  content: "";
  border-bottom: solid 2px #1f2c5c;
  width: 0;
  height: 1px;
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
header .inner nav ul li a:hover::before, header .inner nav ul li a:active::before {
  width: 100%;
}
@media (max-width: 767px) {
  header .inner nav ul li a:hover::before, header .inner nav ul li a:active::before {
    display: none;
  }
}


@media (max-width: 767px) {
  header .inner nav ul li a.blank_icon::before {
    display: block;
    top: 16px;
    left: 106px;
    font-size: 11px;
    height: auto;
  }
}
header .inner nav ul li a.blank_icon::after {
  content: "";
  width: 15px;
  height: 13px;
  background: url(../images/common/blank_icon_01.svg) no-repeat top left/100% auto;
  display: inline-block;
  margin-left: 5px;
}
@media (max-width: 767px) {
  header .inner nav ul li a.blank_icon::after {
    background: url(../images/common/blank_icon_01.svg) no-repeat top left/100% auto;
  }
}
@media (max-width: 767px) {
  header .inner nav ul li {
    width: 100%;
    border-bottom: solid 1px #f0f0f0;
    margin-right: 0;
    text-align: left;
  }
  header .inner nav ul li a {
    display: block;
    padding: 15px;
    color: #231815;
  }
}
@media (max-width: 767px) {
  header .inner nav .btn {
    margin-top: 30px;
  }
}
header .inner nav .btn a {
  padding: 10px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #1f2c5c;
  color: #fff;
  border-radius: 50px;
  display: block;
}
@media (max-width: 767px) {
  header .inner nav .btn a {
    font-size: 14px;
    padding: 14px 40px;
  }
}
@media (max-width: 767px) {
  header .inner #menu_btn, header .inner #menu_btn span {
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  header .inner #menu_btn {
    position: relative;
    width: 27px;
    height: 20px;
    background: none;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    margin-top: 3px;
  }
  header .inner #menu_btn span {
    position: absolute;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #1f2c5c;
  }
  header .inner #menu_btn span:nth-of-type(1) {
    top: 0;
  }
  header .inner #menu_btn span:nth-of-type(2) {
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  header .inner #menu_btn span:nth-of-type(3) {
    bottom: 0;
  }
  header .inner #menu_btn.active span:nth-of-type(1) {
    top: 50%;
    -webkit-transform: translateY(50%) rotate(-45deg);
            transform: translateY(50%) rotate(-45deg);
  }
  header .inner #menu_btn.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .inner #menu_btn.active span:nth-of-type(3) {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(50%) rotate(45deg);
            transform: translateY(50%) rotate(45deg);
  }
}

#mv {
  width: 100%;
  height: 352px;
  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;
  background-color: #1f2c5c;
}
@media (max-width: 767px) {
  #mv {
    height: 150px;
  }
}
#mv h1 {
  font-family: "Rajdhani", sans-serif;
  font-size: 56px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  #mv h1 {
    font-size: 35px;
  }
}
#mv h1 span {
  font-size: 14px;
  font-weight: normal;
  display: block;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  #mv h1 span {
    font-size: 11px;
  }
}

#main {
  padding: 80px 0 0;
  font-size: 14px;
  text-align: left;
}
#top #main {
  text-align: center;
}
@media (max-width: 767px) {
  #main {
    font-size: 13px;
    padding: 70px 0 0;
  }
}

h1 {
  opacity: 0;
  -webkit-transform: translate(0, 20px);
          transform: translate(0, 20px);
}
h1.active {
  opacity: 1;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}


 #pagetop {
  color: #1f2c5c;
  font-family: "Rajdhani", sans-serif;
  display: inline-block;
  cursor: pointer;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 30px;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
   #pagetop {
    font-size: 15px;
  }
}
 #pagetop span {
  width: 28px;
  height: 28px;
  border: 3px solid;
  border-color: #1f2c5c #1f2c5c transparent transparent;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  display: block;
  margin: 0 auto;
  position: relative;
  top: 0;
  transition: .5s;
}
 #pagetop:hover span {
  top: -5px;
 }
@media (max-width: 767px) {
   #pagetop span {
    width: 12px;
    height: 12px;
  }
    #pagetop:hover span {
      top: 0px;
    }
}
footer .kse_footer .inner, footer .kg_footer .inner {
  max-width: 100%;
  width: 90%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
footer .kse_footer > .logo {
  margin: 0 auto;
}
@media (max-width: 767px) {
  footer .kse_footer .inner, footer .kg_footer .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer .kse_footer > .logo {
    margin-top: 40px;
  }
}
footer .kse_footer .inner ul, footer .kg_footer .inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
footer .kse_footer {
  background-color: #dbe3eb;
  padding: 70px 0 55px;
  position: relative;
}
@media (max-width: 767px) {
  footer .kse_footer {
    padding: 60px 0 40px;
  }
}
@media (max-width: 767px) {
  footer .kse_footer .inner .logo {
    width: 172px;
    margin-bottom: 30px;
  }
}
footer .kse_footer .inner nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
          justify-content: space-between;
  font-size: 16px;
  color: #1f2c5c;
  letter-spacing: 0.2em;
  font-weight: 500;
  max-width: 700px;
  width: 100%;
}
@media (max-width: 767px) {
  footer .kse_footer .inner nav {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    line-height: 3em;
    font-size: 14px;
    flex-direction: column;
  }
}
footer .kse_footer .inner nav.touch a:hover::before {
  display: none;
}
footer .kse_footer .inner nav a {
  position: relative;
}
footer .kse_footer .inner nav a::before {
  content: "";
  border-bottom: solid 2px #1f2c5c;
  width: 0;
  height: 1px;
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

footer .kse_footer .inner nav a:hover::before {
  width: 100%;
}
@media (max-width: 767px) {
  footer .kse_footer .inner nav a:hover::before {
    display: none;
  }
}
footer .kse_footer .inner nav.touch ul li a:hover::before {
  display: none;
}
footer .kse_footer .inner nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
          max-width: 170px;
  width: 100%;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
footer .kse_footer .inner nav ul:first-of-type{
  max-width: 235px;
}
@media (max-width: 767px) {
  footer .kse_footer .inner nav ul:first-of-type{
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  footer .kse_footer .inner nav ul {
    max-width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-bottom: 0;
  }
}
footer .kse_footer .inner nav ul:nth-of-type(2) li:nth-of-type(2) {
  margin-bottom: 20px;
}
footer .kse_footer .inner nav ul:nth-of-type(3) li {
  margin-bottom: 18px;
}
footer .kse_footer .inner nav ul li {
  margin-bottom: 3px;
}

@media (max-width: 767px) {
footer .kse_footer .inner nav ul:nth-of-type(2) li:nth-of-type(2) {
  margin-bottom: 0px;
}
footer .kse_footer .inner nav ul:nth-of-type(3) li {
  margin-bottom: 0px;
}
footer .kse_footer .inner nav ul li {
  margin-bottom: 0;
}
}
@media (max-width: 767px) {
  footer .kse_footer .inner nav ul li {
    margin-right: 0;
    line-height: 1.85;
  }
  footer .kse_footer .inner nav ul li.detail_menu_ttl {
    margin-top: 4%;
  }
}
footer .kse_footer .inner nav ul li .detail_menu {
  font-size: 14px;
  color: #000000;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  footer .kse_footer .inner nav ul li .detail_menu {
    font-size: 12px;
  }
}
footer .kse_footer .inner nav ul li:last-of-type {
  margin-right: 0;
}

footer .kse_footer .inner nav ul li a.blank_icon::after {
  content: "";
  width: 15px;
  height: 13px;
  background: url(../images/common/blank_icon_01_blue.svg) no-repeat top left/100% auto;
  display: inline-block;
  margin-left: 5px;
}
footer .kse_footer .inner nav ul li a.detail_menu.blank_icon::after {
  content: "";
  width: 15px;
  height: 13px;
  background: url(../images/common/blank_icon_01.svg) no-repeat top left/100% auto;
  display: inline-block;
  margin-left: 5px;
}

footer .kg_footer {
  background-color: #1f2c5c;
  padding: 30px 0;
}
@media (max-width: 767px) {
  footer .kg_footer {
    padding: 20px 0;
  }
}
footer .kg_footer .inner {
  font-size: 12px;
  color: #fff;
}
@media (max-width: 767px) {
  footer .kg_footer .inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 10px;
  }
}
@media (max-width: 767px) {
  footer .kg_footer .inner .logo {
    width: 204px;
    margin-bottom: 40px;
  }
}
footer .kg_footer .inner nav {
  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: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 767px) {
  footer .kg_footer .inner nav {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
footer .kg_footer .inner nav ul {
  margin-bottom: 8px;
}
footer .kg_footer .inner nav ul li {
  border-right: solid #fff 1px;
  padding-right: 15px;
  margin-right: 15px;
}
footer .kg_footer .inner nav ul li:last-of-type {
  border-right: none;
  padding-right: 0;
  margin-right: 0;
}
@media (max-width: 767px) {
footer .kg_footer .inner p{
  letter-spacing: 0em;
}
}

body#top #main {
  padding-top: 130px;
  overflow: hidden;
}
@media (max-width: 767px) {
  body#top #main {
    padding-top: 0;
  }
}
body#top #main > .inner {
  padding-top: 70px;
  max-width: 100%;
  width: 100%;
}
body#top #mv {
  background: #1f2c5c url(../images/top/main_img_01_pc.jpg) no-repeat top center/100% auto;
  height: 612px;
  position: relative;
  z-index: 5;
}
body#top #mv h1 {
  font-size: 24px;
  color: #fff;
  font-weight: bold;
  text-shadow: 0 0 10px #2b198480;
}
@media (max-width: 767px) {
  body#top #mv h1 {
    font-size: 16px;
  }
}
body#top #mv h1 span {
  font-size: 100px;
  font-family: "Rajdhani", sans-serif;
  font-weight: bold;
  line-height: 1.1;
  display: block;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  body#top #mv h1 span {
    font-size: 50px;
  }
}
@media (max-width: 767px) {
  body#top #mv {
    background: #1f2c5c url(../images/top/main_img_01_sp.jpg) no-repeat top center/100% auto;
    height: 0;
    padding: 59.334% 0;
  }
}
body#top section.column {
  padding-bottom: 240px;
  position: relative;
}
@media (max-width: 767px) {
  body#top section.column {
    padding-bottom: 100px;
  }
  body#top section#solution.column {
    padding-bottom: 75px;
  }
}
body#top section.column:last-of-type {
  padding-bottom: 360px;
}
@media (max-width: 767px) {
  body#top section.column:last-of-type {
    padding-bottom: 100px;
  }
}
body#top section.column:nth-of-type(even) > .inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 767px) {
  body#top section.column:nth-of-type(even) > .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top section.column:nth-of-type(even) > .inner picture {
  margin-right: auto;
  margin-left: -13.3%;
}
@media (max-width: 767px) {
  body#top section.column:nth-of-type(even) > .inner picture {
    margin-left: auto;
    right: auto;
    left: 0%;
  }
}
body#top section.column > .inner.flex_col picture {
  margin-right: -68.6%;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  body#top section.column>.inner.flex_col picture {
    margin: 0;
    right: 0;
    left: 0%;
    text-align: right;
  }
  body#top section.column>.inner.flex_col picture img{
   width: 80%;
   margin-left: auto;
  }
}
body#top section.column > .inner.flex_col picture:last-of-type {
  margin-right: 38%;
  position: relative;
  z-index: 1;
  margin-top: -215px;
}
@media (max-width: 767px) {
  body#top section.column > .inner.flex_col picture:last-of-type{
    margin: -11% 0 0;
    right: auto;
    left: 0%;
    text-align: left;
  }
}

@media (max-width: 767px) {
  body#top section.column > .inner.flex_col picture:first-of-type::before{
    content: none;
  }
}



body#top section.column:nth-of-type(even) > .inner picture::before {
  right: 0;
  left: 0;
}
body#top section.column > .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 100%;
  width: 79%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
          position: relative;
          z-index: 1;
}
body#top section.column > .inner.flex_col {
  flex-direction: column;
}
body#top section.column>.inner::after {
  content: "";
  width: 59%;
  height: 108%;
  position: absolute;
  display: block;
  background: url(../images/top/top_bg_pc.png) no-repeat;
  background-size: cover;
  z-index: -1;
}
@media (max-width: 767px) {
  body#top section.column>.inner::after {
    width: 95%;
    height: 39.5%;
  }
}
body#top section#about.column>.inner::after {
  top: -205px;
  right: -5.5%;
}
@media (max-width: 767px) {
  body#top section#about.column>.inner::after {
    top: -10%;
    right: -54.5%;
  }
}
body#top section#solution.column>.inner::after {
  top: -20%;
  left: -13%;
}
@media (max-width: 767px) {
  body#top section#solution.column>.inner::after {
    top: 75%;
    left:0;
    height:57%;
  }
}
body#top section#original.column>.inner::after {
  top: 26.5%;
  right: -15.5%;
  height: 49.5%;
}
@media (max-width: 767px) {
  body#top section#original.column>.inner::after {
    top: 30%;
    right:-65%;
    height:43%;
  }
}
body#top section#sustainability.column>.inner::after {
  top: -36%;
  left: -13%;
}
@media (max-width: 767px) {
  body#top section#sustainability.column>.inner::after {
    top: 60.5%;
    left:1%;
    height:57%;
  }
}
body#top section#recruit.column>.inner::after {
  top: -38%;
  right: -13%;
  height: 80.5%;
}
@media (max-width: 767px) {
  body#top section#recruit.column>.inner::after {
    top: 61.5%;
    right: auto;
    left:0%;
    height:88%;
  }
}
.recruit_bg {
  width: 46.6%;
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 24%;
}
.recruit_bg img {
  width: 100%;
}
body#top section#contact::after {
  content: "";
  width: 46.7%;
  height: 79.5%;
  position: absolute;
  display: block;
  background: url(../images/top/top_bg_pc.png) no-repeat;
  background-size: cover;
  z-index: -1;
  right: -280px;
  top: 260px;
}
@media (max-width: 767px) {
  body#top section#contact::after {
    width: 95%;
    top: 60.5%;
    right: -61%;
    height: 76%;
  }
}

@media (max-width: 767px) {
  body#top section.column > .inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top section.column > .inner .item {
  margin: 0 auto;
  text-align: justify;
}
@media (max-width: 767px) {
  body#top section.column > .inner .item {
    width: 100%;
  }
}
body#top section.column > .inner.flex_col .item {
  margin: 0% auto 1%;
  padding-top: 18%;
}

body#top section.column > .inner.flex_col .item_inner_flex {
  display: flex;
/*  width: 720px; */
  width: 960px;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  body#top section.column>.inner.flex_col .item_inner_flex{
   align-items: center;
   width: 100%;
   flex-direction: column;
  }
}
@media (max-width: 767px) {
  body#top section.column > .inner .item {
    width: 86.667%;
  }
}
body#top section.column > .inner picture {
  width: 58%;
  min-width: 586px;
  position: relative;
  margin-right: -13.3%;
}
body#top section#recruit.column > .inner picture {
  margin-right: 0%;
}
@media (max-width: 767px) {
  body#top section.column > .inner picture {
    min-width: 100%;
    margin-top: 50px;
    margin-right: auto;
    right: 0%;
  }
}
body#top section.column > .inner picture img {
  width: 100%;
  position: relative;
  z-index: 10;
}

body#top section.column > .inner picture::before {
  content: "";
  width: 92%;
  height: 100%;
  position: absolute;
  display: block;
  background-color: #dbe3eb99;
  right: 0;
  bottom: -10%;
}
body#top section.column > .inner.flex_col picture:last-of-type:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  background-color: #dbe3eb99;
  right: -7%;
  bottom: -10%;
}
@media (max-width: 767px) {
  body#top section.column > .inner.flex_col picture:last-of-type:before {
    content: "";
    width: 80%;
    right: 14.5%;
    bottom: -10%;
  }
    body#top section.column>.inner.flex_col picture:last-of-type::after {
      content: "";
      width: 80%;
      height: 100%;
      position: absolute;
      display: block;
      background-color: #dbe3eb99;
      right: 0%;
      top: -68%;
    }
}
body#top section.column > .inner h2 {
  font-size: 48px;
  color: #000000;
  font-family: "Rajdhani", sans-serif;
  font-weight: bold;
  margin-bottom: 50px;
}
body#top section.column > .inner.flex_col h2 {
  text-align: center;
}
@media (max-width: 767px) {
  body#top section.column > .inner h2 {
    font-size: 35px;
    margin-bottom: 20px;
  }
}
body#top section.column > .inner h2 span {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  font-size: 14px;
  color: #000;
}
@media (max-width: 767px) {
  body#top section.column > .inner h2 span {
    font-size: 11px;
  }
}
body#top section.column > .inner p {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 50px;
  font-weight: 400;
}
@media (max-width: 767px) {
  body#top section.column > .inner p {
    font-size: 13px;
    margin-bottom: 30px;
    line-height: 2.5;
    letter-spacing: 0.01em;
  }
}
body#top section.column > .inner .btn {
  width: 240px;
  margin-bottom: 20px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  background-color: #fff;
}
body#top section.column > .inner.flex_col .btn {
/*  width: 340px; */
  width: 290px;
  margin-bottom: 20px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  background-color: #fff;
}
@media (max-width: 767px) {
  body#top section.column > .inner.flex_col .btn {
    width: 100%;
  }
}
body#top section.column > .inner .btn:hover {
  background-color: #dbe3eb;
}
body#top section.column > .inner .btn:hover a::after {
  right: 18px;
}
@media (max-width: 767px) {
  body#top section.column > .inner .btn {
    margin-bottom: 12px;
    width: 100%;
  }
}
body#top section.column > .inner .btn:last-of-type {
  margin-bottom: 0;
}
body#top section.column > .inner .btn a {
  padding: 15px;
  display: block;
  border: solid 1px #828282;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  body#top section.column > .inner .btn a {
    font-size: 14px;
  }
}
body#top section.column > .inner .btn a::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #000 #000 transparent transparent;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(0, -50%);
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

body#top section#recruit {
   padding-bottom: 200px;
}
body#top section#recruit .inner {
  flex-direction: column;
}
body#top section#recruit .recruit_box {
  -webkit-transition: 0.8s;
    transition: 0.8s;
}
body#top section#recruit .item_inner {
  text-align: center;
}
body#top section#recruit .item_inner h2{
  margin-bottom: 30px;
}
body#top section#recruit.column picture img{
  max-width: 960px;
}
body#top section#recruit.column picture::before{
  content: none;
}
@media (max-width: 767px) {
  body#top section#recruit {
      padding-bottom: 27%;
    }

    body#top section#recruit.column picture img {
      max-width: 86.5%;
    }

    body#top section#recruit.column picture::before {
      content: none;
    }
}
body#top section#contact {
  position: relative;
  padding-bottom: 200px;
}
@media (max-width: 767px) {
  body#top section#contact {
    padding-bottom: 30%;
  }
}
body#top section#contact .inner {
  max-width: 960px;
  width: 100%;
  background: url(../images/top/top_contact_bg_01_pc.jpg) no-repeat center center/100% auto;
  height: 400px;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  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;
          position: relative;
}
@media (max-width: 767px) {
  body#top section#contact .inner {
    width: 86.67%;
    background: url(../images/top/top_contact_bg_01_sp.jpg) no-repeat center center/100% auto;
    height: 66vw;
  }
}
body#top section#contact .inner:hover,
body#top section#recruit .recruit_box:hover{
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
@media (max-width: 767px) {
  body#top section#contact .inner:hover,
  body#top section#recruit .recruit_box:hover {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
body#top section#contact .inner h2 {
  color: #fff;
  font-size: 48px;
  font-family: "Rajdhani", sans-serif;
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  body#top section#contact .inner h2 {
    font-size: 35px;
    margin-bottom: 20px;
  }
}
body#top section#contact .inner h2 span {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  font-size: 14px;
}
@media (max-width: 767px) {
  body#top section#contact .inner h2 span {
    font-size: 11px;
  }
}
body#top section#contact .inner p {
  line-height: 1;
  background-color: #fff;
  padding: 12px 50px;
  font-size: 18px;
  border-radius: 50px;
}
@media (max-width: 767px) {
  body#top section#contact .inner p {
    font-size: 12px;
    padding: 12px 20px;
  }
}

body .ttl_block {
  margin: 0 auto 85px;
}
@media (max-width: 767px) {
  body .ttl_block {
    margin: 0 auto 55px;
  }
}
body .ttl_block h2 {
  font-size: 48px;
  color: #000000;
  font-weight: bold;
  font-family: "Rajdhani", sans-serif;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  body .ttl_block h2 {
    font-size: 32px;
  }
}
body .ttl_block h2 span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  color: #000;
}
@media (max-width: 767px) {
  body .ttl_block h2 span {
    font-size: 11px;
  }
}





body#about #content{
  overflow: hidden;
}
body#about #main {
  padding-top: 0;
}
body#about #main > .inner {
  max-width: 100%;
  width: 100%;
}
body#about .ta-r {
  text-align: right;
  display: block;
  font-weight: bold;
  margin-top: 10px;
}
body#about #mv {
  background: #1f2c5c url(../images/about/main_img_01_pc.jpg) no-repeat top right/auto 100%;
}
@media (max-width: 767px) {
  body#about #mv {
    background: #1f2c5c url(../images/about/main_img_01_sp.jpg) no-repeat top right/auto 100%;
  }
}
body#about section#message {
  background: url(../images/about/about_bg_01_pc.jpg) no-repeat bottom center/cover;
  padding: 100px 0 150px;
}
@media (max-width: 767px) {
  body#about section#message {
    padding: 40px 0 0px;
    background: url(../images/about/about_bg_01_sp.jpg) no-repeat bottom 41% center/100% auto;
  }
}
body#about section#message .inner {
  max-width: 100%;
  width: 100%;
}
@media (max-width: 767px) {
  body#about section#message .inner {
    width: 100%;
  }
}
body#about section#message .inner h2, body#about section#message .inner p {
  text-align: center;
}
@media (max-width: 767px) {
  body#about section#message .inner h2, body#about section#message .inner p {
    text-align: left;
  }
}
body#about section#message .inner h2 {
  font-family: "Rajdhani", sans-serif;
  font-size: 68px;
  margin-bottom: 50px;
  line-height: 1.4;
  font-weight: bold;
}
@media (max-width: 767px) {
  body#about section#message .inner h2 {
    font-size: 40px;
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
    line-height: 1.2;
  }
}
body#about section#message .inner h2 span{
  display: block;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media (max-width: 767px) {
  body#about section#message .inner h2 span{
    font-size: 18px;
    line-height: 1.6;
  }
}
body#about section#message .inner .about_top_flex{
  display: flex;
  justify-content: center;
  margin-top: 90px;
}
@media (max-width: 767px) {
  body#about section#message .inner .about_top_flex{
    flex-direction: column;
    margin-top: 50px;
  }
}
body#about section#message .inner p {
  font-size: 18px;
  line-height: 2.2;
  text-align: justify;
  margin-top: -10px;
}
@media (max-width: 767px) {
  body#about section#message .inner p {
    font-size: 13px;
    letter-spacing: 0.03em;
    width: 88%;
    margin: 0 auto;
  }
}
body#about section#message .inner p  span{
  font-family: "Rajdhani", sans-serif;
  font-size: 48px;
  line-height: 2.2;
  font-weight: bold;
  display: block;
  margin: 5px 0 10px;
}
@media (max-width: 767px) {
  body#about section#message .inner p span{
    font-size: 22.5px;
  }
}
body#about section#message .inner .about_top_img{
  position: relative;
  right: -9.6%;

}
@media (max-width: 767px) {
  body#about section#message .inner .about_top_img{
    margin-top: 45px;
    right: 0;
  }
}


body#about section#strengths {
  background-color: #dbe3eb;
  padding: 115px 0 135px;
}
@media (max-width: 767px) {
  body#about section#strengths {
    padding: 55px 0 71%;
    position: relative;
    z-index: 5;
  }
}
body#about section#strengths .inner {
  max-width: 100%;
  width: 100%;
}
body#about section#strengths .inner .point {
  margin: 0 auto 84px;
  position: relative;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point {
    margin: 0 auto 65vw;
  }
}
body#about section#strengths .inner .point:last-of-type {
  margin-bottom: 0;
}
body#about section#strengths .inner .point:nth-of-type(odd) .point_inner {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
body#about section#strengths .inner .point:nth-of-type(odd) .point_inner .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point:nth-of-type(odd) .point_inner .txt {
    -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;
  }
}
body#about section#strengths .inner .point:nth-of-type(odd) .point_inner .txt .txt_inner {
  margin-right: 0;
}
body#about section#strengths .inner .point:nth-of-type(odd) .point_inner .pic {
  margin-left: -43%;
  margin-right: auto;
  left: -6%;
  right: 0;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point:nth-of-type(odd) .point_inner .pic {
    margin-right: auto;
    margin-left: 0;
    left: 0;
    right: auto;
  }
}
body#about section#strengths .inner .point .point_inner {
  max-width: 1117px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point .point_inner {
    width: 86.6667%;
  }
}
body#about section#strengths .inner .point .txt {
  background: #fff;
  width: 910px;
  padding: 80px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point .txt {
    width: 100%;
    padding: 8% 8% 18%;
  }
}
body#about section#strengths .inner .point .txt .txt_inner {
  width: 99%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body#about section#strengths .inner .point .txt h3 {
  font-size: 25px;
  font-weight: bold;
  color: #1f2c5c;
  vertical-align: bottom;
  font-family: "Rajdhani", sans-serif;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point .txt h3 {
    font-size: 16px;
  }
}
body#about section#strengths .inner .point .txt h3 span {
  font-size: 38px;
  font-weight: bold;
  margin-right: 15px;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point .txt h3 span {
    font-size: 32px;
  }
}
body#about section#strengths .inner .point .txt h4 {
  font-size: 25px;
  font-weight: 500;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point .txt h4 {
    font-size: 16px;
    margin-bottom: 15px;
    letter-spacing: 0.02em;
  }
}
body#about section#strengths .inner .point .txt p {
  font-size: 16px;
  line-height: 2.2;
  text-align: justify;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point .txt p {
    font-size: 12px;
    letter-spacing: 0.05em;
  }
}
body#about section#strengths .inner .point .pic {
  width: 120%;
  min-width: 584px;
  margin-right: -43%;
  position: relative;
  right: -6%;
}
@media (max-width: 767px) {
  body#about section#strengths .inner .point .pic {
    bottom: -50.7vw;
    -webkit-transform: none;
            transform: none;
    width: 77.867%;
    position: absolute;
    min-width: auto;
    margin-right: auto;
    right: 0;
  }
}

body#about section#top_message {
  position: relative;
  padding-top: 120px;
  padding-bottom: 200px;
}

@media (max-width: 767px) {
  body#about section#top_message {
    padding-top: 25%;
    padding-bottom: 21%;
  }
}

body#about section#top_message .inner {
  max-width: 960px;
  width: 100%;
  background: url(../images/about/top_message_bg_pc.jpg) no-repeat center center/100% auto;
  height: 400px;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  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;
  position: relative;
}

@media (max-width: 767px) {
  body#about section#top_message .inner {
    width: 86.67%;
    background: url(../images/about/top_message_bg_sp.jpg) no-repeat center center/100% auto;
    height: 66vw;
  }
}

body#about section#top_message .inner:hover{
  -webkit-transform: scale(1.01);
  transform: scale(1.01);
}

@media (max-width: 767px) {

  body#about section#top_message .inner:hover{
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

body#about section#top_message .inner h2 {
  color: #fff;
  font-size: 48px;
  font-family: "Rajdhani", sans-serif;
  text-align: center;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  body#about section#top_message .inner h2 {
    font-size: 35px;
    margin-bottom: 15px;
    margin-top: 50px;
  }
}

body#about section#top_message .inner h2 span {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  font-size: 14px;
}

@media (max-width: 767px) {
  body#about section#top_message .inner h2 span {
    font-size: 11px;
  }
}

body#about section#top_message .inner p {
  line-height: 1;
  background-color: #fff;
  font-size: 18px;
  padding: 15px;
  display: block;
  border: solid 1px #828282;
  text-align: center;
  position: relative;
}
body#about section#top_message .inner p::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #000 #000 transparent transparent;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(0, -50%);
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

body#about section#top_message>.inner a:hover p::after {
  right: 18px;
}

@media (max-width: 767px) {
  body#about section#top_message .inner p {
    width: 80%;
    font-size: 15px;
  }
}
.code_bg {
  width: 46.5%;
  position: absolute;
  z-index: -1;
}
.code_bg img {
  width: 100%;
}
.top_message_bg_01 {
  top: 3%;
  left: 0;
}
.top_message_bg_02 {
  top: 22%;
  right: -22%;
}
@media (max-width: 767px) {
  .code_bg {
      width: 95%;
    }
    .top_message_bg_01 {
      top: -47%;
      left: 0;
    }
    .top_message_bg_02 {
      top: 56%;
      right: -61%;
    }
}








body#about.greeting #mv {
  background: #1f2c5c url(../images/about/main_img_02_pc.jpg) no-repeat top right/auto 100%;
}
body#about.greeting #main {
  position: relative;
}

@media (max-width: 767px) {
  body#about.greeting #mv{
    background: #1f2c5c url(../images/about/main_img_02_sp.jpg) no-repeat top right/auto 100%;
  }
}
body#about section#strengths .inner .point .pic img {
  max-width: 100%;
  width: 100%;
}
body#about section#greeting {
  padding: 210px 0 300px;
}
@media (max-width: 767px) {
  body#about section#greeting {
    padding: 50px 0 70px;

  }
}
body#about section#greeting .inner {
  position: relative;
}
@media (max-width: 767px) {
  body#about section#greeting .inner .ttl_block {
    margin-bottom: 20px;
  }
}
body#about section#greeting .inner .greeting_inner {
  width: 100%;
}
@media (max-width: 767px) {
  body#about section#greeting .inner .greeting_inner {
    width: 100%;
  }
}
body#about section#greeting .inner .greeting_inner .txt .ttl_block {
  margin: 0px auto 300px;
  padding-top: 30px;
  position: relative;
}
@media (max-width: 767px) {
  body#about section#greeting .inner .greeting_inner .txt .ttl_block {
    margin: 0px auto 129%;
  }
}
body#about section#greeting .inner .greeting_inner .txt .ttl_block::after {
  content: "";
  mix-blend-mode: multiply;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
body#about section#greeting .inner .greeting_inner .txt .ttl_block h3 {
  line-height: 2;
  color: #1f2c5c;
  font-size: 35px;
  font-weight: 500;
  padding: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 1;
  position: relative;
}
@media (max-width: 767px) {
  body#about section#greeting .inner .greeting_inner .txt .ttl_block h3 {
    font-size: 17px;
    padding: 0;
    letter-spacing: 0em;
    margin-top: -7vw;
  }
}
body#about section#greeting .inner .greeting_inner .txt p {
  max-width: 786px;
  line-height: 2.1;
  letter-spacing: 0.05em;
  font-size: 18px;
  text-align: justify;
}

@media (max-width: 767px) {
  body#about section#greeting .inner .greeting_inner .txt p {
    font-size: 13px;
    letter-spacing: 0.04em;
  }
}
body#about section#greeting .inner .greeting_inner .txt p
.ta-r {
  margin-top: 40px;
}

@media (max-width: 767px) {
  body#about section#greeting .inner .greeting_inner .txt p .ta-r{
    font-size: 12px;
  }
}

body#about section#greeting .inner .greeting_inner .pic {
  position: absolute;
  top: 0px;
  right: -17%;
}
body#about section#greeting .inner .greeting_inner .pic::after {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #dbe3eb;
  position: absolute;
  top: 40px;
  left: -40px;
  z-index: -1;
}
@media (max-width: 767px) {
  body#about section#greeting .inner .greeting_inner .pic {
    top: 15.5%;
    right: -8%;
    width: 88.5%;
    margin: 0 0 0 auto;
  }
  body#about section#greeting .inner .greeting_inner .pic::after {
    width: 100%;
    top: 25px;
    left: -25px;
  }
}

.greeting_bg_01 {
  top: 77%;
}
.greeting_bg_02{
  right: 0;
  top: 41%;
}
@media (max-width: 767px) {
  body#about.greeting  .code_bg {
    width: 79%;
  }
  .greeting_bg_01 {
    top: 85.5%;
  }
  .greeting_bg_02{
    right: -29%;
    top: 38.5%;
  }
}







body#about .company h1 {
  letter-spacing: 0.05em;
}
body#about section#profile {
  padding: 70px 0 0;
}
@media (max-width: 767px) {
  body#about section#profile {
    padding-top: 0;
  }
}
body#about section#profile .ttl_block{
  margin: 0;
}
@media (max-width: 767px) {
  body#about section#profile .ttl_block {
    margin-top: 35px;
  }
}
body#about section#profile .inner dl {
  font-size: 16px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 1.8;
}
@media (max-width: 767px) {
  body#about section#profile .inner dl {
    font-size: 12px;
  }
}
body#about section#profile .inner dl dt {
  color: #1f2c5c;
  font-weight: bold;
}
body#about section#profile .inner > dl {
  border-top: solid 1px #c8c8c8;
  padding: 30px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl {
    padding: 15px 0;
  }
}
body#about section#profile .inner > dl:last-of-type {
  border-bottom: solid 1px #c8c8c8;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dt {
    width: 80px;
  }
}
body#about section#profile .inner > dl > dd {
  width: 760px;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd {
    width: calc(100% - 80px);
    letter-spacing: 0.01em;
  }
}
body#about section#profile .inner > dl > dd ul li {
  border-bottom: solid 1px #c8c8c8;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
body#about section#profile .inner > dl > dd ul li.detail_flex {
  display: flex;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li.detail_flex {
   flex-direction: column;
  }
}
body#about section#profile .inner > dl > dd ul li span{
  color: #1f2c5c;
  font-weight: bold;
  display: inline-block;
  width: 200px;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li span{
    width: 100%;
  }
}
body#about section#profile .inner > dl > dd ul li span a{
  display: inline-block;
  font-size: 12px;
  font-weight: normal;
  position: relative;
}
body#about section#profile .inner > dl > dd ul li span a::before {
  content: "";
  border-bottom: solid 2px #1f2c5c;
  width: 0;
  height: 1px;
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
body#about section#profile .inner > dl > dd ul li span a:hover::before {
  width: 100%;
}
body#about section#profile .inner > dl > dd ul li span a.blank_icon::after {
  content: "";
  width: 12px;
  height: 10px;
  background: url(../images/common/blank_icon_01_blue.svg) no-repeat top left/100% auto;
  display: inline-block;
  margin-left: 3px;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li span{
    width: 100%;
  }
  body#about section#profile .inner > dl > dd ul li span.isms_logo{
    margin-bottom: 10px;
  }
  body#about section#profile .inner > dl > dd ul li span a::before {
    width: 100%;
    margin-top: 10px;
  }
}
body#about section#profile .inner > dl > dd ul li dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
}
body#about section#profile .inner > dl > dd ul li dl:last-of-type {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: left;
    position: relative;
    padding-bottom: 20px;
    border-bottom: 1px solid #c8c8c8;
  }
    body#about section#profile .inner>dl>dd ul li dl:last-of-type {
      border: none;
    }
}
body#about section#profile .inner > dl > dd ul li dl dt {
  width: 70px;
  margin-right: 20px;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li dl dt {
    width: auto;
  }
}
body#about section#profile .inner > dl > dd ul li dl dd:first-of-type {
  width: calc(100% - 50px - 20px);
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li dl dd:first-of-type {
    width: 100%;
  }
}
body#about section#profile .inner > dl > dd ul li dl dd:last-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
body#about section#profile .inner > dl > dd ul li dl dd .btn {
  width: 160px;
  background-color: #1f2c5c;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li dl dd .btn {
    font-size: 10px;
    width: 36%;
    margin-top: 10px;
  }
}
body#about section#profile .inner > dl > dd ul li dl dd .btn a {
  color: #fff;
  display: block;
  padding: 5px;
  text-align: center;
  position: relative;
}
body#about section#profile .inner > dl > dd ul li dl dd .btn a::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #fff #fff transparent transparent;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(0, -50%);
  position: absolute;
  right: 20px;
  top: 50%;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li dl dd .btn a::after {
    right: 10px;
    width: 4px;
    height: 4px;
  }
}
body#about section#profile .inner > dl > dd ul li dl dd .btn2 {
  width: 140px;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li dl dd .btn2 {
    width: 100px;
    margin-top: 10px;
  }
}

body#about section#profile .inner > dl > dd ul li dl dd .btn2 a {
  color: #1f2c5c;
  display: block;
  padding: 0;
  text-align: center;
  position: relative;
}
body#about section#profile .inner > dl > dd ul li dl dd .btn2 a::before {
  content: "";
  border-bottom: solid 2px #1f2c5c;
  width: 0;
  height: 1px;
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

body#about section#profile .inner > dl > dd ul li dl dd .btn2 a:hover::before {
  width: 100%;
}

body#about section#profile .inner > dl > dd ul li dl dd .btn2 a.blank_icon::after {
  content: "";
  width: 15px;
  height: 13px;
  background: url(../images/common/blank_icon_01_blue.svg) no-repeat top left/100% auto;
  display: inline-block;
  margin-left: 5px;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li dl dd .btn2 a::before {
    width: 100%;
  }
}

@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li {
    padding-bottom: 20px;
    margin-bottom: 15px;
  }
}
body#about section#profile .inner > dl > dd ul li h3 {
  color: #1f2c5c;
  font-weight: bold;
  margin-bottom: 5px;
  text-align: left;
  font-size: 16px;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li h3 {
    margin-bottom: 2px;
    font-size: 12px;
  }
}
body#about section#profile .inner > dl > dd ul li:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  body#about section#profile .inner > dl > dd ul li:last-of-type {
    margin-bottom: 5px;
  }
}
body#about section#profile .inner#history {
  margin-top: 185px;
}
@media (max-width: 767px) {
  body#about section#profile .inner#history {
    margin-top: 95px;
  }
}
body#about section#profile .inner h3 {
  color: #1f2c5c;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 35px;
}
@media (max-width: 767px) {
  body#about section#profile .inner h3 {
    font-size: 15px;
    margin-bottom: 18px;
  }
}

body#about section#dispatch_banner {
  position: relative;
  margin-top: 240px;
  padding-bottom: 200px;
}

@media (max-width: 767px) {
  body#about section#dispatch_banner {
    margin-top: 25%;
    padding-bottom: 19%;
  }
}

body#about section#dispatch_banner .inner {
  max-width: 960px;
  width: 100%;
  background: url(../images/about/csr_banner_bg_pc.jpg) no-repeat center center/100% auto;
  height: 400px;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  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;
  position: relative;
}

@media (max-width: 767px) {
  body#about section#dispatch_banner .inner {
    width: 86.67%;
    background: url(../images/about/csr_banner_bg_sp.jpg) no-repeat center center/100% auto;
    height: 66vw;
  }
}

body#about section#dispatch_banner .inner:hover {
  -webkit-transform: scale(1.01);
  transform: scale(1.01);
}

@media (max-width: 767px) {

  body#about section#dispatch_banner .inner:hover{
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

body#about section#dispatch_banner .inner h2 {
  color: #fff;
  font-size: 48px;
  font-family: "Rajdhani", sans-serif;
  text-align: center;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  body#about section#dispatch_banner .inner h2 {
    font-size: 35px;
    margin-bottom: 20px;
  }
}

body#about section#dispatch_banner .inner h2 span {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  font-size: 14px;
}

@media (max-width: 767px) {
  body#about section#dispatch_banner .inner h2 span {
    font-size: 11px;
  }
}

body#about section#dispatch_banner .inner p {
  line-height: 1;
  background-color: #fff;
  padding: 12px 50px;
  font-size: 18px;
  border-radius: 50px;
}

@media (max-width: 767px) {
  body#about section#dispatch_banner .inner p {
    font-size: 12px;
    padding: 12px 20px;
  }
}
.dispatch_bg_01 {
  top: -17%;
}
.dispatch_bg_02 {
  right: -23%;
  top: -5%;
}

@media (max-width: 767px) {
  .dispatch_bg_01 {
    top: -26%;
  }
  .dispatch_bg_02 {
    right: -60%;
    top: 47%;
  }
}



body#about  #dispatch .inner{
  max-width: 960px;
  margin: 90px auto 0;
}
@media (max-width: 767px) {
  body#about  #dispatch .inner{
    margin: 45px auto 0;
  }
}
body#about #dispatch .inner .ttl_block {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  body#about #dispatch .inner .ttl_block {
    margin-bottom: 15px;
  }
}
body#about #dispatch .inner .ttl_block h3{
  text-align: center;
  color: #1f2c5c;
  font-size: 20px;
  font-weight: bold;
}
@media (max-width: 767px) {
  body#about #dispatch .inner .ttl_block h3{
    font-size: 14px;
  }
}
body#about #dispatch .inner p{
  text-align: center;
  color: #000000;
  font-size: 18px;
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  body#about #dispatch .inner p{
    font-size: 13px;
    line-height: 2.1;
    text-align: justify;
  }
}
body#about #dispatch .inner .dispatch_img{
  text-align: center;
  margin-top: 120px;
}
@media (max-width: 767px) {
  body#about #dispatch .inner .dispatch_img{
    margin-top: 55px;
  }
}


body#about #dispatch_chart {
  margin-top: 90px;
}
@media (max-width: 767px) {
  body#about #dispatch_chart {
    margin-top: 30px;
  }
}
body#about #dispatch_chart .inner p{
  text-align: right;
  color: #1f2c5c;
  font-size: 14px;
  font-weight: bold;
}
@media (max-width: 767px) {
  body#about #dispatch_chart .inner p{
    font-size: 10px;
  }
}
body#about #dispatch_chart .inner dl{
  display: flex;
  border-top: 1px solid #c8c8c8;
}
body#about #dispatch_chart .inner dl:last-of-type{
  border-bottom: 1px solid #c8c8c8;
}
body#about #dispatch_chart .inner dt{
/*  max-width: 280px;
  width: 100%; */
  flex-basis: calc( 100% / 3 );
  font-size: 16px;
  color: #1f2c5c;
  font-weight: bold;
  letter-spacing: 0;
  padding: 12px 0;
  text-indent: -1em;
    padding-left: 1em;
    border-right: 1px solid #c8c8c8;
}
@media (max-width: 767px) {
  body#about #dispatch_chart .inner dt{
/*  max-width: 33%; */
    font-size: 11px;
    padding: 12px 0;
    text-indent: -1em;
    padding-left: 1em;
    padding-right: 10px;
    text-align: justify;
    box-sizing: border-box;
  }
}
body#about #dispatch_chart .inner dd{
/*    max-width: 340px;
  width: 100%; */
  flex-basis: calc( 100% / 3 * 2 / 3 );
  text-align: center;
  box-sizing: border-box;
  padding: 12px 0;
  font-size: 16px;
}
@media (max-width: 767px) {
  body#about #dispatch_chart .inner dd{
    max-width: 100%;
    padding: 12px 0;
    font-size: 11px;
    align-self: center;
  }
  body#about #dispatch_chart .inner dl:nth-of-type(7) dd{
    padding: 20.4px 0;
  }
}

body#about #dispatch_chart .inner dd.txt_l{
  flex-basis: calc( 100% / 3 * 2 );
  text-align: left;
  padding-left: 15px;
  max-width: 100%;
  letter-spacing: 0em;
}
@media (max-width: 767px) {
  body#about #dispatch_chart .inner dd.txt_l{
    padding-left: 8px;
    letter-spacing: -0.01em;
  }
}
body#about #dispatch_chart .inner dd:first-of-type{
  /* border-right: 1px solid #c8c8c8; */
  border-left: none;
}
body#about #dispatch_chart .inner dd{
  border-left: 1px solid #c8c8c8;
}

body#about #dispatch_chart .inner dd.place_name {
  color: #1f2c5c;
  font-weight: bold;
}
/*
body#about #dispatch_chart .inner dd:last-of-type{
  border-right: none;
}
*/



body#about #dispatch_breakdown  {
  margin-top: 110px;
  padding-bottom: 200px;
}
@media (max-width: 767px) {
  body#about #dispatch_breakdown  {
    margin-top: 70px;
    padding-bottom: 125px;
  }
}
body#about #dispatch_breakdown h4 {
  font-size: 16px;
  font-weight: bold;
  color: #1f2c5c;
  text-align: center;
}
@media (max-width: 767px) {
  body#about #dispatch_breakdown h4 {
    font-size: 14px;
  }
}

body#about #dispatch_breakdown .dispatch_breakdown_cnotents{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 45px;
}
@media (max-width: 767px) {
  body#about #dispatch_breakdown .dispatch_breakdown_cnotents{
    flex-direction: column;
    margin-top: 15px;
  }
}

@media (max-width: 767px) {
  body#about #dispatch_breakdown .dispatch_breakdown_cnotents .dispatch_img {
    max-width: 83%;
    margin: 0 auto;
  }
}

body#about #dispatch_breakdown .dispatch_breakdown_detail{
  max-width: 520px;
  width: 100%;
  background-color: #dbe3eb;
  box-sizing: border-box;
  padding: 45px 40px 10px;
  position: relative;
}
@media (max-width: 767px) {
  body#about #dispatch_breakdown .dispatch_breakdown_detail{
    max-width: 100%;
    padding: 25px 25px 10px;
    margin-top: 20px;
  }
}
body#about #dispatch_breakdown .dispatch_breakdown_detail::after {
  content: '';
  width: 0px;
  height: 0px;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-right: 80px solid #dbe3eb;
  position: absolute;
  top: 100px;
  left: -78px;
}
@media (max-width: 767px) {
  body#about #dispatch_breakdown .dispatch_breakdown_detail::after {
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 98px solid #dbe3eb;
    top: -110px;
    left: 87%;
  }
}
body#about #dispatch_breakdown .dispatch_breakdown_detail dl{
  display: flex;
  margin-bottom: 35px;
}
@media (max-width: 767px) {
  body#about #dispatch_breakdown .dispatch_breakdown_detail dl{
    margin-bottom: 18px;
  }
}

body#about #dispatch_breakdown .dispatch_breakdown_detail dl dt{
  color: #1f2c5c;
  font-size: 16px;
  font-weight: bold;
  max-width: 135px;
  width: 100%;
}
@media (max-width: 767px) {
  body#about #dispatch_breakdown .dispatch_breakdown_detail dl dt{
    font-size: 11px;
    max-width: 30%;
  }
}
body#about #dispatch_breakdown .dispatch_breakdown_detail dl dd{
  font-size: 16px;
}
@media (max-width: 767px) {
  body#about #dispatch_breakdown .dispatch_breakdown_detail dl dd{
    font-size: 11px;
    letter-spacing: 0.05em;
  }
}
body#about #dispatch_breakdown .dispatch_breakdown_detail dl dd:nth-last-of-type(2){
  max-width: 120px;
  width: 100%;
  display: inline-block;
}
@media (max-width: 767px) {
  body#about #dispatch_breakdown .dispatch_breakdown_detail dl dd:nth-last-of-type(2){
    max-width: 30%;
  }
}





body#access #main {
  padding-top: 100px;
}
@media (max-width: 767px) {
  body#access #main {
    padding-top: 70px;
    padding-bottom: 150px;
  }
}
body#access #main > .inner {
  max-width: 100%;
  width: 100%;
}
body#access #mv {
  background: #1f2c5c url(../images/access/main_img_01_pc.jpg) no-repeat top right/auto 100%;
}
@media (max-width: 767px) {
  body#access #mv {
    background: #1f2c5c url(../images/access/main_img_01_sp.jpg) no-repeat top right/auto 100%;
  }
}
body#access section .item {
  width: 100%;
  position: relative;
  margin-bottom: 180px;
}
@media (max-width: 767px) {
  body#access section .item {
    margin-bottom: 20%;
  }
}
body#access section .item:last-of-type {
  margin-bottom: 260px;
}
@media (max-width: 767px) {
  body#access section .item:last-of-type {
    margin-bottom: 0;
  }
}
body#access section .item:nth-of-type(even)::after {
  right: 0;
  left: auto;
}
body#access section .item:nth-of-type(even) > .inner {
  -webkit-box-shadow: 8px 8px 20px rgba(41, 91, 163, 0.2);
          box-shadow: 8px 8px 20px rgba(41, 91, 163, 0.2);
  margin: 0 auto 0 0;
}
@media (max-width: 767px) {
  body#access section .item:nth-of-type(even) > .inner {
    -webkit-box-shadow: 2px 2px 10px rgba(41, 91, 163, 0.2);
            box-shadow: 2px 2px 10px rgba(41, 91, 163, 0.2);
  }
}
body#access section .item:nth-of-type(even) > .inner ul {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 767px) {
  body#access section .item:nth-of-type(even) > .inner ul {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
body#access section .item:nth-of-type(even) > .inner ul li:first-of-type {
  margin-left: 0;
  margin-right: -40px;
}
@media (max-width: 767px) {
  body#access section .item:nth-of-type(even) > .inner ul li:first-of-type {
    margin-right: 0;
  }
}
body#access section .item:nth-of-type(even) > .inner ul li:last-of-type {
  margin-left: -40px;
}
@media (max-width: 767px) {
  body#access section .item:nth-of-type(even) > .inner ul li:last-of-type {
    margin-left: auto;
  }
}
body#access section .item::after {
  content: "";
  width: calc(100% + 80px);
  height: 100%;
  bottom: -80px;
  left: -80px;
  position: absolute;
  background: #dbe3eb;
}
@media (max-width: 767px) {
  body#access section .item::after {
    width: 105%;
    bottom: -5%;
    left: -5%;
  }
}
body#access section .item > .inner {
  width: calc(100% - 80px);
  margin: 0 0 0 auto;
  max-width: 100%;
  position: relative;
  z-index: 1;
  background: #fff;
  -webkit-box-shadow: -8px 8px 20px rgba(41, 91, 163, 0.2);
          box-shadow: -8px 8px 20px rgba(41, 91, 163, 0.2);
  padding: 80px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 767px) {
  body#access section .item > .inner {
    width: 93.334%;
    -webkit-box-shadow: -2px 2px 10px rgba(41, 91, 163, 0.2);
            box-shadow: -2px 2px 10px rgba(41, 91, 163, 0.2);
    padding: 5% 6.667% 8%;
  }
}
body#access section .item > .inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 960px;
  margin: 0 auto;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  body#access section .item > .inner ul {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
body#access section .item > .inner ul li:first-of-type {
  margin-left: -40px;
}
@media (max-width: 767px) {
  body#access section .item > .inner ul li:first-of-type {
    margin-left: 0;
  }
}
body#access section .item > .inner ul li:last-of-type {
  margin-right: -40px;
}
@media (max-width: 767px) {
  body#access section .item > .inner ul li:last-of-type {
    margin-right: 0;
  }
}
body#access section .item > .inner ul li h2 {
  font-size: 28px;
  font-weight: bold;
  color: #1f2c5c;
}
@media (max-width: 767px) {
  body#access section .item > .inner ul li h2 {
    font-size: 18px;
  }
}
body#access section .item > .inner ul li h2 span {
  display: block;
  font-size: 20px;
}
@media (max-width: 767px) {
  body#access section .item > .inner ul li h2 span {
    font-size: 13px;
  }
}
body#access section .item > .inner ul li dl {
  width: 413px;
  font-size: 16px;
  padding: 20px 0;
  border-bottom: solid 1px #dbe3eb;
}
@media (max-width: 767px) {
  body#access section .item > .inner ul li dl {
    width: 100%;
    font-size: 12px;
    padding: 15px 0;
  }
}
body#access section .item > .inner ul li dl:first-of-type {
  padding-top: 0;
}
@media (max-width: 767px) {
  body#access section .item > .inner ul li dl:first-of-type {
    margin-top: 9%;
  }
}
body#access section .item > .inner ul li dl dt {
  font-size: 20px;
  color: #1f2c5c;
  font-weight: 500;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  body#access section .item > .inner ul li dl dt {
    font-size: 14px;
  }
}









body#contact .red_txt {
  color: #ff0000;
}
body#contact #mv {
  background: #1f2c5c url(../images/contact/main_img_01_pc.jpg) no-repeat top right/auto 100%;
}
@media (max-width: 767px) {
  body#contact #mv {
    background: #1f2c5c url(../images/contact/main_img_01_sp.jpg) no-repeat top right/auto 100%;
  }
}
@media (max-width: 767px) {
  body#contact #main .inner .copy {
    text-align: left;
    text-align: justify;
  }
}
body#contact #main .inner .block.txt_box ul {
  margin-left: 0;
}
body#contact #main .inner .block.txt_box ul .red_txt {
  color: #ff0000;
}
body#contact #main .inner .block.txt_box ul a {
  color: #0075c2;
}
body#contact #main .inner .block.txt_box ul li {
  margin-bottom: 0;
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
}
@media (max-width: 767px) {
  body#contact #main .inner .block.txt_box ul li {
    font-size: 12px;
  }
}
body#contact #main .inner .block ul {
  margin-left: 1em;
}
body#contact #main .inner .block ol li ul {
  margin-left: 0;
}
body#contact #main .inner .block table {
  width: 100%;
}
@media (max-width: 767px) {
  body#contact #main .inner .block table tr {
    display: block;
  }
}
body#contact #main .inner .block table tr th {
  color: #1f2c5c;
  font-size: 16px;
  font-weight: bold;
  width: 100%;
  display: block;
  vertical-align: top;
  padding-bottom: 10px;
}
@media (max-width: 767px) {
  body#contact #main .inner .block table tr th {
    font-size: 13px;
    padding-bottom: 5px;
  }
}
body#contact #main .inner .block table tr th span {
  font-size: 12px;
  color: #000000;
  margin-left: 1em;
}
@media (max-width: 767px) {
  body#contact #main .inner .block table tr th span {
    font-size: 11px;
  }
}
body#contact #main .inner .block table tr th span.require {
  margin-left: 0;
  color: #ff0000;
}
body#contact #main .inner .block table tr td {
  width: 100%;
  display: block;
  margin-bottom: 20px;
}
body#contact #main .inner .block table tr td.w100per input, body#contact #main .inner .block table tr td.w100per textarea, body#contact #main .inner .block table tr td.w100per select {
  width: 100%;
}
body#contact #main .inner .block table tr td.sel_arrow {
  position: relative;
  display: inline-block;
  width: auto;
}
body#contact #main .inner .block table tr td.sel_arrow::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 18px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
  pointer-events: none;
}
@media (max-width: 767px) {
  body#contact #main .inner .block table tr td.sel_arrow::after {
    top: 16px;
  }
}
body#contact #main .inner .block table tr td input, body#contact #main .inner .block table tr td textarea, body#contact #main .inner .block table tr td select {
  width: 600px;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 18px;
  border-radius: 10px;
  border: solid 1px #c8c8c8;
  background-color: #eaeff9;
}
@media (max-width: 767px) {
  body#contact #main .inner .block table tr td input, body#contact #main .inner .block table tr td textarea, body#contact #main .inner .block table tr td select {
    width: 100%;
    font-size: 14px;
  }
}
body#contact #main .inner .block table tr td select {
  width: auto;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 10px 30px 10px 10px;
}
body#contact #main .inner .block table tr td textarea {
  resize: vertical;
}
body#contact #main .inner:last-of-type .block:last-of-type {
  border-bottom: none;
}
body#contact #main .inner .btn_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 880px;
  margin: 60px auto 150px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  body#contact #main .inner .btn_list {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
            margin: 60px auto 100px;
  }
}
body#contact #main .inner .btn_list li {
  border: solid 1px #828282;
  width: 420px;
  text-align: center;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}
body#contact #main .inner .btn_list li:hover {
  background-color: #dbe3eb;
}
@media (max-width: 767px) {
  body#contact #main .inner .btn_list li {
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
  }
  body#contact #main .inner .btn_list li:first-of-type {
    margin-bottom: 20px;
  }
}
body#contact #main .inner .btn_list li a {
  padding: 20px 0;
  display: block;
  position: relative;
}
@media (max-width: 767px) {
  body#contact #main .inner .btn_list li a {
    padding: 15px 0;
    font-size: 13px;
  }
}
body#contact #main .inner .btn_list li a::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #565656 #565656 transparent transparent;
  -webkit-transform: rotate(45deg) translate(0, -50%);
          transform: rotate(45deg) translate(0, -50%);
  position: absolute;
  right: 25px;
  top: 50%;
}
body#contact #main .inner .btn_list li input {
  padding: 20px 0;
  display: block;
  position: relative;
  border: none;
  background-color: transparent;
  width: 100%;
  height: 100%;
  font-size: 16px;
  cursor: pointer;
  color: #000;
  font-weight: normal;
}
@media (max-width: 767px) {
  body#contact #main .inner .btn_list li input {
    font-size: 13px;
    padding: 15px 0;
  }
}
body#contact #main .inner .btn_list.form_btn {
  width: 500px;
  margin: 60px auto 150px;
}
@media (max-width: 767px) {
  body#contact #main .inner .btn_list.form_btn {
    width: 100%;
    margin-bottom: 150px;
  }
}
body#contact #main .inner .btn_list.form_btn li {
  width: 240px;
  position: relative;
}
@media (max-width: 767px) {
  body#contact #main .inner .btn_list.form_btn li {
    width: 100%;
  }
}
body#contact #main .inner .btn_list.form_btn li::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #565656 #565656 transparent transparent;
  -webkit-transform: rotate(45deg) translate(0, -50%);
          transform: rotate(45deg) translate(0, -50%);
  position: absolute;
  right: 25px;
  top: 50%;
}
body#contact #main .inner .btn_list.form_btn li.arrow_none::after {
  display: none;
}
body#contact #main .inner .btn_list.form_btn li.back_btn::after {
  border: 1px solid;
  border-color: transparent transparent #565656 #565656;
  -webkit-transform: rotate(45deg) translate(0, -50%);
          transform: rotate(45deg) translate(0, -50%);
  position: absolute;
  right: auto;
  left: 25px;
  top: 50%;
}
body#contact #main .inner .btn_list.form_btn.back_list {
  width: auto;
  display: table;
  margin: 60px auto 0;
}
@media (max-width: 767px) {
  body#contact #main .inner .btn_list.form_btn.back_list {
    width: 100%;
  }
}
body#contact #main .inner .block table tr td input:-webkit-autofill,
body#contact #main .inner .block table tr td textarea:-webkit-autofill,
body#contact #main .inner .block table tr td select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px white inset;
  box-shadow: 0 0 0 1000px white inset;
}

body#group #content{
  overflow: hidden;
}
body#group h1{
  letter-spacing: 0.05em;
}

body#group #mv {
  background: #1f2c5c url(../images/group/main_img_01_pc.jpg) no-repeat top right/auto 100%;
}
@media (max-width: 767px) {
  body#group #mv {
    background: #1f2c5c url(../images/group/main_img_01_sp.jpg) no-repeat top right/auto 100%;
  }
}
body#group #main > .inner {
  max-width: 100%;
  width: 100%;
  position: relative;
}

body#group #main > .inner p {
  line-height: 2.2;
}
@media (max-width: 767px) {
  body#group #main > .inner p {
    text-align: left;
  }
}
body#group #main > .inner .group_figure_01 {
  margin: 200px auto;
}
@media (max-width: 767px) {
  body#group #main > .inner .group_figure_01 {
    margin: 24% auto 32%;
  }
}
body#group #main > .inner .group_more_box {
  background: url(../images/group/group_bg_01_pc.jpg) no-repeat center center/100% auto;
  width: 100%;
  height: 400px;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  margin-bottom: 200px;
}
@media (max-width: 767px) {
  body#group #main > .inner .group_more_box {
    background: url(../images/group/group_bg_01_sp.jpg) no-repeat center center/100% auto;
    height: 66vw;
    margin-bottom: 75px;
  }
}
body#group #main > .inner .group_more_box:hover {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
@media (max-width: 767px) {
  body#group #main > .inner .group_more_box:hover {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
body#group #main > .inner .group_more_box a {
  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;
  width: 100%;
  height: 100%;
}
body#group #main > .inner .group_more_box a p {
  line-height: 1;
  background-color: #fff;
  padding: 12px 50px;
  font-size: 18px;
  border-radius: 50px;
}
@media (max-width: 767px) {
  body#group #main > .inner .group_more_box a p {
    font-size: 12px;
  }
}
.group_bg_01 {
  top: 7.5%;
}
.group_bg_02 {
  top: 93%;
  right: -22%;
}
@media (max-width: 767px) {
  .group_bg_01 {
    top: 18%;
  }
  .group_bg_02 {
    top: 88.5%;
    right: -59%;
  }
}


body#policy #mv,
body#quality #mv {
  background: #1f2c5c url(../images/privacy/main_img_01_pc.jpg) no-repeat top right/auto 100%;
}
@media (max-width: 767px) {
  body#policy #mv,
  body#quality #mv {
    background: #1f2c5c url(../images/privacy/main_img_01_sp.jpg) no-repeat top right/auto 100%;
  }
}
body#policy .block,
body#quality .block {
  border: none;
  padding: 0;
}
body#privacy #mv {
  background: #1f2c5c url(../images/privacy/main_img_01_pc.jpg) no-repeat top right/auto 100%;
}
@media (max-width: 767px) {
  body#privacy #mv {
    background: #1f2c5c url(../images/privacy/main_img_01_sp.jpg) no-repeat top right/auto 100%;
  }
}
body#privacy #main {
  text-align: left;
  text-align: justify;
}
body#privacy #main .inner .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  body#privacy #main .inner .menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#privacy #main .inner .menu li {
  border: solid 1px #828282;
  width: 23.8095238095%;
  text-align: center;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media (max-width: 767px) {
  body#privacy #main .inner .menu li {
    width: 100%;
    margin-bottom: 15px;
    font-size: 13px;
  }
  body#privacy #main .inner .menu li:last-of-type {
    margin-bottom: 0;
  }
}
body#privacy #main .inner .menu li.current, body#privacy #main .inner .menu li:hover {
  background-color: #dbe3eb;
}
body#privacy #main .inner .menu li a {
  display: block;
  padding: 20px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #1f2c5c;
  font-weight: 400;
  position: relative;
}
body#privacy #main .inner .menu li a::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #1f2c5c #1f2c5c transparent transparent;
  -webkit-transform: rotate(45deg) translate(0, -50%);
          transform: rotate(45deg) translate(0, -50%);
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
}
@media (max-width: 767px) {
  body#privacy #main .inner .menu li a::after {
    width: 10px;
    height: 10px;
  }
}
body#privacy #main .inner .block:first-of-type {
  border-top-color: #1f2c5c;
}
body#privacy #main .inner .block ul {
  margin-left: 1em;
}
body#privacy #main .inner .block ul.menu_flex {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  body#privacy #main .inner .block ul.menu_flex {
    display: block;
  }
}
@media (max-width: 767px) {
  body#privacy #main .inner .block ul {
    letter-spacing: 0.05em;
  }
}
body#privacy #main .inner .block ul.list {
  text-indent: 0;
  padding-left: 0;
}
body#privacy #main .inner .block ul li {
  text-indent: -1.4em;
  padding-left: 1.4em;
}
@media (max-width: 767px) {
  body#privacy #main .inner .block ul li.txt_indent {
    text-indent: 0em;
    padding-left: 0em;
  }
  body#privacy #main .inner .block ul li.txt_indent_2 {
    text-indent: -1.4em;
    padding-left: 1.7em;
  }
  body#privacy #main .inner .block ul li {
    text-indent: -1.2em;
    padding-left: 1.5em;
  }
  body#privacy #main .inner .block ul.detail li {
    text-indent: -1em;
    padding-left: 1em;
  }
  body#privacy #main .inner .block p.txt_indent {
    text-indent: 0em;
  }
}

body#privacy #main .inner .block ul.menu_flex li {
  width: 16%;
}
body#privacy #main .inner .block ul.menu_flex li:nth-child(2) {
  width: 24%;
}
@media (max-width: 767px) {
  body#privacy #main .inner .block ul.menu_flex li {
    width: 100%;
  }
  body#privacy #main .inner .block ul.menu_flex li:nth-child(2) {
    width: 100%;
  }
}

body#privacy #main .inner .block ul li .marker {
  background-color: #dbe3eb;
  padding: 6px 1.5em;
  text-indent: 0;
  margin-left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  text-indent: -1.5em;
  padding-left: 3em;
}
@media (max-width: 767px) {
  body#privacy #main .inner .block ul li .marker {
    padding: 6px 8px 6px 2em;
  }
}
body#privacy #main .inner .block ul.list li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
body#privacy #main .inner .block .item {
  border-top: dotted 2px #c8c8c8;
  padding: 30px 0;
}
body#privacy #main .inner .block .item:first-of-type {
  margin-top: 30px;
}
body#privacy #main .inner .block .item:last-of-type {
  padding-bottom: 0;
}



body#sustainability #content {
  overflow: hidden;
}
body#sustainability #main {
  padding-top: 0;
}

body#sustainability #main>.inner {
  max-width: 100%;
  width: 100%;
}

body#sustainability .ta-r {
  text-align: right;
  display: block;
  font-weight: bold;
  margin-top: 10px;
}

body#sustainability #mv {
  background: #1f2c5c url(../images/sustainability/main_img_01_pc.jpg) no-repeat top right/auto 100%;
}

@media (max-width: 767px) {
  body#sustainability #mv {
    background: #1f2c5c url(../images/sustainability/main_img_01_sp.jpg) no-repeat top right/auto 100%;
  }
}


body#sustainability section#sustainability_top {
  padding: 80px 0 0px;
  text-align: center;
}
@media (max-width: 767px) {
  body#sustainability section#sustainability_top .inner{
    width: 100%;
  }
}
@media (max-width: 767px) {
  body#sustainability section#sustainability_top{
    padding-top: 50px;
  }
}
body#sustainability section#sustainability_top .inner h2{
  font-size: 24px;
  color: #1f2c5c;
  line-height: 1.9;
  font-weight: 500;
}
@media (max-width: 767px) {
  body#sustainability section#sustainability_top .inner h2{
    font-size: 18px;
    line-height: 1.8;
  }
}
body#sustainability section#sustainability_top .inner p{
  font-size: 18px;
  line-height: 2.2;
  margin-top: 25px;
  margin-bottom: 115px;
}
@media (max-width: 767px) {
  body#sustainability section#sustainability_top .inner p{
    font-size: 13px;
    line-height: 2;
    text-align: justify;
    width: 87%;
    margin: 0 auto;
    margin-top: 15px;
    margin-bottom: 40px;
  }
}
body#sustainability section#activities {
  padding: 290px 0 220px;
}
@media (max-width: 767px) {
  body#sustainability section#activities {
    padding: 140px 0 120px;
  }
}


body#sustainability section#activities .inner {
  max-width: 100%;
  width: 100%;
}

body#sustainability section#activities .inner .point {
  margin: 0 auto 240px;
  position: relative;
}

@media (max-width: 767px) {
  body#sustainability section#activities .inner .point {
    margin: 0 auto 40vw;
  }
}
body#sustainability section#activities .inner .point::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #dbe3eb;
  position: absolute;
  top: 80px;
  left: 0;
  z-index: -1;
}
@media (max-width: 767px) {
  body#sustainability section#activities .inner .point::before {
    top: 40px;
  }
}

body#sustainability section#activities .inner .point:last-of-type {
  margin-bottom: 0;
}

body#sustainability section#activities .inner .point:nth-of-type(even) .point_inner {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

body#sustainability section#activities .inner .point:nth-of-type(even) .point_inner .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media (max-width: 767px) {
  body#sustainability section#activities .inner .point:nth-of-type(even) .point_inner .txt {
    -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;
  }
}

body#sustainability section#activities .inner .point:nth-of-type(even) .point_inner .txt .txt_inner {
  margin-right: 0;
}

body#sustainability section#activities .inner .point:nth-of-type(even) .point_inner .pic {
  margin-left: -43%;
  margin-right: auto;
  left: -7%;
  right: 0;
}

@media (max-width: 767px) {
  body#sustainability section#activities .inner .point:nth-of-type(even) .point_inner .pic {
    margin-right: auto;
    margin-left: 0;
    left: 0;
    right: auto;
  }
}

body#sustainability section#activities .inner .point .point_inner {
  max-width: 1200px;
  width: 100%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-left: auto;
  box-shadow: 0 0  10px #295ba333;
  position: relative;
}
body#sustainability section#activities .inner .point:nth-of-type(even) .point_inner {
  margin: 0;
  margin-right: auto;
}

@media (max-width: 767px) {
  body#sustainability section#activities .inner .point .point_inner {
    width: 86.6667%;
  }
}

body#sustainability section#activities .inner .point .txt {
  background: #fff;
  width: 910px;
  padding: 80px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0;
}


@media (max-width: 767px) {
  body#sustainability section#activities .inner .point .txt {
    width: 100%;
    padding: 21% 8% 8%;
    flex-direction: column;
  }
}

body#sustainability section#activities .inner .point .txt .txt_inner {
  width: 99%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body#sustainability section#activities .inner .point:nth-of-type(2) .txt .txt_inner {
  position: relative;
  top: 30px;
}
body#sustainability section#activities .inner .point:nth-of-type(3) .txt .txt_inner {
  position: relative;
  top: 30px;
}
body#sustainability section#activities .inner .point:nth-of-type(4) .txt .txt_inner {
  position: relative;
  top: 50px;
}
@media (max-width: 767px) {
  body#sustainability section#activities .inner .point:nth-of-type(2) .txt .txt_inner {
    position: relative;
    top: 0px;
  }
  body#sustainability section#activities .inner .point:nth-of-type(3) .txt .txt_inner {
    position: relative;
    top: 0px;
  }
  body#sustainability section#activities .inner .point:nth-of-type(4) .txt .txt_inner {
    position: relative;
    top: 0px;
  }
}

body#sustainability section#activities .inner .point .txt h3 {
  font-size: 32px;
  font-weight: bold;
  border-bottom: 3px solid #1f2c5c;
  color: #1f2c5c;
  display: inline-block;
  vertical-align: bottom;
  font-family: "Rajdhani", sans-serif;
  margin-bottom: 8px;
}

@media (max-width: 767px) {
  body#sustainability section#activities .inner .point .txt h3 {
    font-size: 21px;
  }
}

body#sustainability section#activities .inner .point .txt h4 {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  body#sustainability section#activities .inner .point .txt h4 {
    font-size: 16px;
  }
}
body#sustainability section#activities .inner .point .txt h4 span {
  font-size: 18px;
  display: block;
}
@media (max-width: 767px) {
  body#sustainability section#activities .inner .point .txt h4 span {
    font-size: 12px;
  }
}

@media (max-width: 767px) {
  body#sustainability section#activities .inner .point .txt h4 {
    font-size: 16px;
    margin-bottom: 15px;
    letter-spacing: 0.02em;
  }
}

body#sustainability section#activities .inner .point .txt p {
  font-size: 16px;
  line-height: 2.2;
  text-align: justify;
}

@media (max-width: 767px) {
  body#sustainability section#activities .inner .point .txt p {
    font-size: 12px;
    letter-spacing: 0.05em;
  }
}

body#sustainability section#activities .inner .point .pic {
  width: 120%;
  min-width: 584px;
  margin-right: -43%;
  position: relative;
  right: -7%;
}

@media (max-width: 767px) {
  body#sustainability section#activities .inner .point .pic {
    bottom: 0;
    -webkit-transform: none;
    transform: none;
    width: 100%;
    position: relative;
    min-width: auto;
    margin-right: auto;
    right: 0;
    margin-top: 20px;
  }
}
body#sustainability section#activities .inner .point .activities_icon {
  width: calc(100% - 80px);
  position: absolute;
  top: -60px;
  left: 80px;
}

body#sustainability section#activities .inner .point .activities_icon img {
  width: 150px;
  margin-right: 10px;
}

body#sustainability section#activities .inner .point .activities_icon img:last-of-type {
  margin-right: 0;
}

@media (max-width: 767px) {
  body#sustainability section#activities .inner .point .activities_icon {
    width: calc(100% - 25px);
    position: absolute;
    left: 25px;
    top: -30px;
  }

  body#sustainability section#activities .inner .point .activities_icon img {
    width: 20%;
  }
}

body#sustainability section#activities .inner .point:nth-of-type(even) .activities_icon  {
  left: auto;
  right: 80px;
  text-align: right;
}
@media (max-width: 767px) {
  body#sustainability section#activities .inner .point:nth-of-type(even) .activities_icon  {
    right: 25px;
  }
}






body#solution #content {
  overflow: hidden;
}
body#solution  h1{
  letter-spacing: 0.05em;
}
body#solution #main  {
  padding: 0;
}

body#solution #main>.inner {
  max-width: 100%;
  width: 100%;
}

body#solution #mv {
  background: #1f2c5c url(../images/solution/main_img_01_pc.jpg) no-repeat top right/auto 100%;
}

@media (max-width: 767px) {
  body#solution #mv {
    background: #1f2c5c url(../images/solution/main_img_01_sp.jpg) no-repeat top right/auto 100%;
  }
}

body#solution section#solution_top .inner {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
  padding-top: 70px;
}
@media (max-width: 767px) {
  body#solution section#solution_top .inner {
    max-width: 87%;
    padding-top: 40px;
  }
}


body#solution section#solution_top .inner h2{
  color: #1f2c5c;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.9;
}
@media (max-width: 767px) {
  body#solution section#solution_top .inner h2{
    font-size: 18px;
    line-height: 1.8;
  }
}
body#solution section#solution_top .inner p{
  font-size: 18px;
  line-height: 2.2;
  margin-top: 25px;
}
@media (max-width: 767px) {
  body#solution section#solution_top .inner p{
    font-size: 13px;
    line-height: 2;
    margin-top: 15px;
    text-align: justify;
  }
}
body#solution section#solution_top  .solution_menu_list {
  margin: 130px auto 0;
}
@media (max-width: 767px) {
  body#solution section#solution_top  .solution_menu_list {
    margin: 40px auto 0;
  }
}
body#solution section#solution_top  .solution_menu_list ul{
  display: flex;
  flex-wrap: wrap;
}
body#solution section#solution_top  .solution_menu_list ul li{
  width: 25%;
}
@media (max-width: 767px) {
  body#solution section#solution_top  .solution_menu_list ul li{
    width: 50%;
  }
  body#solution section#solution_top  .solution_menu_list ul li a:hover{
    opacity: 1;
  }
}

body#solution section#solution_detail{
  margin-top: 150px;
  padding-bottom: 70px;
}
@media (max-width: 767px) {
  body#solution section#solution_detail{
    margin-top: 100px;
    padding-bottom: 70px;
  }
}
body#solution section#solution_detail .point{
  position: relative;
  margin-bottom: 160px;
  z-index: 1;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point{
    margin-bottom: 130px;
  }
}
body#solution section#solution_detail .point::before{
  content: '';
  width: 100%;
  height: 81%;
  background-color: #dbe3eb80;
  position: absolute;
  top: 250px;
  left: 0;
  z-index: -1;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point::before{
    height: 91%;
    top: 85px;
  }
  body#solution section#solution_detail .point:nth-of-type(even)::before{
    height: 92%;
  }
  body#solution section#solution_detail .point:last-of-type::before{
    height: 89%;
  }
}

body#solution section#solution_detail .point .point_inner{
  max-width: 960px;
  width: 100%;
  background-color: #fff;
  position: relative;
    z-index: 5;
  box-shadow: 0 0 10px #295ba333;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point .point_inner{
    max-width: 87%;
  }
}
body#solution section#solution_detail .point:last-of-type  {
  z-index: 0;
}
body#solution section#solution_detail .point:nth-of-type(even) .point_inner{
  margin-left: auto;
}
body#solution section#solution_detail .point .point_inner .txt{
  box-sizing: border-box;
  padding: 45px 0 ;
  max-width: 740px;
  width: 100%;
  margin-left: auto;
  margin-right: 60px;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point .point_inner .txt{
    padding: 20px 0 35px;
    max-width: 84%;
    width: 100%;
    margin: 0 auto;
  }
}
body#solution section#solution_detail .point:nth-of-type(even) .point_inner .txt{
  margin-left: 60px;
  margin-right: auto;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point:nth-of-type(even) .point_inner .txt{
    margin: 0 auto;
  }
}
body#solution section#solution_detail .point .point_inner .txt h3{
  font-size: 24px;
  font-weight: 500;
  color: #1f2c5c;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point .point_inner .txt h3{
    font-size: 17px;
    margin-bottom: 8px;
    letter-spacing: 0;
  }
}
body#solution section#solution_detail .point .point_inner .txt p{
  font-size: 16px;
  text-align: justify;
  line-height: 2.25;
  margin-bottom: 20px;
  word-break: break-all;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point .point_inner .txt p{
    font-size: 12px;
    line-height: 2.1;
    margin-bottom: 20px;
  }
}
body#solution section#solution_detail .point .point_inner .txt .txt_detail{
  border-top: 1px solid #828282;
  border-bottom: 1px solid #828282;
  padding: 10px 0;
}
body#solution section#solution_detail .point .point_inner .txt .txt_detail span{
  font-weight: 500;
  color: #1f2c5c;
}
body#solution section#solution_detail .point .point_inner .txt .txt_detail p{
  margin: 0;
  line-height: 1.8;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point .point_inner .txt .txt_detail p{
    display: flex;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }
  body#solution section#solution_detail .point .point_inner .txt .txt_detail p:not(:last-of-type){
    margin-bottom: 5px;
  }
}
body#solution section#solution_detail .point .point_inner .txt .txt_anchor{
  color: #1f2c5c;
  font-size: 16px;
  text-align: right;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 10px;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point .point_inner .txt .txt_anchor{
    font-size: 12px;
    margin-top: 10px;
  }
}
body#solution section#solution_detail .point .point_inner .txt .txt_anchor a{
  position: relative;
  display: block;
}
body#solution section#solution_detail .point .point_inner .txt .txt_anchor a::after{
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #1f2c5c;
  border-right: 2px solid #1f2c5c;
  transform: rotate(-45deg);
  position: relative;
  top: 5px;
  margin-left: 15px;
}
@media (max-width: 767px) {
  body#solution section#solution_detail .point .point_inner .txt .txt_anchor a::after{
    width: 8px;
    height: 8px;
    border-top: 2px solid #1f2c5c;
    border-right: 2px solid #1f2c5c;
    margin-left: 10px;
    top: 3px;
  }
}
body#solution section#solution_detail .point .code_bg{
  top: 90px;
  right: -200px;
}
body#solution section#solution_detail .point:nth-of-type(even) .code_bg{
  top: 90px;
  right: auto;
  left: 0;
}
body#solution section#solution_detail .point .solution_bg_01{
  top: -100px;
}
body#solution section#solution_detail .point:nth-of-type(even) .solution_bg_02{
  top: -310px;
}
body#solution section#solution_detail .point:nth-of-type(even) .solution_bg_03{
  top: 530px;
  right: -100px;
  left: auto;
}

@media (max-width: 767px) {
  body#solution section#solution_detail .point .code_bg{
    width: 79%;
    top: -50px;
    right: -120px;
  }
  body#solution section#solution_detail .point:nth-of-type(even) .code_bg{
    top: -50px;
    right: auto;
    left: 0;
  }
  body#solution section#solution_detail .point .solution_bg_01{
    top: -50px;
  }
  body#solution section#solution_detail .point:nth-of-type(even) .solution_bg_02{
    top: -50px;
  }
  body#solution section#solution_detail .point:nth-of-type(even) .solution_bg_03{
    top: 400px;
    right: -120px;
    left: auto;
  }
}




body#csr #mv  {
 background: #1f2c5c url(../images/about/main_img_01_pc.jpg) no-repeat top right / auto 100%;
}
body#csr #main .inner  {
 margin-bottom: 120px;
}
body#csr .inner .block {
 border-top: none;
 margin-bottom: 20px;
}
body#csr .inner .block h2{
 text-align: center;
}
body#csr .inner .block p{
 font-size: 18px;
 line-height: 2;
}
body#csr .inner .block .item {
 margin-top: 20px;
}
body#csr .inner .block .item h3{
 font-size: 18px;
 font-weight: bold;
}
body#csr .inner .block .item dl{
 margin-bottom: 10px;
}
body#csr .inner .block .item dt{
 font-size: 18px;
 font-weight: bold;
 padding-left: 1em;
}
body#csr .inner .block .item dd{
 padding-left: 1em;
}
body#csr .inner .right {
 text-align: right;
}


@media (max-width: 767px) {
 body#csr #mv  {
  background: #1f2c5c url(../images/about/main_img_01_sp.jpg) no-repeat top right / auto 100%;
 }
 body#csr #main .inner  {
  margin-bottom: 120px;
 }
 body#csr .inner .block {
  margin-bottom: 15px;
 }
 body#csr .inner .block p{
  font-size: 13px;
 }
 body#csr .inner .block .item {
  margin-top: 15px;
 }
 body#csr .inner .block .item h3{
  font-size: 13px;
 }
 body#csr .inner .block .item dt{
  font-size: 13px;
 }
}
