@charset "UTF-8";
@media screen and (min-width:1680px) {
  /*--------------
       TOP
---------------*/
  .tablet {
    display: none;
  }
}
@media screen and (max-width:1366px) {
  .tablet {
    display: none;
  }
  /*--------------
       TOP
---------------*/
  .slider div {
    margin-left: -450px; /* 900 / 2 */
    margin-right: 540px !important; /* 900 / 2 + 90 */
  }
  .mv h2 {
    left: 160px;
    font-size: 5.5rem;
  }
  .mv p {
    left: 160px;
    font-size: 1.5rem;
  }
  .mainSecBox {
    padding: 30px;
    text-align: left;
    top: 30px;
    right: 55%;
    width: 560px;
  }
  .mainSecBox h2 {
    margin-bottom: 20px;
    line-height: 1.5;
  }
  .mainSecBox .subttl p::after {
    width: 310%;
  }
  .contentsWrap .flex {
    max-width: 100%;
  }
  /*----------------------
	company
	------------------------*/
  .topv {
    padding-left: 10%;
  }
  .topv img {
    width: 100%;
  }
  .topv h2, .topv p {
    right: 75%;
  }
  .company .mainSecBox {
    right: 55%;
  }
  .company .subtxt {
    padding: 0;
  }
  .company .subttl h3 {
    margin-left: 25px;
  }
  .company .mainSecBox .subttl p::after {
    width: 74%;
  }
  /*------------
	content
	------------------*/
  .contentsWrap {
    padding: 0 10px;
  }
  .contentsWrap h2 {
    margin-left: 0;
  }
  /*--------------
      recruit
---------------*/
  .recruit .mainSecBox h3 {
    margin-top: -12px;
    line-height: 1.4;
  }
  .recruit .interview h4 {
    line-height: 1.4;
  }
  /*----------------------
	product
	------------------------*/
  .product .topv h2 {
    right: 72%;
  }
  .product .topv p {
    right: 82%;
    top: 222px;
  }
  /*------------
	Contact
	------------------*/
  .topv h2 {
    right: 69%;
  }
  .topv p {
    right: 82%;
    top: 220px;
  }
}
@media screen and (max-width:1280px) {
  /*--------------
       TOP
---------------*/
  /*----------
	company
	--------------*/
  .company .mainSecBox {
    right: 57%;
    top: 270px;
    width: 44%;
  }
  .galleryBox_four img {
    height: auto;
  }
  .galleryBox_four img:first-child {
    margin-bottom: 20px;
  }
  .galleryBox_five img:not(:last-child) {
    margin-right: 20px;
  }
  .galleryBox_five img {
    width: 400px;
  }
  /*----------------------
	product
	------------------------*/
  .contentsTwo h4, .contentsFive h4 {
    line-height: 1.4;
  }
}
@media screen and (max-width:1024px) {
  .slider div {
    margin-left: -300px; /* 600 / 2 */
    margin-right: 360px !important; /* 600 / 2 + 60 */
  }
  .mainSecBox {
    top: 80px;
    right: 40%;
    padding: 25px;
  }
  h2 {
    font-size: 2.8rem;
  }
  .topv h2 {
    font-size: 2.6rem;
    font-weight: 500;
  }
  .topv p {
    font-size: 1.2rem;
    top: 195px;
    padding: 5px 20px;
  }
  /*----------
	company
	----------------*/
  .company .mainSecBox {
    right: 61%;
    top: 5px;
    width: 38%;
  }
  .company .mainSecBox .subttl p::after {
    width: 64%;
  }
  .company .mainSec {
    flex-direction: column;
  }
  .galleryBox_one {
    margin-right: 20px;
  }
  .galleryBox_one img {
    width: 100%;
    height: 450px;
    object-fit: cover;
  }
  .galleryBox_two img {
    width: 100%;
    height: 216px;
    object-fit: cover;
  }
  .company .galleryBox_four img {
    height: 47.2%;
  }
  .company .galleryBox_three {
    margin-right: 25px;
  }
  .company .galleryBox_four img:first-child {
    margin-bottom: 20px;
  }
  .company .galleryBox_five img {
    width: 310px;
  }
  .company .mainSecBox {
    top: 38px;
  }
  .mainSecBox .subttl p {
    font-size: 2rem;
  }
  .company .mainSecBox .subttl p::after {
    width: 67%;
    left: 120px;
  }
  .company .subttl h3 {
    font-size: 3rem;
    margin-left: 0;
  }
  /*----------
	recruit
	----------------*/
  .recruit .topv h3 {
    margin-left: -10%;
    font-size: 3.6rem;
    margin-top: 70px;
  }
  .subSecBox {
    left: 48%;
    width: 498px;
    padding: 25px;
  }
  .recruit .contentsOne h3 {
    margin-left: 100px;
    text-indent: -100px;
    text-align: justify;
    line-height: 1.6;
  }
  .recruit .mainSec {
    width: 99.2vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    justify-content: flex-end;
    margin: 0 0 140px;
  }
  .recruit .mainSec img {
    max-width: 80%;
  }
  .recruit .mainSecBox {
    top: 80px;
    right: 49%;
    padding: 25px;
    width: 492px;
  }
  .subSecImg_two {
    width: 563px;
    height: auto;
  }
  .recruit .contentsOne h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  .recruit .subSecBox {
    left: 58%;
    width: 405px;
    padding: 15px;
  }
  .recruit .interview h3 {
    font-size: 2rem;
  }
  .recruit .interview h3::after {
    width: 38%;
    left: 173px;
  }
  .recruit .interview h4 {
    font-size: 2.6rem;
    line-height: 1.4;
    margin-bottom: 25px;
  }
  /*----------------------
	product
	------------------------*/
  .product .topv h2 {
    top: 95px;
    right: 75%;
  }
  .product .topv p {
    right: 81%;
    top: 155px;
  }
  .product .contentsOne .subBox span {
    background: #fff;
    padding: 10px 20px;
    position: relative;
    top: -10px;
  }
  .contentsTwo, .contentsFour {
    align-items: flex-start;
  }
  .contentsTwo img, .product .contentsFour img, .product .contentBox img {
    max-width: 65%;
    padding-top: 20px;
  }
  .contentsTwo img.subIMG, .product .contentsFour img.subIMG, .product .contentBox img.subIMG {
    max-width: 100%;
    padding-top: 0;
  }
  .contentsTwo .contentListBox p, .contentsFive .contentListBox p {
    margin-bottom: 25px;
  }
  .product .contentsThree h4 {
    line-height: 1.4;
  }
  .product .contentsThree .contentListBox:nth-child(2) {
    margin-left: 0;
  }
  .product .contentsFive .contentBox img {
    margin-right: 0;
    padding-top: 10px;
  }
}
@media screen and (max-width:959px) {
  .slider div {
    margin-left: -250px; /* 500 / 2 */
    margin-right: 310px !important; /* 500 / 2 + 60 */
  }
  .topv h2 {
    top: 120px;
  }
  .topv p {
    top: 180px;
  }
  .topv img {
    width: 90.2vw;
  }
  /*---------------
	company
	------------------*/
  .company .mainSecBox .subttl p::after {
    width: 60%;
  }
  .galleryBox_one img {
    height: 458px;
  }
  .galleryTwo img {
    margin-bottom: 20px;
    width: 99.2vw;
  }
  .galleryTwoBox {
    width: 99.2vw;
  }
  .company .mainSecBox {
    top: 30px;
  }
  .galleryBox_one {
    margin-right: 20px;
  }
  .company .mainSecBox {
    top: 32px;
  }
  .company .subttl h3 {
    font-size: 3rem;
    margin: -15px 0 25px;
  }
  .company .galleryBox_five img {
    width: 292px;
  }
  /*---------------
	recruit
	------------------*/
  .recruit .subSecBox {
    left: 54%;
  }
  /*---------------
	product
	------------------*/
  .product .topv h2 {
    top: 95px;
    right: 73%;
  }
  .product .topv p {
    right: 80%;
  }
  .product .contentsOne .subBox h2 {
    font-size: 3.8rem;
    padding: 15px 0 25px 0;
    width: 444px;
    left: -30px;
    position: relative;
  }
  .product .contentsOne .subBox span {
    padding: 10px 20px;
    left: -48px;
  }
  .product .contentsOne .subBoxtxt {
    width: 450px;
    padding: 25px;
    margin-left: 0;
  }
  .product .contentsFour .subBoxtxt {
    width: 450px;
    padding: 25px;
    margin-left: 0;
  }
  .product .contentBox img {
    margin-right: 25px;
  }
  .product .contentBox img.right {
    margin-right: 0;
  }
  .product .contentsThree .contentListBox {
    margin-right: 25px;
  }
  .contentListBox p {
    text-align: justify;
  }
  .product .contentsFive .contentBox {
    align-items: flex-start;
  }
  /*------------
	Contact
	------------------*/
  .topv h2 {
    top: 84px;
    right: 71%;
  }
  .topv p {
    top: 144px;
  }
  .contactFormWrap th {
    width: 28%;
  }
  .contactFormWrap td.doui {
    padding: 40px 0 0px;
  }
  .contactway2__contents.flex {
    max-width: 100%;
    justify-content: space-between;
  }
  .contactway2__contents.flex .flexL {
    width: 50%;
  }
  .contactway2__contents.flex .flexR {
    width: 46%;
  }
  .flexL p.tel {
    font-size: 4rem;
  }
  .contactway2__contents.flex .flexR h1 a img {
    max-width: 60%;
  }
  .flexR dl {
    margin-top: 20px;
  }
}
@media screen and (max-width:768px) {
  .sectionttl.flex {
    align-items: center;
    margin-bottom: 15px;
  }
  .sectionttl.flex h2 {
    margin-bottom: 0;
    font-weight: 500;
  }
  .sectionttl.flex span {
    margin-top: 8px;
    letter-spacing: 0.2rem;
  }
  /*--------------
	
       header	
	
---------------*/
  header {
    padding: 0 20px;
  }
  header img {
    width: 210px;
    height: auto;
  }
  /*--------------
	
       TOP
	
---------------*/
/*  .mv h2 {
    top: 530px;
    left: 0;
    font-weight: 500;
    line-height: 1.8;
    padding: 25px 0;
    letter-spacing: 0.8rem;
  }
  .mv p {
    position: absolute;
    bottom: 25px;
    left: 0;
    padding: 10px 20px;
    font-weight: 700;
    letter-spacing: 0.3rem;
  }*/
  
      .mv h2 {
top: 230px;
    font-size: 4.2rem;
    left: 0;
    font-weight: 500;
    line-height: 1.6;
    padding: 25px 0;
    letter-spacing: 0.1rem;
	  }
  .mv p {
    left: 0;
    top: 460px;
  }
  .bx-wrapper {
    margin: 0;
  }
  .mainSec {
    margin-top: 120px;
    flex-direction: column;
  }
  .mainSec img {
    width: 99.2vw;
  }
  .mainSecBox {
    position: inherit;
    width: 570px;
    margin: 0 auto 60px;
    right: 0;
  }
  .topv h2 {
    padding: 10px 25px;
  }
  .topv p {
    padding: 5px 10px;
  }
  /*-------------
	company
	----------------*/
  .topv {
    margin-bottom: 100px;
  }
  .topv img {
    width: 90vw;
  }
  .philosopy {
    font-size: 4.6rem;
  }
  .company .mainSecBox {
    right: 0;
    width: 76%;
  }
  .company .mainSecBox p {
    font-size: 1.4rem;
  }
  /*-------------
	contents
	-----------*/
  .topv h2 {
    top: 86px;
  }
  .topv p {
    top: 125px;
  }
  .contentsWrap .flex {
    padding-bottom: 40px;
  }
  .contentsWrap {
    padding: 0 6%;
  }
  .contentsWrap ul li {
    width: 100%;
    margin-bottom: 20px;
    margin-right: 20px;
  }
  .contentsWrap .flex img {
    padding: 15px 15px 40px 15px;
  }
  .contentsWrap h2 {
    margin-left: 0;
    font-size: 3.6rem;
    top: -65px;
  }
  .contentsWrap span {
    font-size: 2rem;
    ;
  }
  .contentListBox h3 {
    font-size: 2rem;
    padding-top: 10px;
    padding-right: 13px;
    padding-left: 25px;
    bottom: 13px;
  }
  .contentListBox span {
    font-size: 1rem;
  }
  .company .galleryBox_one img {
    height: 315px;
  }
  .company .galleryBox_two img {
    width: 100%;
    height: 145px;
  }
  .philosopy {
    margin: 40px;
    line-height: 1.8;
  }
  .company .galleryBox_five img {
    width: 230px;
  }
  /*---------------
	recruit
	------------------*/
  .recruit .topv {
    margin-bottom: 60px;
  }
  .recruit .mainSec img {
    max-width: 80%;
  }
  .recruit .mainSecBox {
    top: -100px;
    right: -14%;
    padding: 15px;
    width: 492px;
  }
  .recruit .subSecBox {
    left: 58%;
    width: 310px;
    padding: 15px;
  }
  .mainSecBox .subttl p {
    font-size: 2rem;
  }
  .recruit .mainSecBox .subttl p::after {
    width: 65%;
    left: 170px;
  }
  .recruit .topv h3 {
    margin-left: -11%;
    font-size: 2.6rem;
    margin-top: 60px;
    line-height: 1.8;
  }
  .recruit .interview h4 {
    font-size: 2.6rem;
  }
  .recruit .mainSec {
    margin-bottom: 0;
  }
  .recruit .contentsOne h3 {
    line-height: 1.4;
  }
  /*----------------------
	product
	------------------------*/
  .product .topv h2 {
    top: 68px;
    right: 73%;
  }
  .product .topv p {
    right: 79%;
    top: 105px;
  }
  .product .contentsOne .subBox .subBoxttl {
    padding-left: 0;
  }
  .product .contentsOne .subBox h2 {
    padding: 10px 0 15px 0;
    left: 0;
  }
  .product .contentsOne .subBox span {
    padding: 10px 20px 10px 0;
    left: 0px;
    top: 0;
  }
  .product .contentsOne .subBoxtxt {
    padding: 15px 25px 15px 0;
    margin-top: 20px;
  }
  .product .subBox {
    padding: 0 25px;
  }
  .product .subBoxttl p {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  .product .subBoxttl h2 {
    margin-bottom: 20px;
  }
  .subBoxtxt {
    padding: 25px 25px 25px 0;
    margin-top: 10px;
  }
  .contentsTwo h4, .contentsFive h4 {
    margin: 0 0 10px;
  }
  .contentsTwo .contentListBox p, .contentsFive .contentListBox p {
    margin-bottom: 15px;
  }
  .contentsTwo h4, .contentsFive h4 {
    margin: 15px 0 25px;
    font-size: 2.8rem;
    font-weight: 700;
}
.topv h2 {
    width: 230px;
}
.product .contentsOne .subBox {
    top: 200px;
}
.topv p {
    left: 10%;
	    width: 200px;
}
.privacy .topv h2 {
    width: 306px;
}
header img {
    width: 140px;
    height: auto;
}
  /*------------
	Contact
	------------------*/
  .contactFormWrap th {
    width: 30%;
    padding: 35px 25px 30px;
  }
  .contactFormWrap td {
    padding: 18px 0px 0 25px;
  }
  .contactway2__contents.flex .flexL {
    width: 42%;
  }
  .contactway2__contents.flex .flexR {
    width: 54%;
    padding-top: 4px;
  }
  .flexL p.tel {
    font-size: 3rem;
  }
}
@media screen and (max-width:559px) {
  /*drawer*/
  .drawer-hamburger, .drawer-hamburger:hover {
    width: 3rem;
    padding: 18px 1.2rem 25px;
    background: #0079c2;
    z-index: 9999;
  }
  .drawer--right.drawer-open .drawer-hamburger {
    right: 0;
  }
  .drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    background: #fff;
  }
  .drawer--right .drawer-nav ul {
    margin: 45px auto;
    width: 80%;
  }
  .drawer--right .drawer-nav ul:nth-of-type(1) {
    border-bottom: solid 1px #fff;
    padding-bottom: 45px;
  }
  .drawer--right .drawer-nav h1 img {
    width: 130px;
  }
  .drawer--right .drawer-nav li a {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .drawer--right .drawer-nav ul h3 {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 15px;
  }
  .drawer--right .drawer-nav ul h3 span {
    font-size: 1.2rem;
  }
  section {
    margin-bottom: 40px;
    padding-right: 0;
    padding-left: 0;
  }
  table tr:nth-child(odd) {
    background: #e6e6e6;
  }
  /*--------------
       header
---------------*/
  header {
    height: 55px;
    padding: 0;
  }
  header img {
    margin-top: 10px;
    margin-bottom: 0;
    width: 100px;
    height: auto;
    margin-left: 20px;
  }
  /*--------------
       TOP
---------------*/
  .top main {
    margin-bottom: 100px;
  }
  .mv {
    height: 500px;
    overflow: hidden;
  }
  .slider div {
    margin-left: -142px; /* 285 / 2 */
    margin-right: 162px !important; /* 285 / 2 + 20 */
  }

  .mv h2 {
    font-size: 2.1rem;
    top: 310px;
    padding: 0;
    margin: 0;
    line-height: 2.3;
    letter-spacing: 0.1rem;
}


  .mv h2 span {
    padding: 5px 10px;
  }
  .mv p {
    padding: 5px 20px;
    font-size: 1rem;
    font-weight: 700;
       top: 460px;
    bottom: 10px;
	    letter-spacing: 0.13rem;
  }
  .mainSec {
    margin-top: 0;
  }
  .mainSecBox {
    width: 100%;
    margin-top: 0;
    padding: 6%;
  }
  .mainSecBox {
    width: 88%;
    top: 30px;
  }
  .mainSecBox h2 {
    font-size: 1.6rem;
    text-align: center;
	line-height: 2;
  }
  .mainSecBox h2 span{
font-size: 2.6rem;
    margin-bottom: 35px;
    line-height: 1.6;
    font-weight: 700;
  }
  .top .mainSecBox p {
    font-size: 1.4rem;
    line-height: 1.8;
}
  .mainSecBox p {
    font-size: 2.0rem;
  }
  .mainSecBox p {
    font-size: 1.4rem;
    line-height: 2;
  }
  .contentsWrap h2 {
    font-size: 2.8rem;
    letter-spacing: 0.3rem;
    top: -50px;
  }
  .contentsWrap span {
    font-size: 1.8rem;
    letter-spacing: 0.1rem;
  }
  .contentsWrap ul {
    flex-direction: column;
  }
  .contentListBox h3 {
    font-size: 2rem;
  }
  .contentsWrap span {
    font-size: 1.2rem;
  }
  /*-----------
	company
-----------------*/
  .company p {
    font-weight: 500;
    line-height: 1.8;
  }
  .topv {
    height: 400px;
    overflow: hidden;
    margin-bottom: 40px;
    padding-left: 12%;
  }
  .topv h2, .topv p {
    right: inherit;
    width: 220px;
    left: 0;
    text-align: center;
    padding: 10px 0;
  }
    .privacy .topv h2 {
    width: 300px;
  }
      .privacy .topv p {
    width: 120px;
  }
  .topv h2 {
    top: 192px;
  }
  .topv p {
    top: 225px;
    padding: 5px;
    font-size: 1rem;
    margin-left: 5%;
  }
  .topv img {
    width: 100%;
    height: 400px;
    object-fit: cover;
  }
  .sectionttl img {
    width: 32px;
    height: auto;
  }
  .sectionttl.flex h2 {
    font-size: 2.2rem;
    top: -2px;
    position: relative;
    line-height: 1.6;
  }
  .sectionttl.flex span {
    font-size: 1.2rem;
    position: relative;
  }
  .sp .sectionttl.flex h2 {
    font-size: 2.6rem;
    top: 10px;
    position: relative;
    line-height: 1.6;
  }
  .contentsTwo h4, .contentsFive h4 {
    font-size: 2.4rem;
}
  .sp .sectionttl.flex span {
    font-size: 1.2rem;
    position: relative;
    margin-left: 0;
  }
  .galleryBox_one, .galleryBox_two {
    flex-direction: column;
  }
  .company .sp {
    flex-direction: column;
    display: flex;
  }
  .gallery {
    margin-bottom: 0;
  }
  .galleryBox_one, .galleryBox_two {
    margin: 0;
    width: 100%;
  }
  .company .galleryBox_one img, .company .galleryBox_two img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
  }
  .galleryBox_two img:last-child {
    margin-bottom: 15px;
  }
  .galleryTwo img {
    margin-bottom: 20px;
  }
  .galleryTwo img:last-child {
    margin-bottom: 15px;
  }
  .philosopy {
    font-size: 2.4rem;
    margin: 30px 0 70px;
    font-weight: 500;
  }
  .philosopy span {
    font-weight: 500;
  }
  .company .mainSecBox {
    right: 0;
    margin: 0 auto;
  }
  .mainSecBox .subttl p::after {
    left: 75px;
    width: 170px;
  }
  .company .mainSec {
    padding: 20px;
    margin-top: 20px;
  }
  .mainSecBox .subttl p {
    font-size: 1.4rem;
  }
  .subttl h3 {
    font-size: 2.0rem;
    margin: 0;
  }
  .company .subttl h3 {
    margin: 20px 0;
  }
  hr {
    margin-bottom: 30px;
  }
  .company .mainSec {
    margin-top: 0;
    padding-top: 0;
    padding: 20px;
  }
  .company .mainSecBox {
    right: 0;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
  }
  .company .mainSecBox p {
    font-size: 1.4rem;
    line-height: 2;
  }
  .company .mainSecBox .subttl p::after {
    left: 85px;
    width: 77%;
  }
  .company .subttl h3 {
    font-size: 2rem;
    margin: -23px 0 15px;
  }
  .company .subtxt {
    padding: 0 0 60px;
  }
  .mainSec img {
    left: -6%;
  }
  .galleryTwoBox {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 99.6vw;
  }
  .galleryTwo img:last-child {
    margin-bottom: 15px;
  }
  /*----------------
	footer
	-----------------*/
  footer {
    padding-bottom: 80px;
  }
  .footerNav ul li {
    margin-right: 15px;
  }
  .footerNav ul li:last-child {
    margin-right: 0;
  }
  .footerNav {
    padding: 40px 0;
  }
  .footerNav h2 {
    margin-bottom: 30px;
  }
  footer img {
    margin-top: 0;
  }
  footer h2 {
    margin-bottom: 30px;
	margin-top: 40px;
  }
  .footnote {
    font-size: 1.4rem;
    margin-bottom: 40px;
  }
  footer p.tel {
    margin-bottom: 5px;
  }
  footer small {
    font-size: 1rem;
  }
  /*---------------
	recruit
	------------------*/
  .recruit .topv {
    height: 447px;
  }
  .recruit .topv img {
    height: 300px;
  }
  .recruit .topv h3 {
    font-size: 2.4rem;
    line-height: 1.6;
    margin: 40px 0 60px -13%;
  }
  .recruit .topv h2 {
    top: 160px;
    margin-left: 0;
  }
  .recruit .topv p {
    top: 195px;
  }
  .recruit .mainSecBox {
    position: static;
    order: 1;
    width: 100%;
    padding: 0 20px;
  }
  .recruit .mainSecBox h3 {
    font-size: 2rem;
    line-height: 1.6;
    margin: -20px 0 20px;
    ;
  }
  .recruit .mainSecBox .subttl p::after {
    width: 72%;
    left: 110px;
  }
  .recruit .mainSec img {
    max-width: 100%;
    order: 2;
    margin-top: 30px;
  }
  .recruit .mainSec {
    margin-bottom: 40px;
  }
  .recruit .contentsOne.flex {
    flex-direction: column;
  }
  .recruit .contentsOne .sub {
    width: 100%;
    margin-bottom: 30px;
  }
  .recruit .contentsOne h3 {
    font-size: 1.8rem;
    text-indent: 0;
    text-align: left;
    margin-left: 0;
    margin-bottom: 0;
    line-height: 2;
  }
  .recruit .contentsOne span {
    display: block;
    width: 60px;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  section.interview {
    margin-top: -40px;
  }
  .subSecImg_one {
    max-width: 100%;
    height: auto;
    margin-left: 7%;
  }
  .recruit .subSecBox {
    position: static;
    width: 100%;
  }
  .subSecImg_two {
    max-width: 100%;
    margin: 20px 0;
  }
  .recruit .interview h3 {
    font-size: 1.4rem;
  }
  .recruit .interview h3::after {
    width: 55%;
    left: 124px;
  }
  .recruit .interview h4 {
    font-size: 2rem;
    margin-bottom: 15px;
    margin-top: -10px;
  }
  .recruit .interview span {
    line-height: 1.4;
    text-align: right;
  }
  caption h3 {
    font-size: 1.8rem;
    padding: 20px;
    line-height: 1.4;
  }
  table tr:nth-child(even) {
    background: #e6e6e6;
  }
  table tr:nth-child(odd) {
    background: transparent;
  }
  .list_one {
    margin-bottom: 40px;
  }
  .list_two {
    margin-bottom: 50px;
  }
  .recruit main {
    margin-bottom: 100px;
  }
  /*----------------------
	product
	------------------------*/
  .product .topv h2 {
    top: 50%;
    transform: translateY(-50%);
    height: 46px;
    margin-bottom: 0;
    margin-left: 5px;
  }
  .product .topv p {
    margin-left: -4%;
    top: 212px;
  }
  .product .contentBox, .contentsTwo, .contentsFour, .product .contentsThree .contentBox, .product .contentsFive .contentBox, .product .contentsOne {
    flex-direction: column;
  }
  .subBoxtxt {
    position: static;
  }
  .product .contentsOne .subBox {
    width: 100%;
  }
  .product .contentsOne img, .product .contentsFour img {
    position: relative;
    left: 6.7%;
    height: 280px;
    object-fit: cover;
    padding-top: 0;
  }
  .product .subBoxttl p, .product .contentsOne .subBox h2, .product .contentsOne .subBox span {
    position: relative;
    z-index: 1;
  }
  .product .subBoxttl p, .product .contentsOne .subBox h2, .product .contentsOne .subBoxtxt, .product .contentsOne .subBox span {
    font-size: 1rem;
  }
  .product .subBoxttl p {
    margin: 0;
    top: 78px;
  }
  .product .contentsOne .subBox h2 {
    top: 92px;
    margin: 0;
    line-height: 1.4;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 56%;
  }
  .product .contentsOne .subBox span {
    top: 100px;
    left: 2px;
  }
  .product .contentsOne .subBox h2, .product .contentsOne .subBoxtxt {
    font-size: 2.6rem;
  }
  .product .contentsOne .subBoxtxt {
    width: 92vw;
    position: relative;
    top: 96px;
    left: -5%;
    padding: 20px;
  }
  .product .contentsOne::after {
    display: none;
  }
  .product .contentsOne {
    margin-bottom: 130px;
  }
  .full {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .contentsTwo h4 {
    font-size: 1.8rem;
    margin: 10px 0;
  }
  .contentsTwo h4 span {
    font-size: 1.4rem;
  }
  .contentsTwo .contentListBox, .contentsFive .contentListBox {
    margin-right: 0;
  }
    .contentsTwo .contentListBox img, .contentsFive .contentListBox img {
    width:100%;
	height:100%;
  }
  .contentsTwo p {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
  hr {
    margin-bottom: 20px;
  }
  .contentsTwo img, .product .contentsFour img, .product .contentBox img {
    max-width: 100%;
  }
  .contentsTwo img, .product .contentsFour img, .product .contentBox img {
    order: 2;
    margin-right: 0;
  }
  .product .contentsThree h4 {
    font-size: 1.8rem;
    margin-top: 15px;
    margin-bottom: 15px;
    font-weight: 500;
  }
  .product .contentsThree span {
    font-size: 1.6rem;
    padding: 3px 10px;
    display: block;
    width: 66px;
    margin-bottom: 8px;
  }
  .contentListBox p {
    font-size: 1.4rem;
  }
  .product .contentsThree .contentBox {
    margin-bottom: 30px;
  }
  .product .contentsThree .contentListBox {
    margin-right: 0;
  }
  .product .contentsFour {
    margin-top: 40px;
    height: 358px;
  }
  .product .contentsFour img {
    order: 1;
    left: 6.7%;
  }
  .product .contentsFour .subBox {
    order: 2;
    position: relative;
    top: -197px;
    z-index: 10;
    padding: 0;
  }
  .product .subBoxttl p {
    margin: 0;
    top: 77px;
    left: 1%;
    font-weight: 500;
  }
  .product .contentsFour .subBoxttl p {
    margin: 0;
    top: 29px;
    left: 1%;
    font-weight: 500;
  }
  .product .subBoxttl h2 {
    background: #fff;
    padding: 10px;
    width: 38%;
    top: 43px;
    left: -3%;
    position: relative;
  }
  .product .contentsFour .subBoxttl span {
    background: #fff;
    padding: 3px 10px;
    top: 26px;
    left: -1%;
    position: relative;
  }
  .product .contentsFour .subBoxtxt {
    osition: static;
    width: 92vw;
    margin-left: -5%;
    padding: 20px;
    margin-top: 38px;
  }
  .product .contentsFive .contentBox {
    margin-bottom: 30px;
  }
  .product .contentsSix p {
    margin-bottom: 20px;
  }
  .product .contentsSix img {
    padding-top:
      0;
  }
  .product .contentsSix .contentBox {
    margin-bottom:
      30px;
  }
  .product .contentsOne .subBox {
    top: 10px;
}
  /*------------
	Contact
	------------------*/
  .contact .topv h2 {
    top: 153px;
    width: 233px;
    left: -6px;
  }
  .contact .topv p {
    top: 188px;
    padding: 0;
    width: 105px;
  }
  .contact table tr:nth-child(even), .confirmation table tr:nth-child(even) {
    background: transparent;
    display: block;
  }
  .contactFormWrap th, .confirmation .contactFormWrap th {
    width: 100%;
    padding: 0px 0px 10px;
    display: block;
    margin-bottom: 0;
  }
  .contactFormWrap td, .confirmation .contactFormWrap td {
    padding: 20px 0 30px 0;
    width: 100%;
    display: block;
    margin-bottom: 0;
  }
  .contactFormWrap td .short, .confirmation .contactFormWrap td .short {
    width: 49%;
  }
  .contactFormWrap td .middle, .confirmation .contactFormWrap td .middle {
    width: 100%;
  }
  .contactFormWrap textarea {
    height: 250px;
  }
  .contactFormWrap td.doui, .confirmation .contactFormWrap td.doui {
    padding: 0;
    font-size: 1.4rem;
  }
  p.submitG {
    margin: 10px auto 0;
  }
  .contactway2__contents.flex {
    flex-direction: column;
  }
  .contactway2__contents.flex .flexL, .contactway2__contents.flex .flexR {
    width: 100%;
  }
  .flexL p.tel {
    font-size: 3.2rem;
  }
  .contactway2__contents.flex .flexL {
    margin-bottom: 30px;
  }
  .contactway2__contents.flex .flexL p {
    text-align: center;
    font-weight: 500;
    line-height: 1.6;
  }
  .contactway2__contents.flex .flexR {
    text-align: center;
  }
  .contactway2__contents.flex .flexR h1 a img {
    max-width: 70%;
  }
  .flexR dl {
    flex-direction: column;
  }
  .flexR dl dt {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
  }
  .flexR dl dd {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
  }
  input[type="submit"], input[type="button"] {
    margin: 0 10px;
	    font-size: 1.6rem;
  }
  .thanksMessage h3 {
    line-height: 1.4;
  }
  /*フローティングバナー*/
  .floatingNav {
    display: none;
    width: 100%;
    height: 60px;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 100;
  }
  .floatingNav ul {
    height: 60px;
    width: 100%;
  }
  .floatingNav ul a {
    width: calc(100% / 2);
    display: block;
  }
  .floatingNav ul a li {
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    align-items: center;
    justify-content: center;
    margin-right: 0;
    height: 60px;
  }
  .floatingNav ul a:first-child li {
    background: #f08400;
  }
  .floatingNav ul a:first-child li img {
    width: 16px;
    height: 29px;
  }
  .floatingNav ul a:last-child li {
    background: #88b928;
  }
  .floatingNav ul a:last-child li img {
    width: 28px;
    height: 19px;
  }
  .floatingNav ul a li p {
    display: inline;
    padding: 0 10px;
  }
}
@media screen and (max-width:375px) {
  /*drawer*/
  .drawer--right .drawer-nav {
    padding: 40px 6%;
  }
  .drawer--right .drawer-nav ul {
    margin: 30px auto;
  }
  .drawer--right .drawer-nav ul:nth-of-type(1) {
    padding-bottom: 25px;
  }
  /*--------------
       TOP
---------------*/

  footer {
    padding: 0 20px 80px;
  }
  /*--------------------
	content 
	---------------------*/
  .contentListBox h3 {
    left: 0;
  }
  /*--------------------
	company
	---------------------*/
  .topv h2, .topv p {
    left: -10px;
  }
  .philosopy {
    font-size: 2.2rem;
  }
  /*---------------
	recruit
	------------------*/
  .recruit .topv h2 {
    margin-left: 0;
  }
  .recruit .contentsOne h3 {
    line-height: 1.4;
  }
  .recruit .contentsOne h3 {
    margin-bottom: 10px;
  }
  .product .contentsFour img {
    order: 1;
    left: 7%;
    width: 100vw;
  }
  /*----------------------
	product
	------------------------*/
  .product .subBoxttl h2 {
    width: 42%;
  }
  .product .contentsOne img, .product .contentsFour img, .product .contentsFour img {
    left: 6.8%;
  }
}
@media screen and (max-width:351px) {
  /*drawer*/
  .drawer--right .drawer-nav {
    padding: 25px 6%;
  }
  .drawer--right .drawer-nav ul {
    margin: 20px auto;
  }
  .drawer--right .drawer-nav ul:nth-of-type(1) {
    padding-bottom: 15px;
  }
  .drawer--right .drawer-nav li a {
    font-size: 1.4rem;
  }
  /*--------------
       TOP
---------------*/
  .mv h2 {
    top: 256px;
  }
  .mv h2 span {
    padding: 0px 12px;
  }
  .mv p {
    padding: 5px 12px;
    bottom: 98px;
  }
  .mainSecBox h2 {
    font-size: 1.8rem;
  }
  .mainSecBox p {
    font-size: 1.2rem;
    line-height: 1.8;
  }
  .contentsWrap h2 {
    font-size: 2.6rem;
    top: -46px;
  }
  .contentsWrap span {
    etter-spacing: 0.3rem;
  }
  .contentListBox img {
    padding: 20px 20px 20px 20px;
  }
  .contentListBox h3 {
    font-size: 1.6rem;
    padding-top: 8px;
    bottom: 12px;
  }
  .contentsWrap span {
    font-size: 1rem;
  }
  /*--------------
       footer
---------------*/
  .footerNav ul li a {
    font-size: 1rem;
  }
  footer img {
    width: 210px;
    height: auto;
  }
  /*---------------
	recruit
	------------------*/
  .recruit .topv h2 {
    margin-left: -10px;
  }
  .recruit .topv p {
    margin-left: 6px;
  }
  .recruit .contentsOne h3 {
    font-size: 1.6rem;
  }
  .recruit .mainSecBox h3 {
    font-size: 1.8rem;
  }
  .recruit .interview h4 {
    font-size: 1.8rem;
  }
  .recruit .interview h3::after {
    width: 51%;
  }
  .recruit .mainSecBox .subttl p::after {
    width: 64%;
  }
  .recruit .interview span {
    font-size: 1.2rem;
  }
  caption h3 {
    font-size: 1.6rem;
    padding: 15px;
  }
  /*----------------------
	product
	------------------------*/
  .product .topv h2 {
    margin-left: -24px;
  }
  .product .topv p {
    margin-left: 7%;
  }
  .product .contentsOne .subBox h2 {
    width: 68%;
  }
  .product .contentsOne {
    margin-bottom: 157px;
  }
  .product .subBoxttl h2 {
    width: 49%;
  }
  .contentsTwo h4, .contentsFive h4, .product .contentsSix h4 {
    font-size: 2rem;
  }
  /*--------------
       Contact
---------------*/
  .topv h2 {
    left: -22px;
  }
  .contactFormWrap td.doui, .confirmation .contactFormWrap td.doui {
    font-size: 1.2rem;
  }
  .flexL p.tel {
    font-size: 3rem;
  }
  .thanksMessage h3 {
    font-size: 2.6rem;
  }
}