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






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


#index


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

/* common */
#index {  }
@media screen and (max-width: 767px) { 
}


#index #swrap_1 { background: #f7f7f7; position: relative; margin-bottom: 160px; }
#index #sec_1 { display: flex; justify-content: space-between; }
#index #sec_1 .txtbox { background: #f7f7f7; width: 550px; padding-left: calc(50% - 550px); }
#index #sec_1 .txtbox .sectitle { text-align: left; }
#index #sec_1 .txtbox .sectitle .main { font-size: 38px; }
#index #sec_1 .txtbox .txt .msg { font-weight: bold; margin-bottom: 30px; }
#index #sec_1 .imgbox { width: 50%; max-width: 900px; margin-bottom: -160px; display: flex; flex-direction: column; }
#index #sec_1 .imgbox li { height: 50%; max-height: 400px; }
#index #sec_1 .imgbox li>img { height: 100%; width: 100%; object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ }
#index #sec_1 .obj { width: 84px; height: 58px; position: absolute; bottom: -10px; left: 45px; }
@media screen and (max-width: 1180px){
	#index #sec_1 .txtbox { padding-left: 6%; width: 48%;}
	#index #sec_1 .imgbox { width: 46%; }
}
@media screen and (max-width: 1040px){
	#index #swrap_1 { padding-bottom: 0px; margin-bottom: 100px; }
	#index #sec_1 { display: block; }
	#index #sec_1 .txtbox { padding: 0 6%; width: 88%; margin-bottom: 100px; position: relative; }
	#index #sec_1 .imgbox { width: 100%; max-width: none; margin-bottom: 0px; display: block; }
	#index #sec_1 .imgbox li { height: auto; max-height: 400px; width: 100%; }
	#index #sec_1 .txtbox .sectitle .main { font-size: 32px; }
	#index #sec_1 .txtbox .txt p .br1 { display: none; }
	#index #sec_1 .obj { bottom: -110px; right: 4%; left: auto; }
}
@media screen and (max-width: 767px){
	#index #swrap_1 { margin-bottom: 60px; }
	#index #sec_1 .txtbox { margin-bottom: 60px; }
	#index #sec_1 .txtbox .sectitle .main { font-size: 24px; }
	#index #sec_1 .txtbox .sectitle { margin-bottom: 20px; }
}
@media screen and (max-width: 500px){
	#index #sec_1 .txtbox .txt .msg { margin-bottom: 20px; }
	#index #sec_1 .txtbox .link { margin-top: 30px; }
	#index #sec_1 .obj { bottom: -70px; right: 4%; width: 60px; height: 42px; }
	#index #sec_1 .txtbox .sectitle .main { font-size: 20px; }
}


#index #sec_2 .list{  }
#index #sec_2 .list>ul { display: flex; flex-direction: row;  margin-left: -20px; }
#index #sec_2 .list>ul>li{ margin-left: 20px; width: calc(33.3% - 20px);  }
#index #sec_2 .list>ul>li .imgbox{ margin-bottom: 20px; }
#index #sec_2 .list>ul>li .imgbox img { max-height: 300px; width: 100%; object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/}
#index #sec_2 .list>ul>li .txtbox{  }
#index #sec_2 .list>ul>li .txtbox .title{ text-align: center; font-weight: bold; font-size: 20px; margin-bottom: 10px; line-height: 1.6; }
#index #sec_2 .link { margin-top: 40px; text-align: center; }
@media screen and (max-width: 1040px){
}
@media screen and (max-width: 767px){
	#index #sec_2 .list { overflow: hidden; }
	#index #sec_2 .list>ul{ display: block; margin-left: 0; margin-bottom: -30px; }
	#index #sec_2 .list>ul>li{ margin-left: 0; width: 100%; margin-bottom: 30px; }
	#index #sec_2 .list>ul>li .imgbox img{  width: 100%; height: 300px; object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ }
	#index #sec_2 .link { margin-top: 30px; }
}


#index #sec_3 {  }
#index #sec_3 .copy{ text-align: center; }
#index #sec_3 .bnrbox{ margin-top: 40px; }
#index #sec_3 .bnrbox>ul { display: flex; flex-direction: row; flex-wrap: wrap;margin-left: -30px; }
#index #sec_3 .bnrbox>ul>li { margin-left: 30px; width: calc(33.33% - 30px); display: flex; }
#index #sec_3 .bnrbox>ul>li>a { width: 100%; min-width: 0; }
@media screen and (max-width: 1040px){
	#index #sec_3 .copy{ text-align: left;}
	#index #sec_3 .copy br{ display: none; }
}
@media screen and (max-width: 767px){
	#index #sec_3 .bnrbox>ul{ display: block; margin-left: 0; }
	#index #sec_3 .bnrbox>ul>li{ margin-left: 0; width: 100%; display: block; margin-top: 10px; }
	#index #sec_3 .bnrbox>ul>li:first-child{ margin-top: 0; }
	#index #sec_3 .bnrbox{ margin-top: 30px; }
}
@media screen and (max-width: 500px){
}


