@charset "UTF-8";
/* CSS Document */

/* -----------------------------
   全体構成
----------------------------- */
h1{font-size:43px; font-weight:100; letter-spacing:0.16em; line-height:1.3; text-align: center;}
h2{font-size:33px; font-weight:100; letter-spacing:0.16em; line-height:1.3; text-align: center;}
h3{font-size:26px; font-weight:100; letter-spacing:0.16em; line-height:1.3; }
h1,h2,h3{
	  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
}
@media screen and (max-width:959px), print  {
    h1{font-size:27px; line-height:1.3; }
    h2{font-size:22px; line-height:1.4; }
    h3{font-size:19px; font-weight:700; line-height: 1.6;}
	h1,h2,h3{
	  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic","Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
	}
}

.f_noto{
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
}
@media screen and (max-width:959px), print  {
	.f_noto{
              font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic","Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
	}
}
.f_roboto{
	font-family:Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

.f-orange{color:#DBA24C;}
.clear{ clear: both;}

/*SPでは無効（改行しない）*/
.pc_only{
   display: block;
}
        @media screen and (max-width:959px) {
            .pc_only{ display: none;}
        }
.pc_none{
    display: none;
}
        @media screen and (max-width:959px) {
            .pc_none{ display: block;
          }
        }
/*PCでは無効（改行しない）*/
.sp_only{
   display: none;
}
        @media screen and (max-width:549px) {
            .sp_only{ display: block;}
			.sp_none{ display: none;}
        }

/* -----------------------------
   ヒーローエリア (TOP画像)
----------------------------- */
.top_title{
	position: relative;
}
.top_title::before {
	content:"";position:absolute;top:0;left:0;background-color: rgba(0,0,0,0.4);z-index:2;width:100%;height:100%;
}
@media screen and (max-width: 959px) , print {
  .top_title{height: 635px;}
	.general-hero__image {padding-top:0;}
}
@media screen and (max-width: 549px) , print {
  .top_title{height: 468px;}
}

.top_title h1{
        position: absolute;
        top: 50%;
        left: 50%;
		z-index:100;
        transform: translate(-50%, -50%);
    /*以下装飾*/
        color:#ffffff;
        font-weight: 100;
        white-space: nowrap;
		line-height:0.9;
		letter-spacing:0.1em;
    }
.top_title h1 span{
		font-size:26px;
		font-weight:400;
	}
.top_title img{width: 100%;}
    @media screen and (max-width: 959px), print  {
        .top_title h1{ 
            text-align:center;
            font-size:43px;
            white-space: normal;
            width: 100%;
        }
    }
	@media screen and (max-width: 549px) , print {
		.top_title h1{
			width:90vw;
			font-size:27px;
			line-height: 1.1em;
			font-weight:400;
		}
		.top_title h1 span{
			font-size:17px;
			padding-top:10px;
			font-weight:600;
	}
}

/* -----------------------------
   メインヘッダー・導入テキスト
----------------------------- */
.main_content header{
  max-width:1000px;
  margin:0 auto;
  padding:100px 0 130px;
  position: relative;
}
      @media screen and (max-width:1199px), print {
        .main_content header{
		  padding:110px 0 150px;
        }
      }
      @media screen and (max-width:959px), print {
        .main_content header{
          width: 526px;
          padding:80px 0 100px;
        }
      }
	  @media screen and (max-width:549px), print {
		.main_content header{
		  width: calc(100% - 10vw);
		  padding: 80px 0 100px;
		}
	  }
.main_content h2{
  margin:0 0 60px;
  line-height: 1.4;
}
		@media screen and (max-width:959px), print {
		.main_content h2{
		  font-size: 27px;
		  font-weight: normal;
		  margin-bottom:30px;
			}
		}
		@media screen and (max-width:549px), print {
		.main_content h2{
		  margin: 0 auto 40px;
			}
		}

		@media screen and (max-width:959px), print {
		  .main_content h2 span{
			font-size: 17px;
			font-weight: bold;
			color: #435A5E;
			margin:30px 0;
			display: inline-block;
		  }
		}
		@media screen and (max-width:549px), print {
		  .main_content h2 span{
			margin:20px 0;
		  }
		}
.main_content p.introduction_text{
  text-align: center;
  margin-bottom:30px;
}
        @media screen and (max-width:959px), print {
          .main_content p.introduction_text{
            text-align: left;
          }
        }
.inner_btn{
	max-width: 400px;
    margin: 40px auto 0;
	font-size:15px;
}
	 @media screen and (max-width: 959px), print {
		 .inner_btn{
			 width: calc(100% - 12vw);
			 margin:60px auto 0px;
			 max-width: inherit;
			 height: 60px;
		 }
	}
	 @media screen and (max-width: 549px), print {
		 .inner_btn{
			 width: calc(100% - 17vw);
			 margin:50px auto 0px;
		 }
	}
.general-button {padding:0 60px;}
.general-button.is-large {padding: 18px 0;margin-bottom:0px;}
html.has-hover .general-button:hover {background-color: #645D57!important;border-color: #645D57!important;}
.general-button:before, .general-button:after {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% + 2px);
    right: 37px;
    background-color: currentColor;
    height: 2px;
    width: 9px;
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease;
}
.general-button:before {transform: rotate(45deg);}
.general-button:after {transform: rotate(135deg);top:calc(50% + 4px);}

/* -----------------------------
   ビジネスコンテンツ
----------------------------- */
section.business_list{margin:0 auto;}
	@media screen and (max-width:959px), print {
	  section.business_list{
		padding:0;
	  }
	}
section .business_content{
    margin:0 auto 120px;
    align-items: center;
	display:flex;
}
section .business_content:last-child{margin-bottom: 100px;}
	@media screen and (max-width:959px), print {
	  section .business_content{margin-bottom: 100px;}
	  section .business_content:last-child{margin-bottom: 120px;}
	}
	@media screen and (max-width:549px), print {
	   section .business_content{
			   width: calc(100% - 10vw);
	  }
	}
.business_content h3{
	font-size:33px;
	font-weight:200;
	padding-bottom:60px;
}
	@media screen and (max-width:1199px), print {
	  .business_content.feature01_item-01 h3{
			  text-align: center;
		  }
	}
	@media screen and (max-width:959px), print {
	  .business_content h3{
			  font-size:27px;
			  padding-bottom: 40px;
		  }
	}
	@media screen and (max-width:549px), print {
	  .business_content h3{
			  padding-bottom: 25px;
		  	  text-align:center;
			  letter-spacing: 0.26em;
			  line-height: 1.26em;
		  }
	}
.feature01_item-01 { gap: 60px;max-width:1268px; }
.feature01_item-02 { flex-direction: row-reverse;gap: 100px;max-width:1200px; }
.feature01_item-03 { gap: 100px;max-width:1200px;}
.feature01_item-sentence { width: 50%; }
.feature01_item-photo {width: 60%;max-height: 417px;}
.feature01_item-01 .feature01_item-photo {max-height:none;}
.feature01_item-photo h3 {font-size: 2.2rem;margin-bottom: 30px;}
.feature01_item-01 .feature01_item-sentence {width: 28%;}
.feature01_item-01 .feature01_item-photo {width: 72%;}
	@media screen and (max-width:1350px), print {
		section .business_content.feature01_item-01{margin-left:3%;gap:3%;}
		section .business_content.feature01_item-02{margin-right:6%;gap:6%;}
		section .business_content.feature01_item-03{margin-left:6%;gap:6%;}
}
	@media screen and (max-width:1199px), print {
		.feature01_item-sentence,.feature01_photo {width:auto;}
		.feature01_item-01 {flex-direction: column;gap:50px;}
		.feature01_item-photo,.feature01_item-photo picture img {width:auto;max-width: 598px;}
		.feature01_item-01 .feature01_item-sentence {width: 705px;margin:0 auto 50px;}
	}
	@media screen and (max-width:959px), print {
		section .business_content.feature01_item-01{margin-left:auto;}
		.feature01_item-01 .feature01_item-sentence {
			width: 88%;
			max-width: 705px;
		}
		.feature01_item-01 .feature01_item-sentence h3 {
			text-align: center;
		}
		section .business_content.feature01_item-02 { gap:60px;margin-right:60px;}
		section .business_content.feature01_item-03 { gap:60px;margin-left:60px;}
		/* gallery-container 以外の写真要素だけを 598px に指定 */
		.feature01_item-photo:not(.gallery-container),
		.feature01_item-photo:not(.gallery-container) img {
			width:50vw;
			max-width:480px;
		}
	}
	@media screen and (max-width:549px), print {
		.business_list{margin:0 5%;}
		.business_content {flex-direction: column;}
		section .business_content.feature01_item-02,section .business_content.feature01_item-03 {margin:80px auto;}
		.business_content.feature01_item-03 {margin-bottom:120px;}
		.feature01_item-01 .feature01_item-sentence	{width: 100%!important;}
		.feature01_item-sentence {width:100%;}
		.feature01_item-photo:not(.gallery-container),
		.feature01_item-photo:not(.gallery-container) img {width:100%;}
		section .business_content.feature01_item-02,section .business_content.feature01_item-03 { gap:50px}
	}
/*メインスライダー*/
.gallery-container {
  max-width: 845px;
  margin: 0 auto;
  position: relative;
}
	@media screen and (max-width:1199px), print {
		.feature01_item-01 .feature01_item-photo.gallery-container {
			width: 88%!important;
		}
	}
	@media screen and (max-width:959px), print {
		.feature01_item-01 .feature01_item-photo.gallery-container {
			width: 90%!important;
			margin:0 auto;
		}
	}
	@media screen and (max-width:549px), print {
		.feature01_item-01 .feature01_item-photo.gallery-container	{
            width: 100%!important;
		}
	}
.main-swiper {
  width: calc(100% - 140px);
  position: relative;
  margin: 0 auto 20px auto; 
  overflow:hidden;
}
.swiper-wrapper{
  max-width: 100%;
}
.main-swiper .swiper-slide img {
  width: 100%;
  max-width:100%;
  height: auto;
  display: block;
  object-fit: cover;
  transform: translateZ(0);
  backface-visibility: hidden; /* 追加: レンダリング時の微小な計算ズレを抑止 */
}
/* 矢印ボタンのスタイル設定 */
.swiper-button-normal-prev {
  left: 0px;
  top: calc(50% - 36px);
}
.swiper-button-normal-next {
  right: 0px;
  top: calc(50% - 36px);
}
.swiper-button-normal-prev:before, .swiper-button-normal-prev:after, .swiper-button-normal-next:before, .swiper-button-normal-next:after {
  content: '';
  display: block;
  position: absolute;
  border-top: 1px solid #707070;
  width: 45px;
  height: 0;
}
/* サムネイルスライダー */
.thumbs-swiper {
  max-width: 700px;
  margin:0 auto;
  padding: 0;
  overflow:hidden;
}
	@media screen and (max-width:959px), print {
		.thumbs-swiper {
		  max-width:none;
		  width: calc(100% - 140px);
		  margin:0 auto;
		  padding: 0;
		}
	}
	@media screen and (max-width:549px), print {
		.main-swiper,.thumbs-swiper {width:100%;}
		.swiper-button-normal-prev,.swiper-button-normal-next {
			display:none;
		}
	}

.thumbs-swiper .swiper-slide {
  cursor: pointer;
  border: 1px solid transparent;
  transition: border-color 0.2s;
}
.thumbs-swiper .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}
.thumbs-swiper .swiper-slide:hover {
	border-color:#DBA24C;
	}
.thumbs-swiper .swiper-slide-thumb-active {
  border-color: #000;
}


/* -----------------------------
   選ばれる理由
----------------------------- */
.reason-section {
  width: 100%;
  padding: 110px 20px 120px;
  background-color: #f5f5f5;
}
	@media screen and (max-width:959px), print {
	  .reason-section {
		  padding: 100px 6%;
	  }
	}
.reason-container {
  max-width: 960px;
  margin: 0 auto;
}
.reason-header {
  text-align: center;
  margin-bottom: 20px;
}
.main_content h2.reason-main-title {
  margin-bottom: 30px;
  line-height: 1.4;
}
	@media screen and (max-width:959px), print {
	.reason-header {
	  margin-bottom: 50px;
	}
	.main_content h2.reason-main-title {
	  margin-bottom: 10px;
	}
	.reason-item:first-child {
	  padding-top:0px;
	}
}
	@media screen and (max-width:549px), print {
	.main_content h2.reason-main-title {
	  line-height: 1.26em;
	}
}
.reason-sub-title {
  font-size: 15px;
  color: #666666;
  font-weight: 400;
}
/* リストカード */
.reason-list {
  display: flex;
  flex-direction: column;
}
.reason-item {
  display: flex;
  align-items: center;
  padding: 35px 5px 40px;
  border-bottom: 1px dashed #ccc;
}
@media screen and (max-width: 959px) {
.reason-item {
  padding: 30px 0px;
}
}
.reason-item:last-child {
  border-bottom:none;
  padding-bottom:0;
}
/* REASON 01 / 斜線エリア */
.reason-num-wrap {
  display: flex;
  align-items: center;
  position: relative;
  max-width: 200px;
  flex-shrink: 0;
  padding-right: 40px;
  margin-bottom:10px;
}
	@media screen and (max-width:959px), print {
	.reason-item {
	  gap: 6%;
		}
	.reason-num-wrap {
		width:auto;
		padding-right:0px;
		}
	}
.reason-label {
  font-family: "Roboto", "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #909090;
  margin-right: 5px;
}
.reason-number {
  font-size: 56px;
  font-weight: 700;
  color: #222222;
  line-height: 1;
  font-family: "Roboto", "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
  position: relative;
  display: inline-block;
  padding-right: 18px;
}
.reason-number::before {
  content: "";
  position: absolute;
  top: 44px;
  right: 30px;
  width: 1px;
  height: 80px;
  background-color: #707070;
  transform: translateY(-50%) rotate(45deg);
  z-index:100;
}
.reason-number::after {
  content: "";
  position: absolute;
  top: 70px;
  right: -40px;
  width: 80px;
  height: 80px;
  background-color: #F4F4F4;
  transform: translateY(-50%) rotate(45deg);
  z-index:99;
  clip-path: inset(0px 60px 30px 0px);
}
	@media screen and (max-width:549px), print {
		.reason-number::before {
  		clip-path: inset(0px 0px 10px 0px);
		}
		.reason-number::after {
  		clip-path: inset(0px 60px 10px 0px);
	}
	}
/* テキストエリア */
.reason-content {
  flex-grow: 1;
}
.reason-item-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
}
@media screen and (max-width: 959px) {
.reason-item-title {
  margin-bottom: 10px;
}
}
.reason-item-desc {
  font-size: 15px;
  line-height: 1.85;
  text-align: justify;
}
/*  レスポンシブ対応（スマホ表示） */
@media screen and (max-width: 549px) {
  .reason-section {
    padding: 100px 20px;
  }
  .reason-header {
    margin-bottom: 60px;
  }
  .reason-main-title {
    font-size: 24px;
  }
  .reason-sub-title {
    font-size: 13px;
  }
  /* リスト項目を中央揃えの縦並びに変更 */
  .reason-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 60px 0;
	overflow:hidden;
  }
  .reason-num-wrap {
    width: auto;
    padding-right: 0;
    margin-bottom: 25px;
    justify-content: center;
  }
  .reason-item-title {
    line-height: 1.5;
    margin-bottom: 16px;
  }
  .reason-item-desc {
    text-align: left;
    line-height: 1.8;
  }
}

