/*
Theme Name: Twenty Eleven Child
Theme URI: https://wordpress.org/themes/twentyeleven/
Template: twentyeleven
Author: the WordPress team
Author URI: https://wordpress.org/
Description: The 2011 theme for WordPress is sophisticated, lightweight, and adaptable. Make it yours with a custom menu, header image, and background -- then go further with available theme options for light or dark color scheme, custom link colors, and three layout choices. Twenty Eleven comes equipped with a Showcase page template that transforms your front page into a showcase to show off your best content, widget support galore (sidebar, three footer areas, and a Showcase page widget area), and a custom "Ephemera" widget to display your Aside, Link, Quote, or Status posts. Included are styles for print and for the admin editor, support for featured images (as custom header images on posts and pages and as large images on featured "sticky" posts), and special styles for six different post formats.
Tags: blog,one-column,two-columns,left-sidebar,right-sidebar,custom-background,custom-colors,custom-header,custom-menu,editor-style,featured-image-header,featured-images,flexible-header,footer-widgets,full-width-template,microformats,post-formats,rtl-language-support,sticky-post,theme-options,translation-ready,block-patterns
Version: 5.0.1771686517
Updated: 2026-02-22 00:08:37

*/

html{
	font-size:62.5%;
}
body {
	font-family: 'Lato', 'Noto Sans Japanese', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font: normal normal normal 16px / 24px "Raleway", Helvetica, Arial, Verdana, sans-serif;
  word-spacing: normal;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	color: #525259;
	margin: 0;
	padding: 0;
	word-wrap: break-word;
	box-sizing: border-box;
	background: rgb(255, 255, 255);
}
p{
    margin:0 0 1em;
    line-height: 1.7;
}
a, a img {
    color: #1982d1;
    text-decoration: none;
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
a:hover,
a img:hover{
	opacity: 0.75;
}
img{
    width: 100%;
    height: auto;
}
strong{
    font-weight: 600;
}
.assistive-text{
    position: absolute !important;
    clip-path: inset(50%);
    overflow: hidden;
    height: 1px;
    width: 1px;
}
.btn {
    border: solid 2px;
    padding: 10px 20px;
    text-decoration: none;
    text-align: center;
    display: block;
    max-width: 220px;
    margin: 0 auto 2em;
    color: #0f5093;
}
.btn.red{
    color: #d30230 !important;
    border: solid 2px #d30230;
}

.btn:hover,
.btn:focus{
    opacity: 1;
    color: #fff !important;
    background: #0f5093;
}
.btn.blue:hover,
.btn.blue:focus{
    color: #fff !important;
}
.btn.red:hover,
.btn.red:focus{
    color: #fff !important;
    background: #d30230;
}
.btn.yellow:hover,
.btn.yellow:focus{ background: rgb(249, 187, 0); }
.yellow{
  color: rgb(249, 187, 0);
}

.center{ text-align: center;}
.inner{
    width: 1250px;
    margin: 0 auto;
    padding: 0 45px;
    box-sizing: border-box;
}
.flex{
	display: flex;
	align-items: center;
}
.flex-start{
  align-items: flex-start;
}
.between {
	justify-content: space-between;
}
.reverse{
	flex-direction: row-reverse;
}

section {
    border-bottom: solid 1px #ddd;
    padding: 70px 0;
}
section:nth-of-type(even) {}
section.page-section{
    padding: 0 0 70px;
}
#content{
  padding: 30px 0;
}


/* header
-------------------------------*/
.header-wrap{
	color: rgb(82, 82, 89);
	padding: 14px 0;
	border-bottom: 1px solid #ededed;
}
.mini-contacts {
    font-size: 13px;
}
.mini-contacts img{
	margin-right: 5px;
}
.social{
	margin-left: 10px;
}
.social li{
    margin: 0 3px;
}
.social i{
    font-size: 20px;
    color: #0f5093;
}
header ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.right-block {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
}
.clock {
    font-size: 14px;
    text-align: center;
    line-height: 1.6;
    margin: 0;
}
.clock span {
    display: block;
    font-family: initial;
    font-weight: 600;
    font-size: 16px;
}
header h1{
    margin: 0;
}
#lang-selector {
    display: flex;
    gap: 10px;
    padding: 0 10px;
    border-left: solid 1px #ddd;
    border-right: solid 1px #ddd;
}
ul#lang-selector a{
	color: #525259;
	text-decoration: none;
}
#breadcrumbs {
    font-size: 15px;
    text-align: right;
    margin: 20px 0;
}
#breadcrumbs span{}
.breadcrumb_last {
    font-weight: 600;
    text-decoration: underline;
}