#index #sec_4 .txt{ text-align: center; margin-bottom: 35px; }
#index #sec_4 .imgboxwrap { position: relative; width: 100%; }
#index #sec_4 .imglist>ul{ display: flex; flex-direction: row; flex-wrap: wrap; }
#index #sec_4 .imglist>ul>li{ width: 16.66%; }
#index #sec_4 .imglist>ul>li:nth-child(2),
#index #sec_4 .imglist>ul>li:nth-child(3),
#index #sec_4 .imglist>ul>li:nth-child(5),
#index #sec_4 .imglist>ul>li:nth-child(8),
#index #sec_4 .imglist>ul>li:nth-child(10),
#index #sec_4 .imglist>ul>li:nth-child(11){ width: 33.33%; }
#index #sec_4 .txtbox{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
#index #sec_4 .txtbox>.inwrap{ position: relative; }
#index #sec_4 .txtbox>.inwrap:before{ content: ""; width: 0; height: 0; border-style: solid; border-width: 0 215px 100px 215px; border-color: transparent transparent #fff transparent; display: block; }
#index #sec_4 .txtbox>.inwrap>.inwrap{ background: #fff; width: 430px; box-sizing: border-box; padding-top: 30px; padding-left: 50px; padding-right: 50px; padding-bottom: 55px; }
#index #sec_4 .txtbox>.inwrap .copytxt{ font-size: 24px; text-align: center; line-height: 1.6; }
#index #sec_4 .txtbox>.inwrap .copytxt .noto { font-feature-settings : "palt"; }
#index #sec_4 .txtbox>.inwrap .copytxt>p.kakeru{ text-align: center; margin-top: 10px; line-height: 1; }
#index #sec_4 .txtbox>.inwrap .copytxt>p.kakeru>span{ width: 28px; height: 28px; display: inline-block; position: relative; }
#index #sec_4 .txtbox>.inwrap .copytxt>p.kakeru>span:before,
#index #sec_4 .txtbox>.inwrap .copytxt>p.kakeru>span:after{ content: ""; display: block; width: 100%;/*バツ線の長さ*/ height: 2px;/*バツ線の太さ*/ background: #000; transform: rotate(45deg); transform-origin:0% 50%; position: absolute; top: 0; left: 14%; }
#index #sec_4 .txtbox>.inwrap .copytxt>p.kakeru>span:after{ transform: rotate(-45deg); transform-origin:100% 50%; left: auto; right: 15%; }
#index #sec_4 .txtbox>.inwrap .link { margin-top: 35px;}
#index #sec_4 .txtbox>.inwrap .link>a.btn { width: 100%; }
@media screen and (max-width: 1040px){
	#index #sec_4 .txtbox>.inwrap:before{ border-width: 0 200px 90px 200px; }
	#index #sec_4 .txtbox>.inwrap>.inwrap{ width: 400px; padding-top: 20px; padding-left: 35px; padding-right: 35px; padding-bottom: 40px; }
	#index #sec_4 .txtbox>.inwrap .copytxt{ font-size: 20px; }
	#index #sec_4 .txtbox>.inwrap .link{ margin-top: 35px; }
	#index #sec_4 .imglist>ul{ height: 610px; position: relative; overflow: hidden; }
	#index #sec_4 .imglist>ul>li{ height: 34%; position: relative; overflow: hidden; }
	#index #sec_4 .imglist>ul>li img{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 110%; height: 110%; object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ }
	#index #sec_4 .txt{ text-align: justify; }
}
@media screen and (max-width: 767px){
	#index #sec_4 .imglist>ul{ height: 560px; }
}
@media screen and (max-width: 500px){
	#index #sec_4 .txtbox>.inwrap:before { border-width: 0 150px 60px 150px; }
	#index #sec_4 .txtbox>.inwrap>.inwrap { width: 300px; padding-top: 20px; padding-left: 20px; padding-right: 20px; padding-bottom: 30px; margin-top: -1px; }
	#index #sec_4 .txtbox>.inwrap .link { margin-top: 25px; }
	#index #sec_4 .txtbox>.inwrap .copytxt { font-size: 18px; }
	#index #sec_4 .imglist>ul>li{ width: 25%; }
	#index #sec_4 .imglist>ul>li:nth-child(2),
	#index #sec_4 .imglist>ul>li:nth-child(3),
	#index #sec_4 .imglist>ul>li:nth-child(5),
	#index #sec_4 .imglist>ul>li:nth-child(8),
	#index #sec_4 .imglist>ul>li:nth-child(10),
	#index #sec_4 .imglist>ul>li:nth-child(11){ width: 50%; }
	#index #sec_4 .imglist>ul>li:nth-child(2),
	#index #sec_4 .imglist>ul>li:nth-child(5),
	#index #sec_4 .imglist>ul>li:nth-child(11) { display: none; }
}


#index #sec_5 .list{  }
#index #sec_5 .list>ul { display: flex; margin-left: -30px; flex-wrap: wrap; }
#index #sec_5 .list>ul>li {width: calc(33.3% - 30px); margin-left: 30px; display: flex; }
#index #sec_5 .list>ul>li:nth-child(4) { display: none; }
#index #sec_5 .list>ul>li>a { width: 100%; display: block; text-decoration: none; }
#index #sec_5 .list>ul>li>a .img {position: relative;overflow: hidden;height: 250px;width: 100%;display: block; background: #ccc;}
#index #sec_5 .list>ul>li>a .img img {width: 100%;height: 100%;object-fit: cover;font-family: 'object-fit: cover;'; transition: 0.6s; }
#index #sec_5 .list>ul>li>a:hover .img img { transform: scale(1.1); }
#index #sec_5 .list>ul>li>a .img .newicon { background: #ffdb3f; line-height: 1; padding: 12px; position: absolute; top: 0; left: 0; color: #fff; }
#index #sec_5 .list>ul>li>a .txtbox { background: #fff; padding: 20px 30px 20px; height: calc(100% - 220px); }
#index #sec_5 .list>ul>li>a .txtbox .title{ line-height: 1.6; }
#index #sec_5 .list>ul>li>a .txtbox .date { font-size: 12px; margin-top: 20px; }
#index #sec_5 .link{ text-align: center; margin-top: 45px; }
@media screen and (max-width: 1040px){
	#index #sec_5 .list>ul { margin-bottom: -20px; margin-left: -20px; }
	#index #sec_5 .list>ul>li { width: calc(50% - 20px); margin-bottom: 20px; margin-left: 20px; }
	#index #sec_5 .list>ul>li:nth-child(4) { display: flex; }
}
@media screen and (max-width: 767px){
	#index #sec_5 .list>ul { margin-left: 0; display: block; }
	#index #sec_5 .list>ul>li { width: 100%; margin-left: 0; display: block; }
	#index #sec_5 .list>ul>li:nth-child(4) { display: block; }
	#index #sec_5 .list>ul>li>a { display: block; }
	#index #sec_5 .list>ul>li>a .txtbox { height: auto; }
	#index #sec_5 .link { margin-top: 30px; }
}
@media screen and (max-width: 500px){
	#index #sec_5 .list>ul>li>a .img { height: 200px; }
	#index #sec_5 .list>ul>li>a .txtbox { padding: 20px 0 20px; }
}













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


