@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/* COLORs */
/*default setting*/
* {
  margin: 0;
  padding: 0;
}

html {
  /* ルートのフォントサイズを10pxに設定 */
  font-size: 62.5%;
}

h1, h2, h3, h4, p, span, a, th, td, dt, dd, figcaption {
  margin: 0;
  padding: 0;
}

body {
  /* ルートのフォントサイズを1.6em（16pxと同等のサイズ）に設定 */
  font-size: 1.6em;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Noto Sans JP", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: #333;
  font-feature-settings: "palt";
  position: relative;
}

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

figure {
  margin: 0;
  padding: 0;
}

img, a {
  vertical-align: top;
  border: none;
  outline: none;
  height: auto;
  text-decoration: none;
}

ul, li {
  list-style-type: none;
}

p {
  text-align: justify;
  text-justify: inter-ideograph;
  font-feature-settings: "palt" 1;
}

::-moz-selection {
  background: #333;
  color: #fff;
}

::selection {
  background: #333;
  color: #fff;
}

::-moz-selection {
  background: #333;
  color: #fff;
}

a {
  transition: all 0.3s;
}

.fadeIn {
  opacity: 0;
  transition: 1.2s all;
}
.fadeIn.add {
  opacity: 1;
}

.fvSlideIn {
  opacity: 0;
  transform: translateX(5vw);
  transition: 3s all;
}
.fvSlideIn.add {
  opacity: 1;
  transform: translateX(0);
}

/* read only */
.spOnly {
  display: none;
}

.pcOnly {
  display: auto;
}

@media screen and (max-width: 768px) {
  .spOnly {
    display: block;
  }
  .pcOnly {
    display: none;
  }
}
@-webkit-keyframes flash {
  0% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}
main {
  padding-top: 30vh;
}
@media screen and (max-width: 768px) {
  main {
    padding-top: 14vh;
  }
}

header.global {
  display: flex;
  align-items: center;
  padding: 3vw 5vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5555;
}
@media screen and (max-width: 768px) {
  header.global {
    display: inline-block;
    width: 50px;
    top: 20px;
    left: 20px;
    padding: 0;
  }
}
header.global .logo {
  width: 85px;
  height: auto;
}
@media screen and (max-width: 768px) {
  header.global .logo {
    width: 60px;
  }
}
header.global .logo img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  header.global nav {
    display: none;
  }
}
header.global nav ul {
  display: flex;
  margin-left: 70px;
}
header.global nav ul li {
  padding-left: 35px;
}
header.global nav ul li a {
  font-family: "Jost", sans-serif;
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 1;
  color: #000;
  position: relative;
  padding-bottom: 5px;
  transition: 0.3s all;
}
header.global nav ul li a:before {
  content: "";
  display: block;
  background-color: #E50012;
  width: 0%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s all;
}
header.global nav ul li a:hover {
  color: #E50012;
}
header.global nav ul li a:hover:before {
  width: 100%;
}

.nav-open {
  display: none;
}
@media screen and (max-width: 768px) {
  .nav-open {
    display: inline-block;
    width: 50px;
    height: 50px;
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 0;
    z-index: 8889;
  }
  .nav-open img {
    width: 100%;
  }
}

.nav-area {
  visibility: hidden; /* displayではなくvisibility */
  opacity: 0;
  position: fixed;
  z-index: 8999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 0.4s;
  background-color: #E50012;
  display: flex;
  flex-wrap: wrap;
}
.nav-area .nav-close {
  display: block;
  position: fixed;
  width: 80px;
  height: 80px;
  top: 2vw;
  right: 2vw;
  z-index: 9099;
  cursor: pointer;
}
.nav-area .nav-close svg {
  width: 100%;
  fill: #fff;
}

.is-show {
  visibility: visible;
  opacity: 1;
}

.nav-area {
  display: flex;
  justify-content: center;
  align-items: center;
}
.nav-area nav ul li {
  padding: 3vw 0;
}
.nav-area nav ul li a {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 3.8vw;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .nav-area nav ul li a {
    font-size: 3rem;
  }
}

.streaks {
  display: block;
  width: 21%;
  height: 57px;
  position: relative;
}
.streaks span {
  display: block;
  width: 0%;
  height: 1px;
  background-color: #6c6c6c;
  position: relative;
  left: 0;
  transition: 1s all;
}
.streaks.rev span {
  left: auto;
  right: 0;
}
.streaks.add span.l1 {
  position: absolute;
  top: 0;
  width: 100%;
}
.streaks.add span.l2 {
  position: absolute;
  top: 8px;
  width: 90%;
  transition-delay: 0.1s;
}
.streaks.add span.l3 {
  position: absolute;
  top: 16px;
  width: 80%;
  transition-delay: 0.2s;
}
.streaks.add span.l4 {
  position: absolute;
  top: 24px;
  width: 70%;
  transition-delay: 0.3s;
}
.streaks.add span.l5 {
  position: absolute;
  top: 32px;
  width: 60%;
  transition-delay: 0.4s;
}
.streaks.add span.l6 {
  position: absolute;
  top: 40px;
  width: 50%;
  transition-delay: 0.5s;
}
.streaks.add span.l7 {
  position: absolute;
  top: 48px;
  width: 40%;
  transition-delay: 0.6s;
}
.streaks.add span.l8 {
  position: absolute;
  top: 56px;
  width: 30%;
  transition-delay: 0.7s;
}
.slick-slide {
  padding: 2px;
}
.slick-slide img {
  width: 100%;
}

#thumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.slick-prev,
.slick-next {
  z-index: 2;
}

.slick-prev {
  left: 0 !important;
}

.slick-next {
  right: 0 !important;
}

