@charset "UTF-8";
/*
Theme Name: sugitow.co.jp-sp
Version: 1.0.0
*/

/****************************************
General Setting
*****************************************/

body {
	font-size: 14px;
	min-width: 100%;
	letter-spacing: 0px;
	-webkit-text-size-adjust: 100%;
}
.sponly,
.sp {display:   block;}
.pc {display: none;}
img.spimgblock { float: none; display: block; margin-left: auto!important; margin-right: auto!important; margin-bottom: 10px; }
span.spbr { display: block; }
span.pcbr { display: inline; }

/****************************************

Typography

*****************************************/
img {
	max-width: 100%;
	height: auto;
}

footer {
	width: 100%;
}

iframe { max-width: 100%; }

/****************************************

Layout

*****************************************/

#sp_menu_btn {
	position: absolute;
	display: block;
	cursor: pointer;
	width:50px;
	height:50px;
	right:6px;
	margin-top:0px;
	margin-right:0px;
}

#header {
	display: block;
	width: 100%;
	height: 100px;
	height: 60px;
	padding-top: 0px;
	padding-left: 0px;
	margin-left: auto;
	margin-right: auto;
	min-width: 100%;
}
#header #logo img {
	width: auto;
	margin-top: 10px;
	margin-bottom: 5px;
	max-height: 30px;
	margin-left: 10px;
}
#header #logo {
	width: calc(100% - 80px);
}
#header .hdrwrap { display: block; }
header #topcontact { display: none; }
#gnavi {
	position: fixed;
	top: 75px;
	z-index: 999;
	width: 100%;
	float: none;
	display: block;
}

#gnavi.menu_open {
	height: 100%;
	background: #fff;
	overflow-y: scroll;
	padding-bottom: 50px;
}

#rnavi { display: none;}


.menu {
	margin-top:55px;
	margin-left: auto;
	margin:0;
	padding: 0;
	width:100%;
	height: auto;
	float: none;
	display:  none;
}

.menu ul{
	display: block;
	list-style-type: none;
	margin: 0px 0;
	padding: 0px 0;
	text-align: left;
}

.menu li{
	display:block;
	margin: 0px;
	padding: 0px 0px;
	width:100%;
	box-sizing: border-box;
	border-bottom:1px #333 solid;
	background: #fff;
}
.menu li.menu1{
	border-top:1px #333 solid;
}

.menu li.sns01,
.menu li.sns02 {
	display: block;
	width: auto;
	text-align: left;
	border: 0px;
}

.menu li.sns01 a,
.menu li.sns02 a {
	text-align: center;
}
.menu li.sns01 a img { display: inline-block; }
.menu span.wrap,
.menu a{
	display: block;
	text-align: left;
	padding: 15px 10px;
	position: relative;
	color: #333;
	width: auto;
	height: 100%;
	font-size: 15px;
	border: 0px !important;
	line-height: 1.7em;
	background: #fff;
}
.menu a:after {
	content: "";
	position: absolute;
	right: 10px;
	top: 10px;
	width: auto;
	opacity: 1;
	display: none;
}
.menu span.pcbr { display: inline; }
.menu span.wrap span.en,
.menu a span.en {
	display: inline-block;
	font-size: 14px;
	color: #eee;
	padding-left: 2em;
}
.menu a:hover {color: #e00;}
.menu a:hover{
	-webkit-transition: color 0.2s, font 0.2s;
	-moz-transition: color 0.2s, font 0.2s;
	transition: color 0.2s, font 0.2s;
}
.menu ul:after {
	clear: both;
	display: block;
	content: "";
}

.menu a:hover:after { background-color: #fff; }
.menu .child {
	position: relative;
	width: auto;
}

.wrapper03,
.wrapper-f,
.mB .wrapper, .kizi .wrapper,
.wrapper02,
#top-work.wrapper,
#container,
.wrapper {
	margin-left: auto;
	margin-right: auto;
	width: 96%;
}
.mB .wrapper, .kizi .wrapper { width: auto; padding-left: 10px; padding-right: 10px; color: #333;}


#maincon {
	padding: 0px 0px 20px;
}

.sp_menuf {
	color: #000 !important;
	display: block;
	padding: 10px 0px;
	text-align: center;
	border: 1px solid #333;
	font-size: 16px;
}

#newstopics .box1 li {
	margin-bottom: 0px;
	display: block;
	width: auto;
	padding: 10px 0px 0px;
	margin-left: 0px;
}
#newstopics .box1 {
	box-sizing: border-box;
	display: block;
	vertical-align: top;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 40px;
}
#newstopics li h2 { font-size: 14px; }
#newstopics .box3 {
	box-sizing: border-box;
	display: block;
	vertical-align: top;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}
