@charset "UTF-8";
/* 
	
CSS page.css */




/*
base #333
green #00af84
*/



/*//////////////////


#index


//////////////////*/

/* common */
#index {  }

/* #mainv */
#index #mainv { width: 100%; height: 100vh; position: relative; }
#index #mainv ul.slide { width: 100%; height: 100%; overflow: hidden; position: relative;}
#index #mainv ul.slide li { width: 100%; height: 100%; }
#index #mainv ul.slide li.on { transform: scale(1) translateX(0); width: 100%; z-index: 5; opacity: 1; left: 0; transition: width 1.2s cubic-bezier(0.45, 0.05, 0.3, 0.93) 0s,transform 1.2s cubic-bezier(0.45, 0.05, 0.3, 0.93) 0s; }
#index #mainv ul.slide li.off { transform: scale(1.1) translateX(-40%); width: 0; left: 0; z-index: 10; opacity: 1; transition: width 2s cubic-bezier(0.45, 0.05, 0.3, 0.93) 0s,transform 2s cubic-bezier(0.45, 0.05, 0.3, 0.93) 0s; }
#index #mainv ul.slide li { overflow: hidden; position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform: scale(1.3); opacity: 0; will-change: transform,width; }
#index #mainv ul.slide li img { object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100%; }
#index #mainv .txtbox {}
#index #mainv .txtbox .logo { width: 140px; position: absolute; top: calc(50% - 20px); left: 100px; z-index: 11; }
#index #mainv .txtbox .name { position: absolute; top: calc(50% + 30px); right: 60px; font-size: 1.8rem; font-weight: bold; font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; letter-spacing: 0.18em; line-height: 1; z-index: 12; color: #fff; }
#index #mainv .txtbox .scrolldown { position: absolute; left: 30px; bottom: 0; display: flex; align-items: center; flex-direction: column; z-index: 12; }
#index #mainv .txtbox .scrolldown .arr { width: 1px; height: 110px; position: relative; overflow: hidden; display: block; }
#index #mainv .txtbox .scrolldown .arr:before { content: "";position: absolute;top: 0;left: 0;right: 0;height: 100%;width: 100%;background: #fff;margin-left: auto;margin-right: auto; animation: sdl 4s cubic-bezier(0.22, 1, 0.36, 1) infinite; }
#index #mainv .popupbox { width: 220px; position: fixed; right: 20px; bottom: 20px; z-index: 10; }
#index #mainv .popupbox .inwrap { width: 100%; height: 100%; position: relative; }
#index #mainv .popupbox a { display: block; position: relative; }
#index #mainv .popupbox a .white { font-size: 1.3rem; line-height: 1.5; padding: 15px 0; text-align: center; background: #fff; transition: 0.6s; background: #f7f7f7; }
#index #mainv .popupbox a .green { font-size: 0; padding: 15px 0; background: #333; text-align: center; transition: 0.6s; border-top: 1px solid #fff;}
#index #mainv .popupbox a .green img { width: 120px; }
#index #mainv .popupbox a.close { position: absolute; top: -10px; right: -10px; width: 24px; height: 24px; font-size: 0; border-radius: 13px; background: #333; }
#index #mainv .popupbox a:hover .white { background: #00af84; color: #fff; }
#index #mainv .popupbox a:hover .green { background: #00af84; }
#index #mainv .popupbox a.close .line { width: 24px; height: 1px; background: #fff; position: absolute; left: 50%; margin-left: -12px; transition: 0.6s; transform:translateY(12px) translateX(0) rotate(-45deg); }
#index #mainv .popupbox a.close .line:nth-child(2) { transform:translateY(12px) translateX(0) rotate(45deg); }
#index #mainv .popupbox a.close:hover { background: #333; }
@media screen and (max-width: 1380px){
}
@media screen and (max-width: 1100px){
	#index #mainv .txtbox .logo { left: 6%; }
	#index #mainv .txtbox .name { right: 4%; }
	#index #mainv .popupbox { display: none; }
}
@media screen and (max-width: 767px){
	#index #mainv .txtbox .logo { width: 110px; top: 30px; left: 30px; }
	#index #mainv .txtbox .name { top: 110px; left: 30px; right: auto; font-size: 1.2rem; letter-spacing: 0.12em; }
	#index #mainv .txtbox .scrolldown { left: 20px; } 
	#index #mainv .txtbox .scrolldown .arr { height: 60px; }
}
@keyframes sdl {
	0% {
		opacity: 1;
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	50.1%, 55% {
		opacity: 1;
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}
	90% {
		opacity: 0;
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}



/* #sec_0 */
#index #sec_0 { text-align: center; margin-top: 10px; }
@media screen and (max-width: 767px) {
	#index #sec_0 { text-align: justify; }
}
@media screen and (max-width: 500px) {
	#index #sec_0 { padding-top: 40px; }
}

/* #sec_1 */
#index #swrap_1 {  }
#index #sec_1 {  }
#index #sec_1 .incnt { display: flex; justify-content: center; align-items: center; max-width: 960px; }
#index #sec_1 .txtbox { flex: 1; margin-right: 60px; }
#index #sec_1 .txtbox .txt1 { font-size: 1.4rem; line-height: 1; border: 1px solid #333; padding: 5px 5px 5px 8px; display: inline-block; margin-bottom: 20px; }
#index #sec_1 .txtbox .btnbox ul { justify-content: flex-start; }
#index #sec_1 .rightbox { width: 400px; }
@media screen and (max-width: 1100px) {
	#index #sec_1 .incnt { max-width: none; }
	#index #sec_1 .rightbox { width: 50%; }
}
@media screen and (max-width: 767px) {
	#index #sec_1 .incnt { display: block; }
	#index #sec_1 .rightbox { width: 100%; }
	#index #sec_1 .txtbox { flex: none; margin-right: 0; margin-bottom: 50px; }
}
@media screen and (max-width: 500px) { 
}

/* #sec_2 */
#index #sec_2 {  }
#index #sec_2 .btnbox ul { justify-content: flex-end; }
@media screen and (max-width: 1100px) { 
}
@media screen and (max-width: 767px) { 
	#index #sec_2 .btnbox ul { justify-content: center; }
}


/* #sec_3 */
#index #sec_3 .inblock { display: flex; justify-content: space-between; }
#index #sec_3 .txtbox { flex: 1; }
#index #sec_3 .titlebox { margin-right: 100px; }
@media screen and (max-width: 1100px) { 
	#index #sec_3 .titlebox { margin-right: 60px; }
}
@media screen and (max-width: 767px) { 
	#index #sec_3 .inblock { display: block;  }
	#index #sec_3 .txtbox { flex: none; }
}


/* #sec_4 */
#index #sec_4 .servicelist>li { display: flex; justify-content: space-between; align-items: center; margin-top: 60px;} 
#index #sec_4 .servicelist>li:first-child { display: block; margin-top: 0; } 
#index #sec_4 .servicelist>li:nth-child(even) { flex-direction: row-reverse; }
#index #sec_4 .servicelist .inbox { display: flex; justify-content: space-between; align-items: center;}
#index #sec_4 .servicelist .imgbox { width: 580px; margin-right: 60px; height: 400px; }
#index #sec_4 .servicelist>li:nth-child(even) .imgbox { margin-left: 60px; margin-right: 0; }
#index #sec_4 .servicelist .imgbox>img { object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100%; }
#index #sec_4 .servicelist .txtbox { flex: 1; }
#index #sec_4 .servicelist .txtbox h3 span { font-size: 1.4rem; display: block;  }
#index #sec_4 .servicelist .txtbox .btnbox ul { justify-content: flex-start; }
#index #sec_4 .servicelist .greenbox { width: 580px; margin-right: 60px; background: #00af84; text-align: center; padding: 130px 0; color: #fff; }
#index #sec_4 .servicelist .greenbox img { width: 160px; margin: 0 auto 30px; }
#index #sec_4 .servicelist .greenbox .txt { font-size: 1.4rem; }
@media screen and (max-width: 1100px) { 
	#index #sec_4 .servicelist>li,
	#index #sec_4 .servicelist .inbox { align-items: normal; }
	#index #sec_4 .servicelist .imgbox,
	#index #sec_4 .servicelist .greenbox { display: flex; height: auto; width: calc(100px + 40vw); }
	#index #sec_4 .servicelist .imgbox img { height: auto; }
	#index #sec_4 .servicelist .greenbox { flex-direction: column; align-items: center; justify-content: center; padding: 0; }
	#index #sec_4 .servicelist .txtbox { padding: 40px 0;}
}
@media screen and (max-width: 767px) { 
	#index #sec_4 .servicelist>li,
	#index #sec_4 .servicelist .inbox { display: block; margin-top: 60px;} 
	#index #sec_4 .servicelist .inbox:first-child { margin-top: 0; }
	#index #sec_4 .servicelist .imgbox,
	#index #sec_4 .servicelist .greenbox { display: block; width: 100%; margin: 0; height: calc(100px + 40vw); margin-bottom: 30px; } 
	#index #sec_4 .servicelist>li:nth-child(even) .imgbox { margin-left: 0; }
	#index #sec_4 .servicelist .imgbox img { height: 100%; }
	#index #sec_4 .servicelist .greenbox { height: auto; padding: 60px 0; }
	#index #sec_4 .servicelist .greenbox img { width: 140px; margin: 0 auto 20px; }
	#index #sec_4 .servicelist .greenbox .txt { font-size: 1.3rem; }
	#index #sec_4 .servicelist .txtbox { flex: none; padding: 0; }
	#index #sec_4 .servicelist .txtbox .btnbox ul { justify-content:  center; }
}


/* #sec_5 */
#index #sec_5 .btnbox ul { }


/* #sec_6 */
#index #sec_6 { }
#index #sec_6 .incnt { display: flex; justify-content: space-between; }
#index #sec_6 .newsbox { width: 460px; margin-right: 80px; }
#index #sec_6 .recruitbox { flex: 1; }
#index #sec_6 .btnbox ul { justify-content: flex-start; }
@media screen and (max-width: 1100px) {
	#index #sec_6 .newsbox { width: 60%; margin-right: 40px; }
}
@media screen and (max-width: 767px) {
	#index #sec_6 .incnt { display: block; }
	#index #sec_6 .newsbox { width: 100%; margin-right: 0; margin-bottom: 120px; }
	#index #sec_6 .recruitbox { flex: none; }
	#index #sec_6 .btnbox ul { justify-content:  center; }
}










/*//////////////////


#about


//////////////////*/

/* sec_1 */
#about #sec_1 .inbox { display: flex; justify-content: center; }
#about #sec_1 .inbox .copybox { margin-right: 120px; }
#about #sec_1 .inbox .copybox .tategaki { font-size: 2.4rem; line-height: 2.4; margin-top: 8px; letter-spacing: 0.24em; }
#about #sec_1 .inbox .txtbox { line-height: 2.4; }
@media screen and (max-width: 1100px) { 
	#about #sec_1 .inbox .copybox { margin-right: 80px; }
}
@media screen and (max-width: 767px) { 
	#about #sec_1 .inbox { display: block; }
	#about #sec_1 .inbox .copybox  { margin-right: 0; text-align: center; margin-bottom: 40px; }
	#about #sec_1 .inbox .copybox .tategaki { text-align: left; font-size: 1.8rem; margin-top: 0; }
}
@media screen and (max-width: 500px) { 
}


/* sec_2 */
#about #sec_2 .inbox { display: flex; justify-content: center; }
#about #sec_2 .inbox .imgbox { margin-left: 80px; width: 470px; }
#about #sec_2 .inbox .txtbox { flex: 1; }
#about #sec_2 .inbox .txtbox .name { font-size: 1.8rem; margin-top: 20px; }
#about #sec_2 .inbox .txtbox .name span { font-size: 1.4rem; margin-left: 1em; }
@media screen and (max-width: 1100px) { 
	#about #sec_2 .inbox .imgbox { margin-left: 60px; width: 50%; }
}
@media screen and (max-width: 767px) { 
	#about #sec_2 .inbox { display: block; }
	#about #sec_2 .inbox .imgbox { margin: 60px auto 0; width: 100%; }
	#about #sec_2 .inbox .txtbox .name { font-size: 1.6rem; margin-top: 20px; }
	#about #sec_2 .inbox .txtbox .name span { font-size: 1.2rem; }
}


/* sec_3 */
#about #sec_3 .incnt { display: flex; justify-content: space-between; }
#about #sec_3 .inbox { width: calc(50% - 40px); }
@media screen and (max-width: 767px) { 
	#about #sec_3 .incnt { display: block; }
	#about #sec_3 .inbox { width: 100%; margin-bottom: 120px; }
	#about #sec_3 .inbox li { text-indent: -1em; padding-left: 1em; text-align: left; }
	#about #sec_3 .inbox li:before { content:"・"; }
}


/* sec_4 */
#about #sec_4 .incnt { display: flex; }
#about #sec_4 .sectitle { width: 240px; }
#about #sec_4 .awardlist { flex: 1; }
#about #sec_4 .awardlist>li { margin-bottom: 70px; }
#about #sec_4 .awardlist>li>dl>dt { margin-bottom: 30px; font-weight: bold; }
#about #sec_4 .awardlist>li>dl>dd li a { text-decoration: underline; }
#about #sec_4 .awardlist>li>dl>dd li a:hover { text-decoration: none; }
@media screen and (max-width: 1100px) {
	#about #sec_4 .sectitle { width: 25%; }
}
@media screen and (max-width: 767px) { 
	#about #sec_4 .incnt { display: flex; flex-direction: column; }
	#about #sec_4 .sectitle { margin-right: 0; }
	#about #sec_4 .awardlist { flex: none; }
	#about #sec_4 .awardlist>li { margin-bottom: 40px; }
	#about #sec_4 .awardlist>li>dl>dt { margin-bottom: 10px; }
	#about #sec_4 .awardlist>li>dl>dd { text-indent: -1em; padding-left: 1em; text-align: left; }
	#about #sec_4 .awardlist>li>dl>dd li:before { content:"・"; }
}


/* sec_5 */
#about #sec_5 .incnt { display: flex; }
#about #sec_5 .sectitle { width: 240px; }
#about #sec_5 .companylist { flex: 1; }
#about #sec_5 .companylist>li { padding: 25px 8% 25px 0; background-image: linear-gradient(to right, #ccc, #ccc 2px, transparent 2px, transparent 5px); background-size: 4px 1px; background-position: center bottom; background-repeat: repeat-x; }
#about #sec_5 .companylist>li:first-child { padding-top: 0; }
#about #sec_5 .companylist>li:last-child { padding-bottom: 0;  background-image:none; }
#about #sec_5 .companylist>li>dl { display: flex; }
#about #sec_5 .companylist>li>dl>dt { width: 145px; flex-shrink: 0; }
#about #sec_5 .companylist>li>dl dd .enname { font-size: 1.3rem; }
@media screen and (max-width: 1100px) {
	#about #sec_5 .sectitle { width: 25%; }
	#about #sec_5 .companylist>li>dl>dt { width: 100px; }
}
@media screen and (max-width: 767px) {
	#about #sec_5 .incnt { display: block; }
	#about #sec_5 .sectitle { margin-right: 0; }
	#about #sec_5 .companylist { flex: none; }
	#about #sec_5 .companylist>li>dl { display: flex; flex-direction: column; }
	#about #sec_5 .companylist>li>dl>dt { margin-bottom: 10px; font-weight: bold; }
}


/* sec_6 */
#about #sec_6 .block { display: flex; justify-content: space-between; }
#about #sec_6 .titlebox { width: 240px; }
#about #sec_6 .inbox { flex: 1; }
#about #sec_6 .inbox .txtbox  { display: flex; justify-content: space-between; align-items: center; margin-bottom: 60px; }
#about #sec_6 .inbox .txtbox .inwrap { flex: 1; }
#about #sec_6 .inbox .txtbox .btnbox { margin-left: 60px; width: auto; }
#about #sec_6 .inbox .maps { height: 400px; }
@media screen and (max-width: 1100px) {
 	#about #sec_6 .block { display: block; }
 	#about #sec_6 .inbox { width: 100%; }
}
@media screen and (max-width: 767px) {
  	#about #sec_6 .inbox .txtbox  { display: block; margin-bottom: 40px; }
  	#about #sec_6 .inbox .txtbox .btnbox { margin-left: 0; width: 100%; }
  	#about #sec_6 .inbox .maps { height: calc(200px + 20vw); }
}













/*//////////////////


#service.index#concept


//////////////////*/


/* common */
#service.index #concept { display: none; }
#service.index #sec_1  { margin-top: -220px; padding-top: 220px; }
@media screen and (max-width: 767px) {
	#service.index #sec_1 { margin-top: -150px; padding-top: 150px; }
}


/* sec_1 */
#service.index #sec_1 { margin-bottom: 80px; }
@media screen and (max-width: 767px) {
	#service.index #sec_1 { margin-bottom: 60px; }
}


/* sec_2 */
#service.index #concept #c_sec_2 {  } 


/* sec_3 */
#service.index #concept #c_sec_3 .box-2 { margin-right: -70px; }
#service.index #concept #c_sec_3 .box-2 .imgbox { width: 540px; height: 380px; }
#service.index #concept #c_sec_3 .box-2.odd { margin-left: -70px; margin-right: 0; }
#service.index #concept #c_sec_3 .inbox>li { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; }
#service.index #concept #c_sec_3 .inbox>li:last-child { margin-bottom: 0; }
#service.index #concept #c_sec_3 .inbox .txtbox { flex: 1; }
#service.index #concept #c_sec_3 .inbox .txtbox .copy.s3 { display: flex;align-items: center; }
#service.index #concept #c_sec_3 .inbox .txtbox .copy.s3 span { width: 22px; margin-right: 15px; font-size: 0rem; }
#service.index #concept #c_sec_3 .inbox .imgbox { width: 470px; height: 100%; margin-left: 70px; }
#service.index #concept #c_sec_3 .inbox .imgbox img { object-fit: cover; font-family: "object-fit: cover;"; display: block; width: 100%; height: 320px; }
@media screen and (max-width: 1280px) {
	#service.index #concept #c_sec_3 .box-2 { margin-right: 0;  }
	#service.index #concept #c_sec_3 .box-2 .imgbox { width: calc(100px + 30vw); height: auto; }
	#service.index #concept #c_sec_3 .box-2.odd { margin-left: 0; }
	#service.index #concept #c_sec_3 .inbox>li { align-items: normal; }
	#service.index #concept #c_sec_3 .inbox .imgbox { display: flex; height: auto; width: calc(100px + 30vw); margin-left: 50px; }
	#service.index #concept #c_sec_3 .inbox .imgbox img { height: auto; }
	#service.index #concept #c_sec_3 .inbox>li:nth-child(3) .imgbox { flex-direction: column; }
	#service.index #concept #c_sec_3 .inbox>li:nth-child(3) .imgbox img { height: 50%; }
	#service.index #concept #c_sec_3 .inbox .txtbox { padding: 40px 0;}
}
@media screen and (max-width: 767px) { 
	#service.index #concept #c_sec_3 .box-2 .imgbox  { width: 100%; height: calc(100px + 40vw); } 
	#service.index #concept #c_sec_3 .inbox>li { display: block; margin-bottom: 60px; } 
	#service.index #concept #c_sec_3 .inbox .imgbox  { display: block; width: 100%; margin: 0!important; height: calc(100px + 40vw); margin-top: 40px!important; } 
	#service.index #concept #c_sec_3 .inbox .imgbox img { height: 100%; }
	#service.index #concept #c_sec_3 .inbox>li:nth-child(3) .imgbox { height: 100%; }
	#service.index #concept #c_sec_3 .inbox>li:nth-child(3) .imgbox img { height: calc(100px + 40vw); }
	#service.index #concept #c_sec_3 .inbox .txtbox { flex: none; padding: 0; }
}





/*//////////////////


#service.index#business


//////////////////*/


/* sec_1 */
#service.index #business #s_sec_1 .box.category { margin-bottom: 80px; }
@media screen and (max-width: 767px) {
	#service.index #business #s_sec_1 .box.category { margin-bottom: 60px; }
}

/* sec_2 */
#service.index #business #s_sec_2 .copy.s1 { text-align: left; }
#service.index #business #s_sec_2 .copy.s1 span { font-size: 1.5rem; }
#service.index #business #s_sec_2 .inbox { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; margin-bottom: 80px; }
#service.index #business #s_sec_2 .inbox .imgbox { width: 470px; height: 320px;  margin-right: 50px; }
#service.index #business #s_sec_2 .inbox .imgbox img { object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100%; margin-right: 50px; }
#service.index #business #s_sec_2 .inbox .txtbox { width: 48%; padding-left: 20px; flex-shrink: 0;  }
#service.index #business #s_sec_2 .katarinebox { margin: 80px auto 0; max-width: 880px; }
#service.index #business #s_sec_2 .katarinebox .copy.s3 { text-align: center; }
#service.index #business #s_sec_2 .katarinebox .copy.s3>p { text-align: center; }
#service.index #business #s_sec_2 .katarinebox .bnr.katarine.s1 { width: 880px; }
#service.index #business #s_sec_2 .txtbox .btnbox ul {justify-content: flex-start;}
@media screen and (max-width: 1100px) {
	#service.index #business #s_sec_2 .katarinebox .bnr.katarine.s1 { width: 100%; max-width: 880px; }
}
@media screen and (max-width: 767px) {
	#service.index #business #s_sec_2 .inbox { display: block; align-items: normal; margin-bottom: 60px; }
	#service.index #business #s_sec_2 .inbox .imgbox { width: 100%; height: auto; }
	#service.index #business #s_sec_2 .inbox .txtbox { width: 100%; padding-left: 0; margin-bottom: 30px; }
	#service.index #business #s_sec_2 .katarinebox { margin-top: 50px; }
	#service.index #business #s_sec_2 .box-2 { display: flex; flex-direction: column-reverse; } 
	#service.index #business #s_sec_2 .box-2 .imgbox  { margin: 0!important; margin-bottom: 40px!important; } 
}


/* sec_3 */
#service.index #business #c_sec_3 .txtbox .btnbox ul {justify-content: flex-start;}







/*//////////////////


#service.common:not(.index)


//////////////////*/

/* common */
#service:not(.index) .box-2 { margin-bottom: 120px; }
#service:not(.index) #sec_1 .copy.s1 { text-align: center; }
@media screen and (max-width: 767px) { 
	#service:not(.index) .box-2 { margin-bottom: 60px; }
	#service:not(.index) #sec_1 .copy.s1 br { display: none; }
	#service:not(.index) #sec_1 .copy.s1 { text-align: justify; }
}


/* case */
#service:not(.index) .case>li { display: flex; justify-content: space-between; align-items: center; padding: 0 70px 60px 70px; position: relative; border-bottom: 1px #333 solid; margin-bottom: 60px; }
#service:not(.index) .case>li:last-child { padding: 0 70px; margin-bottom: 0; border: none; }
#service:not(.index) .case>li .imgbox { width: 330px; height: 240px; margin-right: 80px; padding-bottom: 30px; }
#service:not(.index) .case>li .imgbox img { object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100%; }
#service:not(.index) .case>li .imgbox span { display: block; text-align: center; font-size: 1.4rem; margin-top: 10px; }
#service:not(.index) .case>li .txtbox { flex: 1; }
#service:not(.index) .case>li .txtbox .copy.s3 { margin-bottom: 20px; }
#service:not(.index) .case>li .btnbox ul { justify-content: flex-start; }
@media screen and (max-width: 1100px) {
	#service:not(.index) .case>li { align-items: normal; padding: 0 0 60px 0;}
	#service:not(.index) .case>li:last-child { padding: 0; }
	#service:not(.index) .case>li .imgbox {display: block; height: auto; margin-right: 50px; }
	#service:not(.index) .case>li .imgbox img {height: 100%;}
	#service:not(.index) .case>li .txtbox { padding: 40px 0; }
}
@media screen and (max-width: 767px){
	#service:not(.index) .case>li { display: block; padding-bottom: 0; border-bottom: none; margin-bottom: 60px; }
	#service:not(.index) .case>li:first-child { padding-top: 0; }
	#service:not(.index) .case>li .imgbox { width: 100%; height: 100%; margin-right: 0; padding-bottom: 30px;}
	#service:not(.index) .case>li .imgbox span { display: none; }
	#service:not(.index) .case>li .txtbox { padding: 0; }
	#service:not(.index) .case>li .btnbox { margin-top: 20px; }
}





/*//////////////////


#service.house


//////////////////*/
/* sec_1 */
#service.house #sec_1 .katarinebox { max-width: 1040px; }
#service.house #sec_1 .katarinebox .copy.s2 { text-align: center; }
#service.house #sec_1 .katarinebox p.txt1 { text-align: center; }
#service.house #sec_1 .katarinebox .bnr.katarine.s1 { width: 100%; height: 360px; }
@media screen and (max-width: 767px) { 
	#service.house #sec_1 .katarinebox .bnr.katarine.s1 { width: 100%; height: auto; }
	#service.house #sec_1 .katarinebox p.txt1 { text-align: justify; }
	#service.house #sec_1 .katarinebox p.txt1 br { display: none; }
}





/*//////////////////


#service.factory
#service.medical
#service.renovation
#service.production


//////////////////*/


/* sec_1 */
#service.factory #sec_1 {  }









/*//////////////////


#works.index


//////////////////*/

/* sec_1 */
#works.index #sec_1 { margin-bottom: 100px; }
@media screen and (max-width: 767px){
	#works.index #sec_1 { margin-bottom: 40px; }
}

/* sec_2 */
#works.index #sec_2 .copy.s1 { text-align: center; margin-bottom: 80px; }
#works.index #sec_2 .list.works li._3 .imgbox { height: 300px; }
@media screen and (max-width: 1100px){
	#works.index #sec_2 .list.works li._3 .imgbox { height: calc(120px + 15vw); }
}
@media screen and (max-width: 767px){
	#works.index #sec_2 .copy.s1 { margin-bottom: 60px; }
}











/*//////////////////


#works.under


//////////////////*/


/* sec_1 */
#works.under #sec_1 { margin-bottom: 140px; }
#works.under #sec_1 .copy.s1 { margin-bottom: 25px; text-align: center; }
@media screen and (max-width: 767px){
	#works.under #sec_1 { margin-bottom: 80px; }
	#works.under #sec_1 .copy.s1 { margin-bottom: 20px; }
}

/* sec_2 */
#works.under #sec_2 .copy.s1 { text-align: center; margin-bottom: 80px; }
#works.under #sec_2 .editbody { margin-bottom: 60px; }
#works.under #sec_2 .spec { margin-bottom: 40px; }
#works.under #sec_2 .box1 { margin-top: 60px; }
#works.under #sec_2 .box1 a { display: block; font-size: 0; padding: 20px 0; text-align: center; transition: 0.6s; width: 200px; background: #333; }
#works.under #sec_2 .box1 a:hover { background: #00af84; }
#works.under #sec_2 .box1 a img { width: 120px; }
@media screen and (max-width: 1100px){
}
@media screen and (max-width: 767px){
	#works.under #sec_2 .copy.s1 { margin-bottom: 50px; }
	#works.under #sec_2 .box1 a img { width: 100px; }
}

/* sec_3 */
#works.under #sec_3 .imglist { margin-bottom: 80px; }
#works.under #sec_3 .imglist>li { display: flex; justify-content: center; margin-bottom: 40px; }
#works.under #sec_3 .imglist>li.tate { padding: 0 8%; }
@media screen and (max-width: 1100px){
	#works.under #sec_3 .imglist>li.tate { padding: 0 8%; }
}
@media screen and (max-width: 767px){
	#works.under #sec_3 .imglist>li { margin: 0 -6.8% 20px; }
	#works.under #sec_3 .imglist>li.tate { padding: 0; }
}











/*//////////////////


#blog.index


//////////////////*/

/* common */
#blog .inbody { display: flex; justify-content: space-between; margin-bottom: 150px; }
#blog .inbody .main { flex: 1; margin-right: 80px; }
#blog .inbody .main .pagenav { display: none; }
#blog .inbody .side { width: 280px; }
#blog .inbody .side .snsbox { margin-top: 80px; text-align: center; }
#blog .inbody .side .snsbox ul.snslist { margin-top: 20px; display: flex; justify-content: center; align-items: center; font-size: 0; }
#blog .inbody .side .snsbox ul.snslist li { width: 20px; margin-right: 13px; }
#blog .inbody .side .snsbox ul.snslist li:nth-child(3) { width: 19px; margin-right: 0; }
@media screen and (max-width: 1100px){
	#blog .inbody { display: flex; flex-direction: column; margin: 0; }
	#blog .inbody .main { margin-bottom: 60px; margin-right: 0; flex: none; }
	#blog .inbody .main .pagenav { display: block; margin-top: 80px; }
	#blog .inbody .side { width: 100%; }
	#blog .inbody .side .snsbox { margin-top: 60px; }
}

/* sec_1 */
#blog.index #sec_1 .copy.s1 { text-align: center; margin-bottom: 80px; }
#blog.index #sec_1 ul.list.blog { flex-wrap: wrap; }
#blog.index #sec_1 ul.list.blog li { width: 100%; border-bottom: 1px solid #333; padding-bottom: 40px; margin-bottom: 40px; }
#blog.index #sec_1 ul.list.blog li:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
#blog.index #sec_1 ul.list.blog li .imgbox { width: 130px; height: 130px; margin-right: 40px; }
@media screen and (max-width: 1100px) {
	#blog.index #sec_1 ul.list.blog li {width: 46%;padding: 0;border-bottom: none;}
	#blog.index #sec_1 ul.list.blog li .imgbox { width: 100px; height: 100px; margin-right: 30px; }
}
@media screen and (max-width: 767px){
	#blog.index #sec_1 .copy.s1 { margin-bottom: 60px; }
	#blog.index #sec_1 ul.list.blog li { margin-bottom: 30px; }
}
@media screen and (max-width: 500px) {
	#blog.index #sec_1 ul.list.blog li {width: 100%;}
	#blog.index #sec_1 ul.list.blog li .imgbox { margin-right: 20px; }
}




/*//////////////////


#news.under


//////////////////*/

/* sec_1 */
#blog.under #sec_1 .copy.s1 {  margin-bottom: 80px; }
#blog.under #sec_1 .spec { font-size: 1.4rem; color: #ccc; display: flex; align-items: center; margin-bottom: 30px;}
#blog.under #sec_1 .spec .date { margin-right: 1em; }
#blog.under #sec_1 .pager { padding-bottom: 10px; }
@media screen and (max-width: 767px) {
	#blog.under #sec_1 .copy.s1 {  margin-bottom: 60px; }
	#blog.under #sec_1 .spec { font-size: 1.3rem; margin-bottom: 20px; }
	#blog.under #sec_1 .main .pager { margin-bottom: 120px; }
	#blog.under #sec_1 .main .pager a.prev,
	#blog.under #sec_1 .main .pager a.next { display: inline-block; top:7px; margin: 0 10px; }
}
@media screen and (max-width: 500px) {
	#blog.under #sec_1 .main .pager a.back { margin-top: 80px; }
}










/*//////////////////


#news.index


//////////////////*/

/* common */
#news .inbody { display: flex; justify-content: space-between; margin-bottom: 150px; }
#news .inbody .main { flex: 1; margin-right: 80px; }
#news .inbody .main .pagenav { display: none; }
#news .inbody .side { width: 280px; }
#news .inbody .side .snsbox { margin-top: 80px; text-align: center; }
#news .inbody .side .snsbox ul.snslist { margin-top: 20px; display: flex; justify-content: center; align-items: center; font-size: 0; }
#news .inbody .side .snsbox ul.snslist li { width: 20px; margin-right: 13px; }
#news .inbody .side .snsbox ul.snslist li:nth-child(3) { width: 19px; margin-right: 0; }
@media screen and (max-width: 1100px){
	#news .inbody { display: flex; flex-direction: column; margin: 0; }
	#news .inbody .main { margin-bottom: 60px; margin-right: 0; flex: none; }
	#news .inbody .main .pagenav { display: block; margin-top: 80px; }
	#news .inbody .side { width: 100%; }
	#news .inbody .side .snsbox { margin-top: 60px; }
}

/* sec_1 */
#news.index #sec_1 { margin-bottom: 100px; }
@media screen and (max-width: 767px){
	#news.index #sec_1 { margin-bottom: 40px; }
}

/* sec_2 */
#news.index #sec_2 .copy.s1 { text-align: center; margin-bottom: 80px; }
@media screen and (max-width: 767px){
	#news.index #sec_2 .copy.s1 { margin-bottom: 60px; }
}




/*//////////////////


#news.under


//////////////////*/


#works.under #mainv.under { }

/* mainv */
#works.under #mainv.under { position: relative; height: calc(460px + 20vw); }
#works.under #mainv.under .awardbox { position: absolute; bottom: 0; left: 40px; z-index: 1; font-size: 0; }
#works.under #mainv.under .awardbox img { display: inline-block; width: 65px; margin-right: 5px; }
@media screen and (max-width: 1500px){
	#works.under #mainv.under { height: 760px; }
}
@media screen and (max-width: 1100px){
	#works.under #mainv.under { height: calc(300px + 25vw); }
}
@media screen and (max-width: 767px) {
	#works.under #mainv.under { height: 400px; }
	#works.under #mainv.under .awardbox { left: 20px; }
	#works.under #mainv.under .awardbox img { width: 50px; margin-right: 5px; }
}
@media screen and (max-width: 500px) {
	#works.under #mainv.under .awardbox { left: 15px; }
	#works.under #mainv.under .awardbox img { width: 40px; margin-right: 3px; }
}

/* sec_1 */
#news.under #sec_1 .copy.s1 {  margin-bottom: 80px; }
#news.under #sec_1 .spec { font-size: 1.4rem; color: #ccc; display: flex; align-items: center; margin-bottom: 30px;}
#news.under #sec_1 .spec .date { margin-right: 1em; }
#news.under #sec_1 .pager { padding-bottom: 10px; }
@media screen and (max-width: 767px) {
	#news.under #sec_1 .copy.s1 {  margin-bottom: 60px; }
	#news.under #sec_1 .spec { font-size: 1.3rem; margin-bottom: 20px; }
	#news.under #sec_1 .main .pager { margin-bottom: 120px; }
	#news.under #sec_1 .main .pager a.prev,
	#news.under #sec_1 .main .pager a.next { display: inline-block; top:7px; margin: 0 10px; }
}
@media screen and (max-width: 500px) {
	#news.under #sec_1 .main .pager a.back { margin-top: 80px; }
}







/*//////////////////


#recruit


//////////////////*/


/* common */
#recruit #main .requirebox  { display: flex; }
#recruit #main .requirebox .titlebox { width: 240px; }
#recruit #main .requirebox .requirelist { flex: 1; }
#recruit #main .requirebox .requirelist>li { padding: 25px 8% 25px 0; background-image: linear-gradient(to right, #ccc, #ccc 2px, transparent 2px, transparent 5px); background-size: 4px 1px; background-position: center bottom; background-repeat: repeat-x; }
#recruit #main .requirebox .requirelist>li:first-child { padding-top: 0; }
#recruit #main .requirebox .requirelist>li:last-child { padding-bottom: 0;  background-image:none; }
#recruit #main .requirebox .requirelist>li>dl { display: flex; }
#recruit #main .requirebox .requirelist>li>dl>dt { width: 145px; flex-shrink: 0; }
@media screen and (max-width: 1100px) {
	#recruit #main .requirebox .titlebox { width: calc(100px + 15%); }
	#recruit #main .requirebox .requirelist>li>dl>dt { width: 100px; }
}
@media screen and (max-width: 767px) {
	#recruit #main .requirebox  { display: block; }
	#recruit #main .requirebox .titlebox { margin-right: 0; }
	#recruit #main .requirebox .requirelist { flex: none; }
	#recruit #main .requirebox .requirelist>li>dl { display: flex; flex-direction: column; }
	#recruit #main .requirebox .requirelist>li>dl>dt { margin-bottom: 10px; font-weight: bold; }
}


/* sec_1 */
#recruit #sec_1 .copy { text-align: center; }
@media screen and (max-width: 1100px) {
	#recruit #sec_1 .copy { text-align: justify; }

}


/* sec_2 */
#recruit #sec_2 img { object-fit: cover; font-family: "object-fit: cover;"; width: 100%; height: 580px; margin-bottom: 80px; }
#recruit #sec_2 .copy.s1 { text-align: left; }
#recruit #sec_2 .box1 { display: flex; flex-direction: row; align-items: center; margin-top: 80px; }
#recruit #sec_2 .box1 .imgbox { width: 40%; height: 320px; margin-right: 70px; }
#recruit #sec_2 .box1 img { object-fit: cover; font-family: "object-fit: cover;"; display: block; width: 100%; height: 100%; }
#recruit #sec_2 .box1 .txtbox { flex: 1; }
@media screen and (max-width: 1100px) {
	#recruit #sec_2 .box1 .imgbox { margin-right: 50px; width: 45%; }
}
@media screen and (max-width: 767px) {
	#recruit #sec_2 img { width: 100%; height: calc(200px + 25vw); margin-bottom: 50px; }
	#recruit #sec_2 .box1 { display: block; margin-top: 50px; }
	#recruit #sec_2 .box1 .imgbox { width: 100%; height: calc(150px + 25vw); margin-right: 0; margin-bottom: 50px; }
	#recruit #sec_2 .box1 .txtbox { width: 100%; flex: none; }
	#recruit #sec_2 .box1 .txtbox .copy.s1 { text-align: justify; }
	#recruit #sec_2 .box1 .txtbox .copy.s1 br { display: none; }
}


/* sec_3 */
#recruit #sec_3 { } 










/*//////////////////


#contact.index


//////////////////*/

/* sec_1 */
#contact.index #sec_1 { text-align: center; } 
#contact.index #sec_1 .tategaki { font-size: 2.4rem; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.16em; line-height: 2.4; }
#contact.index #sec_1 .tategaki span { margin-top: -10px; }
@media screen and (max-width: 767px) {
	#contact.index #sec_1 { margin-bottom: 60px; }
	#contact.index #sec_1 .tategaki { font-size: 2rem; line-height: 2.2; }
	#contact.index #sec_1 .tategaki span { margin-top: -8px; }
}
@media screen and (max-width: 500px) {
	#contact.index #sec_1 .tategaki { font-size: 1.6rem; }
}


/* sec_2 */
#contact.index #sec_2 .bggrey { padding: 40px 60px; }
#contact.index #sec_2 .bggrey { display: flex; flex-direction: row; justify-content: center; align-items: center; }
#contact.index #sec_2 .bggrey .imgbox { width: 340px; height: auto; margin-right: 50px; flex-shrink: 0; }
#contact.index #sec_2 .bggrey .imgbox img { object-fit: cover; font-family: "object-fit: cover;"; display: block; width: 100%; height: 100%; }
#contact.index #sec_2 .bggrey .txtbox span { font-size: 1.4rem; line-height: 1; border: 1px solid #333; padding: 5px 5px 5px 8px; display: inline-block; margin-bottom: 20px; }
#contact.index #sec_2 .bggrey .txtbox .copy.s3 { margin-bottom: 20px; }
@media screen and (max-width: 1100px) {
	#contact.index #sec_2 .bggrey { padding: 40px 6%; }
	#contact.index #sec_2 .bggrey .imgbox { width: calc(100px + 20vw); margin-right: 30px; }
}
@media screen and (max-width: 767px) {
	#contact.index #sec_2 .bggrey { padding: 30px 8%; }
	#contact.index #sec_2 .bggrey { display: flex; flex-direction: column; justify-content: center; align-items: center; }
	#contact.index #sec_2 .bggrey .imgbox { width: 100%; max-width: 340px; margin-right: 0; margin-bottom: 30px; }
	#contact.index #sec_2 .bggrey .txtbox { text-align: center; }
	#contact.index #sec_2 .bggrey .txtbox .copy.s3 { text-align: center; margin-bottom: 10px;}
	#contact.index #sec_2 .bggrey .txtbox .txt1 { text-align: justify; }
}


/* sec_3 */
#contact.index #sec_3 .katarinebox { max-width: 1040px; }
#contact.index #sec_3 .katarinebox .copy.s2 { text-align: center; }
#contact.index #sec_3 .katarinebox .txt1 { text-align: center; margin-bottom: 40px;  }
#contact.index #sec_3 .katarinebox .bnr.katarine.s1 { width: 100%; height: 368px; }
@media screen and (max-width: 767px) { 
	#contact.index #sec_3 .katarinebox .bnr.katarine.s1 { width: 100%; height: auto; }
	#contact.index #sec_3 .katarinebox .txt1 {margin-bottom: 20px; text-align: justify; }
	#contact.index #sec_3 .katarinebox .txt1 br { display: none; }
 }


/* sec_form */
#contact #sec_form .btnbox .btn.submit { background-color: #333; color: #fff; padding: 35px 160px; font-size: 2rem; text-align: center; transition: 0.6s; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.16em; }
#contact #sec_form .btnbox .btn.submit:hover { background: #ccc; }
#contact #sec_form .btnbox .btn.reset { background-color: #ccc; color: #fff; padding: 35px 160px; font-size: 2rem; text-align: center; transition: 0.6s; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.16em; }
#contact #sec_form .btnbox .btn.reset:hover { background: #aaa; }
@media screen and (max-width: 1100px) { 
	#contact #sec_form .btnbox .btn.submit { padding: 30px 0; width: 320px; }
	#contact #sec_form .btnbox .btn.reset { padding: 30px 0; width: 320px; }
}
@media screen and (max-width: 500px) { 
	#contact #sec_form .btnbox .btn.submit { padding: 30px 0; width: 100%; font-size: 1.6rem; }
	#contact #sec_form .btnbox .btn.reset { padding: 30px 0; width: 100%; font-size: 1.6rem; }
}










/*//////////////////


#privacy


//////////////////*/


/* common */
#privacy #main .list>li { padding-left: 1em!important; text-indent: -1em; }










/*//////////////////


#zeb


//////////////////*/


/* common */
#zeb #main .list>li { padding-left: 1em!important; text-indent: -1em; }
#zeb #main .table-1 { display: block; overflow-x: scroll; -webkit-overflow-scrolling: touch; }
#zeb #main .table-1 th,
#zeb #main .table-1 td { padding: 1em; border: 1px solid #aaa; line-height: 1.6; width: 15%; box-sizing: border-box; }
#zeb #main .table-1 th { text-align: left; background-color: #f7f7f7; font-weight: normal; white-space: nowrap; }
#zeb #main .table-1 .head th { text-align: center; background-color: #eee; letter-spacing: 0.03em;}
#zeb #main .table-1 td { text-align: center; }
#zeb #main .table-1 th br { display: none;}
#zeb #main .txt1 { display: none;}
@media screen and (max-width: 1100px) { 
	#zeb #main .table-1 { font-size: 14px;}
	#zeb #main .table-1 .head th br { display: block;}
}
@media screen and (max-width: 500px) { 
	#zeb #main .table-1 { font-size: 12px;}
	#zeb #main .table-1 th br { display: block;}
	#zeb #main .table-1 th,
	#zeb #main .table-1 td { padding: 0.8em; }
	#zeb #main .txt1 { display: block;font-size: 12px;}
}


















