@charset "UTF-8";
*, *::before, *::after {
  box-sizing: border-box; }

* {
  margin: 0; }

html, body {
  height: 100%; }

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased; }
img, picture, video, canvas, svg {
  max-width: 100%; }

input, button, textarea, select {
  font: inherit; }

#root, #__next {
  isolation: isolate; }

dl, ol, ul, li {
  list-style: none;
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse; }

textarea {
  white-space: revert; }

html {
  font-size: 0.625em; }

a {
  text-decoration: none;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  color: inherit; }

a img {
  -webkit-transition: all 0.4s;
  transition: all 0.4s; }

a:hover {
  text-decoration: none; }

img {
  max-width: 100%;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast; }

.bold {
  font-weight: bold !important; }

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"],
select,
textarea {
  max-width: 100%;
  font-size: 16px; }

input,
select,
textarea,
button,
optgroup,
label {
  font-family: inherit; }

button,
select {
  text-transform: none; }

select {
  white-space: nowrap; }

textarea {
  overflow: auto; }

button,
[type="submit"],
[type="reset"],
[type="button"] {
  padding: 0;
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  box-sizing: border-box;
  cursor: pointer; }
  button::-webkit-search-decoration,
  [type="submit"]::-webkit-search-decoration,
  [type="reset"]::-webkit-search-decoration,
  [type="button"]::-webkit-search-decoration {
    display: none; }
  button::focus,
  [type="submit"]::focus,
  [type="reset"]::focus,
  [type="button"]::focus {
    outline-offset: -2px; }
  button::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="button"]::-moz-focus-inner {
    padding: 0;
    border-style: none; }
  button::-moz-focusring,
  [type="submit"]::-moz-focusring,
  [type="reset"]::-moz-focusring,
  [type="button"]::-moz-focusring {
    outline: ButtonText dotted 1px; }

[type="checkbox"],
[type="radio"] {
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0; }
  [type="search"]:focus {
    outline: none; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

main {
  display: block; }

b, strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0; }


body {
  width: 100%;
font-family: 'Roboto', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #353535;
  -webkit-text-size-adjust: 100%; }

.inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .inner {
      padding: 0 2vw; } }

/* =================================================
  utility
================================================= */
.u-fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: opacity 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out;
  transition: opacity 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out;
  transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
  transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out; }
  .u-fadeInUp.in {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }

.u-pc {
  display: none; }
  @media screen and (min-width: 1024px) {
    .u-pc {
      display: inherit !important; } }

.u-tb {
  display: none; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .u-tb {
      display: inherit !important; } }

.u-sp {
  display: none; }
  @media screen and (max-width: 767px) {
    .u-sp {
      display: inherit !important; } }

/* =================================================
  compornents
================================================= */
.nbo_header {
  text-align: center;
  background-image: url(bg_nbo_header.jpg);
  background-repeat: repeat-x;
  background-position: top center; }
  @media screen and (max-width: 767px) {
    .nbo_header {
      display: none; } }

.sp_nbo_header {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp_nbo_header {
      display: block; } }

/* =================================================
  project
================================================= */
.mb10 {
  margin-bottom: 10px; }

.mb30 {
  margin-bottom: 30px; }

.mb40 {
  margin-bottom: 40px; }

.pb80 {
  padding-bottom: 80px; }

@media screen and (max-width: 1024px) {
  .pb80_tb {
    padding-bottom: 80px; } }

.fl {
  float: left;
    width: 280px;
  margin: 0 30px 50px 0; }
  @media screen and (max-width: 767px) {
    .fl {
      max-width: 280px;
      float: none;
      margin: 0 auto 20px; } }

.fr {
  float: right;
    width: 280px;
  margin: 0 0 50px 30px; }
  @media screen and (max-width: 767px) {
    .fr {
      max-width: 280px;
      float: none;
      margin: 0 auto 20px; } }

.clearfit {
  content: "";
  display: block;
  clear: both; }

@media screen and (max-width: 767px) {
  .pc_tb_only {
    display: none; } }

