@charset "UTF-8";

	.onlyPC{ display:inline;}
	.onlySP{ display:none;}
	
	
	.fixedMenu{ display:none;}

@media screen and (max-width: 1100px) {
	
	html,
	body{    min-width: inherit;}
	
	body#top #main{}
	
	.onlyPC{ display:none !important;}
	.onlySP{ display:inline !important;}
	
	
	html.touchDevice,
	.touchDevice body{ font-size:23px;line-height:1.6;}
	
	#sideFixRight,
	#sideFixLeft{ display:none;}
	
	
	
	

/* class
----------------------------------------------- */
.globalInner,
section .globalInner{ width:calc(100% - 140px); min-width:inherit;}

.siteHeader .globalInner{ width:100% !important; padding:0 20px;min-width:inherit;}


section .text{ width:auto;}

.spMenuBtn{ width:66px; height:57px; background-color:transparent; position:absolute; top:21px; right:20px; cursor:pointer;transition: all 300ms cubic-bezier(.50,.0,.50,1);}
	.spMenuBtn hr{ width:42px; height:3px; background-color:#c9caca; border:0; }
	.spMenuBtn hr:nth-of-type(1) { position:absolute; top:12px; left:12px;}
	.spMenuBtn hr:nth-of-type(2) { position:absolute; top:27px; left:12px;}
	.spMenuBtn hr:nth-of-type(3) { position:absolute; top:42px; left:12px;}
	
	.spMenuBtn.hide{ opacity:0;}

	 
.fixedMenu{ display:block; background-color:#cb0000;position:fixed; top:110px; left:0; z-index:9000; width:100%; height:0; overflow:hidden;transition: all 500ms cubic-bezier(.50,.0,.50,1);}
.fixedMenu.open{ height:100%;}


.fixedMenuClose.active{ display:block; }


.cell{ }
.cell_l,
.cell_r{ height:1.5em;}
.cell_l{ }
.cell_r{ }
.cell .cat{ line-height:1; padding-top:2px;}



dl.list dt .cell{ width:auto;}

dl.list dt .cell_l,
dl.list dt .cell_r{height:1.5em;}

dl.list dt .cell .cat{ line-height:1; padding-top:2px;}

dl.list dd a{ line-height:1.5;}

/* header footer
----------------------------------------------- */

.siteHeader h1{ width:360px; height:46px; top:25px;}

.siteHeader ul.menu{ display:none;}


footer#globalFooter .logo{ display:none;}

footer#globalFooter .info{ display:none;}

footer#globalFooter ul.menu {
    position:relative;
    top: 0px;
    left: 0px;
	overflow:hidden;
	padding-top:80px;
	margin-bottom:40px;
}
footer#globalFooter ul li{ width:50%; float:left;}

footer#globalFooter ul li:nth-of-type(1) ,
footer#globalFooter ul li:nth-of-type(2) { margin-bottom:40px;}


footer#globalFooter ul.menu > li:nth-of-type(4) {
    position:relative;
    top: auto;
    left: auto;
}

footer#globalFooter ul.menu ul{ }
footer#globalFooter ul.menu ul li{ width:100%; float:none; }


footer#globalFooter ul.menu  li a.blog{  margin-bottom:40px; display: inline-block;}


footer#globalFooter .onlySP{ text-align:center; padding-top:50px; padding-bottom:50px;}

footer#globalFooter .onlySP  .sns{ margin:auto; width:100%;}


footer#globalFooter .onlySP  .sns a{ display:block; margin:auto; width:80px; height:80px;  border-radius:50%; margin-bottom:40px; text-indent:-999px; overflow:hidden;background:url(./img/common/icon_facebook.svg) center center no-repeat #999999; background-size:contain;}

footer#globalFooter .copyright{ line-height:40px; font-size:10px !important; margin-bottom:50px;}




/* top
----------------------------------------------- */
body#top #mainVisual {
    min-height: 650px;
    padding: 20px 0 20px 0;
}



body#top #mainVisual .frame{ width:562px; height:562px;}
	
	body#top #mainVisual .frame .unit{ width:562px; height:562px;}
	body#top #mainVisual .frame .frameMask{ width:562px; height:562px;}
	
	
body#top #mainVisual .frame ul li#fmt {
    position: absolute;
    top: 13px;
    left: 145px;
}

	body#top #mainVisual .frame ul li#fmt .moveTarget{ top:9px;}

body#top #mainVisual .frame ul li.tb {
    width: 275px;
    height: 300px;
}


body#top #mainVisual .frame ul li.tb .moveTarget{ top:-30px !important}

body#top #mainVisual .frame ul li#fml {
    position: absolute;
    top: 140px;
    left: 10px;
}

body#top #mainVisual .frame ul li.side {
    width: 135px;
    height: 280px;
}


body#top #mainVisual .frame ul li#fmc {
    position: absolute;
    top: 140px;
    left: 145px;
}


body#top #mainVisual .frame ul li.center {
    width: 270px;
    height: 280px;
}

body#top #mainVisual .frame ul li#fmr {
    position: absolute;
    top: 140px;
    left: 415px;
}

