@charset "UTF-8";

/* ========================================
  Fonts
=========================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600&family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap');


/* ===========================================
  Foundation
=========================================== */

*,
::before,
::after {
	background-repeat: no-repeat;
  box-sizing: border-box;
	padding: 0;
  margin: 0;
}

html {
	background: #f5f5f5;
  box-sizing: border-box;-b
	font-family: 'Noto Sans JP', sans-serif;
  font-size: 62.5%;
	min-width:375px;
	margin: 0 auto;
  -webkit-text-size-adjust: 100%;
  word-break: break-all;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd,
ul,
ol {
  margin: 0;
}

ul,
ol {
  list-style: none;
  padding: 0;
}

body {
	background-color: #fff;
	color: #3d3d3d;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.1em;
 	line-height: 1.5;
	min-width:1100px;
	margin-top:-15px;
}

a {
	color: #585858;
	font-weight: 500;
	text-decoration: none;
}
a:hover{
	opacity:0.9;
}
a[href^="tel:"] {
    pointer-events: none;
}

p {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	padding: 0 0 18px;
	line-height: 3rem;
}
.serif{
	font-family: 'Noto Serif JP', serif !important;
}

img,
picture {
	border: 0;
	border-style: none;
  max-width: 100%;
  vertical-align: bottom;
}

input,
button,
textarea,
select {
	background-color: inherit;
	border: 0;
  font: inherit;
}
input::placeholder{
	color: #bbbbbb;
}

select{
		border: 1px solid #ccc;
    padding: 10px;
    border-radius: 8px;
	cursor:pointer;
}

iframe {
	width: 100%;
}
article {
	background: #fff;
	min-height: 400px;
}
.article_wrap {
	background-repeat:repeat-y;
	background-size:contain;
	font-family: "Noto Serif Japanese", sans-serif;
	letter-spacing: 0.2em;
	padding: 0 20px;
	max-width: 1500px;
  margin: 0 auto;
}

#case07 article a{
	text-decoration:none;
}
article a {
	color:#3a5c9d;
	text-decoration:none;
}
article a:hover{
	color:#3a5c9d;
	text-decoration: underline;
}

main{
	margin: 0 auto;
}

a.link{
	text-decoration: underline;
}
a.link:hover {
	text-decoration: none;
}
a.external{
	display: inline-block;
}
a.external:after{
	background-image: url(/mn/wp-content/themes/st_theme/assets/images/external.svg);
  background-size: contain;
  background-position: 10px;
  display: inline-block;
  content: "";
  width: 26px;
  height: 16px;
}


.pc_only{
	display:block !important;
	height: 0;
}
.pc_only_flex{
	display:flex !important;
}
.mid_only{
	display:block !important;
	height: 0;
}
.sp_only{
	display:none !important;
}


/* ===========================================
  Pankuzu
=========================================== */


.breadcrumbs_wrap {
	color: #fff;
}
.breadcrumbs {
	font-size: 1.3rem;
	margin: 0 auto;
	margin-bottom: 20px;
	max-width: 1400px;
  padding: 20px 20px 20px 5px;
	width: 92%;
}
.breadcrumbs a {
	color: #fff;
}
.breadcrumbs a:hover{
	color:#d3d3d3;
	text-decoration:underline;
}



/* ===========================================
  Font Family
=========================================== */

.c-fm-01 { font-family: 'Noto Serif JP', serif;}
.c-fm-02 { font-family: ui-monospace; }


/* ===========================================
  Font Size
=========================================== */
.c-fs_all_8 {	font-size: 0.8rem !important; }
.c-fs_all_10 {	font-size: 1.0rem !important; }
.c-fs_all_12 {	font-size: 1.2rem !important; }
.c-fs_all_14 {	font-size: 1.4rem !important; }
.c-fs_all_16 {	font-size: 1.6rem !important; }
.c-fs_all_18 {	font-size: 1.8rem !important; }
.c-fs_all_20 {	font-size: 2.0rem !important; }
.c-fs_all_24 {	font-size: 2.4rem !important; }
.c-fs_all_28 {	font-size: 2.8rem !important; }
.c-fs_all_30 {	font-size: 3.0rem !important; }
.c-fs_all_32 {	font-size: 3.2rem !important; }
.c-fs_all_33 {	font-size: 3.3rem !important; }


/* ===========================================
  Font Weight
=========================================== */
.bold{ font-weight:600;}
.bold5{ font-weight:500;}


/* ===========================================
  Color
=========================================== */
.c-color_01 {	color: #ff0000 !important; }
.c-color_02 {	color: #0175bf !important; }
.c-color_03 {	color: #face00 !important; }
.c-color_04 {	color: #343434 !important; }
.c-color_05 {	color: #ffffff !important; }
.c-color_06 {	color: #e48282 !important; }

.mark{
	background: linear-gradient(transparent 62%, #ece6d9 62%);
	display:inline;
	font-weight:550;
	margin:0 auto;
}
.lead > .mark{
	font-size: 2rem;
}


.line {
	background: linear-gradient(black, black) 0 100%/0 2px no-repeat;
	transition: background 3s;
	text-decoration: none;
}
.line-after {
	background-size: 100% 2px;
}

/* ===========================================
  Background Color
=========================================== */
.c-bgcolor_01 {	background-color: #f9f9f9 !important; }
.c-bgcolor_02 { background-color: #fff6f6 !important; }




/* ===========================================
  Frame
=========================================== */

.c-frame__01 {
	background-color: #fff;
	border-radius: 20px;
}

.c-frame__02 {
  border: 1px solid #e9e9e9;
  border-radius: 20px;
  display: block;
  padding: 40px 20px !important;
  margin: 40px auto;
  max-width: 1200px;
}

.c-frame__03 {
	background-color: #eaeaea;
  border-radius: 10px;
  display: block;
  padding: 20px !important;
  margin: 20px auto;
  max-width: 1200px;
}


/* ===========================================
  Position
=========================================== */
.c-center {
	display:block;
	text-align:center !important;
	text-indent:inherit;
}
.c-left{
	text-align:left !important;
}
.c-right{
	text-align:right !important;
}
.c-rl{
	line-height: 5.5rem;
	writing-mode: vertical-rl;
}
.c-middle {
	align-items: center;
}


.table{
	display:table !important;
}
.cell{
	display:table-cell !important;
}

.u-w200px{
	max-width: 200px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}
.u-w300px{
	max-width: 300px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}
.u-w400px{
	max-width: 400px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}
.u-w500px{
	max-width: 500px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}
.u-w600px{
	max-width: 600px !important;
	padding: 20px 40px !important;
	margin: 0 auto !important;
}
.u-w700px{
	max-width: 700px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}
.u-w800px{
	max-width: 800px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}
.u-w900px{
	max-width: 900px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}
.u-w1000px{
	max-width: 1000px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}
.u-w1100px{
	max-width: 1100px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}
.u-w1200px{
	max-width: 1200px !important;
	padding: 10px 20px !important;
	margin: 0 auto !important;
}


/* margin */
.u-top10{
	margin-top:10px !important;
}
.u-top20{
	margin-top:20px !important;
}
.u-top30{
	margin-top:30px !important;
}
.u-top40{
	margin-top:40px !important;
}
.u-top50{
	margin-top:50px !important;
}
.u-top60{
	margin-top:60px !important;
}
.u-top70{
	margin-top:70px !important;
}
.u-top80{
	margin-top:80px !important;
}

.u-btm0{
	margin-bottom:0px !important;
}
.u-btm10{
	margin-bottom:10px !important;
}
.u-btm20{
	margin-bottom:20px !important;
}
.u-btm30{
	margin-bottom:30px !important;
}
.u-btm40{
	margin-bottom:40px !important;
}
.u-btm50{
	margin-bottom:50px !important;
}
.u-btm60{
	margin-bottom:60px !important;
}
.u-btm70{
	margin-bottom:70px !important;
}
.u-btm80{
	margin-bottom:80px !important;
}


.u-btp0{
	padding-bottom:0px !important;
}
.u-btp10{
	padding-bottom:10px !important;
}
.u-btp20{
	padding-bottom:20px !important;
}
.u-btp30{
	padding-bottom:30px !important;
}
.u-btp40{
	padding-bottom:40px !important;
}
.u-btp50{
	padding-bottom:50px !important;
}
.u-btp60{
	padding-bottom:60px !important;
}
.u-btp70{
	padding-bottom:70px !important;
}
.u-btp80{
	padding-bottom:80px !important;
}


/* padding */
.u-p0{
	padding: 0 !important;
}
.u-p10{
	padding: 10px !important;
}
.u-p20{
	padding: 20px !important;
}
.u-p30{
	padding: 30px !important;
}
.u-p40{
	padding: 40px !important;
}
.u-p50{
	padding: 50px !important;
}



/* width */
.u-w15{
	width: 15% !important;
}
.u-w30{
	width: 30%;
}
.u-w40{
	width: 40%;
}
.u-w50{
	width: 50%;
}
.u-w60{
	width: 60%;
}
.u-w70{
	width: 70%;
}





/* ===========================================
  Animation / Movie
=========================================== */


.video-over {
	background: #000;
	height: 100%;
	opacity: 0.5;
	position: absolute;
	top: 0;
	z-index: 11;
}
.video {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
    transform: translate(0,30px);
}
.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}

.scroll {
	background-image: url("/mn/wp-content/themes/st_theme/assets/images/tp-colors4.png");
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	height: 100%;
	position: fixed;
	bottom: 50px;
	right: 0;
	width: 35px;
	z-index: 99999;
}


.underline {
  background: linear-gradient(transparent 50%, rgb(243 248 199) 50%);
  display: inline;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition:background-size 1.5s;
}

.underline.on {
  background-size: 100% 100%;
}


/* ===========================================
  Header Area
=========================================== */

body#home header {
	background: #fff;
	background-image:url("/mn/wp-content/themes/st_theme/assets/images/topimage01.webp");
	background-size: cover;
	background-repeat: no-repeat;
	height: 900px;
	padding: 0;
	position: relative;
	margin: 0 auto;
	width: 100%;
}
body#home .l-header {
	display: block;
	padding: 28px;
	position: fixed;
	margin: 0 auto;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 13;
}
body.subpage > .header_wrap {
	background: #3d3d3d;
}

.l-header {
	display: block;
  padding: 28px 28px 0 28px;
	position: fixed;
	margin: 0 auto;
	max-height: 143.75px;
	min-height: 86px;
	width: 100%;
	z-index: 99999;
}
.p-header {
	background: #fff;
	background-position: top 0px right 176px;
	border-radius: 28px;
	box-shadow: 0 0 15px #0000001f;
	display: flex;
	justify-content: space-between;
	margin: 0px auto;
	max-height: 87.75px;
	max-width: 1500px;
	min-width: 1100px;
	padding: 0 35px;
}
.p-header.close{
	display: none;
}
.p-header-left {
	padding: 27px 0 0 0;
}
.p-header-left__box {
	display:flex;
}
.p-header-left__box-logo {
	display: inline-block;
	max-width: 115px;
	padding: 0 10px;
	z-index:999;
	background:#fff;
}
.p-header-left__box-logo > img {
	width:100%;
}
.p-header-right {
	display: flex;
}
.p-header-right > a > img{
	  max-width: 27px;
    display: block;
    margin: 0 auto;
    margin-bottom: 10px;
}
.p-header-right > a:first-child {
	background-color: #f49d9d;
	border-radius: 0px 0px 20px 20px;
	color:white;
	display:block;
	height: 80px;
	line-height: 1.8rem;
	padding:20px;
}
.p-header-right > a:first-child:hover{
	background-color: #ecb0b0;
}



/* ===========================================
  Contents Area
=========================================== */

.l-content {
	min-height: 600px;
}

.l-content img{
	border-radius:20px;
	margin: 8px 0;
}



/* ===========================================
  Toppage Contents
=========================================== */


/* --------------------
  Hero Area
-------------------- */

.hero_wrap {
	max-width: 1500px;
	margin: 0 auto;
}
.hero {
	left: 8%;
	position: relative;
	top: 330px;
	max-width: 650px;
	min-width: 550px;
	width: 100%;
	z-index: 12;
}
.hero__item {
	background: #000;
  padding: 15px;
  margin-bottom: 10px;
}
.hero__item:nth-child(2) {
	width: 73%;
}
.hero__button {
	color: #fff;
	background-image: url("/mn/wp-content/themes/st_theme/assets/images/arrow_down.svg");
	background-repeat: no-repeat;
	background-position: right 20px center;
	border: 2px solid #fff;
	border-radius: 50px;
  display: inline-block;
	font-size: 1.8rem;
	font-weight: 550;
	padding: 20px;
  margin: 25px 10px 0 30px;
	min-width: 270px;
	text-align: center;
}


/* --------------------
  Purpose Area
-------------------- */

body#home #purpose {
	align-items: center;
	background: #fff;
	display: flex;
	padding-top: 0;
	padding-bottom: 0;
	min-height: 600px;
}
body#home #purpose .title {
	color:#1b85c6;
	color:#006db0;
	font-size: 2.8rem;
	font-weight: 600;
	margin-bottom: 20px;
	text-align: center;
}
body#home #purpose .text {
	font-weight: 600;
	font-size: 3.3rem;
	line-height: 4rem;
}
body#home #purpose .text > span {
	display: block;
}
body#home #purpose .text > span:nth-child(2) {
	text-indent: 3.4rem;
}
body#home #purpose .more {
	color: #aed3eb;
	color: #5f89a5;
	display:block;
	font-size: 1.4rem;
	margin-top: 10px;
	text-align: right;
}
body#home #purpose .u-w700px {
	padding: 15px 0;
}