.tradingCountries {
  padding-top: 15vh;
  margin-bottom: 10vh;
}
.tradingCountries .headTitle {
  text-align: center;
  margin-bottom: 10vh;
}
@media screen and (max-width: 768px) {
  .tradingCountries .headTitle {
    padding: 0 4vw;
    margin-bottom: 5vh;
  }
}
.tradingCountries .headTitle span {
  display: block;
  text-align: center;
  line-height: 1;
}
.tradingCountries .headTitle span.shoulder {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
}
.tradingCountries .headTitle span.main {
  font-family: "Jost", sans-serif;
  font-size: 7rem;
  font-weight: 600;
  color: #E50012;
  padding: 14px 0;
}
.tradingCountries .headTitle span.en {
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .tradingCountries .headTitle span.shoulder {
    font-size: 1.35rem;
  }
  .tradingCountries .headTitle span.main {
    font-size: 4.5rem;
    line-height: 0.85;
    padding: 24px 0 14px;
  }
  .tradingCountries .headTitle span.en {
    font-size: 1.25rem;
    line-height: 1.6;
  }
}
.tradingCountries figure.map,
.tradingCountries ul.navigation {
  max-width: 940px;
  width: 90%;
  margin: 0 auto;
}
.tradingCountries figure.map img {
  width: 100%;
}
.tradingCountries ul.navigation {
  display: flex;
  justify-content: center;
  margin-top: 8px;
}
.tradingCountries ul.navigation li {
  width: 25%;
}
.tradingCountries ul.navigation li span {
  display: block;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(1vw, 12px);
  color: #E50012;
  text-align: center;
}
.tradingCountries ul.navigation li span.en {
  font-weight: 400;
  font-size: min(1.6vw, 26px);
  text-align: center;
  color: #000;
}
.tradingCountries ul.navigation li a {
  display: block;
  width: 60%;
  margin: 14px auto 0;
  border-radius: 999px;
  border: 1px solid #ccc;
  background-color: #fff;
  padding: 8px;
  text-align: center;
  font-family: "Jost", sans-serif;
  font-weight: 600;
  font-size: 1.3rem;
  color: #000;
  transition: 0.3s all;
}
.tradingCountries ul.navigation li a:hover {
  border-color: #E50012;
  background-color: #E50012;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .tradingCountries .countries {
    padding: 0 13vw;
  }
  .tradingCountries .countries li {
    padding: 8px 0;
  }
}