#concept


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

/* common */
#concept {  }
#concept #main .wideimg { width: 100%; max-height: 600px; object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ display: block; margin-bottom: 60px; }
#concept #main .num { font-size: 46px; }
@media screen and (max-width: 767px) { 
	#concept #main .wideimg { height: 300px; margin-bottom: 40px; }
}
/* strengthbox */
#concept .strengthbox { display: flex; justify-content: space-between; align-items: center; } 
#concept .strengthbox .titlebox { margin-right: 60px; line-height: 1.6; }
#concept .strengthbox .cap { display: flex; justify-content: flex-start; align-items: center; }
#concept .strengthbox .cap .subtitle { margin-top: 6px; margin-left: 12px; }
#concept .strengthbox .txt { flex: 1; }
@media screen and (max-width: 767px){
	#concept .strengthbox { align-items: center; flex-direction: column; justify-content: flex-start; } 
	#concept .strengthbox .titlebox { margin-right: 0px;width: 100%;  }
}

#concept #sec_1 { text-align: center; } 
#concept #sec_1 .txt { margin-bottom: 30px; }
@media screen and (max-width: 767px){
	#concept #sec_1 { text-align: left; }
	#concept #sec_1 .txt { margin-bottom: 20px; }
	#concept #sec_1 .txt .br1 { display: none; }
}

#concept #sec_2 { }
@media screen and (max-width: 767px){
}

#concept #sec_3 { }
@media screen and (max-width: 767px){
}

#concept #sec_4 .imgbox { display: flex; justify-content: space-between; align-items: center; margin-bottom: 60px; }
#concept #sec_4 .imgbox img { width: 33.33%; max-height: 600px; }
@media screen and (max-width: 767px){
	#concept #sec_4 .imgbox { margin-bottom: 40px; }
	#concept #sec_4 .imgbox img { width:50%; height: 300px; object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ display: block; }
	#concept #sec_4 .imgbox img:nth-child(2) { display: none; }
}













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


#about


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

/* common */
#about {  }

#about #sec_1 .txt.big2 { font-size: 24px; padding: 5px 0; display: inline-block; }
#about #sec_1 .name { font-size: 18px; }
@media screen and (max-width: 767px) { 
	#about #sec_1 .txt.big2 { font-size: 18px; }
	#about #sec_1 .name { font-size: 16px; }
}


#about #sec_2 {  }
#about #sec_2 .block { display: flex; justify-content: space-between; margin-bottom: 100px; }
#about #sec_2 .block dl { width: calc((100% - 60px) / 2); margin-top: -30px; }
#about #sec_2 .block dt { font-weight: bold; margin-top: 30px; }
#about #sec_2 .block dd { border-bottom: 1px #292929 solid; padding-bottom: 30px; }
#about #sec_2 .imgbox { display: flex; justify-content: space-between; align-items: center; }
#about #sec_2 .imgbox li { width: calc(100% / 3);  }
#about #sec_2 .imgbox li img { object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ display: block; width: 100%; height: 100%; max-height: 600px;}
@media screen and (max-width: 1040px) { 
	#about #sec_2 .block { display: block; margin-bottom: 100px; }
	#about #sec_2 .block dl { width: 100%; }
	#about #sec_2 .block dl:nth-child(2) {  margin-top: 0px; }
}
@media screen and (max-width: 767px) { 
	#about #sec_2 .block { margin-bottom: 50px; }
	#about #sec_2 .imgbox li img { height: 300px; }
}
@media screen and (max-width: 500px) { 
	#about #sec_2 .imgbox { flex-direction: column; }
	#about #sec_2 .imgbox li { width: 100%; }
}


#about #sec_3 {  }
#about #sec_3 .map { width: 100%; height: 600px; margin-bottom: 60px; }
#about #sec_3 .addressbox { display: flex; margin-bottom: 50px; padding-bottom: 50px; border-bottom: 1px solid #292929; }
#about #sec_3 .addressbox dl:first-child { margin-right: 60px; }
#about #sec_3 .addressbox dt { font-weight: bold; }
#about #sec_3 .accessbox li { display: flex; align-items: center; }
#about #sec_3 .accessbox li:first-child { margin-bottom: 20px; }
#about #sec_3 .accessbox li span { margin-right: 20px; }
@media screen and (max-width: 767px) { 
	#about #sec_3 .map { margin-bottom: 40px; }
	#about #sec_3 .addressbox { display: block; margin-bottom: 40px; padding-bottom: 40px; }
	#about #sec_3 .addressbox dl:first-child { margin-right: 0; margin-bottom: 20px; }
	#about #sec_3 .accessbox li { display: block; }
	#about #sec_3 .accessbox li:first-child { margin-bottom: 30px; }
	#about #sec_3 .accessbox li span:first-child { display: block; margin-bottom: 10px; color: #292929; background: none; padding: 0; }
}
@media screen and (max-width: 500px) { 
	#about #sec_3 .map { height: 400px; }
	#about #sec_3 .accessbox li span { display: block; }
}


