@charset "utf-8";

/* ----------------------------------------------------------------------------
	カスタマイズ -> 1400px
------------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {

	.photobox .text .wrap { padding:0; }
	.photobox .text .pos { position:relative; display:block; padding:40px 0; }

	header .buttons { width:400px; }
	nav { padding-right:20px; }
	nav li { margin-right:20px; }

}
/* ----------------------------------------------------------------------------
	カスタマイズ -> 1200px
------------------------------------------------------------------------------- */
@media only screen and (max-width: 1200px) {

	.photobox2 .pagecaption1 { font-size:2.5vw; }

}
/* ----------------------------------------------------------------------------
	カスタマイズ -> 1150px
------------------------------------------------------------------------------- */
@media only screen and (max-width: 1150px) {
	header nav li:first-child { display:none; }
}

/* ----------------------------------------------------------------------------
	カスタマイズ -> 1100px
------------------------------------------------------------------------------- */
@media only screen and (max-width: 1100px) {

	.container { padding:70px 0; }
	.inner { padding:0 40px; }

	.photobox { margin-bottom:120px; padding-top:60px; }
	.photobox.last { margin-bottom:90px; }
	.photobox .eng { font-size:80px; line-height:1em; top:-1.8em; }
	.photobox .photo { top:0; width:70%; position:relative; }
	.photobox .text { width:70%; font-size:25px; letter-spacing:1.2px; margin-top:-30px; }
	.photobox .text .pos { padding:70px 0 40px; }
	.photobox.photo-right .photo { margin-right:0; margin-left:auto; }

	.big0 { font-size:18px; line-height:1.35em; }
	.big05 { font-size:21px; line-height:1.35em; }
	.big1 { font-size:27px; line-height:1.5em; }

	header, body.common header:before, header.follow:before { /*height:85px;*/ }
	header:before { transition-delay:0.2s; }
	header:after { content:""; display:block; width:200px; position:fixed; left:0; bottom:-75px; height:75px; background:url(img/sp_tube.png) no-repeat left bottom; background-size:200px; -webkit-transition:all 0.5s ease; transition:all 0.5s ease; }

	/*header .header-logo{margin: 0 auto;}*/
	header .logo { float:none; padding-left:20px; padding-top:12px; }
	header .img { width:215px; height:36px; }
	header .img:before { display:none; }
	header .img:after { display:block; }

	header .btn1 { display:none; }
	header .buttons { float:none; width:100%; height:auto; position:fixed; bottom:-140px; text-align:center; -webkit-transition:all 0.5s ease; transition:all 0.5s ease; }
	header .tel { background:#fff; width:240px; max-width:100%; margin:0 auto 7px; height:50px; line-height:50px; position:relative; z-index:1; border-radius:4px; color:#1271a6; }
	header .tel:after { opacity:0.7; -webkit-opacity:0.7; }
	header .btn2 { display:block; float:none; width:100%; height:auto; background:transparent; }
	header .time:before { content:attr(data-spbefore); }
	header .time:after { content:attr(data-spafter); }
	header .mobile { top:0; }

	header nav { display:block; float:none; padding:0; clear:both; border-top:solid 1px #408CB6; text-align:center; position:fixed; width:100%; top:80px; left:-100%; opacity:0; -webkit-opacity:0; -webkit-transition:all 0.5s ease; transition:all 0.5s ease; }
	header nav li { float:none; margin:0; }
	header nav li:first-child { display:block; }
	header nav li:last-child { display:block; }
	header nav a, header nav a.current { color:#fff ! important; height:55px; line-height:55px; /*border-bottom:solid 1px #408CB6;*/ box-shadow:none; font-weight:normal; position:relative; }
	/*header nav a:after, header .tel:after { font-family:"Font Awesome 5 Free"; content:"\f054"; font-weight:900; position:absolute; right:15px; top:50%; font-size:15px; line-height:1em; margin-top:-0.5em; color:#408CB6; }*/

	header.open:after, header.open .buttons, header.open nav { transition-delay:0.2s; }
	header.open:before { background:#1271a6; height:100% ! important; }
	header.open:after { bottom:0; }
	header.open .logo { filter:grayscale(100%) brightness(1000%); -webkit-filter:grayscale(100%) brightness(1000%); }
	header.open .mobile { background-image:url(img/nav_close.jpg); }
	header.open .buttons { bottom:50px; }
	header.open nav { left:0; opacity:1; -webkit-opacity:1; }
	.labelline a { top:-60px; }

	body.common { padding-top:60px; }

	.bottoms .wrap { width:735px; max-width:100%; margin:0 auto; }
	.bottoms .group { margin-right:40px;  }
	.bottoms .group:after { right:-20px; }
	.bottoms .info:after { display:none; }
	.bottoms .phone { clear:both; padding-top:20px; }

	.next-space { margin-bottom:70px; }

	.interview .box { width:50%; padding:55px; }
	.interview .inner { padding:0 ! important; }
	.interview .photo { width:50%; padding-top:0; position:absolute; top:0; height:100%; }
	.interview .photo .img { padding-top:0; height:100%; }
	.interview_left .photo { right:0; }
	.interview_right .photo { left:0; }
	.interview .box:before { font-size:70px; }
	.interview_left .box:before { left:55px; }
	.interview_right .box:before { right:55px; }

	.recruit_about { padding-top:0; }
	.recruit_about .text { width:55%; padding:50px 40px; }
	.recruit_about .text .box { max-width:100%; margin:0 auto; }
	.recruit_about .photo { width:45%; bottom:0; }
	.recruit_about .photo .box { padding-top:0; height:100%; }
	.recruit_about .pagecaption1 { font-size:2.7vw; }

	.troubles > li:nth-child(1n) { width:31.333%; margin:0 3% 4% 0; }
	.troubles > li:nth-child(3n) { margin-right:0; }
	.troubles .title { font-size:2.35vw; }
	.troubles .image { margin-bottom:40px; }
	.troubles .icon { width:50px; height:50px; margin-left:-25px; bottom:-25px; background-size:37px; }

	.trouble_step .side { margin-right:40px; }
	.trouble_step .capt1 { font-size:100px; }
	.trouble_step .capt2 { font-size:25px; letter-spacing:1px; }
	.trouble_step .guide { left:15px; }
	.trouble_step .group { padding-left:90px; }
	.trouble_step .num { width:64px; }
	.trouble_step .num:before, .trouble_step .num:after { border-width:20px 32px 0; }
	.trouble_step .box { padding:20px 0; }
	.trouble_step .caption { font-size:24px; line-height:1.4em; }
	.trouble_step .text { line-height:1.7em; }

}


/* ----------------------------------------------------------------------------
	カスタマイズ -> 900px
------------------------------------------------------------------------------- */
@media only screen and (max-width: 900px) {

	.swiper-container  { padding-top:60%; }
	.container, .container2 { padding:50px 0; }
	.inner { padding:0 30px; }
	.leftbox { margin-right:20px; }
	.rightbox { margin-left:20px; }
	.imagebox { max-width:250px; }
	.imagebox2 { max-width:150px; }
	.maps iframe { height:400px ! important; }
	.top_contact .image { background-size:contain; }

	.interview_header { padding:50px 10px; }
	.interview_header .caption { font-size:25px; line-height:1.6em; padding-right:100px; }
	.interview_header .person { right:0; }
	.interview_header .name { font-size:40px; right:140px; bottom:-120px; }
	.interview_profile { padding:40px 0 50px; }
	.interview_profile .data { margin-right:30px; }
	.interview_profile .name { overflow:hidden; line-height:20px; }
	.interview_profile .name img { width:auto; max-width:auto; height:30px; vertical-align:middle; }
	.interview_profile .data1 { font-size:18px; }
	.interview_profile .data2 { font-size:12.5px; }


}

/* ----------------------------------------------------------------------------
	カスタマイズ -> 800px
------------------------------------------------------------------------------- */
@media only screen and (max-width: 800px) {

	.swiper-container:after { height:100px; }
	.swiper-container .copy { left:30px; right: 30px;  top:auto; bottom:60%; }
	.swiper-container .line { margin-bottom:5px; }
	.swiper-container .text { font-size:06vw; letter-spacing:4px; padding:5px 5px; line-height: 1.5; }
	.sliderNavs { left:50%; right:auto; bottom:-20px; margin-left:-100px; }

	.top_news { padding:60px 0 60px; text-align: center;}
	.top_news .caption { float:none; margin:0 0 30px; font-size:22px; line-height:1em; letter-spacing:2px; width:auto; text-align:center; }
	.top_news .caption:after { display:block; font-size:15px; line-height:1em; position:relative; transform:rotate(0deg); letter-spacing:3px; right:auto; top:auto; text-align:center; margin-top:9px; }
	.news li { margin-bottom:7px; }
	.news a { border-radius:5px; height:50px; line-height:50px; padding:0 20px; }
	.news .date { margin-right:20px; }

	.big1 { font-size:20px; line-height:1.4em; letter-spacing:1.2px; }

	.tubbox { padding:10px 25px 10px 55px; }
	.tubbox:before, .tubbox:after { width:25px; height:25px; background-size:100%; }

	.top_contact:before, .top_contact .image { bottom:38%; }
	.top_contact:before { height:35%; }
	.top_contact .image { left:0; height:70%; width:30%; background-position:center bottom; background-size:100%; background-position:center top; }

	.top_contact .big1 { margin-bottom:20px; }
	.top_contact .nayami { margin:0 auto; padding-top:20px; padding-left:0; padding-bottom:50px; }
	.top_contact .nayami ul { padding-left:30%; }
	.top_contact .nayami ul > li:nth-child(1n) { width:30.666%; margin-right:4%; }
	.top_contact .nayami ul > li:nth-child(3n) { margin-right:0; }
	.top_contact .nayami ul > li:nth-child(3n+1) { clear:both; }
	.top_contact .nayami ul > li:nth-last-child(-n+3) { margin-bottom:0; }
	.top_contact .title { font-size:17px; height:18px; line-height:18px; margin-top:-9px; letter-spacing:2px; }

	.bottoms { padding:50px 0; text-align:center; font-size:15px; line-height:1.6em; }
	.bottoms .caption { margin-bottom:30px; }
	.bottoms .group { float:none; margin:0 auto 20px; }
	.bottoms .group:after { display:none; }
	.bottoms .tel { float:none; margin:0 0 15px; font-size:36px; line-height:1em; letter-spacing:1px; }
	.bottoms .time { margin:0; }
	.bottoms .time br { display:none; }
	.bottoms .phone { padding-top:0; }

	.links:before { left:-30px; }
	.links:after { right:-30px; }
	.links { padding:25px 0; overflow:hidden; }
	.links a { border-radius:4px; }

	.interview { margin-bottom:0 ! important; }
	.interview .photo { width:100%; position:relative; height:auto; top:auto; }
	.interview .photo .img { padding-top:50%; height:auto; }
	.interview .box { width:100%; padding:50px; float:none; }

	.interview_left .box.child { transform:translateX(30px); }
	.interview_right .box.child { transform:translateX(-30px); }
	.interview .box.send { transform:translateX(0); }

	.business_works .floatlist > li:nth-child(1n) { width:100%; margin:0; clear:both; }
	.business_works .floatlist > li:last-child { margin-bottom:0; }

	.recruit_about .text { width:100%; margin:0; }
	.recruit_about .pagecaption1 { font-size:20px; }
	.recruit_about .photo { width:100%; position:relative; right:auto; top:auto; bottom:auto; }
	.recruit_about .photo .box { height:auto; padding-top:56%; }

	.trouble_point { padding:30px; padding-left:250px; }
	.trouble_point .image { top:-50px; left:-10px; width:250px; }
	.trouble_point .serif { font-size:60px; left:-7px; }
	.trouble_point .caption { padding-left:50px; font-size:25px; background-size:40px; }

	.trouble_step .side { float:none; margin:0 0 30px; text-align:center; }
	.trouble_step .capt1 { font-size:50px; margin-bottom:7px; letter-spacing:5px; }
	.trouble_step .capt2 { font-size:16px; }
	.trouble_step .capt2 br { display:none; }

	.trouble_step .group { padding-left:75px; margin-bottom:-20px; }
	.trouble_step .num { width:50px; font-size:30px; }
	.trouble_step .num:before, .trouble_step .num:after { border-width:15px 25px 0; }
	.trouble_step .num:before { top:-15px; }
	.trouble_step .num:after { bottom:-15px; }
	.trouble_step .box { padding:25px 0; }
	.trouble_step .caption { font-size:18px; line-height:1.4em; }
	.trouble_step .text { font-size:12.5px; line-height:1.6em; }

	.trouble_step .label { width:50px; height:50px; line-height:50px; font-size:15px; margin-top:-25px; }
	.trouble_step .group:nth-child(3) .text { padding-right:60px; }
	.trouble_step .group:nth-child(1) .box { padding-top:15px; }
	.trouble_step .guide { position:relative; left:50%; bottom:auto; width:121px; margin-left:-60px; margin-bottom:-70px; }
	.trouble_step .guide .person img { width:70px; }

	.copyright { padding:20px 20px; padding-right:80px; font-size:12px; text-align:left; }

}

/* ----------------------------------------------------------------------------
	カスタマイズ -> 640px
------------------------------------------------------------------------------- */
@media only screen and (max-width: 640px) {

	/*body,*/ .small { font-size:14px; line-height:1.8em; }
	.container, .container2, .container3 { padding:40px 0; }
	.inner { padding:0 10px; }
	.spinner { padding:0 25px; }
	.spbreak { margin-left:-25px; margin-right:-25px; }
	.spleft { text-align:left; }

	.swiper-container.common { padding-top:200px; }
	.swiper-container.common .copy { top:17%; }
	.swiper-container.common .eng { font-size:75px; }
	.swiper-container.common .text { font-size:25px; letter-spacing:3px; text-indent:3px; padding:7px 5px 10px; }

	#pannavi { height:50px; line-height:50px; font-size:12.5px; letter-spacing:1px; }
	#pannavi i { margin:0 5px 0 10px; }

	footer .menu li:after { margin:0 7px; }
	footer .menu, footer .copyright { float:none; }
	footer .menu { margin-bottom:5px; }

	/* 汎用 */
	.imagebox { width:300px; max-width:100%; float:none; margin:0 auto 20px; text-align:center; }
	.imagebox2 { width:100px; }

	.photobox2 .imagebox { width:400px; max-width:100%; margin:0 auto 30px; float:none; }
	.photobox2 .pagecaption1 { font-size:20px; line-height:1.6em; }

	.pagecaption1 { font-size:20px; line-height:1.6em; letter-spacing:2px; }
	.pagecaption1:after { height:5px; margin:30px 0; }

	.headline1, .headline2 { font-size:17px; }
	.headline1 { margin-bottom:20px; }
	.headline2 { padding-bottom:10px; }

	.postline { padding:0 0 0 15px; }
	.postline .title { font-size:1.1em; line-height:1.6em; }

  .breaklist > li:nth-child(1n) { margin:0 2% 2% 0; clear:none; }
  .breaklist.break1 > li:nth-child(1n) { margin:0 0 15px; float:none; width:100%; }
  .breaklist.break1 > li:last-child { margin-bottom:0; }
  .breaklist.break2 > li:nth-child(1n) { margin:0 4% 4% 0; }
  .breaklist.break2 > li:nth-child(1n) { width:48%; }
  .breaklist.break3 > li:nth-child(1n) { width:32%; }
  .breaklist.break2 > li:nth-child(2n),   .breaklist.break3 > li:nth-child(3n) { margin-right:0; }
  .breaklist.break2 > li:nth-child(2n+1), .breaklist.break3 > li:nth-child(3n+1) { clear:both; }
  .breaklist.break2 > li:nth-last-child(-n+2), .breaklist.break3 > li:nth-last-child(-n+3) { margin-bottom:0; }

	/* ブロック */
	.inside-spno   { padding: 0px; }	.next-spno 		{ margin-bottom: 0px ! important; }
	.inside-mini   { padding: 5px; }	.next-mini 		{ margin-bottom: 5px; }
	.inside-small  { padding:10px; }	.next-small 	{ margin-bottom:10px; }
	.inside-normal { padding:15px; }	.next-normal 	{ margin-bottom:15px; }
	.inside-middle { padding:20px; }	.next-middle	{ margin-bottom:20px; }
	.inside-large  { padding:30px; }	.next-large 	{ margin-bottom:30px; }
	.inside-wide   { padding:30px; }	.next-wide  	{ margin-bottom:30px; }
	.next-last  	{ margin-bottom:-30px; }
	.next-space { margin-bottom:50px; }

	.simplelist li .title { clear:both; padding:5px 0 0; }

	.photobox { margin-bottom:90px;  }
	.photobox.last { margin-bottom:50px; }

	.photobox .photo { width:100%; }
	.photobox .eng { font-size:60px; line-height:1em; top:-0.8em; }
	.photobox .text .pos { padding:35px 0; }
	.photobox .text { width:100%; font-size:20px; line-height:1.5em; letter-spacing:1.2px; margin-top:0; }
	.photobox .tubbox { margin-bottom:20px; }

	.top_contact:before, .top_contact .image { bottom:50%; }
	.top_contact:before { height:35%; }
	.top_contact .image { height:50%; }
	.top_contact .title { font-size:14px; letter-spacing:1px; }

	.minibtn-company1 { display:block; margin:10px 0 0; }


	.tbl-form, .tbl-form tbody, .tbl-form caption, .tbl-form tr, .tbl-form th, .tbl-form td { display:block; }
	.tbl-form { margin-bottom:20px; }
	.tbl-form th { width:100%; border:none; padding-top:15px; padding-right:0; padding-bottom:0; }
	.tbl-form th[data-notice]:after { margin-top:0; display:inline-block; margin-left:10px; }
	.tbl-form td { padding-top:5px; padding-bottom:15px; }
	.formBtn { width:220px; height:60px; line-height:60px; font-size:1.1em; }
	.tbl-border th { width:80px; padding-right:20px; }
	.tbl-recruit th { width:90px; }
	.tbl-works th { width:120px; text-indent:0em; padding-left:0em; }
	.tbl-works th:before { display:none; }

	.logobox { padding:40px 0 20px; position:relative; }
	.logobox .image { width:100%; max-width:100%; margin:0 auto 30px; text-align:center; }
	.logobox .eng { right:-25px; top:-15px; font-size:40px; transform:rotate(5deg); }

	.interview_header { padding:27px 0px; }
	.interview_header .person { right:-20px; top:-40px; bottom:-30px; width:120px; height:auto; margin-top:0; overflow:hidden; }
	.interview_header .caption { font-size:18px; line-height:1.5em; padding-right:20px; letter-spacing:3px; text-shadow:0 0 5px #034c74; }
	.interview_header .name { font-size:30px; line-height:1em; right:10px; bottom:-50px; }
	.interview_profile { padding:25px 0 35px; }
	.interview_profile .data { margin-right:15px; }

	.recruit_points {
		background: -webkit-linear-gradient(top, #fff 0, #fff 100px, #ddecfe 101px);
		background: linear-gradient(to bottom, #fff 0, #fff 100px, #ddecfe 101px);
	}
	.recruit_points .num { font-size:60px; }
	.recruit_points .image { width:150px; margin:0 auto 20px; }
	.recruit_points .title { font-size:20px; line-height:1.5em; }
	.recruit_points .floatlist { width:270px; max-width:100%; margin-left:auto; margin-right:auto; }
	.recruit_points .floatlist > li:nth-child(1n) { width:100%; float:none; margin:0 auto 30px; }
	.recruit_points .floatlist > li:last-child { margin-bottom:0; }

	.button-interview a { width:400px; height:100px; font-size:18px; padding:0 75px; overflow:hidden; }
	.button-interview a:before, .button-interview a:after { width:90px; height:95px; }
	.button-interview a:before { left:5px; }
	.button-interview a:after { right:0; }
	.button-interview span { background:none; padding:0; width:180px; max-width:100%; }

	.recruit_groups	.tubbox { width:250px; }

	.troubles > li:nth-child(1n) { width:48%; margin:0 4% 30px 0; clear:none; }
	.troubles > li:nth-child(2n) { margin-right:0; }
	.troubles > li:nth-child(2n+1) { clear:both; }
	.troubles > li:nth-last-child(-n+2) { margin-bottom:0; }
	.troubles .image { margin-bottom:30px; }
	.troubles .icon { width:38px; height:38px; margin-left:-19px; bottom:-19px; }
	.troubles .title { font-size:16px; margin-bottom:10px; }
	.troubles .text { font-size:12.5px; }

	.trouble_point .image { top:-50px; left:-14px; width:120px; }
	.trouble_point { padding:20px; padding-left:120px; }
	.trouble_point .caption { padding-left:28px; font-size:16px; background-size:22px; }
	.trouble_point .serif { font-size:45px; top:12px; left:100px; }

	.trouble_point .list { padding-left:5px; font-size:12.5px; line-height:1.6em; }
	.trouble_point .list li { text-indent:-1.7em; padding-left:1.7em; }

	.overlay { padding:0 ! important; }
	.overlay .wrap { padding:40px 30px 30px ! important; height:100%; }
	.overlay .close { font-size:25px; height:40px; line-height:40px; width:40px; }

	.works .big05 { letter-spacing:3px; }
	.worklist .txt { font-size:12px; line-height:1.6em; margin:-3px 0 3px; }
	.worklist .txt br {  }
	.tubecontainer::before, .tubecontainer::after { -webkit-opacity:0.5; opacity:0.5; }
	.tubecontainer::before { background-size:157px; }
	.tubecontainer::after { background-size:130px; }

	/* .sp { display:block; } .pc { display:none; } */
}


/* ----------------------------------------------------------------------------
	カスタマイズ -> 400px
------------------------------------------------------------------------------- */
@media only screen and (max-width: 400px) {

	.inside-large { padding:25px; }	.next-large { margin-bottom:25px; }
	.inside-wide  { padding:25px; }	.next-wide  { margin-bottom:25px; }

	.tbl-break, .tbl-break tbody,
	.tbl-break caption, .tbl-break tr,
	.tbl-break th, .tbl-break td { display:block; }
	.tbl-break tr th:nth-child(1n), .tbl-break tr td:nth-child(1n) { width:100%; }

	.tbl-break.tbl-border th { border:none; padding:15px 0 5px; }
	.tbl-break.tbl-border td { border-width:0 0 1px; padding:0 0 15px; }

	.tbl-break.tbl-color td { border-bottom-width:0; }
	.tbl-break.tbl-t th { font-size:0.95em; padding:5px 12px; border-bottom-width:0; }
	.tbl-break.tbl-t tr:last-child td { border-bottom-width:1px; }

	.tbl-break.tbl-y th { display:none; }
	.tbl-break.tbl-y td { position:relative; padding-top:40px; }
	.tbl-break.tbl-y tr td:last-child { border-bottom-width:1px; }
	.tbl-break.tbl-y td:before { display:block; }

	.interview_title img { width:167px; }
	.interview .box { padding:40px 30px; }
	.interview .caption { font-size:17px; line-height:1.6em; margin-bottom:15px; }
	.interview .text { font-size:14px; line-height:2em; }
	.interview .box:before { font-size:60px; }
	.interview_left .box:before { left:30px; }
	.interview_right .box:before { right:30px; }

	.recruit_about .text { padding:40px 35px; }
	.recruit_about .pagecaption1 { font-size:18px; }
	.recruit_about .pagecaption1:after { height:4px; margin:30px 0; }

	.maps iframe { height:300px ! important; }
	.mb { display:block; } .tb { display:none; }

}

/*@media only screen and (max-width: 1500px) {
nav a {
        font-size: 13px;
	}
}

@media only screen and (max-width: 1300px) {
nav a {
        font-size: 11px;
	}
}*/