section.countryDetails {
  max-width: 1120px;
  width: 90%;
  margin: 0 auto;
}
section.countryDetails p {
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
section.countryDetails .introduction p {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2;
  text-align: center;
  padding-bottom: 10vh;
}
section.countryDetails .introduction p span {
  display: block;
  padding-top: 1.5em;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  section.countryDetails .introduction p {
    padding-bottom: 6vh;
    text-align: left;
  }
  section.countryDetails .introduction p br {
    display: none;
  }
}
section.countryDetails .detail {
  margin-bottom: 15vh;
}
section.countryDetails .detail .header {
  border-top: 1px solid #ccc;
  padding-top: 10vh;
  padding-bottom: 12vh;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  section.countryDetails .detail .header {
    padding-top: 6vh;
    padding-bottom: 8vh;
  }
}
section.countryDetails .detail .header h3 {
  width: 40%;
  font-size: 3.8rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  section.countryDetails .detail .header h3 {
    width: 100%;
    font-size: 2.8rem;
  }
}
section.countryDetails .detail .header h3 span {
  display: block;
  font-family: "Jost", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  color: #E50012;
  padding-top: 18px;
}
@media screen and (max-width: 768px) {
  section.countryDetails .detail .header h3 span {
    padding-top: 12px;
  }
}
section.countryDetails .detail .header .txt {
  width: 60%;
}
@media screen and (max-width: 768px) {
  section.countryDetails .detail .header .txt {
    width: 100%;
    padding-top: 2em;
  }
}
section.countryDetails .detail .header .txt p {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
}
section.countryDetails .detail .header .txt p span {
  display: block;
  padding-top: 1.5em;
  font-weight: 400;
  line-height: 1.4;
}
section.countryDetails .detail .slider-container img {
  border-radius: 6px;
}

.form {
  max-width: 620px;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .form {
    width: 100%;
  }
}
.form h2 {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.form h4 {
  margin-top: 8vh;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 120%;
  font-weight: 600;
  padding-bottom: 1em;
}
.form p.intro {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.9;
  padding: 3em 3em 10vh;
}
.form table {
  border-collapse: collapse;
}
.form table th,
.form table td {
  padding: 1.5em 0;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .form table th,
.form table td {
    display: block;
    padding: 0.5em 0;
  }
}
.form table th span,
.form table td span {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.7;
  color: #E50012;
}
.form table th {
  display: flex;
  align-items: center;
  white-space: nowrap;
  padding-top: 3.4rem;
  padding-right: 4em;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .form table th {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
}
.form table th span {
  display: inline-block;
  background-color: #E50012;
  padding: 3px 10px;
  color: #fff;
  font-size: 1rem;
  border-radius: 99px;
  line-height: 1;
  margin-left: 5px;
}
@media screen and (max-width: 768px) {
  .form table td {
    padding-top: 5px;
    overflow: hidden;
  }
}
.form table td span {
  display: inline-block;
}
.form textarea,
.form input[type=text],
.form input[type=tel],
.form input[type=email] {
  width: 100%;
  padding: 10px 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
  background-color: #fff;
  margin-bottom: 3px;
  resize: auto;
}
@media screen and (max-width: 768px) {
  .form textarea,
.form input[type=text],
.form input[type=tel],
.form input[type=email] {
    width: 100%;
  }
}
.form input[type=file] {
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .form input[type=file] {
    width: 100%;
    box-sizing: border-box;
  }
}
.form .mwform-zip-field input[type=text],
.form .mwform-tel-field input[type=text] {
  width: auto;
}
.form input[type=checkbox] {
  margin-right: 5px;
}
.form textarea {
  height: 10em;
}
.form select {
  padding: 1em;
  border-color: #ccc;
  border-radius: 5px;
}
.form button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form button.confirm, .form button.submit {
  width: 100%;
  padding: 3vw;
  font-size: 1.7rem;
  font-weight: bold;
}
.form button.confirm {
  margin-top: 5vh;
  border: 3px solid #E50012;
  background-color: #f2f2f2;
  border-radius: 5px;
  transition: 0.3s all;
  color: #E50012;
}
.form button.confirm:hover {
  background-color: #fff;
}
.form button.submit {
  margin-top: 5vh;
  border: 2px solid #E50012;
  background-color: #fff;
  border-radius: 999px;
  transition: 0.3s all;
  color: #E50012;
}
.form button.submit:hover {
  background-color: #E50012;
  color: #fff;
}
.form button.return {
  max-width: 130px;
  width: 30%;
  margin-top: 1vh;
  margin-left: auto;
  margin-right: auto;
  padding: 1em 1.5em;
  line-height: 1;
  border: 2px solid #e2e2e2;
  background-color: #e2e2e2;
  border-radius: 999px;
  transition: 0.3s all;
  color: #000;
}
.form button.return:hover {
  background-color: #fff;
  color: #000;
}
.form .attention {
  display: block;
  margin-top: 5vh;
  border-radius: 15px;
  padding: 2em;
  background-color: yellow;
}

.thanks {
  border-radius: 20px;
  background-color: #f2f2f2;
  padding: 60px;
}
.thanks h3 {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.3;
  padding-bottom: 2em;
}
.thanks p {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.8;
  padding-bottom: 1em;
}

.formBottom {
  padding-top: 5vh;
  text-align: center;
}
.formBottom input[type=submit].check {
  display: block;
  max-width: 400px;
  width: 60%;
  margin: 8vh auto 0;
  border-radius: 999px;
  padding: 16px 3em;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  border: 1px solid #ccc;
  background-color: #fff;
  color: #E50012;
  transition: 0.2s all;
}
@media screen and (max-width: 768px) {
  .formBottom input[type=submit].check {
    width: 80%;
    margin-top: 4vh;
  }
}
.formBottom input[type=submit].check:hover {
  border-color: #E50012;
  background-color: #E50012;
  color: #fff;
}
.formBottom a {
  color: #E50012;
  text-decoration: underline;
}

.breadcrumbs {
  display: block;
  max-width: 1300px;
  width: 90%;
  margin: 10vh auto 0;
  padding: 0 5%;
  overflow: hidden;
  color: #a2a2a2;
}
.breadcrumbs span {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1.6;
  color: #a2a2a2;
}
.breadcrumbs span a {
  display: inline-block;
  color: #a2a2a2;
}
.breadcrumbs span a span {
  text-decoration: underline;
}

.nextprev {
  padding: 8vh 0 0;
  margin: 12vh auto 0;
  border-top: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .nextprev {
    padding: 4vh 0 0;
    margin: 6vh auto 0;
  }
}
.nextprev a {
  display: flex;
  align-items: center;
  border: 2px solid #000;
  border-radius: 999px;
  padding: 8px 22px 8px 8px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  color: #000;
  position: relative;
  transition: 0.3 all;
}
.nextprev a::before {
  content: url("img/tire.svg");
  display: block;
  width: 32px;
  height: 32px;
  -webkit-animation: spin 2s linear infinite;
          animation: spin 2s linear infinite;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.nextprev a:hover {
  border-color: #E50012;
  color: #E50012;
}
.nextprev a:hover:before {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
@media screen and (max-width: 768px) {
  .nextprev a {
    padding: 4px 18px 4px 4px;
  }
  .nextprev a:before {
    width: 20px;
    height: 20px;
  }
}

@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg); /* 初期位置 */
  }
  100% {
    transform: rotate(360deg); /* 360度回転 */
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg); /* 初期位置 */
  }
  100% {
    transform: rotate(360deg); /* 360度回転 */
  }
}
.pagination {
  display: block;
  margin-top: 10vh;
}
.pagination .nav-links {
  text-align: center;
}
.pagination .nav-links a, .pagination .nav-links span {
  display: inline-block;
  font-family: "Jost", sans-serif;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1;
  color: #E50012;
  border: 2px solid #E50012;
  border-radius: 6px;
  padding: 1rem 1.5rem;
  transition: 0.3s all;
}
.pagination .nav-links .current {
  background-color: #E50012;
  color: #fff;
}
.pagination .nav-links a:hover {
  background-color: #E50012;
  color: #fff;
}

.homeHeader {
  display: block;
  width: 100%;
  margin-bottom: 28vh;
}
.homeHeader .home_intro {
  position: relative;
  top: 28vh;
  left: 10%;
  width: 90%;
  z-index: 4444;
  overflow: hidden;
  padding-bottom: 20vh;
}
@media screen and (max-width: 768px) {
  .homeHeader .home_intro {
    top: 34vh;
  }
}
.homeHeader .home_intro h1.slideIn {
  opacity: 0;
  transform: translateX(1.2vw);
  transition: 3s all;
}
.homeHeader .home_intro h1.slideIn.add {
  opacity: 1;
  transform: translateX(0);
}
.homeHeader .home_intro h1.slideIn img {
  max-width: 990px;
  width: 50%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .homeHeader .home_intro h1.slideIn img {
    width: 80%;
  }
}
.homeHeader .home_intro p.slideIn {
  margin-top: 10vh;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 2.2;
  opacity: 0;
  transform: translateX(1.2vw);
  transition: 3s all;
}
.homeHeader .home_intro p.slideIn span {
  display: block;
  margin-top: 3em;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.8;
}
.homeHeader .home_intro p.slideIn.add {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 1s;
}
@media screen and (max-width: 768px) {
  .homeHeader .home_intro p.slideIn {
    width: 80%;
    line-height: 2;
    margin-top: 6vh;
  }
}
.homeHeader .images {
  position: absolute;
  top: 0;
  right: 0;
  transition: 0.2s all;
  width: 50%;
}
.homeHeader .images img {
  width: 100%;
  border-radius: 0 0 0 80px;
}
.homeHeader .images .slick-slide {
  padding: 0;
}
@media screen and (max-width: 768px) {
  .homeHeader .images {
    width: 70%;
  }
}

.homeBlock {
  display: block;
  overflow: hidden;
  position: relative;
}
.homeBlock:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background-color: #fff;
  z-index: 0;
  transition: 2s all;
}
.homeBlock.add:before {
  opacity: 0;
  transition-delay: 0.5s;
}
.homeBlock.about {
  background: url("img/home_about.jpg") 0 0 no-repeat;
  background-size: 70%;
}
@media screen and (max-width: 768px) {
  .homeBlock.about {
    background-size: 80%;
  }
}
.homeBlock.about .contentBox {
  margin-right: 0;
  margin-left: auto;
  border-radius: 50px 0 0 0;
}
@media screen and (max-width: 768px) {
  .homeBlock.about .contentBox {
    border-radius: 25px 0 0 0;
  }
}
.homeBlock.about .streaks {
  position: absolute;
  top: 0;
  right: 0;
}
.homeBlock.service {
  background: url("img/home_service.jpg") 0 0 no-repeat;
  background-size: 70%;
  background-position-x: 100%;
}
@media screen and (max-width: 768px) {
  .homeBlock.service {
    background-size: 80%;
  }
}
.homeBlock.service .contentBox {
  margin-left: 0;
  margin-right: auto;
  background-size: 80%;
}
@media screen and (max-width: 768px) {
  .homeBlock.service .contentBox {
    margin-top: 30vw;
  }
}
.homeBlock.recruit {
  background: url("img/home_recruit.jpg") 0 0 no-repeat;
  background-size: 70%;
}
@media screen and (max-width: 768px) {
  .homeBlock.recruit {
    background-size: 80%;
  }
}
.homeBlock.recruit .contentBox {
  margin-right: 0;
  margin-left: auto;
  border-radius: 50px 0 0 0;
}
@media screen and (max-width: 768px) {
  .homeBlock.recruit .contentBox {
    border-radius: 25px 0 0 0;
  }
}
.homeBlock.recruit .streaks {
  position: absolute;
  top: 0;
  right: 0;
}
.homeBlock .contentBox {
  position: relative;
  z-index: 1;
  margin-top: 30vw;
  padding: 8vw;
  border-radius: 0 50px 0 0;
  width: 40%;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .homeBlock .contentBox {
    margin-top: 38vw;
    width: 70%;
    border-radius: 0 25px 0 0;
    padding-bottom: 12vh;
  }
}
.homeBlock .contentBox h2, .homeBlock .contentBox p {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  color: #000;
  line-height: 2;
}
.homeBlock .contentBox h2.theme, .homeBlock .contentBox p.theme {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
}
.homeBlock .contentBox h2 span, .homeBlock .contentBox p span {
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1.6;
  padding-top: 1em;
}
.homeBlock .contentBox h2 {
  font-weight: 600;
  font-size: 5.6rem;
  line-height: 1.2;
  color: #E50012;
  padding: 8px 0 50px;
}
@media screen and (max-width: 768px) {
  .homeBlock .contentBox h2 {
    font-size: 4rem;
    padding-bottom: 30px;
  }
}
.homeBlock .contentBox .nextprev {
  margin-top: 0;
  padding-top: 4vh;
  border: none;
}
.homeBlock .contentBox .nextprev a {
  padding: 8px 50px 8px 14px;
  font-size: 1.6rem;
}