#about #sec_4 {  }
#about #sec_4 .inbox { margin-bottom: 100px; }
#about #sec_4 .inbox li { display: flex; margin-top: 30px; padding-bottom: 30px; border-bottom: 1px solid #292929; }
#about #sec_4 .inbox li:first-child { margin-top: 0; }
#about #sec_4 .inbox li span.year { font-weight: bold; width: 200px; }
#about #sec_4 .inbox li span.txt { flex: 1; }
#about #sec_4 .imgbox { display: flex; justify-content: space-between; align-items: center; }
#about #sec_4 .imgbox li { width: calc(100% / 3);  }
#about #sec_4 .imgbox li img { object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ display: block; width: 100%; height: 100%; }
@media screen and (max-width: 1040px) { 
}
@media screen and (max-width: 767px) { 
	#about #sec_4 .inbox { margin-bottom: 50px; }
	#about #sec_4 .inbox li span.year { width: 160px; }
}
@media screen and (max-width: 500px) { 
	#about #sec_4 .inbox li { flex-direction: column; }
	#about #sec_4 .inbox li span { width: 100%; display: block; }
	#about #sec_4 .inbox li span.txt { flex:auto; }
}







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


#flow


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

/* common */
#flow {  }

/* borderbox */
#flow #main li.borderbox { margin-bottom: 20px; }
#flow #main li.borderbox .inwrap { display: flex; align-items: center; }
#flow #main li.borderbox .inwrap span.title { font-weight: bold; font-size: 24px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; font-feature-settings : "palt"; margin-left: 15px; }
#flow #main li.borderbox .inwrap span.txt { flex: 1; margin-left: 30px; }
@media screen and (max-width: 1040px) { 
	#flow #main li.borderbox .inwrap { display: block; }
	#flow #main li.borderbox .inwrap span.subtitle { display: inline-block; }
	#flow #main li.borderbox .inwrap span.title { display: inline-block; }
	#flow #main li.borderbox .inwrap span.txt { display: block; margin-left: 0; width: 100%; }
}
@media screen and (max-width: 767px) { 
	#flow #main li.borderbox .inwrap span.title { display: block; margin-bottom: 10px; margin-left: 0; }
}
@media screen and (max-width: 500px) { 
	#flow #main li.borderbox .inwrap span.title { font-size: 18px; }
}


/* #sec_1 */
#flow #sec_1 .copy,
#flow #sec_1 .txt { text-align: center; }
@media screen and (max-width: 500px) { 
	#flow #sec_1 .copy { text-align: left; }
	#flow #sec_1 .copy br { display: none; }
	#flow #sec_1 .txt { text-align: justify; }
}


/* #sec_2 */
#flow #sec_2 { }
#flow #sec_2 ul { margin-bottom: 60px; }
@media screen and (max-width: 500px) { 
	#flow #sec_2 ul { margin-bottom: 40px; }
}


/* #sec_3 */
#flow #sec_3 { }
#flow #sec_3 ul { margin-bottom: 60px; }
#flow #sec_3 .imgbox { display: flex; justify-content: space-between; align-items: center; }
#flow #sec_3 .imgbox img { width: 50%; }
@media screen and (max-width: 767px) { 
	#flow #sec_3 .imgbox { display: block; }
	#flow #sec_3 .imgbox img { width: 100%; }
}
@media screen and (max-width: 500px) { 
	#flow #sec_3 ul { margin-bottom: 40px; }
}









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


#wecan


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

/* common */
#wecan {  }

/* common */
#wecan #main .incnt { position: static; }
#wecan #main .block { display: flex; justify-content:flex-end; align-items: center; min-height: 700px;  }
#wecan #main .block .imgbox { position: absolute; top: 0; left: 0; width: calc(50% + 300px); height: 100%; z-index: -1; }
#wecan #main .block .imgbox img { object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ display: block; width: 100%; height: 100%; }
#wecan #main .block .txtbox { width: 450px; margin: 60px 0; }
@media screen and (max-width: 767px) {
	#wecan #main .block .imgbox {position: static; width: 100%; height: 400px;}
	#wecan #main .block { display: block; min-height: 0; }
	#wecan #main .block .txtbox { width: auto; margin: 30px 6% 0; }
}
@media screen and (max-width: 500px) {
	#wecan #main .block .imgbox { height: 300px;}
}

	

/* #sec_intro */
#wecan #sec_intro .copy,
#wecan #sec_intro .txt { text-align: center; }
@media screen and (max-width: 767px) { 
	#wecan #sec_intro .copy { text-align: left; }
	#wecan #sec_intro .copy br { display: none; }
	#wecan #sec_intro .txt { text-align: justify; }
}


#wecan #sec_1,
#wecan #sec_3,
#wecan #sec_5 { position: relative; }