#newstopics .box1 .box1-1 { width: 30%; }
#newstopics .box1 .box1-2  { width: 66%;  padding-top: 0px;}
#newstopics .box1 li h2 { font-size: 14px; }
#newstopics .box1 li a {
    color: #333;
    display: block;
}
#newstopics .blog_info ul { margin-bottom: 30px; }

#newstopics .pickup_info { margin-bottom: 30px; }
#top-work {
	padding-top: 20px;
	padding-bottom: 60px;
	background: linear-gradient(180deg, #fff 0%, #fff 125px, #FFF4E2 125px, #FFF4E2 100%);
	position: sticky;
}
#top-work ul{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 10px 10px;
  max-width: 100%;
  padding: 0 11px;
}
#top-work ul li {
	box-sizing: border-box;
	vertical-align: top;
}

#top-work ul li img {}

#top-work ul li p {
	font-size: 14px;
	padding: 5px 0px;
}

#top-work ul li h2 {font-size: 14px;
	height: auto;
	line-height: 1.5em;
	-webkit-line-clamp: 2; }
#top-work ul li h2 a { display: block; padding-left: 5px; padding-right: 5px; }
#top-work ul li span.label { margin-left: 10px !important; font-size: 11px !important; }

#top-product ul {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 10px 10px;
  padding: 0 11px;
}
#top-product ul li {
	box-sizing: border-box;
	vertical-align: top;
}
#top-product ul li .box1 img {
    display: block;
    width: 100%;
    height: 109px;
    object-fit: cover;
}
#top-product ul li .box2 h2 { font-size: 14px; }
#newstopics .pickup_info h2 { font-size: 15px; margin: 0px 0px 10px; }
#newstopics-wrap {
    display: block;
}
.morebottun { display: block; margin-left: auto; margin-right: auto; width: 150px; padding: 0.5em 3.5em 0.5em 3.2em;}
.morebottun_b {
	position: sticky;
	padding: 0.8em 3.5em 0.8em 3.2em;
	margin: 10px auto !important;
}
.morebottun_l {
	position: sticky;
	padding: 0.8em 3.5em 0.8em 3.2em;
	margin: 10px auto !important;
}
.morebottun_cha {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 30px;
	background-position-x: 98%;
	display: block;
	font-size: 14px;
}
.morebottun_r {
	padding: 18px 2% 18px 2%;
	width: 90%;
}
/* ------- ･footer ------- */

#telmenu {
	height: 0;
	position: fixed;
	overflow: hidden;
	width: 100%;
	z-index: 991;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.65);
	transition: filter 0.3s, opacity 0.3s;
	filter: alpha(opacity=0);
	opacity: 0;
}

#telmenu.active{
	height: 110vh;
	filter:alpha(opacity=100); opacity:1;
}
#telmenu ul{
	padding: 60px 20px 0;
}
#telmenu li{
	background: #fff;
	border-radius: 3px;
	box-shadow:
		-2px 2px 5px #333,
		2px 2px 5px #333;
}
#telmenu li + li{
	margin-top:15px;
}
#telmenu li a{
	display: block;
	text-decoration: none;
	color: #333;
	position: relative;
	padding: 20px 10px 20px 70px;
	font-size: 24px;

}

#telmenu .close{
	display: block;
	width: 140px;
	margin:20px auto 0;
	font-size: 16px;
	line-height: 100%;
	color: #fff;
	text-align: center;
	background: #000;
	border-radius: 6px;
	padding:14px 10px;
	font-weight: bold;
	box-shadow:
		-2px 2px 5px #333,
		2px 2px 5px #333;
}


#telmenu li a span.block{
	display: block;
	position: absolute;
	border-radius: 50%;
	width: 55px;
	height: 55px;
	left:5px;
	top:50%;
	text-align: center;
	transform:translate(0, -50%);
}
#telmenu li a i {
	font-size: 26px;
	line-height: 100%;
	position: absolute;
	color: #605f5f;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

