@charset "UTF-8";
/*------------top---------------*/
.mv {
  text-align: center;
  position: relative;
}
.mv h2 {
    position: absolute;
    z-index: 99;
    top: 35px;
    left: 15%;
    font-size: 4.8rem;
    text-align: left;
    display: inline;
    line-height: 1.9;
    padding: 25px 0;
    letter-spacing: 0.2rem;
}
.mv p {
    font-size: 2.0rem;
    position: absolute;
    top: 340px;
    left: 15%;
    z-index: 98;
    background-color: #fff;
    padding: 0px 25px;
    font-weight: 700;
    letter-spacing: 0.3rem;
}
.mv span {
  background: #fff;
  padding: 5px 50px;
  font-weight: 700;
}
.mv span.text_blue {
  padding: 5px 0;
}
.contentsWrap {
  margin: 0;
}
.contentsWrap ul li {
  width: calc((100% - 80px) / 3);
  margin-right: 40px;
}
.contentsWrap ul li:last-child {
  margin-right: 0;
}
.contentsWrap ul li a {
  display: block;
}
.contentsWrap {
  background-color: #e5f1f8;
  position: relative;
}
.contentsWrap h2 {
  font-size: 4.0rem;
  display: inline;
  position: absolute;
  top: -74px;
  margin-bottom: 35px;
  margin-left: 25px;
  letter-spacing: 0.5rem;
  line-height: 1.2;
  font-weight: 500;
}
.contentsWrap span {
  font-size: 2.2rem;
  letter-spacing: 0.2rem;
  font-weight: 700;
}
.contentsWrap .flex {
  max-width: 1366px;
  padding-bottom: 90px;
  margin: 0 auto;
  padding-top: 50px;
}
.contentsWrap .flex img {
  max-width: 100%;
}
.contentListBox {
  text-align: center;
  position: relative;
  overflow: hidden;
}
.contentListBox img {
  margin: 0 auto;
  background-color: #fff;
  padding: 20px 20px 52px 20px;
}
.contentListBox h3 {
  background-color: #fff;
  font-size: 2.6rem;
  padding-top: 15px;
  padding-right: 30px;
  padding-left: 20px;
  position: absolute;
  bottom: 20px;
  left: 0;
  font-weight: 500;
  text-align: left;
}
.contentListBox span {
  font-size: 1.8rem;
  font-weight: 700;
}
/*--------------bxslider-----------------------*/
.bx-wrapper {
  border: none;
  box-shadow: none;
}
.slider {
  margin-left: 50%;
}
.slider div {
  margin-left: -540px; /* 1080 / 2 */
  margin-right: 683px !important; /* 1080 / 2 + 143 */
  max-width: 100%;
  height: auto;
}
/*------------------company--------------------*/
.philosopy {
  text-align: center;
  margin: 65px;
  line-height: 8.725rem;
}
.gallery {
  margin-bottom: 20px;
  justify-content: space-between;
}
.galleryBox_one {
  width: 66.6%;
  margin-right: 40px;
}
.galleryBox_three {
  width: 872px;
  margin-right: 40px;
  overflow: hidden;
}
.galleryBox_theree img {
  height: 257px;
  width: 100%;
}
.galleryBox_two {
  width: 33.3%;
}
.galleryBox_four {
  width: 416px;
}
.galleryBox_two img {
  width: 414px;
  height: 256px;
}
.galleryBox_four img {
  height: 257px;
  width: 100%;
}
.galleryBox_one img {
  width: 870px;
  height: 538px;
}
.galleryBox_two img:first-child, .galleryBox_four img:first-child {
  margin-bottom: 25px;
}
.galleryBox_five {
  justify-content: space-between;
  margin-bottom: 20px;
}
.galleryBox_five img {
  width: 416px;
  height: 100%;
}
.galleryBox_five img:not(:last-child) {
  margin-right: calc((100% - 1248px) / 2);
}
.subtxt {
  padding-left: 0;
}
/*-------------------recruit----------------*/
.subSec {
  width: 100%;
  position: relative;
  right: 50%;
  transform: translate(50%);
  justify-content: flex-end;
  flex-direction: column;
}
.subSecImg_one {
  width: 870px;
  height: 580px;
}
.subSecImg_two {
  width: 633px;
  height: 422px;
  margin-top: 40px;
}
.subSecBox {
  background-color: #fff;
  position: absolute;
  top: 75px;
  left: 50%;
  width: 633px;
  padding: 50px;
  z-index: 5;
}
.subSecBox p {
  line-height: 2;
  text-align: justify;
}
.recruit .contentsOne span {
  background-color: #000;
  color: #fff;
  font-size: 2.0rem;
  padding: 5px 10px;
}
.recruit .contentsOne h3 {
  font-size: 2.2rem;
  margin-bottom: 30px;
  font-weight: 500;
}
.recruit .contentsOne.flex {
  justify-content: space-between;
}
.recruit .contentsOne .sub {
  width: calc((100% - 60px) / 2);
}
.recruit .contentsOne .sub p {
  line-height: 2;
  text-align: justify;
}
.recruit .mainSecBox h2, .recruit .interview h3 {
  font-size: 2.2rem;
}
.recruit .mainSecBox h2 {
  margin-bottom: 40px;
  position: relative;
}
.recruit .mainSecBox h2::after {
  content: "";
  height: 1px;
  background: #000;
  color: #000;
  width: 65%;
  left: 180px;
  top: 56%;
  transform: translateY(-50%);
  position: absolute;
}
.recruit .mainSecBox h3, .recruit .interview h4 {
  font-size: 3.2rem;
  margin-bottom: 30px;
  line-height: 1.6;
  font-weight: 500;
}
.recruit .interview h3 {
  margin-bottom: 20px;
  position: relative;
}
.recruit .interview span {
  font-size: 1.4rem;
  justify-content: flex-end;
  letter-spacing: 0.4rem;
}
.recruit .interview h3::after {
  content: "";
  height: 1px;
  background: #000;
  color: #000;
  width: 65%;
  left: 180px;
  top: 56%;
  transform: translateY(-50%);
  position: absolute;
}
.recruit .interview h4 {}
/*-------------products---------------------*/
.product .contentsOne {
  position: relative;
  justify-content: flex-end;
}
/*.product .contentsOne::after {
  content: "";
  position: absolute;
  width: 99.5vw;
  height: 362px;
  top: 340px;
  left: 50%;
  transform: translateX(-50%);
  background: #e5f1f8;
  display: block;
  z-index: -1;
}*/
.product .contentsOne .subBox {
  position: absolute;
  left: 0;
  top: 0;
  width: 633px;
  padding: 0;
}
.product .contentsOne .subBox .subBoxttl {
  padding-left: 50px;
}
.product .contentsOne .subBox h2 {
  font-size: 4.8rem;
  font-weight: 500;
  background: #fff;
  padding: 15px 0 25px 0;
}
.product .contentsOne .subBox span {
  font-size: 1.8rem;
}
.product .contentsOne .subBoxtxt {
  position: static;
  padding: 50px;
}
/*.product .contentsOne img{
	position: relative;
}
.product .contentsOne .subBox{
	background-color: inherit;
}
.product .contentsOne h4,
.product .contentsOne span,
.product .contentsOne p{
	background-color: #fff;
	position: absolute;
	z-index: 5;
	left: -20px;
}
.product .contentsOne p{
	top:250px;
}
.product .contentsOne span{
	top:30px;
}
.product .contentsOne h4{
	top:30px;
}
.product .contentsOne h2{
	background-color: #fff;
	position: absolute;
	top:100px;
	z-index: 7;
}*/
.contentsTwo h4, .contentsFive h4 {
  margin: 15px 0 25px;
    font-size: 3.4rem;
    font-weight: 700;
}
.contentsTwo .contentListBox, .contentsFive .contentListBox {
  margin-right: 40px;
  text-align: left;
}
.contentsTwo .contentListBox img, .contentsFive .contentListBox img {
  padding: 0;
}
.contentsTwo .contentListBox p, .contentsFive .contentListBox p {
  margin-bottom: 50px;
  line-height: 2;
}
/*制作工程*/
.product .contentsThree span {
  background-color: #000;
  font-size: 2.0rem;
  color: #fff;
  padding: 0 10px;
}
.product .contentsThree h4 {
  font-size: 2.2rem;
  margin-top: 25px;
  margin-bottom: 30px;
  font-weight: 500;
}
.product .contentsThree .contentBox {
  margin-bottom: 80px;
}
/*.product .contentsThree .contentBox:last-child{
	margin-bottom: 120px;
}*/
.product .contentsThree .contentListBox {
  margin-right: 40px;
  text-align: left;
}
.product .contentsThree .contentListBox:nth-child(2) {
  margin-right: 0;
  margin-left: 40px;
}
.product .subBoxttl h2 {}
.product .subBoxttl p {
  background-color: #0079c2;
  color: #fff;
  margin-top: 30px;
  margin-bottom: 30px;
  display: inline-block;
  padding: 5px 10px;
}
.product .subBox {
  padding: 50px;
}
.product .contentsThree {
  margin-bottom: 0;
}
.product .contentsThree .contentBox:last-child {
  margin-bottom: 0;
}
.product .contentsFour {
  margin-top: 120px;
}
.product .contentsFour img {
  position: relative;
}
.subBoxtxt {
  position: absolute;
  background-color: #fff;
  padding: 50px 50px 50px 0;
  margin-top: 20px;
  z-index: 10;
}
.subBoxtxt p {}
.product .contentsFive .contentBox {
  margin-bottom: 80px;
}
.product .contentBox {
  margin-bottom: 80px;
}
/*.product .contentBox img {
  margin-right: 40px;
}*/
.product .contentsSix p {
  margin-bottom: 50px;
}
.product .contentsSix h4 {
  font-size: 2.4rem;
  margin-bottom: 20px;
  text-align: left;
  margin-top: -16px;
  line-height: 1.6;
  font-weight: 500;
}
.full {
  background: #e5e5e5;
  margin: 0 calc(50% - 49.75vw);
  padding: 0 calc(49.75vw - 50%) 120px;
  width: 99.5vw;
}
/*-------------contact---------------------*/
/* フォーム */
.contactFormWrap {
  max-width: 1090px;
  margin: 0 auto;
}
.contactFormWrap table tr {
  background-color: transparent;
}
.contactFormWrap input[type="text"], .contactFormWrap input[type="email"], .contactFormWrap input[type="tel"], textarea, .contactFormWrap textarea {
  width: 97.5%;
  height: 60px;
  border: 1px solid #ececec;
  background: #ececec;
  padding: 2px 2%;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: inherit;
}
.contactFormWrap textarea {
  height: 270px;
  font-size: 100%;
  padding-top: 15px;
}
input[type="submit"], input[type="button"] {
  font-size: 1.8rem;
  border: none;
  background-color: #0079c2;
  color: #fff;
  font-weight: 500;
  padding: 20px 35px;
  display: block;
  margin: 0 auto;
  letter-spacing: 0.2rem;
  cursor: pointer;
font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.contactFormWrap td.doui {
  padding: 60px 0 85px;
}
.contactFormWrap td.doui, .contactFormWrap td.sent {
  text-align: center;
}
.contactFormWrap table {
  width: 100%;
}
.contactFormWrap th, .contactFormWrap td {
  vertical-align: top;
  font-weight: 500;
  text-align: left;
  margin-bottom: 40px;
  font-size: 1.6rem;
}
.contactFormWrap th {
  padding: 60px 45px 30px;
  border-bottom: solid 1px #232323;
  width: 25%;
}
.contactFormWrap th span {
  color: #bf1a20;
}
.contactFormWrap td {
  padding: 40px 0 0 45px;
  border: none;
  border-bottom-style: none;
  border-bottom-width: medium;
  border-bottom: solid 1px #fff;
}
.contactFormWrap td .short {
  width: 45%;
}
.contactFormWrap td .middle {
  width: 65%;
}
.contactFormWrap td.doui a {
  text-decoration: underline;
  color: #0079c2;
  font-weight: 500;
}
.contactway2__contents.flex {
  max-width: 1090px;
  margin: 0 auto;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 40px;
}
.flexL p.tel {
  font-size: 4.8rem;
  font-weight: 500;
  margin-bottom: 0;
}
.flexL p.tel span {
  font-weight: 700;
  margin-bottom: 0;
}
.flexR {
  padding-top: 25px;
}
.flexR dl {
  flex-wrap: wrap;
  margin-top: 35px;
}
.flexR dl dt, .flexR dl dd {
  font-weight: 500;
  margin-bottom: 5px;
}
.flexR dl dt {
  width: 18%;
}
.flexR dl dd {
  width: 82%;
}
/*お問い合わせエラー画面*/
.contactFormWrap h4 {
  line-height: 1.6;
  margin-bottom: 20px;
  font-weight: 500;
  color: #bf1a20;
}
/*お問い合わせ確認画面*/
.confirmation #formWrap h3 {
  font-size: 3rem;
  margin-bottom: 20px;
  font-weight: 500;
}
.confirmation .contactFormWrap td {
  padding: 60px 45px 0 45px;
}
p.submitG {
  display: flex;
  justify-content: center;
  width: 36%;
  margin: 60px auto 0;
}
/*お問い合わせ完了*/
.thanksMessage {
  text-align: center;
  margin-top: 50px;
}
.thanksMessage h3 {
  font-size: 2.6rem;
  font-weight: 500;
  margin-bottom: 20px;
  color: #0079c2;
}
.thanksMessage p {
  text-align: center;
}
.toTopBT {
  margin: 50px 0;
}
.toTopBT a {
  font-size: 1.8rem;
  border: none;
  background-color: #0079c2;
  color: #fff;
  font-weight: 500;
  padding: 15px 30px;
  display: inline-block;
  margin: 0 auto;
  letter-spacing: 0.2rem;
}

/*-------------20210325スタイル調整用宗政追記---------------------*/
.product .contentsFour .subBoxtxt{
	width:633px;	
}


/*wevery仮サイト追記CSS*/
.top .contentBox{
	margin-bottom:75px;	
}