/* --------------------
  Product Area
-------------------- */
.p-prod {
	padding: 20px;
}
.p-prod > .p-prod_img > img {
	border-radius: 0;
	display: block;
	max-width: 250px;
	margin: 14px auto;
}
.p-prod > .p-prod_exp {
	font-size: 1.5rem;
	padding: 10px 0 20px 0;
	text-align: center;
}
.p-prod > .p-prod_label {
	display: flex;
  justify-content: center;
}
.p-prod > .p-prod_label > span {
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: 1.2rem;
  padding: 4px 8px;
  margin: 5px 10px;
	min-width: 50px;
  text-align: center;
}
.p-prod > .p-prod_label > span.saas {
  background: #3565A4;
}
.p-prod > .p-prod_label > .crm {
  background: #91CC78;
}
.p-prod > .p-prod_label > .erp {
  background: #C5C54A;
}
.p-prod > .p-prod_label > .iot {
  background: #60A5D9;
}
.p-prod > .p-prod_label > .ai {
  background: #F35656;
}


/* --------------------
  Works Area
-------------------- */

section#works .c-box__col3 {
	gap: 20px;
	max-width:1070px;
}

/* --------------------
  Technical Area
-------------------- */

.p-tech > .title {
	font-size: 1.5rem;
	font-weight: 600;
	padding: 10px 20px;
}
.p-tech > .exp {
	font-size: 1.5rem;
	padding: 0 20px;
}

/* --------------------
  Info(News) Area
-------------------- */

.p-info{
	border: 2px dashed #d1d1d1;
	border-radius: 50px;
	display:flex;
	padding:20px 50px;
	margin: 20px auto;
	max-width:1200px;
}
.p-info > div{
	flex:1;
	padding:10px 60px;
}
.p-info__subtitle{
	color:#b9b9b9;
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	text-align:center;
}
.p-info__title{
	color:#5A4D45;
	font-weight:500;
	font-size: 2.6rem;
	padding: 10px 0;
	text-align:center;
}


/* -- News -- */
dl.news{
	display:flex;
	font-size:1.4rem;
	margin-left: 30px;
	margin-top: 15px;
  border-bottom: 1px dotted #ccc;
}
dl.news:last-child{
	border:0;
}
dl.news > dt{
	color:gray;
	padding-right:20px;
  min-width: 130px;
}
dl.news > dd{
	padding-top:3px;
	max-width:640px;
	padding-bottom:18px;
}
dl.news a:hover{
	text-decoration: underline;
}
dl.newslast{
	display:block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:1.4rem;
  margin-top: 15px;
}
dl.newslast > dt{
	color:gray;
	padding-right:20px;
}
dl.newslast > dd{
	margin-bottom:15px;
	border-bottom: 1px dotted #ccc;
  padding-bottom: 15px;
}
.newslist{
	margin: 30px auto;
	display: block;
	font-size: 1.4rem;
	text-align: right;
	right: 0;
  position: absolute;
}
.newslist:before{
	content: "";
	background-image: url("/wp-content/themes/st_theme/assets/images/lnr-chevron-right");
	background-repeat: no-repeat;
	background-size: 10px;
	display: inline-block;
	width: 17px;
	height: 11px;
}
.newslist:hover{
	text-decoration: underline;
}

.c-news__date {
	display: inline-block;
	font-size: 1.2rem;
}
.c-tag_news {
  border: 1px solid #868686;
  border-radius: 4px;
  display: inline-block;
  font-size: 1rem;
  padding: 2px 7px;
  margin-left: 10px;
}

/*.breadcrumbs span:nth-child(n+3) {
    display: none;
}
*/

/* --------------------
  TabMenu
-------------------- */

.tab{
	background-color:#fff;
	border:1px solid #ef4a4a;
	border-radius:3px;
	color:#ef4a4a;
  display: inline-block;
	font-size:1.2rem;
	padding:3px 5px;
	margin-left:18px;
  width: 80px;

  text-align: center;
}
.tabs {
  background-color: #FFF;
  padding-bottom: 40px;
  margin: 40px auto 0 auto;
}
.tab_item {
  background-color: #a3c267;
  color: white;
	cursor: pointer;
  display: block;
  float: left;
  font-size: 1.6rem;
  font-weight: bold;
  height: 60px;
  line-height: 60px;
  text-align: center;
  text-align: center;
  transition: all 0.2s ease;
  width: calc(100%/6);
}
.tab_item:hover {
  opacity: 0.75;
}
input[id="all"] + label{
	border-radius: 10px 0px 0px 0px;
}
input[id="topics"] + label{
	border-radius: 0px 10px 0px 0px;
}
input[name="tab_item"] {
  display: none;
}
.tab_content {
  background-color: #F6F6F6;
	border-radius: 0 10px 10px;
  display: none;
  padding: 40px;
  clear: both;
  overflow: hidden;
	min-height: 200px;
}
#all:checked ~ #all_content,
#news:checked ~ #news_content,
#topics:checked ~ #topics_content,
#service:checked ~ #service_content,
#shikaku:checked ~ #shikaku_content {
  display: block;
}
.tabs input:checked + .tab_item {
  background-color: #F6F6F6;
  color: #565656;
}


/* --------------------
  News List Page
-------------------- */

.c-box__wrap_page{
	box-shadow: 0 0 10px #eaeaea;
	border-radius: 20px;
	margin:30px auto 0 auto;
	max-width:1200px;
}
.c-title__news{
	font-family: 'Noto Sans JP', serif;
	text-align: left;
	font-size: 2.2rem;
	border-left: 5px solid #ccc;
	margin: 20px 20px 30px 0;
	margin-top: 20px;
	margin-bottom: 30px;
	padding: 10px 20px;
}
.c-title__sub-h2 {
	border-left: 8px solid #000;
  font-size: 2.2rem;
  font-weight: 550;
  padding: 10px 20px;
	margin-bottom: 30px;
	margin-top: 30px;
}
.c-title__sub-h3 {
	border-bottom: 2px solid #e3e9e1;
	font-size: 2rem;
	font-weight: 550;
	padding: 15px 0;
	margin-bottom: 20px;
}