.instagramBlock {
  display: block;
  background-color: #E50012;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  color: #fff;
  padding-bottom: 12vh;
  margin-top: 10vh;
}
.instagramBlock header {
  padding: 5vw;
}
@media screen and (max-width: 768px) {
  .instagramBlock header {
    padding: 8vw 5vw;
  }
}
.instagramBlock header figure {
  max-width: 80px;
  width: 100%;
  margin: 0 auto 2vw;
}
.instagramBlock header figure img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .instagramBlock header figure {
    width: 20%;
    margin-bottom: 20px;
  }
}
.instagramBlock header h2 {
  text-align: center;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .instagramBlock header h2 {
    font-size: 2.1rem;
  }
}
.instagramBlock header p {
  padding: 2em 2vw 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
}
.instagramBlock ul.instagram {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
}
.instagramBlock ul.instagram li {
  width: 30%;
  height: 20vw;
  padding-top: 5vh;
}
.instagramBlock ul.instagram li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .instagramBlock ul.instagram li {
    width: 48%;
    height: 35vw;
  }
}

h1.page {
  padding: 0 5vw 20vh;
}
@media screen and (max-width: 768px) {
  h1.page {
    padding-bottom: 8vh;
  }
}
h1.page span {
  display: inline-block;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: italic;
  font-size: 2.6rem;
  line-height: 1;
  padding: 0 0 2.6vh 2.5vw;
}
@media screen and (max-width: 768px) {
  h1.page span {
    font-size: 1.8rem;
    padding: 0 0 20px 3vw;
  }
}
h1.page figure.slideIn img {
  width: 70%;
  transform: translateX(2vw);
  opacity: 0;
  transition: 2s all;
}
@media screen and (max-width: 768px) {
  h1.page figure.slideIn img {
    width: 100%;
  }
}
h1.page figure.slideIn.add img {
  transform: translateX(0);
  opacity: 1;
}
h1.page.min {
  margin-top: -8vh;
}
h1.page.min span {
  font-size: 1.6rem;
  padding-left: 1vw;
  padding-bottom: 2vh;
}
h1.page.min figure {
  width: 40%;
}
@media screen and (max-width: 768px) {
  h1.page.min {
    margin-top: -2vh;
    padding-bottom: 5vh;
  }
}