/* -----------------------------
   2D3D ダウンロードサービス
----------------------------- */
.cg-section {
  width: 100%;
  margin: 100px auto;
  display:flex;
  justify-content: center;
}
	@media screen and (max-width: 1199px) {
		.cg-section {
		  width:88%;
		  margin: 200px 6%;
		}
	}
	@media screen and (max-width: 959px) {
		.cg-section {
		  width:88%;
		  margin: 120px 6%;
		}
	}
	@media screen and (max-width: 549px) {
		.cg-section {
		  margin: 100px 6%;
		}
	}
.cg-section a{
	position: relative;
	display:flex;
	width:1000px;
	height:266px;
}
.cg-section a::before {
	content:"";
	position:absolute;
	top:0;
	background-color: rgba(0,0,0,0.4);
	z-index:2;
	width:100%;
	height:100%;
	transition: background-color 0.3s ease;
}
@media (hover: hover) {
  .cg-section a:hover::before {background-color: rgba(0, 0, 0, 0.2);}
}
.cg-section a .banner-btn__content{
    position: absolute;
	width:100%;
	height:100%;
	z-index:100;
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap:10px;
    /*以下装飾*/
        font-family: Roboto, "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, Meiryo, sans-serif;
        color:#ffffff;
    }
	@media screen and (max-width: 549px) {
		.cg-section a .banner-btn__content{gap:20px;}
	}