.c-news{
	margin-bottom:40px;
}
.c-news__item{
	border-bottom: 1px solid #f2f2f2;
  padding: 16px;
}
.c-news__title{
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.5rem;
	padding: 5px 0;
}
.news_nenbetsu{
	font-size:1.6rem;
	margin-bottom:20px;
}
.news_nenbetsu > li{
	padding:2px 15px;
}



/* --------------------
  Section Box
-------------------- */

#home .c-box {
	padding: 60px 30px;
	min-height: 700px;
}
#home .c-box .title {
	padding: 24px 0;
}
#home .c-box .title img {
	max-width: 300px;
}



/* ===========================================
  Subpage Contents
=========================================== */

/* --------------------
  Section Box
-------------------- */

.subpage .c-box{
	border-radius: 20px;
	margin: 10px auto 40px auto;
	padding: 20px;
	max-width: 1300px;
}
.subpage .c-box:first-child{
	margin-top: 20px !important;
}

/* --------------------
  STAGRI
-------------------- */

.stagri {
  display: block;
  margin: 20px auto !important;
  width: 100%;
}
.stagri_catch_wrap {
	text-align: center;
	margin-bottom: 15px;
}
.stagri_catch {
	padding-bottom: 5px;
	margin: 0 auto;
	text-align: center;
}

/* --------------------
  SmartPlant
-------------------- */

.smartplant {
  display: block;
  margin: 20px auto !important;
  width: 100%;
}
.smartplant_catch {
	display:block;
	padding-bottom: 5px;
	max-width: 390px;
	margin: 0 auto;
	text-align: center;
}

/* --------------------
  Gyomu Kaihatsu
-------------------- */
.p-catch {
	font-size: 3rem;
	font-weight: 600;
	line-height: 60px;
	padding-top: 60px;
	margin-bottom: 40px;
  text-align: center;
}
.p-flow-title {
	color: #396cb7;
	font-size: 1.6rem;
	font-weight: 600;
	padding: 10px 0;
}
.p-flow-exp {
	font-size: 1.6rem;
	margin-bottom:20px;
}
.icon-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
	justify-content: center;
	max-width: 900px;
	margin: 0 auto;
}
.icon {
	display: inline-block;
	background: #fff;
	border-radius:10px;
	padding: 10px 20px;
}
.icon > img {
	max-width: 80px;
}
.icon-name {
	display: block;
	font-weight: 600;
	padding: 0;
	text-align: center;
  text-indent: 4px;
}
.flow_img {
	max-width: 1100px;
	margin: 0 auto;
}


/* --------------------
  ISO
-------------------- */

img.iso {
	max-width: 200px;
}

/* --------------------
  Jirei
-------------------- */

.jireibox {
	border:2px solid #000;
	border-radius: 10px;
	max-width:1150px;
	margin:30px auto 80px auto;
	padding:20px;
}
.jirei_mark {
	border: 1px solid #727272;
  border-radius: 5px;
  font-size: 1.3rem;
  padding: 2px 6px;
  margin-right: 5px;
}
.p-label-01{
  border-radius: 30px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 5px 15px;
  text-align: center;
  background-color: gray;
  min-width: 150px;
  margin-left: 10px;
  margin: 20px 0;
  display: inline-block;
  text-indent: 0;
}
.subbox {
	padding: 10px 35px;
}
.p-img-01 {
	border-radius: 15px;
	display: block !important;
	margin: 0 auto;
	max-width: 500px;
}

.p-label-02_wrap{
	display: flex;
  flex-wrap: wrap;
  justify-content: center;
	margin-top: 3px;
}
.p-label-02{
  border-radius: 5px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 3px 12px;
  text-align: center;
  background-color: #c3c3c3;
  margin-left: 10px;
	margin: 10px 5px 0 5px;
  display: inline-block;
  text-indent: 0;
}

.p-label-02.industry {
	background: #fff !important;
	border: 1px solid #000;
	color: #000;
}
.p-label-02.ai {
	background: #e5a1a1 !important;
}
.p-label-02.iot {
	background: #8dc787 !important;
}
.p-label-02.lorawan {
	background: #5f8fd7 !important;
}
.p-label-02.seisan {
	background: #e9c065 !important;
}
.p-label-02.web-system {
	background: #7badc1 !important;
}
.p-label-02.cloud {
	background: #ff7979 !important;
}
.p-label-02.crm {
	background: #84b462 !important;
}


/* --------------------
  Service
-------------------- */

body#service .c-desc {
	font-size: 1.6rem;
	padding: 30px;
	min-height: 178px;
  margin-bottom: 15px;
  border-bottom: 1px solid #ececec;
}
body#service .c-box ul.list02{
	padding-bottom: 10px;
	margin-left: 30px;
}
body#service .c-box ul.list02 > li{
	padding: 0 20px 0 30px;
  min-height: 35px;
}
body#service .c-box ul a:hover {
	text-decoration: underline;
}

/* --------------------
  SDGs
-------------------- */
.sdgs-img{
  max-width: 200px;
  margin: 0 auto;
  padding: 30px 20px 20px 20px;
}


/* ===========================================
  Common
=========================================== */

/* -- Title -- */
body#home .c-title {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 5rem;
	text-align: center;
}
body#home .c-title > span {
	color: red;
}
body#home .c-lead {
	font-size: 1.6rem;
	padding: 30px 0;
	text-align: center;
}


.c-title__03 {
	font-size: 2.3rem;
	font-weight: 600;
}

/* -- Box 1列 -- */
.c-box__col1 {
	padding: 0 0 20px 0;
}
.c-box__col1 img{
	border-radius: 5px;
	display:block;
	margin: 10px auto;
	max-width:500px;
}

/* -- Box 2列 -- */
.c-box__col2 {
	display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 15px 0 30px 0;
  max-width: 1800px;
  margin: 0 auto;
}
.c-box__col2-item {
	width: 48%;
	padding: 0 30px;
}
.c-box__col2-item img{
	display:block;
	margin:0 auto;
	border-radius: 15px;
}

/* -- Box 3列 -- */
.c-box__col3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 20px auto;
	gap: 20px 40px;
	max-width:1200px;
}
.c-box__col3 > .c-box__col3-item {
	width:30%;
}
.c-box__col3-item.shadow {
	padding: 10px 0 0 0;
}

/* -- Box 4列 -- */
.c-box__col4 {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
	margin: 0 auto;
}
.c-box__col4 > .c-box__col4-item {
	padding:10px;
	width:22%;
}


/* --------------------
  Contact(Footer)
-------------------- */
.c-contact {
  background: #2b4e81;
  padding: 60px 20px 70px 20px;
  margin: 20px auto;
}
.c-contact > .title {
	color: #fff;
	font-size: 3.5rem;
	font-weight: 600;
	padding: 20px;
	text-align: center;
}
.c-contact .c-button__01:hover {
	border-color: #fff;
}

.c-contact__tel {
  background: #b0b0b036;
	border-radius: 4px;
	font-size: 1.3rem;
  padding: 20px;
  text-align: center;
}
.c-contact__web {
  background: #b0b0b036;
	border-radius: 4px;
	font-size: 1.3rem;
  padding: 20px;
  text-align: center;
}

.side_contact {
	position: fixed;
  right: 5px;
  top: 200px;
}
.side_contact a {
  display: block;
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #000;
  padding: 25px 13px;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  font-size: 1.4rem;
  border-radius: 5px;
	writing-mode: vertical-rl;
}

/* --------------------
  Decoration
-------------------- */

.c-box__dash{
	border:2px dashed #6D4D4D;
	border-radius:20px;
	padding:20px;
}

.c-box__kanren{
	background-color: #f6f0f0;
 	border-radius: 50px;
	padding: 50px 0;
	margin: 60px auto;
	max-width: 1200px;
}

.c-num {
  border-bottom: 1px solid red;
  color: red;
  font-size: 4rem;
  font-weight: 600;
  padding: 15px 0;
  margin: 0 auto;
  margin-bottom: 20px;
  text-align: center;
  width: 80px;
}
.c-service {
	font-size: 2.2rem;
	font-weight: 550;
	padding: 0 20px;
	text-align: center;
}
.c-service > span{
	display: block;
	color: red;
	font-size: 1rem;
	padding: 10px;
}
.c-desc {
	font-size: 1.6rem;
	padding: 30px;
}

.shadow {
  box-shadow: 0px 0px 15px #f2f2f2 !important;
  border-radius: 20px !important;
}
.shadow02 {
  box-shadow: 0px 0px 15px #f2f2f2 !important;
  border-radius: 20px !important;
  padding: 40px !important;
	margin: 70px auto 30px auto !important;
	max-width: 1200px;
}

.hr{
  background: #e8e8e8;
  display: block;
  height: 2px;
  margin: 40px auto 25px auto;
  width: 80px;
}
.hr2{
  background: #8c8c8c;
  display: block;
  height: 2px;
  margin: 10px auto;
  width: 80px;
}

.year {
  color: #db4436;
  font-family: system-ui;
	font-size: 4rem;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 1px;
}
.event {
	font-size: 1.8rem;
  font-weight: 500;
	padding: 10px 6px 22px 6px;
  line-height: 2.6rem;
}
.c-box_history:nth-child(odd) {
	border-right: 2px solid #f02302;
	padding-bottom: 20px;
	margin: 10px 0;
}
.c-box_history:nth-child(even) {
	padding-bottom: 20px;
	margin: 10px 0;
}

.detail > .title{
  background-color: #eaeaea;
  display: inline-block;
  border-radius: 20px;
  padding: 3px 12px;
  font-size: 1.5rem;
  margin: 5px 0;
}
.detail > p{
	padding-left: 6px;
}
.detail > .history-img img{
  width: auto;
  display: block;
  height: 100%;
  max-height: 270px;
}