h2.area {
  padding: 0 7vw 15vh;
  font-family: "Jost", sans-serif;
  font-weight: 200;
  font-style: italic;
  font-size: 15rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  h2.area {
    font-size: 20vw;
    padding-bottom: 8vh;
  }
}

.fvImage {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  overflow: hidden;
}
.fvImage .streaks {
  width: 22%;
}
.fvImage .fvPic {
  width: 75%;
  height: 80vh;
  border-radius: 50px 0 0 50px;
}
@media screen and (max-width: 768px) {
  .fvImage .fvPic {
    height: 26vh;
  }
}
.fvImage .fvPic.about {
  background: url("img/fvpic_about.jpg") 50% no-repeat;
  background-size: cover;
}
.fvImage .fvPic.recruit {
  background: url("img/fvpic_recruit2.jpg") 50% no-repeat;
  background-size: cover;
  margin-bottom: 10vh;
}
.fvImage .fvPic.interview {
  height: 70vh;
  margin-bottom: 10vh;
}
@media screen and (max-width: 768px) {
  .fvImage .fvPic.interview {
    height: 25vh;
    margin-bottom: 8vh;
  }
}
.fvImage .fvPic.service {
  background: url("img/fvpic_service.jpg") 50% no-repeat;
  background-size: cover;
  margin-bottom: 15vh;
}
@media screen and (max-width: 768px) {
  .fvImage .fvPic.service {
    margin-bottom: 8vh;
  }
}
.fvImage .fvPic.service.africa {
  background: url("img/fv_africa.jpg") 50% no-repeat;
  background-size: cover;
  margin-bottom: 15vh;
}
@media screen and (max-width: 768px) {
  .fvImage .fvPic.service.africa {
    margin-bottom: 8vh;
  }
}
.fvImage .fvPic.service.namerica {
  background: url("img/fv_northamerica.jpg") 50% no-repeat;
  background-size: cover;
  margin-bottom: 15vh;
}
@media screen and (max-width: 768px) {
  .fvImage .fvPic.service.namerica {
    margin-bottom: 8vh;
  }
}
.fvImage .fvPic.service.caribbean {
  background: url("img/fv_caribbean.jpg") 50% no-repeat;
  background-size: cover;
  margin-bottom: 15vh;
}
@media screen and (max-width: 768px) {
  .fvImage .fvPic.service.caribbean {
    margin-bottom: 8vh;
  }
}
.fvImage .fvPic.service.europe {
  background: url("img/fv_europe.jpg") 50% no-repeat;
  background-size: cover;
  margin-bottom: 15vh;
}
@media screen and (max-width: 768px) {
  .fvImage .fvPic.service.europe {
    margin-bottom: 8vh;
  }
}