.cg-section a h2.banner-btn__main-text{font-size:26px;font-weight:100;margin:0;}
.cg-section a p.banner-btn__sub-text{font-size:15px;font-weight:400;}
.cg-section a.banner-btn picture{width: 100%;overflow: hidden;}
.cg-section a.banner-btn picture img{
	width: 250%;
	height:250%;
	object-fit:cover;
	object-position: center -290px;
}
	@media screen and (max-width: 1199px) {
		.cg-section a.banner-btn picture img{
			width: 100%;
			height: 100%;
			object-position: center 60%;
		}
		.cg-section a p.banner-btn__sub-text{
			margin:0 6%;
			text-align:center;
	}
}
	@media screen and (max-width: 549px) {
		.cg-section a h2.banner-btn__main-text{
			font-weight: 400;
		}
}
/* -----------------------------
   お問い合わせフォーム
----------------------------- */
section#business-form {
    width: 100%;
    margin: 0px auto;
    background-color: #F8F8F8;
    padding: 100px 0;
}
	@media screen and (max-width: 959px) {
		section#business-form {
			padding: 100px 0 150px;
		}
	}
	@media screen and (max-width: 549px) {
		section#business-form {
			padding: 100px 0 100px;
		}
	}
section#business-form .business-form-box {
	width:960px;
	margin:0 auto;
}
	@media screen and (max-width: 1199px) {
		section#business-form .business-form-box{
			width: 88%;
		}
	}
	@media screen and (max-width: 549px) {
		section#business-form .business-form-box {
			width:100%;
			padding:0;
		}
		.contact-container,.contact-tel-box {padding:0 5% 5%;}
	}