/* ===========================================
  List
=========================================== */

/* -- 1:2列 -- */
.c-list__col1-2{
	display:flex;
	gap: 60px 30px;
	justify-content: center;
	margin-bottom:20px;
}
.c-list__col1-2-item:first-child{
	background-color:#F2F2F2;
	padding:70px 20px 60px 20px;
	text-align:center;
	width:30%;
}
.c-list__col1-2-item:first-child > .title{
	color:#82604C;
	font-family: 'Noto Serif JP', serif;
	font-size:2rem;
	margin-bottom: 20px;
}
.c-list__col1-2-item:first-child > .subtitle{
	color:#b39381;
	font-size: 1.3rem;
}
.c-list__col1-2-item:last-child{
	padding:20px;
	width:70%;
}

/* -- 2列 -- */
.c-list__col2{
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
}
.c-list__col2-item{
	padding:20px;
	position:relative;
	width:50%;
}

/* -- 3列 -- */
.c-list__col3{
	display:flex;
	flex-wrap:wrap;
	gap: 60px 30px;
	justify-content: center;
}
.c-list__col3-item{
	padding:20px;
	position:relative;
	width:30%;
}
.c-list__col3.promise{
	background-image:url("/wp-content/themes/st_theme/assets/images/5promise.svg");
	background-position: bottom 0px left 0px;
  background-size: 40px;
}
.c-list__col3.promise > .c-list__col3-item{
	margin-top:50px;
	margin-bottom:70px;
}
.c-list__col3.promise > .c-list__col3-item > img{
	height:250px;
	object-fit: cover;
	width:100%;
}

/* -- 4列 -- */
.c-list__col4{
	display:flex;
	flex-wrap:wrap;
	gap: 20px;
	justify-content: center;
}
.c-list__col4-item{
	color:#000;
	background-color: #fff;
	background-position: bottom 35px right 10px;
  background-size: 20px;
	background-repeat:no-repeat;
	border: 1px solid #ccc;
  border-radius: 10px;
  box-shadow: 0 5px 0 #e9e9e9;
  font-size: 1.6rem;
	padding:25px;
	position:relative;
  text-align: center;
  margin-bottom: 50px;
	width:22%;
}
.c-list__col4-item:hover{
	background-color: #f7f7f7 !important;
	background-position: bottom 35px right 5px;
	text-decoration:none !important;
	transition:all .4s;
}


/* -- List(Line) -- */
.list01 > li{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
  line-height: 3rem;
	padding: 0 0 15px 0;
	text-indent: -36px;
  margin-left: 22px;
}
.list01 > li:before{
	content:"－　";
}
/* stagri list */
body#farm .list01 > li{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  line-height: 3rem;
  text-indent: -36px;
  margin-left: 31px;
  padding: 5px 0;
}
body#farm .list01 > li:before{
	content:"－　";
}

/* smartplant list */
body#smartplant .list01 > li{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  line-height: 3rem;
  text-indent: -36px;
  margin-left: 31px;
  padding: 5px 0;
}
body#smartplant .list01 > li:before{
	content:"－　";
}

/* -- List(Circle) -- */

.list02 > li{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	padding-left: 40px;
	padding: 0 20px 10px 30px;
	position: relative;
	line-height: 2.8rem;
	min-height: 40px;
}
.list02 > li:before{
  content: "";
  position: absolute;
  background-image: url("/mn/wp-content/themes/st_theme/assets/images/circle.svg");  background-size: contain;
  left: 0;
  top: 5px;
  width: 18px;
  height: 18px;
}

/* -- List(Num1) -- */
.c-list__num-01{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	line-height: 3rem;
	list-style-type: decimal;
  padding: 0;
	margin-bottom:40px;
	margin-left: 40px;
}

/* -- List(Num2) -- */
.c-list__num-02{
	font-family: 'Noto Sans JP', sans-serif;
}
.c-list__num-02 > span.num {
	color: red;
	display: block;
	font-size: 6rem;
	font-family: "Open Sans", sans-serif;
	text-align: center;
}
.c-list__num-02 > span.title {
	display: block;
	font-size: 2.6rem;
	font-weight: 600;
	padding: 20px;
	text-align: center;
}
.c-list__num-02 > p {
	font-size: 1.5rem;
	padding: 20px 0;
}


/* -- List(Kome) -- */
.kome{
	font-size: 1.3rem;
	text-indent: -14px;
	margin-left: 14px;
	margin-bottom:30px;
}
.kome > li{
	padding-bottom: 10px;
}
.kome > li:before{
	content:"※";
}



/* ===========================================
  Footer Area
=========================================== */

footer{
	background-color: #2c2c2c;
	margin:0 auto;
}
footer p{
	color: #FBFBFB;
  font-size: 1.2rem;
  padding: 0;
}
footer a{
	color: #FBFBFB;
}
.l-footer{
	background-color: #2c2c2c;
	display:flex;
	justify-content: center;
	padding: 30px 50px;
	margin: 0 auto;
	max-width: 1500px;
}
.p-footer__org_sp {
	display: none;
}
.p-footer__box1 {
	flex:1;
  padding: 20px 0;
  max-width: 710px;
}
.p-footer__box1 > p {
	text-indent: 0;
}
.p-footer__box2 {
	flex:3;
  padding: 20px 40px;
  text-align: center;
}
.p-footer__box2 > .p-nav__global-inner {
	margin: inherit;
	max-width: 800px;
}
.p-footer__menu {
	background-color: #2c2c2c;
	border-top: 1px solid #ffffff1c;
	color: #FBFBFB;
	font-size: 1.3rem;
	text-align: center;
}
.p-footer__org{
	color: #FBFBFB;
	font-size: 1.8rem;
	font-weight: 500;
}
.p-footer__addr{
	color: #FBFBFB;
  font-size: 1.5rem;
  line-height: 2.6rem;
	margin-top:10px;
}
.p-footer__park{
	background-color: #FBFBFB;
  color: #775E4A;
  display: inline-block;
  font-size: 1.2rem;
	padding: 4px 8px;
  margin: 10px 0;
}
.p-footer__tel{
	color: #fff;
	display: block;
	font-size: 1.9rem;
	font-weight: 600;
}

footer .p-nav__global-inner{
	display:flex;
}

footer .p-nav__global-inner > li > a {
	border-bottom: 0 !important;
	color: #fff;
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	padding: 5px;
	margin-right: 0;
	min-height: 45px;
	text-align:left;
	transition: all 0.2s;
}
footer .p-nav__global-inner > li > a:hover {
	box-shadow: inherit;
}
footer .p-nav__global-inner > li > .sub-menu > li > a {
  display: block;
	font-size: 1.3rem;
  font-weight: 400;
  padding: 10px 8px 10px 30px;
  text-align: left;
}
footer .p-nav__global-inner > li > .sub-menu > li > a:hover {
	text-decoration: underline;
}
footer .p-nav__global-inner > li > .sub-menu > li > a:before {
  background-image: url(/mn/wp-content/themes/st_theme/assets/images/arrow_right.svg);
  background-size: contain;
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  padding-right: 18px;
}
footer .p-nav__submenu {
	margin-top:30px;
	margin-left: 20px;
}
footer .p-nav__submenu a {
	display: block;
  font-size: 1.2rem;
  font-weight: 400;
  padding: 10px 0 10px 10px;
}
footer .p-nav__submenu a:hover {
	text-decoration: underline;
}


/* --------------------
  PageTop
-------------------- */

#pagetop {
	background: #ffffffd6;
	border-radius: 50%;
	bottom: 70px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	display: none;
	height: 70px;
	position: fixed;
  right: 20px;
  text-indent: -99999px;
  width: 70px;
	z-index: 8;
}
#pagetop:before {
	border-left: 2px solid #222;
	border-top: 2px solid #222;
  content: "";
  height: 12px;
	left: calc(50% - 6px);
  position: absolute;
	top: calc(50% - 3px);
	transform: rotate(45deg);
  width: 12px;
}
#pagetop.fixed {
	display: block;
}



/* --------------------
  CopyRights
-------------------- */

.copy{
	font-size:0.9rem;
	padding:16px 0 40px 0;
}



/* ===========================================
  Navigation
=========================================== */

/* -- global navigation -- */

.toggle {
	display: none;
}

.p-nav__global {
	align-items: center;
	display: flex;
	padding: 0;
	min-width:700px;
}
.p-nav__global.fixed {
	display: flex;
	height: 76px;
	justify-content: space-between;
	padding: 0;
	position: fixed;
	top: 0;
	z-index: 9;
}
.p-nav__global > .contact {
	background: #000;
  border-radius: 14px;
  color: white;
  display: block;
  font-size: 1.3rem; /* 1.4 */
  font-weight: 550;
  height: 56px;
  padding: 17px 22px 13px 22px;
}


.p-nav__global-logo {
	display: none;
}
.p-nav__global-logo.fixed {
	display: inline-block;
	padding: 10px 20px 27px 20px;
	margin-left: 20px;
}
.p-nav__global-logo.fixed > a {
	color: #143258;
  font-weight: 600;
	letter-spacing: 0;
}
.p-nav__global-logo.fixed > a > img {
	height: 100%;
	margin-bottom: 4px;
}


.p-nav__global-inner {
	display: flex;
	justify-content: space-around;
	padding: 0;
	max-width:480px;
	margin:0 auto;
	min-height: 87.75px;
}

.p-nav__global.fixed > .p-nav__global-inner {
	padding: 12px 0 0 0;
	margin-left: -160px;
}
.p-nav__global-inner > li {
	display: table;
}
.p-nav__global-inner > li > a {
	border-bottom: 2px solid #fff;
	color: #393939;
	display: table-cell;
	font-size: 1.45rem;
	font-weight: 550;
	padding: 13px 16px;
	margin-right: 1px;
	min-height: 87.75px;
	vertical-align: middle;
}
.p-nav__global-inner > li > a:hover {
	box-shadow: inset 0 -3px 0 #000;
}


