@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
*/
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box; }

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

address {
  font-style: normal; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* Slider */
/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

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

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

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

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

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

#g-nav {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
  top: 0;
  right: -280px;
  width: 280px;
  height: 100vh;
  /*ナビの高さ*/
  background: #1E4181;
  /*動き*/
  transition: all 0.6s;
  overflow: scroll; }

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
  right: 0; }

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 280px;
  height: 100vh;
  /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

/*ナビゲーション*/
#g-nav ul {
  /*ナビゲーション天地中央揃え*/ }

/*リストのレイアウト設定*/
/*========= ボタンのためのCSS ===============*/
.header__fixed .openbtn {
  top: 30px;
  right: 30px;
  transition: .4s; }
  @media screen and (max-width: 850px) {
    .header__fixed .openbtn {
      top: 12px;
      right: 13px; } }
  .header__fixed .openbtn span {
    background: #1E4181; }
.header__fixed .openbtn.active {
  background: #1E4181; }
  .header__fixed .openbtn.active span {
    background: #FFF; }

.openbtn {
  transition: .4s;
  position: fixed;
  z-index: 9999;
  /*ボタンを最前面に*/
  top: 48px;
  right: 40px;
  cursor: pointer;
  width: 40px;
  height: 35px; }
  @media screen and (max-width: 850px) {
    .openbtn {
      width: 30px;
      height: 25px;
      top: 22px;
      right: 23px; } }

.openbtn.active {
  background: #1E4181; }

/*×に変化*/
.openbtn span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  height: 2px;
  background: #FFF;
  width: 100%;
  left: 0; }

.openbtn span:nth-of-type(1) {
  top: 0; }

.openbtn span:nth-of-type(2) {
  top: calc(50% - 1px); }

.openbtn span:nth-of-type(3) {
  bottom: 0; }

.openbtn.active span:nth-of-type(1) {
  top: 10px;
  left: 0px;
  transform: translateY(6px) rotate(-45deg); }

.openbtn.active span:nth-of-type(2) {
  opacity: 0; }

.openbtn.active span:nth-of-type(3) {
  transform: translateY(-6px) rotate(45deg);
  left: 0;
  top: 22px; }

.headerSpList {
  margin: 50px 25px 0; }

.headerSpList__SpLi {
  border-bottom: 1px solid #FFF; }

.headerSpList__SpLink {
  color: #FFF;
  display: block;
  font-size: 14px;
  box-sizing: border-box;
  padding: 5px; }

.headerSpListChild {
  background: #FFF;
  padding: 15px;
  margin-bottom: 15px; }
  .headerSpListChild__link {
    color: #1E4181;
    font-size: 12px;
    display: block; }

.header__contactBtnSp,
.header__entrytBtnSp {
  position: static !important;
  margin: 20px auto 0;
  width: calc(100% - 40px) !important;
  border-radius: 5px !important; }

/* wrap */
.row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }

.rowB {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 850px) {
    .rowB {
      display: block; } }

/*	common
---------------------------------*/
body {
  font-size: 16px;
  line-height: 2;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Arial, sans-serif;
  font-style: normal; }
  @media screen and (max-width: 850px) {
    body {
      font-size: 14px; } }

/* link */
a {
  color: #000;
  text-decoration: none;
  transition: .4s; }
  a:hover {
    transition: .4s;
    text-decoration: underline; }

a:active, a:focus {
  outline: none; }

/* figure */
img {
  max-width: 100%;
  height: auto; }

/* heading */
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* fadein */
.fadein {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 1s;
  transition: all 1s; }

/*	clearfix
---------------------------------*/
/* add parent object */
.cl:before, .cl:after {
  content: " ";
  display: table; }

.cl:after {
  clear: both; }

.cl {
  *zoom: 1;
  display: block; }

.block_p {
  display: block !important; }
  @media screen and (max-width: 850px) {
    .block_p {
      display: none !important; } }

.block_s {
  display: none !important; }
  @media screen and (max-width: 850px) {
    .block_s {
      display: block !important; } }

.inline_p {
  display: inline; }
  @media screen and (max-width: 850px) {
    .inline_p {
      display: none; } }

.inline_s {
  display: none !important; }
  @media screen and (max-width: 850px) {
    .inline_s {
      display: inline !important; } }

.inline-block_p {
  display: inline-block !important; }
  @media screen and (max-width: 850px) {
    .inline-block_p {
      display: none !important; } }

.inline-block_s {
  display: none !important; }
  @media screen and (max-width: 850px) {
    .inline-block_s {
      display: inline-block !important; } }

.anc {
  margin-top: -100px;
  padding-top: 100px; }

.wrapper {
  position: relative;
  overflow: hidden; }

.inner {
  max-width: 1220px;
  margin: auto;
  padding: 0 50px;
  position: relative; }
  @media screen and (max-width: 850px) {
    .inner {
      padding: 0 20px; } }

.innerS {
  max-width: 1100px;
  margin: auto;
  padding: 0 50px;
  position: relative; }
  @media screen and (max-width: 850px) {
    .innerS {
      padding: 0 20px; } }

table {
  border-collapse: collapse; }
  table th {
    font-weight: normal; }

.commonTtl {
  font-size: 20px;
  font-weight: 600; }
  @media screen and (max-width: 850px) {
    .commonTtl {
      font-size: 18px; } }

.commonTtlEn {
  font-family: "termina";
  font-weight: 600;
  color: #1E4181;
  font-size: 70px;
  line-height: 70px;
  word-break: break-all; }
  @media screen and (max-width: 850px) {
    .commonTtlEn {
      font-size: 40px;
      line-height: 40px; } }
  .commonTtlEn__inner {
    color: #2E65C9; }

.bgBlue {
  background: #1E4181; }

.bgBlue2 {
  background: #F4F6F9; }

.commonBtn {
  width: 245px;
  height: 60px;
  background: url("../img/icon_arrow.svg") right 20px center no-repeat #F4F4F4;
  background-size: 12px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }
  .commonBtn:hover {
    text-decoration: none;
    transition: .4s;
    background: url("../img/icon_arrow_w.svg") right 20px center no-repeat #1E4181;
    background-size: 12px;
    color: #FFF; }

.header__fixed {
  transition: .4s;
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important; }
  .header__fixed .header__inner {
    transition: .4s;
    background: rgba(255, 255, 255, 0.8); }
  .header__fixed .header__link {
    color: #1E4181; }
  .header__fixed .header__logo {
    border-right: 0; }
  .header__fixed .header__logoInner img {
    opacity: 0; }
  .header__fixed .header__contactBtn,
  .header__fixed .header__entryBtn {
    height: 40px; }
    @media screen and (max-width: 850px) {
      .header__fixed .header__contactBtn,
      .header__fixed .header__entryBtn {
        top: 0;
        right: 58px; } }

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px 20px 0;
  z-index: 10;
  transition: .4s; }
  @media screen and (max-width: 850px) {
    .header {
      padding: 10px 10px 0; } }
  .header__inner {
    transition: .4s;
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between;
    align-items: flex-end;
    height: 90px;
    border-bottom: 1px solid #FFF; }
    @media screen and (max-width: 850px) {
      .header__inner {
        height: 50px; } }
  .header__logo {
    width: 256px;
    height: 100%;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #FFF; }
    @media screen and (max-width: 850px) {
      .header__logo {
        width: 140px; } }
  .header__logoInner {
    display: block;
    width: 200.68px;
    height: 43.53px;
    background: url("../img/logo.svg") center no-repeat;
    background-size: 200.68px; }
    @media screen and (max-width: 850px) {
      .header__logoInner {
        width: 110px;
        height: 23.86px;
        background-size: 110px; } }
  .header__list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
    margin-right: 90px; }
    @media screen and (max-width: 910px) {
      .header__list {
        display: none; } }
  .header__li {
    margin-right: 20px;
    position: relative; }
    @media screen and (max-width: 1070px) {
      .header__li {
        margin-right: 10px; } }
    .header__li:last-of-type {
      margin-right: 0; }
  .header .toggle .child {
    transition: max-height 0.5s ease-out;
    max-height: 0;
    overflow: hidden;
    width: 100%;
    left: 0;
    top: 35px;
    position: absolute;
    background: #1E4181;
    width: 185px;
    box-sizing: border-box; }
    .header .toggle .child ul {
      padding: 20px; }
      .header .toggle .child ul li {
        line-height: 1.4;
        position: relative;
        margin: 0 0 10px;
        padding: 0 0 0 13px; }
        .header .toggle .child ul li:before {
          content: "";
          width: 4px;
          height: 4px;
          border-radius: 100px;
          background: #FFF;
          position: absolute;
          left: 0;
          top: 10px; }
        .header .toggle .child ul li:last-of-type {
          margin: 0; }
    .header .toggle .child a {
      color: #FFF;
      font-size: 14px; }
  .header .toggle:hover .child {
    transition: max-height 1s ease-in;
    max-height: 9999px; }
  .header__link {
    font-size: 14px;
    color: #FFF;
    position: relative;
    cursor: pointer; }
    @media screen and (max-width: 1070px) {
      .header__link {
        font-size: 12px; } }
    .header__link .header__childList {
      display: none;
      position: absolute; }
  .header__contactBtn, .header__entryBtn {
    background: #4EB371;
    color: #FFF;
    align-content: center;
    justify-content: center;
    width: 175px;
    height: 50px;
    border-radius: 0 0 5px 5px;
    position: fixed;
    right: 100px;
    top: 0; }
    @media screen and (max-width: 850px) {
      .header__contactBtn, .header__entryBtn {
        width: 130px;
        height: 40px;
        border-radius: 0 0 5px 5px;
        right: 65px;
        top: 10px;
        font-size: 13px; } }
  .header__contactBtnInner, .header__entryBtnInner {
    color: #FFF;
    font-weight: 600;
    font-size: 16px; }
    .header__contactBtnInner img, .header__entryBtnInner img {
      display: inline-block;
      width: 17.89px;
      margin: 0 5px 0 0; }
  @media screen and (max-width: 850px) {
    .header__entryBtnPc {
      display: none !important; } }
  .header__contactBtn {
    right: 295px; }
    @media screen and (max-width: 850px) {
      .header__contactBtn {
        right: 65px; } }
  .header__entryBtn {
    background: #2E65C9; }
    @media screen and (max-width: 850px) {
      .header__entryBtn {
        margin-top: 10px;
        margin-bottom: 20px; } }

.footer {
  padding: 0 20px 0; }
  @media screen and (max-width: 850px) {
    .footer {
      padding: 0 10px 0; } }
  .footer__inner {
    background: #163162;
    padding: 70px 0 50px; }
    @media screen and (max-width: 850px) {
      .footer__inner {
        padding: 50px 0; } }
  .footer__right {
    max-width: 525px; }
    @media screen and (max-width: 850px) {
      .footer__right {
        display: none; } }
  .footer__left {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%; }
  .footer__list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap; }
  .footer__li {
    width: calc(100%/5); }
    .footer__li:last-of-type {
      width: 100%; }
  .footer__link {
    display: inline-block;
    box-sizing: border-box;
    padding: 0 10px 0 0;
    font-size: 14px;
    color: #FFF; }
  .footer__logo {
    width: 255px;
    padding: 0 0 30px;
    border-bottom: 1px solid #FFF;
    margin: 0 0 30px; }
    @media screen and (max-width: 850px) {
      .footer__logo {
        width: 180px;
        padding: 0 0 20px; } }
    .footer__logo img {
      display: block;
      width: 100%; }
  .footer__box {
    color: #FFF;
    font-size: 14px; }
    .footer__box:first-of-type {
      margin-bottom: 30px; }
  .footer__copy {
    text-align: center;
    font-family: "termina";
    box-sizing: border-box;
    font-size: 10px;
    padding: 10px 0; }
    @media screen and (max-width: 850px) {
      .footer__copy {
        font-size: 8px; } }

.mv {
  margin: 20px auto;
  width: calc(100% - 40px);
  height: calc(100vh - 40px);
  position: relative; }
  @media screen and (max-width: 850px) {
    .mv {
      margin: 10px auto;
      width: calc(100% - 20px);
      height: calc(100vh - 20px); } }
  .mv__img {
    width: 460px; }
    @media screen and (max-width: 850px) {
      .mv__img {
        width: 250px; } }
  .mv__box {
    position: absolute;
    bottom: 50px;
    left: 50px; }
    @media screen and (max-width: 850px) {
      .mv__box {
        bottom: 15px;
        left: 15px; } }
  .mv__ttl {
    font-size: 18px;
    color: #FFF;
    margin: 20px 0 0 0; }
    @media screen and (max-width: 850px) {
      .mv__ttl {
        font-size: 14px;
        margin: 0; } }
  .mv__slides {
    width: 100%;
    height: calc(100vh - 40px);
    position: absolute;
    left: 0;
    top: 0; }
    @media screen and (max-width: 850px) {
      .mv__slides {
        height: calc(100vh - 20px); } }
    .mv__slides:after {
      background: #1E4181;
      mix-blend-mode: multiply;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      content: "";
      opacity: 0.4; }
  .mv__slide {
    width: 100%;
    height: calc(100vh - 40px); }
    @media screen and (max-width: 850px) {
      .mv__slide {
        height: calc(100vh - 20px); } }
  .mv__slide1 {
    background: url("../img/slide1.jpg") center no-repeat;
    background-size: cover; }
    @media screen and (max-width: 850px) {
      .mv__slide1 {
        background: url("../img/slide1_sp.jpg") center no-repeat;
        background-size: cover; } }
  .mv__slide2 {
    background: url("../img/slide2.jpg") center no-repeat;
    background-size: cover; }
    @media screen and (max-width: 850px) {
      .mv__slide2 {
        background: url("../img/slide2_sp.jpg") center no-repeat;
        background-size: cover; } }
  .mv__slide3 {
    background: url("../img/slide3.jpg") center no-repeat;
    background-size: cover; }
    @media screen and (max-width: 850px) {
      .mv__slide3 {
        background: url("../img/slide3_sp.jpg") center no-repeat;
        background-size: cover; } }
  .mv__slide4 {
    background: url("../img/slide4.jpg") center no-repeat;
    background-size: cover; }
    @media screen and (max-width: 850px) {
      .mv__slide4 {
        background: url("../img/slide4_sp.jpg") center no-repeat;
        background-size: cover; } }
  .mv__slide5 {
    background: url("../img/slide5.jpg") center no-repeat;
    background-size: cover; }
  .mv__slide6 {
    background: url("../img/slide6.jpg") center no-repeat;
    background-size: cover; }
  .mv .slick-dots {
    bottom: 20px;
    right: 20px;
    text-align: right;
    z-index: 1; }
    @media screen and (max-width: 850px) {
      .mv .slick-dots {
        display: none !important; } }
    .mv .slick-dots li {
      width: auto;
      height: auto;
      margin: 0 5px; }
      .mv .slick-dots li button {
        background: #FFF;
        width: 8px;
        height: 8px;
        border-radius: 100px; }
        .mv .slick-dots li button:before {
          content: none; }
    .mv .slick-dots .slick-active button {
      background: #ABC8FD; }

.copy.copy__fixed {
  color: #1E4181;
  transition: .4s;
  right: 0px; }

.copy {
  font-family: "termina";
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-weight: 500;
  color: #FFF;
  font-size: 10px;
  position: fixed;
  right: 35px;
  top: 135px;
  letter-spacing: 1px;
  transition: .4s; }
  @media screen and (max-width: 850px) {
    .copy {
      display: none; } }

.copy.copy__fixed.copy__white {
  color: #FFF; }

.topNews {
  margin-top: 80px;
  margin-bottom: 70px; }
  @media screen and (max-width: 850px) {
    .topNews {
      margin: 50px 0; } }
  .topNews__inner {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between; }
  .topNews__left {
    max-width: 325px; }
  .topNews__right {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-left: 100px; }
    @media screen and (max-width: 850px) {
      .topNews__right {
        padding: 0; } }
  .topNews__txt {
    margin: 40px 0; }
    @media screen and (max-width: 850px) {
      .topNews__txt {
        margin: 20px 0 30px; } }
  .topNews__newsBtn {
    margin-top: 40px; }

.newsList {
  -webkit-justify-content: space-between;
  /* Safari etc. */
  -ms-justify-content: space-between;
  /* IE10        */
  justify-content: space-between;
  padding: 20px;
  align-items: center;
  border-top: 1px solid #DBDBDB;
  border-bottom: 1px solid #DBDBDB;
  font-size: 14px;
  margin-bottom: -1px; }
  @media screen and (max-width: 850px) {
    .newsList {
      padding: 15px; } }
  .newsList:hover {
    text-decoration: none; }
    .newsList:hover .newsList__dd {
      text-decoration: underline; }
    .newsList:hover .newsList__arrow {
      background: url("../img/icon_arrow_w.svg") center no-repeat #1E4181;
      background-size: 12.44px;
      transition: .4s; }
  .newsList__arrow {
    width: 55px;
    height: 55px;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    border: 1px solid #DBDBDB;
    transition: .4s;
    background: url("../img/icon_arrow.svg") center no-repeat; }
    @media screen and (max-width: 850px) {
      .newsList__arrow {
        width: 30px;
        height: 30px;
        background-size: 12px; } }
  .newsList__dl {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-right: 20px; }
  .newsList__dt {
    align-items: center;
    margin-bottom: 10px; }
    @media screen and (max-width: 850px) {
      .newsList__dt {
        margin-bottom: 5px; } }
  .newsList__cate {
    display: inline-block;
    color: #FFF;
    box-sizing: border-box;
    min-width: 80px;
    text-align: center;
    margin-left: 10px; }
    @media screen and (max-width: 850px) {
      .newsList__cate {
        font-size: 12px;
        min-width: 65px; } }
  .newsList__cateNews {
    background: #1E4181; }
  .newsList__cateRecruit {
    background: #4EB371; }

.newsListNoLink:hover {
  text-decoration: none; }
  .newsListNoLink:hover .newsList__dd {
    text-decoration: none; }
.newsListNoLink .newsList__arrow {
  display: none; }

@media screen and (max-width: 850px) {
  .topCompany {
    padding-bottom: 70px; } }
.topCompany__bg {
  height: 550px;
  width: calc(100%/2 + 60px);
  background: url("../img/img_company.jpg") center no-repeat;
  background-size: cover; }
  @media screen and (max-width: 850px) {
    .topCompany__bg {
      height: auto;
      width: 100%; } }
.topCompany__inner {
  background: url("../img/bg_company.png") right top no-repeat;
  background-size: 440px;
  padding-top: 60px; }
.topCompany__ttl {
  font-size: 26px;
  font-weight: 600;
  display: inline-block;
  box-sizing: border-box;
  background: #FFF;
  position: relative;
  padding: 0 10px;
  margin: 30px 0 10px; }
  @media screen and (max-width: 850px) {
    .topCompany__ttl {
      background: none;
      font-size: 20px;
      margin: 15px 0;
      padding: 0; } }
.topCompany__box {
  width: calc(100%/2 - 20px);
  position: relative;
  margin-left: -40px;
  margin-top: 200px;
  padding-left: 80px; }
  @media screen and (max-width: 850px) {
    .topCompany__box {
      margin-top: 40px;
      margin-left: 0;
      width: 100%;
      padding-left: 0; } }
.topCompany__txt:last-of-type {
  margin-bottom: 60px; }
  @media screen and (max-width: 850px) {
    .topCompany__txt:last-of-type {
      margin-bottom: 40px; } }
.topCompany__txtInner {
  background: #FFF; }

.topProduct {
  position: relative;
  padding: 100px 0 0; }
  @media screen and (max-width: 850px) {
    .topProduct {
      padding: 70px 0 0 0; } }
  .topProduct:before {
    content: "";
    background: #FFF;
    height: 65px;
    width: calc(50% + 80px);
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (max-width: 850px) {
      .topProduct:before {
        background: none; } }
  .topProduct__ttl {
    color: #FFF;
    font-size: 50px;
    font-weight: 600;
    font-style: oblique;
    border-bottom: 0.5px solid #FFF;
    margin-bottom: 20px;
    letter-spacing: 2px; }
    @media screen and (max-width: 850px) {
      .topProduct__ttl {
        font-size: 28px;
        line-height: 1.2;
        padding: 0 0 20px; } }
    .topProduct__ttl img {
      width: 44px;
      display: inline-block;
      position: relative;
      margin: 0 5px 0 0;
      top: 4px; }
      @media screen and (max-width: 850px) {
        .topProduct__ttl img {
          width: 29px; } }
  .topProduct__ttlInner {
    display: inline-block;
    font-size: 28px;
    font-style: normal; }
    @media screen and (max-width: 850px) {
      .topProduct__ttlInner {
        font-size: 16px; } }
  .topProduct__ttlEn {
    font-family: "termina";
    font-size: 50px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    color: #EAEDF3;
    opacity: 0.4;
    position: absolute;
    font-weight: 600;
    line-height: 50px;
    left: -120px;
    top: 0; }
    @media screen and (max-width: 850px) {
      .topProduct__ttlEn {
        position: static;
        writing-mode: horizontal-tb;
        font-size: 40px;
        line-height: 1;
        margin: 0 0 20px;
        word-break: break-all;
        letter-spacing: -3px;
        display: none !important; } }
  .topProduct__txt {
    color: #FFF; }
  .topProduct__wrap {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between;
    max-width: 890px;
    margin: 50px auto 0;
    position: relative; }
  .topProduct__box {
    width: calc(100%/2 - 40px);
    position: relative;
    margin-bottom: 60px; }
    @media screen and (max-width: 850px) {
      .topProduct__box {
        width: 100%;
        margin-bottom: 40px; } }
    .topProduct__box:before {
      content: "";
      background: #FFF;
      width: calc(100% - 30px);
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; }
  .topProduct__boxInner {
    background: #FFF;
    padding: 30px;
    width: calc(100% - 30px);
    position: relative; }
    @media screen and (max-width: 850px) {
      .topProduct__boxInner {
        padding: 20px; } }
    .topProduct__boxInner .commonBtn {
      width: 100%;
      margin-top: 20px; }
  .topProduct__subTtl {
    font-size: 24px;
    margin-bottom: 10px; }
    @media screen and (max-width: 850px) {
      .topProduct__subTtl {
        font-size: 20px; } }
  .topProduct__subTtlInner {
    font-size: 18px;
    display: block;
    margin-top: -10px; }
  .topProduct__pic {
    margin-bottom: -50px;
    position: relative; }
    .topProduct__pic img {
      vertical-align: bottom; }
  .topProduct__subTtlEn {
    color: #FFF;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-family: "termina";
    font-size: 16px;
    position: absolute;
    right: 0;
    bottom: 0;
    letter-spacing: 2px; }
    @media screen and (max-width: 850px) {
      .topProduct__subTtlEn {
        font-size: 12px;
        right: 3px; } }

.topFlow {
  position: relative;
  min-height: 500px;
  padding-top: 40px; }
  @media screen and (max-width: 850px) {
    .topFlow {
      min-height: auto;
      padding: 40px 0 70px; } }
  .topFlow__ttl {
    font-size: 34px;
    color: #FFF;
    height: 100px; }
    @media screen and (max-width: 850px) {
      .topFlow__ttl {
        height: auto;
        font-size: 18px; } }
  .topFlow__ttlEn {
    font-family: "termina";
    font-size: 50px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    color: #EAEDF3;
    opacity: 0.4;
    position: absolute;
    font-weight: 600;
    line-height: 50px;
    left: -120px;
    top: 0; }
    @media screen and (max-width: 850px) {
      .topFlow__ttlEn {
        position: static;
        writing-mode: horizontal-tb;
        font-size: 40px; } }
  .topFlow__wrap {
    position: relative;
    max-width: 890px;
    margin: auto; }
  .topFlow__bg {
    height: 260px;
    background: url("../img/img_flow.jpg") center no-repeat;
    background-size: cover;
    width: calc(50% + 445px);
    position: absolute;
    right: 0;
    top: 140px; }
    @media screen and (max-width: 850px) {
      .topFlow__bg {
        position: static;
        height: auto;
        width: 100%;
        height: 150px;
        margin: 0 0 30px; } }
  .topFlow__box {
    background: #FFF;
    max-width: 420px;
    position: relative;
    padding: 30px 30px 0;
    margin: 50px 0 0 50px; }
    @media screen and (max-width: 850px) {
      .topFlow__box {
        max-width: 100%;
        margin: 20px 0 0;
        padding: 20px; } }
  .topFlow .commonBtn {
    position: relative;
    bottom: -20px; }
    @media screen and (max-width: 850px) {
      .topFlow .commonBtn {
        position: static;
        margin-top: 10px; } }

.topBusiness {
  margin-top: 100px;
  margin-bottom: 100px; }
  @media screen and (max-width: 850px) {
    .topBusiness {
      margin-top: 70px;
      margin-bottom: 70px; } }
  .topBusiness__ttl {
    font-size: 50px;
    font-style: oblique;
    margin-bottom: 20px; }
    @media screen and (max-width: 850px) {
      .topBusiness__ttl {
        font-size: 28px;
        margin-bottom: 10px; } }
    .topBusiness__ttl img {
      display: inline-block;
      width: 40px;
      margin: 0 10px 0 0;
      position: relative;
      top: 5px; }
      @media screen and (max-width: 850px) {
        .topBusiness__ttl img {
          width: 30px; } }
  .topBusiness__ttlEn {
    font-family: "termina";
    font-size: 50px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    color: #1E4181;
    font-weight: 600;
    line-height: 1;
    right: 0;
    top: 30px;
    z-index: 1; }
    @media screen and (max-width: 850px) {
      .topBusiness__ttlEn {
        writing-mode: horizontal-tb;
        position: static;
        word-break: break-all;
        font-size: 40px;
        line-height: 1;
        letter-spacing: -3px;
        margin: 0 0 10px;
        display: none; } }
  .topBusiness__ttlEnInner {
    color: #2E65C9; }
  .topBusiness__box {
    max-width: 1015px; }
  .topBusiness__pic {
    margin: 40px 0; }
    @media screen and (max-width: 850px) {
      .topBusiness__pic {
        margin: 20px 0; } }
  .topBusiness__txt {
    padding-right: 50px; }
    @media screen and (max-width: 850px) {
      .topBusiness__txt {
        padding: 0; } }

.topCsr {
  position: relative; }
  .topCsr:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 30px;
    width: 100%;
    background: #FFF; }
  .topCsr:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 50%;
    background: #F4F6F9; }
  .topCsr__inner {
    background: #F4F6F9;
    padding-bottom: 70px; }
    .topCsr__inner:before {
      content: "";
      background: #FFF;
      width: 50px;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; }
      @media screen and (max-width: 850px) {
        .topCsr__inner:before {
          width: 20px; } }
  .topCsr__box {
    max-width: 1100px;
    margin: auto;
    padding: 0 50px; }
    @media screen and (max-width: 850px) {
      .topCsr__box {
        padding: 0 0 0 20px; } }
  .topCsr .commonTtlEn {
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 850px) {
      .topCsr .commonTtlEn {
        top: 5px; } }
  .topCsr__ttl {
    font-size: 20px;
    margin-bottom: 30px;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 850px) {
      .topCsr__ttl {
        margin-bottom: 20px;
        font-size: 18px; } }
  .topCsr__pic {
    margin-bottom: -60px; }
    @media screen and (max-width: 850px) {
      .topCsr__pic {
        margin-bottom: 0; } }
    .topCsr__pic img {
      vertical-align: bottom; }
  .topCsr__boxInner {
    max-width: 445px;
    background: #FFF;
    padding: 30px;
    position: relative; }
    @media screen and (max-width: 850px) {
      .topCsr__boxInner {
        padding: 20px; } }
  .topCsr .commonBtn {
    text-decoration: none;
    transition: .4s;
    background: url("../img/icon_arrow_w.svg") right 20px center no-repeat #1E4181;
    background-size: 12px;
    color: #FFF; }
    .topCsr .commonBtn:hover {
      background: url("../img/icon_arrow_w.svg") right 20px center no-repeat #2E65C9; }

.topTorihiki {
  margin: 100px 0; }
  @media screen and (max-width: 850px) {
    .topTorihiki {
      margin: 70px 0; } }
  .topTorihiki__ttl {
    text-align: center;
    font-size: 25px;
    margin: 0 0 40px; }
    @media screen and (max-width: 850px) {
      .topTorihiki__ttl {
        margin: 0 0 20px;
        font-size: 18px; } }
    .topTorihiki__ttl img {
      display: inline-block;
      width: 70px;
      margin: 0 10px 0 0;
      position: relative;
      vertical-align: middle;
      top: -5px; }
      @media screen and (max-width: 850px) {
        .topTorihiki__ttl img {
          width: 45px; } }
  .topTorihiki__wrap {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between;
    max-width: 720px;
    margin: auto;
    position: relative; }
  .topTorihiki__box {
    width: calc(100%/2 - 30px);
    font-size: 14px; }
    @media screen and (max-width: 850px) {
      .topTorihiki__box {
        width: 100%; } }
    .topTorihiki__box li {
      margin-bottom: 5px; }
  .topTorihiki__txt {
    position: absolute;
    right: 0;
    bottom: 0; }

.topAccess {
  padding: 100px 0 300px;
  background: url("../img/bg_access.jpg") center no-repeat;
  background-size: cover;
  position: relative; }
  @media screen and (max-width: 850px) {
    .topAccess {
      padding: 70px 0; } }
  .topAccess:after {
    content: "";
    width: 80px;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    background: #FFF; }
    @media screen and (max-width: 1290px) {
      .topAccess:after {
        width: 20px; } }
    @media screen and (max-width: 850px) {
      .topAccess:after {
        content: none; } }
  .topAccess:before {
    background: #1E4181;
    mix-blend-mode: multiply;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 0.95; }
  .topAccess .commonTtlEn {
    text-align: center;
    color: #FFF; }
  .topAccess__ttl {
    color: #FFF;
    font-size: 20px;
    text-align: center; }
    @media screen and (max-width: 850px) {
      .topAccess__ttl {
        font-size: 18px; } }
  .topAccess__wrap {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between;
    margin-top: 40px; }
  .topAccess__box {
    width: calc(100%/2 - 30px);
    position: relative; }
    @media screen and (max-width: 850px) {
      .topAccess__box {
        width: 100%; } }
    @media screen and (max-width: 850px) {
      .topAccess__box:first-of-type {
        margin-bottom: 40px; } }
    .topAccess__box iframe {
      width: calc(100% - 40px); }
      @media screen and (max-width: 850px) {
        .topAccess__box iframe {
          width: 100%;
          height: 300px; } }
  .topAccess__boxInner {
    background: #FFF;
    max-width: 350px;
    padding: 10px 30px 30px;
    position: relative;
    margin-top: -60px; }
    @media screen and (max-width: 850px) {
      .topAccess__boxInner {
        margin-top: -8px;
        padding: 10px 20px 20px; } }
    .topAccess__boxInner img {
      display: inline-block;
      width: 40px;
      position: relative;
      margin: 0 10px 0 0; }
      @media screen and (max-width: 850px) {
        .topAccess__boxInner img {
          width: 30px; } }
  .topAccess__subTtl {
    font-size: 20px;
    border-bottom: 2px solid #1E4181;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    padding: 0 0 10px;
    position: relative;
    top: -25px; }
    @media screen and (max-width: 850px) {
      .topAccess__subTtl {
        font-size: 16px;
        position: static;
        margin-bottom: 20px; } }
  .topAccess__txtEn {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-family: "termina";
    color: #FFF;
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (max-width: 850px) {
      .topAccess__txtEn {
        position: static;
        display: none; } }
  .topAccess__sTxt {
    font-size: 14px;
    background: #F4F4F4;
    padding: 10px;
    margin-top: 15px; }
    @media screen and (max-width: 850px) {
      .topAccess__sTxt {
        font-size: 12px; } }

.topRecruit {
  overflow: hidden;
  position: relative;
  margin-top: -200px; }
  @media screen and (max-width: 850px) {
    .topRecruit {
      margin: 0;
      padding: 35vw 0 0 0;
      overflow: auto; } }
  .topRecruit__lead {
    position: absolute;
    left: 20px;
    top: 0;
    width: 100px; }
    @media screen and (max-width: 850px) {
      .topRecruit__lead {
        z-index: 1;
        width: 20vw;
        left: 20px;
        top: 20px; } }
  .topRecruit__inner {
    float: right;
    max-width: 945px;
    position: relative; }
    @media screen and (max-width: 850px) {
      .topRecruit__inner {
        float: none; } }
    .topRecruit__inner:before {
      content: "";
      background: url("../img/txt_recruit.svg") no-repeat;
      background-size: 147px;
      width: 147px;
      height: 356px;
      position: absolute;
      left: -147px;
      top: 260px; }
      @media screen and (max-width: 1090px) {
        .topRecruit__inner:before {
          background-size: 95px;
          left: 20px;
          top: 20px;
          z-index: 1; } }
      @media screen and (max-width: 850px) {
        .topRecruit__inner:before {
          display: none; } }
  .topRecruit__pic {
    position: relative; }
    .topRecruit__pic:before {
      height: 40px;
      width: 100%;
      position: absolute;
      content: "";
      background: #FFF;
      left: 0;
      top: 0; }
      @media screen and (max-width: 850px) {
        .topRecruit__pic:before {
          content: none; } }
    .topRecruit__pic:after {
      height: 100%;
      width: 40px;
      position: absolute;
      content: "";
      background: #FFF;
      left: 0;
      top: 0; }
      @media screen and (max-width: 850px) {
        .topRecruit__pic:after {
          content: none; } }
  .topRecruit .commonTtlEn {
    margin: 50px 0 0px; }
    @media screen and (max-width: 850px) {
      .topRecruit .commonTtlEn {
        margin: 20px 0 0; } }
  .topRecruit__txt {
    margin: 10px 0 30px; }
  .topRecruit__box {
    padding-left: 40px; }
    @media screen and (max-width: 850px) {
      .topRecruit__box {
        padding: 0 20px; } }

.commonContact {
  padding: 0 20px;
  margin-top: 100px;
  color: #FFF; }
  .commonContact__btnTxt {
    display: inline-block;
    font-weight: 400;
    font-size: 14px;
    text-decoration: none; }
  .commonContact__btnInner2 {
    text-align: center;
    line-height: 1.2; }
  @media screen and (max-width: 850px) {
    .commonContact {
      padding: 0 10px;
      margin-top: 70px; } }
  .commonContact__inner {
    background: url("../img/bg_contact.jpg") center no-repeat;
    background-size: cover;
    padding: 70px 0; }
  .commonContact .commonTtlEn,
  .commonContact .commonTtl, .commonContact__txt {
    color: #FFF;
    text-align: center; }
  @media screen and (max-width: 850px) {
    .commonContact__txt {
      text-align: left; } }
  .commonContact .commonTtl {
    margin: 0px 0 40px; }
    @media screen and (max-width: 850px) {
      .commonContact .commonTtl {
        margin: 0px 0 20px; } }
  .commonContact__box {
    max-width: 860px;
    margin: auto;
    padding: 0 50px; }
    @media screen and (max-width: 850px) {
      .commonContact__box {
        padding: 0; } }
  .commonContact__wrap {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between;
    margin-top: 50px; }
    @media screen and (max-width: 850px) {
      .commonContact__wrap {
        margin-top: 30px; } }
  .commonContact__boxInner {
    width: calc(100%/2 - 30px); }
    @media screen and (max-width: 850px) {
      .commonContact__boxInner {
        width: 100%; } }
    @media screen and (max-width: 850px) {
      .commonContact__boxInner:first-of-type {
        margin-bottom: 40px; } }
  .commonContact__subTtl {
    margin: 0 0 10px;
    text-align: center;
    font-weight: 500;
    font-size: 18px; }
  .commonContact__subTtlInner {
    display: block;
    font-size: 14px;
    margin-top: -5px; }
  .commonContact__btn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border: 1px solid #FFF;
    width: 100%;
    height: 80px;
    color: #FFF;
    margin: 20px 0 0 0; }
    @media screen and (max-width: 850px) {
      .commonContact__btn {
        height: 70px;
        max-width: 300px;
        margin: 20px auto 0; } }
  .commonContact__btn2 {
    font-family: "termina";
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 2px; }
  .commonContact__icon1 {
    width: 32.13px;
    top: -4px; }
  .commonContact__icon2 {
    width: 18.31px;
    top: -2px; }
  .commonContact__icon1, .commonContact__icon2 {
    display: inline-block;
    margin: 0 15px 0 0;
    vertical-align: middle;
    position: relative; }

.commonContact.commonRecruit {
  background: none; }
  .commonContact.commonRecruit .commonContact__inner {
    background: url("../img/bg_contact_recruit.jpg") center no-repeat;
    background-size: cover; }
  .commonContact.commonRecruit .commonTtlEn,
  .commonContact.commonRecruit .commonTtl,
  .commonContact.commonRecruit .commonContact__txt,
  .commonContact.commonRecruit .commonContact__subTtl {
    color: #1E4181; }
  .commonContact.commonRecruit .commonContact__btn,
  .commonContact.commonRecruit .commonContact__btn2 {
    background: #1E4181;
    border: none; }

.kasoTtlEntry {
  background: url("../img/recruit/ttl_entry.png") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlContact {
  background: url("../img/contact/ttl_contact.png") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlNews {
  background: url("../img/news/ttl_news.png") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlBusiness {
  background: url("../img/commercial_business/ttl_business.png") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlCompany {
  background: url("../img/company/ttl_company.jpg") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlCsr {
  background: url("../img/csr/ttl_csr.jpg") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlFlow {
  background: url("../img/flow/ttl_flow.jpg") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlDevelopment {
  background: url("../img/development/ttl_development.png") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlImageTest {
  background: url("../img/development/ttl_imagetest.png") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlMea {
  background: url("../img/development/ttl_mea.png") center no-repeat !important;
  background-size: cover !important; }

.kasoTtlInfo {
  background: url("../img/development/ttl_info.png") center no-repeat !important;
  background-size: cover !important; }

.kasoTtl {
  position: relative;
  color: #FFF;
  padding: 20px; }
  @media screen and (max-width: 850px) {
    .kasoTtl {
      padding: 10px 10px 0; } }
  .kasoTtl__inner {
    background: url("../img/recruit/ttl_recruit.png") center no-repeat;
    background-size: cover;
    height: 350px; }
    @media screen and (max-width: 850px) {
      .kasoTtl__inner {
        height: 185px; } }
  .kasoTtl__ttlEn {
    font-family: "termina";
    font-size: 50px;
    font-weight: 600; }
    @media screen and (max-width: 850px) {
      .kasoTtl__ttlEn {
        font-size: 26px;
        letter-spacing: 1px; } }
  @media screen and (max-width: 850px) {
    .kasoTtl__ttlbusiness {
      line-height: 1.1;
      margin: 0 0 10px; } }
  .kasoTtl .inner {
    height: 100%;
    align-items: center; }
    @media screen and (max-width: 850px) {
      .kasoTtl .inner {
        align-items: flex-end;
        padding-bottom: 20px; } }
  .kasoTtl__box {
    margin-top: 60px; }
    @media screen and (max-width: 850px) {
      .kasoTtl__box {
        margin: 0; } }
  .kasoTtl__ttl {
    font-size: 16px;
    position: relative;
    margin: -20px 0 0 0;
    padding-left: 30px; }
    @media screen and (max-width: 850px) {
      .kasoTtl__ttl {
        margin: -10px 0 0 0; } }
    .kasoTtl__ttl:before {
      content: "";
      width: 20px;
      height: 1px;
      background: #FFF;
      position: absolute;
      left: 0px;
      top: 50%; }

.pan {
  margin-left: 20px;
  margin-bottom: 70px; }
  @media screen and (max-width: 850px) {
    .pan {
      margin-bottom: 40px;
      margin-left: 0;
      padding: 0 10px;
      margin-top: 10px; } }
  .pan__li {
    margin-right: 30px;
    font-size: 14px;
    position: relative; }
    @media screen and (max-width: 850px) {
      .pan__li {
        font-size: 10px; } }
    .pan__li:before {
      content: "";
      width: 20px;
      height: 1px;
      position: absolute;
      top: 50%;
      left: -25px;
      background: #000; }
    .pan__li:first-of-type:before {
      content: none; }

.recruitMessage {
  position: relative; }
  .recruitMessage__pic {
    padding-left: 60px; }
    @media screen and (max-width: 850px) {
      .recruitMessage__pic {
        padding: 10px 0 10px 0; } }
  @media screen and (max-width: 850px) {
    .recruitMessage .innerS {
      padding: 0; } }
  .recruitMessage .commonTtlEn {
    position: absolute;
    top: 0;
    left: 20px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }
    @media screen and (max-width: 850px) {
      .recruitMessage .commonTtlEn {
        position: static;
        writing-mode: horizontal-tb; } }
  .recruitMessage__box {
    padding: 30px 0 0 30px; }
    @media screen and (max-width: 850px) {
      .recruitMessage__box {
        padding: 0; } }
  .recruitMessage__ttl {
    font-size: 26px;
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 0 40px; }
    @media screen and (max-width: 850px) {
      .recruitMessage__ttl {
        font-size: 20px;
        margin: 0 0 10px;
        padding: 0 0 0 30px; } }
    .recruitMessage__ttl:before {
      content: "";
      background: #000;
      width: 30px;
      height: 1px;
      position: absolute;
      left: 0;
      top: 50%; }
      @media screen and (max-width: 850px) {
        .recruitMessage__ttl:before {
          width: 20px; } }

.recruitData {
  margin: 100px 0;
  padding: 100px 0;
  position: relative;
  color: #FFF; }
  @media screen and (max-width: 850px) {
    .recruitData {
      margin: 70px 0;
      padding: 70px 0 60px; } }
  .recruitData .commonTtlEn {
    color: #FFF;
    text-align: center; }
  .recruitData__ttl {
    font-size: 26px;
    text-align: center; }
    @media screen and (max-width: 850px) {
      .recruitData__ttl {
        font-size: 20px; } }
  .recruitData__lead {
    align-items: flex-end;
    margin-bottom: 50px; }
    @media screen and (max-width: 850px) {
      .recruitData__lead {
        margin-bottom: 30px; } }
  .recruitData__ttlWrap {
    max-width: 275px; }
  .recruitData__txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-left: 50px; }
    @media screen and (max-width: 850px) {
      .recruitData__txt {
        padding: 10px 0 0 0; } }
  .recruitData__graphs {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between; }
  .recruitData__graph {
    width: calc(100%/3 - 20px);
    margin-bottom: 20px; }
    @media screen and (max-width: 850px) {
      .recruitData__graph {
        width: calc(100%/2 - 10px);
        margin-bottom: 10px; } }

.recruitInterview {
  margin-bottom: 100px; }
  @media screen and (max-width: 850px) {
    .recruitInterview {
      margin-bottom: 70px; } }
  .recruitInterview .commonTtlEn {
    text-align: center; }
  .recruitInterview__ttl {
    text-align: center;
    font-size: 26px; }
    @media screen and (max-width: 850px) {
      .recruitInterview__ttl {
        font-size: 20px; } }
  @media screen and (max-width: 850px) {
    .recruitInterview__tabWrap {
      overflow-x: scroll;
      margin: 0 -20px;
      position: relative;
      left: 20px; } }
  @media screen and (max-width: 850px) {
    .recruitInterview__tabWrap:after {
      content: "";
      position: absolute;
      right: -100%;
      bottom: 0;
      height: 1px;
      background: #1E4181;
      width: 100%; } }
  .recruitInterview__tabInner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-top: 50px;
    border-bottom: 1px solid #1E4181;
    position: relative; }
    @media screen and (max-width: 850px) {
      .recruitInterview__tabInner {
        margin-top: 30px;
        min-width: 450px; } }
    .recruitInterview__tabInner:after {
      content: "";
      position: absolute;
      right: -100%;
      bottom: -1px;
      height: 1px;
      background: #1E4181;
      width: 100%; }
      @media screen and (max-width: 850px) {
        .recruitInterview__tabInner:after {
          content: none; } }
  .recruitInterview__tabBtn {
    color: #1E4181;
    border: none;
    background: #F3F6F9;
    font-weight: 600;
    min-width: 220px;
    box-sizing: border-box;
    padding: 20px;
    font-family: "termina";
    margin-right: 10px; }
    @media screen and (max-width: 850px) {
      .recruitInterview__tabBtn {
        min-width: 140px;
        font-size: 14px;
        padding: 10px 15px;
        line-height: 1.4; } }
    .recruitInterview__tabBtn small {
      font-size: 14px;
      display: block; }
      @media screen and (max-width: 850px) {
        .recruitInterview__tabBtn small {
          font-size: 10px;
          margin: 0 0 5px; } }
  .recruitInterview__tabBtn.btnActive {
    background: #1E4181;
    color: #FFF;
    padding: 30px 20px; }
    @media screen and (max-width: 850px) {
      .recruitInterview__tabBtn.btnActive {
        padding: 20px 15px; } }
  .recruitInterview__tab {
    display: none; }
  .recruitInterview__tab.active {
    display: block; }
  .recruitInterview__tab {
    padding: 50px 0 0; }
    @media screen and (max-width: 850px) {
      .recruitInterview__tab {
        padding: 30px 0 0; } }
  .recruitInterview__lead {
    margin-bottom: 50px;
    padding: 0 20px; }
    @media screen and (max-width: 850px) {
      .recruitInterview__lead {
        padding: 0; } }
  .recruitInterview__nameWrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    @media screen and (max-width: 850px) {
      .recruitInterview__nameWrap {
        margin-bottom: 10px; } }
  .recruitInterview__name {
    font-family: "termina";
    position: relative;
    font-size: 26px;
    margin-right: 20px;
    padding-right: 20px;
    position: relative; }
    @media screen and (max-width: 850px) {
      .recruitInterview__name {
        display: block; } }
    .recruitInterview__name:after {
      background: #000;
      content: "";
      width: 1px;
      height: 22px;
      position: absolute;
      right: 0;
      top: 14px; }
      @media screen and (max-width: 850px) {
        .recruitInterview__name:after {
          content: none; } }
  .recruitInterview__subTtl {
    line-height: 2.6; }
    @media screen and (max-width: 850px) {
      .recruitInterview__subTtl {
        line-height: 1.4;
        background: #1E4181;
        padding: 15px; } }
  .recruitInterview__subTtlInner {
    background: #1E4181;
    color: #FFF;
    font-weight: 600;
    font-size: 32px;
    box-sizing: border-box;
    padding: 10px; }
    @media screen and (max-width: 850px) {
      .recruitInterview__subTtlInner {
        font-size: 20px;
        padding: 0;
        background: none; } }
  .recruitInterview__box {
    padding: 0 20px 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #1E4181; }
    @media screen and (max-width: 850px) {
      .recruitInterview__box {
        padding: 0 0 30px; } }
    .recruitInterview__box:last-of-type {
      border: none;
      padding-bottom: 0;
      margin-bottom: 0; }
  .recruitInterview__q {
    font-weight: 600;
    font-size: 24px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 850px) {
      .recruitInterview__q {
        font-size: 18px;
        margin-bottom: 10px;
        line-height: 1.6; } }
  .recruitInterview__qInner {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%; }
  .recruitInterview__number {
    font-family: "termina";
    font-size: 26px;
    color: #1E4181;
    box-sizing: border-box;
    padding: 0 20px 0 0;
    margin: 0 15px 0 0;
    letter-spacing: 2px;
    position: relative;
    width: 65px; }
    @media screen and (max-width: 850px) {
      .recruitInterview__number {
        font-size: 20px;
        padding: 0 15px 0 0;
        margin: 0 10px 0 0;
        min-width: 45px;
        width: auto; } }
    .recruitInterview__number:after {
      background: #1E4181;
      content: "";
      width: 1px;
      height: 30px;
      position: absolute;
      right: 0;
      top: 5px; }
      @media screen and (max-width: 850px) {
        .recruitInterview__number:after {
          height: 20px; } }

.recruitAppli .commonTtl,
.recruitAppli .commonTtlEn {
  text-align: center;
  color: #000;
  position: relative; }
.recruitAppli .innerS {
  background: #F4F6F9;
  padding-bottom: 50px; }
  .recruitAppli .innerS:before {
    content: "";
    width: 100%;
    background: #FFF;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0; }
    @media screen and (max-width: 850px) {
      .recruitAppli .innerS:before {
        height: 20px; } }
.recruitAppli__tabInner {
  -webkit-justify-content: space-between;
  /* Safari etc. */
  -ms-justify-content: space-between;
  /* IE10        */
  justify-content: space-between;
  max-width: 800px;
  margin: 40px auto; }
.recruitAppli__btn {
  width: calc(100%/2 - 20px);
  height: 80px;
  color: #1E4181;
  font-weight: 600;
  font-size: 24px;
  border: none;
  letter-spacing: 2px;
  background: #FFF;
  position: relative; }
  @media screen and (max-width: 850px) {
    .recruitAppli__btn {
      width: calc(100%/2 - 5px);
      height: 45px;
      font-size: 16px; } }
.recruitAppli__btn.btnActive {
  background: #1E4181;
  color: #FFF; }
  .recruitAppli__btn.btnActive:after {
    content: "";
    position: absolute;
    bottom: -15px;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #1E4181;
    left: calc(50% - 30px); }
    @media screen and (max-width: 850px) {
      .recruitAppli__btn.btnActive:after {
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
        border-top: 20px solid #1E4181;
        left: calc(50% - 20px);
        bottom: -10px; } }
.recruitAppli__box {
  display: none;
  background: #FFF;
  padding: 40px; }
  @media screen and (max-width: 850px) {
    .recruitAppli__box {
      padding: 20px; } }
.recruitAppli__box.active {
  display: block; }
.recruitAppli__subTtlWrap {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  @media screen and (max-width: 850px) {
    .recruitAppli__subTtlWrap {
      display: block; } }
.recruitAppli__cate {
  width: 100px;
  height: 100px;
  background: #1E4181;
  color: #FFF;
  font-size: 24px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  line-height: 1.4; }
  @media screen and (max-width: 850px) {
    .recruitAppli__cate {
      width: 100%;
      font-size: 16px;
      height: auto;
      padding: 10px 0; } }
.recruitAppli__subTtl {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  padding-left: 20px;
  font-size: 22px; }
  @media screen and (max-width: 850px) {
    .recruitAppli__subTtl {
      display: block;
      padding: 20px 0 0 0;
      font-size: 18px; } }
.recruitAppli__lead {
  margin: 50px 0; }
  @media screen and (max-width: 850px) {
    .recruitAppli__lead {
      margin: 30px 0; } }
.recruitAppli__leadTtl {
  font-size: 18px;
  color: #1E4181;
  margin: 0 0 5px; }
  @media screen and (max-width: 850px) {
    .recruitAppli__leadTtl {
      line-height: 1.4; } }
.recruitAppli__wraps {
  -webkit-justify-content: space-between;
  /* Safari etc. */
  -ms-justify-content: space-between;
  /* IE10        */
  justify-content: space-between;
  margin-bottom: 70px; }
  @media screen and (max-width: 850px) {
    .recruitAppli__wraps {
      margin-bottom: 40px; } }
.recruitAppli__boxInner {
  padding: 30px;
  background: #F4F6F9;
  width: calc(100%/ 2 - 15px);
  margin-bottom: 30px; }
  @media screen and (max-width: 850px) {
    .recruitAppli__boxInner {
      width: 100%;
      padding: 20px;
      margin-bottom: 20px; } }
.recruitAppli__boxInner2 {
  width: 100%;
  margin-bottom: 0; }
.recruitAppli__subTtl2 {
  font-size: 24px;
  margin: 0 0 20px; }
.recruitAppli__dl {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #1E4181;
  border-bottom: 1px solid #1E4181;
  margin-bottom: -1px; }
  @media screen and (max-width: 850px) {
    .recruitAppli__dl {
      display: block;
      border-left: 1px solid #1E4181;
      border-right: 1px solid #1E4181; } }
.recruitAppli__dt {
  width: 220px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  background: #F4F6F9;
  font-size: 14px; }
  @media screen and (max-width: 850px) {
    .recruitAppli__dt {
      display: block;
      width: 100%;
      text-align: center;
      box-sizing: border-box;
      padding: 5px 0;
      border-bottom: 1px solid #1E4181; } }
.recruitAppli__dd {
  padding: 20px;
  font-size: 14px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%; }
.recruitAppli__li {
  padding-left: 1em;
  text-indent: -1em; }

.recruitCatch {
  text-align: center;
  font-weight: 600;
  color: #1E4181;
  font-size: 24px;
  margin-top: 100px; }
  @media screen and (max-width: 850px) {
    .recruitCatch {
      font-size: 18px;
      margin-top: 70px; } }

.companyGreeting__mv {
  background: url("../img/company/img_greeting.jpg") center no-repeat;
  background-size: cover;
  height: 380px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: 40px; }
  @media screen and (max-width: 850px) {
    .companyGreeting__mv {
      height: auto;
      background: none;
      margin-bottom: 30px; } }
.companyGreeting__mvInner {
  margin: 0 0 50px 50px; }
  @media screen and (max-width: 850px) {
    .companyGreeting__mvInner {
      margin: 0 0 20px; } }
.companyGreeting .commonTtlEn span {
  background: #1E4181;
  color: #FFF;
  display: inline-block;
  box-sizing: border-box;
  padding: 8px 12px 3px; }
.companyGreeting__ttl span {
  background: #1E4181;
  color: #FFF;
  display: inline-block;
  box-sizing: border-box;
  padding: 2px 12px 0px;
  font-size: 26px;
  margin: 10px 0 0 0; }
  @media screen and (max-width: 850px) {
    .companyGreeting__ttl span {
      font-size: 20px; } }
.companyGreeting__txt {
  max-width: 740px;
  margin-bottom: 30px; }
  @media screen and (max-width: 850px) {
    .companyGreeting__txt {
      margin-bottom: 20px; } }
.companyGreeting__name {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding-right: 100px;
  font-weight: 600; }
  @media screen and (max-width: 850px) {
    .companyGreeting__name {
      padding: 0; } }
@media screen and (max-width: 850px) {
  .companyGreeting .block_s {
    margin: -20px 0 20px; } }

.commonTtl2 {
  font-size: 26px; }
  @media screen and (max-width: 850px) {
    .commonTtl2 {
      font-size: 20px;
      line-height: 1.4; } }

.companySolution {
  background: #1E4181;
  padding: 100px 0;
  margin: 100px 0; }
  @media screen and (max-width: 850px) {
    .companySolution {
      padding: 70px 0;
      margin: 70px 0; } }
  .companySolution__wrap {
    align-items: center;
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between; }
  .companySolution .commonTtlEn,
  .companySolution .commonTtl2, .companySolution__txt {
    color: #FFF; }
  .companySolution__txt {
    margin-top: 30px; }
    @media screen and (max-width: 850px) {
      .companySolution__txt {
        margin: 30px 0; } }
  .companySolution__box, .companySolution__pic {
    width: calc(50% - 10px); }
    @media screen and (max-width: 850px) {
      .companySolution__box, .companySolution__pic {
        width: 100%; } }
  .companySolution__box1, .companySolution__box2 {
    border: 1px solid #FFF;
    padding: 30px;
    width: calc(100%/2 - 20px); }
    @media screen and (max-width: 850px) {
      .companySolution__box1, .companySolution__box2 {
        width: 100%;
        padding: 20px; } }
    .companySolution__box1 .companySolution__txt, .companySolution__box2 .companySolution__txt {
      margin-bottom: 0; }
  .companySolution__box1 {
    background: #152E5D; }
    @media screen and (max-width: 850px) {
      .companySolution__box1 {
        margin-bottom: 30px; } }
  .companySolution__box2 {
    background: #7086AE; }
  .companySolution__li {
    text-indent: -1em;
    padding-left: 1em;
    color: #FFF; }
  .companySolution__subTtl {
    font-size: 24px;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 20px;
    color: #FFF; }
    @media screen and (max-width: 850px) {
      .companySolution__subTtl {
        font-size: 16px; } }
    .companySolution__subTtl span {
      position: relative; }
      .companySolution__subTtl span:after {
        content: "";
        height: 1px;
        width: 100px;
        background: #FFF;
        position: absolute;
        left: calc(50% - 50px);
        bottom: -10px; }

.companyDetail {
  position: relative; }
  .companyDetail .innerS {
    background: #F4F6F9;
    padding-bottom: 50px; }
    .companyDetail .innerS:before {
      content: "";
      width: 100%;
      background: #FFF;
      height: 30px;
      position: absolute;
      left: 0;
      top: 0; }
  .companyDetail .commonTtlEn {
    position: relative;
    color: #000; }
  .companyDetail__box {
    background: #FFF;
    padding: 40px;
    margin-top: 40px; }
    @media screen and (max-width: 850px) {
      .companyDetail__box {
        padding: 20px;
        margin-top: 30px; } }

.companyHistory {
  padding: 100px 0;
  margin-top: 100px; }
  @media screen and (max-width: 850px) {
    .companyHistory {
      padding: 70px 0 50px;
      margin-top: 70px; } }
  .companyHistory .commonTtlEn,
  .companyHistory .commonTtl2 {
    color: #FFF;
    text-align: center; }
  .companyHistory .commonTtl2 {
    margin-bottom: 50px; }
    @media screen and (max-width: 850px) {
      .companyHistory .commonTtl2 {
        margin-bottom: 40px; } }
  .companyHistory__wrap {
    border-bottom: 1px solid #FFF;
    padding-bottom: 40px;
    margin-bottom: 40px;
    align-items: center; }
    @media screen and (max-width: 850px) {
      .companyHistory__wrap {
        padding-bottom: 20px;
        margin-bottom: 20px; } }
  .companyHistory__numberWrap {
    width: 345px;
    color: #FFF;
    text-align: center; }
    @media screen and (max-width: 850px) {
      .companyHistory__numberWrap {
        width: 100%;
        margin: 0 0 10px;
        text-align: left; } }
  .companyHistory__number {
    font-family: "termina";
    font-size: 50px;
    text-align: center;
    display: block;
    font-weight: 600;
    line-height: 1; }
    @media screen and (max-width: 850px) {
      .companyHistory__number {
        text-align: left;
        font-size: 30px; } }
  .companyHistory__number2 {
    font-size: 30px; }
  .companyHistory__box {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%; }
  .companyHistory__subTtl {
    color: #FFF;
    font-size: 20px;
    margin: 0 0 10px; }
    @media screen and (max-width: 850px) {
      .companyHistory__subTtl {
        font-size: 18px;
        line-height: 1.4; } }
  .companyHistory__txt {
    color: #FFF; }

.csrLead {
  position: relative; }
  @media screen and (max-width: 850px) {
    .csrLead .commonTtl2 {
      margin-bottom: 20px; } }
  .csrLead:before {
    content: "";
    height: 100%;
    width: 50%;
    position: absolute;
    background: #1E4181; }
  .csrLead .inner {
    background: #1E4181; }
  .csrLead__wrap {
    padding: 70px 0;
    align-items: center; }
    @media screen and (max-width: 850px) {
      .csrLead__wrap {
        padding: 50px 0; } }
  .csrLead__pic {
    width: 350px; }
    @media screen and (max-width: 850px) {
      .csrLead__pic {
        width: 100%; } }
  .csrLead__box {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    color: #FFF;
    padding: 0 0 0 50px; }
    @media screen and (max-width: 850px) {
      .csrLead__box {
        padding: 20px 0 0 0; } }
  .csrLead__txt {
    max-width: 650px; }

@media screen and (max-width: 850px) {
  .csr2.csr2_2 .commonTtl2 {
    margin-bottom: 20px; } }
.csr2.csr2_2:before {
  content: "";
  position: absolute;
  right: 0;
  left: auto;
  top: 0;
  width: 50%;
  height: 100%;
  background: #F4F6F9; }

.csr2 {
  margin-top: 100px;
  position: relative; }
  @media screen and (max-width: 850px) {
    .csr2 {
      margin-top: 70px; } }
  .csr2:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
    background: #F4F6F9; }
  .csr2:after {
    content: "";
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    background: #FFF; }
    @media screen and (max-width: 850px) {
      .csr2:after {
        height: 20px; } }
  .csr2 .inner {
    background: #F4F6F9;
    padding-bottom: 70px; }
    @media screen and (max-width: 850px) {
      .csr2 .inner {
        padding-bottom: 50px; } }
  .csr2 .commonTtlEn {
    position: relative;
    z-index: 1; }
  .csr2 .commonTtl2 {
    color: #1E4181;
    margin-bottom: 40px; }
    @media screen and (max-width: 850px) {
      .csr2 .commonTtl2 {
        margin-bottom: 30px; } }
  .csr2__list {
    margin-bottom: 30px; }
    .csr2__list li {
      text-indent: -1em;
      padding-left: 1em; }
  .csr2__box {
    margin: 0 0 30px; }
  .csr2__subTtl {
    font-size: 22px;
    margin-bottom: 10px; }
    @media screen and (max-width: 850px) {
      .csr2__subTtl {
        font-size: 18px; } }
  .csr2__boxInner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    font-weight: 600; }
    @media screen and (max-width: 850px) {
      .csr2__boxInner {
        display: block; } }
    .csr2__boxInner img {
      display: inline-block;
      width: 120px;
      margin: 20px 0 0 20px; }

.flowLead .innerS {
  background: #F4F6F9; }
  .flowLead .innerS:before {
    content: "";
    width: 100%;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
    background: #FFF; }
    @media screen and (max-width: 850px) {
      .flowLead .innerS:before {
        height: 20px; } }
  .flowLead .innerS:after {
    content: "";
    width: 100%;
    height: 100px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #FFF; }
    @media screen and (max-width: 850px) {
      .flowLead .innerS:after {
        height: 50px; } }
.flowLead .commonTtlEn,
.flowLead .commonTtl2 {
  text-align: center;
  position: relative;
  z-index: 1; }
.flowLead__txt {
  text-align: center;
  margin: 40px 0 50px; }
  @media screen and (max-width: 850px) {
    .flowLead__txt {
      text-align: left; } }
.flowLead__subTtl {
  text-align: center;
  font-size: 20px;
  margin: 30px 0 20px; }
  .flowLead__subTtl span {
    display: inline-block;
    box-sizing: border-box;
    padding: 0 0 10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #000; }
.flowLead__wrap {
  -webkit-justify-content: space-between;
  /* Safari etc. */
  -ms-justify-content: space-between;
  /* IE10        */
  justify-content: space-between;
  position: relative;
  z-index: 1; }
  .flowLead__wrap li {
    width: calc(100%/4 - 10px);
    margin-bottom: 15px; }
    @media screen and (max-width: 850px) {
      .flowLead__wrap li {
        width: calc(100%/2 - 10px); } }

.flowStep {
  margin-top: 100px; }
  .flowStep .commonTtlEn {
    text-align: center; }
  .flowStep .commonTtl2 {
    text-align: center;
    color: #1E4181;
    margin-bottom: 40px; }
    @media screen and (max-width: 850px) {
      .flowStep .commonTtl2 {
        margin-bottom: 30px; } }
    .flowStep .commonTtl2 span {
      font-size: 18px;
      display: inline-block; }
      @media screen and (max-width: 850px) {
        .flowStep .commonTtl2 span {
          font-size: 16px; } }
  .flowStep__inner {
    position: relative; }
    .flowStep__inner:after {
      content: "";
      position: absolute;
      left: 80px;
      top: 0;
      height: 100%;
      width: 1px;
      background: #1E4181; }
      @media screen and (max-width: 850px) {
        .flowStep__inner:after {
          z-index: -1;
          left: 50%; } }
  .flowStep__cont {
    background: #F4F6F9;
    margin-bottom: 60px;
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 30px 0; }
    @media screen and (max-width: 850px) {
      .flowStep__cont {
        display: block;
        padding: 20px; } }
    .flowStep__cont:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      background: #FFF;
      width: 295px;
      height: 100%; }
      @media screen and (max-width: 850px) {
        .flowStep__cont:before {
          content: none; } }
  .flowStep__cont2 {
    background: #EAF0FA; }
  .flowStep__cont1:after {
    content: "";
    position: absolute;
    left: 80px;
    top: 0;
    height: 50%;
    width: 1px;
    background: #FFF;
    z-index: 1; }
  .flowStep__contLast:after {
    content: "";
    position: absolute;
    left: 80px;
    bottom: 0;
    height: 50%;
    width: 1px;
    background: #FFF;
    z-index: 1; }
    @media screen and (max-width: 850px) {
      .flowStep__contLast:after {
        content: none; } }
  .flowStep__pics {
    width: 440px;
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end; }
    @media screen and (max-width: 850px) {
      .flowStep__pics {
        width: 100%;
        margin-bottom: 10px; } }
  .flowStep__number {
    width: 160px;
    height: 160px;
    position: absolute;
    left: 0;
    top: calc(50% - 80px); }
    @media screen and (max-width: 850px) {
      .flowStep__number {
        width: 100px;
        height: 100px;
        position: absolute;
        left: -20px;
        top: -20px; } }
  .flowStep__pic {
    max-width: 305px; }
    @media screen and (max-width: 850px) {
      .flowStep__pic {
        max-width: 100%;
        width: 100%; } }
    .flowStep__pic img {
      width: 100%;
      display: block; }
  .flowStep__contInner {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-left: 30px; }
    @media screen and (max-width: 850px) {
      .flowStep__contInner {
        padding: 0; } }
  .flowStep__boxWrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px; }
    @media screen and (max-width: 850px) {
      .flowStep__boxWrap {
        display: block; } }
  .flowStep__boxPic {
    width: 200px; }
    @media screen and (max-width: 850px) {
      .flowStep__boxPic {
        margin: 0 auto 10px; } }
  .flowStep__boxTxts {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-left: 20px;
    padding-right: 20px; }
  .flowStep__subTtl {
    font-size: 26px;
    color: #1E4181; }
    @media screen and (max-width: 850px) {
      .flowStep__subTtl {
        font-size: 20px; } }

.txtBold {
  font-weight: bold; }

.production {
  margin-bottom: 70px; }
  .production__ttl {
    text-align: center;
    position: relative;
    margin-bottom: 40px; }
    @media screen and (max-width: 850px) {
      .production__ttl {
        margin-bottom: 20px; } }
    .production__ttl:before {
      content: "";
      height: 1px;
      width: 100%;
      position: absolute;
      left: 0;
      top: calc(50% + 1px);
      background: #1E4181; }
    .production__ttl span {
      color: #1E4181;
      font-weight: 600;
      font-size: 36px;
      display: inline-block;
      background: #FFF;
      padding: 0 30px;
      position: relative;
      background: #FFF; }
      @media screen and (max-width: 850px) {
        .production__ttl span {
          font-size: 26px;
          padding: 0 15px; } }
  .production__wrap {
    align-items: center; }
  .production__pic {
    width: 260px; }
    @media screen and (max-width: 850px) {
      .production__pic {
        margin: auto; } }
  .production__box {
    box-sizing: border-box;
    padding: 0 0 0 30px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%; }
    @media screen and (max-width: 850px) {
      .production__box {
        padding: 0; } }
  @media screen and (max-width: 850px) {
    .production .innerS {
      padding: 0; } }
  .production__subTtl {
    position: relative;
    margin: 0 0 20px; }
    @media screen and (max-width: 850px) {
      .production__subTtl {
        margin: 10px 0;
        text-align: center; } }
    .production__subTtl:before {
      content: "";
      background: #1E4181;
      top: calc(50% + 1px);
      width: 100%;
      height: 1px;
      position: absolute; }
      @media screen and (max-width: 850px) {
        .production__subTtl:before {
          content: none; } }
    .production__subTtl span {
      color: #1E4181;
      font-size: 26px;
      display: inline-block;
      background: #FFF;
      padding: 0 20px 0 0;
      box-sizing: border-box;
      position: relative; }
      @media screen and (max-width: 850px) {
        .production__subTtl span {
          font-size: 20px;
          line-height: 1.6;
          text-align: center;
          padding: 0; } }

.productionTabs__subTtl,
.productionTabs2__subTtl {
  color: #1E4181;
  font-weight: 600;
  font-size: 26px;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px; }
  @media screen and (max-width: 850px) {
    .productionTabs__subTtl,
    .productionTabs2__subTtl {
      font-size: 20px;
      margin-bottom: 20px; } }
  .productionTabs__subTtl:before,
  .productionTabs2__subTtl:before {
    content: "";
    background: #1E4181;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 70px; }
    @media screen and (max-width: 850px) {
      .productionTabs__subTtl:before,
      .productionTabs2__subTtl:before {
        width: 50px; } }
.productionTabs__subTtl2,
.productionTabs2__subTtl2 {
  color: #1E4181;
  font-size: 20px; }
  @media screen and (max-width: 850px) {
    .productionTabs__subTtl2,
    .productionTabs2__subTtl2 {
      font-size: 18px; } }
.productionTabs__tab,
.productionTabs2__tab {
  display: none; }
.productionTabs__tab.active,
.productionTabs2__tab.active {
  display: block; }
.productionTabs__tabBtn,
.productionTabs2__tabBtn {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Arial, sans-serif;
  width: calc(100%/4 - 15px);
  margin-right: 10px;
  margin-bottom: 10px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background: #EAF0FA;
  color: #1E4181;
  height: 60px;
  border: none;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -1px; }
  @media screen and (max-width: 850px) {
    .productionTabs__tabBtn,
    .productionTabs2__tabBtn {
      width: calc(100%/2 - 10px);
      font-size: 13px;
      min-height: 45px; } }
.productionTabs__tabBtn.btnActive,
.productionTabs2__tabBtn.btnActive {
  background: #1E4181;
  color: #FFF !important; }
.productionTabs__cont,
.productionTabs2__cont {
  position: relative;
  margin-bottom: 100px;
  margin-top: 20px; }
  @media screen and (max-width: 850px) {
    .productionTabs__cont,
    .productionTabs2__cont {
      margin-bottom: 70px; } }
  .productionTabs__cont:before,
  .productionTabs2__cont:before {
    content: "";
    height: 100%;
    width: calc(100% / 2);
    position: absolute;
    right: 0;
    top: 0;
    background: #EAF0FA; }
  .productionTabs__cont .inner,
  .productionTabs2__cont .inner {
    background: #EAF0FA;
    padding: 50px 0; }
.productionTabs__ttl,
.productionTabs2__ttl {
  margin: 0 0 10px;
  font-size: 26px; }
  @media screen and (max-width: 850px) {
    .productionTabs__ttl,
    .productionTabs2__ttl {
      font-size: 20px; } }
  .productionTabs__ttl span,
  .productionTabs2__ttl span {
    background: #1E4181;
    color: #FFF;
    box-sizing: border-box;
    padding: 0px 15px;
    line-height: 1.6;
    display: inline-block; }
.productionTabs__lead, .productionTabs__box, .productionTabs__box2,
.productionTabs2__lead,
.productionTabs2__box,
.productionTabs2__box2 {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #1E4181; }
  @media screen and (max-width: 850px) {
    .productionTabs__lead, .productionTabs__box, .productionTabs__box2,
    .productionTabs2__lead,
    .productionTabs2__box,
    .productionTabs2__box2 {
      margin-bottom: 20px;
      padding-bottom: 20px; } }
.productionTabs__pics,
.productionTabs2__pics {
  width: 300px; }
  @media screen and (max-width: 850px) {
    .productionTabs__pics,
    .productionTabs2__pics {
      margin: 0 auto 35px; } }
.productionTabs__detail,
.productionTabs2__detail {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  padding-left: 40px; }
  @media screen and (max-width: 850px) {
    .productionTabs__detail,
    .productionTabs2__detail {
      padding: 10px 0 0 0; } }
.productionTabs__list li,
.productionTabs2__list li {
  text-indent: -1em;
  padding-left: 1em; }
.productionTabs__table,
.productionTabs2__table {
  min-width: 600px;
  border-collapse: collapse;
  border-left: 1px solid #ADADAD;
  border-right: 1px solid #ADADAD;
  border-top: 1px solid #ADADAD;
  margin-top: 15px; }
  @media screen and (max-width: 850px) {
    .productionTabs__table,
    .productionTabs2__table {
      min-width: 100%; } }
.productionTabs__th,
.productionTabs2__th {
  color: #FFF;
  background: #1E4181;
  text-align: center;
  padding: 10px;
  font-weight: 600;
  border-bottom: 1px solid #ADADAD;
  font-size: 12px; }
  @media screen and (max-width: 850px) {
    .productionTabs__th,
    .productionTabs2__th {
      padding: 5px; } }
  .productionTabs__th:nth-child(even),
  .productionTabs2__th:nth-child(even) {
    border-left: 1px solid #ADADAD; }
.productionTabs__td,
.productionTabs2__td {
  text-align: center;
  padding: 10px;
  background: #FFF;
  border-bottom: 1px solid #ADADAD; }
  @media screen and (max-width: 850px) {
    .productionTabs__td,
    .productionTabs2__td {
      font-size: 12px;
      padding: 5px; } }
  .productionTabs__td:nth-child(even),
  .productionTabs2__td:nth-child(even) {
    border-left: 1px solid #ADADAD; }
.productionTabs__slides, .productionTabs__slides2,
.productionTabs2__slides,
.productionTabs2__slides2 {
  margin: 0 !important; }
  .productionTabs__slides .slick-prev, .productionTabs__slides2 .slick-prev,
  .productionTabs2__slides .slick-prev,
  .productionTabs2__slides2 .slick-prev {
    left: -15px; }
  .productionTabs__slides .slick-next, .productionTabs__slides2 .slick-next,
  .productionTabs2__slides .slick-next,
  .productionTabs2__slides2 .slick-next {
    right: -15px; }
  .productionTabs__slides .slick-prev,
  .productionTabs__slides .slick-next, .productionTabs__slides2 .slick-prev,
  .productionTabs__slides2 .slick-next,
  .productionTabs2__slides .slick-prev,
  .productionTabs2__slides .slick-next,
  .productionTabs2__slides2 .slick-prev,
  .productionTabs2__slides2 .slick-next {
    background: #000;
    width: 17px;
    height: 34px; }
    .productionTabs__slides .slick-prev:before,
    .productionTabs__slides .slick-next:before, .productionTabs__slides2 .slick-prev:before,
    .productionTabs__slides2 .slick-next:before,
    .productionTabs2__slides .slick-prev:before,
    .productionTabs2__slides .slick-next:before,
    .productionTabs2__slides2 .slick-prev:before,
    .productionTabs2__slides2 .slick-next:before {
      content: none; }
  .productionTabs__slides .slick-prev, .productionTabs__slides2 .slick-prev,
  .productionTabs2__slides .slick-prev,
  .productionTabs2__slides2 .slick-prev {
    background: url("../img/development/arrow_l.svg") no-repeat;
    background-size: 17px; }
  .productionTabs__slides .slick-next, .productionTabs__slides2 .slick-next,
  .productionTabs2__slides .slick-next,
  .productionTabs2__slides2 .slick-next {
    background: url("../img/development/arrow_r.svg") no-repeat;
    background-size: 17px; }
.productionTabs__caption,
.productionTabs2__caption {
  display: block;
  text-align: center;
  margin: 5px 0 0 0;
  font-size: 14px; }
  @media screen and (max-width: 850px) {
    .productionTabs__caption,
    .productionTabs2__caption {
      font-size: 12px; } }
.productionTabs__wBox,
.productionTabs2__wBox {
  padding: 20px;
  background: #FFF;
  margin: 20px 0 0 0; }
.productionTabs .slick-dots li,
.productionTabs2 .slick-dots li {
  width: 8px;
  height: 8px;
  border-radius: 100px; }
.productionTabs .slick-dots .slick-active button,
.productionTabs2 .slick-dots .slick-active button {
  background: #1E4181; }
.productionTabs .slick-dots button,
.productionTabs2 .slick-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  background: #CCC;
  border-radius: 100px; }
  .productionTabs .slick-dots button:before,
  .productionTabs2 .slick-dots button:before {
    content: none; }

.productionTabs2__cont {
  margin-bottom: 0; }

.productionCommon {
  position: relative; }
  .productionCommon:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 50%;
    background: #F4F6F9; }
  .productionCommon .inner {
    background: #F4F6F9;
    padding: 70px 0; }
    @media screen and (max-width: 850px) {
      .productionCommon .inner {
        padding: 50px 0; } }
  .productionCommon__ttl {
    text-align: center;
    color: #1E4181;
    font-size: 36px;
    font-weight: 600; }
    @media screen and (max-width: 850px) {
      .productionCommon__ttl {
        font-size: 26px; } }
  .productionCommon__txt {
    margin: 30px 0 60px;
    text-align: center; }
    @media screen and (max-width: 850px) {
      .productionCommon__txt {
        margin: 20px 0 40px;
        text-align: left; } }
  .productionCommon__subTtl {
    text-align: center;
    margin-bottom: 50px; }
    @media screen and (max-width: 850px) {
      .productionCommon__subTtl {
        margin-bottom: 40px; } }
    .productionCommon__subTtl span {
      position: relative;
      font-size: 26px;
      font-weight: 600;
      color: #1E4181;
      box-sizing: border-box;
      padding-bottom: 20px; }
      @media screen and (max-width: 850px) {
        .productionCommon__subTtl span {
          font-size: 20px; } }
      .productionCommon__subTtl span:before {
        content: "";
        position: absolute;
        left: calc(50% - 40px);
        width: 80px;
        background: #1E4181;
        height: 1px;
        bottom: 0; }
  .productionCommon__list {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between; }
    @media screen and (max-width: 850px) {
      .productionCommon__list {
        display: block; } }
  .productionCommon__li {
    width: calc(100%/3 - 12px); }
    @media screen and (max-width: 850px) {
      .productionCommon__li {
        width: 100%;
        max-width: 280px;
        margin: 0 auto 5px; } }
    .productionCommon__li a {
      display: block; }

.access {
  margin: 70px 0; }
  .access__wrap {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between;
    align-items: center; }
  .access__box {
    width: calc(100%/2 - 15px); }
    @media screen and (max-width: 850px) {
      .access__box {
        width: 100%;
        margin-bottom: 20px; } }
    .access__box iframe {
      width: 100%; }
      @media screen and (max-width: 850px) {
        .access__box iframe {
          height: 300px; } }
  .access__subTtl {
    color: #1E4181;
    font-size: 26px; }
    @media screen and (max-width: 850px) {
      .access__subTtl {
        font-size: 20px; } }
    .access__subTtl img {
      display: inline-block;
      width: 32px;
      margin: 0 10px 0 0; }
      @media screen and (max-width: 850px) {
        .access__subTtl img {
          width: 20px; } }
  .access p {
    padding-left: 20px; }
    @media screen and (max-width: 850px) {
      .access p {
        padding-left: 0; } }
  .access__txt {
    margin-bottom: 20px; }

.business:before {
  left: auto;
  right: 0; }
@media screen and (max-width: 850px) {
  .business .commonTtlEn {
    letter-spacing: -3px; } }

.businessP {
  padding: 100px 0; }
  @media screen and (max-width: 850px) {
    .businessP {
      padding: 70px 0 50px; } }
  .businessP .commonTtl,
  .businessP .commonTtlEn {
    text-align: center;
    color: #FFF; }
  .businessP .commonTtl {
    margin-bottom: 40px; }
  .businessP__box {
    background: #FFF;
    padding: 30px; }
    @media screen and (max-width: 850px) {
      .businessP__box {
        margin: 20px auto 0;
        padding: 15px; } }
  .businessP__boxInner {
    padding-bottom: 30px;
    font-size: 14px; }
    @media screen and (max-width: 850px) {
      .businessP__boxInner {
        font-size: 12px;
        padding-bottom: 0; } }
  .businessP__boxInner2 {
    margin-bottom: 30px; }
  .businessP__subTtl {
    background: #122B58;
    color: #FFF;
    box-sizing: border-box;
    padding: 10px 20px;
    margin: 0 0 30px;
    font-size: 20px;
    text-align: center; }
    @media screen and (max-width: 850px) {
      .businessP__subTtl {
        font-size: 16px;
        padding: 5px 10px;
        margin: 0 0 10px; } }
  .businessP__subTtl2 {
    color: #1E4181;
    margin: 0 0 10px;
    font-size: 18px; }
  .businessP__subTtl3 {
    font-weight: 600;
    margin: 0 0 10px;
    background: #F4F6F9;
    box-sizing: border-box;
    padding: 0 10px;
    font-size: 16px; }
  .businessP__subTtl4 {
    font-weight: 600;
    margin: 0 0 10px;
    font-size: 28px;
    text-align: center; }
    @media screen and (max-width: 850px) {
      .businessP__subTtl4 {
        font-size: 24px; } }
  .businessP__list li {
    margin: 0 0 10px;
    position: relative; }
    .businessP__list li:before {
      content: ""; }
    .businessP__list li a {
      text-decoration: underline; }
      .businessP__list li a img {
        display: inline-block;
        margin: 0 0 0 10px;
        position: relative;
        top: 5px; }
        @media screen and (max-width: 850px) {
          .businessP__list li a img {
            width: 15px; } }
  .businessP__txt1 {
    padding: 0 20px; }
    @media screen and (max-width: 850px) {
      .businessP__txt1 {
        padding: 0; } }
  .businessP__wrap {
    -webkit-justify-content: space-between;
    /* Safari etc. */
    -ms-justify-content: space-between;
    /* IE10        */
    justify-content: space-between;
    max-width: 650px;
    margin: auto; }
    .businessP__wrap p {
      width: calc(100%/2 - 10px); }
  .businessP__dl {
    margin: 20px auto;
    max-width: 800px; }
    @media screen and (max-width: 850px) {
      .businessP__dl {
        margin: 10px 0; } }
  .businessP__dt {
    background: #122B58;
    cursor: pointer;
    color: #FFF;
    box-sizing: border-box;
    padding: 10px 20px;
    font-weight: 600;
    font-size: 18px;
    position: relative; }
    @media screen and (max-width: 850px) {
      .businessP__dt {
        font-size: 16px;
        padding: 5px 15px; } }
    .businessP__dt:before {
      content: "▼";
      position: absolute;
      right: 20px;
      top: 10px; }
      @media screen and (max-width: 850px) {
        .businessP__dt:before {
          top: 4px; } }
  .businessP__dt.active {
    background: #2E65C9; }
    .businessP__dt.active:before {
      content: "×";
      position: absolute;
      right: 20px;
      top: 10px; }
      @media screen and (max-width: 850px) {
        .businessP__dt.active:before {
          top: 4px; } }
  .businessP__dd {
    display: none; }
  .businessP__close {
    text-align: center;
    cursor: pointer; }
    .businessP__close span {
      display: inline-block;
      background: #F3F3F3;
      box-sizing: border-box;
      padding: 2px 15px;
      border-radius: 5px; }

.news .commonTtl,
.news .commonTtlEn {
  text-align: center; }
.news .commonTtl {
  margin: 0 0 30px; }

.newsWrap {
  -webkit-justify-content: space-between;
  /* Safari etc. */
  -ms-justify-content: space-between;
  /* IE10        */
  justify-content: space-between; }
  @media screen and (max-width: 850px) {
    .newsWrap {
      flex-direction: column-reverse; } }
  .newsWrap__left {
    width: 200px;
    background: #F4F6F9;
    padding: 20px; }
    @media screen and (max-width: 850px) {
      .newsWrap__left {
        width: 100%;
        margin-top: 60px; } }
  .newsWrap__right {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-left: 30px;
    box-sizing: border-box; }
    @media screen and (max-width: 850px) {
      .newsWrap__right {
        padding: 0;
        display: block; } }
    .newsWrap__right .commonBtn {
      margin: 40px auto 0; }
  .newsWrap__subTtl {
    font-weight: 600;
    color: #1E4181;
    font-size: 20px;
    margin: 0 0 10px;
    padding: 0 0 5px;
    border-bottom: 1px solid #1E4181; }

.newsSideList {
  box-sizing: border-box; }
  .newsSideList li {
    position: relative;
    padding-left: 15px; }
    .newsSideList li:before {
      content: "";
      width: 4px;
      height: 4px;
      position: absolute;
      left: 0;
      top: calc(50% - 2px);
      background: #1E4181;
      border-radius: 100px; }

.newsBox__txt {
  margin-bottom: 20px;
  font-size: 14px; }
.newsBox__ttl {
  color: #FFF;
  background: #1E4181;
  font-weight: 600;
  box-sizing: border-box;
  padding: 5px 15px;
  font-size: 18px;
  margin: 0 0 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  @media screen and (max-width: 850px) {
    .newsBox__ttl {
      font-size: 16px;
      display: block;
      padding: 10px 15px; } }
.newsBox__date {
  font-family: "termina";
  width: 155px;
  position: relative;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 1px; }
  @media screen and (max-width: 850px) {
    .newsBox__date {
      display: block;
      width: 100%;
      border-bottom: 1px solid #FFF; } }
  .newsBox__date:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    background: #FFF;
    width: 1px;
    height: 100%; }
    @media screen and (max-width: 850px) {
      .newsBox__date:after {
        content: none; } }
.newsBox__ttlInner {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  padding-left: 20px; }
  @media screen and (max-width: 850px) {
    .newsBox__ttlInner {
      padding: 0; } }

.contact .commonTtl,
.contact .commonTtlEn {
  text-align: center; }

.contactTel {
  max-width: 920px;
  padding: 0 40px;
  margin: 40px auto 100px; }
  @media screen and (max-width: 850px) {
    .contactTel {
      padding: 0 20px;
      margin: 40px auto 70px; } }
  .contactTel__box {
    background: #F4F6F9;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 40px; }
    @media screen and (max-width: 850px) {
      .contactTel__box {
        padding: 20px; } }
  .contactTel__tel {
    font-family: "termina";
    text-align: center;
    color: #1E4181;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 2px; }
    @media screen and (max-width: 850px) {
      .contactTel__tel {
        font-size: 28px; } }
    .contactTel__tel:hover {
      text-decoration: none; }
  .contactTel__boxInner {
    text-align: center; }

  .toiawase_btn {
    display: inline-block;
  margin-top: 15px;
  margin-bottom: 25px;
    padding: 20px 40px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
  }
  @media screen and (max-width: 850px) {
    .toiawase_btn {
      padding: 0 20px;
      margin: 40px auto 70px; } }
  .toiawase_btn:hover {
    background-color: #0056b3;
  }


.contact.entry .contactCont__btn {
  background: #1E4181 !important; }
.contact.entry .contactCont__btn3 {
  background: #F7F7F7 !important; }
.contact.entry .contactCont__btn3:hover {
  background: #D1D1D1 !important; }

.contactCont {
  max-width: 920px;
  padding: 0 40px;
  margin: 40px auto 100px; }
  @media screen and (max-width: 850px) {
    .contactCont {
      padding: 0 20px;
      margin: 30px auto 70px; } }
  .contactCont__privacyTxt {
    text-align: center;
    margin: 20px auto 30px; }
  .contactCont__txt {
    margin-bottom: 40px;
    background: #F4F6F9;
    padding: 20px; }
  .contactCont__dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E4E4E4; }
    .contactCont__dl:first-of-type {
      border-top: 1px solid #E4E4E4;
      padding-top: 20px; }
    .contactCont__dl:last-of-type {
      margin-bottom: 40px; }
  .contactCont__dt {
    width: 200px;
    font-weight: 600; }
    @media screen and (max-width: 850px) {
      .contactCont__dt {
        width: 100%;
        margin: 0 0 10px; } }
  .contactCont__dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-left: 20px; }
    @media screen and (max-width: 850px) {
      .contactCont__dd {
        width: 100%;
        padding: 0; } }
  .contactCont input[type="text"],
  .contactCont textarea,
  .contactCont input[type="tel"],
  .contactCont input[type="email"],
  .contactCont select {
    webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    width: 100%;
    background: #F7F7F7;
    padding: 15px;
    box-sizing: border-box;
    border: none;
    font-size: 16px;
    border-radius: 3px; }
  .contactCont select {
    width: auto;
    position: relative;
    padding-right: 35px;
    background: url("../img/icon_arrow3.svg") right 13px top 13px no-repeat #F7F7F7;
    background-size: 15px; }
    .contactCont select:after {
      content: "";
      position: absolute;
      width: 0;
      height: 0;
      border-left: 30px solid transparent;
      border-right: 30px solid transparent;
      border-top: 30px solid black;
      right: 0;
      top: 0; }
  .contactCont__privacy {
    margin: 60px 0 20px; }
  .contactCont input[type="radio"] {
    position: relative;
    margin: 0 10px 0 0;
    top: -1px; }
  .contactCont__btn {
    background: #4EB371 !important;
    color: #FFF;
    font-weight: 600;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 50px;
    border: none; }
  .contactCont__btn1 {
    width: 250px;
    margin: auto; }
  .contactCont__btn2, .contactCont__btn3 {
    width: 150px; }
    @media screen and (max-width: 850px) {
      .contactCont__btn2, .contactCont__btn3 {
        width: 120px; } }
  .contactCont__btn3 {
    color: #000;
    background: #F7F7F7 !important; }
  .contactCont__btn3:hover {
    background: #D1D1D1 !important; }
  .contactCont__privacy {
    text-align: center; }
  .contactCont .error_blank {
    display: block;
    font-weight: 600;
    color: #CC0000; }

.confirmTxt {
  text-align: center;
  font-weight: 600;
  margin: 0 0 30px;
  padding: 40px 0 0 0;
  font-size: 18px; }
  @media screen and (max-width: 850px) {
    .confirmTxt {
      font-size: 16px;
      text-align: left; } }

#confirm_field {
  display: none; }

.confirmWrap {
  justify-content: center; }
  .confirmWrap input {
    margin: 0 7.5px; }

.thanksTxt {
  text-align: center; }
  @media screen and (max-width: 850px) {
    .thanksTxt {
      text-align: left; } }
  .thanksTxt .commonBtn {
    margin: 30px auto 0; }

.privacy__subTtl {
  font-size: 20px;
  color: #1E4181;
  margin-bottom: 10px; }
  @media screen and (max-width: 850px) {
    .privacy__subTtl {
      font-size: 16px;
      margin-bottom: 5px; } }
.privacy__box {
  margin-bottom: 40px; }
.privacy ul {
  margin-top: 20px; }
.privacy .productionCommon__li {
  width: 100% !important; }
.privacy a {
  color: #1E4181;
  text-decoration: underline; }

.txtLink {
  text-decoration: underline; }
  .txtLink:hover {
    color: #2E65C9; }

.pdfIcon {
  position: relative;
  width: 15px;
  vertical-align: middle;
  margin: 0 0 0 10px; }

.contact.entry .hissu {
  background: #1E4181; }

.entry .contactCont {
  margin-bottom: 0 !important; }

.hissu,
.nini {
  background: #4EB371;
  color: #FFF;
  box-sizing: border-box;
  padding: 2px 5px;
  padding: 0 5px;
  border-radius: 3px;
  display: inline-block;
  position: relative;
  margin: 0 5px 0 0;
  font-weight: normal;
  font-size: 12px; }

.nini {
  background-color: #D0D0D0;
  color: #000; }

::placeholder {
  color: #CCC; }

.contact.entry {
  background: #F4F6F9;
  padding: 100px 0;
  margin-bottom: 0; }
  @media screen and (max-width: 850px) {
    .contact.entry {
      padding: 40px 0 70px; } }
  .contact.entry .contactCont {
    padding: 40px;
    background: #FFF; }
    @media screen and (max-width: 850px) {
      .contact.entry .contactCont {
        padding: 30px 20px; } }
  .contact.entry .contactTel {
    padding: 40px;
    background: #FFF;
    margin-bottom: 0; }
    @media screen and (max-width: 850px) {
      .contact.entry .contactTel {
        padding: 40px 20px; } }

/* タイトル（背景色つき） */
.bg-title {
  font-size: 1rem;
  font-weight: 700;
  background-color: #0078D4;
  color: #fff;
  padding: 2px 20px 2px 30px;  /* 上→右→下→左 */
  border-radius: 4px;
  display: block; /* ← 横幅いっぱいに広がる */
  width: 100%;    /* ← 念のため全幅指定 */
  box-sizing: border-box; /* ← paddingを含めて幅計算 */
  margin-top: 24px; /* ← タイトルと画像の間の余白 */
  margin-bottom: 24px; /* ← タイトルと画像の間の余白 */
}

/* 画像3つ横並び */


/* それ以外のとき */
.three-items {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

/* 各アイテム */
.item {
  width: 32%; /* 3つ並べるための幅 */
  text-align: center;
}

/* スマホ（幅600px以下）のとき */
@media (max-width: 600px) {
  .three-items {
    flex-direction: column;   /* 縦並びにする */
    gap: 20px;
  }

  .item {
    width: 100%;              /* 横幅いっぱいに */
  }
}

.item img {
  width: 100%;
  height: 280px;       /* ← 高さは固定のまま */
  object-fit: contain; /* ← 画像を切らずに全体を表示 */
  background-color: #f0f0f0; /* ← 余白が出るので背景色を付けると綺麗 */
  border-radius: 4px;
}

.item p {
  margin-top: 8px;
  font-size: 0.95rem;
}

.info-table {
  width: 100%;
  margin-top: 20px;
  border: 1px solid #ccc;      /* 外枠 */
  border-collapse: collapse;   /* 枠線を一体化（table風に） */
}

/* 1行ごとの枠線 */
.row {
  display: flex;
  border-bottom: 1px solid #ccc;
}

/* 左側：網掛け＋右との境界線 */
.left {
  width: 25%;
  font-weight: 700;
  padding: 8px 10px;
  background-color: #f2f2f2;   /* ← 網掛け */
  border-right: 1px solid #ccc;
}

/* 右側：通常背景＋内側余白 */
.right {
  width: 75%;
  padding: 8px 10px;
}

/* 右側の画像 */
.right img {
  width: 200px;
  height: auto;
  margin-top: 8px;
  border-radius: 4px;
}

.two-items {
  display: flex;
  gap: 30px;          /* ボックス間の余白 */
  margin-top: 24px; /* ← タイトルと画像の間の余白 */
  margin-bottom: 24px; /* ← タイトルと画像の間の余白 */
}

.label {
  display: inline-block;   /* ← これが重要 */
  background: #f0f0f0;
  padding: 20px 20px;       /* 左右の余白を調整 */
  border-radius: 6px;
  font-weight: normal;
  text-align: center;
}

/* スマホ（600px以下）は縦並び */
@media (max-width: 600px) {
  .two-items {
    flex-direction: column; /* ← これで縦並びになる */
  }
}

.small-text {
  font-size: 12px;
}


/* サムネイル */
.thumb {
  width: 200px;
  cursor: pointer;
}