section.midBox {
  min-width: 400px;
  max-width: 750px;
  width: 65%;
  margin: 16vh auto;
}
@media screen and (max-width: 768px) {
  section.midBox {
    min-width: -webkit-fit-content;
    min-width: -moz-fit-content;
    min-width: fit-content;
    padding-left: 7%;
    padding-right: 7%;
    margin-top: 10vh;
    margin-bottom: 8vh;
  }
}
section.midBox h2 {
  padding-bottom: 12vh;
  text-align: center;
}
@media screen and (max-width: 768px) {
  section.midBox h2 {
    padding-bottom: 6vh;
  }
}
section.midBox h2 span {
  display: block;
  text-align: center;
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
section.midBox h2 span.main {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.6;
  color: #000;
}
@media screen and (max-width: 768px) {
  section.midBox h2 span.main {
    font-size: 2.2rem;
    font-weight: 600;
  }
}
section.midBox h2 span.en {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #E50012;
  padding-top: 0.7em;
}
@media screen and (max-width: 768px) {
  section.midBox h2 span.en {
    font-size: 1.6rem;
    padding-top: 0.3em;
  }
}
section.midBox p {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 2.2;
}
section.midBox p.en {
  padding-top: 8vh;
  font-size: 1.6rem;
  line-height: 2;
}

figure.mid {
  display: block;
  max-width: 1100px;
  width: 80%;
  height: 60vh;
  margin: 0 auto;
  border-radius: 3vw;
}
@media screen and (max-width: 768px) {
  figure.mid {
    height: 24vh;
  }
}
figure.mid.picAbout1 {
  background: url("img/pic_about1.jpg") 50% no-repeat;
  background-size: cover;
}
figure.mid.picAbout2 {
  background: url("img/pic_about2.jpg") 50% no-repeat;
  background-size: cover;
}
figure.mid.scenePic {
  transition: 2s all;
  opacity: 0;
  transform: translateY(5vh);
}
figure.mid.scenePic.add {
  opacity: 1;
  transform: translateY(0);
}

.credo {
  background-color: #E50012;
  transform: skewY(-5deg);
  margin: 20vh 0;
  padding: 10vh 0;
}
@media screen and (max-width: 768px) {
  .credo {
    margin: 10vh 0;
  }
}
.credo .container {
  transform: skewY(5deg);
  padding: 15vh 0 10vh;
  background: url("img/silhouette.svg") 20vw 50% no-repeat;
  background-size: 90%;
}
@media screen and (max-width: 768px) {
  .credo .container {
    padding: 6vh 0 3vh;
    background-position-x: -20vw;
    background-size: 260%;
  }
}
.credo table {
  max-width: 1120px;
  width: 80%;
  margin: 0 auto;
}
.credo table th, .credo table td {
  vertical-align: top;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .credo table th, .credo table td {
    display: block;
  }
}
.credo table th {
  padding-right: 110px;
  padding-left: 70px;
  font-family: "Jost", sans-serif;
  font-weight: 500;
  font-style: italic;
  font-size: 2.8rem;
  line-height: 1;
  position: relative;
  text-align: left;
}
.credo table th:before {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 1.4rem;
}
.credo table td {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 4rem;
  line-height: 1.4;
  padding-bottom: 14vh;
}
@media screen and (max-width: 768px) {
  .credo table td {
    padding-top: 24px;
    font-size: 2.6rem;
    font-weight: 600;
  }
}
.credo table td span {
  display: block;
  padding-top: 1em;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 1.3;
}
.credo table td.mission {
  font-weight: 700;
  padding-bottom: 0vh;
}
.credo table td.mission span {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
}

section.roundBox {
  background-color: #f8f8f8;
  border-radius: 60px;
  padding: 0 0 10vh;
  margin: 0 5vw;
}
@media screen and (max-width: 768px) {
  section.roundBox {
    padding-bottom: 4vh;
    border-radius: 30px;
  }
}
section.roundBox header {
  display: flex;
  flex-wrap: wrap;
}
section.roundBox header h1, section.roundBox header h2 {
  width: 45%;
}
section.roundBox header h1 img, section.roundBox header h2 img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  section.roundBox header h1, section.roundBox header h2 {
    width: 85%;
  }
}
section.roundBox header .headlineTxt {
  margin-right: 6vw;
  padding: 10vh 0 8vh 0vw;
  width: calc(55% - 6vw);
}
@media screen and (max-width: 768px) {
  section.roundBox header .headlineTxt {
    margin: 0 auto;
    padding: 5% 10%;
    width: 80%;
  }
}
section.roundBox header .headlineTxt p {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  line-height: 2.1;
}
section.roundBox header .headlineTxt p.en {
  font-weight: 500;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  section.roundBox header .headlineTxt p.en {
    margin-top: 2.5rem;
  }
}
section.roundBox.salesBox {
  margin-top: 25vh;
}
section.roundBox .container {
  max-width: 1100px;
  width: 88%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  section.roundBox .container {
    width: 80%;
  }
}
section.roundBox ul.sales {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1180px;
  width: 95%;
  margin: 0 auto;
}
section.roundBox ul.sales li {
  width: 47%;
}
section.roundBox ul.sales li figure {
  border-radius: 10px;
}
section.roundBox ul.sales li figure img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  section.roundBox ul.sales {
    margin-top: 6vh;
  }
  section.roundBox ul.sales li {
    width: 100%;
    padding: 5px 0;
  }
}
section.roundBox .slider-container {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
}
section.roundBox .slider-container .slick-slide img {
  border-radius: 10px;
}
section.roundBox .communication {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
section.roundBox .communication:last-child {
  margin-top: 15vh;
}
section.roundBox .communication .txt {
  width: 43%;
}
section.roundBox .communication h3 {
  padding-top: 5em;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  line-height: 1.7;
  padding-bottom: 3em;
}
section.roundBox .communication h3 span {
  display: block;
  padding-top: 1em;
  font-size: 1.3rem;
  line-height: 1.4;
  color: #E50012;
}
@media screen and (max-width: 768px) {
  section.roundBox .communication h3 {
    padding-top: 4em;
    font-size: 2.1rem;
    line-height: 1.6;
    padding-bottom: 1.8em;
  }
}
section.roundBox .communication p {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 2.1;
}
section.roundBox .communication p.en {
  font-size: 1.5rem;
  line-height: 1.7;
  padding-top: 2em;
}
@media screen and (max-width: 768px) {
  section.roundBox .communication p.en {
    padding-bottom: 4vh;
  }
}
section.roundBox .communication .pics {
  width: 50%;
}
section.roundBox .communication .pics img {
  width: 100%;
}
section.roundBox .communication.rev {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  section.roundBox .communication .txt {
    width: 100%;
  }
  section.roundBox .communication .pics {
    width: 100%;
  }
  section.roundBox .communication.rev {
    flex-direction: row;
    margin-top: 7vh;
  }
}

.data {
  padding: 15vh 0;
  overflow: hidden;
}
.data h2 {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.6;
  color: #000;
  padding-bottom: 10vh;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .data h2 {
    font-size: 3rem;
  }
}
.data h2 span {
  display: block;
  text-align: center;
}
.data h2 span.en {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.1;
  color: #E50012;
  padding-top: 0.7em;
}
.data table {
  max-width: 920px;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .data table {
    width: 80%;
  }
}
.data table th, .data table td {
  vertical-align: top;
  border-top: 1px solid #eee;
  padding: 2.2em 0;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .data table th, .data table td {
    display: block;
  }
}
.data table th {
  white-space: nowrap;
  padding-right: 5em;
  font-weight: 600;
  text-align: left;
}
.data table td {
  font-weight: 400;
}
.data table td table {
  width: 100%;
}
.data table td th, .data table td td {
  border: none;
  padding: 0.2em 0;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .data table td th {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
  }
}
.data table td td {
  padding-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .data table td {
    border-top: none;
    padding-top: 0;
  }
}

table.privacypolicy {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  table.privacypolicy {
    width: 80%;
  }
}
table.privacypolicy th, table.privacypolicy td {
  padding: 1.5em 0;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.7;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  table.privacypolicy th, table.privacypolicy td {
    display: block;
  }
}
table.privacypolicy th {
  white-space: nowrap;
  padding-right: 4em;
  font-weight: 600;
  text-align: left;
}
table.privacypolicy td ol li {
  list-style-type: none;
  counter-increment: cnt;
}
table.privacypolicy td ol li::before {
  content: "【" counter(cnt) "】 ";
}
table.privacypolicy td ol li ol {
  padding-left: 1.8em;
}
table.privacypolicy td ol li ol li {
  list-style-type: none;
  counter-increment: cnt2;
}
table.privacypolicy td ol li ol li::before {
  content: "<" counter(cnt2) "> ";
}
table.privacypolicy td ol li ol li ol {
  padding-left: 1.8em;
}
table.privacypolicy td ol li ol li ol li {
  list-style-type: none;
  counter-increment: cnt3;
}
table.privacypolicy td ol li ol li ol li::before {
  content: counter(cnt3) " - ";
}

.notfound {
  padding: 0 5% 10vh;
}
.notfound p {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.7;
  line-height: 2;
}
.notfound p span {
  font-weight: 600;
  line-height: 1.3;
}

.roundBox.newslist {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 5vw;
}
@media screen and (max-width: 768px) {
  .roundBox.newslist {
    padding: 8vw;
  }
}
.roundBox.newslist h2 {
  line-height: 1.7;
}
.roundBox.newslist .news_header {
  width: 15%;
}
@media screen and (max-width: 768px) {
  .roundBox.newslist .news_header {
    width: 100%;
    padding-bottom: 3vh;
  }
}
.roundBox.newslist .newslist {
  width: 85%;
}
.roundBox.newslist .newslist li {
  padding: 10px 0;
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .roundBox.newslist .newslist li {
    padding: 6px 0;
  }
}
.roundBox.newslist .newslist li span.date {
  display: inline-block;
  width: 10%;
  min-width: 110px;
  margin-right: 20px;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .roundBox.newslist .newslist li span.date {
    width: 100%;
    min-width: auto;
    padding-top: 0.6rem;
  }
}
.roundBox.newslist .newslist li a {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.7;
  color: #000;
  transition: 0.3s all;
}
.roundBox.newslist .newslist li a:hover {
  color: #E50012;
  text-decoration: underline;
}

.roundBox.news ul.newslist {
  max-width: 1120px;
  width: 80%;
  margin: 5vh auto 0;
  border-top: 1px solid #ccc;
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
.roundBox.news ul.newslist li {
  padding: 50px 0;
  border-bottom: 1px solid #ccc;
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
.roundBox.news ul.newslist li span.date {
  display: inline-block;
  width: 10%;
  min-width: 110px;
  margin-right: 20px;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .roundBox.news ul.newslist li span.date {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 500;
    padding-bottom: 20px;
  }
}
.roundBox.news ul.newslist li span.news-label {
  display: inline-block;
  background-color: #E50012;
  padding: 8px 20px;
  border-radius: 99px;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
  margin-right: 2em;
}
@media screen and (max-width: 768px) {
  .roundBox.news ul.newslist li span.news-label {
    padding: 4px 20px;
    margin-right: 1.2em;
  }
}
.roundBox.news ul.newslist li a {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.7;
  color: #000;
  transition: 0.3s all;
}
.roundBox.news ul.newslist li a:hover {
  color: #E50012;
  text-decoration: underline;
}
.roundBox.news .container {
  max-width: 940px;
  width: 70%;
  margin: 10vh auto;
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .roundBox.news .container {
    margin: 5vh auto 2vh;
    width: 85%;
  }
}
.roundBox.news .container h1 {
  font-optical-sizing: auto;
  font-weight: 600;
  font-size: 2.8rem;
  line-height: 1.5;
  padding-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .roundBox.news .container h1 {
    font-size: 2rem;
    padding-bottom: 0.6em;
  }
}
.roundBox.news .container .date {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
  padding-left: 75px;
  position: relative;
}
.roundBox.news .container .date:before {
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  background-color: #000;
  position: absolute;
  left: 0;
  top: 50%;
}
.roundBox.news .container .contentBox {
  margin-top: 10vh;
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  .roundBox.news .container .contentBox {
    margin-top: 6vh;
  }
}
.roundBox.news .container .contentBox figure {
  width: 100%;
  margin-bottom: 90px;
}
.roundBox.news .container .contentBox figure img {
  width: 100%;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .roundBox.news .container .contentBox figure {
    margin-bottom: 45px;
  }
}
.roundBox.news .container .contentBox a {
  color: #E50012;
  padding-bottom: 3px;
  text-decoration: underline;
}

a.return {
  display: block;
  width: 230px;
  margin: 80px auto 0;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  padding: 15px;
  text-align: center;
  color: #000;
  border-radius: 999px;
  border: 2px solid #000;
  transition: 0.3s all;
}
a.return:hover {
  border-color: #E50012;
  background-color: #E50012;
  color: #fff;
}

.recruitIntro {
  width: 90%;
  margin: 0 auto 10vh;
}
.recruitIntro p {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 2;
  text-align: center;
}
.recruitIntro p.en {
  padding-top: 1rem;
  line-height: 1.6;
}

h2.interview {
  padding: 0 6vw 1em;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 4rem;
  line-height: 1.4;
  transition: 2s all;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  h2.interview {
    font-size: 3rem;
  }
}
h2.interview.add {
  opacity: 1;
}
h2.interview span {
  display: block;
  padding-top: 2rem;
  font-weight: 700;
  font-style: italic;
  font-size: 1.8rem;
  color: #E50012;
}

.profileLine {
  padding: 0 6vw 10vh;
  transition: 2s all;
  opacity: 0;
}
.profileLine p {
  font-size: 1.5rem;
  line-height: 1;
}
.profileLine p.name {
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  display: inline-block;
  margin-right: 0.8em;
}
.profileLine p span.from {
  font-weight: 400;
}
.profileLine .profData {
  padding-top: 1rem;
}
.profileLine.add {
  opacity: 1;
  transition-delay: 1s;
}

.interviewBlock {
  max-width: 1260px;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .interviewBlock {
    width: 80%;
  }
}
.interviewBlock .bodyBlock {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.interviewBlock .bodyBlock h3 {
  padding-top: 60px;
  width: 30%;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .interviewBlock .bodyBlock h3 {
    padding-top: 30px;
    width: 100%;
    font-size: 2.1rem;
    padding-bottom: 2em;
  }
}
.interviewBlock .bodyBlock h3.l1 {
  background: url("img/car_lead1.svg") 0 0 no-repeat;
  background-size: 190px;
}
.interviewBlock .bodyBlock h3.l2 {
  background: url("img/car_lead2.svg") 0 0 no-repeat;
  background-size: 190px;
}
.interviewBlock .bodyBlock h3.l3 {
  background: url("img/car_lead3.svg") 0 0 no-repeat;
  background-size: 190px;
}
.interviewBlock .bodyBlock h3 span {
  display: block;
  padding-top: 1.5rem;
  color: #E50012;
  font-size: 1.6rem;
}
.interviewBlock .bodyBlock .txt {
  width: 55%;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .interviewBlock .bodyBlock .txt {
    width: 100%;
  }
}
.interviewBlock .bodyBlock .txt p.en {
  padding-top: 1.2em;
}
.interviewBlock .scenePic {
  display: block;
  width: 82%;
  height: 50vh;
  margin: 10vh auto;
  border-radius: 12px;
  transition: 2s all;
  opacity: 0;
  transform: translateY(5vh);
}
.interviewBlock .scenePic.add {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 768px) {
  .interviewBlock .scenePic {
    width: 100%;
    height: 22vh;
    margin: 6vh auto 10vh;
  }
}

.localBelt {
  background-color: #f8f8f8;
  padding: 12vh 5%;
  margin-top: 15vh;
}
@media screen and (max-width: 768px) {
  .localBelt {
    padding: 4vh 5%;
  }
}
.localBelt ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.localBelt ul li {
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  .localBelt ul li {
    width: 80%;
    padding: 10px 0;
  }
}
.localBelt ul li a {
  border-radius: 999px;
  border: 1px solid #D3D3D3;
  background-color: #fff;
  text-align: center;
  padding: 1.2em 3em;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
  color: #333;
  transition: 0.3s all;
}
.localBelt ul li a:hover {
  border-color: #E50012;
  background-color: #E50012;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .localBelt ul li a {
    display: block;
  }
}

ul.staff {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  ul.staff {
    margin-top: 3vh;
  }
}
ul.staff li {
  width: 31%;
}
@media screen and (max-width: 768px) {
  ul.staff li {
    width: 90%;
    margin: 0 auto 5vh;
    padding-top: 1vh;
  }
}
ul.staff li figure {
  margin-bottom: 15px;
}
ul.staff li figure img {
  border-radius: 8px;
  width: 100%;
}
ul.staff li .bottom {
  display: flex;
  justify-content: space-between;
  width: 94%;
  margin: 0 auto;
}
ul.staff li .bottom .texts {
  width: 65%;
}
ul.staff li .bottom .texts p {
  color: #000;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  line-height: 1;
  font-size: 1.8rem;
  font-weight: 500;
}
ul.staff li .bottom .texts p.data {
  padding: 6px 0 0;
  font-size: 1.2rem;
  font-weight: 400;
}
ul.staff li .bottom .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32%;
  font-family: "Jost", sans-serif;
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1;
  color: #000;
  align-items: center;
  padding: 8px;
  border-radius: 999px;
  border: 1px solid #ccc;
  background-color: #fff;
  transition: 0.3s all;
}
ul.staff li a:hover .btn {
  border-color: #E50012;
  background-color: #E50012;
  color: #fff;
}

footer {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 15vh 5vw 0;
}
footer .companyBlock {
  width: 40%;
}
@media screen and (max-width: 768px) {
  footer .companyBlock {
    width: auto;
  }
}
footer .companyBlock a.logo {
  display: block;
  max-width: 320px;
  margin-bottom: 70px;
}
footer .companyBlock a.logo img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  footer .companyBlock a.logo {
    width: 65%;
  }
}
footer .companyBlock a.tlink {
  display: inline-block;
  margin-top: 3rem;
  font-size: 1.2rem;
  line-height: 1;
  text-decoration: underline;
  color: #333;
}
footer .companyBlock p {
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
footer .companyBlock p.com {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  padding-bottom: 2.5rem;
}
footer .companyBlock p.address {
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1.4;
}
footer .companyBlock ul {
  margin-top: 2rem;
}
footer .companyBlock ul li {
  font-family: "Jost", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  padding: 0.3rem 0;
}
footer .companyBlock ul li img {
  height: 1.7rem;
  width: auto;
  margin-right: 10px;
}
footer nav {
  width: 40%;
  padding-right: 2vw;
}
@media screen and (max-width: 768px) {
  footer nav {
    display: none;
  }
}
footer nav ul {
  display: flex;
  justify-content: flex-end;
  padding-top: 1.6em;
}
footer nav ul li {
  padding-right: 2em;
}
footer nav ul li a {
  display: inline-block;
  font-family: "Jost", sans-serif;
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 1;
  padding-bottom: 5px;
  color: #000;
  position: relative;
  transition: 0.3s all;
}
footer nav ul li a:before {
  content: "";
  display: block;
  background-color: #E50012;
  width: 0%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s all;
}
footer nav ul li a:hover {
  color: #E50012;
}
footer nav ul li a:hover:before {
  width: 100%;
}
footer p.copyright {
  display: block;
  width: 100%;
  text-align: center;
  padding: 4em 0 1em;
  font-family: "Jost", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
}

/* read only */
/*
Theme Name: magari japan corporate site
Author: nrd-studio
Version: 1
*/
/*# sourceMappingURL=style.css.map */