.p-nav__global-inner > .menu01 > a{
	background-image: url(/wp-content/themes/st_theme/assets/images/header-menu01.svg);
	background-repeat: no-repeat;
	background-size: 58px;
	background-position: top center;
	display: table-cell;
	height: 90px;
	vertical-align: bottom;
}

.p-nav__global-inner > .menu02 > a{
	background-image: url(/wp-content/themes/st_theme/assets/images/header-menu02.svg);
	background-repeat: no-repeat;
	background-size: 58px;
	background-position: top center;
	display: table-cell;
	height: 90px;
	vertical-align: bottom;
}

.p-nav__global-inner > .menu03 > a{
	background-image: url(/wp-content/themes/st_theme/assets/images/header-menu03.svg);
	background-repeat: no-repeat;
	background-size: 58px;
	background-position: top center;
	display: table-cell;
	height: 90px;
	vertical-align: bottom;
}

.p-nav__global-inner > .menu04 > a{
	background-image: url(/wp-content/themes/st_theme/assets/images/header-menu04.svg);
	background-repeat: no-repeat;
	background-size: 58px;
	background-position: top center;
	display: table-cell;
	height: 90px;
	vertical-align: bottom;
}

/* --------------------
  PC Megamenu
-------------------- */

.menu-dropdown-icon {
	display: table;
}

.sub-menu_wrap {
	display: none;
}
.sub-menu_wrap > ul > li > .sub-menu_wrap {
	display: inherit;
}

.menu-dropdown-icon > .sub-menu_wrap {
  display: none;
  left: 0;
  padding: 10px 28px;
  position: absolute;
  margin: 0 auto;
  max-width: 1400px;
	min-width: 1100px;
  right: 0;
  top: 116px;
  width: 98%;
  z-index: 9999;
}