/* search
-------------------------------*/
.mini-search {
  position: relative;
}
.mini-search form {
  display: flex;
  align-items: center;
  position: relative;
}
.mini-search .searchform-s {
  width: 0;
  opacity: 0;
  height: 36px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 999px;
  transition: all .3s ease;
}
.mini-search.active .searchform-s {
  width: 180px;
  opacity: 1;
  padding: 0 14px;
  border: 1px solid rgba(0,0,0,.2);
}
.mini-search .search-toggle {
  width: 36px;
  height: 36px;
  background: url('data:image/svg+xml;utf8,\<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black">\<path d="M10 2a8 8 0 105.293 14.293l4.707 4.707 1.414-1.414-4.707-4.707A8 8 0 0010 2zm0 2a6 6 0 110 12 6 6 0 010-12z"/>\</svg>') no-repeat center;
  background-size: 18px;
  border: none;
  cursor: pointer;
}

/* front-page
-------------------------------*/
.home #content{
  padding: 0;
}

.slide-btn-blue a,
.slide-btn-red a {
    text-shadow: none !important;
    border: solid 1px !important;
    border-radius: 0 !important;
}
.slide-btn-blue a:hover,
.slide-btn-blue a div:hover,
div#n2-ss-2 .n2-ss-button-container a div:hover{
	color: #fff !important;
	background: #0f5093 !important;
}
.slide-btn-red a:hover,
.slide-btn-red a div:hover,
div#n2-ss-2 .n2-ss-button-container a div:hover{
	color: #fff !important;
	background: #0f5093 !important;
}

.wpb_wrapper {
    gap: 50px;
}
.wpb_inner{
  flex: 1;
}
.wpb_row{
	gap: 15px;
	align-items: start;
}
.wpb_img{
	padding: 10px 0 0;
}
.wpb_img img{
    width: auto;
}
.wpb_txt{}

.wpb_wrapper h2 {
    font-size: 36px;
    color: #0f5093;
    text-align: center;
    font-family: Raleway;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
}
.blue a,
span.blue,
.wpb_wrapper.blue h2,
.wpb_wrapper.blue h3,
.wpb_wrapper.blue a{
	color: #0f5093;
}
.red a,
span.red,
.wpb_wrapper.red h2,
.wpb_wrapper.red h3,
.wpb_wrapper.red a{
    color: #d30230;
}

.yellow a,
a.yellow{
	color: rgb(249, 187, 0);
}

.deco{
	gap: 10px;
	justify-content: space-around;
	background: #EFEFEF;
    padding: 30px;
}
.deco img{}
.deco p{}
.deco a{
	margin: 0;
}

.number{
	align-items: normal;
}
.box-wrapper{
	align-items: normal;
	border: solid 1px #ddd;
    padding: 20px 30px;
}
.box-number {
	gap: 20px;
    list-style: none;
    margin: 0 0 2em;
    padding: 0;
    align-items: flex-start;
    text-align: center;
	font-size: 12px;
    line-height: 1.6;
}
.box-number span {
    font-weight: 600;
    display: block;
    font-size: 20px;
    color: #0f5093;
    margin-bottom: 5px;
}


/* page
-------------------------------*/
.entry-title {
    font-size: 46px;
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: .75em;
}
.entry-title span{
    font-weight: 600;
}
.entry-wrap {
    gap: 30px;
    align-items: flex-start;
}
.entry-thumbnail img{
    width: auto;
}

.entry-content{}
.entry-content h2 {
    font-weight: 400;
    font-size: 36px;
    line-height: 1.2;
    text-align: left;
    color: #5b5b62;
}
.entry-content h3{}
.entry-content h4{}
.entry-content ul,
.entry-content ol{
    padding-left: 15px;
}


/* industry
-------------------------------*/
/* ===== base ===== */
.industry-page img{
    max-width:100%;
    max-width: max-content;
    height:auto;
    display:block;
}
.industry-page a{text-decoration:none;}
.page-label{
  font-weight:700;
  margin:0 0 18px;
}
.section-title{
  margin:40px 0 18px;
  font-weight:700;
}

/* ===== lists reset ===== */
.cards, .grid, .process__icons{
  list-style:none;
  padding:0;
  margin:0;
}

