@charset "utf-8";
/* ===================================================================
 File Name  : page.css
 Style Info : ページに関するスタイル指定
=================================================================== */

/*----------------------------------------------------
  トップページ index
--------------------------------------------------- */
#mainVisual {
  position: relative;
  overflow: hidden;
  margin-bottom: 110px;
}
.main_slider {
  position: relative;
  height: 100%;
}

.main_slider figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.main_copy {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 5;
  margin-left: 60px;
  margin-top: -85px;
}
.main_copy .ani_right.active {
  -webkit-animation: ani_right 1s ease 1.2s 1 forwards;
  animation: ani_right 1s ease 1.2s 1 forwards;
}
  @media screen and (max-width: 767px) {
    #mainVisual {
      margin-bottom: 14.66vw;
      height: 146.66vw!important;
			display: block;
    }
    .main_slider figure img {
      height: auto!important;
      font-family: 'object-fit: cover;'
    }
    .main_copy {
      position: absolute;
      left: auto;
      right: 6.66vw;
      top: 50%;
      margin-left: 0;
      margin-top: -13.33vw;
      width: 60vw;
    }
  }

.bgv-wrap {
	background-color: #000000;
	position: fixed;
	z-index: -20;/*最背面に設定*/
	top: 0;
	right:0;
	left:0;
	bottom:0;
	overflow: hidden;
}

.bgv-content {
	position: absolute;
	z-index: -20;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 177.77777778vh;
	height: 56.25vw;
	min-height: 100%;
	min-width: 100%;
}

.bgv-wrap .bgv-mb {
	display: none;
}
	
@media screen and (max-width: 767px) {
	.bgv-content {
		width: 100vw;
		height: 100vh;
	}
	
	.bgv-content video {
		width: 100%;
	}
	
	.bgv-wrap .bgv-pc {
		display: none;
	}
	
	.bgv-wrap .bgv-mb {
		display: block;
	}
}

.cnt_wrap {
  position: relative;
  padding-bottom: 150px;
}
.cnt_wrap .inner {
  min-height: 490px;
}
.cnt_wrap .inner::before {
  position: absolute;
  content: "";
  width: 560px;
  height: 490px;
  background: #eee;
}
.box_imgR .inner::before {
  right: -100px;
}
.box_imgL .inner::before {
  left: -100px;
}
.box_imgR .sub_ttl01 {
  position: absolute;
  left: 0;
  top: 0;
}
.box_imgR .cnt_box {
  position: absolute;
  left: 140px;
}
.box_imgL .sub_ttl01 {
  position: absolute;
  right: 0;
  top: 0;
}
.box_imgL .cnt_box {
  position: absolute;
  right: 140px;
}
  @media screen and (max-width: 767px) {
    .cnt_wrap {
      padding: 0 0 98vw 0!important;
      margin-bottom: 13.33vw!important;
    }
    .cnt_wrap::before {
      position: absolute;
      content: "";
      left: 0!important;
      bottom: 0!important;
      right: auto!important;
      top: auto!important;
      width: 100%;
      height: 88vw;
      background: #eee;
    }
    .cnt_wrap .inner {
      min-height: auto;
      padding: 0 2vw!important;
    }
    .cnt_wrap .inner::before {
      display: none;
    }
    .box_imgR .sub_ttl01 {
      position: relative;
      left: auto!important;
      top: auto!important;
      right: auto!important;
      bottom: auto!important;
    }
    .box_imgR .cnt_box {
      position: static;
      left: 0;
    }
    .box_imgL .sub_ttl01 {
      position: relative;
      left: auto!important;
      top: auto!important;
      right: auto!important;
      bottom: auto!important;
    }
    .box_imgL .cnt_box {
      position: static;
      right: 0;
    }
  }

.cnt_box {
  width: 460px;
  line-height: 2;
}
.cnt_ttl {
  font-size: 1.8rem;
  margin-bottom: 30px;
}
.cnt_txt {
  padding-bottom: 25px;
}
.cnt_txt p {
  margin-bottom: 25px;
}
  @media screen and (max-width: 767px) {
    .cnt_box {
      width: 100%;
      line-height: 1.8;
      padding: 2.66vw 0 0 5.8vw!important;
    }
    .cnt_ttl {
      font-size: 4.4vw;
      margin-bottom: 5.33vw;
    }
    .cnt_txt {
      padding-bottom: 4vw;
    }
    .cnt_txt p {
      margin-bottom: 4vw;
    }
  }

.index-free {
	width: 100%;
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 20px 80px 20px;
}

