/**
 * ===================================================================
 * common styles
 *
 * -------------------------------------------------------------------
*/
header {
  z-index: -1;
  width: 100%;
  height: 95vh;
  text-align: center;
  padding: 0;
  background-image: url("../img/saigon-3829005.jpg");
  background-attachment: fixed;
  background-position: top center;
  background-size: cover; }

.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 0;
  padding: 30px 0;
  background-color: rgba(30, 30, 30, 0.35);
  z-index: 50;
  -webkit-transition: all .5s ease-in;
  transition: all .5s ease-in;
  -webkit-animation: fadeIn 3s ease 0s 1 normal;
  animation: fadeIn 3s ease 0s 1 normal; }
  .header h1 {
    width: 38%;
    max-height: 60px;
    text-align: left;
    margin: 0 0 0 2%; }
    .header h1 svg path, .header h1 svg rect, .header h1 svg polyline, .header h1 svg polygon {
      fill: white; }
  .header nav {
    width: 58%;
    text-align: right;
    margin: 3px 2% 0 0; }
    .header nav ul.forPC li {
      display: inline-block;
      margin-bottom: 0; }
      .header nav ul.forPC li i {
        color: #ccc;
        margin-right: .35em; }
      .header nav ul.forPC li.phone {
        position: absolute;
        top: 30px;
        right: 2%;
        width: 7.5em;
        font-size: 4.0rem; }
        .header nav ul.forPC li.phone a em {
          color: #fff; }
  .header.fix {
    position: fixed;
    top: 0;
    padding: 10px 0;
    background: rgba(255, 255, 255, 0.5);
    z-index: 100;
    -webkit-box-shadow: 0 0 12px #999;
    box-shadow: 0 0 12px #999; }
    .header.fix h1 {
      height: 40px; }
      .header.fix h1 svg {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
        width: 165px;
        height: 40px; }
        .header.fix h1 svg path, .header.fix h1 svg rect, .header.fix h1 svg polyline, .header.fix h1 svg polygon {
          fill: rgba(0, 0, 0, 0.5); }
    .header.fix nav {
      margin-top: 0; }
      .header.fix nav ul.forPC li.phone {
        font-size: 3.0rem;
        top: 10px; }
        .header.fix nav ul.forPC li.phone a em, .header.fix nav ul.forPC li.phone i {
          color: #333; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

main h3.title {
  font-size: 2.8rem; }

.first_view {
  height: 70vh;
  text-align: center;
  margin-top: -75vh;
  padding: 0; }
  .first_view h2 {
    display: inline-block;
    color: white;
    font-size: 5.2rem;
    font-weight: bold;
    line-height: 1.2;
    padding: 0 .35em;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(45%, transparent), color-stop(90%, #fa2828));
    background: linear-gradient(transparent 45%, #fa2828 90%);
    text-shadow: 2px 2px 5px #000; }
  .first_view h3 {
    width: 100%;
    color: #ffff00;
    font-size: 4.8rem;
    font-weight: 400;
    margin-bottom: 0;
    text-shadow: 2px 2px 5px #000; }
  .first_view .circle_message li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 350px;
    background: url("../img/circle_bg.png") no-repeat center center;
    background-size: contain;
    font-size: 6.0rem;
    font-weight: bold;
    line-height: 1.3;
    color: #1b0342;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: .5em 1%;
    text-shadow: 1px 1px 3px #fff; }

.rainbow {
  position: relative;
  height: 8rem;
  line-height: 8rem;
  color: white;
  font-size: 2.4rem;
  padding: 0 5rem;
  background: linear-gradient(-45deg, rgba(241, 126, 237, 0.8), rgba(81, 0, 129, 0.8), rgba(59, 0, 255, 0.8), rgba(0, 128, 12, 0.8), rgba(250, 255, 18, 0.8), rgba(254, 167, 0, 0.8), rgba(255, 32, 0, 0.8));
  background-size: 400% 400%;
  -webkit-animation: rainbow 20s ease infinite;
  animation: rainbow 20s ease infinite; }
  .rainbow:hover {
    opacity: .5; }

@-webkit-keyframes rainbow {
  0% {
    background-position: 0% 51%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 51%; } }

@keyframes rainbow {
  0% {
    background-position: 0% 51%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 51%; } }

.second_view {
  padding: 9em 0;
  background-color: white; }
  .second_view article {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .second_view article p {
      width: 100%;
      text-align: center;
      margin-bottom: 0; }
      .second_view article p.rainbow {
        width: 90%;
        font-size: 3.0rem;
        height: 10rem;
        padding: 1rem 0; }
      .second_view article p a {
        color: white; }
        .second_view article p a:link, .second_view article p a:visited {
          color: white; }
    .second_view article img {
      display: block;
      max-width: 100%;
      height: auto;
      width: auto;
      margin: auto; }

.third_view {
  text-align: center;
  padding: 7em 0;
  background-image: url("../img/vietnam-3022090_1920.jpg");
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center top;
  background-size: cover; }
  .third_view .container h2 {
    font-size: 3.8rem;
    color: white;
    margin-bottom: 1.5em; }
  .third_view .container h3 {
    color: red;
    font-size: 3.0rem;
    font-weight: bold; }
  .third_view .container p {
    font-size: 2.4rem; }
  .third_view .container article {
    max-width: 800px;
    margin: auto;
    padding: 25px;
    background-color: rgba(255, 255, 255, 0.65);
    border: solid 10px rgba(255, 255, 255, 0.5);
    border-radius: 15px; }
    .third_view .container article ul {
      margin-bottom: 2.5em;
      padding: 0 0 1.5em 2.5em;
      border-bottom: solid 1px white; }
      .third_view .container article ul li {
        font-size: 2.4rem;
        text-align: left; }

.fourth_view {
  padding: 10em 0; }
  .fourth_view h2 {
    margin-bottom: 1.5em; }
  .fourth_view img {
    margin-bottom: .75em; }

.fifth_view {
  padding: 8em 0;
  background-image: linear-gradient(135deg, #f3e7e9 0%, #e3eeff 100%); }
  .fifth_view h2 {
    margin-bottom: 1.25em; }
  .fifth_view p {
    text-align: center;
    margin: 3em auto 0; }
    .fifth_view p button {
      display: block;
      margin: 0 auto; }
  .fifth_view ul {
    font-size: 1.4rem;
    font-family: "PT Sans", "Noto Sans Japanese", sans-serif; }
  .fifth_view img {
    display: block;
    width: 80%;
    height: auto;
    margin: 0 10% 2em;
    background-image: linear-gradient(-160deg, #fff 0%, #dfe9f3 100%);
    border-radius: 50%; }
  .fifth_view th, .fifth_view td {
    padding: 1rem .5rem .35rem;
    border-bottom: 1px solid #ccc; }
  .fifth_view th {
    white-space: nowrap; }
  .fifth_view td span {
    display: block; }

.search_area {
  padding-bottom: 0; }
  .search_area article {
    padding: 10px 15px 5px;
    border: solid 1px #ddd;
    border-radius: 5px; }
  .search_area .skill p *, .search_area .japanese_ability p * {
    display: inline-block; }
  .search_area .skill h3 {
    width: 100%;
    margin-bottom: .15em; }
  .search_area .skill p {
    width: 49%;
    line-height: 1;
    margin: 0 1% 0 0; }
    .search_area .skill p label {
      margin-bottom: 0; }
  .search_area .japanese_ability p {
    width: 99%;
    margin: .25em 1% .1em 0; }

.list_view {
  padding: 0 0 1.5em; }
  .list_view #counting {
    width: 98%;
    margin: 0 1% .25em; }
  .list_view table {
    width: 98%;
    margin: 0 1%; }
  .list_view .fixheader {
    background-color: white; }
    .list_view .fixheader td {
      border-bottom: none; }
  .list_view th, .list_view td {
    text-align: center; }
  .list_view th {
    color: #666;
    background-color: rgba(221, 247, 252, 0.8);
    border-bottom: none;
    padding: 1rem 2rem; }
  .list_view td {
    padding: .75rem 2rem; }

#contact {
  background-image: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%); }
  #contact form {
    width: 100%; }
  #contact dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #contact dl.number, #contact dl.comment {
      -webkit-box-align: initial;
      -ms-flex-align: initial;
      align-items: initial; }
    #contact dl.number dt, #contact dl.comment dt {
      padding-top: 15px; }
  #contact dt {
    width: 35%;
    text-align: right;
    font-weight: bold; }
    #contact dt label {
      color: #666;
      font-size: 1.8rem; }
  #contact dd {
    width: 65%; }
    #contact dd input {
      width: 100%;
      font-family: sans-serif;
      font-size: 1.8rem; }
    #contact dd textarea {
      width: 100%;
      font-family: sans-serif;
      font-size: 1.8rem;
      min-height: 15rem; }
  #contact ul li {
    display: inline-block;
    width: 20%;
    margin: 1rem 0 0; }
    #contact ul li button {
      width: 85%;
      margin: 1rem 0 0; }
      #contact ul li button i {
        color: #555;
        margin-right: 10px; }