body#top #mainVisual .frame ul li#fmb {
    position: absolute;
    top: 413px;
    left: 145px;
}

body#top section#news header{ margin-bottom:30px;}
body#top section#news header .more{ margin-right:0;}

dl.list{ margin-bottom:30px; padding-bottom:30px;}
dl.list dt {
	position:relative;
	width:auto;
	top:0;
	left:0;
	margin-bottom:10px;
	
}
dl.list dd {
    padding-left: 0px;
    line-height: 1.4;
}
dl.list dt .category{ position:relative;    top: -7px;}

.box2col dl.box:nth-child(odd),
.box2col dl.box:nth-child(even){ margin:0 0 40px 0;}

.box3col{ display: block;}
.box3col dl.box:nth-child(odd),
.box3col dl.box:nth-child(even){ margin:0 0 40px 0;}

dl.box{ width:100%; margin:auto; float:none; padding-top:140px; position:relative;}
dl.box dt{ height:62.5%;}
dl.box dd h3 a{ text-decoration:none;pointer-events:auto; color:#333333; border-bottom:solid 2px #cb0000; display:inline-block; margin-bottom:20px; line-height:1; padding-bottom:5px;}
dl.box dd{ position:absolute; top:0; left:0; width:100%; height:140px; overflow:hidden;}

dl.box  .more{ display:none;}







.parallax img{ width:1200px; height:auto; position:absolute;left:50%; margin-left:-600px; z-index:1;}


section#mainVisual header, section#mainVisual header .photo{ height:330px;}


section#mainVisual header h2{ padding-top:118px;font-size:2.6rem;}
	.touchDevice body section#mainVisual header h2{font-size:1.8rem;}

section#mainVisual header h2:after{ top:175px;}

section h3.title{font-size: 1.3rem;}

/* about
----------------------------------------------- */

body#about section#mainVisual header .photo{
 background:url(./img/about/photo_1_sp.jpg) center center no-repeat; background-size:cover;
}
 
 body#top .parallax img{ left:0; margin-left:0;}

body#about section h2.markTitle {
    position: relative;
    margin:-85px 0 40px 0px;
}


body#about section .text{ }
body#about section .text .beyond{ text-align:left; margin-bottom:0;}
body#about section .text .beyond img{ width:90%; height:auto;}

body#about section h2.markTitle{}



section.message{ }
section.message .globalInner{ position:relative;}
section.message .left{ float:none;}
section.message .right{ float:none;}
section.message h4{margin-bottom:20px; font-size: 1.4em;}

section.message .photo{ width:100%; margin-bottom:40px;}


section#message_1{ margin-bottom:20px;}
section#message_1 .photo .image{ background-position:center 25%; padding-top:100%;}
section#message_1 .left{ width:100%;}
section#message_1 .right{ width:100%;}

section#message_2{ margin-bottom:20px;padding-bottom: 0px;}
section#message_2 .globalInner{ }
section#message_2 .photo .image{  background-position:center 30%; margin-bottom:10px;  padding-top:100%;}
section#message_2 .right{ width:100%;}


section#message_2 .left{width:100%;}


section#message_3{}
section#message_3 .photo .image{  background-position:center 30%; margin-bottom:10px; padding-top:100%; }
section#message_3 .left{ width:100%; margin-bottom: 40px;}

section#message_3 .right{width:100%;}
section#message_3  .globalInner{}
section#message_3  .globalInner:after{ content:''; display:block; width:100%; padding-top:40%;}







section#message dl.box{ width:100%;  text-align:center;padding-top: 30px; height:auto;}

section#message dl.box dt{ width:100%; height:0; padding-top:100%; float:none; margin-bottom:20px; background-position:center 10%;} 

section#message dl.box dd{ width:100%; float:none; position:relative;}
section#message dl.box dd span{ display:inline-block; line-height: 1;}
section#message dl.box dd span:nth-of-type(1){ margin-bottom: 8px;font-size: 1.3em;}
section#message dl.box dd span:nth-of-type(2){ margin-bottom: 20px;font-size: 1.3em;}
section#message dl.box dd span:nth-of-type(3){ margin-bottom: 50px;font-size: 1.8em;}
 
 


section#message dl.box dd.profile{ padding-top:10px ;height:auto;}

section#message dl.box dd.profile h4{padding-top:20px ;}
section#message dl.box dd.profile p{ text-align:left;}







/* news service
----------------------------------------------- */
#primary .bgColor{}

body#news #primary .bgColor,
body#printing #primary .bgColor{ }

#primary .categories { margin-bottom:30px; border-bottom:0; padding:10px 0 20px 0; position:relative;}
#primary .categories li{ margin:0 40px 0 40px;}
#primary .boxList article.box{position:relative; width:100%;margin:0 0 80px 0; float:none; text-align:left;}

#primary .boxList article.box dl dt{ padding-top:62.5%; margin-bottom:20px; border:solid 1px #c9caca;}
#primary .boxList article.box dl dt a{padding-top:62.5%; }