.index-free-wrap {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.index-free-wrap + .index-free-wrap {
	margin-top: 75px;
}

.index-free-wrap .movie {
	width: 50%;
	padding-top: 28%;
	position: relative;
}

.index-free-wrap .movie iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (max-width: 767px) {
	.index-free-wrap .movie {
		width: 100%;
		padding-top: 56.25%;
		order: 1;
	}
}

.index-free-wrap .image {
	width: 60%;
}

@media screen and (max-width: 767px) {
	.index-free-wrap .image {
		width: 100%;
		order: 1;
	}
}

.index-free-wrap .image a {
	display: inline-block;
}

.index-free-wrap .image img {
	width: 100%;
}

.index-free-wrap .text {
	line-height: 2.0;
	font-size: 1.6rem;
}

.index-free-movie .text {
	width: 45%;
}

.index-free-image .text {
	width: 35%;
}

@media screen and (max-width: 767px) {
	.index-free-movie .text,
	.index-free-image .text {
		width: 100%;
		margin-top: 2.0em;
		order: 2;
	}
}

.index-free-wrap .text strong {
	margin-bottom: 0.75em;
	padding-bottom: 0.6em;
	line-height: 1.6;
	font-family: "游明朝", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "Sawarabi Mincho", serif;
	font-size: 2.8rem;
	display: block;
	position: relative;
}

@media screen and (max-width: 767px) {
	.index-free-wrap .text strong {
		font-size: 2.2rem;
	}
}

.index-free-wrap .text strong::after {
	content: "";
	width: 3.0em;
	height: 1px;
	background-color: #000000;
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 0;
}

#index01 {
  z-index: 10;
}
#index01 .inner::before {
  background: url("../img/index/index01_01.jpg") center center no-repeat;
  background-size: cover;
}
#index01 .cnt_box {
  padding-top: 40px;
}
#index01 figure {
  position: absolute;
  right: 50%;
  bottom: -310px;
  margin-right: 20px;
}
  @media screen and (max-width: 767px) {
    #index01::before {
      background: url("../img/index/index01_01.jpg") center center no-repeat;
      background-size: cover;
    }
    #index01 figure {
      position: static;
      margin-right: 0;
    }
    #index01 figure img {
      width: 70vw;
      margin: 0 auto;
    }
  }

#index02 {
  background: #F9F9F8;
  min-height: 880px;
  padding-top: 245px;
  margin-bottom: 200px;
  z-index: 5;
}
#index02 .inner::before {
  background: url("../img/index/index02_01.jpg") center center no-repeat;
  background-size: cover;
}
#index02 .sub_ttl01 {
  top: -90px;
}
#index02 .cnt_box {
  padding-top: 75px;
}
#index02 figure {
  position: absolute;
  right: 50%;
  bottom: -90px;
  margin-right: -445px;
}
  @media screen and (max-width: 767px) {
    #index02 {
      background: #fff;
    }
    #index02::before {
      background: url("../img/index/index02_01.jpg") center center no-repeat;
      background-size: cover;
    }
    #index02 figure {
      position: static;
      margin-right: 0;
    }
    #index02 figure img {
      width: 70vw;
      margin: 0 auto;
    }
  }

#index03 .inner::before {
	height: 450px;
  background: url("../img/index/index03_01.jpg") center center no-repeat;
  background-size: 100% auto;
}
#index03 .sub_ttl01 {
  top: -30px;
}
#index03 .cnt_box {
  padding-top: 130px;
}
#index03 .btn01 {
  margin-top: 90px;
}
  @media screen and (max-width: 767px) {
    #index03 {
      padding-bottom: 0!important;
      margin-bottom: 18vw!important;
    }
    #index03::before {
			height: 78vw;
      bottom: 23vw!important;
      background: url("../img/index/index03_01.jpg") center center no-repeat;
      background-size: 100% auto;
    }
    #index03 .btn01 {
      margin-top: 100vw;
      padding: 0 5vw;
    }
  }

#index04 {
  background: #F9F9F8;
  min-height: 880px;
  padding-top: 245px;
  margin-bottom: 200px;
  z-index: 5;
}
#index04 .inner::before {
  background: url("../img/index/index04_01.jpg") center center no-repeat;
  background-size: cover;
}
#index04 .sub_ttl01 {
  top: -90px;
}
#index04 .cnt_box {
  padding-top: 75px;
}
#index04 figure {
  position: absolute;
  right: 50%;
  bottom: -90px;
  margin-right: -445px;
}
  @media screen and (max-width: 767px) {
    #index04 {
      background: #fff;
    }
    #index04::before {
      background: url("../img/index/index04_01.jpg") center center no-repeat;
      background-size: cover;
    }
    #index04 figure {
      position: static;
      margin-right: 0;
    }
    #index04 figure img {
      width: 70vw;
      margin: 0 auto;
    }
  }

#index_case {
  position: relative;
  padding-top: 20px;
}

  @media screen and (max-width: 767px) {
    #index_case {
      padding: 5vh 2vw 0 2vw;
    }
  }

