/* ***************************************************************** 
*	Media Query
* ***************************************************************** */
.wrap {
  position: relative;
}

.section-contents {
  display: grid;
  gap: 40px;
}
@media (max-width: 768px) {
  .section-contents {
    gap: 32px;
  }
}
@media (max-width: 460px) {
  .section-contents {
    gap: 24px;
  }
}

#main-visual {
  position: relative;
  margin-top: -104px;
  background: linear-gradient(to bottom, #12a497 0%, #12a497 60%, rgba(228, 243, 249, 0) 100%);
  width: 100%;
  height: 100vh;
}
@media (max-width: 768px) {
  #main-visual {
    margin-top: -80px;
  }
}
@media (max-width: 460px) {
  #main-visual {
    margin-top: -56px;
    height: auto;
  }
}
#main-visual .mv-container {
  height: 95%;
  display: flex;
  width: 100%;
  padding: 120px 8% 0;
}
@media (max-width: 460px) {
  #main-visual .mv-container {
    flex-direction: column;
    gap: 32px;
    height: auto;
    padding: 104px 0 0;
  }
}
#main-visual .mv-container .mv-contents {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 60%;
  max-width: 1200px;
  height: 100%;
  margin: 0 auto;
  gap: 48px;
  z-index: 1;
}
@media (max-width: 768px) {
  #main-visual .mv-container .mv-contents {
    padding: 0;
    padding-right: 6%;
    gap: 24px;
  }
}
@media (max-width: 460px) {
  #main-visual .mv-container .mv-contents {
    width: 100%;
    padding: 0 4%;
    gap: 16px;
  }
}
#main-visual .mv-container .mv-contents .scroll {
  width: 40px;
  margin-left: 56px;
}
@media (max-width: 460px) {
  #main-visual .mv-container .mv-contents .scroll {
    display: none;
  }
}
#main-visual .mv-container .mv-img {
  width: 40%;
}
#main-visual .mv-container .mv-img img {
  width: auto;
  height: 100%;
}
@media (max-width: 1024px) {
  #main-visual .mv-container .mv-img.pc {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #main-visual .mv-container .mv-img.pc img {
    width: 120%;
    height: auto;
  }
}
@media (max-width: 460px) {
  #main-visual .mv-container .mv-img.pc {
    display: none;
  }
}
#main-visual .mv-container .mv-img.sp {
  display: none;
  width: 100%;
}
#main-visual .mv-container .mv-img.sp img {
  width: 100%;
  height: auto;
}
@media (max-width: 460px) {
  #main-visual .mv-container .mv-img.sp {
    display: block;
    padding: 0 1%;
  }
}
#main-visual .mv-company-text {
  width: 200px;
  margin-bottom: 16px;
}
@media (max-width: 768px) {
  #main-visual .mv-company-text {
    width: 180px;
  }
}
@media (max-width: 460px) {
  #main-visual .mv-company-text {
    width: 160px;
  }
}
#main-visual .mv-copy {
  font-size: 56px;
  color: #fff;
  font-family: "SourceHanSansJP", sans-serif;
  font-weight: 800;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 1024px) {
  #main-visual .mv-copy {
    font-size: 48px;
  }
}
@media (max-width: 880px) {
  #main-visual .mv-copy {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  #main-visual .mv-copy {
    font-size: 32px;
  }
}
@media (max-width: 679px) {
  #main-visual .mv-copy {
    font-size: 28px;
  }
}
@media (max-width: 460px) {
  #main-visual .mv-copy {
    font-size: 32px;
  }
}
#main-visual .mv-copy-01 {
  margin-left: -32px;
}
@media (max-width: 768px) {
  #main-visual .mv-copy-01 {
    margin-left: -16px;
  }
}
@media (max-width: 460px) {
  #main-visual .mv-copy-01 {
    margin-left: -12px;
  }
}
#main-visual .mv-obj01 {
  position: absolute;
  width: 144px;
  top: -3%;
  left: 40%;
}
@media (max-width: 768px) {
  #main-visual .mv-obj01 {
    width: 120px;
  }
}
@media (max-width: 460px) {
  #main-visual .mv-obj01 {
    width: 96px;
    left: 55%;
  }
}
#main-visual .mv-obj02 {
  position: absolute;
  width: 136px;
  bottom: 14%;
  left: 40%;
}
@media (max-width: 768px) {
  #main-visual .mv-obj02 {
    width: 104px;
    left: 4%;
  }
}
@media (max-width: 460px) {
  #main-visual .mv-obj02 {
    width: 80px;
    top: 32%;
    left: unset;
    right: 3%;
  }
}

