@charset "UTF-8";
/* Scss Document */
main {
  width: 100%;
  margin: 0 auto; }

/***************************************************/
/***************************************************/
.boss_box {
  max-width: 100%;
  width: 100%;
  padding: 70px 0 180px 300px;
  position: relative; }
  .boss_box .boss_item {
    margin: 0;
    max-width: 1415px;
    width: calc(100% - 40px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start; }
  .boss_box .boss_comment {
    max-width: 1000px;
    margin: 0 auto; }
  .boss_box .boss_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0 40px; }
    .boss_box .boss_flex img {
      margin: 0;
      width: 270px; }
    .boss_box .boss_flex dl {
      width: calc(100% - 330px); }
  .boss_box dt {
    margin: 0 0 50px; }
    .boss_box dt strong {
      font: 4.8em/1.6em 'Noto Sans JP', sans-serif;
      font-weight: 400;
      color: #171C61; }
  .boss_box h3 {
    font: 3.0rem/1.7em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0;
    color: #171C61; }
  .boss_box p {
    text-align: justify;
    text-justify: inter-ideograph;
    font: 1.6rem/2.2em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    margin: 0 0 30px; }
  .boss_box .boss_name {
    margin: 50px 0 0;
    text-align: right;
    font: 2.7rem/1.0em 'Noto Serif JP', serif; }
    .boss_box .boss_name span {
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      margin: 0 20px 0 0; }

@media (max-width: 1560px) {
  .boss_box {
    max-width: 100%;
    width: 100%;
    padding: 70px 0 180px 300px;
    position: relative; }
    .boss_box .boss_item {
      margin: 0;
      max-width: 1415px;
      width: calc(100% - 40px);
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      align-items: flex-start; }
    .boss_box dt {
      margin: 0 0 50px; }
      .boss_box dt strong {
        font: 3.2vw/1.6em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        color: #171C61; }
    .boss_box h3 {
      font: 3.0rem/1.7em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 15px;
      color: #171C61; }
    .boss_box p {
      text-align: justify;
      text-justify: inter-ideograph;
      font: 1.6rem/2.2em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 0 30px; }
    .boss_box .boss_name {
      margin: 50px 0 0;
      text-align: right;
      font: 2.7rem/1.0em 'Noto Serif JP', serif; }
      .boss_box .boss_name span {
        font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
        margin: 0 20px 0 0; } }
/*max-width:1280px*/
@media (max-width: 1280px) {
  .boss_box {
    max-width: 100%;
    width: 100%;
    padding: 70px 0 180px 220px;
    position: relative; }
    .boss_box .boss_item {
      margin: 0;
      max-width: 1415px;
      width: calc(100% - 40px);
      display: column; }
    .boss_box .boss_comment {
      width: 100%; }
    .boss_box h3 {
      font: 3.0rem/1.7em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 15px;
      color: #171C61; }
    .boss_box p {
      text-align: justify;
      text-justify: inter-ideograph;
      font: 1.6rem/2.2em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 0 30px; }
      .boss_box p strong {
        font: 5rem/1.8em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        color: #171C61; }
    .boss_box dt {
      margin: 0 0 50px; }
      .boss_box dt strong {
        font: 3vw/1.6em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        color: #171C61; }
    .boss_box .boss_name {
      margin: 50px 0 0;
      text-align: right;
      font: 2.7rem/1.0em 'Noto Serif JP', serif; }
      .boss_box .boss_name span {
        font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
        margin: 0 20px 0 0; }
    .boss_box img {
      margin: 55px 0 0;
      max-width: 300px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .boss_box {
    max-width: 100%;
    width: 100%;
    padding: 70px 0 100px 0;
    position: relative; }
    .boss_box .boss_item {
      margin: 0 auto;
      max-width: 100%;
      width: 100%;
      display: column; }
    .boss_box .boss_comment {
      max-width: 768px;
      width: calc(100% - 40px);
      margin: 0 auto; }
    .boss_box h3 {
      font: 3.0rem/1.7em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 15px;
      color: #171C61; }
    .boss_box p {
      text-align: justify;
      text-justify: inter-ideograph;
      font: 1.6rem/2.2em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 0 30px; }
    .boss_box .boss_name {
      margin: 50px 0 0;
      text-align: right;
      font: 2.7rem/1.0em 'Noto Serif JP', serif; }
      .boss_box .boss_name span {
        font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
        margin: 0 20px 0 0; }
    .boss_box .boss_flex img {
      width: 200px; }
    .boss_box .boss_flex dl {
      width: calc(100% - 250px); }
    .boss_box dt {
      margin: 0 0 30px; }
      .boss_box dt strong {
        font: 3.3rem/1.6em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        color: #171C61; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .boss_box {
    max-width: 100%;
    width: 100%;
    padding: 50px 0 100px 0;
    position: relative; }
    .boss_box .boss_item {
      margin: 0 auto;
      max-width: 100%;
      width: 100%;
      display: column; }
    .boss_box .boss_comment {
      max-width: 768px;
      width: calc(100% - 40px);
      margin: 0 auto; }
    .boss_box h3 {
      font: 3.0rem/1.7em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 15px;
      color: #171C61; }
    .boss_box p {
      text-align: justify;
      text-justify: inter-ideograph;
      font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 0 30px; }
    .boss_box .boss_name {
      margin: 50px 0 0;
      text-align: right;
      font: 2.7rem/1.0em 'Noto Serif JP', serif; }
      .boss_box .boss_name span {
        font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
        margin: 0 20px 0 0; }
    .boss_box .boss_flex {
      max-width: 480px;
      margin: 0 auto;
      position: relative; }
      .boss_box .boss_flex img {
        width: 130px;
        position: absolute;
        top: 0;
        left: 0; }
      .boss_box .boss_flex dl {
        width: 100%; }
    .boss_box dt {
      margin: 0 0 30px;
      padding: 0 0px 67px 170px;
      height: 433px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: center;
      justify-content: center;
      align-items: flex-start; }
      .boss_box dt strong {
        font: 3.0rem/1.6em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        color: #171C61; }
        .boss_box dt strong br {
          display: none; }
        .boss_box dt strong span {
          display: block; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .boss_box {
    padding: 30px 0 100px; }
    .boss_box p {
      font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
      font-weight: 500; }
    .boss_box .boss_name {
      font: 2.4rem/1.0em 'Noto Serif JP', serif; }
      .boss_box .boss_name span {
        font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
        margin: 0 20px 0 0; }
    .boss_box .boss_flex {
      position: relative; }
      .boss_box .boss_flex img {
        width: 100px;
        position: absolute;
        top: 0;
        left: 0; }
      .boss_box .boss_flex dl {
        width: 100%; }
    .boss_box dt {
      margin: 0 0 30px;
      padding: 0 0 30px 125px;
      height: 330px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: center;
      justify-content: center;
      align-items: flex-start; }
      .boss_box dt strong {
        font: 2.3rem/1.6em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        color: #171C61; }
        .boss_box dt strong br {
          display: none; }
        .boss_box dt strong span {
          display: block; } }
/*max-width:480px*/
/***************************************************/
/***************************************************/
/***************************************************/
.philosophy_box {
  max-width: 100%;
  width: 100%;
  padding: 70px 0 180px 300px;
  position: relative; }

.philosophy_item {
  margin: 0 auto;
  max-width: 1280px;
  width: calc(100% - 40px); }
  .philosophy_item h3 {
    text-align: center;
    font: 6.0rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 120px;
    color: #171C61; }
    .philosophy_item h3 br {
      display: none; }
    .philosophy_item h3 span {
      color: #black;
      display: block;
      font: 2.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 30px 0 0; }

.philosophy_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }
  .philosophy_flex h4 {
    text-align: center;
    font: 3.4rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    margin: 0 auto 30px; }
    .philosophy_flex h4 span {
      color: #171C61;
      font-weight: 700; }
    .philosophy_flex h4 small {
      margin: 15px 0 0;
      font: 2.0rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      display: block; }
    .philosophy_flex h4 br {
      display: none; }
  .philosophy_flex p {
    color: #595757;
    font: 1.6rem/2.2em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    text-align: justify;
    text-justify: inter-ideograph; }

.philosophy_flex_item {
  width: calc((100% - 100px)/3);
  max-width: 350px;
  padding: 190px 0 0;
  position: relative; }
  .philosophy_flex_item:before {
    position: absolute;
    content: "";
    display: block;
    height: 165px;
    width: 100%;
    top: 0; }
  .philosophy_flex_item.flex_item01:before {
    background: url("../images/about_us/philosophy_01.svg") center top no-repeat;
    background-size: contain; }
  .philosophy_flex_item.flex_item02:before {
    background: url("../images/about_us/philosophy_02.svg") center top no-repeat;
    background-size: contain; }
  .philosophy_flex_item.flex_item03:before {
    background: url("../images/about_us/philosophy_03.svg") center top no-repeat;
    background-size: contain; }

@media (max-width: 1280px) {
  .philosophy_box {
    padding: 70px 0 180px 220px; }

  .philosophy_flex_item {
    width: calc((100% - 80px)/3); }

  .philosophy_flex h4 {
    font: 3.4rem/1.3em 'Noto Sans JP', sans-serif;
    font-weight: 500; }
    .philosophy_flex h4 br {
      display: block; }
    .philosophy_flex h4 small {
      margin: 15px 0 0;
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500; }
  .philosophy_flex p {
    font: 1.5rem/2.0em 'Noto Sans JP', sans-serif;
    font-weight: 500; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .philosophy_box {
    max-width: 100%;
    width: 100%;
    padding: 70px 0 180px;
    position: relative; }

  .philosophy_item {
    margin: 0 auto;
    max-width: 1280px;
    width: calc(100% - 80px); }
    .philosophy_item h3 {
      text-align: center;
      font: 5.0rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 120px;
      color: #171C61; }
      .philosophy_item h3 span {
        color: #black;
        display: block;
        font: 2.4rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        margin: 30px 0 0; }

  .philosophy_flex {
    display: block;
    /* h4{
       text-align: center;
       font:3.4rem/1.0em 'Noto Sans JP', sans-serif;
       font-weight: 500;
       margin: 0 auto 30px;
       span{
         color: $main;
         font-weight: 700;
       }
       small{
         margin:15px 0 0;
       font:2.0rem/1.0em 'Noto Sans JP', sans-serif;
       font-weight: 500;
         display: block;
       }
     }//h4
     p{
       color: #595757;
       font:1.6rem/2.2em 'Noto Sans JP', sans-serif;
       font-weight: 500;
       text-align: justify;
       text-justify: inter-ideograph;
     }*/ }
    .philosophy_flex h4 br {
      display: none; }

  .philosophy_flex_item {
    width: 100%;
    margin: 0 auto 50px; }
    .philosophy_flex_item.flex_item03 {
      margin: 0 auto 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .philosophy_box {
    max-width: 100%;
    width: 100%;
    padding: 50px 0 100px;
    position: relative; }

  .philosophy_item {
    margin: 0 auto;
    max-width: 1280px;
    width: calc(100% - 40px); }
    .philosophy_item h3 {
      text-align: center;
      font: 4.5rem/1.3em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 100px;
      color: #171C61; }
      .philosophy_item h3 span {
        color: #black;
        display: block;
        font: 2.2rem/1.5em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        margin: 30px 0 0; }
      .philosophy_item h3 br {
        display: block; }

  .philosophy_flex {
    display: block; }
    .philosophy_flex h4 br {
      display: none; }

  .philosophy_flex_item {
    width: 100%;
    margin: 0 auto 50px; }
    .philosophy_flex_item.flex_item03 {
      margin: 0 auto 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .philosophy_item h3 {
    text-align: center;
    font: 3.8rem/1.3em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 80px;
    color: #171C61; }
    .philosophy_item h3 span {
      color: #black;
      display: block;
      font: 1.8rem/1.5em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 30px 0 0; }
    .philosophy_item h3 br {
      display: block; }

  .philosophy_flex {
    display: block; }
    .philosophy_flex h4 {
      font: 3.0rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500; }
      .philosophy_flex h4 small {
        font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 500; }

  .philosophy_flex_item {
    width: 100%;
    margin: 0 auto 50px;
    padding: 150px 0 0 0; }
    .philosophy_flex_item.flex_item03 {
      margin: 0 auto 0; }
    .philosophy_flex_item:before {
      position: absolute;
      content: "";
      display: block;
      height: 130px;
      width: 100%; } }
/*max-width:480px*/
/***************************************************/
/***************************************************/
/***************************************************/
.overview_box {
  max-width: 100%;
  width: 100%;
  padding: 70px 0 180px 300px;
  position: relative; }

.overview_item {
  margin: 0 auto;
  max-width: 1280px;
  width: calc(100% - 40px); }
  .overview_item h3 {
    width: 100%;
    text-align: center;
    color: #171C61;
    font: 4.0rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 auto 35px; }
    .overview_item h3 small {
      font: 1.3rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      display: block;
      margin: 10px 0 0; }

.overview_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 1080px;
  width: 100%;
  margin: 0 auto 115px; }
  .overview_link li {
    width: calc(100%/3);
    text-align: center;
    border-left: 1px solid #8B88AB; }
    .overview_link li:first-of-type {
      border: none; }
  .overview_link a {
    display: block;
    width: 100%;
    color: #fff;
    background-color: #171C61;
    font: 1.6rem/88px 'Noto Sans JP', sans-serif;
    font-weight: 500;
    padding: 0 0 2px; }
    .overview_link a:hover {
      background-color: gold;
      color: #000; }

@media (max-width: 1280px) {
  .overview_box {
    padding: 70px 0 180px 220px;
    position: relative; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .overview_box {
    padding: 0 0 180px 0;
    position: inherit; }

  .overview_item {
    margin: 0 auto;
    max-width: 1280px;
    width: 100%; }
    .overview_item h3 {
      width: 100%;
      text-align: center;
      color: #171C61;
      font: 4.0rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 auto 35px; }
      .overview_item h3 small {
        font: 1.3rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 500;
        display: block;
        margin: 10px 0 0; }

  .overview_link {
    position: sticky;
    top: 95px;
    max-width: 1080px;
    width: 100%;
    margin: 0 auto 115px; }
    .overview_link a {
      font: 1.6rem/70px 'Noto Sans JP', sans-serif;
      font-weight: 500; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .overview_link {
    top: 60px;
    margin: 0 auto 70px; }
    .overview_link a {
      font: 1.4rem/53px 'Noto Sans JP', sans-serif;
      font-weight: 500; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .overview_item h3 {
    font: 3.5rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700; }

  .overview_link {
    top: 45px;
    margin: 0 auto 70px; }
    .overview_link a {
      font: 1.4rem/43px 'Noto Sans JP', sans-serif;
      font-weight: 500; } }
/*max-width:480px*/
/***************************************************/
.outline {
  max-width: 1080px;
  margin: 0 auto 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }
  .outline dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    border-bottom: 1px solid #8B88AB;
    padding: 35px 30px; }
  .outline dt {
    width: 145px;
    color: #171C61;
    font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center; }
  .outline dd {
    width: calc(100% - 145px);
    font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    text-align: justify;
    text-justify: inter-ideograph; }
    .outline dd span {
      display: block;
      text-align: right; }
  .outline a {
    display: inline-block;
    margin: 0 0 0 25px;
    width: 190px;
    text-align: center;
    border: 1px solid #B5B5B6; }

.outline_flex_dl {
  width: calc((100% - 40px)/2);
  max-width: 480px; }

.outline_dl {
  width: 100%; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .outline dt {
    width: 120px; }
  .outline dd {
    width: calc(100% - 120px);
    font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
    font-weight: 400; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .outline dl {
    padding: 20px 10px; }
  .outline dt {
    width: 140px;
    padding: 0 20px; }
  .outline dd {
    width: calc(100% - 140px);
    font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    padding: 0 15px; }
  .outline a {
    display: block;
    margin: 15px 0 0; }

  .outline_flex_dl {
    width: 100%;
    max-width: 100%; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .outline {
    max-width: 1080px;
    margin: 0 auto 100px; }

  .outline dl {
    padding: 20px 20px; }
  .outline dt {
    width: 140px;
    padding: 0 0 10px;
    font: 1.6rem/1.8em 'Noto Sans JP', sans-serif;
    font-weight: 500; }
  .outline dd {
    width: 100%;
    font: 1.6rem/1.8em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    padding: 0 0 15px; }
  .outline a {
    display: block;
    margin: 15px 0 0; }

  .outline_flex_dl {
    width: 100%;
    max-width: 100%; } }
/*max-width:480px*/
/***************************************************/
.access {
  max-width: 1280px;
  margin: 0 auto 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }

.access_flex {
  width: calc(100%/2); }
  .access_flex img {
    width: 100%; }
  .access_flex dl {
    padding: 40px 20px; }
  .access_flex dt {
    font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #171C61;
    margin: 0 0 15px; }
  .access_flex dd {
    font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
    font-weight: 400; }
  .access_flex a {
    margin: 0 20px;
    background-color: #171C61;
    color: #fff;
    width: 300px;
    font: 1.6rem/50px 'Noto Sans JP', sans-serif;
    font-weight: 700;
    display: block;
    text-align: center;
    border-radius: 50px; }
    .access_flex a:hover {
      background-color: darkorange; }

.access_item {
  margin: 80px auto 0;
  width: 100%;
  max-width: 900px;
  border: 1px solid #171C61;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: center;
  justify-content: center;
  align-items: center;
  padding: 40px; }

.access_item_flex {
  padding: 0 0 0 55px;
  position: relative; }
  .access_item_flex dt {
    font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #171C61;
    margin: 0 0 10px; }
  .access_item_flex dd {
    font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 400; }
  .access_item_flex:before {
    position: absolute;
    content: "";
    display: block;
    width: 40px;
    height: 44px;
    left: 0; }
  .access_item_flex.access_item_flex_train:before {
    background: url("../images/about_us/train.svg") center center no-repeat;
    background-size: contain; }
  .access_item_flex.access_item_flex_car {
    margin: 0 40px 0 0; }
    .access_item_flex.access_item_flex_car:before {
      background: url("../images/about_us/car.svg") center center no-repeat;
      background-size: contain; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .access_item {
    margin: 80px auto 0;
    width: calc(100% - 40px);
    max-width: 480px;
    border: 1px solid #171C61;
    display: block;
    padding: 40px; }

  .access_item_flex {
    padding: 0 0 0 55px;
    position: relative; }
    .access_item_flex dt {
      font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      color: #171C61;
      margin: 0 0 10px; }
    .access_item_flex dd {
      font: 1.6rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 400; }
    .access_item_flex:before {
      position: absolute;
      content: "";
      display: block;
      width: 40px;
      height: 44px;
      left: 0; }
    .access_item_flex.access_item_flex_train:before {
      background: url("../images/about_us/train.svg") center center no-repeat;
      background-size: contain; }
    .access_item_flex.access_item_flex_car {
      margin: 0 0 40px; }
      .access_item_flex.access_item_flex_car:before {
        background: url("../images/about_us/car.svg") center center no-repeat;
        background-size: contain; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .access {
    max-width: 1280px;
    margin: 0 auto 200px;
    display: block; }

  .access_flex {
    width: 100%;
    max-width: 100%; }
    .access_flex img {
      width: 100%; }
    .access_flex dl {
      padding: 40px 40px;
      max-width: 480px;
      margin: 0 auto; }
    .access_flex dt {
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      color: #171C61;
      margin: 0 0 15px; }
    .access_flex dd {
      font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
      font-weight: 400; }
    .access_flex a {
      margin: 0 auto;
      background-color: #171C61;
      color: #fff;
      width: 300px;
      font: 1.6rem/50px 'Noto Sans JP', sans-serif;
      font-weight: 700;
      display: block;
      text-align: center;
      border-radius: 50px; }
      .access_flex a:hover {
        background-color: darkorange; }
    .access_flex.access_flex_left {
      margin: 0 0 50px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .access {
    margin: 0 auto 100px; }

  .access_flex dd {
    font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
    font-weight: 400; }
    .access_flex dd br {
      display: none; }
    .access_flex dd span {
      display: block; } }
/*max-width:480px*/
/***************************************************/
.quality_policy {
  max-width: 1080px;
  width: calc(100% - 40px);
  margin: 0 auto 150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }

.quality_policy_all {
  width: 100%;
  border: 1px solid #C9CACA;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }
  .quality_policy_all h4 {
    font: 2.4rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #171C61;
    margin: 0 0 40px; }

.quality_policy_box {
  width: 100%;
  border-bottom: 1px solid #C9CACA;
  padding: 50px 30px; }
  .quality_policy_box.last {
    border-bottom: none;
    border-top: 1px solid #C9CACA; }
  .quality_policy_box ul {
    max-width: 880px;
    width: 100%;
    margin: 0 auto 55px; }
  .quality_policy_box li {
    font: 1.9rem/1.8em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 30px;
    position: relative;
    padding: 0 0 0 55px; }
    .quality_policy_box li:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/about_us/check.svg") center center no-repeat;
      background-size: contain;
      width: 30px;
      height: 23px;
      left: 0;
      top: 7px; }
  .quality_policy_box dl {
    text-align: right; }
  .quality_policy_box dt {
    font: 1.5rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    margin: 0 0 15px; }
  .quality_policy_box dd {
    font: 2.6rem/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 500; }
    .quality_policy_box dd span {
      font: 1.4rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 15px 0 0; }
  .quality_policy_box img {
    max-width: 640px;
    width: 100%;
    display: block;
    margin: 0 auto;
    border: 1px solid #efefef; }

.quality_policy_flex {
  width: calc(100%/2);
  padding: 40px 30px;
  font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
  font-weight: 400; }
  .quality_policy_flex:nth-child(2n) {
    border-right: 1px solid #C9CACA; }
  .quality_policy_flex img {
    max-width: 100%;
    display: block;
    margin: 0 auto 30px; }

@media (max-width: 768px) {
  .quality_policy {
    margin: 0 auto 100px; }

  .quality_policy_box {
    width: 100%;
    border-bottom: 1px solid #C9CACA;
    padding: 50px 30px; }

  .quality_policy_all {
    width: 100%; }

  .quality_policy_flex {
    width: 100%;
    padding: 40px 30px;
    font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
    font-weight: 400; }
    .quality_policy_flex:nth-child(2n) {
      border-right: none;
      border-bottom: 1px solid #C9CACA; }
    .quality_policy_flex img {
      max-width: 100%;
      display: block;
      margin: 0 auto 30px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .quality_policy {
    margin: 0 auto 100px; }

  .quality_policy_all h4 {
    font: 2.2rem/1em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 30px; }

  .quality_policy_box {
    width: 100%;
    border-bottom: 1px solid #C9CACA;
    padding: 50px 20px; }
    .quality_policy_box ul {
      max-width: 880px;
      width: 100%;
      margin: 0 auto 55px; }
    .quality_policy_box li {
      font: 1.7rem/1.8em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 30px;
      position: relative;
      padding: 0 0 0 30px; }
      .quality_policy_box li:before {
        width: 20px;
        left: 0;
        top: 5px; }
    .quality_policy_box dl {
      text-align: right; }
    .quality_policy_box dt {
      font: 1.4rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 0 15px; }
    .quality_policy_box dd {
      font: 2.4rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500; }
      .quality_policy_box dd span {
        font: 1.4rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 500;
        margin: 0 15px 0 0; } }
/*max-width:480px*/
/***************************************************/
.quality_ninsyou {
  max-width: 1080px;
  width: calc(100% - 40px);
  margin: 0 auto 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }
  .quality_ninsyou img {
    width: 100%;
    border: 1px solid #ccc; }
  .quality_ninsyou h4 {
    font: 2.4rem/1em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #171C61;
    margin: 0 0 40px; }

@media (max-width: 768px) {
  .quality_ninsyou {
    max-width: 1080px;
    margin: 0 auto; }
    .quality_ninsyou h4 {
      margin: 0 0 30px; } }
/*max-width:480px*/
@media (max-width: 480px) {
  .quality_ninsyou h4 {
    font: 2.2rem/1em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #171C61;
    margin: 0 0 30px; } }
/*max-width:480px*/
/***************************************************/
/***************************************************/
/***************************************************/
.manufacturing_box {
  max-width: 100%;
  width: 100%;
  padding: 70px 0 180px 300px;
  position: relative; }

.manufacturing_item {
  max-width: 1080px;
  width: calc(100% - 40px); }
  .manufacturing_item .pic {
    position: relative;
    overflow: hidden; }
    .manufacturing_item .pic:before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      background-color: #fff;
      display: block;
      left: 0;
      top: 0; }
  .manufacturing_item img {
    max-width: 100%;
    display: block;
    border-radius: 10px; }

.anime:before {
  animation-name: fadeInAnime;
  /*1で解説*/
  animation-fill-mode: forwards;
  /*2で解説*/
  animation-duration: 0.5s;
  /*3で解説*/
  animation-iteration-count: 1;
  /*4で解説*/
  animation-timing-function: linear;
  /*5で解説*/
  animation-delay: 0.1s;
  /*6で解説*/
  animation-direction: normal;
  /*7で解説*/ }

/*1で解説*/
@keyframes fadeInAnime {
  0% {
    left: 0; }
  100% {
    left: 100%; } }
.manufacturing_dat {
  margin: 0 auto 170px;
  position: relative;
  padding: 90px 0 0; }
  .manufacturing_dat:before {
    position: absolute;
    left: -20px;
    top: 20px;
    font: 40rem/0.7em 'Barlow', sans-serif;
    font-weight: 700;
    font-style: italic;
    color: #EFEFF4;
    z-index: -1; }
  .manufacturing_dat.manufacturing03:before {
    content: "03"; }
  .manufacturing_dat.manufacturing03 h3 br {
    display: none; }
  .manufacturing_dat.manufacturing02:before {
    content: "02"; }
  .manufacturing_dat.manufacturing02 h3 br {
    display: none; }
  .manufacturing_dat.manufacturing01:before {
    content: "01"; }
  .manufacturing_dat h3 {
    font: 4.4rem/1.7em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #171C61;
    margin: 0 0 40px;
    opacity: 0;
    transition: 1s; }
    .manufacturing_dat h3.fadeUp {
      opacity: 1; }
  .manufacturing_dat p {
    opacity: 0;
    font: 1.6rem/2.2em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    margin: 0 0 50px;
    text-align: justify;
    text-justify: inter-ideograph;
    opacity: 0;
    transition: 1.5s; }
    .manufacturing_dat p.fadeUp {
      opacity: 1; }

@media (max-width: 1280px) {
  .manufacturing_box {
    max-width: 100%;
    width: 100%;
    padding: 70px 0 180px 220px;
    position: relative; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .manufacturing_box {
    width: 100%;
    padding: 70px 0 180px 0px; }

  .manufacturing_item {
    max-width: 1080px;
    width: calc(100% - 80px);
    margin: 0 auto !important; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .manufacturing_box {
    width: 100%;
    padding: 40px 0 100px 0px; }

  .manufacturing_item {
    max-width: 640px;
    width: calc(100% - 40px);
    margin: 0 auto !important; }

  .manufacturing_dat {
    margin: 0 auto 100px;
    position: relative;
    padding: 90px 0 0; }
    .manufacturing_dat:before {
      position: absolute;
      left: -20px;
      top: 30px;
      font: 30rem/0.7em 'Barlow', sans-serif;
      font-weight: 700;
      font-style: italic;
      color: #EFEFF4;
      z-index: -1; }
    .manufacturing_dat.manufacturing03 h3 br {
      display: block; }
    .manufacturing_dat.manufacturing02 h3 br {
      display: block; }
    .manufacturing_dat h3 {
      font: 3.3rem/1.7em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      color: #171C61;
      margin: 0 0 50px; }
    .manufacturing_dat p {
      font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
      font-weight: 400;
      margin: 0 0 50px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .manufacturing_dat {
    margin: 0 auto 80px;
    position: relative;
    padding: 90px 0 0; }
    .manufacturing_dat:before {
      position: absolute;
      left: -20px;
      top: 30px;
      font: 22rem/0.7em 'Barlow', sans-serif;
      font-weight: 700; }
    .manufacturing_dat h3 {
      font: 2.4rem/1.7em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      color: #171C61;
      margin: 0 0 20px; }
    .manufacturing_dat p {
      font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
      font-weight: 400;
      margin: 0 0 30px; } }
/*max-width:480px*/