#index_case .case_gallery {
  padding-bottom: 20px;
}
.case_gallery a {
  display: block;
  width: 360px;
  color: #070707;
  text-decoration: none;
  margin: 0 10px 25px 0;
}
.case_gallery a:nth-child(3n) {
  margin-right: 0;
}
.case_gallery a figure {
  overflow: hidden;
}
.case_gallery a figure img {
  width: 100%;
  height: auto;
  transition: all 0.3s ease-in-out 0s;
}
.case_gallery a:hover figure img {
  -webkit-transform: scale(1.08);
  -moz-transform: scale(1.08);
  -o-transform: scale(1.08);
  -ms-transform: scale(1.08);
  transform: scale(1.08);
  opacity: 1!important;
}
.case_gallery h4 {
  font-size: 1.7rem;
  font-weight: 500;
}
.case_gallery .case_txt {
  padding: 15px;
}
.cat_box {
  position: relative;
  display: inline-block;
  background: url("../img/common/ico/ico_case_ttl.png") 0 3px no-repeat;
  padding: 0 0 0 25px;
  margin: 0 10px 5px 0;
}
  @media screen and (max-width: 767px) {
    #index_case .case_gallery {
      padding: 0 0 5vw;
    }
    .case_gallery a {
      width: 80vw;
      margin: 0 auto 5vw auto;
    }
    .case_gallery a:nth-child(3n) {
      margin-right: auto;
    }
    .case_gallery h4 {
      font-size: 4.26vw;
    }
    .case_gallery .case_txt {
      padding: 2.66vw 0;
    }
    .cat_box {
      background: url("../img/common/ico/ico_case_ttl.png") 0 0.8vw no-repeat;
      background-size: 4.6vw auto;
      padding: 0 0 0 6.66vw;
      margin: 0 2.66vw 1.33vw 0;
    }
  }

/*----------------------------------------------------
  料金表 service
--------------------------------------------------- */
#service {
  padding-top: 50px;
}
#service h3 {
  padding: 30px 0 18px;
  font-size: 1.7rem;
}
#service01 {
  padding-bottom: 20px;
}
#service01 .inner::before {
  background: url("../img/service/service_img01.jpg") center center no-repeat;
  background-size: cover;
}
#service01 .sub_ttl01 {
  top: 28px;
}
#service01 .cnt_box {
  padding-top: 170px;
  font-size: 1.7rem;
  line-height: 1.85;
}
  @media screen and (max-width: 767px) {
    #service {
      padding-top: 3.33vw;
    }
    #service h3 {
      padding: 8vw 0 3.66vw;
      font-size: 4.26vw;
    }
    #service01 {
      padding-bottom: 92vw!important;
      margin: 0!important;
    }
    #service01 .cnt_box {
      font-size: 3.76vw;
    }
    #service01::before {
      background: url("../img/service/service_img01.jpg") center center no-repeat;
      background-size: cover;
    }
  }

#service02 {
  padding-bottom: 70px;
}
#service02 .inner::before {
  background: url("../img/service/service_img02.jpg") center center no-repeat;
  background-size: cover;
}
#service02 .sub_ttl01 {
  top: -90px;
}
#service02 .cnt_box {
  padding-top: 70px;
  font-size: 1.7rem;
  line-height: 1.85;
}
  @media screen and (max-width: 767px) {
    #service02 {
      padding-bottom: 92vw!important;
      margin: 0 0 9.33vw!important;
    }
    #service02 .cnt_box {
      font-size: 3.76vw;
    }
    #service02::before {
      background: url("../img/service/service_img02.jpg") center center no-repeat;
      background-size: cover;
    }
  }

#service03 {
  padding-bottom: 20px;
}
#service03 .inner::before {
  background: url("../img/service/service_img03.jpg") center center no-repeat;
  background-size: cover;
}
#service03 .sub_ttl01 {
  top: 28px;
}
#service03 .cnt_box {
  padding-top: 170px;
  font-size: 1.7rem;
  line-height: 1.85;
}
  @media screen and (max-width: 767px) {
    #service {
      padding-top: 3.33vw;
    }
    #service h3 {
      padding: 8vw 0 3.66vw;
      font-size: 4.26vw;
    }
    #service03 {
      padding-bottom: 92vw!important;
      margin: 0!important;
    }
    #service03 .cnt_box {
      font-size: 3.76vw;
    }
    #service03::before {
      background: url("../img/service/service_img03.jpg") center center no-repeat;
      background-size: cover;
    }
  }


#service01_tbl {
  margin-bottom: 100px;
}
#service01_tbl table {
  margin-bottom: 20px;
}
#service01_tbl th,#service01_tbl td {
  text-align: center;
  font-weight: 500;
  border: solid 1px #282828;
  padding: 10px 0;
  font-size: 1.6rem;
  font-feature-settings: "palt";
}
#service01_tbl th {
  width: 14%;
}
#service01_tbl th:first-child {
  width: 16%;
}
#service01_tbl p {
  margin-bottom: 20px;
}
  @media screen and (max-width: 767px) {
    #service01_tbl {
      padding: 0 2vw;
      margin-bottom: 13vw;
    }
    #service01_tbl table {
      margin-bottom: 0;
    }
    #service01_tbl th,#service01_tbl td {
      padding: 7px 15px;
      font-size: 1.5rem;
      font-feature-settings: "palt";
    }
    #service01_tbl th:first-child,#service01_tbl td:first-child {
      border-left: none;
      border-right: none;
    }
    #service01_tbl th:last-child,#service01_tbl td:last-child {
      border-left: none;
      border-right: none;
    }
  }