#service .service-main-container .service-route-container {
  display: flex;
  gap: 80px;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  #service .service-main-container .service-route-container {
    gap: 48px;
    margin-bottom: 32px;
  }
}
@media (max-width: 460px) {
  #service .service-main-container .service-route-container {
    gap: 20px;
    margin-bottom: 32px;
  }
}
#service .service-main-container .service-route-container .service-route {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  width: calc(50% - 2px);
}
#service .service-main-container .service-route-container .service-route .route-content {
  display: grid;
  gap: 24px;
}
@media (max-width: 460px) {
  #service .service-main-container .service-route-container .service-route .route-content {
    gap: 16px;
  }
}
#service .service-main-container .service-route-container .service-route .rounte-title {
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 24px;
  display: inline-block;
  border-radius: 8px;
}
@media (max-width: 460px) {
  #service .service-main-container .service-route-container .service-route .rounte-title {
    width: 100%;
    text-align: center;
  }
}
#service .service-main-container .service-route-container .service-route .rounte-title h4 {
  color: #fff;
}
@media (max-width: 460px) {
  #service .service-main-container .service-route-container .service-route .rounte-title h4 {
    font-size: 16px;
  }
}
#service .service-main-container .service-route-container .service-route.kokunai .rounte-title {
  background-color: #12A497;
}
#service .service-main-container .service-route-container .service-route.kaigai .rounte-title {
  background-color: #c8161d;
}
#service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
#service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-content img {
  width: 72px;
}
@media (max-width: 460px) {
  #service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-content img {
    width: 64px;
  }
}
#service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-content p {
  text-align: center;
  font-size: 10px;
}
#service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-countries {
  display: grid;
  gap: 8px;
}
#service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-countries ul {
  display: flex;
  flex-wrap: wrap;
  row-gap: 16px;
}
@media (max-width: 460px) {
  #service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-countries ul {
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
#service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-countries ul li.countries-item {
  width: 33.3333333333%;
  text-align: center;
}
@media (max-width: 460px) {
  #service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-countries ul li.countries-item {
    width: calc(50% - 8px);
  }
}
#service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-countries ul li.countries-item img {
  width: 80px;
}
@media (max-width: 460px) {
  #service .service-main-container .service-route-container .service-route .rounte-image .rounte-image-countries ul li.countries-item img {
    width: 90%;
    margin: 0 auto;
  }
}
#service .service-main-container .service-route-container .two-line {
  width: 4px;
  display: flex;
  flex-direction: column;
}
#service .service-main-container .service-route-container .two-line .green {
  width: 4px;
  height: 50%;
  background-color: #12A497;
}
#service .service-main-container .service-route-container .two-line .red {
  width: 4px;
  height: 50%;
  background-color: #c8161d;
}
#service .service-main-container .service-route-flow {
  width: 50%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #service .service-main-container .service-route-flow {
    width: 60%;
  }
}
@media (max-width: 460px) {
  #service .service-main-container .service-route-flow {
    width: 80%;
  }
}