section#business-form form {
	background-color: #fff;
	padding:3%;
	border: 1px solid #d2d2d2;
}
	@media screen and (max-width: 549px) {
	section#business-form form {
		padding-bottom:40px;
	}
}
/* タイトル・リード文 */
h3.contact-title {
  font-size: 33px;
  font-weight: 100;
  text-align: center;
  margin-bottom: 50px;
}
	@media screen and (max-width: 959px) {
		h3.contact-title {font-size:27px;margin-bottom: 50px;}
		}
	@media screen and (max-width: 549px) {
		h3.contact-title {letter-spacing: 0;}
		}
.contact-lead {
  text-align: center;
  font-size: 15px;
  margin-bottom: 50px;
  line-height: 1.8;
}
.contact-note {
  font-size: 13px;
  color: #808080;
  margin-top: 20px;
  line-height: 0;
}
	@media screen and (max-width: 549px) {.contact-note {line-height:normal;}}
/* 電話番号ボックス */
.contact-tel-box {
  background-color: #ffffff;
  padding: 25px 30px 30px;
  text-align: center;
  max-width: 640px;
  max-height: 177px;
  margin: 0 auto 60px auto;
}
	@media screen and (max-width: 549px) {.contact-tel-box {padding-top: 40px;}}
.contact-tel-title {
  font-size: 26px;
  font-weight: 300;
  line-height: 1.6;
	letter-spacing: 0.16em;
}
	@media screen and (max-width: 549px) {.contact-tel-title {font-size: 22px;}}
