@media screen and (max-width: 750px) {


 body {
  font-size: 13px;
 }


 .global-nav .nav-logo img {
  height: 35px;
  margin-top: 6px;
 }

 .fv-overlay {
  width: 100%;
 }


 .fv-overlay .logo {
  width: 80%;
  margin-bottom: 16px;
 }

 .fv-overlay .sub {
  font-size: 13px;

 }



 .about {
  height: 1300px;
  padding: 0;
  width: 90%;
  margin: 0 auto;
 }


 .about .inner {
  flex-direction: column;
  margin-bottom: 60px;
 }



 .about .tate {
  width: 100%;
  writing-mode: horizontal-tb;
  margin-right: 0;
  margin-bottom: 30px;
 }



 .about .img-takibi {
  position: absolute;
  width: 100%;
  right: 0;
  bottom: 0;

 }

 .about .txt {
  width: 100%;
 }


 .about .txt .eng {
  width: 100%;
 }



 .image-gallery {
  width: 90%;
 }

 .gallery-row {
  flex-wrap: wrap;
 }

 .gallery-item {
  width: 45%;
 }




 .location {
  flex-direction: column-reverse;
 }


 .location .map {
  position: static;
  width: 100%;
  left: 0;
  top: 0;
  bottom: 0;
 }


 .location .info {
  text-align: left;
  width: 90%;
  margin-left: inherit;
  margin-right: 0;
  margin-bottom: 20px;
 }



 .location p {
  width: 100%;
 }

 .location p.eng {
  width: 100%;
  margin-left: inherit;
  margin-top: 30px;
 }

 .location .head {
  text-align: left;
 }


 .title-1 {
  font-size: 30px;
 }

 .title-2 {
  display: block;
  font-size: 60px;
  margin-top: 10px;
 }




 .cta {
  height: 600px;
 }




 .cta .inner p {
  font-size: 16px;
 }



 .cta .logo {
  width: 260px;
 }






 .news {
  padding: 120px 10%;
 }




 .news-list {
  width: 100%;

 }

 .news-list li {
  flex-direction: column;
 }



 .news-date {
  display: block;
  margin-bottom: 10px;
 }

 .news-title {
  font-size: 14px;
 }







 .takibi .title {
  width: 80%;
 }


 .takibi .info {
  margin-top: 60px;
 }


 .flow-box {
  width: 90%;
  flex-direction: column;
 }

 .flow-box .wrap {
  width: 100%;
 }


 .flow-box .item {
  width: 100%;
  margin-top: 80px;
 }




 .video-wrap {
  width: 110%;
  padding-top: 60px;
 }

 .video-wrap video {
  width: 100%;
  height: 400px;
  display: block;
 }




 .crew-box {
  flex-direction: column;
  align-items: center;
 }

 .crew-box .item {
  width: 60%;
  margin-right: 0;
  margin-bottom: 60px;
 }


 .crew-box .item:last-child {
  margin-bottom: 0;
 }




 .crew-box img {
  width: 80px;
 }

 .crew-box .name {
  text-align: center;
  margin-top: 10px;
 }

 .crew-box .name span {
  font-size: 12px;

 }

 .crew-box .name p {
  margin-top: 5px;
 }




 .crew-box .icon-sns {
  width: 20px;
  margin-right: 20px;
 }






 .vision {
  padding: 80px 0;
 }




 .vision-img {
  width: 90%;
  margin-top: 60px;
 }


 .vision .txt {
  width: 90%;
  flex-direction: column;
 }

 .vision .txt .item {
  width: 100%;
  margin-bottom: 20px;
 }









 .company-table {
  width: 90%;
 }



 .company-table th {
  border-bottom: solid 1px #EAEAEA;
  width: 23%;
  vertical-align: middle;
  text-align: center;
 }

 .company-table td {
  border-bottom: solid 1px #313131;
  padding: 40px 60px;
  vertical-align: middle;
 }

 .company-table td.ex {
  padding: 20px 30px;
  text-align: center;
 }

 .company-table td.ex2 {}

 .company-table td p {
  margin-bottom: 20px;
 }



 footer {
  padding: 20px;

 }

 .footer-nav {
  display: block;
 }





 .footer-nav ul {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  margin-top: 20px;
  flex-wrap: wrap;

 }


 #contact {
  padding: 90px 0;
  padding-bottom: 0;
 }



 form {
  width: 90%;
 }


 form .txt {
  width: 100%;
 }


 form label {
  height: 50px;
  width: 100%;
 }

 form label.radio.ex {
  height: 50px;
  width: 100%;
 }


 form .item {
  margin-bottom: 20px;
  flex-direction: column;
 }

 .item.message,
 .item.radio {
  align-items: flex-start;
  height: auto;
 }


 form input {
  width: 100%;
 }

 textarea {
  width: 100%;
  height: 200px;
 }

 form button {
  width: 100%;
  margin-top: 30px;
  font-size: 18px;
 }

 ::placeholder {
  font-size: 15px;
  color: #bbb;
 }


 .radio .inner {
  width: 100%;
  height: auto;
 }

 .radio .inner div {
  margin-bottom: 10px;
 }


 .radio .inner span {
  line-height: 1.8;
 }



 .radio .inner.ex {
  height: 180px;
 }

 .radio.label {
  height: 50px;
 }

 .radio.label.ex {
  height: 50px;
 }


 .message.label {
  width: 100%;
  height: 50px;
 }


 .radio span {
  margin-left: 5px;
 }

 .check {
  width: 20px;
  margin-bottom: 3px;
 }

 .radio .inner div {
  display: flex;
  align-items: center;
 }


 .label-btn {
  display: block;
  width: 40px;
  height: 20px;
  line-height: 20px;
  background: #F95F00;
  color: #fff;
  font-size: 12px;
  border-radius: 3px;
  margin-left: 10px;
 }

 .label-btn.ex {
  background: #eee;
  color: #999;
 }



 .thanks .inner {
  width: 80%;

 }




 /*----------------------------*/


 .pc {
  display: none !important;
 }

 .tab {
  display: none !important;
 }

 .sp {
  display: block;
 }




 /*----------------------------*/

}