#wecan #sec_2,
#wecan #sec_4,
#wecan #sec_6 { position: relative; }
#wecan #sec_2 .block,
#wecan #sec_4 .block,
#wecan #sec_6 .block { justify-content: flex-start; }
#wecan #sec_2 .block .imgbox,
#wecan #sec_4 .block .imgbox,
#wecan #sec_6 .block .imgbox { left: auto; right: 0; }
#wecan #sec_2 .block .txtbox,
#wecan #sec_4 .block .txtbox,
#wecan #sec_6 .block .txtbox { margin-right: auto; }
@media screen and (max-width: 767px) {
	#wecan #sec_2 .block .txtbox,
	#wecan #sec_4 .block .txtbox,
	#wecan #sec_6 .block .txtbox  { width: auto; margin: 30px 6% 0; }
}






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


#works.index


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

/* common */
#works.index {  }

/* #sec_1 */
#works.index #sec_3 ul.tag { text-align: center; margin-bottom: 30px; }
#works.index #sec_3 ul.tag li { display: inline-block; margin: 0 5px 5px; }
#works.index #sec_3 ul.tag li a { font-size: 20px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; text-decoration: none; position: relative; }
#works.index #sec_3 ul.tag li.current a:before { content:''; width: 100%; height: 3px; display: inline-block; position: absolute; bottom: -7px; left: 0; background: #292929; }
@media screen and (max-width: 767px){
	#works.index #sec_3 ul.tag li a {  font-size: 16px; } 
	#works.index #sec_3 ul.tag li.current a:before { height: 2px; bottom: -4px; }
}


/* #sec_1 */
/* ul.list */
#works.index #sec_intro~.section ul.list { display: flex; margin-left: -30px; flex-wrap: wrap; margin-bottom: -20px; }
#works.index #sec_intro~.section ul.list>li { width: calc(33.3% - 30px); margin-left: 30px; display: flex; justify-content: center; margin-bottom: 30px; }
#works.index #sec_intro~.section ul.list>li>a { width: 100%; display: block; text-decoration: none; }
#works.index #sec_intro~.section ul.list>li>a .img {position: relative;overflow: hidden;height: 250px;width: 100%;display: block; background: #ccc;}
#works.index #sec_intro~.section ul.list>li>a .img img {width: 100%;height: 100%;object-fit: cover;font-family: 'object-fit: cover;'; transition: 0.6s; }
#works.index #sec_intro~.section ul.list>li>a:hover .img img { transform: scale(1.1); }
#works.index #sec_intro~.section ul.list>li>a .img .newicon { background: #ffdb3f; line-height: 1; padding: 12px; position: absolute; top: 0; left: 0; color: #fff; }
#works.index #sec_intro~.section ul.list>li>a .txtbox { background: #fff; padding: 20px 30px 20px; }
#works.index #sec_intro~.section ul.list>li>a .txtbox .title{ line-height: 1.8; }
#works.index #sec_intro~.section ul.list>li>a .txtbox .date { font-size: 12px; margin-top: 20px; }
#works.index #sec_intro~.section .link{ text-align: center; margin-top: 45px; }
@media screen and (max-width: 1040px){
	#works.index #sec_intro~.section ul.list { margin-bottom: -20px; margin-left: -20px; }
	#works.index #sec_intro~.section ul.list>li { width: calc(50% - 20px); margin-bottom: 20px; margin-left: 20px; }
}
@media screen and (max-width: 767px){
	#works.index #sec_intro~.section ul.list { margin-left: 0; display: block; }
	#works.index #sec_intro~.section ul.list>li { width: 100%; margin-left: 0; display: block; }
	#works.index #sec_intro~.section ul.list>li>a { display: block; }
	#works.index #sec_intro~.section ul.list>li>a .txtbox { height: auto; }
	#works.index #sec_intro~.section .link { margin-top: 30px; }
}
@media screen and (max-width: 500px){
	#works.index #sec_intro~.section ul.list>li>a .img { height: 200px; }
	#works.index #sec_intro~.section ul.list>li>a .txtbox { padding: 20px 0 20px; }
}










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


#works.under


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

/* common */
#works.under #main .incnt { display: flex; justify-content: space-between; }
#works.under #main #base { flex: 1; margin-right: 80px; }
#works.under #main #side { width: 280px; }
@media screen and (max-width: 1040px) { 
	#works.under #main .incnt { display: block; }
	#works.under #main #base { margin-right: 0px; }
	#works.under #main #side { width: 100%; margin-top: 100px; }
}
@media screen and (max-width: 767px) { 
}

/* #sec_1 */
#works.under #sec_1 { min-height: 600px; }
#works.under #sec_1 .worksinfo{ display: flex; flex-direction: row; align-items: center; margin-left: -15px; margin-bottom: 20px; }
#works.under #sec_1 .worksinfo .day,
#works.under #sec_1 .worksinfo .location{ margin-left: 15px;  font-size: 11px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; }
#works.under #sec_1 .worksinfo .location:before{ content: "/ "; margin-right: 10px; }
#works.under #sec_1 ul.tag { margin: 0 0 40px; }
#works.under #sec_1 ul.tag li { display: inline-block; margin-right: 1em; }
#works.under #sec_1 ul.tag li:first-child { font-size: 11px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; margin-right: 0; }
#works.under #sec_1 ul.tag li a { text-decoration: none; }
#works.under #sec_1 ul.tag li a:hover { text-decoration: underline; }
#works.under #sec_1 .txtbody{margin-top: 40px; }
/* #works.under #sec_1 .txtbody img { margin: 0 auto; max-width: 760px; width: 100%; display: block;  } */
@media screen and (max-width: 767px) { 
	#works.under #sec_1 { min-height: 0; }
}