/* ===== cards grid ===== */
.cards{
  display:grid;
  gap:24px;
}
.cards--3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.cards--4{ grid-template-columns:repeat(4, minmax(0,1fr)); }

.card{
  border:1px solid #e6e6e6;
  padding:16px;
  background:#fff;
}
.card__img{display:block;margin:0 0 12px;}
.card__img img{width:100%;}

.card__title{
  margin:0 0 10px;
  text-align:center;
  font-size:18px;
  font-weight:700;
}
.card__title a{color:inherit;}

.card__text{
  margin:0 0 14px;
  text-align:center;
  color:#3a3a3a;
  line-height:1.7;
  font-size:14px;
}

.card__btn{
  display:inline-block;
  padding:10px 18px;
  border:2px solid #0f5093;
  color:#0f5093;
  font-weight:700;
  text-align:center;
}
.card__btn:hover{opacity:.85;}

/* icon card */
.card--icon .card__icon{
  width:106px;
  height:106px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.card--icon .card__icon img{max-height:100%;}

/* ===== 2-column row (card + tall image) ===== */
.grid{
  display:grid;
  gap:24px;
  margin-top:24px;
}
.grid--2{grid-template-columns:repeat(2, minmax(0,1fr));}

.media-tall{
  border:1px solid #e6e6e6;
  overflow:hidden;
  background:#fff;
}
.media-tall img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ===== solutions ===== */
.solutions{
  margin:48px 0 0;
  text-align:center;
}
.solutions__logo img{
  margin:0 auto 10px;
  max-width:260px;
}
.solutions__title{
  font-weight:800;
  margin:0 0 14px;
  font-size:20px;
}
.solutions__text{
  margin:0 auto;
  max-width:900px;
  line-height:1.8;
  color:#3a3a3a;
}

/* ===== manufacturing process ===== */
.process{
  margin:48px 0 0;
  display:grid;
  gap:24px;
  grid-template-columns: minmax(0,1fr) minmax(0,2fr);
  align-items:start;
}
.process__side{
  border:1px solid #e6e6e6;
  padding:16px;
  background:#fff;
  text-align:center;
}
.process__num img{margin:0 auto 10px;}
.process__headline{
  color:#0f5093;
  font-weight:800;
  margin:8px 0 6px;
}
.process__sub{
  color:#0f5093;
  margin:0 0 10px;
}
.process__text{
  margin:0;
  line-height:1.8;
  color:#3a3a3a;
}

.process__icons{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(5, minmax(0,1fr));
}
.picon{
  border:1px solid #e6e6e6;
  padding:14px 10px;
  background:#fff;
  text-align:center;
}
.picon img{margin:0 auto 10px; width:67px; height:67px; object-fit:contain;}
.picon__label{font-size:13px; line-height:1.4; color:#333;}

/* ===== responsive ===== */
@media (max-width: 1024px){
  .cards--4{grid-template-columns:repeat(2, minmax(0,1fr));}
  .process{grid-template-columns:1fr;}
  .process__icons{grid-template-columns:repeat(4, minmax(0,1fr));}
}
@media (max-width: 640px){
  .cards--3{grid-template-columns:1fr;}
  .cards--4{grid-template-columns:1fr;}
  .grid--2{grid-template-columns:1fr;}
  .process__icons{grid-template-columns:repeat(2, minmax(0,1fr));}
}

/* ===== base (if not already) ===== */
.arch-page img{height:auto;display:block;}
.arch-page a{text-decoration:none;}
.arch-page ul{list-style:none;margin:0;padding:0;}
.arch-page ul .card__title, .arch-page ul .card__title a {
    font-size: 18px;
    text-align: center;
    font-weight: 600;
}

/* kicker */
.page-kicker{
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin:0 0 16px;
}

/* arch titles */
.section-title--arch{
  margin:44px 0 18px;
  font-weight:800;
}

/* button red (architecture) */
.card__btn--red{
  border-color:#d30230 !important;
  color:#d30230 !important;
}

/* ===== projects (2 cols, even rows reversed) ===== */
.projects{
  display:grid;
  gap:26px;
  margin-top:10px;
}
.project{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  align-items:center;
}
.project__media img{
  width:100%;
  border:1px solid #e6e6e6;
}
.project__body{
  background:#fff;
  padding:18px;
}
.project__title{
  margin:0 0 8px;
  font-weight:800;
  font-size:18px;
}
.project__meta{
  margin:0 0 14px;
  color:#555;
}
.projects .project:nth-child(even) .project__media{order:2;}
.projects .project:nth-child(even) .project__body{order:1;}

/* ===== surface (2 images) ===== */
.surface{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:22px;
}
.surface__img img{
  width:100%;
  border:1px solid #e6e6e6;
  background:#fff;
}

/* ===== solutions (reuse your existing .solutions too) ===== */
.solutions--arch{
  margin:52px 0 0;
}

/* ===== points + video split ===== */
.arch-split{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap:26px;
  margin-top:34px;
  align-items:start;
}

/* points list */
.arch-points{
  display:grid;
  gap:18px;
}
.arch-point{
  display:grid;
  grid-template-columns: 110px minmax(0,1fr);
  gap:16px;
  padding:16px;
  border:1px solid #e6e6e6;
  background:#fff;
}
.arch-point__icon{
  display:flex;
  align-items:center;
  justify-content:center;
}
.arch-point__icon img{max-width:90px;}
.arch-point__num{
  margin:0;
  font-weight:900;
  text-align:left;
}
.arch-point__cap{
  margin:4px 0 10px;
  color:#333;
}
.arch-point__text{
  margin:0;
  color:#3a3a3a;
  line-height:1.8;
}

/* video */
.video{
  border:1px solid #e6e6e6;
  background:#fff;
  overflow:hidden;
}
.video iframe{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  border:0;
  display:block;
}

/* ===== responsive ===== */
@media (max-width: 1024px){
  .cards--4.cards--arch{grid-template-columns:repeat(2, minmax(0,1fr));}
  .arch-split{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .cards--4.cards--arch{grid-template-columns:1fr;}
  .project{grid-template-columns:1fr;}
  .projects .project:nth-child(even) .project__media,
  .projects .project:nth-child(even) .project__body{order:unset;}
  .surface{grid-template-columns:1fr;}
  .arch-point{grid-template-columns:1fr;}
  .arch-point__icon{justify-content:flex-start;}
}


/* projects（施工事例）
-------------------------------*/
ul.project-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.project-list li {
  background: #fff;
}

ul.project-list li img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

ul.project-list h2 {
  font-size: 18px;
  margin: 10px 0;
}

ul.project-list h2 a {
  text-decoration: none;
  color: #000;
}

ul.project-list p {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
}


/* スクリーンテキスタイルソリューション
-------------------------------*/
/* =========================================================
  fm-sts (ISOLATED) - other pages unaffected
========================================================= */
.fm-sts,
.fm-sts *{
  box-sizing: border-box;
}

.fm-sts{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
}

.fm-sts img{
  display: block;
  max-width: 100%;
}

/* typography */
.fm-sts .fm-sts__h1,
.fm-sts .fm-sts__h2,
.fm-sts .fm-sts__h3{
  margin: 0 0 12px;
  line-height: 1.25;
  letter-spacing: .01em;
}

.fm-sts .fm-sts__p,
.fm-sts .fm-sts__lead{
  margin: 0 0 14px;
  line-height: 1.85;
  letter-spacing: .02em;
}

.fm-sts a{ color: inherit; text-decoration: none; }

/* =========================================================
  HERO
========================================================= */
.fm-sts .fm-sts__hero{
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 24px 0;
  align-items: center;
}

@media (max-width: 900px){
  .fm-sts .fm-sts__hero{ grid-template-columns: 1fr; }
}

.fm-sts .fm-sts__brandIcon{
  width: 50px !important;
  height: 50px !important;
  object-fit: contain;
}

.fm-sts .fm-sts__sep{
  width: 64px;
  height: 2px;
  background: currentColor;
  opacity: .25;
  margin: 12px 0 14px;
}

.fm-sts .fm-sts__heroMedia{
  margin: 0 !important;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.fm-sts .fm-sts__imgHero{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

/* =========================================================
  BUTTON
========================================================= */
.fm-sts .fm-sts__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 10px;
  line-height: 1;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
}

/* =========================================================
  ICONS
========================================================= */
.fm-sts .fm-sts__icons{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 22px;
  padding: 18px 0 0;
}

@media (max-width: 980px){
  .fm-sts .fm-sts__icons{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .fm-sts .fm-sts__icons{ grid-template-columns: 1fr; }
}

.fm-sts .fm-sts__iconItem{
  display: flex !important;
  align-items: center;
  gap: 10px;
}

.fm-sts .fm-sts__icon{
  width: 44px !important;
  height: 44px !important;
  object-fit: contain;
}

.fm-sts .fm-sts__iconText{
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.4;
}

/* =========================================================
  SECTION + GRID (THIS FIXES YOUR "GARBAGE LAYOUT")
  - gridで「等幅」「等間隔」「同じ高さ」になる
========================================================= */
.fm-sts .fm-sts__section{
  padding: 28px 0;
}

.fm-sts .fm-sts__grid{
  display: grid !important;
  gap: 16px;
  align-items: stretch;
}

/* products grid */
.fm-sts .fm-sts__grid--products{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1200px){
  .fm-sts .fm-sts__grid--products{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .fm-sts .fm-sts__grid--products{ grid-template-columns: 1fr; }
}

/* cards */
.fm-sts .fm-sts__cardLink{
  display: block;
  height: 100%;
}

.fm-sts .fm-sts__card{
  height: 100%;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.fm-sts .fm-sts__media{
  margin: 0 !important;
  overflow: hidden;
  background: #fff;
}

/* 画像枠：同じ括り＝同じ比率 */
.fm-sts .fm-sts__media--4x3{ aspect-ratio: 4 / 3; }
.fm-sts .fm-sts__media--16x10{ aspect-ratio: 16 / 10; }
.fm-sts .fm-sts__media--4x5{ aspect-ratio: 4 / 5; }

.fm-sts .fm-sts__img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

/* text blocks */
.fm-sts .fm-sts__h3{
  margin: 0;
  padding: 12px 14px 6px;
  font-size: 16px;
  line-height: 1.35;
}
.fm-sts .fm-sts__p{
  margin: 0;
  padding: 0 14px 14px;
  font-size: 14px;
  line-height: 1.7;
  opacity: .92;
}

/* =========================================================
  "全部見せたい" モード（contain）
  - 画像を切りたくない場合
========================================================= */
.fm-sts.is-contain .fm-sts__imgHero,
.fm-sts.is-contain .fm-sts__img{
  object-fit: contain !important;
  background: #fff;
}



/* search
-------------------------------*/
body.search .entry-summary{}
.search-title{
    font-size: 20px;
    font-weight: 600;
    margin: 0;
}
body.search .entry-title a,
body.search .entry-title a span{
    color: #525259;
}


/* Swiper
-------------------------------*/
/* ===== archive grid ===== */
.pj-archive-grid-wrap{
  margin: 60px 0;
}

.pj-archive-title{
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.4;
}

/* ===== PC：3列 ===== */
.pj-archive-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* ★4 → 3 に変更 */
  gap: 18px;
}

/* ===== SP：2列（そのまま） ===== */
@media (max-width: 767px){
  .pj-archive-grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

.pj-archive-card{
  display: block;
  text-decoration: none;
  color: inherit;
}

/* ===== 正方形サムネ ===== */
.pj-archive-thumb{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;   /* ★正方形に変更 */
  overflow: hidden;
  background: #f2f2f2;
}

.pj-archive-img{
  width: 100%;
  height: 100%;
  object-fit: cover;     /* 枠に合わせてトリミング */
  display: block;
}

/* ===== タイトル ===== */
.pj-archive-meta{
  padding: 10px 2px 0;
}

.pj-archive-name{
  font-size: 14px;
  line-height: 1.4;
}

/*screen-textile-solutions
--------------------------------*/
.visore-wrap{
  display: flex;
  align-items: center;
  margin-bottom: 3em;
}
.gy{
  background: #F8F8F8;
}
.visore-wrap .visore,
.visore-wrap figure{
  flex: 1;
}
.visore-wrap .visore{
  padding: 50px 50px;
}
.visore-wrap h2 {
    font-size: 22px;
    font-weight: 600;
}
.visore-wrap h2 span{
  font-weight: 600;
  display: block;
}
.visore-wrap figure{
  margin: 0;
  line-height: 0;
}
.icone-qualita {
    list-style: none;
    gap: 40px;
  justify-content: center;
    text-align: center;
}
.icone-qualita li{}
.icone-qualita img{
    width: 50px;
}
.prodotti {
    align-items: flex-start;
    gap: 16px;
}
.prodotti a {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.prodotti img{}
.prodotti .b{
  color: #333;
  font-size: 14px;
}
.prodotti .t,
.prodotti .d,
.prodotti .m {
    margin: 0 0 5px;
}
.prodotti .t,
.prodotti .m{
  font-weight: 600;
}
.n {
    margin: 0;
    font-weight: 600;
    font-family: auto;
    font-size: 20px;
}
.blk {
    margin-bottom: 4em;
}
.half{ gap: 50px; }
.half .text,
.half .stats{
  flex: 1;
}
.catalogs{
  align-items: flex-start;
}
.catalogs img{
  width: 100%;
}
.catalogs .txt {
    color: #333;
    font-weight: 600;
    font-size: 14px;
}


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

footer#colophon{
	font-size: 14px;
	color: #fff;
	background-color: #0f5093;
	padding: 50px 0;
}
footer#colophon ul a {
    color: #fff;
    width: 100%;
    display: block;
    text-decoration: none;
    border-bottom: solid 1px;
    line-height: 1.4;
    margin-bottom: 10px;
    padding: 0;
}
#supplementary{
    align-items: flex-start;
	gap: 40px;
}
#supplementary .footer-widget-area{
	    width: 100%;
}

#supplementary ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

#supplementary ul li{}
#supplementary .sub-menu a{
	text-decoration: none;
	border-bottom: none;
}

.footer-sns-first {
    border-top: solid 1px;
    margin-top: 20px;
    padding-top: 20px;
}

#supplementary .sub-menu .footer-sns a{
    margin: 0 0 5px;
}
#supplementary .sub-menu a.ft-cbox{
    border: solid 1px #fff;
    display: inline-block;
    padding: 2px 10px;
    margin-top: 5px;
    width: 90px;
    text-align: center;
}

.totop {
    position: fixed;
    right: 30px;
    bottom: 30px;
    color: #c1c1c1;
    width: 35px;
    height: 35px;
    border-radius: 100px;
    background: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all .3s ease;
    z-index: 999;
    text-decoration: none;
}

.totop.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.totop:hover {
  background: #333;
  text-decoration: none;
}

/*.fh-toggle{display: none;}*/

@media screen and (max-width: 959px) {
    #header .inner {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    header h1{text-align: center;}
    #header .site-logo,
    #header .site-logo a {
        margin: 0 auto !important;
        text-align: center !important;
    }

    #header .site-logo img {
        display: block !important;
        margin: 0 auto !important;
    }
    .inner {
        width: 100%;
        padding: 0 5%;
    }
    .entry-title {
        font-size: 26px;
        font-weight: 600;
        text-align: left;
    }
    .entry-thumbnail img{
        width: 100%;
    }
    .entry-content h2 {
        font-weight: 600;
        font-size: 26px;
    }
    .flex{
        display: block;
    }
    .spn{
        display: none;
    }
    .wpb_row{
        text-align: center;
    }
    ul.project-list{
        grid-template-columns: auto;
    }
}