#feature .feature-title-container {
  display: flex;
}
@media (max-width: 460px) {
  #feature .feature-title-container {
    flex-direction: column;
    margin-bottom: 40px;
  }
}
@media (max-width: 768px) {
  #feature .feature-title-container .sec-title-jp h2 {
    font-size: 24px;
  }
}
@media (max-width: 460px) {
  #feature .feature-title-container .sec-title-jp h2 {
    font-size: 18px;
  }
}
#feature .feature-title-container .app-img {
  width: 30%;
  padding-left: 40px;
}
@media (max-width: 460px) {
  #feature .feature-title-container .app-img {
    width: 80%;
    margin: 0 auto;
    padding-left: 0;
  }
}
#feature .feature-title-container .app-img img {
  width: 130%;
}
@media (max-width: 460px) {
  #feature .feature-title-container .app-img img {
    width: 100%;
  }
}
#feature .feature-list ul {
  display: grid;
  gap: 32px;
}
#feature .feature-list ul li.feature-item {
  display: flex;
}
@media (max-width: 460px) {
  #feature .feature-list ul li.feature-item {
    flex-direction: column;
    gap: 16px;
  }
}
#feature .feature-list ul li.feature-item:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 460px) {
  #feature .feature-list ul li.feature-item:nth-child(even) {
    flex-direction: column;
  }
}
#feature .feature-list ul li.feature-item .feature-item-child {
  width: 50%;
}
@media (max-width: 460px) {
  #feature .feature-list ul li.feature-item .feature-item-child {
    width: 100%;
  }
}
#feature .feature-list ul li.feature-item .feature-item-child.feature-item-img .img {
  margin: 0 auto;
  width: 85%;
}
@media (max-width: 460px) {
  #feature .feature-list ul li.feature-item .feature-item-child.feature-item-img .img {
    width: 70%;
  }
}
#feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 40px;
}
@media (max-width: 768px) {
  #feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents {
    gap: 28px;
  }
}
@media (max-width: 460px) {
  #feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents {
    gap: 16px;
  }
}
#feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-title {
  display: grid;
  gap: 20px;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 460px) {
  #feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-title {
    width: 100%;
  }
}
#feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-title .preparing {
  font-size: 18px;
  color: #c8161d;
}
#feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-title div {
  display: grid;
  gap: 8px;
}
#feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-title div img {
  width: 96px;
}
#feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-title .line {
  display: inline-block;
  width: 125%;
  height: 1px;
  background-color: #12A497;
}
@media (max-width: 460px) {
  #feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-title .line {
    width: 100%;
  }
}
#feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-text p.pc {
  display: block;
}
@media (max-width: 768px) {
  #feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-text p.pc {
    display: none;
  }
}
#feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-text p.sp {
  display: none;
}
@media (max-width: 768px) {
  #feature .feature-list ul li.feature-item .feature-item-child.feature-item-contents .feature-text p.sp {
    display: block;
  }
}
#feature .price {
  margin-top: 80px;
}
@media (max-width: 768px) {
  #feature .price {
    margin-top: 64px;
  }
}
@media (max-width: 460px) {
  #feature .price {
    margin-top: 48px;
  }
}
#feature .price .price-list {
  display: grid;
  gap: 12px;
}
#feature .price .price-list .caution {
  text-align: right;
}

#usecase .usecase-container ul {
  display: flex;
  gap: 40px;
}
@media (max-width: 460px) {
  #usecase .usecase-container ul {
    flex-direction: column;
    gap: 32px;
  }
}
#usecase .usecase-container ul .usecase-item {
  width: calc(33.3333333333% - 26.6666666667px);
  display: grid;
  gap: 32px;
  color: #12A497;
}
@media (max-width: 460px) {
  #usecase .usecase-container ul .usecase-item {
    width: 100%;
    gap: 20px;
  }
}
#usecase .usecase-container ul .usecase-item .usecase-img {
  width: 100%;
}
#usecase .usecase-container ul .usecase-item .usecase-img img {
  border-radius: 16px;
}
#usecase .usecase-container ul .usecase-item .usecase-content {
  display: grid;
  gap: 16px;
}
@media (max-width: 460px) {
  #usecase .usecase-container ul .usecase-item .usecase-content {
    gap: 12px;
  }
}
#usecase .usecase-container ul .usecase-item .usecase-content .usecase-title {
  padding-bottom: 16px;
  border-bottom: 1px solid #12A497;
}
@media (max-width: 460px) {
  #usecase .usecase-container ul .usecase-item .usecase-content .usecase-title {
    padding-bottom: 12px;
  }
}