#works.under #sec_1 ul.imgbox { display: flex; flex-wrap: wrap; margin-top: 40px;}
#works.under #sec_1 ul.imgbox li { width: 33.33%; display: block; position: relative; }
#works.under #sec_1 ul.imgbox li a { text-decoration: none; }
#works.under #sec_1 ul.imgbox li a .thumb { object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100%;  z-index: -1; }
#works.under #sec_1 ul.imgbox li a span { display: block; width: 100%; height: 275px; overflow: hidden; text-align: center;}
#works.under #sec_1 .modal .cover { height: 100vh; width: 100%; position: fixed; top: 0; left: 0; display: none; z-index: 1010; }
#works.under #sec_1 .modal .bg { background: rgba(0,0,0,0.8); height: 100%; width: 100%; position: absolute; top: 0; left: 0; }
#works.under #sec_1 .modal .main { background: #fff; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; max-width: 1500px; width: 88%; max-height: 88%; }
#works.under #sec_1 .modal .main img { object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100%; }
#works.under #sec_1 .modal .main .closebtn  {display: block;background: transparent;width: 80px;height: 80px;cursor: pointer;z-index: 1011;position: fixed;top: 0;right: 0;transition: 0.3s;background: #000;}
#works.under #sec_1 .modal .main .closebtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; }
#works.under #sec_1 .modal .main .closebtn a .line {width: 30px;height: 5px;background: #fff;position: absolute;left: 50%;margin-left: -26px;transition: all 0.6s;}
#works.under #sec_1 .modal .main .closebtn a #line1 {top: 32px;}
#works.under #sec_1 .modal .main .closebtn a #line2 {bottom: 32px;}
#works.under #sec_1 .modal .main .closebtn.active{  }
#works.under #sec_1 .modal .main .closebtn.active a #line1 {
	-webkit-transform:translateY(5px) translateX(0) rotate(45deg);
	transform:translateY(5px) translateX(0) rotate(45deg);
}
#works.under #sec_1 .modal .main .closebtn.active a #line2 { 
	-webkit-transform:translateY(-5px) translateX(0) rotate(-45deg); 
	transform:translateY(-5px) translateX(0) rotate(-45deg);
}
#works.under .lum-lightbox-inner img{ max-height: calc(100% - 100px); }
#works.under #sec_1  .link { text-align: center; margin-top: 40px; }
@media screen and (max-width: 1300px){
	#works.under #sec_1 ul.imgbox li a span{ height: 190px; }
}
@media screen and (max-width: 1040px){
	#works.under #sec_1 .modal .main { background: #fff; width: 88%; height: 88%; max-height: 600px; }
}
@media screen and (max-width: 767px){
	#works.under #sec_1 ul.imgbox li { width: 50%; }
	/*#works.under #sec_1 ul.imgbox li { width: 100%; margin-left: 0; }*/
	#works.under #sec_1 .modal .cover { display:none!important; }
}
@media screen and (max-width: 639px){
	#works.under #sec_1  .link { text-align: center; margin-top: 30px; }
}
@media screen and (max-width: 500px){
	.lum-lightbox-inner img{ width: 100%; max-width: none; max-height: none; }
	.lum-gallery-button{ height: 26px; }
	#works.under #sec_1 ul.imgbox li a span{ height: 160px; }
	#works.under .lum-lightbox-inner img{ max-height: calc(100% - 60px); max-width: 80%; }
}



#works.under #sec_1 .beforeafterbox{ margin-top: 80px; }
#works.under #sec_1 .beforeafterbox .inwrapbox { display: flex; flex-direction: row; margin-left: -20px;  }
#works.under #sec_1 .beforeafterbox .inwrapbox .beforebox,
#works.under #sec_1 .beforeafterbox .inwrapbox .afterbox{ margin-left: 20px; width: calc(50% - 20px); }
#works.under #sec_1 .beforeafterbox .inwrapbox .beforebox img,
#works.under #sec_1 .beforeafterbox .inwrapbox .afterbox img{ object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100% }
@media screen and (max-width: 767px){
#works.under #sec_1 .beforeafterbox .inwrapbox { display: block;margin-left: 0; margin-top: 40px; }
#works.under #sec_1 .beforeafterbox .inwrapbox .beforebox,
#works.under #sec_1 .beforeafterbox .inwrapbox .afterbox{ margin-left: 0; width: 100%; margin-bottom: 20px; }
#works.under #sec_1 .beforeafterbox .inwrapbox .afterbox{ margin-bottom: 0; }
}






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


#recruit


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

/* common */
#recruit {  }
@media screen and (max-width: 767px) { 
}

/* #sec_1 */
#recruit #sec_1 { text-align: center; }
#recruit #sec_1 .txt.msg { font-weight: normal; }
@media screen and (max-width: 639px) { 
	#recruit #sec_1 .txt { text-align: justify; }
}


/* #sec_2 */
#recruit #sec_2 { }
#recruit #sec_2 .txt { text-align: center; margin-bottom: 40px; }
#recruit #sec_2 .borderbox ul { text-align: center; }
#recruit #sec_2 .borderbox ul li { text-align: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; font-size: 20px; display: inline-block; }
@media screen and (max-width: 639px) { 
	#recruit #sec_2 .txt { text-align: justify; margin-bottom: 30px; }
	#recruit #sec_2 .borderbox ul li { font-size: 16px; }
}