#footer01 { padding: 0px;z-index:10;}
#footer_fixed { position: fixed; bottom: 0px; width: 100%; }
#footer_fixed { padding: 0px; height: auto; }
#footer_fixed .fbtnsp { display: flex; width: 100%; align-items: middle; }
#footer_fixed .fbtnsp span,
#footer_fixed .fbtnsp a {
	display: table-cell;
	border-radius: 0px;
	line-height: 1.3em;
	padding: 0.6em 0.1em;
	font-size: 13px;
	letter-spacing: 0px;
	margin: 0px 0px;
	text-align: center;
	background: #E55F1C;
	color: #fff;
	width: 25%;
}
#footer_fixed .fbtnsp a:nth-child(3) {
	border-right: 1px solid #fff;
}
#footer_fixed .fbtnsp a:nth-child(2) {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}
#footer_fixed .fbtnsp img { display:block; margin: 0px auto; max-height: 55px;  }

#footer01 .box1 {
	width:48%;
	margin: 0px auto;
	text-align: center;
}

#footer01 .box1 img {
	height: 30px;
	margin: auto;
}

#footer01 .box2 {
	width:48%;
	margin: 0px auto;
	text-align: center;
}
#footer02 div.fcom { width: auto; }
#footer02 div.fcom table { width: 100%; }
#footer02 div.fcom .addr { border: 0px; padding-left: 0px; font-size: 11px; padding-right: 0px; }
#footer02 div.fcom h1 {max-width: 100%; margin: auto;  }
#footer02 div.fcom td.sns img { margin: 0px;}
#footer02 div.fcom td a { color: #fff; }
#footer02 div.fcom .akikachi_ban { float: none; margin-bottom: 20px; display: block; margin-left: auto; margin-right: auto; }

#gotop { bottom: 0px; right: 0px; }

#footer02 {
	padding-top: 15px;
}

#footer02 div.box1 {
	float: none;
	width:96%;
	margin: 0 auto 0px auto;
	font-size: 14px;
	border-right: 0px;
}
#footer02 ul { padding: 10px 0px; width: auto; }
#footer02 ul li { display: inline-block; width: 49%; padding: 0px; font-size: 12px; }
#footer02 ul li.first { display: none; }
#footer02 ul li a { display: block; padding: 5px 2px;margin-bottom: 2px; }

#footer02 div.box2 {
	float: none;
	width:96%;
	margin: 0 auto 10px;
	padding: 10px 1%;
}

#footer02 .box1 span {
	display:    block;
}
#footer03 div.fcom .flogo { max-width: 200px; }
/* kaso */
#main { float: none; width: 100%; }
#sidepage { float: none; width: 100%; }
.mB { font-size: 1.3em; margin: 0px; padding: 15px 10px 15px; text-align: center; line-height: 1.5em; height: auto; font-weight: 600; }
.kizi { padding-top: 20px; }

/* kaso */

#footer02 div.fcom .flogo { margin-right: auto; margin-left: auto; display: block; width: 70px; }
#footer03 .box2 { padding: 10px 20px; }
#footer03 { font-size: 11px; line-height: 1.5em; padding-bottom: 30px; }

#top-concept .top-concept-wrap {
	display: block;
	margin-bottom: 50px;
}
.sub-title { font-size: 16px; }
#top-company {
	padding: 30px 0px 30px;
	background: linear-gradient(180deg, #fff 0%, #fff 135px, #FFF4E2 135px, #FFF4E2 100%);
}
#top-company ul { flex-wrap: wrap; padding: 0px 0px; }
#top-company ul li { width: 90%; display: block; margin: 0px auto 10px; box-sizing: border-box; text-align: center; }
#top-company ul li a { font-size: 16px; }
#top-company ul li h2 { font-size: 14px; padding: 5px; }
.top-work ul li { margin: 10px 0.5%; }
.top-work ul li img { height: 150px; }
.top-work ul li .txt { padding: 5px; }
.top-work ul li span.label { font-size: 12px;}
.top-work ul li h2 { font-size: 14px;}
#top-other ul li { width: 48.5%; margin: 10px 0.5%; }

#top-company .topttl,
#top-concept .topttl { font-size: 20px; font-weight: 500; }
#top-concept .item02,
#top-concept .item01 {
	width: auto;
	margin-bottom: 20px;
}
#top-concept .topconttl { display: block; text-align: center; }
#top-concept .item01 .txtright { text-align: center; }
ul.inlink li { width: 30%; margin: 10px 0px; }

#footer02 .foot02 { display: block; }
#footer02 .comnamewrap { font-size: 15px; }
#top-link ul { margin-top: 30px;  }
#top-link ul li { width: 60%; margin: 0px auto; }
#top-link ul li img { display: block; margin: auto; }