.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu {
  background-color: #323232f7;
  border-radius: 30px;
  display: flex;
  gap: 10px;
  justify-content: center;
  padding: 16px 50px;
  max-width: 1350px;
  min-height: 400px;
  margin: auto;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li {
	padding: 20px;
	position: relative;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li > a {
	color:#fff;
	font-size:1.6rem;
	text-align: left;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li:first-child > a {
	color:#fff;
	cursor: default;
	font-size:2.4rem;
	text-align:center;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li:first-child > a > span {
	display: block;
	font-size: 1.4rem;
	font-weight: 400;
	text-align: left;
	padding: 20px 0;
	max-width: 170px;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li:nth-child(3) > .sub-menu_wrap > ul.sub-menu > li > a > span {
	display: block;
  color: #747474;
  font-size: 1.3rem;

	background-color: #4e4e4e;
  border-radius: 30px;
  color: #fff;
  margin: 5px auto 0 auto;
  max-width: 135px;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li:first-child {
	border-right: 1px solid #ffffff1a;
	width:22%;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li:nth-child(2) {
	border-right: 1px solid #ffffff1a;
	width:43%;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li:nth-child(3) {
	width:35%;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li:not(:first-child) > a {
	display: block;
	padding: 5px 15px 15px 15px;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li > .sub-menu_wrap > ul.sub-menu {
	box-sizing:border-box;
	display: flex;
	flex-wrap:wrap;
	position:absolute;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li > .sub-menu_wrap > ul.sub-menu > li {
	width:47%;
}
.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li > .sub-menu_wrap > ul.sub-menu > li > a {
	background-color: #fff;
	border-radius: 10px;
  color: #070707;
  display: block;
  font-size: 1.45rem;
  font-weight: 600;
	padding: 12px 10px;
	text-align:center;
	margin: 7px 5px;
}


/* --------------------
  Mobile Menu
-------------------- */
.spmenu{
	background-color: #323232f7;
	border-radius:20px;
	color: white;
	display:none;
	height:100%;
	max-height: 800px;
	max-width: 450px;
	min-height:0;
	opacity:0;
	overflow: hidden;
	padding: 50px 0;
	position: fixed;
	right: 20px;
	top: 26px !important;
	transition: all 0.5s;
	transition: min-height 0.5s;
  width: 100%;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
}
.spmenu.open .sub-menu > li{
	width:100%;
}
.spmenu.open .mgmenu > ul > li > a{
	border-top: 1px solid #ffffff36;
	border-bottom:0;
}
.spmenu.open .sub-menu > li:last-child > a{
	border-bottom:0;
}
.spmenu.open{
	display: block;
	height:100%;
	opacity:1;
	overflow: inherit;
	min-height:410px;
	top:0;
	z-index: 9999;
}
.spmenu > .mgmenu{
	padding: 8px 0;
	margin-top: 30px;
}
.spmenu ul{
	list-style-type:none;
	margin: 0;
  padding: 0;
	overflow:hidden;
}
.spmenu ul > li > a{
	border-bottom: 1px solid #ffffff36;
	color: white;
	display: block;
	font-size: 1.6rem;
  padding: 15px 20px 15px 10px;
}
.spmenu ul > li > a:before{
	content:"";
	background-image: url("/wp-content/themes/st_theme/assets/images/menu-right.svg");
	background-position:left;
	background-repeat: no-repeat;
	background-size: 15px;
	padding-left:15px;
	padding-right: 14px;
}


.spmenu_contact{
	padding: 17px 30px;
}
.spmenu_contact > .title{
	font-size: 1.6rem;
	padding-bottom: 10px;
	text-align: center;
}
.spmenu_contact > a.contact,
.spmenu_contact > a.tel{
	border: 1px solid #ffffff87;
	border-radius: 28px;
	color: white;
	display: block;
  margin: 0 auto;
	max-width:300px;
  text-align: center;
}
.spmenu_contact > a.contact{
	font-size: 1.4rem;
	/* padding: 10px 10px 10px 30px;*/
  padding: 15px;
	margin: 20px auto;
  max-width: 300px;
}
.spmenu_contact > a.tel{
	font-size:2rem;
	padding: 5px 10px 5px 30px;
}

.spmenu > .mgmenu > ul > li > ul.sub-menu {
	background-color: inherit;
	display:none;
}
.spmenu > .mgmenu > ul > li > ul.sub-menu > li > a {
	background: #3d3d3d;
	font-weight: normal;
}
.spmenu > .mgmenu > ul > li > a{
	background: #2f2f2f !important;
	border-top: 1px solid #b7b7b736;
	text-decoration:none;
}
.spmenu > .mgmenu > ul > li a:before {
	padding-left:0;
}
.spmenu > .mgmenu > ul > li > ul.sub-menu.open {
	display: block;
	position: inherit;
}
.spmenu > .mgmenu > ul > li > ul.sub-menu > li:last-child > a {
	border-radius: 0;
}
.spmenu > .mgmenu > ul > li > ul.sub-menu > li > a {
	pointer-events: none;
}
.spmenu > .mgmenu > ul > li > ul.sub-menu > li > ul.sub-menu  > li > a {
	background-color: #494949;
}



/* ===========================================
  Parts
=========================================== */

/* --------------------
  Title
-------------------- */

.c-header__title {
	background: #000;
	display: table;
	padding: 20px;
	padding-top: 110px;
	text-align: left;
	width: 100%;
}
.c-header__title.fixed {
	margin-top: 76px;
}


/* --------------------
  Title -> H1
-------------------- */
.c-header__title-h1{
	color: #7b7b7b;
	display: block;
	font-family: serif;
	font-size: 2.6rem;
	margin: 30px auto 0 auto;
	max-width: 560px;
	padding: 10px 0px;
	text-align:center;
}
.c-header__title-h1 > span{
  color: #ffffff;
  display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2rem;
  font-weight: 600;
  padding: 5px 20px;
  margin-top: 10px;
	text-transform: uppercase
}
.c-header__title-h1 > span:nth-child(2){
	font-size: 3.2rem;
}



/* --------------------
  H2/H3/H4
  ※H1はページタイトルで使用
-------------------- */
.c-title-h2 {
  font-size: 3rem;
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
  display: block;
  max-width: 400px;
  margin: 20px auto 80px auto;
  text-align: center;
}
.c-title-h2:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -32px;
  display: inline-block;
  width: 60px;
  height: 5px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #f70000;
  border-radius: 2px;
}
.c-title-h2_02 {
  font-size: 2.8rem;
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
  display: block;
  margin: 20px auto 40px auto;
	border-left: 8px solid #ccc;
	padding-left: 40px;
}
.c-title-h2_03 {
  border: 1px solid #000000;
  color: #000000;
  border-radius: 30px;
  display: block;
  font-size: 1.8rem;
  padding: 10px 25px;
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
}
.c-title-h3 {
  display: block;
  font-size: 2rem;
  padding: 10px 25px;
	text-align: center;
}
.c-title-h3_02 {
	font-size: 2.2rem;
	padding: 14px 14px 14px 0;
}
.c-title-h4 {
	font-size: 2rem;
}



/* --------------------
  Button01（シンプルブラック）
-------------------- */
.c-button__01{
	background-color:#000;
	border: 2px solid #000;
  border-radius: 80px;
	color:#fff;
	cursor:pointer;
	display: table;
	font-size:1.7rem;
	padding: 20px;
	margin: 10px auto 0px auto !important;
  max-width: 280px;
	width:100%;
  text-align: center;
}
.c-button__01:hover{
	color: #000;
	background-color: #fff;
	border: 2px solid #000;
	transition:all .4s;
	text-decoration:none;
}
.c-button__01 > .menu{
	display: table-cell;
	vertical-align: middle;
}



/* --------------------
  Button02（シンプルグレー）
-------------------- */
.c-button__02{
	background-color:#777777;
	border: 1px solid #696969;
  border-radius: 80px;
	color:#fff;
	cursor:pointer;
	display: table;
	font-size:1.6rem;
	height:60px;
	padding: 10px 20px;
	margin: 10px auto 0px auto !important;
  max-width: 280px;
	width:100%;
  text-align: center;
}
.c-button__02:hover{
	color:#777777;
	background-color:#fff;
	transition:all .4s;
	text-decoration:none;
}
.c-button__02 > .menu{
	display: table-cell;
	vertical-align: middle;
}



/* --------------------
  Button03（シンプル黒枠白抜）
-------------------- */
.c-button__03{
	background-color:#fff;
	border: 2px solid #000;
  border-radius: 80px;
	color:#000;
	cursor:pointer;
	display: table;
	font-size:1.6rem;
	padding: 20px;
	margin: 10px auto 0px auto !important;
  max-width: 300px;
	width:100%;
  text-align: center;
}
.c-button__03:hover{
	color: #fff;
	background-color: #000;
	border: 2px solid #000;
	transition:all .4s;
	text-decoration:none;
}
.c-button__03 > .menu{
	display: table-cell;
	vertical-align: middle;
}


/* --------------------
  Button04（シンプル黒枠白抜2）
-------------------- */
.c-button__04{
	background-color:#fff;
	border: 2px solid #000;
  border-radius: 20px;
	color:#000;
	cursor:pointer;
	display: table;
	font-size:1.6rem;
	padding: 20px;
	margin: 10px auto 0px auto !important;
	width:100%;
  text-align: center;
}
.c-button__04:hover{
	color: #fff;
	background-color: #000;
	border: 2px solid #000;
	transition:all .4s;
	text-decoration:none;
}
.c-button__04 > .menu{
	display: table-cell;
	vertical-align: middle;
}

/* --------------------
  Button05（シンプル黒枠白抜3）
-------------------- */
.c-button__05{
	background-color:#fff;
  border-radius: 80px;
	color:#000;
	cursor:pointer;
	display: table;
	font-size:1.6rem;
	padding: 20px;
	margin: 20px auto 0px auto !important;
  max-width: 300px;
	width:100%;
  text-align: center;
}
.c-button__05:hover{
	color: #fff;
	background-color: #000;
	border: 2px solid #000;
	transition:all .4s;
	text-decoration:none;
}
.c-button__05 > .menu{
	display: table-cell;
	vertical-align: middle;
}

/* --------------------
  Button06（小さめ）
-------------------- */

.c-button__06{
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 80px;
  color: #000;
  cursor: pointer;
  display: table;
  font-size: 1.6rem;
  padding: 15px;
  margin: 10px auto 20px auto !important;
  max-width: 280px;
  width: 100%;
  text-align: center;
}
.c-button__06:hover{
	color: #fff;
	background-color: #000;
	border: 2px solid #000;
	transition:all .4s;
	text-decoration:none;
}
.c-button__06 > .menu{
	display: table-cell;
	vertical-align: middle;
}

/* --------------------
  Button07（画像囲み：事例など）
-------------------- */

.c-button__07{
	border: 1px solid #fff;
  border-radius: 20px;
	color: #3b3b3b;
  display: block;
	font-size: 1.6rem;
	padding: 0 10px 10px 10px;
	text-decoration: none;
}
.c-button__07 > .p-image_wrap {
	border-radius: 15px;
	overflow: hidden;
	max-height: 240px;
}
.c-button__07 > .p-image_wrap > img {
	border-radius: 15px;
	transition: transform 0.3s ease;
	margin: 0;
}
.c-button__07 > .p-image_wrap > img:hover {
	transform: scale(1.1);
}
.c-button__07:hover {
	color: #5e5e5e;
	text-decoration: none;
}

/* --------------------
  Button08（黒枠／小）
-------------------- */
.c-button__08-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
}
.c-button__08{
  border: 2px solid #000;
  border-radius: 14px;
  color: #000;
  display: inline-block;
  font-size: 1.5rem;
  padding: 10px 20px;
  min-width: 160px;
  text-align: center;
}
.c-button__08:hover {
	background: #000;
	color: #fff;
	text-decoration: none;
}

/* --------------------
  Button09（黒枠／極小）
-------------------- */

.c-button__09{
  background-color: #000000;
  border: 2px solid #000;
  border-radius: 40px;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-size: 1.2rem;
  padding: 2px 8px;
  min-width: 60px;
  text-decoration: none;
  text-align: center;
  margin-left: 8px;
}
.c-button__09:hover {
	background: #fff;
  border: 2px solid #000;
	color: #000;
	text-decoration: none;
}

/* --------------------
  Button10（黒枠／極小／中央）
-------------------- */

.c-button__10{
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 40px;
  color: #000;
  cursor: pointer;
  display: block;
  font-size: 1.2rem;
  padding: 10px 10px;
  min-width: 60px;
	max-width: 200px;
  text-decoration: none;
  text-align: center;
  margin-left: 8px;
	margin: 0 auto;
}
.c-button__10:hover {
	background: #000;
  border: 1px solid #000;
	color: #fff;
	text-decoration: none;
}


/* --------------------
  Footer Contact Button
-------------------- */
.c-button{
	background-color:#fff;
  border-radius: 80px;
	color:#000;
	cursor:pointer;
	display: table;
	font-size:1.6rem;
	padding: 20px;
	margin: 20px auto 0px auto !important;
  max-width: 300px;
	width:100%;
  text-align: center;
}
.c-button:hover{
	transition:all .4s;
	text-decoration:none;
}


/* --------------------
  Table（Border None）
-------------------- */
.c-table__none{
	border:0;
	border-collapse: collapse;
	font-size: 1.6rem;
}
.c-table__none th{
	background-color:inherit !important;
  padding: 0 20px 10px 0;
  vertical-align: top;
	text-align:left;
}
.c-table__none td{
	background-color:inherit !important;
  padding: 0 20px 10px 0;
  vertical-align: top;
}


/* --------------------
  Table01
-------------------- */
.c-table__01 {
	border-collapse: separate;
	border-spacing:10px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	margin: 10px 0 30px -10px;
	width:100%;
}
.c-table__01 caption {
	text-align: left;
	padding: 10px 5px;
	font-weight: 500;
  font-size: 1.5rem;
}
.c-table__01 th {
	vertical-align: top;
	white-space: nowrap;
	width:25%;
	background-color:#F2F2F2;
	border-radius: 10px;
	display: table-cell;
	height:100%;
	padding:15px 20px;
	margin:10px 0;
}
.c-table__01 td {
	padding: 15px 20px;
	vertical-align: top;
}


/* --------------------
  Table02
-------------------- */
.c-table__02 {
	border-collapse: collapse;
	border-spacing:0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	margin: 10px 0 30px -10px;
	width:100%;
}
.c-table__02 caption {
	text-align: left;
	padding: 10px 5px;
	font-weight: 500;
  font-size: 1.5rem;
}
.c-table__02 th {
	vertical-align: top;
	white-space: nowrap;
	width:25%;
	background-color:#F2F2F2;
	border: 1px solid #F2F2F2;
	display: table-cell;
	height:100%;
	padding:10px 20px;
	margin:10px 0;
}
.c-table__02 td {
	border: 1px solid #F2F2F2;
	padding: 10px 20px;
	vertical-align: top;
}


/* --------------------
  Table03
-------------------- */
.c-table__03 {
	border-collapse: collapse;
	border-spacing:0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	margin: 10px 0 30px -10px;
	width:100%;
}
.c-table__03 caption {
	text-align: left;
	padding: 10px 5px;
	font-weight: 500;
  font-size: 1.5rem;
}
.c-table__03 th {
	vertical-align: top;
	white-space: nowrap;
	width:20%;
	background-color:#fff;
	border-bottom: 1px solid #F2F2F2;
	display: table-cell;
	height:100%;
	padding:10px 20px;
	margin:10px 0;
}
.c-table__03 td {
	border-bottom: 1px solid #F2F2F2;
	padding: 10px 20px;
	vertical-align: top;
}


/* --------------------
  Table Scroll
-------------------- */
.table_scroll_wrap > .message {
		display: none;
}


/* --------------------
  Contact
-------------------- */

body#contact .c-table__01 th,
body#prod_contact .c-table__01 th{
	width:30%;
}
body#contact .c-table__01 p,
body#prod_contact .c-table__01 p{
	padding:0;
}

body#contact input,
body#contact textarea,
body#prod_contact input,
body#prod_contact textarea {
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 5px;
	width: 100%;
	max-width: 545px;
}
body#contact .c-table__01 th,
body#prod_contact .c-table__01 th{
	vertical-align: middle;
	padding: 0;
}
body#contact .c-table__01,
body#prod_contact .c-table__01{
	border-spacing: 15px;
	max-width: 800px;
	margin:0 auto;
}
body#contact .c-table__01 td,
body#prod_contact .c-table__01 td{
	padding: 5px;
}
body#contact .req,
body#prod_contact .req {
	color: #fff;
  background: #fe4848;
  border-radius: 5px;
  font-size: 1.3rem;
  padding: 1px 5px 2px 5px;
}
body#contact input[name="sei"],
body#contact input[name="mei"],
body#prod_contact input[name="sei"],
body#prod_contact input[name="mei"],
body#contact input[name="kanasei"],
body#contact input[name="kanamei"],
body#prod_contact input[name="kanasei"],
body#prod_contact input[name="kanamei"]{
	margin-left: 2px;
	max-width:250px !important;
}
body#contact input[name="tel"],
body#contact input[name="zip"],
body#prod_contact input[name="tel"],
body#prod_contact input[name="zip"]{
	max-width:200px !important;
}
body#contact input[type="checkbox"],
body#prod_contact input[type="checkbox"]{
	width: inherit;
}