/* #sec_2 */
#recruit #sec_3 {  }
#recruit #sec_3 .inbox li { display: flex; margin-top: 30px; padding-bottom: 30px; border-bottom: 1px solid #292929; }
#recruit #sec_3 .inbox li:first-child { margin-top: 0; }
#recruit #sec_3 .inbox li span.title { font-weight: bold; width: 200px; }
#recruit #sec_3 .inbox li span.txt { flex: 1; }
#recruit #sec_3  .link { text-align: center; margin-top: 40px; }
@media screen and (max-width: 1040px) { 
}
@media screen and (max-width: 767px) { 
	#recruit #sec_3 .inbox { margin-bottom: 50px; }
	#recruit #sec_3 .inbox li span.title { width: 160px; }
	#recruit #sec_3 .link { margin-top: 30px; }
}
@media screen and (max-width: 500px) { 
	#recruit #sec_3 .inbox li { flex-direction: column; }
	#recruit #sec_3 .inbox li span { width: 100%; display: block; }
}












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


#blog.index


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

/* common */
#blog.index {  }
@media screen and (max-width: 767px) { 
}

/* #sec_1 */
/* ul.list */
#blog.index #sec_1 ul.list { display: flex; margin-left: -30px; flex-wrap: wrap; }
#blog.index #sec_1 ul.list>li { width: calc(33.3% - 30px); margin-left: 30px; display: flex; justify-content: center; margin-bottom: 30px; }
#blog.index #sec_1 ul.list>li>a { width: 100%; display: block; text-decoration: none; }
#blog.index #sec_1 ul.list>li>a .img {position: relative;overflow: hidden;height: 250px;width: 100%;display: block; background: #ccc;}
#blog.index #sec_1 ul.list>li>a .img img {width: 100%;height: 100%;object-fit: cover;font-family: 'object-fit: cover;'; transition: 0.6s; }
#blog.index #sec_1 ul.list>li>a:hover .img img { transform: scale(1.1); }
#blog.index #sec_1 ul.list>li>a .img .newicon { background: #ffdb3f; line-height: 1; padding: 12px; position: absolute; top: 0; left: 0; color: #fff; }
#blog.index #sec_1 ul.list>li>a .txtbox { background: #fff; padding: 20px 30px 20px; }
#blog.index #sec_1 ul.list>li>a .txtbox .title{ line-height: 1.8; }
#blog.index #sec_1 ul.list>li>a .txtbox .date { font-size: 12px; margin-top: 20px; }
#blog.index #sec_1 .link{ text-align: center; margin-top: 45px; }
@media screen and (max-width: 1040px){
	#blog.index #sec_1 ul.list { margin-bottom: -20px; margin-left: -20px; }
	#blog.index #sec_1 ul.list>li { width: calc(50% - 20px); margin-bottom: 20px; margin-left: 20px; }
}
@media screen and (max-width: 767px){
	#blog.index #sec_1 ul.list { margin-left: 0; display: block; }
	#blog.index #sec_1 ul.list>li { width: 100%; margin-left: 0; display: block; }
	#blog.index #sec_1 ul.list>li>a { display: block; }
	#blog.index #sec_1 ul.list>li>a .txtbox { height: auto; }
	#blog.index #sec_1 .link { margin-top: 30px; }
}
@media screen and (max-width: 500px){
	#blog.index #sec_1 ul.list>li>a .img { height: 200px; }
	#blog.index #sec_1 ul.list>li>a .txtbox { padding: 20px 0 20px; }
}








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


#blog.under


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

/* common */
#blog.under #main .incnt { display: flex; justify-content: space-between; }
#blog.under #main #base { flex: 1; margin-right: 80px; }
#blog.under #main #side { width: 280px; }
@media screen and (max-width: 1040px) { 
	#blog.under #main .incnt { display: block; }
	#blog.under #main #base { margin-right: 0px; }
	#blog.under #main #side { width: 100%; margin-top: 100px; }
}
@media screen and (max-width: 767px) { 
}

/* #sec_1 */
#blog.under #sec_1 { min-height: 600px; }
#blog.under #sec_1 .day { font-size: 11px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; margin-bottom: 40px; }
#blog.under #sec_1 .cat span { font-size: 11px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; }
#blog.under #sec_1 .cat a { text-decoration: none; }
#blog.under #sec_1 .cat a:hover { text-decoration: underline; }
#blog.under #sec_1 ul.tag { margin: 0 0 60px; }
#blog.under #sec_1 ul.tag li { display: inline-block; margin-right: 1em; }
#blog.under #sec_1 ul.tag li:first-child { font-size: 11px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; margin-right: 0; }
#blog.under #sec_1 ul.tag li a { text-decoration: none; }
#blog.under #sec_1 ul.tag li a:hover { text-decoration: underline; }
/* #blog.under #sec_1 .txtbody img { margin: 0 auto; max-width: 760px; width: 100%; display: block;  } */
@media screen and (max-width: 767px) { 
	#blog.under #sec_1 .day { margin-bottom: 30px; }
	#blog.under #sec_1 ul.tag { margin-bottom: 40px; }
	#blog.under #sec_1 { min-height: 0; }
}































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


#news.index


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

/* common */
#news.index {  }
@media screen and (max-width: 767px) { 
}

/* #sec_1 */
#news.index #sec_1 ul.list li { margin-top: 30px; padding-bottom: 30px; border-bottom: 1px solid #292929; }
#news.index #sec_1 ul.list li:first-child { margin-top: 0px; }
#news.index #sec_1 ul.list li a { text-decoration: none; }
#news.index #sec_1 ul.list li a:hover { text-decoration: underline; color: #292929; }
#news.index #sec_1 ul.list li a .day { font-size: 11px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; margin-top: 5px; }












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


