@charset "utf-8";

/* 汎用 */
a:hover img { opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.st { font-weight: bold; }
.fl { float: left; }
.fr { float: right; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.flex_not_justify { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

/* メインの日本語フォント */
.f_min { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f_gothic { font-family: sans-serif; }


/* 英字用フォント */
.f_garamond { font-family: 'EB Garamond', serif; }


/* 画像フィット用 */
.fit_img { display: flex; justify-content: center; align-items: center; /*IE用*/ flex-direction: column; }
.fit_img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.regacy_fit_img { display: relative; overflow: hidden; }
.regacy_fit_img img { position: absolute; left: -50%; right: -50%; top: -50%; bottom: -50%; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.ofi { object-fit: cover; font-family: 'object-fit:cover; '; }


input[type="button"],input[type="text"],input[type="submit"],input[type="image"],textarea{
    -webkit-appearance: none;
    border-radius: 0;
}

/*===========
inview
===========*/

.inview {
  opacity: 0;
  transform: translate(0, 20%);
  transition: 1s;
}
.inview.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/*PC用*/
@media print, screen {
	.pc { display: block !important }
	.sp { display: none !important }
	.eyecatch { margin-bottom: 8.333vw; }
	
	
/*===========
scale
===========*/
a .hv_scale { overflow: hidden; }
a .hv_scale img { transition: transform .3s cubic-bezier(.75,.23,.58,.81); }
a:hover .hv_scale img { opacity: 1; transform: scale(1.05); }



/*--------------------------
フロントページ
----------------------------*/

h3 { margin-bottom: 16px; font-size: 46px; font-weight: 400; letter-spacing: 0.04em; text-align: center; }
.sub_txt { font-size: 18px; font-weight: 600; letter-spacing: 0.08em; text-align: center; }

.more_btn a { display: block; margin: 0 auto; padding: 18px; box-sizing: border-box; border: 1px solid #000; color: #000; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-align: center; background: url(../images/contents/common/footer_arrow02.svg) no-repeat right 20px top 18px / 21px; }
.more_btn.white_btn a { border: 1px solid #fff; color: #fff; }
.more_btn a:hover { color: #fff; background: url(../images/contents/common/footer_arrow.svg) #000 no-repeat right 20px top 18px / 21px; }
.more_btn.white_btn a { border: 1px solid #fff; color: #fff; background: url(../images/contents/common/footer_arrow.svg) no-repeat right 20px top 18px / 21px; }
.more_btn.white_btn a:hover { color: #000; background: url(../images/contents/common/footer_arrow02.svg) #fff no-repeat right 20px top 18px / 21px; }

.mv { position: relative; padding: 90px 0 70px; }
.mv::before { content:''; position: absolute; bottom: 0; width: 100%; height: 560px; background: #F5F3F0; }
.mv .inner { position: relative; z-index: 100; }
.mv .inner .sub_slide { width: 10.6%; }
.mv .inner .main_slide { width: 89.3%; position: relative; }
.mv .inner .main_slide .mv_text { position: absolute; bottom: 75px; left: 70px; }
.mv .inner .main_slide .mv_text h1 { margin-bottom: 24px; color: #fff; font-size: 56px; letter-spacing: 0.04em; }
.mv .inner .main_slide .mv_text a { padding-right: 80px; color: #fff; font-size: 18px; font-weight: 700; letter-spacing: 0.08em; background: url(../images/contents/top/mv_arrow.webp) no-repeat right top 5px / 68px; }
.mv .inner .main_slide .mv_text a:hover { opacity: 0.6; }

.slider-dots { position: absolute; left: -7.6%; bottom: 30px; counter-reset: number 0;}
.slider-dots li { margin-bottom:10px; }
.slider-dots button {
    position: relative;
    width: 30px;
    height: 30px;
    border: none;
    background-color: transparent;
    margin: 0 10px;
    padding: 0;
    cursor: pointer;
    counter-increment: number 1; 
  }

.slider-dots button .slider-inner-dot {
  position: absolute;
  top: calc(50% - 9px);
  left: calc(50% - 7px);
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
}
.slider-dots button .slider-inner-dot::after { content: counter(number, decimal-leading-zero) " ";  font-size: 14px; color: #A2A2A2; background:initial; font-family: 'EB Garamond', serif; font-weight: 500; }

.slider-dots .slick-active button .slider-inner-dot::after { color: #000; }



#top .sec01 { margin: 95px 0; }
#top .sec01 h1 { gap: 0 13px; justify-content: center; align-items: center; font-size: 90px; font-weight: 400; letter-spacing: 0.12em; }
#top .sec01 h1 p { padding: 18px 0 0 5px; font-size: 36px; letter-spacing: 0.08em; }
#top .sec01 h1 p span { display: block; padding: 25px 0 0 10px; font-size: 18px; font-weight: 500; letter-spacing: 1.02em; }
#top .sec01 .txt { padding: 40px 0 90px; font-size: 18px; font-weight: 400; letter-spacing: 0.08em; line-height: 2.22; text-align: center; }



/* --- scroll --- */
.scroll_line { height: 100px; overflow: hidden; }
.scroll_line .line { position: relative; width: 1px; height: 100%; margin: 0 auto; display: block; background-color: #000; }
.scroll_line .line::before { content: ""; position: absolute; top: 0; left: -2px; width: 5px; height: 5px; background-color: #000; border-radius: 50%; animation-name: Scroll; animation-duration: 2s; animation-timing-function: linear, linear; animation-iteration-count: infinite; }
@keyframes Scroll { 
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(7.5rem);
    }
}

#top .sec01 .sec01_slider { margin-top: 80px; }
#top .sec01 .sec01_slider .slider02_nav { margin: 20px 3.76% 0 auto; width: 550px; box-sizing: border-box; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum { margin-left: 18px; cursor: pointer; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum p { margin-top: 8px; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum p span { font-size: 12px; font-weight: 400; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum img { width: 124px; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum .thumb { position: relative; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum .thumb::before { content:''; position: absolute; top:0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.5); }
#top .sec01 .sec01_slider .slider02_nav .slide_thum.slick-current .thumb::before { display:none; }

#top .sec02 { margin: 78px 3.76% 140px; }
#top .sec02 .sub_txt { margin-bottom: 61px; }
#top .sec02 .block { margin-bottom: 80px; gap: 3vw 1vw; }
#top .sec02 .block a { display: block; width: 47.7%; overflow: hidden; }
#top .sec02 .block a .ttl { padding: 21px 0 8px; font-size: 24px; font-weight: 600; letter-spacing: 0.04em; }
#top .sec02 .block a .sb_ttl { font-size: 14px; font-weight: 500; letter-spacing: 0.04em; }
#top .sec02 .more_btn a { width: 300px; }
#top .sec02 .bnr { margin: 140px auto 0; padding: 3.333vw 0 2.813vw; width: 1000px; max-width: 100%; box-sizing: border-box; color: #fff; text-align: center; background: url(../images/contents/top/sec02_bg.webp) no-repeat center top / 100%; }
#top .sec02 .bnr h4 { font-size: 30px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.4; }
#top .sec02 .bnr .sub_en_txt { padding: 20px 0 40px; font-size: 16x; font-weight: 500; letter-spacing: 0.2em; }

#top .sec03 { margin: 0 3.76% 130px; }
#top .sec03 .sec03_grid { margin: 61px 0 130px; display: grid; grid-template-columns: 54.167vw auto; grid-template-rows: repeat(2, 1fr); gap: 8px; }
#top .sec03 .sec03_grid li { max-height: 319px; }
#top .sec03 .sec03_grid li:nth-child(1) { grid-row: 1 / 4; grid-column: 1; max-height: 100%; }
#top .sec03 .sec03_grid li:nth-child(2) { grid-row: 1; grid-column: 2; }
#top .sec03 .sec03_grid li:nth-child(3) { grid-row: 2; grid-column: 2; }
#top .sec03 .sec03_grid li:nth-child(4) { grid-row: 3; grid-column: 2; }
#top .sec03 .sec03_grid li a { display: block; position: relative; width: 100%; height: 100%; overflow: hidden; }
#top .sec03 .sec03_grid li a .text_area { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 100; color: #fff; text-align: center; }
#top .sec03 .sec03_grid li a .text_area .f_garamond { margin-bottom: 14px; font-size: 16px; font-weight: 500; letter-spacing: 0.12em; }
#top .sec03 .sec03_grid li a .text_area .f_min { font-size: 28px; font-weight: 600; letter-spacing: 0.08em; white-space: nowrap; }
#top .sec03 .sec03_grid li a .img,
#top .sec03 .sec03_grid li a .img img { width: 100%; height: 100%; }
#top .sec03 .sec03_grid li a .img img { object-fit: cover; }
#top .sec03 .sec03_grid li a::after { content:''; position: absolute; right: 21px; bottom: 20px; width: 21px; height: 9px; background: url(../images/contents/common/footer_arrow.svg) no-repeat left center / 100%; }
#top .sec03 .bnr { max-width: 1000px; margin: 0 auto; }

#top .sec04 { padding: 70px 0 140px; position: relative; }
#top .sec04::before { content:''; position: absolute; top: 0; left: 0; width:100%; height: 460px; background: #F5F3F0; z-index: -1; }
#top .sec04 .inner { margin: 0 auto; width: 1180px; max-width: 95%; }
#top .sec04 .inner .right { padding-top: 26px; width: 430px; }
#top .sec04 .inner .right h3 { margin: 30px 0 40px; font-size: 20px; font-weight: 500; letter-spacing: 0.12em; text-align: left; }
#top .sec04 .inner .right .sub_txt { font-size: 41px; font-weight: 400; letter-spacing: 0.04em; line-height: 1.58; text-align: left; }
#top .sec04 .inner .right .sub_txt span { font-size: 58px; font-weight: 600; }
#top .sec04 .inner .right .txt { margin-bottom: 132px; font-size: 22px; font-weight: 600; letter-spacing: 0.04em; line-height: 1.72; }
#top .sec04 .inner .right ul { gap: 30px 40px; }
#top .sec04 .inner .right ul li { width: 188px; }
#top .sec04 .inner .right ul li a { display: block; position: relative; padding: 0 25px 15px 20px; border-bottom: 1px solid #000; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; }
#top .sec04 .inner .right ul li a::before { content:''; position: absolute; top: -3px; left: 0; width: 12px; height: 18px; background: url(../images/contents/top/sec04_icon01.svg) no-repeat left top / 100%; }
#top .sec04 .inner .right ul li a::after { content:''; position: absolute; top: 0; right: 7px; width: 15px; height: 7px; background: url(../images/contents/common/footer_arrow02.svg) no-repeat left top / 100%; transition: all .3s; }
#top .sec04 .inner .right ul li a:hover::after { right: 0px; }
#top .sec04 .inner .map { max-width: 660px; }













/* 下層
-------------------------------------------------------*/
	.inner_wrap{ margin: 0 auto; width: 90%; max-width: 1180px; }
	.inner_wrap02 { margin: 0 auto; width: 95%; max-width: 1280px; }
	.mv_wrapper { position: relative; margin-bottom: 130px; }
	.mv_wrapper::before { content:''; position: absolute; bottom: 0; left: 0; width: 100%; height: 22.865vw; background: #F5F3F0; }
	.mv_wrapper .titlearea { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; height: 26.354vw; z-index: 5; }
	.mv_wrapper .titlearea::before { content:''; position: absolute; top: 0; right: 0; width: 89.2%; height: 26.354vw; z-index: -1; }
	.mv_wrapper .en,
	.mv_wrapper h1 { color: #fff; letter-spacing: 0.12em; text-align: center; }
	.mv_wrapper .en { margin-bottom: 15px; font-size: 22px; font-weight: 400; }
	.mv_wrapper h1 { font-size: 44px; font-weight: 600; }
	
	/* パンくず */
	.breadcrumbs { position: relative; margin: 0 40px 0 auto; padding: 19px 0; /*width: 90%; max-width: 1180px; */ text-align: right; z-index: 5; }
	.breadcrumbs span { letter-spacing: 0.04em; }
	.breadcrumbs a span { font-weight: 700; }
	
	/* wp-pagenavi */
	.wp-pagenavi { margin-bottom: 130px; text-align: center; font-family: 'EB Garamond', serif; }
	.wp-pagenavi .current,
	.wp-pagenavi a { box-sizing: border-box; }
	.wp-pagenavi .current { margin: 0 9px; display: inline-block; padding: 8px 0; width: 28px; color: #fff; font-size: 18px; font-weight: 500; background: #000; }
	.wp-pagenavi a { margin: 0 9px; display: inline-block; padding: 7px 0; width: 28px; border: 1px solid #000; font-size: 18px; font-weight: 500; }
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink { border: none; padding: 0; vertical-align: middle; }
	.wp-pagenavi .previouspostslink { background: url(../images/contents/common/pagenavi_prev.svg) no-repeat left top; }
	.wp-pagenavi .nextpostslink { background: url(../images/contents/common/pagenavi_next.svg) no-repeat left top; }
	
	/* 404 */
	.not404 { padding-top: 200px; }
	.not404 h2 { margin-bottom: 20px; font-size: 38px; font-weight: 600; letter-spacing: 0.12em; text-align: left; }
	.not404 p { font-size: 16px; font-weight: 500; line-height: 2; }
	.not404 .more_btn { margin: 50px 0 100px; max-width: 320px; }

/*--------------------------
 - story 隈研吾が語る「住箱」
----------------------------*/
	#story { padding-top:  90px; }
	#story .mv_wrapper .titlearea {  }
	#story .mv_wrapper .titlearea::before { background: url(../images/contents/story/mv.webp) no-repeat center top / cover; }
	
	#story .txt { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height:2.625; }
	#story .sec01 h3 { margin-bottom: 15px; font-size: 26px; font-weight: 600; letter-spacing: 0.04em; line-height: 1.76; text-align: left; white-space: nowrap; }

	#story .sec01 { margin: 0 auto 120px; width: 100%; max-width: 1180px; }
	#story .sec01 h2 { margin-bottom: 110px; font-size: 34px; font-weight: 600; letter-spacing: 0.04em; line-height: 1.76; text-align: center; }
	#story .sec01 .block { margin-bottom: 106px; }
	#story .sec01 .block .txtarea { width: 100%; max-width: 39.8%; }
	#story .sec01 .block .img { width: 100%; max-width: 55%; }
	#story .sec01 .block .img img { height: 433px; object-position: center; }
	#story .sec01 .block02 {  }
	#story .sec01 .block02 .txtarea { margin: 0 -26px 0 auto; width: 100%; max-width: 54.8%; }
	#story .sec01 .block02 .img { margin-left: calc(50% - 50vw); width: 45.313vw; }
	#story .sec01 .block02 .txtarea p + p { margin-top: 15px; }
	#story .sec01 .block02 .img img { height: 579px; object-position: center; }
	
	#story .sec02 { position: relative; padding: 100px 0 80px; overflow: hidden; }
	#story .sec02::before { content:''; position: absolute; top: 0; left: 0; width: 72%; height: 1109px; background: #F5F3F0; z-index: -1; }
	#story .sec02 h3 { position: relative; margin-bottom: 100px; font-size: 36px; font-weight: 600; line-height: 1.72; letter-spacing: 0.04em; text-align: left; }
	#story .sec02 h3::before,
	#story .sec03 h3 span::before { content:''; position: absolute; top: 149px; left: 0; width: 100px; height: 1px; background: #000; }
	#story .sec02 .txtarea { width: 54.23%; }
	#story .sec02 .txtarea p + p { margin-top: 15px; }
	#story .sec02 .img { margin-right: calc(50% - 50vw); padding-top: 35px; width: 44.219vw; }
	#story .sec02 .img img { height: 894px; object-position: center; }
	
	#story .sec03 { margin: 140px 0; }
	#story .sec03 h3 { margin-bottom: 101px; }
	#story .sec03 h3 span { position: relative; font-size: 36px; font-weight: 600; letter-spacing: 0.04em; }
	#story .sec03 h3 span::before { top: 86px; left: 0; right: 0; margin: auto; }
	#story .sec03 .inner_wrap { margin-bottom: 80px; }
	#story .sec03 .img { width: 94.79%; }
	
	#story .profile { position: relative; margin: 0 auto 140px; padding: 60px 60px 60px 358px; width: 100%; max-width: 1180px; box-sizing: border-box; }
	#story .profile::before { content:''; position: absolute; top: 0; right: 0; width: 93.2%; height: 334px; background: #F5F3F0; z-index: -1; }
	#story .profile .img { position: absolute; top: -40px; left: 0; width: 298px; }
	#story .profile h3 { font-size: 30px; font-weight: 600; letter-spacing: 0.04em; text-align: left; }
	#story .profile h3 span { margin-left: 1rem; font-size: 18px; font-weight: 600; letter-spacing: 0.12em; }


/*--------------------------
 - CASE STUDY 導入事例
----------------------------*/
	#case { padding-top:  90px; }
	#case .mv_wrapper .titlearea {  }
	#case .mv_wrapper .titlearea::before { background: url(../images/contents/case/mv.webp) no-repeat center top / cover; }
	#case .category_list { margin-bottom: 100px; }
	#case .category_list ul { border-top: 1px solid #000; border-bottom: 1px solid #000; }
	#case .category_list ul li { position: relative; width: 25%; }
	#case .category_list ul li::before { content:''; position: absolute; right: 0; top: 15px; width: 1px; height: 30px; background: #000; }
	#case .category_list ul li:last-of-type::before { display: none; }
	#case .category_list ul li a { display: block; padding: 21px 0; width: 100%; color: #000; font-size: 16px; font-weight: 700; letter-spacing: 0.04em; text-align: center; background: #fff; }
	#case .category_list ul li.current a,
	#case .category_list ul li a:hover {margin-left: -1px; padding-left:1px;  color: #fff; background: #000; }
	#case .category_list ul li.current::after { content:''; position: absolute; left: 0; right: 0; bottom: -13px; margin: auto; width: 21px; height: 13px; background: url(../images/contents/case/arrow.svg) no-repeat left top / 100%; }
	#case .category_list ul li a:hover {  color: #fff; background: #000; }
	
	
	#case .case_list .parts { margin-bottom: 130px; }
	#case .case_list .parts .image { width: 62.7%; }
	#case .case_list .parts .image img { width: 100%; }
	#case .case_list .parts .textarea { width: 33%; display: flex; flex-direction: column; }
	#case .case_list .parts .textarea .cate,
	#case .case_detail .cate { margin-bottom: 20px; }
	#case .case_list .parts .textarea .cate span,
	#case .case_detail .cate span { display: inline-block; padding: 6px 15px; color: #fff; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; background: #000; }
	#case .case_list .parts .ttl { font-size: 24px; font-weight: 600; letter-spacing: 0.04em; line-height: 1.5; }
	#case .case_list .parts .txt { margin: 15px 0 35px; font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 1.75; }
	#case .case_list .parts dl { margin-bottom: 14px; justify-content: left; gap: 0 22px; align-items: center; }
	#case .case_list .parts dl dt { width: 5vw; padding: 6px 1px; font-size: 14px; font-weight: 700; letter-spacing: 0; text-align: center; background: #F5F3F0; }
	#case .case_list .parts dl dd {margin-right: -100%; font-size: 16px; font-weight: 500; letter-spacing: 0.04em; }
	#case .case_list .parts .more_btn { margin-top: auto; width: 248px; }

	#case .case_list .parts:nth-of-type(even) .image { order: 2; }
	#case .case_list .parts:nth-of-type(even) .textarea { order: 1; }
	.junbi { margin-bottom: 100px; font-size: 24px; font-weight: 600; letter-spacing: 0.04em; line-height: 1.5; }
	
	/* 詳細 */
	#case .case_detail { margin-top: 120px; }
	#case .case_detail h1 { margin-bottom: 8px; font-size: 36px; font-weight: 600; letter-spacing: 0.04em; line-height: 1.38; }
	#case .case_detail .sub_title { margin-bottom: 50px; font-size: 20px; font-weight: 500; letter-spacing: 0.04em; line-height: 2.1; }
	#case .case_detail .thumbarea { margin-bottom: 100px; }
	#case .case_detail .thumbarea .img { margin-bottom: 20px; }
	#case .case_detail .thumbarea ul { justify-content: left; gap: 0 20px; }
	#case .case_detail .thumbarea ul li { width: calc(25% - 15px); }
	#case .case_detail .thumbarea ul li a { position: relative; }
	#case .case_detail .thumbarea ul li a::before { content:''; position: absolute; bottom: -10px; right: -10px;  width: 40px; height: 40px; background: url(../images/contents/case/plus.svg) no-repeat left top / 100%; z-index: 10; }
	
	#case .case_detail .profile_bx { position: relative; padding: 50px 0; border-top: 1px solid #000; border-bottom: 1px solid #000; box-sizing: border-box; }
	#case .case_detail .profile_bx .prof_ttl { position: absolute; display: inline-block; padding-right: 24px; top: -16px; left: 0; font-size: 30px; font-weight: 400; letter-spacing: 0.04em; background: #fff; }
	#case .case_detail .profile_bx .prof { width: 25%; }
	#case .case_detail .profile_bx .prof img { width: 100%; }
	#case .case_detail .profile_bx .profile_area { width: calc(79% - 90px); }
	#case .case_detail .profile_bx .profile_area dl { margin-bottom: 20px; display: -webkit-flex;  display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: left; gap: 0 34px; }
	#case .case_detail .profile_bx .profile_area dl dt { padding: 6px 0; width: 140px; font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-align: center; background: #F5F3F0;align-items: center; display: flex; justify-content: center; }
	#case .case_detail .profile_bx .profile_area dl dd { width: calc(75% - 34px); display: flex; align-items: center; font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 2; }
	#case .case_detail .profile_bx .profile_area dl dd a { text-decoration: underline; }
	#case .case_detail .profile_bx .profile_area dl dd a:hover { text-decoration: none; }

	.navigation { margin-bottom: 100px; align-items: center; }
	.navigation .prev,
	.navigation .next { width: 130px; }
	.navigation a { font-size: 16px; font-weight: 700; letter-spacing: 0.08em; }
	.navigation .prev a { position: relative; padding-left: 56px; }
	.navigation .next a { position: relative; padding-right: 56px; }
	.navigation .prev a::before,
	.navigation .next a::before { content:''; position: absolute; top: 4px; width: 41px; height: 9px; }
	.navigation .prev a::before { left: 0; background:url(../images/contents/case/nav_prev.svg) no-repeat left top / 100%; transition: left .3s ease-in-out; }
	.navigation .next a::before { right: 0; background:url(../images/contents/case/nav_next.svg) no-repeat left top  / 100%; transition: right .3s ease-in-out; }
	
	.navigation .prev a:hover,
	.navigation .next a:hover { text-decoration: underline; }
	.navigation .prev a:hover::before { left: -9px; }
	.navigation .next a:hover::before { right: -9px; }

	.navigation .backbtn { width: 170px; }
	.navigation .backbtn a { display: block; padding: 20px 0; border: 1px solid #000; width: 100%; text-align: center; }
	.navigation .backbtn a:hover { color: #fff; background: #000; }
	
	#case .related { padding: 80px 0 100px; background: #F5F3F0; }
	#case .related h2 { font-size: 46px; font-weight: 400; letter-spacing: 0.04em; }
	#case .related .sbttl { margin: 14px 0 40px; font-size: 18px; font-weight: 600; letter-spacing: 0.08em; }
	
	#case .related .parts .img { width: 62.7%; }
	#case .related .parts .img img { width: 100%; }
	#case .related .parts .textarea { width: 33%; display: flex; flex-direction: column; }
	#case .related .parts .textarea .cate { margin-bottom: 20px; }
	#case .related .parts .textarea .cate span { display: inline-block; padding: 6px 15px; color: #fff; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; background: #000; }
	#case .related .parts .ttl { font-size: 24px; font-weight: 600; letter-spacing: 0.04em; line-height: 1.5; }
	#case .related .parts .txt { margin: 15px 0 35px; font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 1.75; }
	#case .related .parts dl { margin-bottom: 14px; justify-content: left; gap: 0 22px; align-items: center; }
	#case .related .parts dl dt { padding: 6px 0; width: 24%; font-size: 14px; font-weight: 700; letter-spacing: 0; text-align: center; background: #fff; }
	#case .related .parts dl dd { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; }
	#case .related .parts .more_btn { margin-top: auto; width: 248px; }
	#case .related .parts .more_btn a { background: url(../images/contents/common/footer_arrow02.svg) #fff no-repeat right 20px center / 21px; }
	#case .related .parts .more_btn a:hover { color: #fff; background: url(../images/contents/common/footer_arrow.svg) #000 no-repeat right 20px center / 21px; }
	
/*------------------------------------------------------
 - FAQ よくあるご質問
--------------------------------------------------------*/
	#faq { padding-top: 90px; }
	.faq_wrapper .titlearea { display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 5; background: #F5F3F0; height: 244px; }
	.faq_wrapper .en,
	.faq_wrapper h1 { letter-spacing: 0.12em; text-align: center; }
	.faq_wrapper .en { margin-bottom: 15px; font-size: 18px; font-weight: 400; }
	.faq_wrapper h1 { font-size: 38px; font-weight: 600; }

	#faq .faq_category {  margin-top: 87px; }
	#faq .faq_category ul { margin: 0 auto; justify-content: center; }
	#faq .faq_category ul li { width: 22%; display: flex; }
	#faq .faq_category ul li a { position: relative; display: block; padding: 20px 30px; box-sizing: border-box; width: 100%; border: 1px solid #000; font-size: 16px; font-weight: 700; letter-spacing: 0; text-align: center; }
	#faq .faq_category ul li:first-child a,
	#faq .faq_category ul li:nth-child(2) a  { border-right: 0; }
	#faq .faq_category ul li a::after { content:''; position: absolute; top: 0; bottom: 0; right: 19px; margin: auto; width: 13px; height: 8px; background: url(../images/contents/common/arrow_tri.svg) no-repeat left top / 100%; }
	#faq .faq_category ul li a:hover { color: #fff; background: #000; }
	#faq .faq_category ul li a:hover::after { background-image: url(../images/contents/common/arrow_tri_white.svg); }
	#faq .sec01 { padding: 120px 0; }
	#faq .sec01:nth-of-type(even) { background: #F5F3F0; }
	#faq .sec01 h2 { padding: 15px 0 10px 24px; width: max-content; height: 56px; box-sizing: border-box; font-size: 26px; font-weight: 600; border-left: 4px solid #000; }
	#faq .accordion { width: calc(50% + 217px); }
	#faq .accordion .ques { border-bottom: 1px solid #000; }
	#faq .accordion .ques:first-child { border-top: 1px solid #000; }
	
	.accordion .toggle { display: none; }
	.accordion .Label { display: block; position: relative; padding: 42px 0 30px 70px; width: 100%; cursor: pointer; font-size: 16px; font-weight: 700; line-height: 1.6; letter-spacing: 0.04em; box-sizing: border-box; }
	.accordion .Label::after{ content:""; position: absolute; top: 35px; right: 0; width: 40px; height: 40px; background: url(../images/contents/common/plus.svg) no-repeat left top / 100%; }
	.accordion .Label::before{ content:""; position: absolute; top: 36px; left: 20px; width: 23px; height: 34px; background: url(../images/contents/faq/q.png) no-repeat left top / 100%; }
	.accordion .Label,
	.accordion .answer { -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s; }
	.accordion .answer { position: relative; padding: 0 0 0 70px; height: 0; margin-bottom:10px; box-sizing: border-box; overflow: hidden; font-size: 16px; font-weight: 500; line-height: 2; letter-spacing: 0.04em; }
	.accordion .answer::before { content:""; position: absolute; top: 19px; left: 20px; width: 20px; height: 34px; background: url(../images/contents/faq/a.png) no-repeat left top / 100%; }
	.accordion .toggle:checked + .Label + .answer { height: auto; padding:20px 20px 20px 70px; transition: all .3s; }
	.accordion .toggle:checked + .Label::after { background: url(../images/contents/common/minus.svg) no-repeat left top / 100%; }

/*------------------------------------------------------
 - REQUEST 資料請求
--------------------------------------------------------*/
	#request { padding-top: 90px; }
	#request .sec01 { margin: 100px auto 120px;  width: 100%; max-width: 1280px; box-sizing: border-box; border-top: 1px solid #E2E2E2; border-bottom: 1px solid #E2E2E2; }
	#request .sec01 div { padding: 50px 25px; width: 52.2%; box-sizing: border-box; text-align: center; letter-spacing: 0.04em; }
	#request .sec01 .left { width: 45.9%; border-right: 1px solid #E2E2E2; }
	#request .sec01 .left img { height: 372px; }
	#request .sec01 .ttl { margin: 16px 0 22px; font-size: 26px; font-weight: 600; }
	#request .sec01 .txt { font-size: 16px; font-size: 500; line-height: 2; }
	
	#request .sec02 { padding: 96px 0 121px; background: #F5F3F0; }
	#request .sec02 h2 { font-size: 46px; font-weight: 400; letter-spacing: 0.04em; }
	#request .sec02 .ttl { margin: 15px 0 50px; }
	#request .sec02 .txt { font-size: 18px; font-weight: 600; letter-spacing: 0.08em; }
	
	#request .sec02 h3 { margin-bottom: 40px; padding: 8px 0 8px 21px; border-left: 4px solid #000; font-size: 24px; font-weight: 600; letter-spacing: 0.04em; text-align: left; }
	#request .sec02 .req_form { margin-top: 60px; }
	#request .sec02 table { margin-bottom: 100px; }
	#request .sec02 table tr { border-top: 1px solid #C7C7C7; border-bottom: 1px solid #C7C7C7; clear: both; }
	#request .sec02 table tr th{ padding: 33px 0; width: 17.4%; box-sizing: border-box; font-size: 16px; font-weight: 700; letter-spacing: 0.04em; }
	#request .sec02 table tr th span { float: right; }
	#request .sec02 table tr td { padding: 33px 0 33px 60px; }
	#request .sec02 table tr td label span { font-size: 14px; font-weight: 700; letter-spacing: 0.04em; }
	#request .sec02 table tr td input[type="text"] { width: -webkit-fill-available; border: none; padding: 15px; font-size: 16px; font-weight: 500; letter-spacing: 0.04em; }
	#request .sec02 .txt02 { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; }
	#request .sec02 .privacy_bx { margin: 34px 0 80px; padding: 50px; height: 297px; box-sizing: border-box; overflow-y: scroll; background: #fff; }
	#request .sec02 .privacy_bx p { font-size: 14px; font-weight: 500; letter-spacing: 0.04em; line-height: 2.42; }
	
	#request .sec02 .btn { justify-content: center; gap: 0 30px; }
	#request .sec02 .btn .send_btn,
	#request .sec02 .btn .back_btn { cursor: pointer; padding: 19px 0; width: 320px; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-align: center; }
	#request .sec02 .btn .send_btn { border: 1px solid #AA2128; color: #fff; background: url(../images/contents/request/arrow_send.svg) #AA2128 no-repeat right 20px center; }
	#request .sec02 .btn .back_btn { color: #000; border: 1px solid #000; background: url(../images/contents/request/arrow_back.svg) #fff no-repeat left 20px center; }
	#request .sec02 .btn .send_btn:hover,
    #request .sec02 .btn .back_btn:hover { opacity: 0.8; }
    .mw_wp_form .error { margin-top: 10px; }
    
    #request .sec03 { margin: 0 auto 100px; }
	#request .sec03 .more_btn { margin: 0 auto; width: 450px; }




	
/*--------------------------
 - schedule 納品までのスケジュール
----------------------------*/
	#schedule { padding-top: 90px; }
	#schedule .mv_wrapper .titlearea {  }
	#schedule .mv_wrapper .titlearea::before { background: url(../images/contents/schedule/mv.webp) no-repeat center top / cover; }
	#schedule .sec01 { padding: 0 0 100px; font-size: 18px; letter-spacing: 0.04em; line-height: 2.22; text-align: center; }
	#schedule .sec01 p { font-weight: 600;}
	#schedule .sec02 { padding-bottom: 125px; padding-top: 205px; background: #F5F3F0; }
	#schedule .sec02 .list.flex { margin-bottom: 40px; }
	#schedule .sec02 .list.flex p { width: 42.37%; }
	#schedule .inner_wrap { position: relative; }
	#schedule .sec02 .ttl { margin-bottom: 0.521vw; font-size: 22px; font-weight: 600; letter-spacing: 0; }
	#schedule .sec02 .txt { font-size:16px; font-weight: 500; letter-spacing: 0.04em; line-height: 2; }
	#schedule .sec02 .tac { position: relative; padding-bottom: 275px; }
	#schedule .sec02 .tac .border { margin-left: -4px; }
	#schedule .sec02 .tac .step { position: absolute; top: 0; left: 0; right: 0; margin: auto; z-index: 5; }
	#schedule .sec02 .step01,
	#schedule .sec02 .step02,
	#schedule .sec02 .step03,
	#schedule .sec02 .step04,
	#schedule .sec02 .step05,
	#schedule .sec02 .step06,
	#schedule .sec02 .step07,
	#schedule .sec02 .step08,
	#schedule .sec02 .step09,
	#schedule .sec02 .step10 { position: absolute; padding: 32px 40px; width: 42.37%; box-sizing: border-box; background: #fff; }
	#schedule .sec02 .step01 { top: 105px; left: 0; }
	#schedule .sec02 .step02 { top: 353px; left: 0; }
	#schedule .sec02 .step03 { top: 385px; right: 0; }
	#schedule .sec02 .step04 { margin: 0 auto; top: 659px; left: 0; right: 0; padding-top: 65px; width: 76.94%; z-index: 1; text-align: center; }
	#schedule .sec02 .step05 { top: 907px; right: 0; }
	#schedule .sec02 .step06 { top: 1137px; left: 0; }
	#schedule .sec02 .step07 { top: 1353px; left: 0; }
	#schedule .sec02 .step08 { top: 1715px; left: 0; }
	#schedule .sec02 .step09 { margin: 0 auto; top: 1982px; left: 0; right: 0; padding-top: 65px; width: 76.94%; z-index: 1; text-align: center; }
	#schedule .sec02 .step10 { margin: 0 auto; top: 2353px; left: 0; right: 0; padding-top: 65px; width: 76.94%; z-index: 1; text-align: center; }
	#schedule .sec02 .step07 .bx { margin-top: 20px; padding: 30px 60px 30px 40px; background: #F5F3F0; align-items: center; }
	#schedule .sec02 .step07 .bx .ttl { font-size: 18px; }
	#schedule .sec02 .step07 .bx li { font-weight: 700; letter-spacing: 0.04em; }
	#schedule .sec02 .step07 .bx li + li { margin-top: 10px; }
	#schedule .sec02 .step10 .more_btn { margin: 30px auto 0; width: 288px; }
	#schedule .sec02 .txt01 { padding-bottom: 15px; font-size: 16px; font-weight: 500; letter-spacing: 0.04em; text-align: center; }


/*--------------------------
 - maintenance 保守メンテナンス
----------------------------*/
	#maintenance { padding-top: 90px; }
	#maintenance .mv_wrapper .titlearea {  }
	#maintenance .mv_wrapper .titlearea::before { background: url(../images/contents/maintenance/mv.webp) no-repeat center top / cover; }
	#maintenance .sec01 { text-align: center; }
	#maintenance .titlearea h2 { margin-bottom: 10px; font-size: 46px; font-weight: 400; letter-spacing: 0.04em; }
	#maintenance .titlearea .ttl,
	#maintenance .titlearea .txt { font-size: 18px; font-weight: 600; letter-spacing: 0.08em; }
	#maintenance .titlearea .txt { margin: 50px 0; }
	#maintenance .sec01 .tar { margin-top: 24px; font-size: 14px; font-weight: 500; letter-spacing: 0; }
	#maintenance .sec02 { margin: 140px 0 100px; text-align: center; }
	#maintenance .sec02 .titlearea .txt { line-height: 2.22; }
	#maintenance .sec02 .plan { position: relative; display: grid; padding: 40px 0; border-top: 1px solid #000; box-sizing: border-box; grid-template-columns: 306px 1fr; grid-template-rows: 114px 1fr; }
	#maintenance .sec02 .plan .img { width: 306px; grid-row: 1 / 3; grid-column: 1 / 2; }
	#maintenance .sec02 .plan .num,
	#maintenance .sec02 .plan .txt { margin-left: 50px; }
	#maintenance .sec02 .plan .num { margin-top: 42px; font-size: 26px; font-weight: 600; letter-spacing: 0.08em; text-align: left; grid-row: 1 / 2; grid-column: 2 / 3;  }
	#maintenance .sec02 .plan .num span { display: inline-block; padding: 6px 0; width: 35px; color: #fff; font-size: 22px; font-weight: 500; letter-spacing: 0; text-align: center; background: #000; margin-right: 34px; }
	#maintenance .sec02 .plan .txt { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 2; text-align: left; grid-row: 2 / 3; grid-column: 2 / 3; }
	#maintenance .sec02 .plan01::after,
	#maintenance .sec02 .plan02::after { content:''; position: absolute; bottom: -24px; left: 0; right: 0; margin: 0 auto; width : 69px; height: 24px; background: url(../images/contents/maintenance/arrow.svg) no-repeat left top / 100%; }
	#maintenance .sec02 .plan03 { padding-bottom: 40px; border-bottom: 1px solid #000; }
	#maintenance .sec03 { margin-bottom: 100px; }
	#maintenance .sec03 .inner_wrap { padding: 50px 60px; background: #F5F3F0; box-sizing: border-box; }
	#maintenance h3 { margin-bottom: 75px; text-align: center; }
	#maintenance h3 span { position: relative; font-size: 30px; font-weight: 600; letter-spacing: 0; }
	#maintenance h3 span::before { content:''; position: absolute; top: 63px; left: 0; right: 0; margin: 0 auto; width: 100px; height: 1px; background: #000; }
	#maintenance .sec03 .flex > div { width: 47.2%; }
	#maintenance .sec03 .flex .img { margin-bottom: 20px; }
	#maintenance .sec03 .flex p { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 2; }
	#maintenance .sec03 .left .img { position: relative; }
	#maintenance .sec03 .left .img::after { content:''; position: absolute; top: 0; bottom: 0; right: -45px; margin: auto; width: 17px; height: 32px; background: url(../images/contents/maintenance/arrow02.svg) no-repeat left top / 100%; }
	#maintenance .sec03 .kome { margin-top: 35px; font-size: 14px; font-weight: 400; letter-spacing: 0; text-align: center; }
	#maintenance .sec04 { margin-bottom: 80px; }
	#maintenance .sec04 li { margin-top: 5px; font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 2.25; }
	#maintenance .sec05 { padding: 80px 0; background: #F5F3F0; }
	#maintenance .sec05 .titlearea { margin-bottom: 60px; text-align: center; }
	#maintenance .sec05 .box { width: 50%; }
	#maintenance .sec05 .img { width: 43.2%; }
	#maintenance .sec05 .flex { margin-bottom: 60px; }
	#maintenance .sec05 .ttl { margin-bottom: 25px; font-size: 26px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.76; }
	#maintenance .sec05 .txt { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 2.25; }
	#maintenance .sec05 .kome { margin-top: 40px; font-size: 14px; font-weight: 700; letter-spacing: 0.04em; }
	#maintenance .sec05 .kome02 { margin: 10px 0 0 1em; font-size: 14px; font-weight: 500; letter-spacing: 0.04em; line-height: 2.14; }
	#maintenance .sec05 .more_btn { margin: 0 auto; width: 288px;background: #fff; }
	

/*--------------------------
 - spec / price 住箱の仕様と価格
----------------------------*/
	#spec { padding-top: 90px; }
	#spec .mv_wrapper .titlearea {  }
	#spec .mv_wrapper .titlearea::before { background: url(../images/contents/spec/mv.webp) no-repeat center top / cover; }
	#spec .ttlarea { text-align: center; }
	#spec .ttlarea h2 { margin-bottom: 11px; font-size: 46px; font-weight: 400; letter-spacing: 0.04em; }
	#spec .ttlarea p { font-size: 18px; font-weight: 600; letter-spacing: 0.08em; }
	
	#spec .sec01 { margin-bottom: 120px; }
	#spec .sec01 .ttlarea { margin-bottom: 70px; }
	#spec .sec01 .left { width: calc( 50% - 70px); }
	#spec .sec01 .bx { padding: 21px 0; box-sizing: border-box; border-top: 1px solid #000; display: grid; grid-template-columns: 144px 96px 1fr; /*grid-template-rows: repeat(2, 1fr);*/ grid-column-gap: 18px; grid-row-gap: 20px; }
	#spec .sec01 .bx:last-of-type { border-bottom: 1px solid #000; }
	#spec .sec01 .bx .item01 { grid-area: 1 / 1 / 3 / 2; font-size: 16px; font-weight: 700; letter-spacing: 0; text-align: center; place-content: center; }
	#spec .sec01 .bx .item02 { grid-area: 1 / 2 / 2 / 3; }
	#spec .sec01 .bx .item03 { grid-area: 2 / 2 / 3 / 3; }
	#spec .sec01 .bx .item04 { grid-area: 1 / 3 / 2 / 4; }
	#spec .sec01 .bx .item05 { grid-area: 2 / 3 / 3 / 4; }
	
	#spec .sec01 .bx .item02,
	#spec .sec01 .bx .item03 { font-size: 14px; font-weight: 700; letter-spacing: 0; text-align: center; background: #F5F3F0; place-content: center; display: grid; }
	#spec .sec01 .bx .item04,
    #spec .sec01 .bx .item05 { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 1.75; }
	#spec .sec01 .bx span { font-size: 14px; font-weight: 500; }
	
	#spec .sec01 .img { width: 44.8%; }
	
	#spec .sec02 { margin-bottom: 90px; }
	#spec .sec02 .swiper { margin-bottom: 120px; }
	#spec .sec02 .swiper-wrapper { -webkit-transition-timing-function: linear; transition-timing-function: linear; }
	#spec .sec02 .ttl { margin-bottom: 36px; font-size: 26px; font-weight: 600; letter-spacing: 0.08em; }
	#spec .sec02 .txt { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 2.625; text-align: center; }
	
	#spec .sec03 .tabs input[name="tab_item"] { display: none; }
	#spec .sec03 .tabs .tab_item { float: left; display: block;  padding: 30px 0; width: 27.18%; background: #fff; color: #000; border: 1px solid #000; border-bottom: none; cursor: pointer; font-size: 18px; font-weight: 700; letter-spacing: 0.04em; text-align: center; }
	#spec .sec03 .tabs .tab_item:first-of-type { margin-left: 22.8%; }
	#spec .sec03 .tabs .tab_item:last-of-type { margin-right: 21.8%; }
	
	#spec .sec03 .tabs input:checked + .tab_item { background-color: #000; color: #fff; position: relative; }
	#spec .sec03 .tab_contents { padding-top: 105px; border-top: 1px solid #000; clear: both; }
	#spec .sec03 .tab_content { visibility: hidden;
  height: 0;  overflow: hidden; }
	#normal:checked ~ .tab_contents #normal_content,
	#long:checked ~ .tab_contents #long_content { visibility: visible;
  height: auto; }	
	
	#spec .sec03 .tab_content .ttl { margin-bottom: 30px; font-size: 38px; font-weight: 600; letter-spacing: 0.08em; }
	#spec .sec03 .tab_content .txt { margin-bottom: 50px; font-size: 18px; font-weight: 600; letter-spacing: 0.08em; }
	
	#spec .sec03 .swiper00 { margin: 50px auto 150px; width: 100%; max-width: 1100px;  position: relative; }
	#spec .sec03 .swiper00 .swiper-wrapper { margin-left: -35.3%; }
	#spec .sec03 .swiper-slide { width: 350px; height: 612px; transition: .7s; }
	#spec .sec03 .swiper-slide .img { position: absolute; top: 50%; transform: translateY(-50%); }
	#spec .sec03 .swiper-slide img { height: auto; width: 100%; }
	#spec .sec03 .swiper-slide-active {  width: 100% !important; z-index: 1; }
	#spec .sec03 .swiper-slide .sub { opacity: 0; position: absolute; bottom: 0; right: 0; padding: 12px 25px; color: #fff; font-size: 18px; font-weight: 700; letter-spacing: 0.04em; background: #000;  }
	#spec .sec03 .swiper-slide-active .sub { opacity: 1; }
	#spec .sec03 .swiper-button-next,
	#spec .sec03 .swiper-button-prev { width: 58px; }
	#spec .sec03 .swiper-button-next:after,
	#spec .sec03 .swiper-button-prev:after { display: none; }
	#spec .sec03 .swiper-pagination { bottom: -30px; }
	#spec .sec03 .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
	#spec .sec03 .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 20px; }
	#spec .sec03 .swiper-pagination-bullet { border-radius: 0; background-color: #000; height: 8px; width: 21%; }
	
	
	#spec .sec03 .inner_wrap { align-items: center; }
	#spec .sec03 .inner_wrap .img { width: 50%; }
	#spec .sec03 .inner_wrap .txt { width: calc( 50% - 60px); font-size: 16px; font-weight: 500; line-height: 2.625; letter-spacing: 0.04em; }
	#spec .sec03 .inner_wrap .txt p + p { margin-top: 20px; }
	#spec .sec03 .inner_wrap .txt span { font-size: 14px; font-weight: 500; }
	
	#spec .sec04 { margin-top: 100px; padding: 95px 0; background: #F5F3F0; }
	#spec .sec04 h2,
	#spec .sec05 h2,
	#spec .sec06 h2 { font-size: 46px; font-weight: 400; letter-spacing: 0.04em; }
	#spec .sec03 .sec04 .txt,
	#spec .sec03 .sec05 .txt,
	#spec .sec06 .txt { width: auto; font-size: 18px; font-weight: 600; letter-spacing: 0.08em; line-height: 2.2; }
	#spec .sec04 ul { gap: 40px 28px; justify-content: center; }
	#spec #long_content ul li:nth-of-type(5) { margin-left: 2px; }
	#spec .sec04 ul li span { display: block; margin-top: 15px; font-size: 16px; letter-spacing: 0.04em; text-align: center; }
	#spec .kakaku { margin-top: 60px; padding: 30px 0; border-top: 1px solid #000; border-bottom: 1px solid #000; justify-content: center; gap: 0 40px; align-items: center; }
	#spec .kakaku p { font-weight: 700; letter-spacing: 0; line-height: 2; text-align: center; }
	#spec .kakaku p span { margin-left: 12px; padding: 4px 20px; font-size: 14px; font-weight: 700; background: #fff; }
	#spec .sec05 .kakaku p span { background: #F5F3F0; }
	#spec .kakaku .plus { font-size: 28px; }
	#spec .kakaku .equal { font-size: 21px; }
	
	#spec .sec05 { padding: 70px 0; }
	#spec .sec05 .ttl01 {}
	#spec .sec05 .ttl02 { margin: 10px 0 40px; font-size: 26px; font-weight: 600; letter-sapcing: 0.04em; }
	
	#spec .sec06 { padding: 70px 0 120px; background: #F5F3F0; }
	#spec .sec06 .inner_wrap { margin-top: -160px; padding-top: 160px; }
	#spec .sec06 .txt { margin-bottom: 50px; line-height: 2.22; }
	#spec .sec06 ul { gap: 40px 29px; justify-content: center; }
	#spec .sec06 ul li span { display: block; margin-top: 15px; font-size: 16px; letter-spacing: 0.04em; text-align: center; }
	
/*----------------------------------
 - 検討されている事業者様へ
------------------------------------*/
	#business { padding-top: 90px; overflow: hidden; }
	#business .mv { padding: 0 5.208vw 0 6.25vw; max-height: 830px; background: #F5F3F0; overflow: hidden; position: relative; }
	#business .mv .flex { align-items: center; justify-content: left; }
	#business .mv::before {display: none; }
	#business .slider_area {  }
	#business .swiper03,
	#business .swiper04 { height: 1020px; }
	#business .swiper03 { position: relative; z-index: 10; }
	#business .swiper04 { position: absolute; top: 0; left: 1356px; width: 460px; }
	#business .mv .swiper-wrapper { -webkit-transition-timing-function: linear; transition-timing-function: linear; }
	#business .mv .mv_textarea { margin-top: -200px; width: 663px; }
	#business .mv .mv_textarea .ttl span { padding: 7px 17px; color: #fff; font-size: 16px; font-weight: 700; letter-spacing: 0.04em; background: #000; }
	#business .mv .mv_textarea h1 { margin: 28px 0 46px; margin-right: -100%; font-size: 44px; font-weight: 600; letter-spacing: 0; line-height: 1.72; }
	#business .mv .mv_textarea .txt { margin-right: -100%; font-size: 18px; font-weight: 600; letter-spacing: 0.04em; line-height: 2.6; }
	#business .bread_wrap { border-bottom: 1px solid #E2E2E2; }
	#business .breadcrumbs { margin-left: 6.25vw; text-align: left; }
	#business .sec01 { margin: 110px auto 0; padding: 78px 0 667px; width: 330px; position: relative; }
	#business .sec01 .f_min { margin-bottom: 50px; font-size: 18px; font-weight: 600; letter-spacing: 0.08em; line-height: 2.22; text-align: center; }
	#business .sec01 .img01,
	#business .sec01 .img02,
	#business .sec01 .img03 { position: absolute; }
	#business .sec01 .img01 { top: 0; left: -656px; }
	#business .sec01 .img02 { top: 100px; right: -697px; }
	#business .sec01 .img03 { top: 641px; left: -502px; }
	
	#business .sec02 { padding: 80px 100px 100px; background: #F5F3F0; }
	#business .ttlarea { margin-bottom: 70px; text-align: center; }
	#business .ttlarea h2 { margin-bottom: 11px; font-size: 46px; font-weight: 400; letter-spacing: 0.04em; }
	#business .ttlarea .ttl0 { font-size: 18px; font-weight: 600; letter-spacing: 0.08em; }

	#business .sec02 .parts { align-items: center; gap: 0 80px; }
	#business .sec02 .parts .img { width: 50%; }
	#business .sec02 .parts .img img { width: 100%; height: 430px; object-position: center; }
	#business .sec02 .parts:nth-of-type(3) .img img { object-position: center; }
	#business .sec02 .parts .txtarea { width: 30%; }

	#business .sec02 .parts:nth-of-type(odd) { justify-content: left; }
	#business .sec02 .parts:nth-of-type(even) { justify-content: right; }
	#business .sec02 .parts:nth-of-type(even) .img { order: 2; }
	#business .sec02 .parts:nth-of-type(even) .img img { object-position: left;  }
	#business .sec02 .parts:nth-of-type(even) .txtarea { order: 1; }

	#business .sec02 .num { margin-bottom: 15px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; }
	#business .sec02 .num span { font-size: 42px; font-weight: 400; }
	#business .sec02 .ttl { margin-bottom: 20px; font-size: 26px; font-weight: 600; letter-spacing: 0.04em; }
	#business .sec02 .txt { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 2.625; }

	#business .sec03 { padding: 80px 0 120px; }
	#business .sec03 .flex p { width: 48%; }
	#business .sec03 .normal { margin-bottom: 90px; }
	#business .sec03 .ttl_border { margin-bottom: 40px; }
	#business .sec03 .txt { margin-top: 50px; font-size: 16px; font-weight: 500; letter-spacing: 0.04em; line-height: 2.625; }
	
	#business .sec04 { margin: 0 100px 110px; }
	#business .sec04 .bnr { width: calc( 33% - 12px); }
	
	#business .sec05 { margin-bottom: 100px; }
	#business .sec05 .inner_wrap { margin-bottom: 60px; }
	#business .sec05 .inner_wrap .parts { width: calc( 50% - 26px); }
	#business .sec05 .inner_wrap .parts .image img { width: 100%; height: 368px; }
	#business .sec05 .inner_wrap .parts .textarea { margin-top: 22px; }
	#business .sec05 .inner_wrap .parts .textarea .cate { margin-bottom: 18px; }
	#business .sec05 .inner_wrap .parts .textarea .cate span { display: inline-block; padding: 6px 15px 3px; color: #fff; font-size: 14px; font-weight: 700; letter-spacing:0.08em; background: #000; }
	#business .sec05 .inner_wrap .parts .textarea .ttl { font-size: 22px; font-weight: 600; letter-spacing: 0.04em; line-height: 1.54; }
	#business .sec05 .inner_wrap .parts .textarea .txt { margin: 12px 0 30px; font-size: 14px; letter-spacing: 0.04em; }
	#business .sec05 .inner_wrap .parts .textarea dl { margin-bottom: 14px; justify-content: left; gap: 0 22px; align-items: center; }
	#business .sec05 .inner_wrap .parts .textarea dl dt { padding: 6px 0; width: 96px; font-size: 14px; font-weight: 700; letter-spacing: 0; text-align: center; background: #F5F3F0; }
	#business .sec05 .inner_wrap .parts .textarea dl dd { font-size: 16px; font-weight: 500; letter-spacing: 0.04em; }
	#business .sec05 .more_btn { margin: 0 auto; width: 248px; }
	
	#business .sec06 { padding: 80px 0 140px; background: #F5F3F0; }
	#business .sec06 .parts { width: calc( 33% - 20px); letter-spacing: 0.04em; display: flex; flex-direction: column; }
	#business .sec06 .parts .num { margin-bottom: 15px; font-size: 12px; font-weight: 600; }
	#business .sec06 .parts .num span { padding-left: 8px; font-size: 22px; font-weight: 400; }
	#business .sec06 .parts .ttl { margin: 22px 0 15px; font-size: 22px; font-weight: 600; }
	#business .sec06 .parts .txt { margin-bottom: 50px; font-size: 16px; font-weight: 500; line-height: 2; }
	#business .sec06 .parts .more_btn { margin-top: auto; }
	#business .sec06 .parts .more_btn a { width: 248px; background: url(../images/contents/common/footer_arrow02.svg) no-repeat #fff right 20px center / 21px; }
	#business .sec06 .parts .more_btn a:hover { color: #fff; background: url(../images/contents/common/footer_arrow.svg) no-repeat #000 right 20px center / 21px; }



}

@media (max-width: 1919px) and (min-width: 920px) {
  #top .sec04 .inner .right .sub_txt { font-size: 2.135vw; }
  #top .sec04 .inner .right { padding-top: 26px; width: 36.4%; }
  #top .sec04 .inner .map { max-width: 55.9%; }
  #top .sec04 .inner .right ul { gap: 30px 0; } 
  #top .sec04 .inner .right ul li { width: 43.5%; }

}
@media (min-width: 920px) and (max-width: 1305px) {
	#business .swiper04 { display: none; }
	#business .mv .mv_textarea { width: 55.4%; }
	#business .mv .flex { align-items: center; justify-content: space-between; }
}
@media (min-width: 920px) and (max-width: 1280px) {
	#story .sec01 .block02 .txtarea { margin: 0; width: 50%; }
	#story .sec01 .block02 .txtarea h3 { white-space: wrap; }
	#business .mv {  }
	#business .slider_area { width: 41%; }
	#business .sec02 .parts .txtarea { width: calc(50% - 80px); }
}
@media (min-width: 920px) and (max-width: 1201px) {
	#business .mv { padding-right: 0; padding-left: 0; }
	#business .swiper03 {
        width: 40%;
    }
    #business .mv .mv_textarea .txt {margin-right: 0;}
    #business .mv .mv_textarea .txt br.pc { display: none !important; }

}
@media (min-width: 920px) and (max-width: 960px) {
	#business .mv .mv_textarea .ttl span { padding: 7px 1px; }
}



/*SP用*/
@media screen and (max-width:919px) {

	.pc { display: none !important }
	.sp { display: block !important }
	img { max-width: 100%; height: auto; width: auto; }
	body { min-width: auto !important; overflow: inherit !important; }
	.sp_tac { text-align: center !important; }
	.sp_tar { text-align: right !important; }
	.sp_mb15 { margin-bottom: 15px !important; }
	.sp_mb20 { margin-bottom: 20px !important; }
	.sp_mb30 { margin-bottom: 30px !important; }
	.sp_mb40 { margin-bottom: 40px !important; }
	.sp_mb45 { margin-bottom: 45px !important; }
	.sp_mb50 { margin-bottom: 50px !important; }
	.sp_mb60 { margin-bottom: 60px !important; }
	.sp_mb70 { margin-bottom: 70px !important; }
	.sp_mb80 { margin-bottom: 80px !important; }
	.sp_mb90 { margin-bottom: 90px !important; }
	.sp_mb100 { margin-bottom: 100px !important; }
	div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }

	/* メインの日本語フォント 太字 */
	.f_min_bold { font-weight: 700; }
	.f_hira_bold { font-weight: 700; }
	.f_gothic_bold { font-weight: 700; }
	.f_hirago_bold { font-weight: 700; }
	

/*--------------------------
フロントページ
----------------------------*/


h3 { margin-bottom: 1.208vw; font-size: 7.005vw; }
.sub_txt { font-size: 3.623vw; }

.more_btn a { padding: 4.106vw; border: 0.121vw solid #000; font-size: 3.14vw; background: url(../images/contents/common/footer_arrow02.svg) no-repeat right 3.14vw top 4.4vw / 3.865vw; }
.more_btn.white_btn a { border: 0.121vw solid #fff; }
.more_btn a:hover { background: url(../images/contents/common/footer_arrow.svg) #000 no-repeat right 3.14vw top 4.4vw / 3.865vw; }
.more_btn.white_btn a { border: 0.121vw solid #fff; background: url(../images/contents/common/footer_arrow.svg) no-repeat right 3.14vw top 4.4vw / 3.865vw; }
.more_btn.white_btn a:hover { background: url(../images/contents/common/footer_arrow02.svg) #fff no-repeat right 3.14vw top 4.4vw / 3.865vw; }

.mv { position: relative; padding: 20.773vw 0 0; }
.mv::before { height: 61.957vw; }
.mv .inner { position: relative; z-index: 100; }
.mv .inner .sub_slide { width: 10.8%; }
.mv .inner .main_slide { width: 89.1%; position: relative; }
.mv .inner .main_slide .mv_text { bottom: 17vw; left: 3.019vw; }
.mv .inner .main_slide .mv_text h1 { margin-bottom: 2.899vw; font-size: 8.333vw; line-height: 1.3; letter-spacing: 0.02em; }
.mv .inner .main_slide .mv_text a { padding-right: 9.662vw; font-size: 3.382vw; background: url(../images/contents/top/mv_arrow.webp) no-repeat right top 5px / 7.971vw; }

.slider-dots { left: -12.6%; bottom: 0;}
.slider-dots li { margin-bottom:10px; }
.slider-dots button { width: 7.005vw; height: 7.005vw; margin: 0 1.208vw; }

.slider-dots button .slider-inner-dot { top: calc(50% - 2vw); left: calc(50% - 1.5vw); width: 2.899vw; height: 2.899vw; }
.slider-dots button .slider-inner-dot::after { font-size: 2.899vw; }


#top .sec01 { margin: 10.87vw 0; }
#top .sec01 h1 { gap: 0 2.174vw; font-size: 12.923vw; }
#top .sec01 h1 p { padding: 1vw 0 0 0.604vw; font-size: 5.193vw; }
#top .sec01 h1 p span { padding: 3.019vw 0 0 1.208vw; font-size: 2.536vw; }
#top .sec01 .txt { padding: 4.831vw 0 7.246vw; font-size: 3.623vw; line-height: 2; }

/* --- scroll --- */
.scroll_line { height: 12.077vw; }

#top .sec01 .sec01_slider { margin-top: 7.246vw; }
#top .sec01 .sec01_slider .slider02_nav { margin: 3.623vw 3.623vw 0; width: auto; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum { margin-left: 1.932vw; width: 23.4% !important; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum:first-of-type { margin-left: 0; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum p { margin-top: 1.812vw; font-size: 2.5vw; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum p span { font-size: 2.15vw; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum img { width: 21.739vw; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum .thumb { position: relative; }
#top .sec01 .sec01_slider .slider02_nav .slide_thum .thumb::before { content:''; position: absolute; top:0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.5); }
#top .sec01 .sec01_slider .slider02_nav .slide_thum.slick-current .thumb::before { display:none; }




#top .sec02 { margin: 12.077vw 3.623vw; }
#top .sec02 .sub_txt { margin-bottom: 6.039vw; }
#top .sec02 .block { margin-bottom: 7.246vw; display: block; }
#top .sec02 .block a { margin-bottom: 6.039vw; width: 100%; }
#top .sec02 .block a:last-of-type { margin-bottom: 0; }
#top .sec02 .block a .ttl { padding: 5vw 0 3vw; font-size: 3.623vw; }
#top .sec02 .block a:nth-of-type(3) .ttl { letter-spacing: 0.02em; }
#top .sec02 .block a .sb_ttl { font-size: 3.14vw; }
#top .sec02 .more_btn a { width: 73.671vw; }
#top .sec02 .bnr { margin: 12.077vw 3.623vw 0; padding: 7.971vw 0 6.522vw; width: auto; background: url(../images/contents/top/sp/sec02_bg.webp) no-repeat center top / 100%; }
#top .sec02 .bnr h4 { font-size: 5.314vw; line-height: 1; }
#top .sec02 .bnr .sub_en_txt { padding: 2.415vw 0 4.831vw; font-size: 3.14vw; }
#top .sec02 .bnr .more_btn a { padding: 2.415vw; width: 53.14vw; font-size: 2.9vw; }

#top .sec03 { margin: 0 3.623vw 13.285vw; }
#top .sec03 .sec03_grid { margin: 6.039vw 0 13.285vw; display: block; }
#top .sec03 .sec03_grid li { max-height: 38.647vw; margin-bottom: 1.208vw; }
#top .sec03 .sec03_grid li a .text_area .f_garamond { margin-bottom: 2.415vw; font-size: 3.14vw;　letter-spacing: 0.2em; }
#top .sec03 .sec03_grid li a .text_area .f_min { font-size: 4.831vw; white-space: nowrap; }
#top .sec03 .sec03_grid li a::after { right: 2.899vw; bottom: 3.019vw; width: 4.348vw; height: 1.932vw; }
#top .sec03 .bnr { max-width: initial; margin: 0; }


#top .sec04 { position: relative; padding: 10.87vw 0 12.077vw; background: none; }
#top .sec04:before { height: 61.353vw; }
#top .sec04 .inner { margin: 0 3.623vw; width: auto; max-width: initial; }
#top .sec04 .inner .right { margin-bottom: 10.87vw; padding-top: 0; width: 100%; }
#top .sec04 .inner .right h3 { margin: 2.415vw 0 3.623vw; font-size: 3.382vw; }
#top .sec04 .inner .right .sub_txt { font-size: 6.522vw; line-height: 1.2; }
#top .sec04 .inner .right .sub_txt span { font-size: 8.454vw; }
#top .sec04 .inner .right .txt { margin-bottom: 15.942vw; font-size: 4.106vw; line-height: 1.58; }
#top .sec04 .inner .right ul { gap: 0 5.797vw; }
#top .sec04 .inner .right ul li { /*width: 43.478vw; */ width: 46%; }
#top .sec04 .inner .right ul li a {  padding: 6.763vw 0 3.865vw 9.179vw; border-bottom: 0.121vw solid #000; font-size: 3.14vw; }
#top .sec04 .inner .right ul li a::before { top: 5.8vw; left: 3.623vw; width: 2.778vw; height: 3.986vw; }
#top .sec04 .inner .right ul li a::after { top: 7vw; right: 1.744vw; width: 3.261vw; height: 1.449vw; }
#top .sec04 .inner .right ul li a:hover::after { right: 0.32vw; }
#top .sec04 .inner .map { width: auto; }




	

/* 下層
-------------------------------------------------------*/
	.inner_wrap{ margin: 0 3.623vw; width: auto; max-width: initial; }
	.inner_wrap02 { margin: 0 3.623vw; width: auto; max-width: initial; }
	.mv_wrapper { margin-bottom: 10.87vw; }
	.mv_wrapper::before { height: 61.957vw; }
	.mv_wrapper .titlearea { height: 61.111vw; }
	.mv_wrapper .titlearea::before { width: 96.3%; height: 61.111vw; }
	.mv_wrapper .en { margin-bottom: 2.208vw; font-size: 4.106vw; letter-spacing: 0.04em; }
	.mv_wrapper h1 { font-size: 6.763vw; letter-spacing: 0.08em; }
	
	/* パンくず */
	.breadcrumbs { padding: 3.623vw; margin: 0; width: auto; max-width: initial; text-align: left; }
	.breadcrumbs span { font-size: 3.382vw; }

	/* 404 */
	.not404 { padding-top: 30.155vw; }
	.not404 h2 { margin-bottom: 2.415vw; font-size: 5.556vw; }
	.not404 p { font-size: 3.382vw; }
	.not404 .more_btn { margin: 6.039vw 0 12.077vw; max-width: 100%; }


/*------------------------------------------------------
 - story 隈研吾が語る「住箱」
--------------------------------------------------------*/
	#story { padding-top: 20.773vw; }
	#story .mv_wrapper .titlearea {  }
	#story .mv_wrapper .titlearea::before { background: url(../images/contents/story/sp/mv.webp) no-repeat right top / 100%; }
	
	#story .txt { font-size: 3.382vw; line-height:2.07; }
	#story .sec01 h3 { margin-bottom: 4.831vw; font-size: 4.589vw; line-height: 1.63; }

	#story .sec01 { margin: 0 3.623vw 12.077vw; width: auto; max-width: initial; }
	#story .sec01 h2 { margin-bottom: 10.87vw; font-size: 5.556vw; line-height: 1.6; }
	#story .sec01 .block { margin-bottom: 10.87vw; }
	#story .sec01 .block .txtarea { margin-bottom: 6.039vw; width: 100%; max-width: initial; }
	#story .sec01 .block .img { width: 100%; max-width: initial; }
	#story .sec01 .block .img img { height: auto; }
	#story .sec01 .block02 {  }
	#story .sec01 .block02 .txtarea { margin: 0 0 6.039vw; width: 100%; max-width: initial; order: 1; }
	#story .sec01 .block02 .img { margin-left: 0; width: 100%; order: 2; }
	#story .sec01 .block02 .txtarea p + p { margin-top: 0; }
	#story .sec01 .block02 .img img { height: auto; }
	
	#story .sec02 { padding: 8.454vw 0 9.662vw; }
	#story .sec02::before { width: 100%; height: 240.58vw; }
	#story .sec02 h3 { margin-bottom: 9.783vw; font-size: 5.797vw; line-height: 1.58; }
	#story .sec02 h3::before,
	#story .sec03 h3 span::before { top: 20.29vw; width: 12.077vw; height: 0.242vw; }
	#story .sec02 .txtarea { width: 100%; }
	#story .sec02 .txtarea p + p { margin-top: 0; }
	#story .sec02 .img { margin-right: 0; padding-top: 6.039vw; width: 100%; }
	#story .sec02 .img img { height: auto; }
	
	#story .sec03 { margin: 12.077vw 0 22.464vw; }
	#story .sec03 h3 { margin-bottom: 9.783vw; text-align: left; }
	#story .sec03 h3 span { font-size: 5.797vw; }
	#story .sec03 h3 span::before { top: 11.111vw; margin: 0; right: auto; }
	#story .sec03 .inner_wrap { margin-bottom: 7.246vw; }
	#story .sec03 .img { width: 98.91%; }
	
	#story .profile { margin: 0 3.623vw 12.077vw; padding: 9.662vw 6.039vw 7.246vw 12.077vw; width: auto; }
	#story .profile::before { width: 93.4%; height: 97.222vw; }
	#story .profile .img { top: -15.217vw; width: 46.377vw; }
	#story .profile h3 { margin-left: 40.338vw; font-size: 5.072vw; }
	#story .profile h3 span { display: block; margin: 2.053vw 0 14.976vw 0; font-size: 3.623vw; }
	


/*--------------------------
 - CASE STUDY 導入事例
----------------------------*/
	#case { padding-top:  20.773vw; }
	#case .mv_wrapper .titlearea {  }
	#case .mv_wrapper .titlearea::before { background: url(../images/contents/case/sp/mv.webp) no-repeat center top / cover; }
	#case .category_list { margin-bottom: 8.454vw; }
	#case .category_list ul { border-top: 0.121vw solid #000; border-bottom: 0.121vw solid #000; }
	#case .category_list ul li { position: relative; width: 25%; }
	#case .category_list ul li::before { top: 2.415vw; width: 0.121vw; height: 5.676vw; }
	#case .category_list ul li:first-of-type::before,
	#case .category_list ul li:last-of-type::before { display: none; }
	#case .category_list ul li a { padding: 3.14vw 0; font-size: 3.382vw; }
	#case .category_list ul li.current::after { bottom: -2.778vw; margin: auto; width: 4.348vw; height: 2.778vw; }
	
	#case .case_list .parts { margin-bottom: 8.454vw; }
	#case .case_list .parts .image { margin-bottom: 3.623vw; width:100%; }
	#case .case_list .parts .textarea { width: 100%; }
	#case .case_list .parts .textarea .cate { margin-bottom: 2.415vw; }
	#case .case_list .parts .textarea .cate span { padding: 1.208vw 2.657vw; font-size: 2.899vw; }
	#case .case_list .parts .ttl { font-size: 3.623vw; font-weight: 600; letter-spacing: 0.04em; }
	#case .case_list .parts .txt { margin: 3.019vw 0 3.261vw; font-size: 3.14vw; line-height: 1.23; }
	#case .case_list .parts dl { margin-bottom: 1.691vw; left; gap: 0 2.657vw; }
	#case .case_list .parts dl dt { padding: 0.966vw 0; width: 18.116vw; font-size: 2.899vw; }
	#case .case_list .parts dl dd { margin: 0;font-size: 3.382vw; width: 66vw; }
	#case .case_list .parts .more_btn { margin: 6.039vw auto 0; width: 73.671vw; }

	#case .case_list .parts:nth-of-type(even) .image { order: 1; }
	#case .case_list .parts:nth-of-type(even) .textarea { order: 2; }
	
	
	/* 詳細 */
	#case .case_detail { margin-top: 12.077vw; }
	#case .case_detail h1 { margin-bottom: 1.691vw; font-size: 5.797vw; }
	#case .case_detail .sub_title { margin-bottom: 6.039vw; font-size: 3.865vw; line-height: 2.1; }
	#case .case_detail .thumbarea { margin-bottom: 12.077vw; }
	#case .case_detail .thumbarea .img { margin-bottom: 2.415vw; }
	#case .case_detail .thumbarea ul { gap: 0 1.5vw; }
	#case .case_detail .thumbarea ul li { width: 22vw; }
	#case .case_detail .thumbarea ul li img { width: 100%; }
	#case .case_detail .thumbarea ul li a::before { bottom: -1.208vw; right: -1.208vw; width: 4.831vw; height: 4.831vw; }


	
	#case .case_detail .profile_bx { padding: 9.039vw 0; border-top: 0.242vw solid #000; border-bottom: 0.242vw solid #000; }
	#case .case_detail .profile_bx .prof_ttl { padding-right: 2.899vw; top: -2.932vw; font-size: 5.797vw; }
	#case .case_detail .profile_bx .prof { margin: 0 auto 6.039vw; width: 53.865vw; }
	#case .case_detail .profile_bx .profile_area { width: auto; }
	#case .case_detail .profile_bx .profile_area dl { margin-bottom: 3vw; left; gap: 0 3.019vw; }
	#case .case_detail .profile_bx .profile_area dl dt { padding: 0.966vw 0; width: 20.116vw; font-size: 2.899vw; }
	#case .case_detail .profile_bx .profile_area dl dd { width: 69%; font-size: 3.382vw; }
	#case .case_detail .profile_bx .profile_area dl dd a { font-size: 3.382vw; word-break: break-all; }

	.navigation { margin-bottom: 9.662vw; }
	.navigation .prev,
	.navigation .next { width: 21.135vw; }
	.navigation a { font-size: 3.14vw; }
	.navigation .prev a { padding-left: 7.005vw; }
	.navigation .next a { padding-right: 7.005vw; }
	.navigation .prev a::before,
	.navigation .next a::before { top: 1.483vw; width: 4.348vw; height: 1.932vw; }

	.navigation .backbtn { width: 34.783vw; }
	.navigation .backbtn a { padding: 3.623vw 0; border: 0.121vw solid #000; }
	
	#case .related { padding: 9.662vw 0 12.077vw; }
	#case .related h2 { font-size: 5.556vw; }
	#case .related .sbttl { margin: 1.691vw 0 4.831vw; font-size: 3.623vw; }
	
	#case .related .parts .img { margin-bottom: 3.623vw; width:100%; }
	#case .related .parts .textarea { width: 100%; }
	#case .related .parts .textarea .cate { margin-bottom: 2.415vw; }
	#case .related .parts .textarea .cate span { padding: 1.208vw 2.657vw; font-size: 2.899vw; }
	#case .related .parts .ttl { font-size: 3.623vw; font-weight: 600; letter-spacing: 0.04em; line-height: 1; }
	#case .related .parts .txt { margin: 3.019vw 0 3.261vw; font-size: 3.14vw; line-height: 1.23; }
	#case .related .parts dl { margin-bottom: 1.691vw; left; gap: 0 2.657vw; }
	#case .related .parts dl dt { padding: 0.966vw 0; width: 18.116vw; font-size: 2.899vw; }
	#case .related .parts dl dd { font-size: 3.382vw; }
	#case .related .parts .more_btn { margin: 6.039vw auto 0; width: 73.671vw; }
	
	


/*------------------------------------------------------
 - FAQ よくあるご質問
--------------------------------------------------------*/
	#faq { padding-top: 20.773vw; }
	.faq_wrapper .titlearea { height: 39.614vw; }
	.faq_wrapper .en { margin-bottom: 2.415vw; font-size: 4.106vw; letter-spacing: 0.04em; }
	.faq_wrapper h1 { font-size: 6.763vw; letter-spacing: 0.08em; }

	#faq .faq_category {  margin-top: 10.87vw; }
	#faq .faq_category ul { margin: 0 auto; gap: 0 3.623vw; }
	#faq .faq_category ul li { width: 28.502vw; display: flex; }
	#faq .faq_category ul li a { padding: 4.831vw 0 6.643vw; border: 0.121vw solid #000; font-size: 3.14vw; display: flex; flex-direction: column; justify-content: center; }
	#faq .faq_category ul li:first-child a,
	#faq .faq_category ul li:nth-child(2) a  { border-right: 0.121vw solid #000; }
	#faq .faq_category ul li a::after { top: auto; bottom: 1.812vw; right: 0; left: 0; width: 2.899vw; height: 2.174vw; }
	#faq .sec01 { padding: 20.773vw 0 14.493vw; }
	#faq .sec01 h2 { margin-bottom: 4.831vw; padding: 0.725vw 0 0.725vw 3.261vw; height: auto; font-size: 4.831vw; border-left: 0.604vw solid #000; }
	#faq .accordion { width: 100%; }
	#faq .accordion .ques { border-bottom: 0.242vw solid #000; }
	#faq .accordion .ques:first-child { border-top: 0.242vw solid #000; }
	
	.accordion .Label { padding: 5.072vw 8.454vw 3.261vw; font-size: 3.382vw; }
	.accordion .Label::after{ top: 3.623vw; right: 0; width: 7.246vw; height: 7.246vw; }
	.accordion .Label::before{ top: 4.5vw; left: 2.415vw; width: 3.744vw; height: 5.435vw; }
	.accordion .answer { padding: 0 0 0 8.454vw; margin-bottom:1.208vw; font-size: 3.382vw; }
	.accordion .answer::before { top: 3.623vw; left: 2.657vw; width: 3.261vw; height: 5.435vw; }
	.accordion .toggle:checked + .Label + .answer { padding:2.415vw 2.415vw 2.415vw 8.454vw; }

/*------------------------------------------------------
 - REQUEST 資料請求
--------------------------------------------------------*/
	#request { padding-top: 20.773vw; }
	#request .sec01 { margin: 10.87vw 3.623vw 15.7vw;  width: auto; max-width: initial; border-top: 0.242vw solid #E2E2E2; border-bottom: 0.242vw solid #E2E2E2; }
	#request .sec01 div { padding: 3.623vw 3.019vw 7.488vw; width: 100%; }
	#request .sec01 .left { width: 100%; border-bottom: 0.242vw solid #E2E2E2; border-right: none; }
	#request .sec01 .left img { height: auto; }
	#request .sec01 .ttl { margin: 1.932vw 0 2.657vw; font-size: 4.589vw; }
	#request .sec01 .txt { font-size: 3.382vw; line-height: 1.85; }
	
	#request .sec02 { padding: 11.594vw 0 14.614vw; }
	#request .sec02 h2 { font-size: 7.005vw; }
	#request .sec02 .ttl { margin: 3.14vw 0 6.039vw; }
	#request .sec02 .txt { font-size: 3.623vw; line-height: 1.73; }
	
	#request .sec02 h3 { margin-bottom: 4.831vw; padding: 0.966vw 0 0.966vw 3.14vw; border-left: 0.604vw solid #000; font-size: 4.348vw; }
	#request .sec02 .req_form { margin-top: 7.246vw; }
	#request .sec02 table { margin-bottom: 12.077vw; }
	#request .sec02 table tr { border-top: 0.242vw solid #C7C7C7; border-bottom: 0.242vw solid #C7C7C7; }
	#request .sec02 table tr th{ display: block; padding: 3.986vw 0; width: auto; font-size: 3.382vw; }
	#request .sec02 table tr th span { float: none; padding-left: 2.415vw; }
	#request .sec02 table tr td { display: block; padding: 3.986vw 0; }
	#request .sec02 table tr td label span { font-size: 3.14vw;  }
	#request .sec02 table tr td input[type="text"] { width: 95%; padding: 1.812vw; font-size: 3.382vw; }
	#request .sec02 .txt02 { font-size: 3.382vw; line-height: 1.83; }
	#request .sec02 .privacy_bx { margin: 4.106vw 0 9.662vw; padding: 6.039vw; height: 300px }
	#request .sec02 .privacy_bx p { font-size: 3.14vw; }
	
	#request .sec02 .btn { justify-content: center; gap: 3.623vw 0; }
	#request .sec02 .btn .send_btn,
	#request .sec02 .btn .back_btn { cursor: pointer; padding: 19px 0; width: 320px; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-align: center; }
	#request .sec02 .btn .send_btn { border: 1px solid #AA2128; color: #fff; background: url(../images/contents/request/arrow_send.svg) #AA2128 no-repeat right 20px center; }
	#request .sec02 .btn .back_btn { border: 1px solid #000; background: url(../images/contents/request/arrow_back.svg) #fff no-repeat left 20px center; }
	#request .sec02 .btn .send_btn:hover,
    #request .sec02 .btn .back_btn:hover { opacity: 0.8; }
    .mw_wp_form .error { margin-top: 10px; }
    
    #request .sec03 { margin: 0 3.623vw 12vw; }
	#request .sec03 .more_btn { margin: 0 auto; width: 100%; }




/*--------------------------
 - schedule 納品までのスケジュール
----------------------------*/
	#schedule { padding-top: 20.773vw; }
	#schedule .mv_wrapper .titlearea::before { background: url(../images/contents/schedule/sp/mv.webp) no-repeat right top / 100%; }
	#schedule .sec01 { padding: 0 0 12.077vw; font-size: 3.623vw; }
	#schedule .sec02 { padding-bottom: 15.097vw; padding: 12.077vw 0 0; }
	#schedule .sec02 .owner { margin-bottom: 3.019vw; }
	#schedule .sec02 .owner span { display: inline-block; margin-right: 1.208vw; padding: 1vw 0; width: 22.947vw; color: #fff; font-size: 2.899vw; font-weight: 700; letter-spacing: 0.04em; text-align: center; background: #000; }
	#schedule .sec02 .step01,
	#schedule .sec02 .step02,
	#schedule .sec02 .step03,
	#schedule .sec02 .step04,
	#schedule .sec02 .step05,
	#schedule .sec02 .step06,
	#schedule .sec02 .step07,
	#schedule .sec02 .step08,
	#schedule .sec02 .step09,
	#schedule .sec02 .step10 { margin-left: auto; padding: 2.589vw 4.831vw; width: 77.053vw; left: auto !important; right: 0 !important; box-sizing: border-box; text-align: left !important; background: #fff; }
	#schedule .sec02 .ttl { margin-bottom: 2.415vw; font-size: 4.106vw; }
	#schedule .sec02 .txt { font-size: 3.2vw; line-height: 2.07; }
	#schedule .sec02 .step { position: relative; top: 0; left: 0; padding-bottom: 52.053vw; }
	#schedule .sec02 .step01 { top: 0; }
	#schedule .sec02 .step02 { top: 62.802vw; }
	#schedule .sec02 .step03 { top: 118.357vw; }
	#schedule .sec02 .step04 { top: 165.821vw; }
	#schedule .sec02 .step05 { top: 226.087vw; }
	#schedule .sec02 .step06 { top: 287.56vw; }
	#schedule .sec02 .step07 { top: 343.237vw; }
	#schedule .sec02 .step08 { top: 430.797vw; }
	#schedule .sec02 .step09 { top: 472.705vw; }
	#schedule .sec02 .step10 { top: 534.179vw; }
	#schedule .sec02 .step07 .bx { margin-top: 3.623vw; padding: 3.623vw 6.522vw 3.623vw 4.831vw; }
	#schedule .sec02 .step07 .bx .ttl { font-size: 3.382vw; }
	#schedule .sec02 .step07 .bx li { font-size: 3.14vw; }
	#schedule .sec02 .step07 .bx li + li { margin-top: 2vw; }
	#schedule .sec02 .step10 .more_btn { margin: 3.623vw auto 0; width: 100%; }
	#schedule .sec02 .txt01 { padding-bottom: 18.116vw; margin-left: 1em; text-indent: -1em; font-size: 3.14vw; font-weight: 500; line-height: 1.84; text-align: left; }



/*--------------------------
 - maintenance 保守メンテナンス
----------------------------*/
	#maintenance { padding-top: 20.773vw; }
	#maintenance .mv_wrapper .titlearea::before { background: url(../images/contents/maintenance/sp/mv.webp) no-repeat center top / cover; }
	#maintenance .sec01 { text-align: center; }
	#maintenance .titlearea h2 { margin-bottom: 1.208vw; font-size: 5.556vw; }
	#maintenance .titlearea .ttl,
	#maintenance .titlearea .txt { font-size: 3.14vw; }
	#maintenance .titlearea .txt { margin: 6.039vw 0; line-height: 2.1; }
	#maintenance .tableimg { overflow-x: scroll; }
	#maintenance .tableimg img { height: 79.227vw; max-width: initial; }
	#maintenance .tableimg.tb02 img { height: 140.217vw; max-width: initial; }

	#maintenance .sec01 .tar { margin: 24px 0 0 1rem; font-size: 2.899vw; text-align: left; text-indent: -1rem; }
	#maintenance .sec02 { margin: 14.493vw 0 12.077vw; }
	#maintenance .sec02 .titlearea .txt { line-height: 2.22; }
	#maintenance .sec02 .plan { padding: 7.246vw 0; border-top: 0.242vw solid #000; grid-template-columns: 1fr 49.758vw; grid-template-rows: 34.783vw 1fr; }
	#maintenance .sec02 .plan .img { width: 49.758vw; grid-row: 1 / 3; grid-column: 2 / 2; }
	#maintenance .sec02 .plan .num,
	#maintenance .sec02 .plan .txt { margin-left: 0; }
	#maintenance .sec02 .plan .num { margin-top: 14vw; font-size: 4.589vw; grid-row: 1 / 2; grid-column: 1 / 2;  text-indent: -3rem; margin-left: 3rem; vertical-align: text-bottom; }
	#maintenance .sec02 .plan .num span { position: relative; top: 1vw; vertical-align: sub; padding: 0.725vw 0; width: 6.039vw; font-size: 4.106vw; margin-right: 2.899vw; text-indent: 0; }
	#maintenance .sec02 .plan .txt { padding-top: 3.623vw; font-size: 3.382vw; grid-row: 2 / 3; grid-column: 1 / 3; }
	#maintenance .sec02 .plan01::after,
	#maintenance .sec02 .plan02::after { bottom: -3.623vw; width : 7.729vw; height: 3.623vw; }
	#maintenance .sec02 .plan03 { padding-bottom: 4.831vw; border-bottom: 0.242vw solid #000; }
	#maintenance .sec02 .plan03 .num span { top: -1.5vw; }
	#maintenance .sec03 { margin-bottom: 12.077vw; }
	#maintenance .sec03 .inner_wrap { padding: 6.039vw 7.246vw; }
	#maintenance h3 { margin-bottom: 9.662vw; }
	#maintenance h3 span { font-size: 5.797vw; }
	#maintenance h3 span::before { top: 11.232vw; width: 12.077vw; height: 0.242vw ; background: #000; }
	#maintenance .sec03 .flex > div { margin-bottom: 4vw; width: 100%; }
	#maintenance .sec03 .flex .img { margin-bottom: 2.415vw; }
	#maintenance .sec03 .flex p { font-size: 3.382vw; }
	#maintenance .sec03 .kome { margin: 0 0 0 1rem; font-size: 3.14vw; text-align: left; line-height: 1.625; text-indent: -1rem; }
	#maintenance .sec03 .left { padding-bottom: 5vw; position: relative; }
	#maintenance .sec03 .left::after { content:''; position: absolute; top: auto; bottom: 0; right: 0; left: 0; margin: auto; width: 4.053vw; height: 7.865vw; background: url(../images/contents/maintenance/arrow02.svg) no-repeat left top / 100%;  transform: rotate(90deg); }
	#maintenance .sec03 .left .img::after { display: none; }
	#maintenance .sec04 { margin-bottom: 9.662vw; }
	#maintenance .sec04 li { margin: 2vw 0 0 1rem; font-size: 3.382vw; line-height: 2.07; text-indent: -1rem; }
	#maintenance .sec05 { padding: 9.662vw 0; }
	#maintenance .sec05 .titlearea { margin-bottom: 7.246vw; }
	#maintenance .sec05 .box { width: 100%; order: 2; }
	#maintenance .sec05 .img { width: 100%; order: 1; }
	#maintenance .sec05 .flex { margin-bottom: 7.246vw; }
	#maintenance .sec05 .ttl { margin: 3.019vw 0; font-size: 4.589vw; line-height: 1.76; }
	#maintenance .sec05 .txt { font-size: 3.382vw; line-height: 2.07; }
	#maintenance .sec05 .kome { margin-top: 4.831vw; font-size: 3.14vw; }
	#maintenance .sec05 .kome02 { margin: 10px 0 0 1em; font-size: 3.14vw; }
	#maintenance .sec05 .more_btn { margin: 0 auto; width: 67.391vw; }
	#maintenance .sec05 .more_btn a {  }
	
	
	
/*--------------------------
 - spec / price 住箱の仕様と価格
----------------------------*/
	#spec { padding-top: 20.773vw; }
	#spec .mv_wrapper .titlearea {  }
	#spec .mv_wrapper .titlearea::before { background: url(../images/contents/spec/sp/mv.webp) no-repeat center top / cover; }
	#spec .ttlarea { text-align: center; }
	#spec .ttlarea h2 { margin-bottom: 2.415vw; font-size: 7.005vw; }
	#spec .ttlarea p { font-size: 3.623vw; }
	
	#spec .sec01 { margin-bottom: 9.662vw; }
	#spec .sec01 .ttlarea { margin-bottom: 6.039vw; }
	#spec .sec01 .img { order: 1; margin-bottom: 7.246vw; }
	#spec .sec01 .left { order: 2; width: 100%; }
	#spec .sec01 .bx { padding: 4.831vw 0; border-top: 0.121vw solid #000; grid-template-columns: 24.155vw 18.116vw 1fr; /*grid-template-rows: repeat(2, 1fr);*/ grid-column-gap: 3.14vw; grid-row-gap: 4.831vw; }
	#spec .sec01 .bx:last-of-type { border-bottom: 1px solid #000; }
	#spec .sec01 .bx .item01 { font-size: 3.382vw; line-height: 1.7; }
	
	#spec .sec01 .bx .item02,
	#spec .sec01 .bx .item03 { font-size: 3.14vw; }
	#spec .sec01 .bx .item04,
    #spec .sec01 .bx .item05 { font-size: 3.382vw; line-height: 1.7; }
	#spec .sec01 .bx span { font-size: 3.14vw; }
	#spec .sec01 .img { width: 100%; }
	#spec .sec01 .img img { width: 100%; }

	
	#spec .sec02 { margin-bottom: 14.493vw; }
	#spec .sec02 .swiper { margin-bottom: 9.662vw; }
	#spec .sec02 .ttl { margin-bottom: 4.831vw; font-size: 4.589vw; line-height: 1.63; }
	#spec .sec02 .txt { margin: 0 3.623vw; font-size: 3.382vw;line-height: 2; text-align: left; }
	
	#spec .sec03 .tabs .tab_item { padding: 3.019vw 0; width: 45.437vw;  border: 0.242vw solid #000; border-bottom: none;  font-size: 3.382vw; }
	#spec .sec03 .tabs .tab_item:first-of-type { margin-left: 3.623vw; }
	#spec .sec03 .tabs .tab_item:last-of-type { margin-right: 3.623vw; }
	
	#spec .sec03 .tab_contents { padding-top: 9.662vw; border-top: 0.242vw solid #000; }
	
	#spec .sec03 .tab_content .ttl { margin-bottom: 3.019vw; font-size: 6.039vw; }
	#spec .sec03 .tab_content .txt { margin-bottom: 6.039vw; font-size: 3.623vw; }
	
	#spec .sec03 .swiper00 { margin: 0 auto 16.908vw; max-width: initial; }
	#spec .sec03 .swiper00 .swiper-wrapper { margin-left: 0; }
	#spec .sec03 .swiper-slide { height: auto; }
	#spec .sec03 .swiper-slide img { height: auto; width: 100%; }
	#spec .sec03 .swiper-slide-active {  }
	#spec .sec03 .swiper-slide .img { position: initial; transform: none; }
	#spec .sec03 .swiper-slide .sub { padding: 1.449vw 3.019vw; font-size: 3.623vw; }
	#spec .sec03 .inner_wrap .txt { width: auto; font-size: 3.382vw; line-height: 2; }
	#spec .sec03 .inner_wrap .txt p + p { margin-top: 2.415vw; }
	#spec .sec03 .inner_wrap .txt span { font-size: 3.14vw; margin-left: 1em; text-indent: -1em; }
	#spec .sec03 .swiper-button-next, #spec .sec03 .swiper-button-prev { width: 10.386vw; }
	
	#spec .sec03 .swiper-pagination { bottom: -3.623vw; }
	#spec .sec03 .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
	#spec .sec03 .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 1.812vw; }
	#spec .sec03 .swiper-pagination-bullet { height: 1.449vw; width: 21%; }
	
	#spec .sec03 .inner_wrap .img { width: 100%; }
	
	#spec .sec04 { margin-top: 12.077vw; padding: 11.473vw 0; }
	#spec .sec04 h2,
	#spec .sec05 h2,
	#spec .sec06 h2 { font-size: 7.005vw; }
	#spec .sec04 .txt,
	#spec .sec05 .txt,
	#spec .sec06 .txt { font-size: 3.623vw; line-height: 2; }
	#spec .sec04 ul { gap: 4.831vw 3.382vw; }
	#spec #long_content ul li:nth-of-type(5) { margin-left: 0; }

	#spec .sec04 ul li { width: 44.686vw; }
	#spec .sec04 ul li span { margin-top: 2.415vw; font-size: 3.382vw; line-height: 1.5; }
	
	#spec .kakaku { margin-top: 9.662vw; padding: 0; border: none; }
	#spec .kakaku p { justify-content: left; margin-bottom: 3.623vw; font-size: 3.382vw; text-align: left; align-items:  center; }
	#spec .kakaku p span { margin-left: 0; padding: 0 1.812vw; font-size: 3.14vw; }
	#spec .sec05 .kakaku p span { margin: 0 1vw 0 3vw; background: #F5F3F0; }
	#spec .kakaku p .num,
	#spec .sec05 .kakaku p .num  { margin-left: auto; font-size: 3.382vw; background: none; text-align: right; }
	#spec .kakaku .plus,
	#spec .sec05 .kakaku .plus { margin-right: 3vw; font-size: 3.382vw; background: none; width: 3.986vw; }
	#spec .kakaku .total { border-top: 0.242vw solid #000; padding: 4.831vw 0 0 7.4vw; }
	
	#spec .sec05 { padding: 8.454vw 0; }
	#spec .sec05 .ttl01 { font-size: 3.14vw; }
	#spec .sec05 .ttl02 { margin: 1.812vw 0 4.831vw; font-size: 4.589vw; }
	
	#spec .sec06 { padding: 8.454vw 0 14.493vw; }
	#spec .sec06 .txt { margin-bottom: 6.039vw; font-size: 3.382vw; line-height: 2; }
	#spec .sec06 ul { gap: 4.831vw 3.382vw; }
	#spec .sec06 ul li { width: 44.686vw; }
	#spec .sec06 ul li span { margin-top: 2.415vw; font-size: 3.382vw; line-height: 1.5; }
	

/*----------------------------------
 - 検討されている事業者様へ
------------------------------------*/
	#business { padding-top: 20.773vw; }
	#business .mv { padding: 0; max-height: initial; }
	#business .mv .flex { align-items: center; justify-content: left; }
	#business .swiper03,
	#business .swiper04 { display: none; }
	#business .mv .mv_textarea { margin-top: 0; padding: 6.522vw 3.623vw; width: auto; }
	#business .mv .mv_textarea .ttl span { padding: 1.208vw 2.415vw; font-size: 3.382vw; }
	#business .mv .mv_textarea h1 { margin: 2.899vw 0 4.348vw; font-size: 6.039vw; line-height: 1.56; }
	#business .mv .mv_textarea .txt { margin:0; font-size: 3.623vw; line-height: 2; }
	#business .bread_wrap { border-bottom: 0.242vw solid #E2E2E2; }
	#business .breadcrumbs { margin-left: 3.623vw; text-align: left; }
	
	#business .sec01 { margin: 12.077vw auto; padding: 0; width: auto; }
	#business .sec01 .f_min { margin-bottom: 3.623vw; font-size: 3.623vw; line-height: 2; }
	#business .sec01 .img01,
	#business .sec01 .img02,
	#business .sec01 .img03 { display: none; }
	
	#business .sec02 { padding: 9.662vw 3.623vw 12.077vw; }
	#business .ttlarea { margin-bottom: 7.246vw; }
	#business .ttlarea h2 { margin-bottom: 1.329vw; font-size: 7.005vw; }
	#business .ttlarea .ttl0 { font-size: 3.623vw; }

	#business .sec02 .parts { margin-bottom: 9vw; gap: 0; }
	#business .sec02 .parts .img { width: 100%; }
	#business .sec02 .parts .img img { width: 100%; height: initial; }
	#business .sec02 .parts .txtarea { margin-bottom: 3vw; width: 100%; }

	#business .sec02 .parts .img { order: 2; }
	#business .sec02 .parts .txtarea { order: 1; }

	#business .sec02 .num { margin-bottom: 2.415vw; font-size: 2.899vw; text-align: center; }
	#business .sec02 .num span { font-size: 4.831vw; }
	#business .sec02 .ttl { margin-bottom: 3.623vw; font-size: 4.589vw; text-align: center; }
	#business .sec02 .txt { font-size: 3.382vw; line-height: 2; }

	#business .sec03 { padding: 9.662vw 3.623vw 14.493vw; }
	#business .sec03 .normal { margin-bottom: 9.831vw; }
	#business .sec03 .ttl_border { margin-bottom: 4.831vw; }
	#business .sec03 .flex { gap: 4vw 0; }
	#business .sec03 .txt { margin-top: 6.039vw; font-size: 3.382vw; line-height: 2; }
	#business .sec03 .flex p,
	#business .sec03 .flex p img { width: 100%; }
	
	#business .sec04 { margin: 0 3.623vw 13.285vw; gap: 4vw 0; }
	#business .sec04 p,
	#business .sec04 p img { width: 100%; }
	
	#business .sec05 { margin-bottom: 12.077vw; }
	#business .sec05 .inner_wrap { margin-bottom: 7.246vw; }
	#business .sec05 .inner_wrap .parts { margin-bottom: 7.246vw; width: 100%; }
	#business .sec05 .inner_wrap .parts .image img { width: 100%; height: auto; }
	#business .sec05 .inner_wrap .parts .textarea { margin-top: 2.657vw; width: 100%; }
	#business .sec05 .inner_wrap .parts .textarea .cate { margin-bottom: 2.415vw; }
	#business .sec05 .inner_wrap .parts .textarea .cate span { padding: 1.208vw 2.657vw; font-size: 2.899vw; }
	#business .sec05 .inner_wrap .parts .textarea .ttl { font-size: 3.623vw; font-weight: 600; letter-spacing: 0.04em; line-height: 1; }
	#business .sec05 .inner_wrap .parts .textarea .txt { margin: 3.019vw 0 3.261vw; font-size: 3.14vw; line-height: 1.23; }
	#business .sec05 .inner_wrap .parts .textarea dl { margin-bottom: 1.691vw; left; gap: 0 2.657vw; }
	#business .sec05 .inner_wrap .parts .textarea dl dt { padding: 0.966vw 0; width: 18.116vw; font-size: 2.899vw; }
	#business .sec05 .inner_wrap .parts .textarea dl dd { font-size: 3.382vw; }
	#business .sec05 .more_btn { margin: 0 auto; width: 248px; }
		
	
	#business .sec06 { padding: 9.662vw 3.623vw 16.908vw; }
	#business .sec06 .flex { gap: 10vw 0; }
	#business .sec06 .parts { width: auto; display: block; }
	#business .sec06 .parts .num { margin-bottom: 2.415vw; font-size: 2.899vw; }
	#business .sec06 .parts .num span { padding-left: 0.966vw; font-size: 4.831vw; }
	#business .sec06 .parts .ttl { margin: 2.657vw 0 1.812vw; font-size: 4.589vw; }
	#business .sec06 .parts .txt { margin-bottom: 4vw; font-size: 3.382vw; line-height: 2; }
	#business .sec06 .parts .more_btn { margin-top: auto; }
	#business .sec06 .parts .more_btn a { width: 100%; }
	#business .sec06 .parts .img,
	#business .sec06 .parts .img img { width: 100%; }


}


.wysiwyg * {
  font-size: inherit;
}

img.centered {
	display: block;
	margin-left: auto;
	margin-right: auto;
	}

img.alignright {
	padding: 4px;
	margin: 0 0 2px 7px;
	display: inline;
	}

img.alignleft {
	padding: 4px;
	margin: 0 7px 2px 0;
	display: inline;
	}

.alignright {
	float: right;
	}

.alignleft {
	float: left
	}
/* End Images */


/* Captions */
.aligncenter,
div.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
/* End captions */


.fitimg {
  display: flex;
  justify-content: center;
  align-items: center;
}
.fitimg img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.regacy_fitimg {
  display: relative;
  overflow: hidden;
}
.regacy_fitimg img{
  position: absolute;
  left: -50%;
  right: -50%;
  top: -50%;
  bottom: -50%;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.wysiwyg { margin: 80px 0 160px; font-size: 1rem; font-weight: 500; letter-spacing: 0.04em; line-height: 2.625; }
.wysiwyg p { margin: 0 0 1rem; }
.wysiwyg h3 { margin-bottom: 40px; padding-left: 23px; font-size: 28px; font-weight: 600; text-align: left; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; border-left: 4px solid #000; }

@media screen and (max-width:828px) {
	.wysiwyg { margin: 9.662vw 0 19.324vw; font-size: 3.14vw; line-height: 2.23; }
	.wysiwyg p { margin: 0 0 1rem; }
	.wysiwyg h3 { margin-bottom: 4.831vw; padding-left: 3.261vw; font-size: 4.831vw; border-left: 0.604vw solid #000; }


}




/* 印刷用 */
@media print {
	body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
	@page { size: A4; margin: 12.7mm 9.7mm; }
	body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}