#service02_tbl table {
  margin-bottom: 20px;
}
#service02_tbl th,#service02_tbl td {
  text-align: center;
  font-weight: 500;
  border: solid 1px #282828;
  padding: 10px 0;
  font-size: 1.6rem;
  font-feature-settings: "palt";
}
#service02_tbl th {
  width: 25%;
}
  @media screen and (max-width: 767px) {
    #service02_tbl {
      padding: 0 2vw;
    }
    #service02_tbl table {
      margin-bottom: 0;
    }
    #service02_tbl th,#service02_tbl td {
      padding: 7px 15px;
      font-size: 1.5rem;
      font-feature-settings: "palt";
    }
    #service02_tbl th:first-child,#service02_tbl td:first-child {
      border-left: none;
      border-right: none;
    }
    #service02_tbl th:last-child,#service02_tbl td:last-child {
      border-left: none;
      border-right: none;
    }
  }

.btn_cc {
  padding: 55px 0 75px;
}
.btn_cc li {
  margin-bottom: 40px;
}
.btn_cc li b {
  position: relative;
  display: inline-block;
  padding-left: 52px;
  z-index: 10;
}
.btn_contact b {
  background: url("../img/common/ico/ico_mail03.png") left center no-repeat;
}
.btn_cart b {
  background: url("../img/common/ico/ico_cart02.png") left center no-repeat;
}
  @media screen and (max-width: 767px) {
    .btn_cc {
      padding: 9.66vw 0;
    }
    .btn_cc li {
      margin-bottom: 6.66vw;
    }
    .btn_cc li b {
      position: relative;
      display: inline-block;
      padding-left: 52px;
      z-index: 10;
    }
    .btn_contact b {
      background: url("../img/common/ico/ico_mail03.png") left center no-repeat;
    }
    .btn_cart b {
      background: url("../img/common/ico/ico_cart02.png") left center no-repeat;
    }
  }

.cyuki {
  display: none;
}
  @media screen and (max-width: 767px) {
    .cyuki {
      display: block;
      margin-bottom: 5px;
      font-size: 1.4rem;
      text-align: right;
    }
    .service_tbl{
      overflow: auto;
      white-space: nowrap;
      border-left: solid 1px #282828;
      border-right: solid 1px #282828;
      margin-bottom: 4vw;
    }
    .service_tbl{overflow-x:scroll;}
    .service_tbl::-webkit-scrollbar{height:10px;}
    .service_tbl::-webkit-scrollbar-track{background:#eeeeee;}
    .service_tbl::-webkit-scrollbar-thumb{background:#555;}
  }

/*----------------------------------------------------
  ご利用事例 case
--------------------------------------------------- */
.case_cat_list {
  padding-bottom: 40px;
}
.case_cat_list a {
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  width: 260px;
  border: solid 1px #070707;
  color: #070707;
  text-decoration: none;
  padding: 14px;
  line-height: 1.3;
  border-radius: 5px;
  margin: 0 20px 20px 0;
}
.case_cat_list li:nth-child(4n) a {
  margin-right: 0;
}
.case_cat_list a:hover {
  background: #070707;
  color: #fff;
}
.case_cat_list li.current-cat a {
  background: #070707;
  color: #fff;
}
  @media screen and (max-width: 767px) {
    .case_cat_list {
      padding-bottom: 6.66vw;
    }
    .case_cat_list ul {
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      -o-justify-content: space-between;
      justify-content: space-between;
      padding: 0 2vw;
    }
    .case_cat_list li {
      width: 48.5%;
      margin-bottom: 3vw;
    }
    .case_cat_list a {
      width: 100%;
      padding: 2.66vw;
      border-radius: 3px;
      margin: 0;
      font-size: 3.33vw;
    }
    .case_cat_list li:nth-child(4n) a {
      margin-right: 0;
    }
    .case_cat_list a:hover {
      background: #070707;
      color: #fff;
    }
    .case_cat_list li.current-cat a {
      background: #070707;
      color: #fff;
    }
  }

/*詳細*/
.single_ttl {
  font-size: 2rem;
  font-weight: 500;
  padding: 5px 0 15px;
  border-bottom: solid 1px #E0DFDB;
  margin-bottom: 35px;
}
  @media screen and (max-width: 767px) {
    #case_single {
      padding: 0 2vw;
    }
    .single_ttl {
      font-size: 4.4vw;
      padding: 1vw 0 3.33vw;
      margin-bottom: 8vw;
    }
  }

/*----------------------------------------------------
  Q&A qa
--------------------------------------------------- */
.qa_box {
  padding: 40px 0;
}
.qa_box dl {
  margin-bottom: 38px;
}
.qa_box dt {
  position: relative;
  padding: 12px 10px 12px 80px;
  margin-bottom: 20px;
  font-weight: 500;
  border: solid 1px #f1f0ee;
}
.qa_box dt::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "Q";
  display: block;
  text-align: center;
  background: #f1f0ee;
  color: #070707;
  font-weight: 500;
  height: 100%;
  width: 50px;
  line-height: 50px;
  font-size: 2rem;
}
.qa_box dd {
  position: relative;
  padding: 12px 10px 12px 80px;
}
.qa_box dd::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "A";
  display: block;
  text-align: center;
  background: #070707;
  color: #fff;
  width: 50px;
  line-height: 50px;
  font-size: 2rem;
}
  @media screen and (max-width: 767px) {
    .qa_box {
      padding: 6.66vw 2vw 0 2vw;
    }
    .qa_box dl {
      width: 100%;
      margin-bottom: 5vw;
    }
    .qa_box dt {
      padding: 1.7vw 1.7vw 1.7vw 12vw;
      margin-bottom: 3.66vw;
      line-height: 6vw;
    }
    .qa_box dt::before {
      width: 9.5vw;
      line-height: 9.5vw;
      font-size: 4.3vw;
    }
    .qa_box dd {
      padding: 1.7vw 1.7vw 1.7vw 12vw;
    }
    .qa_box dd::before {
      width: 9.5vw;
      line-height: 9.5vw;
      font-size: 4.3vw;
    }
    .qa_box dd p {
      margin-bottom: 3.5vw;
    }
  }