.checkbox input[type="checkbox"] {
  background: #FFFFFF !important;
  border: solid 2px #d3d3d3 !important;
  border-radius: 4px !important;
  box-shadow: 0 0 0 0 transparent !important;
	cursor: pointer;
  height: 24px !important;
  position: relative !important;
	margin: 10px 2px 0 0;
  width: 24px !important;
}
.checkbox input[type="checkbox"]::before {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  opacity: 0;
  mask-image: url("/mn/wp-content/themes/st_theme/assets/images/check.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: #FFFFFF;
}
.checkbox > .other {
	margin-left: 15px !important;
}
.checkbox > .other input {
	border: 1px solid #767676 !important;
	height: 33px;
	margin: 7px 0 20px 0;
	max-width: 300px !important;
}
.checkbox label{
	cursor: pointer;
	display: flex;
	flex-wrap: wrap;
}
.checkbox input+span {
	margin-top: 6px;
	margin-left: 5px;
}





/* --------------------
  Icon
-------------------- */
.pdf {
	background-color: #ffd1d1;
  border-radius: 5px;
  color: red;
  display: inline-block;
	font-size: 1rem;
  padding: 2px 5px;
  margin-left: 10px;
  margin-top: -4px;
  text-align: center;
	
}


/* --------------------
  For Contact Form
-------------------- */
.wpcf7-not-valid-tip{
	color: #ff0000;
  display: inline-block;
  font-size: 1em;
  font-weight: normal;
  text-align: center;
}
input.wpcf7-not-valid,
textarea.wpcf7-not-valid{
	background-color: #ffecec;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
	border-color: #d64949;
  border-radius: 5px;
  color: #d64949;
  font-size: 1.5rem;
  margin: 10px auto 30px auto;
  max-width: 770px;
  padding: 10px 20px;
  text-align: center;
}
span[data-name="policy_check"] > .wpcf7-not-valid:after {
	display: block;
  color: red;
  content: "　送信前に同意をお願いします";
  height: 0;
}
input[type="submit"]{
	cursor: pointer;
  border: 0 !important;
  border-radius: 10px !important;
  background-color: #3e7bbd;
  padding: 15px !important;
  max-width: 500px !important;
	margin-top: 20px;
  font-size: 2rem;
  color: #fff;
}

span[data-name="zip"]{
	display: inline-block;
  padding-bottom: 10px;
}
.wpcf7-spinner{
	display: block;
	margin: 10px auto;
}


.telfax th {
	white-space: nowrap;
  vertical-align: top;
}


/* --------------------
  maintenance
-------------------- */

body#maintenance {
	background: #f5f5f5;
	display: table-cell;
	height: 100vh;
	padding: 20px;
	min-width: auto;
	vertical-align: middle;
	width: 100vw;
}
.maint_wrap {
	background: #fff;
	border-radius: 20px;
	padding: 40px;
	margin: 20px auto;
  max-width: 600px;
}
.maint_wrap > .title {
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
.maint_wrap > .message {
	font-size: 1.5rem;
}


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

	.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu {
		padding: 16px 20px;
		min-height: 450px;
	}
	.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li > .sub-menu_wrap > ul.sub-menu > li {
		padding: 5px;
	}
	.menu-dropdown-icon > .sub-menu_wrap > ul.sub-menu > li > .sub-menu_wrap > ul.sub-menu > li > a {
		height: 100%;
		margin: inherit;
	}
	

}

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


	body{
		min-width:320px;
	}
	main{
		min-width:auto;
	}
	a[href^="tel:"] {
		pointer-events: inherit;
	}

	body#on-premise .p-catch > span:nth-of-type(2) {
		font-size: 2rem !important;
    line-height: 40px;
    margin-top: 20px;
    display: block;
	}
	body#purpose article .u-btm80 {
		text-align: left !important;
	}
	body#home section#technical {
		min-height: auto !important;
	}

	.article_wrap {
		padding: 20px;
	}

	.c-fs_all_18 {
		font-size: 1.5rem !important;
	}
	.c-fs_all_20 {
		font-size: 1.7rem !important;
	}
	.c-fs_all_24 {
		font-size: 2.1rem !important;
	}
	.c-fs_all_28 {
		font-size: 2.5rem !important;
	}

	.c-box__col2 > .c-box__col2-item {
		padding: 20px;
		width: 100%;
	}
	.mid_menu.c-box__col2 > .c-box__col2-item {
		padding: 0 !important;
	}

	.c-box__col4 > .c-box__col4-item {
		width: 47%;
	}

	.c-box_history:nth-child(odd) {
		border-right: 0;
	}
	.c-box_history {
		box-shadow: 0 0 5px #d9d9d9;
    border-radius: 20px;
    padding: 20px 40px 30px 40px !important;
	}

	.c-button__07 > .p-image_wrap {
		max-height: inherit !important;
	}
	.c-button__08 {
		padding: 10px;
		min-width: inherit;
	}
	.c-button__08-wrap {
		justify-content: center;
	}
	.c-button__08-wrap > li {
		width: 45%;
	}
	.c-button__08-wrap > li > a {
		width: 100%;
	}

	.c-title-h2 {
		font-size: 2.2rem;
		margin: 20px auto 45px auto;
	}
	.c-title-h2_02 {
		font-size: 2.2rem;
		padding-left: 20px;
		margin: 10px auto;
	}
	.c-title__sub-h2 {
		font-size: 2rem;
	}

	.list01 > li{
		text-indent: -36px;
    margin-left: 32px;
	}

	.pc_only{
		display:none !important;
	}
	.mid_only{
		display:block !important;
	}
	.sp_only{
		display:block !important;
		height: 0;
	}


	body#home header {
		background-position: 25% 65%;
		height: 700px;
	}
	#home .c-box {
		padding: 30px;
	}
	body#home .c-box .title {
		padding: 0 0 24px 0;
	}
	body#home #purpose {
		min-height: 400px;
	}
	body#home #purpose .u-w700px {
		padding-bottom:30px;
	}
	body#home #purpose .text > span {
		font-size: 2.8rem;
	}
	body#home #purpose .text > span:nth-child(2) {
		text-indent: 2.8rem;
	}
	.hero {
		top: 240px;
		max-width: 400px;
    min-width: 300px;
    width: 100%;
	}
	.p-header {
		height: 75px;
		min-width: inherit;
	}
	.p-header-left {
		padding: 20px 0 0 0;
	}
	.p-header-left__box-logo {
		max-width: 110px;
	}
	.p-nav__global{
		display: none;
	}




	.toggle{
		border-radius:10px;
		display:block;
		width: 66px;
    height: 66px;
		position:fixed;
		top: 34px;
		right: 39px;
		z-index: 99999;
	}
	.btn-trigger {
		position: relative;
		width: 36px;
		height: 24px;
		cursor: pointer;
		position: fixed;
    right: 52px;
    top: 53px;
	}
	.btn-trigger.active span{
		background-color:white;
	}
	.btn-trigger span {
		position: absolute;
		left: 0;
		width: 90%;
		height: 3px;
		background-color: #000;
		border-radius: 4px;
	}
	.btn-trigger, .btn-trigger span {
		display: inline-block;
		transition: all .5s;
		box-sizing: border-box;
		z-index:99;
	}
	.btn-trigger span:nth-of-type(1) {
		top: 0;
		height:3px;
	}
	.btn-trigger span:nth-of-type(2) {
		top: 11px;
		height: 3px;
	}
	.btn-trigger span:nth-of-type(3) {
		bottom: 0;
		height:3px;
	}
	#btn05.active span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-45deg);
		transform: translateY(10px) rotate(-45deg);
	}
	#btn05.active span:nth-of-type(2) {
		left: 50%;
		opacity: 0;
		-webkit-animation: active-btn05-bar02 .8s forwards;
		animation: active-btn05-bar02 .8s forwards;
	}
	@-webkit-keyframes active-btn05-bar02 {
		100% {
			height: 0;
		}
	}
	@keyframes active-btn05-bar02 {
		100% {
			height: 0;
		}
	}
	#btn05.active span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(45deg);
		transform: translateY(-10px) rotate(45deg);
	}

	.sub-menu {
		border: 0;
		width: inherit;
	}
	.sub-menu > li{
		float:inherit;
	}
	.sub-menu > li > a{
		background-color:inherit;
		border: 0;
		border-radius: inherit;
		min-height:inherit;
		text-align: left;
	}
	.sub-menu > li > a:before {
		content: "" !important;
	}

	.spmenu.open {
		overflow: scroll;
	}
	.spmenu > .mgmenu > ul {
		border-bottom: 1px solid #ffffff36;
	}
	.spmenu > .mgmenu > ul > li > ul.sub-menu > li:first-child {
		display: none;
	}
	.spmenu > .mgmenu > ul > li > ul.sub-menu > li:nth-child(2) > a:before,
	.spmenu > .mgmenu > ul > li > ul.sub-menu > li:nth-child(3) > a:before {
		padding-left:0;
	}
	.spmenu > .mgmenu > ul > li > ul.sub-menu > li > ul.sub-menu > li > a > span:before {
		content: "";
		padding-left: 10px;
	}
	.spmenu ul > li > a {
		font-size: 1.5rem;
		padding: 13px 20px;
	}


	.spmenu_contact > a.tel {
		padding: 13px 10px 13px 30px;
	}




	.c-box__col3 {
		gap: 20px;
	}

	.c-box__col3 > .c-box__col3-item {
		width: 60%;
	}		
	section#works .c-box__col1 > .c-box__col3 > .c-box__col3-item {
		width: 80%;
	}
	section#works .c-box__col1:first-of-type > .c-box__col3 > .c-box__col3-item {
		width: 45%;
	}
	section#product > .c-box__col3 {
		display: block;
	}
	section#product > .c-box__col3 > .c-box__col3-item {
    display: block;
    padding-bottom: 30px;
    width: 80%;
    border-radius: 20px;
    margin: 0 auto 25px auto;
    box-shadow: 0 0 15px #e3e3e3;
	}
	section#technical .c-box__col2-item {
		padding: 20px 30px;
	}
	section#technical .title,
	section#technical .exp {
		padding: 0 0 10px 0 !important;
	}

	.c-table__01 th,
	.c-table__01 td {
		display: block;
		width: 100%;
	}
	.c-table__01 {
		font-size: 1.5rem;
	}
	.c-table__01 th {
		padding: 10px 20px;
		margin: 10px auto 0 auto;
	}
	.c-table__01 td {
		padding: 15px 10px;
	}

	.c-table__03 th,
	.c-table__03 td {
		display: block;
		font-size: 1.5rem;
		width: 100%;
	}
	.c-table__03 th {
		background: #f5f5f5;
		text-align: left;
		margin-bottom: 0;
	}
	.c-table__03 td {
		border-bottom: 0;
	}

	.table_scroll_wrap {
		overflow-x: scroll;
	}
	.table_scroll_wrap > .message {
		display: block;
		font-size: 1.3rem;
	}
	.table_scroll_wrap > .table_scroll {
		width: 100%;
		white-space: nowrap;
	}
	.table_scroll_wrap > .table_scroll > .c-table__01 {
		border: 1px solid #e5e5e5;
    box-shadow: 0 0 2px #c7c7c7;
    border-radius: 10px;
	}
	.table_scroll_wrap > .table_scroll > .c-table__01 th,
	.table_scroll_wrap > .table_scroll > .c-table__01 td {
		display: table-cell !important;
		width: auto;
	}




	.c-button__03 {
		padding: 20px 10px;
	}

	.c-contact {
		padding: 20px 20px 70px 20px;
	}
	.c-contact > .title {
		font-size: 2rem;
	}

	#contact .c-button {
		font-size: 1.5rem;
	}


	.p-footer__box1 {
		display: none;
	}
	.p-footer__box2 {
		padding: 0;
	}
	.p-footer__org_sp {
		display: block;
		padding: 25px 30px 20px 30px;
	}
	.p-footer__org_sp > .p-footer__org {
		text-align: center;
	}
	footer .p-nav__submenu {
		max-width: 600px;
    margin: 20px auto;
	}
	footer .p-nav__submenu a {
		font-size: 1.3rem;
	}
	footer .p-nav__global-inner {
		display: block !important;
	}
	footer .p-nav__global-inner > li {
		width:100%;
	}
	footer .p-nav__global-inner > li > a {
		background: #373737;
		padding: 20px 20px 16px 20px;
	}
	footer .p-nav__global-inner > li > .sub-menu > li {
		border-bottom: 1px solid #6f6f6f;
	}
	footer .p-nav__global-inner > li > .sub-menu > li:last-child {
		border-bottom: 0;
	}
	footer .p-nav__global-inner > li > .sub-menu > li > a {
		font-size: 1.4rem;
		padding: 15px 30px;
	}

	.l-footer {
		background-color: #494949;
		padding: 0;
	}

	.subpage .c-box {
		padding: 20px 10px;
	}

	.u-w700px,
	.u-w900px,
	.u-w1100px,
	.u-w1200px {
		padding: 10px !important;
	}

	.c-table__01 th{
		display: block !important;
	  width: 100% !important;
	  padding: 8px 20px !important;
	  margin-bottom: 10px !important;
	  text-align: left;
	}
	.telfax th {
		white-space: nowrap;
    vertical-align: top;
	}

	body#contact .c-table__01,
	body#prod_contact .c-table__01{
		border-spacing: 5px !important
	}

	body#contact input[name="sei"],
	body#contact input[name="mei"],
	body#prod_contact input[name="sei"],
	body#prod_contact input[name="mei"],
	body#contact input[name="kanasei"],
	body#contact input[name="kanamei"],
	body#prod_contact input[name="kanasei"],
	body#prod_contact input[name="kanamei"] {
		max-width: 48% !important; /* 150 */
	}

	body#sustainability .p-catch {
		font-size: 2.8rem;
	}
}


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

	p {
		font-size: 1.4rem;
	}

	.mid_only{
		display:none !important;
	}

	.btn-trigger {
		height: 24.5px;
	}
	.btn-trigger span:nth-of-type(1) {
		top: 0;
		height:3.2px;
	}
	.btn-trigger span:nth-of-type(2) {
		top: 10px;
		height: 3.2px;
	}
	.btn-trigger span:nth-of-type(3) {
		bottom: 0;
		height:3.2px;
	}

	.c-box {
		margin: 20px auto !important;
	}

	.c-box_history {
    padding: 20px !important;
	}
	.detail > .history-img img {
		height: auto;
	}
	.c-desc {
		font-size: 1.5rem;
		padding: 20px 10px 30px 10px;
	}
	body#home .c-desc {
		font-size: 1.5rem;
		padding: 20px 20px 30px 20px;
	}

	.c-fs_all_28 {
		font-size: 2.3rem !important;
	}

	.c-list__num-02 > span.num {
		font-size: 4rem;
	}
	.c-list__num-02 > span.title {
		font-size: 2.2rem;
	}
	.c-service {
		font-size: 1.8rem !important;
		padding: 0;
	}

	.c-box__col4 > .c-box__col4-item {
		width: 100%;
	}

	.c-title-h2 {
		font-size: 2rem;
		margin: 20px auto 45px auto;
	}
	.c-title-h2_02 {
		font-size: 1.8rem;
		padding-left: 20px;
		margin: 10px auto;
	}		

	.icon-list {
		margin: 0 auto 20px auto;
	}

	.u-btm20 {
		margin-bottom: 10px !important;
	}
