@charset "UTF-8";

@media print,screen and (max-width: 1024px){
	.bosyu {
    top: 10%;
  }
  .sp-1000 {
    display: block;
  }
  .header {
    position: fixed;
  }
  .header-wrapper {
    width: 100%;
    height: 80px;
    padding: 2vw;
  }
  .is-fixed {
    background: rgba(255, 255, 255, 0.8);
  }
  .is-fixed .header-wrapper {
    padding: 2vw;
  }
  .is-fixed .logo a {
    width: 300px;
    height: auto;
    transition: all .3s ease .0s;
  }
  .navmenu {
    display: none;
  }
  .toggle {
    overflow: hidden;
    display: block;
    position: fixed;
    right: calc(2vw - 10px);
    top: 10px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    cursor: pointer;
    z-index: 999;
    background: transparent;
    width: 60px;
    height: 60px;
    border-radius: 0 0 0 10px;
  }
  .toggle.active{
  }
  .toggle span {
    display: block;
    position: absolute;
    width: 28px;
    border-bottom: solid 2px #f08200;
    -webkit-transition: .7s ease-in-out;
    -moz-transition: .7s ease-in-out;
    transition: .7s ease-in-out;
    left: 10px;
  }
  .toggle span:nth-child(1) {
    top: 18px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .toggle span:nth-child(2) {
    top: 24px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .toggle span:nth-child(3) {
    top: 30px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .toggle span:nth-child(4) {
    border: none;
    display: flex;
    font-size: 1.2rem;
    line-height: 1;
    color: #f08200;
    bottom: 13px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    justify-content: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    transform: scale(0.8);
  }
  .toggle.active span:nth-child(1) {
    top: 24px;
    left: 0;
    width: 29px;
    -webkit-transform: rotate(-34deg);
    -moz-transform: rotate(-34deg);
    transform: rotate(-34deg);
  }
  .toggle.active span:nth-child(2),
  .toggle.active span:nth-child(3) {
    top: 24px;
    left: 0;
    width: 29px;
    -webkit-transform: rotate(34deg);
    -moz-transform: rotate(34deg);
    transform: rotate(34deg);
  }
  .header-right {
    margin-top: 0;
    margin-left: 0;
    transition: unset;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.8);
    width: 100%;
    height: 100%;
    overflow: auto;
    padding: 4vw;
    overflow: scroll;
  }
  .nav-wrap {
    margin: 6% 0;
    padding: 40px 5% 30px;
    border-radius: 3rem;
    background: #fff;
  }
  .nav-wrap .logo {
    width: 100%;
  }
  .nav-wrap .logo a,.is-fixed .nav-wrap .logo a {
    width: 80%;
    max-width: 300px;
    margin: 0 auto 40px;
    padding: 0;
  }
  .nav-wrap nav {
    flex-direction: row-reverse;
    gap: 0;
  }
  .nav-wrap nav ul {
    flex-wrap: wrap;
    width: 100%;
  }
  .nav-wrap nav ul li {
    width: calc(100%);
    border-top: 1px dashed;
    position: relative;
  }
  .nav-wrap nav ul li:after {
    content: "";
    width: 12px;
    height: 8px;
    background: url(../img/arrow-o.webp) no-repeat;
    background-size: cover;
    position: absolute;
    right: 10px;
    bottom: 22px;
    transform:rotate(-90deg);
    transition: all .3s ease .0s;
  }
  .nav-wrap .nav-list2 li:last-of-type {
    margin: 0;
    border-bottom: 1px dashed;
  }
  .header-right a:hover {
    color: #f08200;
    transition: color 0.3s ease, background-size 0.3s ease;
    background-position: bottom left;
    background-size: 0;
  }
  .nav-wrap nav ul li a {
    text-align: left;
    margin: 0 auto;
    padding: 20px 30px 20px 10px;
    color: #2f2f2f;
  }
  .nav-wrap .tel-left {
    display: flex;
    width: 100%;
    max-width: 300px;
    margin: 20px auto 0;
    padding: 20px;
    border-radius: 10px;
    background: #f08202;
  }
  .nav-wrap .telephone {
    border: 2px solid #fff;
  }
  .nav-wrap .tel-item p,
  .nav-wrap .tel-item a {
    color: #fff;
    margin: 0;
  }

  .nav-wrap .tel-item a {
    margin: 10px 0 0;
    padding: 0;
  }


  .hero-img {
    width: 47rem;
  }    
  .hero-en {
    font-size: 11.8rem;
    line-height: 15.9rem;
  }
  .hero-in {
    padding: 150px 4vw 0;
  }
  .hero-map {
    top: 6rem;
    right: calc((100% - 30rem) / 2);
    width: 35rem;
  }
  .hero-person1 {
    left: 36rem;
    top: 10rem;
    width: 70px;
  }
  .hero-person2 {
    bottom: 18rem;
    left: 31rem;
    width: 34px;
  }
  .hero-person3 {
    bottom: -4rem;
    left: 40rem;
    width: 90px;
  }
  .main-arrow {
    top: 34vw;
  }
  .hero-img2 {
    width: 30rem;
    left: calc((100% - 110rem) / 2);
  }
  .main-message {
    bottom: 3rem;
  }
  .main-message p {
    font-size: 2.6rem;
  }
  .main-message p:first-of-type {
    margin: 0 0 32px;
  }
  .top01-hero-img2 {
    bottom: 25vw;
  }
  .top01 {
    margin: 180px 0 0;
    z-index: 1;
  }
  body {
		min-width: 100%;
	}
	.inner,.inner-s {
		width: 100%;
		padding: 0 6vw;
	}
  .pc-arrival{display: none;}
  .sp-arrival{display: block;}


	.bosyu a:hover {
	  opacity: 1;
	  transition: all .3s ease .0s;
	}
  .header-wrapper {
    padding: 2vw 4vw;
  }
  .toggle {
  	right: 2vw;
  }
  .is-fixed .header-wrapper {
  	padding: 2vw 4vw;
  }
  .nav-wrap .tel-left {
    justify-content: center;
    max-width: 320px;
    padding: 10px;
  }
  .logo a:hover {
  	opacity: 1;
  }
  .nav-wrap nav ul li a:hover {
  	color: #2f2f2f;
  }

  .hero-img {
	  width: 55%;
	  right: 0;
	}
	.hero-map {
		width: 50%;
		top: 17vw;
		right: 0;
		left: 8vw;
	}
	.hero-img2 {
	  width: 30%;
	  left: 10vw;
	  bottom: -20vw;
	}
	.hero-in {
	  padding: 83vw 6vw 0;
	}
	.hero-copy {
	  font-size: 4vw;
	  line-height: 8vw;
	}
	.hero-copy br:last-of-type {
		display: none;
	}
	.hero-en {
		font-size: 10.5vw;
		line-height: 13vw;
		margin-top: 1vw;
	}
	.main-message {
	  bottom: -13vw;
	}
	.main-message p {
	  font-size: 3.4vw;
	}
	.main-message p:first-of-type {
	  margin: 0 0 20px;
	}
	.hero-person1 {
	  left: 10vw;
	  top: 18vw;
	  width: 13vw;
	}
  .hero-person2 {
    top: 72vw;
    bottom: auto;
    left: auto;
    right: 8vw;
    width: 7vw;
  }
	.hero-person3 {
	  bottom: -20vw;
	  left: 8vw;
	  width: 19vw;
	}
  .hero-en .hero-blue:after {
    left: 2vw;
  }
  .hero-en .hero-orange:after {
    top: -8px;
    left: -1.5vw;
  }
  .hero-en .hero-green:after {
    top: 3vw;
    left: 2vw;
  }
  .main-arrow {
    top: 68vw;
    right: 2vw;
  }
  .main-arrow p {
    font-size: 1.2rem;
  }
  .main-arrow img {
    width: 30%;
    height: auto;
  }

  .top01 {
		margin: 35vw 0 0;
	}
  .top01 .btn:hover {
    background: #00a9e3;
    transition: all .3s ease .0s;
	}
  .intro-en {
    font-size: 9vw;
  }
  .intro-img {
    top: 5vw;
  }
  .top01 .intro-img img {
  	width: 14vw;
  	height: auto;
  }
  .intro-jp {
    margin: 4.5vw 0 0;
    font-size: 3.2vw;
    padding: 0 0 10px;
  }
  .intro + p {
    font-size: 1.8rem;
  	line-height: 4.2rem;
    position: relative;
    z-index: 1;
    text-align: left;
    margin: 15px 0 0;
  }
  .top01 .intro + p br:first-of-type,
  .top01 .intro + p br:nth-of-type(4) {
  	display: none;
  }
	.top01-hero-img {
	  width: 13vw;
	  top: -45px;
	}
	.top01-hero-img2 {
	  bottom: -56vw;
    top: -45px;
    width: 13vw;
    z-index: 0;
	}
	.top01-box-swiper h3 {
    font-size: 2.3vw;
    line-height: 4.5vw;
    margin: -20px 20px 0 0;
  }
	.issue {
	  width: 100%;
	}
	.issue .swiper-slide {
    height: 45px;
    font-size: 1.6rem;
	}
	.issue .swiper .swiper-slide {
	  width: 124px !important;
	}
	.swiper2 {
    margin: 10px 0 0;
	}

	.top02 {
    padding: 120px 0;
	}
	.top02-box {
		flex-wrap: wrap;
	}
	.news-box-left h2 span:last-of-type {
    margin: 10px 0 0 2px;
  }
	.news-box-left:after {
	  background: url(../img/small05.webp) no-repeat;
	  background-size: cover;
	  position: absolute;
		width: 68px;
		height: 127px;
	  left: auto;
	  right: -75vw;
    top: -70px;
	  content: "";
	}
	.news-box-right {
		width: 100%;
		margin: 40px 0 0;
	}
	.news-body-content {
    padding: 0 0 30px 0;
  }
	.top-news-box > a:hover {
    color: #2f2f2f;
	}
	.top-news-box > a:hover:before {
    background: #00a9e3;
	}
	.news-item {
    margin: 30px 0 0;
  }
  .top-news-box > a {
    padding: 5px 0 25px;
  }
  .top-news-box > a:before {
  	top: -10px;
  }
  .top-news-box > a:after {
  	top: 4px;
  }
  .top-news-box > a.active {
    padding: 5px 0 15px;
  }
	.top-news-box a:hover {
		opacity: 1;
	}

  .top03 {
    margin: 0 0 60px;
	}
  .bg-block-orange {
    background: url(../img/message-bg.webp) no-repeat;
    background-size: 100%;
    background-position: top 35px center;
    position: relative;
	}
	.top03:before {
    height: 35px;
  }
	.top03 .inner:before {
		display: none;
	}
  .top03 .intro-img {
    top: 6.5vw;
	}
  .top03 .intro-img img {
  	width: 8vw;
  	height: auto;
  }
  .top03 .intro-jp {
    margin: 25px 0 0;
    padding: 0 0 10px;
  }
  .top03-movie {
    padding: 45px 0 0;
	  flex-wrap: wrap;
	  justify-content: center;
	}
	.top03-movie li {
	  width: 70%;
	  margin: 0 0 30px;
	}
	.top03-movie li:first-of-type {
	  margin: 0 0 50px;
	}
	.top03-movie li:last-of-type {
		margin: 0;
	}
	.top03-movie li a:hover {
    opacity: 1;
  }
	.samplemodal-box {
    width: 90%;
  }
  .samplemodal-box .inner-youtube {
    background: #fff;
    margin: 0 auto;
    padding: 20px;
  }
  .movie-open:hover {
    color: #f08200;
    background: transparent;
	}
	.movie-open:hover:after {
    content: "";
    width: 12px;
    height: 8px;
    background: url(../img/arrow-o.webp) no-repeat;
    background-size: cover;
    transition: all .3s ease .0s;
	}
	.btn, .btn:link, .btn:visited {
    width: 320px;
    margin: 30px auto 0;
    padding: 20px 0;
  }
	.btn:hover {
  	background: #f08200;
  }

  .top04-box {
    padding: 60px 0;
  	flex-wrap: wrap;
  }
  .swiper3, .swiper4 {
  	text-align: center;
  }
  .interview-left,.interview-right {
  	width: 100%;
  }
  .swiper3 .swiper-slide img, .swiper4 .swiper-slide img {
    width: 60%;
    height: auto;
    border-radius: 210px;
	}
  .swiper3 .swiper-button-prev, .swiper4 .swiper-button-prev {
    left: -48vw;
    right: 0;
    margin: -20px auto 0;
	}
	.swiper3 .swiper-button-next, .swiper4 .swiper-button-next {
    left: 0;
    right: -48vw;
    margin: -20px auto 0;
	}
	.swiper3 .swiper-button-prev::after, .swiper4 .swiper-button-prev::after,
	.swiper3 .swiper-button-next::after, .swiper4 .swiper-button-next::after {
		width: 18px;
    height: 12px;
	}
	.swiper3:after,.swiper4:after {
    left: -32vw;
    right: 0;
    margin: 0 auto;
  }
  .interview-left-txt h3 {
    margin: 14px 0 8px;
  }
  .interview-left-txt h3 span {
    font-size: 1.2rem;
    margin: 5px 0 0;
  }
  .interview-left-txt h2 span {
    margin: 8px 0 0;
	}
	.interview-right {
		margin: 40px 0 0;
	}
	.interview-right-box dd {
    margin: 8px 0 30px;
	}
	.interview-right-box:last-of-type dd {
    margin: 8px 0 0;
	}
	.top04 .btn:hover {
    color: #00a9e3;
    background: #fff;
    transition: all .3s ease .0s;
	}
	.top04-box:last-of-type:before {
	  width: 70px;
	  height: 104px;
	  top: -55px;
	}

	.top05 .inner {
    padding: 60px 6vw;
  }
  .schedule-left {
    margin: 0 40px 0 0;
	}
	.top05 .inner:after {
    width: 46px;
    height: 144px;
    left: 20px;
    bottom: -105px;
	}
	.top05 .intro-en {
    font-size: 8vw;
  }
  .top05 .intro-jp {
  	font-weight: 400;
  }

	.top06 {
    padding: 80px 0;
  }
  .top06 .intro-img {
    top: 5.5vw;
	}
  .top06 .intro-img img {
  	width: 15vw;
  	height: auto;
  }
  .top06 .intro-jp {
    margin: 20px 0 0;
  }
  .top06 .intro + p {
    margin: 20px 0 0;
	}
	.top06 .js-scrollable {
    width: 1000px;
	}
		
	.top07 {
		background: url(../img/place-bg2.webp);
		background-size: 100%;
		background-repeat: repeat;
		background-position: left center;
		position: relative;
	}
	.top07 .inner-s {
		background: transparent;
    padding: 80px 0;
  }
  .top07 .intro {
    margin: 0;
	}
	.top07 .intro-en {
    margin: 0;
	}
	.top07 .intro-img {
    top: 5.5vw;
	}
	.top07 .intro-img img {
    width: 13vw;
    height: auto;
	}
	.top07 .intro-jp {
    margin: 30px 0 0;
	}
	.place {
		flex-wrap: wrap;
	}
	.place-left,.place-right {
		width: 100%;
		padding: 0 6vw;
	}
	.place-left {
		width: 80%;
		margin: 0 auto;
	}
  .place-list li a {
    padding: 13px 0;
  }
	.tag1 {
    top: 0;
    left: 17vw;
    width: 10vw;
    height: 10vw;
	}
	.tag2 {
    top: 19vw;
    left: 14vw;
    width: 10vw;
    height: 10vw;
	}
	.tag3 {
    top: 37vw;
    left: 0;
    width: 10vw;
    height: 10vw;
	}
	.tag4 {
    top: auto;
    bottom: 26.5vw;
    left: 5vw;
    width: 10vw;
    height: 10vw;
  }
  .tag5 {
    top: auto;
    bottom: 13vw;
    left: 15.5vw;
    width: 10vw;
    height: 10vw;
	}
	.tag6 {
    right: 0;
    top: 4.8vw;
    width: 10vw;
    height: 10vw;
	}
	.tag7 {
    top: 32.5vw;
    right: 6.5vw;
    width: 10vw;
    height: 10vw;
	}
	.tag8 {
    top: 46vw;
    right: 11vw;
    width: 10vw;
    height: 10vw;
	}
	.tag9 {
    top: auto;
    bottom: 29vw;
    right: 2vw;
    width: 10vw;
    height: 10vw;
	}
	.tag10 {
    top: auto;
    bottom: 21.5vw;
    right: 12vw;
    width: 10vw;
    height: 10vw;
	}
	.tag11 {
    top: auto;
    bottom: 11.5vw;
    right: 17.5vw;
    width: 10vw;
    height: 10vw;
	}

	.place-left p.mouse {
		display: none;
	}
	.place-left p.tap {
		display: inline-block;
	}
	.top-place-box a.place-click {
		background: #fff;
	}
	.top-place-box a:hover {
		color: #2f2f2f;
	}
  .place-right {
  	margin: 20px 0 0;
  }

  .hero-person7 {
	  left: -77.5vw;
	  width: 14vw;
	}
	.hero-person8, .hero-person11 {
	  display: block;
	}
	.hero-person8 {
    left: -88vw;
    width: 8vw;
    top: 67vw;
  }
	.hero-person9 {
	  top: 112vw;
	  bottom: auto;
	  width: 8vw;
	  left: -80vw;
	}
	.hero-person10 {
		width: 10vw;
	}
	.hero-person11 {
    width: 4.5vw;
    right: -88.5vw;
    top: 66vw;
	}
	.hero-person12 {
    width: 11vw;;
	  top: 111vw;
	  bottom: auto;
	  right: -79.5vw;
	}

	.top08 {
		padding: 80px 0;
	}
	.top07add .intro-en {
    margin: 0;
	}
	.top07add .intro + p {
		margin: 20px 0 0;
    text-align: left;
	}
	.top07add .intro-img {
    top: 5vw;
	}
	.top07add .intro-img img {
		width: 16vw;
		height: auto;
	}
	.top07 .inner-s:before,.top07 .inner-s:after {
		display: none;
	}
	.top07add .intro-orange .intro-img {
    top: 5.5vw;
	}
	.top07add .intro-orange  .intro-img img {
		width: 8vw;
		height: auto;
	}
	.top07add .intro-orange  .intro-jp {
    margin: 25px 0 0;
	}
	.top07add .intro-orange  .intro + p {
		margin: 20px 0 0;
		text-align: left;
	}
	.life-link {
    margin: 25px 0 0;
    padding: 30px;
  }
	.life-link ul li {
    width: 50%;
	}
	.life-link ul li:first-of-type {
    margin: 0 20px 0 0;
	}
	.life-link ul li a {
		display: block;
	}
	.life-link ul li a:hover img {
    opacity: 1;
    transition: all .3s ease .0s;
	}
	.life-link ul li a p {
	  font-size: 1.4rem;
	  line-height: 2rem;
	  margin: 10px 0 0;
	}
	.life-link ul li a:hover p {
		color: #2f2f2f;
	}
	.life-link ul li a img {
		width: 100%;
		height: auto;
	}

	.top08 .intro-en {
    margin: 0;
	}
	.top08 .intro-img {
    top: 5vw;
	}
	.top08 .intro-img img {
		width: 16vw;
		height: auto;
	}
	.conditions-box {
    margin: 30px 0 0;
    padding: 40px 30px;
  }
  .top08 .btn, .top08 .btn:link, .top08 .btn:visited {
    margin: 10px auto 0;
  }
  .top08 .btn:hover {
	  background: #00a9e3;
	}

	.top09 {
    padding: 0 0 80px;
	}
	.skill-left {
		width: 100%;
		padding: 0;
	}
	.skill-box {
    margin: 24px 0 40px;
	}
	.skill-box-content a:hover {
		color: #2f2f2f;
	}
 	.skill-right {
 		position: relative;
 		width: calc(100% + 6vw);
    margin: 0;
 	}
	.skill-right p {
		font-size: 7vw;
		bottom: -3.5vw;
	}
	.skill-slide-box {
		max-height: 430px;
		pointer-events: none;
	}
 	.top09 .intro-jp {
    font-size: 4vw;
    margin: 0;
  }
  .top09 .intro-img {
    top: 3vw;
	}
  .top09 .intro-img img {
  	width: 12vw;
  	height: auto;
  }
	.top09-slogan {
    margin: 40px 0 0;
  }

  .top10 {
    background: url(../img/fix.webp), url(../img/fix2.webp), url(../img/message-bg.webp);
    background-repeat: no-repeat;
    background-position: top center, bottom center, top center;
    background-size: 100% 30px, 100% 30px, 300%;
    padding: 80px 0;
  }
  .boshu-left .intro-jp {
    font-size: 4vw;
    margin: 0;
  }
  .boshu-left .intro-img {
    top: 3vw;
	}
  .boshu-left .intro-img img {
  	width: 12vw;
  	height: auto;
  }
  .boshu-left .intro + p {
    margin: 35px 0 0;
  }
  .recruit-tel {
    margin: 20px auto 0;
  }
  .tel-item a {
  	pointer-events: auto;
  	font-weight: 400;
  }
  .recruit-box {
    max-width: 100%;
    margin: 15px auto 0;
    padding: 25px 30px;
  }

  .top11 {
    padding: 80px 0;
	}
	.top11-box {
		flex-wrap: wrap;
	}
	.faq-box-left,.faq-box-right {
		width: 100%;
	}
	.faq-box-left .intro-jp {
    /*font-size: 2.4rem;*/
    font-size: 4vw;
  }
	.faq-box-left .intro-img {
    top: 3vw;
	}
	.faq-box-left .intro-img img {
		width: 5vw;
    height: auto;
	}
  .faq-box-left:after {
    width: 68px;
    height: 105px;
    bottom: -20px;
  }
	.faq-box-right {
		margin: 50px 0 0;
	}
	.top-faq-box:hover {
    border: 1px solid #ececec;
	}

	footer {
		padding: 80px 0 0;
	}
	.footer-top {
		flex-wrap: wrap;
		justify-content: center;
	}
	.footer-top-left a:hover {
    opacity: 1;
	}
	.footer-top-left a {
    width: 300px;
  }
	.footer-top-left a img {
		width: 100%;
		height: auto;
	}
	.footer-top-right-box li a:hover {
    background-position: 100%;
	}
	.footer-top-right {
		width: 100%;
	}
	.footer-top-right-box ul {
		margin: 40px 0 0;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.footer-top-right-box ul:last-of-type {
		margin: 0;
	}
	.footer-top-right-box li {
		width: calc(100% / 2);
		margin: 0 0 20px;
		text-align: center;
	}
  .footer-top-right-box li a {
    background: transparent;
    color: #fff;
  }
	.footer-top-right-box li a span {
    margin: 0 0 5px;
  }
  .footer-top {
  	margin: 0 0 10px;
  }
  .footer-bottom {
		flex-wrap: wrap;
		justify-content: center;
  }
  .footer-bottom-left {
  	width: 100%;
    text-align: center;
  }
  address {
    line-height: 2rem;
    font-weight: 350;
  }
  .footer-bottom-left p {
    font-size: 1.8rem;
    line-height: 2.4rem;
    font-weight: 350;
  }
  .footer-link {
    margin: 20px 0 0;
    padding: 20px;
  }
  .footer-link ul {
  	flex-wrap: wrap;
  }
  .footer-link ul:after{
	  content:"";
	  display: block;
	  width:30%;
	}
  .footer-link ul li {
    width: calc(100% / 3 - 10px);
	}
  .footer-link ul li:nth-of-type(4),
  .footer-link ul li:nth-of-type(5) {
  	margin: 20px 0 0;
  }
  .footer-link ul li a:hover {
    color: #2f2f2f;
	}
	.footer-link ul li a:hover img {
    opacity: 1;
	}
	.footer-bottom-right a {
    margin: 20px auto 0;
    padding: 15px 45px 15px 15px;
    text-align: center;
	}
	.footer-bottom-right a:hover {
    color: #f08200;
    background: #fff;
	}
	.footer-bottom-right a:before {
    top: 11px;
  }
  .footer-bottom-right a:after {
    top: 19px;
  }
	small {
		margin: 20px 0;
	}

}


@media print,screen and (max-width: 768px){
  .top01-hero-img2 {
    bottom: 14vw;
    width: 13vw;
  }
  .top03-movie li {
    width: 90%;
  }
  .top03-movie li:first-of-type {
    margin: 0 0 30px;
  }
  .top09 .intro-jp {
    font-size: 5vw;
    margin: 0;
  }
  .top09 .intro-img {
    top: 4vw;
  }
  .top09 .intro-img img {
    width: 15vw;
    height: auto;
  }
  .top09-slogan {
    margin: 40px 0 0;
  }
  .boshu-left .intro-jp {
    font-size: 5vw;
    margin: 0;
  }
  .boshu-left .intro-img {
    top: 4vw;
  }
  .boshu-left .intro-img img {
    width: 15vw;
    height: auto;
  }
  .boshu-left .intro + p {
    margin: 35px 0 0;
  }
  .faq-box-left .intro-jp {
    /*font-size: 2.4rem;*/
    font-size: 5vw;
  }
  .faq-box-left .intro-img {
    top: 4vw;
  }
  .faq-box-left .intro-img img {
    width: 6vw;
    height: auto;
  }
  .faq-box-right {
    margin: 50px 0 0;
  }
}


@media print,screen and (max-width: 600px){

	.sp-600 {
		display: block;
	}
	.logo a, .is-fixed .logo a {
	  width: 240px;
	}
	.bosyu {
    top: 15%;
  }
	.bosyu a {
		width: 44px;
    height: auto;
  }
	.bosyu a img {
		width: 100%;
    height: auto;
  }
	.nav-wrap {
    margin: 14% 0 0;
  }
  .hero-img {
    width: 63%;
  }
	.hero-map {
	  width: 50%;
	  top: 24vw;
	  left: 5vw;
	}
	.hero-in {
	  padding: 93vw 6vw 0;
	}
	.hero-copy {
	  font-size: 5vw;
	  line-height: 10vw;
	  letter-spacing: 0.2em;
	}
	.main-message p {
    font-size: 3.8vw;
	}
	.main-message p:first-of-type {
	  margin: 0 0 10px;
	}
	.hero-person {
		z-index:0;
	}
	.hero-person1 {
	  left: 7vw;
    top: 25vw;
    width: 14vw;
	}
  .hero-person2 {
    top: 80vw;
    bottom: auto;
    left: auto;
    right: 8vw;
    width: 8vw;
  }
  .hero-person3 {
	  bottom: -18vw;
	  left: 8vw;
	  width: 19vw;
	}

	.top01 {
	  margin: 30vw 0 0;
	}
	.intro-en {
	  font-size: 10vw;
	}
  .top01 .intro-img img {
    width: 18vw;
  }
	.intro-jp {
	  margin: 20px 0 0;
		font-size: 4.8vw;
		letter-spacing: 0.2rem;
	}
  .intro + p {
    font-size: 1.4rem;
    line-height: 2.4rem;
    font-weight: 350;
    margin: 20px 0 0;
  }
  .top01 .btn, .top01 .btn:link, .top01 .btn:visited {
    margin: 20px auto 0;
  }
	.btn, .btn:link, .btn:visited {
	  width: 80%;
	  padding: 15px 0;
	  font-size: 1.6rem;
	}
	.top01-box-swiper {
    margin: 40px 0 0;
    flex-wrap: wrap;
    justify-content: center;
	}
	.top01-box-swiper h3 {
	  font-size: 1.7rem;
	  line-height: 1;
	  margin: 0 0 20px;
	}
	.top01-box-swiper h3 span {
	  padding: 0 0 10px;
	}
	.top01-hero-img,.top01-hero-img2 {
		display: none;
	}
	.issue .swiper .swiper-slide {
		font-size: 1.2rem;
		width: 103px!important;
		height: 37px;
	}

	.top02 {
	  padding: 60px 0;
	}
  .news-box-left:after {
    right: -70vw;
    width: 50px;
    height: 93px;
    top: -40px;
  }
  .news-box-left h2 span:first-of-type {
    font-size: 2rem;
	}
	.news-box-left h2 span:last-of-type {
    font-size: 1.4rem;
	}
	.news-box-right {
	  margin: 20px 0 0;
	}
	.news-item {
	  margin: 0;
	  position: relative;
	}
	.news-item time {
    font-size: 1.2rem;
    position: absolute;
    top: 15px;
  }
	.top-news-box > a {
    padding: 30px 30px 15px 0;
	  font-size: 1.4rem;
    line-height: 2rem;
    font-weight: 350;
	}
	.top-news-box > a.active {
    padding: 30px 30px 15px 0;
	}
	.top-news-box > a:before {
    width: 24px;
    height: 24px;
    top: calc(40% - 4px);
	}
	.top-news-box > a:after {        
		top: calc(40% + 5px);
	  right: 6px;
	}
	.news-body-content p {
    font-size: 1.4rem;
    line-height: 2rem;
  }
  .news-body-content p img {
    max-width: 100%;
    width: 100%;
	}
	.top-news-box a, .news-body p {
    font-size: 1.4rem;
    line-height: 2rem;
  }

	.top03 {
	  margin: 0 0 40px;
	}
	.top03:before {
	  height: 25px;
	}
  .bg-block-orange {
    background: url(../img/message-bg.webp) no-repeat;
    background-size: 100%;
    background-position: top 25px center;
  }
  .top03 .intro-img img {
    width: 11vw;
  }
  .top03 .intro-jp {
    margin: 20px 0 0;
  }
  .top03 .intro + p {
    font-size: 1.2rem;
    margin: 20px 0 0;
    text-align: center;
  }
  .top03-movie {
	  padding: 30px 0 0;
	}
	.top03-movie-more {
		margin: 30px 0 0;
	}
	.samplemodal-box .samplemodal-close {
    font-size: 1.4rem;
  }

  .top04-box {
    padding: 40px 0;
  }
  .swiper3:after, .swiper4:after {
    left: -42vw;
    top: -10px;
    width: 100px;
    height: 73px;
  }
  .swiper3 .swiper-slide img, .swiper4 .swiper-slide img {
    width: 260px;
    height: auto;
    border-radius: 210px;
  }
  .swiper3 .swiper-button-prev, .swiper4 .swiper-button-prev {
    left: -50vw;
  }
  .swiper3 .swiper-button-next, .swiper4 .swiper-button-next {
    right: -50vw;
  }
  .interview-left-txt h3 {
    margin: 20px 0 10px;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: 350;
  }
  .interview-left-txt h2 {
    font-size: 7vw;
  }
  .interview-left-txt h2 span {
    margin: 10px 0 0;
    font-size: 1.4rem;
    line-height: 2rem;
  }
  .interview-right {
	  margin: 30px 0 0;
	}
	.interview-right-box dt {
    font-size: 1.6rem;
  }
  .interview-right-box dd {
	  margin: 8px 0 30px;
	  font-size: 1.4rem;
	  line-height: 2.4rem;
    font-weight: 350;
	}
	.interview-right-box:last-of-type dd {
    margin: 8px 0 0;
	}
	.top04 .btn, .top04 .btn:link, .top04 .btn:visited {
    margin: 20px auto 0;
  }
  .top04-box:last-of-type:before {
	  width: 60px;
	  height: 89px;
	  top: -25px;
	}

	.top05 {
    margin: 0 0 40px;
  }
  .top05-hero-img {
    position: absolute;
    width: 17vw;
    height: auto;
    top: -35px;
  }
  .top05 .inner {
	  padding: 40px 6vw;
	}
	.top05 .intro-en {
	  font-size: 10vw;
	}
	.top05 .intro-jp {
    font-size: 4.8vw;
    padding: 0;
  }
  .schedule {
    margin: 20px 0 0;
    flex-wrap: wrap;
	}
	.schedule-left {
		width: 100%;
	  margin: 0 0 10px;
	}
	.schedule-right {
		width: 100%;
	}
	.schedule dl {
    padding: 0 0 10px;
  }
	.schedule-left dl:last-of-type:before {
		display: block;
    content: "";
    position: absolute;
    top: 14px;
    left: 65px;
    width: 1px;
    height: 200%;
    background: #f08200;
	}
	.schedule dl dt, .schedule dl dd {
    font-size: 1.4rem;
    line-height: 2.4rem;    
    margin: 0 25px 0 0;
    font-weight: 350;
  }
	.schedule dl dd br {
		display: none;
	}
	.top05 .inner:after {
	  width: 30px;
    height: 93px;
    bottom: -65px;
	}
	.top05-hero-img2 {
	  bottom: -14vw;
	  width: 17vw;
	}
	.schedule dl:after {
    top: 8px;
    left: 45px;
    width: 10px;
    height: 10px;
  }
  .schedule dl:before {
    left: 50px;
  }
  .schedule-left dl:last-of-type:before {
    left: 50px;
  }

	html.android .schedule dl:after {
    top: 7px;
    left: 41px;
	}
	html.android .schedule dl:before {
    left: 45px;
  }
	html.android .schedule-left dl:last-of-type:before {
    left: 45px;
  }

	.top06 {
	  padding: 40px 0 60px;
	}
	.top06 .intro-img {
	  top: 6.5vw;
	}
	.top06 .intro-jp {
    margin: 20px 0 0;
  }
  .top06 .intro + p {
    font-size: 1.4rem;
    line-height: 2.4rem;
    font-weight: 350;
  }
  .top06 h3 {
    font-size: 1.5rem;
    margin: 30px 0 20px;
  }
	.top06 .js-scrollable {
	  width: 820px;
	}
	.scroll-hint-icon {
		padding: 10px;
	}
	.scroll-hint-icon:before {
    width: 30px;
    height: 30px;
  }

  .top07 .inner-s {
    padding: 60px 0;
  }
	.top07 .intro-jp {
	  margin: 20px 0 0;
	}
  .place-body,.place-body-content {
    padding: 3vw;
  }
  .place-left {
    width: 100%;
  }
	.tag1 {
	  top: 0;
	  left: 22vw;
	  width: 13vw;
	  height: 13vw;
	}
	.tag2 {
	  top: 25vw;
	  left: 18vw;
	  width: 13vw;
	  height: 13vw;
	}
	.tag3 {
	  top: 48vw;
	  left: 0;
	  width: 13vw;
	  height: 13vw;
	}
	.tag4 {
	  top: auto;
	  bottom: 34.5vw;
	  left: 6vw;
	  width: 13vw;
	  height: 13vw;
	}
	.tag5 {
	  top: auto;
	  bottom: 17vw;
	  left: 20.5vw;
	  width: 13vw;
	  height: 13vw;
	}
	.tag6 {
	  right: 0;
	  top: 6.5vw;
	  width: 13vw;
	  height: 13vw;
	}
	.tag7 {
	  top: 42vw;
	  right: 8.5vw;
	  width: 13vw;
	  height: 13vw;
	}
	.tag8 {
	  top: 59vw;
	  right: 14vw;
	  width: 13vw;
	  height: 13vw;
	}
	.tag9 {
	  top: auto;
	  bottom: 37.5vw;
	  right: 3vw;
	  width: 13vw;
	  height: 13vw;
	}
  .tag10 {
	  top: auto;
	  bottom: 27.8vw;
	  right: 15.5vw;
	  width: 13vw;
	  height: 13vw;
	}
	.tag11 {
	  top: auto;
	  bottom: 14.5vw;
	  right: 22.5vw;
	  width: 13vw;
	  height: 13vw;
	}
	.place-left p.tap {
	  display: inline-block;
	  font-size: 1.4rem;
	  line-height: 2.4rem;
	  margin: 15px 0 0;
	  padding: 10px 15px;
	}
	.hero-person7 {
	  width: 17vw;
	}
	.hero-person8 {
	  left: -86vw;
	  width: 11vw;
	  top: 77vw;
	}
	.hero-person9 {
	  top: 142vw;
	  bottom: auto;
	  width: 11vw;
	  left: -80vw;
	}
	.hero-person10 {
	  width: 13vw;
	  top: 35vw;
	}
	.hero-person11 {
	  width: 5.5vw;
	  right: -86.5vw;
	  top: 78vw;
	}
  .hero-person12 {
	  width: 13vw;
	  top: 143vw;
	  bottom: auto;
	  right: -79.5vw;
	}
	.top-place-box a {
    font-size: 1.6rem;
    padding: 15px 10px;
  }
  .top-place-box a:after {
    top: 20px;
    right: 10px;
  }
  .place-body-content p {
    font-size: 1.4rem;
    line-height: 2.4rem;
    font-weight: 350;
  }
  .place-list li a {
  	font-size: 1.4rem;  	
    padding: 10px 0;
  }

	.top07add .intro + p {
    font-size: 1.4rem;
    line-height: 2.4rem;
    text-align: left;
    font-weight: 350;
	}
	.top07add .intro-orange .intro-jp {
	  margin: 20px 0 0;
	}
	.life-link {
	  padding: 3rem;
	}
	.life-link ul {
		flex-wrap: wrap;
	}
	.life-link ul li {
		width: calc(100%);
		text-align: center;
	}
	.life-link ul li:first-of-type {
		margin: 0 0 20px;
	}
	.life-link ul li a {
		width: 80%;
		margin: 0 auto;
	}
	.life-link ul li a p {
    font-size: 1.3rem;
    line-height: 1.8rem;
	  margin: 5px 0 -3px;
	}

	.top08 {
	  padding: 60px 0;
	}
	.top08 .intro-img {
	  top: 6vw;
	}
	.top08 .intro-img img {
	  width: 18vw;
	}
	.conditions-box {
	  margin: 25px 0 0;
	  padding: 3rem;
	}
	.conditions-content {
		flex-wrap: wrap;
		padding: 25px 0;
	}
	.conditions-content:first-of-type {
    padding: 0 0 25px;
  }
	.cc-left,.cc-right {
		width: 100%;
	}
	.cc-left {
		margin: 0 0 10px;
	}
	.cc-right p:first-of-type {
    font-size: 1.4rem;
    line-height: 2.4rem;
    margin: -5px 0;
    letter-spacing: 0.1em;
	}
	.cc-right p.ajust {
    font-size: 1.3rem;
    line-height: 2.2rem;
    margin: 10px 0 -5px;
	}
	.top08 .btn, .top08 .btn:link, .top08 .btn:visited {
	  margin: 0 auto;
	}

	.top09 {
	  padding: 0 0 60px;
	}
  .top09 .intro-jp {
    font-size: 7vw;
  }
	.top09 .intro-img {
	  top: 6vw;
	}
	.top09-slogan {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin: 20px 0 0;
  }
  .top09-slogan span img {
    margin: 0 3px 6px 0;
    width: 50px;
    height: auto;
	}
	.top09-slogan + p {
    margin: 10px 0 0;
    font-size: 1.4rem;
    line-height: 2.4rem;
    font-weight: 350;
  }
  .skill-box {
	  margin: 24px 0 30px;
	}
  .skill-box-content a {
    font-size: 1.4rem;
    line-height: 2.4rem;
    padding: 10px 30px 10px 10px;
  }
  .skill-body-content {
    padding: 20px;
	}
	.skill-body-content p {
    font-size: 1.4rem;
    line-height: 2.4rem;
    margin: -5px 0;
  }
	.skill-slide-box {
		max-height: 340px;
	}

	.top10 {
	  background: url(../img/fix.webp), url(../img/fix2.webp), url(../img/message-bg.webp);
	  background-repeat: no-repeat;
	  background-position: top center, bottom center, top center;
	  background-size: 100% 20px, 100% 20px, 500%;
	  padding: 60px 0;
	}
  .boshu-left .intro-jp {
    font-size: 7vw;
  }
  .boshu-left .intro-img {
		top: 5.5vw;
	}
	.boshu-left .intro + p {
	  margin: 20px 0 0;
	  font-size: 1.4rem;
	  line-height: 2.4rem;
	}
	.recruit-box {
	  margin: 15px auto 0;
	  padding: 20px;
	}
	.recruit-box dl,.recruit-box dl:first-of-type {
		flex-wrap: wrap;
		margin: 0 0 15px;
	}
	.recruit-box dl:last-of-type {
		margin: 0;
	}
	.recruit-box dl dt,.recruit-box dl dd {
		width: 100%;
	}
	.recruit-box dl dt {
    font-size: 1.4rem;
    line-height: 1;
    margin: 0 0 5px;
  }
  .recruit-box dl dd {
    font-size: 1.4rem;
    line-height: 2.4rem;
    margin: -5px 0;
  }
  .recruit-tel {
    max-width: 100%;
    margin: 20px auto 0;
    padding: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .tel-item {
    margin: 0 0 0 10px;
  }
  .tel-item p {
    font-size: 1.6rem;
    margin: 0 0 12px;
  }
  .tel-item a {
    margin: -5px 0;
    display: block;
  }
	.tel-right {
	  margin: 10px 0 -5px;
	}
  .tel-right:before {
  	display: none;
  }
  .tel-right p {
    margin: 0;
    display: inline-block;
    font-weight: 300;
  }
  .faq-box-left .intro-jp {
    font-size: 7vw;
  }
	.faq-box-left .intro-img {
	  top: 5vw;
	}
  .faq-box-left .intro-img img {
    width: 6.5vw;
  }
  .faq-box-right {
	  margin: 30px 0 0;
	}
	.faq-box-left:after {
		width: 53px;
		height: 82px;
	  left: 0;
	  top: -50px;
	}
	.top-faq-box {
    padding: 0 10px;
  }
	.top-faq-box a {
    font-size: 1.4rem;
    line-height: 2rem;
    padding: 10px 20px 10px 2em;
    text-indent: -1.8em;
  }
  .top-faq-box a:after {
    right: 0;
  }
  .faq-item {
    margin: 0 0 10px;
	}
  .faq-body p {
    font-size: 1.4rem;
    line-height: 2.4rem;
    margin: 0 0 10px;
    padding: 13px 15px;
    font-weight: 350;
  }

	.top11 {
	  padding: 60px 0;
	}

	footer {
	  padding: 60px 0 0;
	}
	.footer-top {
	  margin: 0 0 30px;
	}
  .footer-top-right {
    padding: 0 3vw;
  }
  .footer-top-right-box ul {
    margin: 30px 0 0;
  }
  .footer-top-right-box li {
  	text-align: left;
  }
  .footer-top-right-box li:last-of-type {
  	margin: 0;
  }
  .footer-top-right-box li a {
    font-size: 1.4rem;
    font-weight: 400;
  }
  .footer-top-right-box li a span {
    font-size: 1rem;
    line-height: 1;
  }
  .footer-bottom-left p {
    font-size: 1.6rem;
  }
	.footer-link ul li {
	  width: calc(100% / 2 - 10px);
	}
	.footer-link ul li:nth-of-type(3),
	.footer-link ul li:nth-of-type(4), 
	.footer-link ul li:nth-of-type(5) {
	  margin: 20px 0 0;
	}


}

@media print,screen and (max-width: 500px){
	.tag6.tooltip:after {
	  left: -120%;
	}
	.tag7.tooltip:after {
		left: -70%;
	}
	.tag9.tooltip:after {
	  left: -100%;
	}
}	

@media print,screen and (max-width: 425px){

	.sp-425 {
		display: block;
	}
	.telephone {
    width: 40px;
    height: 40px;
  }
  .telephone img {
    width: 50%;
    height: auto;
	}
	.swiper3 .swiper-button-prev, .swiper4 .swiper-button-prev {
	  left: -55vw;
	}
	.swiper3 .swiper-button-next, .swiper4 .swiper-button-next {
	  right: -55vw;
	}
	.tag6.tooltip:hover:after, .tooltip:focus:after {
		left: -120%;
	}
	.tag7.tooltip:hover:after, .tooltip:focus:after {
		left: -70%;
	}
	.tag9.tooltip:hover:after, .tooltip:focus:after {
		left: -100%;
	}
	.place-list {
    gap: 8px 0;
	}
	.place-list li {
    width: calc(100% / 2 - 5px);
  }
  .place-list2 li {
    width: calc(100%);
  }
  .place-list li a {
    font-size: 3vw;
  }
  .top08 .btn, .top08 .btn:link, .top08 .btn:visited {
  	width: 100%;
  }


	.footer-top-right {
    padding: 0 0 0 6%;
  }
  .footer-link ul li:nth-of-type(3),
  .footer-link ul li:nth-of-type(4),
  .footer-link ul li:nth-of-type(5) {
	  margin: 10px 0 0;
	}
  .footer-link ul li a p {
    font-size: 1.2rem;
    line-height: 1.8rem;
    margin: 3px 0 0;
	}
  .footer-top-right-box li a {
    line-height: 2rem;
  }

}

@media print,screen and (max-width: 375px){

	.sp-375 {
		display: block;
	}
	.header-wrapper {
	  height: 60px;
	}
	.logo a, .is-fixed .logo a {
	  width: 240px;
	}
	.toggle {
	  right: 0;
	  top: -1px;
	}
	.tel-item a {
    font-size: 2.6rem;
  }
	.tel-item p {
		font-size: 1.4rem;
	}

	.top02 {
	  padding: 60px 0;
	}
	.news-box-left:after {
    right: -60vw;
    width: 40px;
    height: 74px;
    top: -20px;
	}

  .interview-right {
	  margin: 20px 0 0;
	}
  .swiper3 .swiper-slide img, .swiper4 .swiper-slide img {
    width: 80%;
  }
  .swiper3 .swiper-button-prev, .swiper4 .swiper-button-prev {
	  left: -62vw;
	}
	.swiper3 .swiper-button-next, .swiper4 .swiper-button-next {
	  right: -62vw;
	}
  .interview-left-txt h2 span {
    font-size: 1.2rem;
    line-height: 2rem;
  }

  .top04-box:last-of-type:before {
    width: 50px;
    height: 74px;
  }

	.top06 {
	  padding: 40px 0 60px;
	}

	.top07 .inner-s {
	  padding: 60px 0;
	}
  .tag6.tooltip:hover:after, .tooltip:focus:after {
	  left: -150%;
	}
	.place-left p.tap {
    font-size: 1.2rem;
    line-height: 2rem;
  }
  .place-body,.place-body-content {
    padding: 3vw;
	}

	.top08 {
	  padding: 60px 0;
	}

  .life-link ul li a {
    width: 100%;
  }

	.top09 {
	  padding: 0 0 60px;
	}

	.top10 {
	  padding: 60px 0;
	}

	.top11 {
	  padding: 60px 0;
	}

	footer {
	  padding: 60px 0 0;
	}
	.footer-top-right {
    padding: 0 0 0 9vw;
  }
  .footer-top-left a {
	  width: 260px;
	}
  .footer-top-right-box li {
    margin: 0 0 15px
  }

}

@media print,screen and (max-width: 325px){

	.hero-person10 {
	  top: 45vw;
	}

	.footer-bottom-left p {
	  font-size: 1.3rem;
	}

}

  

