#companymap {
  position: relative;
}
@media (max-width: 460px) {
  #companymap .companymap-layout {
    display: flex;
    flex-direction: column-reverse;
  }
}
#companymap .company-map-container {
  display: flex;
  align-items: center;
}
@media (max-width: 460px) {
  #companymap .company-map-container {
    flex-direction: column-reverse;
    gap: 32px;
  }
}
#companymap .company-map-container .company-area {
  padding: 40px 64px;
  border-radius: 16px;
  border: 3px solid #12A497;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 768px) {
  #companymap .company-map-container .company-area {
    padding: 32px 40px;
  }
}
@media (max-width: 460px) {
  #companymap .company-map-container .company-area {
    padding: 24px 32px;
    width: 100%;
  }
}
#companymap .company-map-container .company-area .company-area-title {
  background-color: #12A497;
  color: #fff;
  border-radius: 100px;
  padding: 12px 24px;
}
#companymap .company-map-container .company-area .company-area-text {
  color: #12A497;
  font-weight: 500;
}
#companymap .company-map-container .company-area .company-area-text p {
  letter-spacing: 0.2em;
  line-height: 2;
}
#companymap .company-map-container .two-line {
  width: 184px;
  height: 4px;
  display: flex;
}
@media (max-width: 768px) {
  #companymap .company-map-container .two-line {
    width: 144px;
  }
}
@media (max-width: 460px) {
  #companymap .company-map-container .two-line {
    width: 90%;
  }
}
#companymap .company-map-container .two-line span {
  height: 4px;
  width: 50%;
}
#companymap .company-map-container .two-line .green {
  background-color: #12A497;
}
#companymap .company-map-container .two-line .red {
  background-color: #c8161d;
}
#companymap .company-map-img {
  width: 70%;
  margin-top: -480px;
  margin-left: auto;
}
@media (max-width: 768px) {
  #companymap .company-map-img {
    width: 60%;
    margin-top: -320px;
  }
}
@media (max-width: 460px) {
  #companymap .company-map-img {
    width: 100%;
    margin: -112px auto 32px;
  }
}

.background-twocolor {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
.background-twocolor .white {
  display: block;
  width: 100%;
  height: 40%;
  background-color: #fff;
}
.background-twocolor .green {
  display: block;
  width: 100%;
  height: 60%;
  background-color: #f0fffa;
}

#offline .sec-title-container .sec-title-text {
  width: 240px;
  margin: 0 auto;
}
#offline .sec-title-container .sec-title-text .two-line {
  margin-top: 0;
}
#offline .slider-container {
  overflow: hidden;
}
#offline .slider-container .slider-item {
  width: auto;
  display: inline-block;
  height: 400px;
}
@media (max-width: 460px) {
  #offline .slider-container .slider-item {
    height: 220px;
  }
}
#offline .slider-container .slider-item img {
  height: 100%;
  width: auto;
  display: block;
}

.layout-flex {
  display: flex;
  gap: 40px;
}
.layout-flex .layout-flex-child {
  width: calc(50% - 20px);
}
@media (max-width: 460px) {
  .layout-flex .layout-flex-child {
    width: 100%;
  }
}

@media (max-width: 460px) {
  #concept .concept-container {
    flex-direction: column-reverse;
  }
}
#concept .concept-container .concept-contents {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  gap: 40px;
}
@media (max-width: 460px) {
  #concept .concept-container .concept-contents {
    align-items: flex-start;
    gap: 16px;
  }
}
#concept .concept-container .concept-contents .concept-text {
  width: 100%;
}
#concept .concept-container .concept-contents .concept-text p {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2.2;
}
@media (max-width: 768px) {
  #concept .concept-container .concept-contents .concept-text p {
    font-size: 18px;
    line-height: 2;
  }
}
@media (max-width: 460px) {
  #concept .concept-container .concept-contents .concept-text p {
    line-height: 1.8;
  }
}
#concept .concept-container .concept-contents .concept-btn {
  margin-right: 10%;
}
@media (max-width: 460px) {
  #concept .concept-container .concept-contents .concept-btn {
    margin-right: 0;
  }
}
#concept .concept-container .concept-img {
  position: relative;
  padding: 0 0 40px;
}
#concept .concept-container .concept-img .concept-img01 {
  width: 320px;
  height: 320px;
}
@media (max-width: 768px) {
  #concept .concept-container .concept-img .concept-img01 {
    width: 280px;
    height: 280px;
  }
}
@media (max-width: 460px) {
  #concept .concept-container .concept-img .concept-img01 {
    width: 240px;
    height: 240px;
  }
}
#concept .concept-container .concept-img .concept-img01 img {
  height: 100%;
}
#concept .concept-container .concept-img .concept-img02 {
  width: 300px;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (max-width: 768px) {
  #concept .concept-container .concept-img .concept-img02 {
    width: 70%;
  }
}

#news .btn {
  margin: 0 auto;
}/*# sourceMappingURL=top.css.map */