/*
	.u-top20,
	.u-top30 {
		margin-top: 0px !important;
	}
*/

	.spmenu {
		right: inherit;
		top: 0 !important;
	}
	.spmenu_contact > a.tel {
		font-size: 1.8rem;
		max-width: 250px;
	}
	.spmenu_contact > a.contact{
		max-width: 250px;
	}


	body#home header {
		background-position: 35% 65%;
		height: 500px;
	}

	body#service .c-desc {
		font-size: 1.4rem;
		padding: 25px;
		min-height: 148px;
	}

	.p-catch {
		font-size: 2.2rem;
		padding-top: 10px;
		line-height: 40px;
	}

	.l-header {
		padding: 14px !important;
	}
	.p-header {
		border-radius: 28px;
		height: 60px;
		padding: 0 18px;
	}
	.p-header-left {
		padding: 18px 0 0 0;
	}
	.p-header-left__box-logo {
		max-width: 95px;
	}
	.p-header-left__box-logo > img {
		width: 90%;
	}
	.hero__item:nth-child(2) {
		width: 83%;
	}
	.toggle{
	}
	.btn-trigger {
		width: 28px;
    height: 23px;
    right: 32px;
    top: 32px;
	}
	.hero {
		top: 120px;
		max-width: 300px;
	}
	.scroll {
		width: 25px;
	}

	body#home .c-box {
		padding: 30px 20px;
	}
	body#home #purpose {
		min-height: 290px;
	}
	body#home #purpose .title {
		font-size: 2rem;
		margin-bottom: 0;
	}
	body#home #purpose .text > span {
		font-size: 1.8rem;
	}
	body#home #purpose .text > span:nth-child(2) {
		text-indent: 0;
	}
	body#home #purpose .more {
		text-align: center;
	}
	body#home .c-title {
		font-size: 3rem;
	}
	body#home .c-lead {
		font-size: 1.4rem;
		padding: 20px;
	}

	body#smartplant section+p{
		display:none;
	}


	.c-header__title {
		padding-top: 70px;
	}
	.c-header__title-h1 {
		margin: 0 auto;
	}
	.c-header__title-h1 > span {
		font-size: 1.5rem;
		padding: 5px 10px;
	}
	.c-header__title-h1 > span:nth-child(2) {
		font-size: 1.9rem;
	}
	.breadcrumbs {
		margin-bottom: 0;
	}
	.c-num {
		font-size: 2.5rem;
	}
	.c-service {
		font-size: 2rem;
	}


	.c-frame__02 {
		padding: 30px 20px !important;
	}
	.c-title__03 {
		font-size: 2rem;
	}
	.u-top40 {
		margin-top:0 !important;
	}
	.u-btm40 {
		margin-bottom:0 !important;
	}
	.u-w1000px {
		padding: 10px !important;
	}

	section.c-box:nth-of-type(1) {
		margin:0 auto !important;
	}

	.c-box__col3 > .c-box__col3-item {
		width: 95%;
	}
	section#works .c-box__col1:first-of-type > .c-box__col3 > .c-box__col3-item {
		width: 90%;
	}
	section#works .c-box__col1 > .c-box__col3 > .c-box__col3-item {
		width: 90%;
	}
	section#product > .c-box__col3 > .c-box__col3-item {
		width: 90%;
	}

	.c-button__01 {
		padding: 15px;
	}
	.c-button__03 {
		border: 1.5px solid #000;
		font-size: 1.5rem;
		padding: 15px 10px;
	}
	section#works .c-box__col3 {
		gap: 5px;
	}
	.c-button__04,
	.c-button__08 {
		border: 1.5px solid #000;
		font-size: 1.3rem;
	}
	.p-prod > .p-prod_img > img {
		width: 100%;
	}


	.list01 > li {
		font-size: 1.5rem !important;
		text-indent: -34px;
	}
	.list02 > li {
		font-size: 1.4rem !important;
	}

	#pagetop {
		width: 60px;
		height: 60px;
	}

	.checkbox label {
		display: inline;
	}
	.wpcf7-list-item {
		margin:0;
	}

	.c-frame__03 {
		padding:10px;
	}
	input[type="submit"]{
		font-size: 1.7rem !important;
		padding: 12px !important;
	}
	select[name="shubetsu"]{
		width:100%;
	}

}


@media print {
	body {
    -webkit-print-color-adjust: exact;
	print-color-adjust: exact;
    zoom: 0.55;
	}

	.fadein{
		opacity:1;
	}
}