.tb_sp_only {
  display: none; }
  @media screen and (max-width: 1024px) {
    .tb_sp_only {
      display: block; } }

.sp_only {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp_only {
      display: block; } }

.bs {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }

.wrapper {
  background-image: url("bg_pc.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  background-attachment: fixed; }
  @media screen and (max-width: 767px) {
    .wrapper {
      background-image: url("bg_sp.jpg"); } }

.sp_nbo_header img {
  width: 100%;
  height: auto; }

.sec__mv {
  background-image: url("mv_bg_pc.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  width: 100%;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 60px 0 240px; }
  .sec__mv.leaf {
    padding: 20px 0 140px; }
    @media screen and (max-width: 1024px) {
      .sec__mv.leaf {
        padding: 20px 0 50px; } }
    @media screen and (max-width: 767px) {
      .sec__mv.leaf {
        padding: 20px 0; } }
  @media screen and (max-width: 1024px) {
    .sec__mv {
      padding: 60px 0; } }
  @media screen and (max-width: 767px) {
    .sec__mv {
      padding: 20px 0; } }
  .sec__mv-logo {
    max-width: 1000px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0 40px; }
    @media screen and (max-width: 767px) {
      .sec__mv-logo {
        column-gap: 20px; } }
  .sec__mv-ttl {
    margin: 30px 20px 10px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .sec__mv-ttl {
        margin: 30px 20px 20px; } }
  .sec__mv-txt {
    width: 300px;
    color: #ccdf9f;
    font-size: 30px;
    text-align: center;
    background-color: #000;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .sec__mv-txt {
        font-size: 20px; } }
  .sec__mv-table {
    width: 100%;
    max-width: 1000px;
    margin: 40px auto 0;
    table-layout: fixed;
    font-size: 16px;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .sec__mv-table {
        font-size: 14px; } }
    .sec__mv-table th, .sec__mv-table td {
      padding: 8px 20px;
      border-bottom: 1px solid #ccc; }
      @media screen and (max-width: 767px) {
        .sec__mv-table th, .sec__mv-table td {
          padding: 8px 10px; } }
    .sec__mv-table th {
      width: 80px;
      font-weight: bold;
      background-color: rgba(4, 40, 103, 0.4); }
      @media screen and (max-width: 767px) {
        .sec__mv-table th {
          width: 64px; } }
    .sec__mv-table td {
      background: linear-gradient(120deg, rgba(4, 40, 103, 0.3) 0%, rgba(4, 40, 103, 0.45) 100%); }
    .sec__mv-table tr:last-child th, .sec__mv-table tr:last-child td {
      border-bottom: none; }

.sec__lead {
  max-width: 1000px;
  position: relative;
  top: -200px;
  border-top: 12px solid;
  border-image: linear-gradient(to right, #0067b6, #64c2bf) 1;
  background-color: #fff;
  margin: 0 auto;
  padding: 50px 100px; }
  @media screen and (max-width: 1024px) {
    .sec__lead {
      padding: 50px;
      top: 0; } }
  @media screen and (max-width: 767px) {
    .sec__lead {
      border-top: 8px solid;
      padding: 30px 5px; } }
  .sec__lead-ttl {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .sec__lead-ttl {
        margin-bottom: 15px; } }
  @media screen and (max-width: 767px) {
    .sec__lead-txt {
      font-size: 15px; } }

.sec__index {
  margin-top: -140px;
  padding-bottom: 100px; }
  @media screen and (max-width: 1024px) {
    .sec__index {
      top: 0;
      margin-top: 80px;
      padding-bottom: 80px; } }
  .sec__index-item {
    background-image: url("index_bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    margin-bottom: 65px;
    padding: 20px; }
    @media screen and (max-width: 767px) {
      .sec__index-item {
        padding: 10px; } }
    .sec__index-item.last {
      margin-bottom: 0; }
    .sec__index-item-a {
      display: block; }
      .sec__index-item-a:hover .sec__index-item-inner {
        background-color: #fff; }
    .sec__index-item-inner {
      background-color: rgba(255, 255, 255, 0.9);
      padding: 20px 0 30px;
      transition: background-color 0.3s; }
  .sec__index-logo {
    text-align: center; }
  .sec__index-ttl {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    background: linear-gradient(to right, #0067b6, #64c2bf);
    margin: 20px 0; }
    @media screen and (max-width: 767px) {
      .sec__index-ttl {
        font-size: 20px; } }
    .sec__index-ttl.first {
      margin: 0 0 20px;
      padding: 40px 0; }
  .sec__index-txt {
    font-size: 22px;
    font-weight: bold;
    font-feature-settings: "palt";
    margin-bottom: 20px;
    padding: 0 40px;
    display: flex;
    flex-direction: column; }
    @media screen and (max-width: 767px) {
      .sec__index-txt {
        font-size: 18px;
        padding: 0 10px; } }
  .sec__index-profile {
    display: flex;
    flex-wrap: wrap;
    padding: 0 35px;
    gap: 30px; }
    @media screen and (max-width: 767px) {
      .sec__index-profile {
        flex-direction: column;
        padding: 0 10px;
        gap: 20px; } }
    .sec__index-profile-item {
      width: calc(50% - 15px);
      display: flex; }
      @media screen and (max-width: 767px) {
        .sec__index-profile-item {
          width: 100%; } }
      .sec__index-profile-item-img {
        flex: 0 0 auto;
        width: 120px; }
        @media screen and (max-width: 767px) {
          .sec__index-profile-item-img {
            width: 90px; } }
      .sec__index-profile-item-name {
        line-height: 1.4;
        padding-left: 20px; }
        @media screen and (max-width: 767px) {
          .sec__index-profile-item-name {
            padding-left: 10px;
            font-size: 15px; } }
        .sec__index-profile-item-name .lg {
          font-size: 20px;
          font-weight: bold; }
          @media screen and (max-width: 767px) {
            .sec__index-profile-item-name .lg {
              font-size: 18px; } }

.container {
  max-width: 1000px;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
  top: -100px; }
  @media screen and (max-width: 1024px) {
    .container {
      top: 0;
      max-width: 95%; } }

.leaf-inner {
  max-width: 800px;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .leaf-inner {
      max-width: 100%;
      padding: 0 50px; } }
  @media screen and (max-width: 767px) {
    .leaf-inner {
      padding: 0 15px; } }

.sec__nav {
  color: #fff;
  background-color: #000; }
  .sec__nav-list {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    padding: 20px 0; }
    @media screen and (max-width: 1024px) {
      .sec__nav-list {
        max-width: 100%;
        padding: 20px 50px; } }
    @media screen and (max-width: 767px) {
      .sec__nav-list {
        flex-wrap: wrap;
        justify-content: flex-start;
        padding: 0;
        margin-top: 10px; } }
  .sec__nav-item {
    border-right: 1px solid #fff; }
    .sec__nav-item:last-child {
      border-right: none; }
    @media screen and (max-width: 767px) {
      .sec__nav-item {
        text-align: center;
        border: none;
        width: 50%;
        position: relative;
        height: 42px; }
        .sec__nav-item::before {
          position: absolute;
          display: block;
          content: "";
          top: 50%;
          right: 0;
          width: 1px;
          height: 2rem;
          background: #fff;
          transform: translateY(-50%); }
        .sec__nav-item:nth-of-type(2n)::before {
          display: none; } }
    .sec__nav-item > a {
      display: block;
      padding: 0 12px; }
      @media screen and (max-width: 1024px) {
        .sec__nav-item > a {
          display: flex;
          justify-content: center;
          align-items: center;
          text-align: center;
          height: 100%;
          line-height: 1.3;
          font-size: 15px; } }
      @media screen and (max-width: 767px) {
        .sec__nav-item > a {
          padding: 5px 10px;
          font-size: 12px; } }
      .sec__nav-item > a.first {
        padding-left: 0; }
        @media screen and (max-width: 767px) {
          .sec__nav-item > a.first {
            padding-left: 10px; } }
    .sec__nav-item:hover {
      color: #ccdf9f; }

.sec__content {
  margin-bottom: 50px; }
  .sec__content-logo {
    display: flex;
    align-items: center;
    margin: 30px 0; }
    @media screen and (max-width: 1024px) {
      .sec__content-logo {
        margin: 50px 0; } }
    @media screen and (max-width: 767px) {
      .sec__content-logo {
        flex-direction: column;
        margin: 30px 0 15px; } }
    .sec__content-logo > img {
      margin-right: 40px; }
      @media screen and (max-width: 767px) {
        .sec__content-logo > img {
          margin-right: 0;
          margin-bottom: 15px; } }
    .sec__content-logo-txt {
      width: 100%;
      color: #fff;
      font-size: 30px;
      font-weight: bold;
      background: linear-gradient(to right, #0067b6, #64c2bf);
      padding-left: 30px; }
      @media screen and (max-width: 767px) {
        .sec__content-logo-txt {
          padding: 0;
          text-align: center;
          font-size: 20px; } }
  .sec__content-ttl {
    font-size: 30px;
    font-weight: 600;
    line-height: 1.4;
    font-feature-settings: "palt";
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 6px solid;
    border-image: linear-gradient(to right, #0067b6, #64c2bf) 1; }
    @media screen and (max-width: 767px) {
      .sec__content-ttl {
        border-bottom: 4px solid;
        font-size: 20px;
        margin-bottom: 15px;
        padding-bottom: 15px; } }
  .sec__content-lead {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .sec__content-lead {
        font-size: 16px;
        margin-bottom: 40px; } }
  .sec__content-txt {
    clear: both; }
    .sec__content-txt > p {
      line-height: 1.7;
      margin-bottom: 20px; }
      @media screen and (max-width: 767px) {
        .sec__content-txt > p {
          margin-bottom: 20px; } }
    .sec__content-txt-lg {
      font-size: 22px;
      font-weight: bold;
      display: flex;
      align-items: center;
      padding-top: 30px;
      line-height: 1.4 !important; }
      .sec__content-txt-lg.pt0 {
        padding-top: 0; }
      @media screen and (max-width: 767px) {
        .sec__content-txt-lg {
          font-size: 18px;
          line-height: 1.6 !important; } }
      .sec__content-txt-lg::before {
        content: "";
        width: 70px;
        height: 4px;
        background: linear-gradient(to right, #0067b6, #64c2bf);
        margin-right: 20px; }
        @media screen and (max-width: 767px) {
          .sec__content-txt-lg::before {
            width: 50px;
            height: 2px;
            margin-right: 10px; } }
  .sec__content-pic-name {
    margin-top: 10px;
    line-height: 1.4; }
    @media screen and (max-width: 280px) {
      .sec__content-pic-name {
        font-size: 14px; } }
    .sec__content-pic-name-cap {
      margin-top: 15px;
      font-size: 14px; }
    .sec__content-pic-name .lg {
      font-size: 18px;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        .sec__content-pic-name .lg {
          font-size: 16px; } }

.sec__info {
  margin-bottom: 65px; }
  @media screen and (max-width: 767px) {
    .sec__info {
      text-align: center; } }
  .sec__info-ttl {
    color: #fff;
    background-color: #000;
    font-size: 22px;
    font-weight: bold;
    padding: 5px 0 5px 28px; }
    @media screen and (max-width: 767px) {
      .sec__info-ttl {
        font-size: 18px;
        padding: 5px 0; } }
  .sec__info-content {
    display: flex;
    align-items: center;
    border: 1px solid #000;
    padding: 25px 30px; }
    @media screen and (max-width: 767px) {
      .sec__info-content {
        flex-direction: column; } }
    .sec__info-content-logo {
      margin-right: 40px; }
      @media screen and (max-width: 767px) {
        .sec__info-content-logo {
          margin: 0 0 20px; } }
      .sec__info-content-logo-a:hover .sec__info-content-logo-a-img {
        opacity: 0.7; }
    .sec__info-content-txt {
      border-left: 1px solid #000;
      padding-left: 40px; }
      @media screen and (max-width: 767px) {
        .sec__info-content-txt {
          width: 100%;
          border-left: none;
          border-top: 1px solid #000;
          padding: 20px 0 0; } }
      .sec__info-content-txt > p:hover {
        color: #d54d14; }
      .sec__info-content-txt > p > a {
        display: block; }

.sec__link {
  margin-bottom: 50px; }
  .sec__link-content {
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px; }
    @media screen and (max-width: 767px) {
      .sec__link-content {
        flex-direction: column; } }
  .sec__link-item {
    width: calc(50% - 20px);
    border-top: 1px solid #b3b3b3;
    display: flex;
    align-items: center;
    column-gap: 5%;
    padding: 35px 0; }
    @media screen and (max-width: 767px) {
      .sec__link-item {
        justify-content: center;
        width: 100%;
        padding: 20px 0px; } }
    .sec__link-item.bb {
      border-bottom: 1px solid #b3b3b3; }
      @media screen and (max-width: 767px) {
        .sec__link-item.bb {
          border-bottom: none; } }
    @media screen and (max-width: 767px) {
      .sec__link-item.bb-sp {
        border-bottom: 1px solid #b3b3b3; } }
    .sec__link-item-img {
      width: 30%;
      transition: 0.3s; }
      @media screen and (max-width: 767px) {
        .sec__link-item-img {
          max-width: 150px; } }
      .sec__link-item-img > a {
        display: block; }
      .sec__link-item-img:hover {
        opacity: 0.7; }
    .sec__link-item-ttl {
      width: 65%;
      font-size: 18px;
      font-weight: bold;
      transition: 0.3s; }
      @media screen and (max-width: 767px) {
        .sec__link-item-ttl {
          font-size: 16px; } }
      .sec__link-item-ttl > a {
        display: block; }
      .sec__link-item-ttl:hover {
        opacity: 0.6; }

/*------------------------------------------------*/
#na_partner {
	width: 100%;
	height: 30px;
	position: relative;
	border-bottom: 1px solid #C7C7C7;
    background-color: #FFF;
}
#na_partner .partner_inner {
    max-width: 966px;
	margin-right: auto;
	margin-left: auto;
    text-align: center;
}
#na_partner .partner_ti {
	height: 30px;
    font-family: "Arial", Gadget, "sans-serif";
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    color: #999999;
    padding-top: 7px;
}
#na_partner .client_name {
    position: absolute;
    font-family: "Arial", Gadget, "sans-serif";
    font-size: 16px;
    line-height: 100%;
    color: #686868;
    top: 7px;
}
#na_partner .client_logo {
    height: 26px;
    position: absolute;
    font-family: "Arial", Gadget, "sans-serif";
    font-size: 16px;
    line-height: 100%;
    color: #686868;
    top: 2px;
}

@media screen and (max-width: 995px) { /* sp */
#na_partner .client_name {
    margin-left: 14px;
}
}
@media screen and (max-width: 780px) { /* sp */
#na_partner {
	width: 100%;
	height: auto;
    padding-bottom: 8px;
}
#na_partner .client_name {
    position: static;
    font-family: "Arial", Gadget, "sans-serif";
    color: #686868;
    top: 0px;
    margin-left: 0;
}
#na_partner .client_logo {
    position: static;
    font-family: "Arial", Gadget, "sans-serif";
    font-size: 16px;
    line-height: 100%;
    color: #686868;
    top: 0px;
}
}
/*------------------------------------------------*/
.reviewtop {
  text-align: center;
  padding-bottom: 50px;
  transition: 0.3s; }
  .reviewtop:hover {
    opacity: 0.7; }
.reviewtop a {
    font-weight: 600;
    display: inline-block;
    color: #FFFFFF;
    background-color: #000000;
    padding:14px 2em;
}
.wardbreak {
    overflow-wrap: break-word;
}
/* =================================================
  Add
================================================= */