#primary .boxList article.box dl .cell{ width:auto;}
#primary .boxList article.box dl .cat{ float:none; white-space:nowrap; border-radius:18px;}
#primary .boxList article.box dl .cat ul{ display:inline-block;}
#primary .boxList article.box dl .cat ul li{display:inline-block;}

#primary .infoArea{  width:calc(100% - 140px);text-align:left; margin:auto;}
#primary .contactBtn{ width:100%;}
#primary .backBtn{ width:100%;}
	.contactBtn a span,
	.backBtn a span{width:380px;}
	#primary nav.set2{ width: 100%;}

body.single article.detail dl dt.mainImage.onlyPC{ display:none !important;}
body.single article.detail dl dd{ text-align:center;}
body.single article.detail dl .date{  margin-bottom:10px; font-size: 1.5em;}
body.single article.detail dl .date.onlySP{padding-top:20px;}
body.single article.detail dl .cat{  white-space:nowrap; border-radius:30px !important; }
body.single article.detail dl h4{ padding-top:40px;}
body.single article.detail dd{ padding:0;}
body.single article.detail .mainImage_sp{ margin-bottom:20px; display:block !important;}


/* news
----------------------------------------------- */
body#news section#mainVisual header .photo{
	background:url(./img/news/photo_1_sp.jpg) center center no-repeat; background-size:cover;
}



/* printing
----------------------------------------------- */
body#printing section#mainVisual header .photo{
	background:url(./img/service/photo_1_sp.jpg) center center no-repeat; background-size:cover;
}


/* company
----------------------------------------------- */
body#company section#mainVisual header .photo{
 background:url(./img/company/photo_1_sp.jpg) center center no-repeat; background-size:cover;
}

#company div dl.line dt{ white-space:nowrap; transform: translate(0,0%); }
#company div dl.line dd{ padding-left:170px; line-height: 1.6;}

.telLink{  pointer-events:auto;  color: #cb0000 !important;    text-decoration: underline !important;}

body#company #history .contents{ padding-bottom:60px;}
body#company #history dl.line dt{ line-height:1.5;}

body#company #access .contents{ padding-bottom:0px;}
body#company #access .map{  width:calc(100% - 140px); margin:0 auto 50px auto;}
body#company #contact .contents{ padding-top:80px}
body#company #contact .tel{ font-size:2rem; display:inline-block; padding:35px 0;}
body#company #contact .tel a{pointer-events:auto;}
body#company #contact span.sub{ line-height:1.7;}
	
	body#company #access .contents{ width:100%;font-size: 0.5em; }
	body#company #access .contents .spTitle{ font-size: 1.5em;}








.confirmMessage{    font-size: 0.9rem !important;}

	article.formArea .formTable { display: block;border: 0;  grid-template-columns: 1fr !important;}
		article.formArea .formTable .gridItem{ padding: 0 !important; border: 0;}
		article.formArea .formTable  dt { width: auto;  display: block; padding-right: 2vw !important; margin: 0;}
		article.formArea .formTable  dt + dd{width: auto;display: block; padding: 0; margin: 0 0 5vw 0;}

		
		article.formArea .formTable  input,
		article.formArea .formTable  textarea,
		article.formArea .formTable  .checkMessage{ border: 0 !important;  font-size: 22px !important;}
		
		article.formArea .formTable dt + dd span{ display: block;}
		article.formArea .formTable dt + dd{    font-size: 0.9rem !important;}
		
		article.formArea .btnArea,
		article.formArea .btnArea.backBtn{ width: auto; height: auto;}
		article.formArea .btnArea a span{width: auto;}
		article.formArea .btnArea a,
		article.formArea .btnArea.backBtn a{ height: 15vw; display: grid; align-content: center; align-items: center; text-decoration: none;    margin: auto;}
		
				.viewMore .btnArea { height: 15vw; }
	.viewMore .btnArea a{ width: 60vw;  height: 15vw; font-size: 0.8rem; white-space: nowrap;}
	        
	        .viewMore{    padding: 20vw 0 0 0;}
	        .viewMore.submitBtn{    padding: 10vw 0 10vw 0;}


	
}



@media screen and (max-width: 750px) {
	

}













@media (max-width: 767px) {
   /* (E)スマートフォン以下専用スタイル */
      ：　：　：
}
@media (min-width: 768px) and (max-width: 959px) {
   /* (F)タブレット専用スタイル */
      ：　：　：
}
@media (min-width: 960px) and (max-width: 1280px) {
   /* (G)狭いPC専用(＆横置きタブレット)スタイル */
      ：　：　：
}
@media (min-width: 1281px) {
   /* (H)広いPC以上専用スタイル */
      ：　：　：
}

@media (max-width: 959px) {
   /* (E)スマートフォン以下専用スタイル */
	
}

@media (min-width: 960px) and (max-width: 1280px) {
   /* (G)狭いPC専用(＆横置きタブレット)スタイル */
      ：　：　：
}
@media (min-width: 1281px) {
   /* (H)広いPC以上専用スタイル */
      ：　：　：
}