#news.under


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


/* common */
#news.under #main .incnt { display: flex; justify-content: space-between; }
#news.under #main #base { flex: 1; margin-right: 80px; }
#news.under #main #side { width: 280px; }
@media screen and (max-width: 1040px) { 
	#news.under #main .incnt { display: block; }
	#news.under #main #base { margin-right: 0px; }
	#news.under #main #side { width: 100%; margin-top: 100px; }
}
@media screen and (max-width: 767px) { 
}

/* #sec_1 */
#news.under #sec_1 { min-height: 600px; }
#news.under #sec_1 .day { font-size: 11px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; }
#news.under #sec_1 .cat { margin-bottom: 60px; }
#news.under #sec_1 .cat span { font-size: 11px; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.14em; }
#news.under #sec_1 .cat a { text-decoration: none; }
#news.under #sec_1 .cat a:hover { text-decoration: underline; }
/* #news.under #sec_1 .txtbody img { margin: 0 auto; max-width: 760px; width: 100%; display: block;  } */
@media screen and (max-width: 767px) { 
	#news.under #sec_1 .cat {  margin-bottom: 40px; }
	#news.under #sec_1 { min-height: 0; }
}
















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


#contact


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

/* common */
form .formbox>ul { }
form .formbox>ul>li { margin-bottom: 20px; }
form .formbox>ul>li:last-child { margin-bottom: 0 }
form .formbox>ul>li>dl { display: flex; justify-content: space-between; }
form .formbox>ul>li>dl>dt { width: 180px; padding-top: 25px }
form .formbox>ul>li>dl>dt { padding-top: 25px; }
form .formbox.check>ul>li>dl>dt { padding-top: 0; }
form .formbox>ul>li>dl>dd { width: calc(100% - 200px); }
form .formbox>ul>li>dl>dd>ul.tategroup>li { margin-bottom: 10px }
form .formbox>ul>li>dl>dd>ul.tategroup>li:last-child { margin-bottom: 0; }
form .formbox>ul>li>dl>dd>ul.yoko>li{ margin-left: 20px; display: inline-block; }
form .formbox>ul>li>dl>dd>ul.yoko{ margin-left: -20px }
form .formbox>ul>li.radiocheck { padding: 35px 0; }
form .formbox>ul>li.radiocheck>dl { padding-bottom: 45px; }
form .formbox>ul>li.radiocheck>dl:last-child { padding-bottom: 0px; }
form .formbox>ul>li.radiocheck>dl>dt { padding-top: 0; }
form .formbox>ul>li.radiocheck>dl>dd>ul>li { display: inline-block; margin-right: 15px; }
@media screen and (max-width: 767px) { 
	form .formbox>ul>li>dl{ flex-direction: column }
	form .formbox>ul>li>dl>dt{ width: 100%; padding-right: 0; padding-top: 0; margin-bottom: 10px }
	form .formbox>ul>li>dl>dd{ width: 100%; }
	form .formbox>ul>li.radiocheck { padding: 20px 0; }
	form .formbox>ul>li.radiocheck>dl { padding-bottom: 30px; }
	form .formbox>ul>li.radiocheck>dl>dd>ul>li { display: inline-block; margin-right: 15px; }
}
@media screen and (max-width: 639px) { 
	form .formbox>ul>li>dl>dd>ul.yoko>li{ display: block; }
}


/* #sec_intro */
#contact #sec_intro .incnt { text-align: center;}
#contact #sec_intro .txt_thanks { font-size: 18px; text-align: center; }
#contact #sec_intro .tellink { margin: 0 auto 0; display: block;  }
#contact #sec_intro .tellink>svg { width: 32px; height: 32px; margin-right: 5px; display: inline-block; vertical-align: middle; }
#contact #sec_intro .tellink>.tel { font-size: 32px; display: inline-block; vertical-align: middle; line-height: 1.6; }
#contact #sec_intro .txtlist { margin-top: 10px; margin-left: -15px; text-align: center; }
#contact #sec_intro .txtlist>li { margin-left: 15px; display: inline-block; vertical-align: middle; }
@media screen and (max-width: 1040px){
	#contact #sec_intro .tellink>.tel { font-size: 24px; }
}
@media screen and (max-width: 767px) { 
	#contact #sec_intro .copy,
	#contact #sec_intro .txt { text-align: left; }
	#contact #sec_intro .copy br,
	#contact #sec_intro .txt br { display: none; }
	#contact #sec_intro .txt_thanks { font-size: 15px; }
}
@media screen and (max-width: 500px) { 
	#contact #sec_intro .tellink>.tel { font-size: 18px; }
	#contact #sec_intro .tellink>svg { width: 25px; height: 25px; }
}

/* #sec_form */
#contact #sec_form .txt { margin-bottom: 40px; text-align: center; }
#contact #sec_form .formbox { margin-bottom: 60px; }
#contact #sec_form .policy { height: 200px; overflow: scroll; margin-bottom: 20px; padding: 50px; }
#contact #sec_form .title { font-size: 18px; font-weight: bold; text-align: center; margin-bottom: 10px; }
#contact #sec_form .privacycheck { text-align: center; margin-bottom: 40px; }
@media screen and (max-width: 767px) { 
	#contact #sec_form .txt { margin-bottom: 20px; text-align: left; }
	#contact #sec_form .policy {  }
}



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


#footer


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

#footer #fnav { width: 690px; }
@media screen and (max-width: 1350px) { 
	#footer #fnav { width: 600px; }
}