#supplementary .fh-toggle{
  display:none !important;
}

@media (max-width: 767px){

  #supplementary .fh-toggle{
    display:block !important;
  }
  .fh-toggle{
    display: block;
  }
  #supplementary .footer-4 .sub-menu{
    max-height: none !important;
    overflow: visible !important;
  }
  footer#colophon .footer-4 ul a {
    margin: 10px 0;
    padding-bottom: 7px;
  }
  #supplementary .footer-widget-area:not(.footer-4) .menu > .menu-item-has-children > a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  #supplementary .footer-widget-area:not(.footer-4) .menu .sub-menu{
    overflow: hidden;
    max-height: 0;
    transition: max-height .25s ease;
    margin: 6px 0 0;
    padding: 0;
  }
  #supplementary .footer-widget-area:not(.footer-4) .menu .menu-item-has-children.is-open > .sub-menu{
    max-height: 1000px;
  }
  #supplementary .footer-widget-area:not(.footer-4) .fh-toggle{
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
  }
  #supplementary .footer-widget-area:not(.footer-4) .fh-toggle::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 9px;
      height: 9px;
      border-right: 2px solid rgb(255 255 255);
      border-bottom: 2px solid rgb(255 255 255);
      transform: translate(-50%, -60%) rotate(45deg);
      transition: transform .2s ease;
  }
  #supplementary .footer-widget-area:not(.footer-4) .menu .menu-item-has-children.is-open > a .fh-toggle::before{
    transform: translate(-50%, -35%) rotate(-135deg); /* ▲ */
  }
  #supplementary .footer-widget-area:not(.footer-4) .menu .sub-menu li a{
    display: block;
    margin: 0 10px 10px;
  }
  .visore-wrap{
    display: block;
  }
}


/* PCではトグルボタンを非表示（ヘッダー/フッター共通） */
@media (min-width: 768px){
  .fm-submenu-toggle,
  .fh-toggle{
    display: none !important;
  }
}