.send {
  text-align: center;
  padding: 15vh 0 6em; }
  .send h3 {
    font-size: 3.0rem;
    margin-bottom: 2em;
    text-shadow: 2px 2px 5px #666; }
  .send p {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 1.25em; }

footer {
  display: block; }
  footer .copyright {
    text-align: center;
    font-size: 1.2rem; }
    footer .copyright p {
      margin-bottom: 0; }

#page_top {
  width: 60px;
  height: 60px;
  position: fixed;
  right: 20px;
  bottom: -60px;
  background: #ef3f98;
  opacity: 0.6;
  border-radius: 50%; }
  #page_top a {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    text-decoration: none; }
    #page_top a::before {
      font-family: "Font Awesome 5 Free";
      content: '\f102';
      font-size: 40px;
      font-weight: 900;
      color: #fff;
      position: absolute;
      width: 30px;
      height: 30px;
      top: 0;
      bottom: 30px;
      right: 0;
      left: 0;
      margin: auto;
      text-align: center; }

/*# sourceMappingURL=../../maps/main.css.map */
/* nobo search css (START)*/
#pagination {
  display: inline-block;
  margin: 25px auto 0px; }
  #pagination li {
    color: black;
    float: left;
    padding: 8px 16px;
    text-decoration: none;
    cursor: pointer; }
    #pagination li.active {
      background-color: #4CAF50;
      color: white;
      border-radius: 5px;
      pointer-events: none; }
    #pagination li:hover:not(.active) {
      background-color: #ddd;
      border-radius: 5px; }

.disabled {
  pointer-events: none;
  opacity: 0.4; }

/* nobo search css (END)*/

/*# sourceMappingURL=../../maps/main.css.map */