/*----------------------------------------------------
  会社概要 company
--------------------------------------------------- */
#company {
  padding-top: 75px;
}
#company .sub_ttl01 {
  position: absolute;
  left: 0;
  top: 0;
}
#company01 {
  position: relative;
  padding: 150px 70px 280px 140px;
  margin-bottom: 70px;
}
.greeting_txt {
  font-size: 1.7rem;
}
.greeting_txt p {
  margin-bottom: 32px;
}
#company01 figure {
  text-align: center;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 237px;
}
#company01 figure img {
  display: block;
  margin-bottom: 15px;
}
  @media screen and (max-width: 767px) {
    #company {
      padding: 0 2vw;
    }
    #company .sub_ttl01 {
      position: relative;
    }
    #company01 {
      padding: 0;
      margin-bottom: 12vw;
    }
    .greeting_txt {
      font-size: 3.76vw;
    }
    .greeting_txt p {
      margin-bottom: 5vw;
    }
    #company01 figure {
      text-align: center;
      position: relative;
      width: 100%;
    }
    #company01 figure img {
      width: 50vw;
      margin: 0 auto 3vw;
    }
  }

#company02 {
  position: relative;
  padding: 120px 0 0 140px;
  margin-bottom: 90px;
}
#company02 table {
  width: 850px;
  font-size: 1.7rem;
  margin-bottom: 60px;
}
#company02 th {
  width: 205px;
  text-align: left;
  border-bottom: solid 1px #070707;
  padding: 22px 40px;
}
#company02 td {
  border-bottom: solid 1px #070707;
  padding: 22px 0;
}
#company02 td small {
  font-size: 1.4rem;
}
#company02 figure {
  position: relative;
  text-align: right;
  right: -100px;
}
  @media screen and (max-width: 767px) {
    #company02 {
      padding: 0;
      margin-bottom: 0;
    }
    #company02 table {
      width: 100%;
      margin: 0 0 9.33vw 0;
      font-size: 3.76vw;
    }
    #company02 th {
      width: 28%;
      text-align: left;
      border-bottom: solid 1px #ddd;
      padding: 4vw 2vw;
    }
    #company02 td {
      border-bottom: solid 1px #ddd;
      padding: 4vw 2vw;
    }
    #company02 td small {
      display: block;
      font-size: 3.4vw;
      line-height: 1.4;
      margin-top: 5px;
    }
    #company02 figure {
      right: 0;
      margin: 0 -2vw;
    }
    #company02 figure img {
      width: 100%;
    }
  }

#company03 {
	position: relative;
	padding: 150px 70px 70px 140px;
	margin-bottom: 70px;
}

#company03 .movie {
	width: 720px;
	margin: 0 auto;
	padding-top: 44%;
	border: 12px solid #EFEFEF;
	position: relative;
}

#company03 .movie iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 767px) {
	#company03 {
		padding: 0;
		margin-bottom: 12vw;
	}
	#company03 .movie {
		width: 100%;
		padding-top: 56.25%;
		border: none;
	}
}


/*----------------------------------------------------
  共通WP
--------------------------------------------------- */
/* img */
.aligncenter {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.alignright { float: right; }
.alignleft { float: left; }
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
  max-width: 100%;
}

/*投稿詳細用*/

.entry-content:after {
  content: ""; 
  display: block; 
  clear: both;
}
.entry-content h1 {
  font-size: 2rem;
  padding: 9px 15px;
  margin-bottom: 30px;
  border: solid 2px #070707;
  border-left: solid 30px #070707;
  font-weight: 500;
}
  @media screen and (max-width: 767px) {
    .entry-content h1 {
      font-size: 4.8vw;
      margin-bottom: 4.4vw;
      padding: 2vw 3.33vw;
      border: solid 2px #070707;
      border-left: solid 5vw #070707;
    }
  }