.contact-tel-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 33px;
  font-weight: 400;
  color: #222;
  text-decoration: none;
  letter-spacing: 0.05em;
  padding:2px 0;
  line-height:1.2em;
}
	@media screen and (max-width: 549px) {.contact-tel-number {font-size: 26px;}}
.tel-icon {
  width: 22px;
  height: 22px;
  margin-right: 10px;
  fill: #333;
}
.contact-tel-hours {
  font-size: 15px;
  line-height: 2.5em;
}
/* Hubspotフォーム */
.hs_inquiry_details{
	width:30%!important;
	display:flex;
}
#label-inquiry_details-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81{
	position: absolute!important;
        left: 5px;
        top: 0;
        bottom: 0;
        margin: auto;
        display: flex;
        align-items: center;
        z-index: 0;
    }
.hs_inquiry_details .input{
	width:100%!important;
}
.column2 .form-columns-2 .field.hs_message_contact:last-child {
	width:70%!important;
}
.hs_message_contact .input{
	width:auto!important;
	margin:0!important;
	padding-left:30px;
}
.hs-richtext.hs-main-font-element{
	margin-bottom:1rem;
}
#hsForm_82d5bae7-80e2-4542-bcc4-1daa6d8cfb81 .name_label + fieldset.form-columns-2:nth-child(3),#hsForm_82d5bae7-80e2-4542-bcc4-1daa6d8cfb81 fieldset.form-columns-2.name_kana{ 
	padding: 12px 5px 12px 0px!important;
	display:flex;
	justify-content: space-between;
}
#hsForm_82d5bae7-80e2-4542-bcc4-1daa6d8cfb81 .name_label + fieldset.form-columns-2:nth-child(3) .hs-form-field,#hsForm_82d5bae7-80e2-4542-bcc4-1daa6d8cfb81 fieldset.form-columns-2.name_kana .hs-form-field {
	width: 48%!important;
	display:flex;
	flex-direction: column;
	padding-left:2%!important;

}
#hsForm_82d5bae7-80e2-4542-bcc4-1daa6d8cfb81 .form-columns-2:nth-child(n+3):nth-child(-n+4) .field > label{
	width:100%!important;
	left:0!important;
	position:relative!important;
	padding: 12px 5px 0px 0px!important;		
}
#hsForm_82d5bae7-80e2-4542-bcc4-1daa6d8cfb81 .form-columns-2:nth-child(n+3):nth-child(-n+4) .field .input{
	width:100%!important;
}
.column2 .form-columns-2 .field.hs_message_contract_form:last-child {
    width: 100% !important;
}
#label-message_contract_form-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81 + div.input {
    width: 100% !important;
    padding-left: 0 !important; /* 必要に応じて余白もリセット */
}
#label-message_contract_form-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81{
	display:none;
}
/* -----------------------------
   サンクスページ
----------------------------- */
.business-form-box-thanx{
	width: 660px;
    margin: 80px auto;
}
.business-form-box-thanx .caption{
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	font-size:22px;
	font-weight: 600;
	padding-bottom: 30px !important;
    line-height: 1.45;
}
.business_content.feature01_item-01 .business-form-box-thanx h3{
	text-align: left;
}
.business-form-box-thanx p.backbutton a{
        margin-top: 60px;
		font-size: 1.5rem;
		font-weight: 400;
		line-height: 1.6;
		letter-spacing: 0.07em;
		text-indent: -7777px;
        height: 30px;
        width: 150px;
        display: block;
        overflow: hidden;
		background-image: url(/cart/img/btn_finish.gif);
		background-repeat: no-repeat;
        background-position: 0 0px;
}
.business-form-box-thanx p.backbutton a:hover {
		background-position: 0 -30px;
}
@media screen and (max-width: 959px) {
fieldset:has(#label-inquiry_details-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81) {
	display:flex;
	flex-direction: column;	
	}
fieldset:has(#label-inquiry_details-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81) .hs_inquiry_details {
	width:100%!important;
	padding-bottom:12px;
	}
fieldset:has(#label-inquiry_details-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81) .hs_message_contact {
	width:100%!important;
	padding-bottom:10px;
	}
fieldset:has(#label-inquiry_details-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81) .hs_message_contact .input {
	padding-left:0px;
	}
.business-form-box-thanx{
	width: auto;
    margin: 50px 6vw;
}
section .business_content:last-child {
        margin-bottom:0px;
	}
}
@media screen and (max-width:480px) {
#hsForm_82d5bae7-80e2-4542-bcc4-1daa6d8cfb81 .name_label + fieldset.form-columns-2:nth-child(3),#hsForm_82d5bae7-80e2-4542-bcc4-1daa6d8cfb81 fieldset.form-columns-2.name_kana {
    padding: 12px 0px 12px 0px !important;
	}
fieldset:has(#label-inquiry_details-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81) .hs_inquiry_details {
	display:flex;
	flex-direction: column;
	text-align: left;
	}
#label-inquiry_details-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81{
	position: relative!important;
	left:auto;
	margin:0 0 5px;
	}
fieldset:has(#label-inquiry_details-82d5bae7-80e2-4542-bcc4-1daa6d8cfb81) .input textarea{
	height:7rem;	
	}
.business-form-box-thanx{
    margin: 50px auto;
}
.business_content.feature01_item-01 .business-form-box-thanx h3.caption{
letter-spacing: 0.16em;
}
}

footer.footer{
	margin:0;
}