.entry-content h2 {
  font-size: 2rem;
  font-weight: 500;
  padding: 9px 20px;
  color: #fff;
  margin-bottom: 30px;
  background-size: auto auto;
  background-color: rgba(181, 181, 181, 1);
  background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(160, 160, 160, 1) 2px, rgba(160, 160, 160, 1) 8px );
}
  @media screen and (max-width: 767px) {
    .entry-content h2 {
      font-size: 4.4vw;
      padding: 2.33vw 4vw;
      margin-bottom: 4.4vw;
    }
  }

.entry-content h3 {
  font-size: 1.8rem;
  background: url("../img/common/ico/icon-towel.png") 0 0 no-repeat;
  padding: 5px 0 5px 62px;
  margin-bottom: 20px;
}
  @media screen and (max-width: 767px) {
    .entry-content h3 {
      font-size: 4.2vw;
      background: url("../img/common/ico/icon-towel.png") 0 0 no-repeat;
      background-size: 10vw auto;
      padding: 0 0 2vw 12vw;
      margin-bottom: 2.66vw;
    }
  }

.entry-content h4 {
  font-size: 18px;
  margin-bottom: 12px;
}
  @media screen and (max-width: 767px) {
    .entry-content h4 {
      font-size: 4.2vw;
      margin-bottom: 3.33vw;
    }
  }

.entry-content h5 {
  font-size: 18px;
  margin-bottom: 12px;
}
  @media screen and (max-width: 767px) {
    .entry-content h5 {
      font-size: 4.2vw;
      margin-bottom: 3.33vw;
    }
  }

.entry-content h6 {
  font-size: 16px;
  margin-bottom: 12px;
}
  @media screen and (max-width: 767px) {
    .entry-content h6 {
      font-size: 4.5vw;
      margin-bottom: 3.33vw;
    }
  }

.entry-content p {
  margin-bottom:30px;
}
  @media screen and (max-width: 767px) {
    .entry-content p {
      margin-bottom: 5vw;
    }
  }

.entry-content img {
  margin-bottom:30px;
}
  @media screen and (max-width: 767px) {
    .entry-content img {
      margin-bottom: 6vw;
    }
  }

.entry-content ul {
  margin-bottom: 30px;
  padding-left: 20px;
}
.entry-content ul li {
  list-style-type: disc;
}
.entry-content ul li ul {
  margin-bottom: 10px;
  font-size: 93%;
}
.entry-content ul li ul li {
  list-style-type:circle;
}
  @media screen and (max-width: 767px) {
    .entry-content ul {
      margin-bottom: 5vw;
      padding-left: 5.4vw;
    }
    .entry-content ul li ul {
      margin-bottom: 2vw;
    }
  }

.entry-content ol {
  counter-reset: section;
  margin-bottom: 30px;
}
.entry-content ol li {
  list-style: none;
}
.entry-content ol > li:before {
  content : counters(section, '-') '. ';
  counter-increment : section;
}
.entry-content ol li ol {
  padding-left: 20px;
  margin-bottom: 10px;
  font-size: 93%;
}
  @media screen and (max-width: 767px) {
    .entry-content ol {
      margin-bottom: 5vw;
    }
    .entry-content ol li ol {
      padding-left: 5.4vw;
      margin-bottom: 2vw;
    }
  }

.entry-content table {
  width:100%;
  margin:0 0 35px 0;
}
.entry-content th {
  text-align: left;
  padding:7px 10px;
  border:solid 1px #eee;
}
.entry-content td {
  padding:7px 10px;
  border:solid 1px #eee;
}
  @media screen and (max-width: 767px) {
    .entry-content table {
      margin:0 0 6vw 0;
      font-size: 93%;
    }
    .entry-content th {
      padding:2vw;
    }
    .entry-content td {
      padding:2vw;
    }
  }

.entry-content blockquote {
  position: relative;
  border: solid 4px #d7d7d7;
  padding: 20px 20px 20px 55px;
  margin-bottom: 35px;
}
.entry-content blockquote::before {
  position: absolute;
  left: 18px;
  top: 20px;
  content: "“";
  line-height: 1;
  font-size: 6rem;
  color: #d7d7d7;
}
  @media screen and (max-width: 767px) {
    .entry-content table {
      margin:0 0 6vw 0;
      font-size: 93%;
    }
    .entry-content blockquote {
      border: solid 3px #d7d7d7;
      padding: 4vw 3.33vw 4vw 9.33vw;
      margin-bottom: 6vw;
    }
    .entry-content blockquote::before {
      left: 2vw;
      top: 4vw;
      font-size: 12.33vw;
    }
  }

.entry-content u {
  text-decoration: underline;
}

/*ページ分割ナビ*/
.wp-pagenavi {
  padding: 50px 0 0 0;
  text-align: center;
  overflow: hidden;
}
.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  width: 48px;
  line-height: 46px;
  background: #fff;
  border: 1px solid #070707;
  color: #000;
  margin: 0 5px 10px 5px;
  text-decoration: none;
  font-size: 1.8rem;
}
.wp-pagenavi span {
  background: #070707;
  color: #fff;
}
.wp-pagenavi a:hover {
  background: #070707;
  color: #fff;
  border: 1px solid #070707;
}
.wp-pagenavi .first, .wp-pagenavi .last {
  line-height: 1;
  width: auto;
  border: none;
}
.wp-pagenavi .first:hover, .wp-pagenavi .last:hover {
  border: none;
  color: #070707;
  background: none;
  text-decoration: underline;
}
.wp-pagenavi .extend {
  line-height: 1;
  width: auto;
  border: none;
  color: #070707;
  background: none;
}
  @media screen and (max-width: 767px) {
    .wp-pagenavi {
      padding: 8vw 0 0 0;
    }
    .wp-pagenavi a, .wp-pagenavi span {
      width: 8.33vw;
      line-height: 8vw;
      margin: 0 1vw 2vw 1vw;
    }
  }

/*記事詳細ナビ*/
.wp-detailnavi {
  position: relative;
  padding: 50px 0 0 0;
  text-align: center;
}
.wp-detailnavi a {
  display: block;
  text-decoration: none;
  color: #070707;
  border: solid 1px #070707;
  line-height: 40px;
  padding: 5px;
  font-size: 2rem;
}
.wp-detailnavi a:hover {
  color: #fff;
  background: #070707;
}
.prev_link {
  width: 33%;
  position: absolute;
  left: 0;
  bottom: 0;
}
.next_link {
  width: 33%;
  position: absolute;
  right: 0;
  bottom: 0;
}
.list_link {
  width: 34%;
  margin: 0 auto;
}
.list_link a {
  color: #fff;
  background: #070707;
}
  @media screen and (max-width: 767px) {
    .wp-detailnavi {
      padding-top: 8vw;
    }
    .wp-detailnavi a {
      line-height: 8vw;
      font-size: 4vw;
    }
    .prev_link {
      width: 32%;
    }
    .next_link {
      width: 32%;
    }
    .list_link {
      width: 36%;
    }
  }


/*----------------------------------------------------
  404 Not Found
--------------------------------------------------- */
#notfound p {
  padding-bottom: 25px;
}
#notfound .btn01 {
  margin-top: 40px;
}
  @media screen and (max-width: 767px) {
    #notfound {
      padding: 0 2vw;
    }
    #notfound p {
      padding-bottom: 5vw;
    }
    #notfound .btn01 {
      margin-top: 6.66vw;
    }
  }

/*----------------------------------------------------
  お問い合わせ contact
--------------------------------------------------- */
#contact {
  margin-bottom: 90px;
}
.contact_head p {
  font-size: 1.7rem;
  margin-bottom: 25px;
}
.contact_tel {
  padding: 10px 0 55px;
}
.contact_tel dt {
  font-size: 3.8rem;
  font-weight: 600;
}
.contact_tel dd {
  font-size: 1.7rem;
  margin-bottom: 12px;
}
.contact_tel small {
  display: block;
  font-size: 1.4rem;
}
  @media screen and (max-width: 767px) {
    #contact {
      margin-bottom: 10.66vw;
      padding: 0 2vw;
    }
    .contact_head p {
      font-size: 3.76vw;
      margin-bottom: 4vw;
      text-align: left;
    }
    .contact_tel {
      padding: 2vw 0 9.33vw;
    }
    .contact_tel dt {
      font-size: 7.2vw;
    }
    .contact_tel dd {
      font-size: 4.2vw;
      margin-bottom: 4vw;
    }
    .contact_tel small {
      font-size: 3.33vw;
    }
  }

.flow_step {
  position: relative;
  margin-bottom: 40px;
}
.flow_step li {
  width: 33.33%;
  font-weight: 600;
  text-align: center;
  border-right: solid 1px #fff;
}
.flow_step li span {
  display: block;
  background: #eee;
  padding: 13px;
  color: #070707;
}
.flow_step li.fs_current span {
  background: #070707;
  color: #fff;
}
  @media screen and (max-width: 767px) {
    .flow_step {
      margin-bottom: 8vw;
    }
    .flow_step li span {
      padding: 2.66vw;
    }
  }

.contactComplete p {
  margin-bottom: 30px;
}
  @media screen and (max-width: 767px) {
    .contactComplete p {
      margin-bottom: 4vw;
    }
  }

.contactForm table {
  margin-bottom: 60px;
}
.contactForm th {
  width: 350px;
  padding:25px 28px;
  border-bottom: solid 1px #707070;
  text-align:left;
  font-weight:500;
  font-size:1.7rem;
  vertical-align:middle;
}
.contactForm th span {
  display:block;
  position:relative;
}
.contactForm th .require {
  position:absolute;
  right:0;
  top:3px;
  font-size:1.4rem;
  color:#fff;
  font-style:normal;
  display:inline-block;
  margin-left:10px;
  background: #070707;
  line-height: 1.5;
  padding: 2px 15px;
  border-radius: 2px;
}
.contactForm td {
  padding:25px 28px;
  border-bottom: solid 1px #707070;
}
.contactForm td input[type="text"],.contactForm td textarea {
  font-size:1.6rem;
}
.contactForm td .error {
  display:block;
  margin-top:5px;
}
.contactForm td div {
  padding:5px 0;
}
  @media screen and (max-width: 767px) {
    .contactForm table {
      margin-bottom: 10px;
    }
    .contactForm th ,.contactForm td {
      display:block;
      width:100%;
      box-sizing:border-box;
      padding:12px;
      font-size:1.5rem;
    }
    .contactForm th .require {
      top:0;
      font-size:1.3rem;
    }
    .contactForm td {
      border:none;
      padding:25px 12px;
    }
    .contactForm td .require {
      display:none;
    }
  }

.mw_wp_form_confirm .confirm_none , .contactConfirm .confirm_none {
  display:none;
}
.mw_wp_form_entry .entry_none , .contactConfirm .entry_none {
  display:none;
}
.mw_wp_form_confirm .entry_none , .contactConfirm .entry_none {
  display:block;
}

/*inputサイズ*/
.inp_short {
  width:48%;
}
.inp_middle {
  width:72%;
}
.inp_long {
  width:96%;
}
.area_long {
  width:96%;
  height:220px;
}
.inp_zip {
  width:120px;
}
.radio_label {
  margin-right:40px;
}
  @media screen and (max-width: 767px) {
    .inp_short {
      width:70%;
    }
    .inp_middle {
      width:100%;
    }
    .inp_long {
      width:100%;
    }
    .area_long {
      width:100%;
      height:200px;
    }
    .mwform-tel-field input {
      width:60px!important;
    }
  }

/*ボタン*/
.btnArea {
  text-align:center;
}
.btnArea span:empty {
  display:none;
}
.btnArea span {
  box-sizing: border-box;
  position: relative;
  bottom: 0;
  display: inline-block;
  width: 500px;
  transition: all 0.2s ease-in-out 0s;
  margin: 0 15px;
  background: #070707;
  text-decoration: none;
  border-radius: 5px;
  overflow: hidden;
}
.btnArea span::before {
  position: absolute;
  left: -100%;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #999;
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
}
.btnArea span:hover::before {
  opacity: 1;
  left: 0;
}
.btnArea .btn_return {
  background: #999;
}
.btnArea .btn_return::before {
  left: auto;
  right: -100%;
}
.btnArea .btn_return:hover::before {
  opacity: 1;
  left: auto;
  right: 0;
}
.btnArea input {
  position: relative;
  width: 100%;
  padding: 25px 10px;
  border:none;
  color:#fff;
  font-size: 1.7rem;
  font-weight: 600;
  display: inline-block;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  outline: none;
  border-radius:0;
  background: none;
  z-index: 10;
}
  @media screen and (max-width: 767px) {
    .btnArea span {
      width:100%;
      margin:0 0 25px 0;
    }
    .btnArea input {
      padding: 15px 10px;
      font-size:1.7rem;
    }
  }

/*プレースホルダー*/
input::-webkit-input-placeholder { color:#aaa; }
input:-moz-placeholder { color:#666; }
input::-moz-placeholder { color:#666; }

input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; }
input:focus::-moz-placeholder { color:transparent; }

/*ラジオボタン*/
.mwform-radio-field {
  display: inline-block;
}
.mwform-radio-field label {
  cursor: pointer;
  position: relative;
  margin-right: 20px;
  overflow: hidden;
  padding-left: 20px;
  display: inline-block;
  vertical-align: text-top;
}
.mwform-radio-field  label:before {
  position: absolute;
  width: 15px;
  height: 15px;
  border: 1px solid #666;
  border-radius: 50%;
  left: 0px;
  top: 50%;
  margin-top: -8px;
  content: '';
  z-index: 3;
}
.mwform-radio-field  label:after {
  content: '';
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 100%;
  left: 4px;
  top: 50%;
  margin-top: -4px;
  background-color: #f00;
  z-index: 1;
}
.mwform-radio-field  label input[type="radio"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 2;
  width: 20px;
  height: 20px;
  left: -23px;
  top: 1px;
  margin: 0px;
  box-shadow: 20px -1px #fff;
  border: none;
}
.mwform-radio-field  label input[type="radio"]:checked {
  box-shadow: none;
}
.mwform-radio-field  label input[type="radio"]:focus {
  opacity: 0.2;
  box-shadow: 20px -1px #FFF;
}

/*プライバシーポリシー*/
#privecy .sub_ttl01 {
  position: absolute;
  left: 0;
  top: 0;
}
#privecy {
  position: relative;
  padding: 155px 0 0 140px;
}
#privecy dl {
  font-size: 98%;
  margin-bottom: 30px;
}
#privecy dl:last-child {
  margin-bottom: 0;
}
#privecy dt {
  margin-bottom: 5px;
}
#privecy dt::before {
  content: "■";
  margin-right: 5px;
}
  @media screen and (max-width: 767px) {
    #privecy .sub_ttl01 {
      position: relative;
    }
    #privecy {
      position: relative;
      padding: 0 2vw;
    }
    #privecy dl {
      font-size: 3.76vw;
      margin-bottom: 5vw;
    }
    #privecy dt {
      margin-bottom: 1.66vw;
    }
    #privecy dt::before {
      margin-right: 1.33vw;
    }
  }


