@charset "utf-8";

:root{
  --default-font:'YakuHanJPs', 'Noto Sans JP', sans-serif;
  --eng-font:'Work Sans', sans-serif;
  --icon-font:'Material Symbols Outlined';
  --main-color:#1278af;
  --key-color:#0073CC;
  --bg-color:#fff;
  --link-color:#222;
  --link-color02:#1a73e8;
  --base-color:#222;
  --light-color:#666;
  --red:#dd0000;
  --normal:555;
  --bold:777;
}

header{
  box-sizing:border-box;
  width:100%; height:60px;
  min-width:1000px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-right:30px;
  padding-right:1.5vw;
  position:fixed;
  top:0; left:0; z-index:100;
  transition:0.3s ease-in-out;
  background:rgba(255,255,255,0.9);
/*
  background:linear-gradient(
    rgba(0,0,0,0.4) 30%,
    rgba(0,0,0,0) 90%
  );
*/
}
header.header2025{
  background:rgba(255,255,255,1);
}
header #logo{
  width:300px; height:100%;
  background:var(--main-color);
  position:relative;
}
header #logo.logo2025{
  background:transparent;
}
header #logo img{
  width:250px;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  transition:0.3s ease-in-out;
}
header nav#global-nav{
}
nav#global-nav > ul{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:0 1.5vw;
  position:relative;
}
nav#global-nav > ul > li{
  font-size:0.9em; line-height:1.6;
  white-space:nowrap;
  position:relative;
}
/*
nav#global-nav > ul > li:not(:first-child){
  margin-left:1.9em;
}
nav#global-nav > ul > li.inquiry{
  margin-left:1.5em;
  margin-right:-1.0em;
}
nav#global-nav > ul > li.lang{
  margin-left:1.5em;
}
*/
nav#global-nav > ul > li a,
nav#global-nav > ul > li div{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  cursor:pointer;
}
nav#global-nav > ul > li.inquiry > a::after{
  display:none;
}
nav#global-nav > ul > li:not(:last-child) > a::after,
nav#global-nav > ul > li:not(:last-child) > span::after{
  content:"";
  width:100%; height:2px;
  background:var(--main-color);
  position:absolute;
  bottom:-0.25em; left:0;
  transform-origin:center top;
  transform:scale(0,1);
  transition:0.1s;
}
nav#global-nav > ul > li:not(:last-child) > a:hover::after,
nav#global-nav > ul > li:not(:last-child) > span:hover::after{
  transform:scale(1,1);
  transition:0.1s;
}
nav#global-nav > ul > li.inquiry a,
nav#global-nav > ul > li.lang a{
  border:1px solid #666;
  font-size:0.9em; line-height:1.6;
  text-transform:uppercase;
  padding:0.1em 1.2em;
}
nav#global-nav > ul > li.lang a span{
  vertical-align:inherit;
}
nav#global-nav > ul > li.inquiry > a{
  color:#FFF;
  background:var(--main-color);
  border-color:var(--main-color);
}
nav#global-nav > ul > li.inquiry a:hover,
nav#global-nav > ul > li.lang a:hover{
  color:var(--base-color);
  background:#fff;
}

header:has(li.ec){
  padding-right:0;
}
nav#global-nav > ul > li.ec{
  max-height:60px;
  overflow:hidden;
}
nav#global-nav > ul > li.ec > a{
  background:var(--main-color);
  color:#fff;
  padding:calc((60px - 1.44rem) / 2) 2.0vw;
}

nav#global-nav > ul > li > ul{
  box-sizing:border-box;
  width:auto !important;
  height:auto !important;
  position:absolute;
  top:2.5em; left:50%;
  z-index:100;
  background:rgba(255,255,255,0.95);
  transform:translateX(-50%);
  text-align:center;
}
nav#global-nav > ul > li > ul > li{
  display:block !important;
  font-size:0.9em; line-height:1.6;
  width:auto !important;
  margin:0 !important;
}
nav#global-nav > ul > li > ul > li > a{
  display:block;
  white-space:nowrap;
  color:var(--base-color);
  padding:0.6em 2.5em;
  transition:0.3s;
}
nav#global-nav > ul > li > ul > li > a:hover{
  color:#fff;
  background:var(--main-color);
  transition:0.3s;
}
#fade-in li ul{
	visibility:hidden;
	opacity:0;
	transition:0.4s;
}
#fade-in li.lang ul,
#fade-in li:hover ul{
	visibility:visible;
	opacity:1;
}
#fade-in li ul li a{
	visibility:hidden;
	opacity:0;
	transition:0.4s;
}
#fade-in li.lang ul li a,
#fade-in li:hover ul li a{
	visibility:visible;
	opacity:1;
}

/*
nav#global-nav > ul > li > .nav-box > .nav-box-inner{
  box-sizing:border-box;
  width:100%;
  margin-top:5px;
  padding:20px 45px;
  background:rgba(255,255,255,0.95);
  border-radius:3px;
  text-align:left;
}
nav#global-nav > ul > li > .nav-box h2{
  font-size:1.15em; line-height:1.8;
  color:var(--main-color);
  margin-bottom:0.1em;
  position:relative;
}
nav#global-nav > ul > li > .nav-box h2::after{
  content:"";
  width:calc(100% - 5em);
  border-top:1px dashed var(--main-color);
  position:absolute;
  top:50%; left:5em;
}
nav#global-nav > ul > li > .nav-box ul{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
nav#global-nav > ul > li > .nav-box ul li{
  list-style:disc outside;
  width:calc(50% - 1.2em);
  margin:0.5em 0;
  margin-left:1.2em;
}
nav#global-nav > ul > li > .nav-box ul li a{
  display:block;
  color:var(--base-color) !important;
}
nav#global-nav > ul > li > .nav-box ul li a:hover{
  color:var(--link-color) !important;
}
#fade-in li > .nav-box{
  box-sizing:border-box;
  width:100%;
  position:absolute;
  top:0; left:0;
}
#fade-in li > .nav-box{
	visibility:hidden;
  display:none;
	opacity:0;
  height:0;
	transition:0.4s;
}
#fade-in li:hover > .nav-box{
	visibility:visible;
  display:block;
	opacity:1;
  height:auto;
	transition:0.4s;
  top:1.8em;
}
*/

#index-billboard{
  width:100vw; height:100vh;
  min-width:1280px;
  max-height:860px;
  position:relative;
}
#index-billboard #billboard-text{
  width:100%; height:90vh;
  max-height:860px;
  position:absolute;
  top:0; left:0;
}
#index-billboard #billboard-text .text-box{
  position:absolute;
  top:50%; left:0;
  transform:translateY(-40%);
  text-align:left;
  padding-left:5%;
}
#index-billboard #billboard-text h2{
  font-size:3.8vw; line-height:1.4;
  color:#fff;
  letter-spacing:0.1em;
  text-shadow:1px 1px 3px #000;
  margin-bottom:0.25em;
}
#index-billboard #billboard-text p{
  font-size:1.4vw; line-height:1.6;
  color:#fff;
  text-shadow:1px 1px 3px #000;
}
.slick-container{
  width:100%; height:100%;
}
.slick-list,
.slick-track{
  width:100%; height:100%;
}
ul.index-slider{
  width:100%; height:100%;
  position:relative;
}
ul.index-slider li.slider-item{
  width:100%; height:100%;
  margin:auto;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
ul.index-slider li.slide01{
  background-image:url(../../img/index/billboard/01.jpg);
}
ul.index-slider li.slide02{
  background-image:url(../../img/index/billboard/02.jpg);
}
ul.index-slider li.slide03{
  background-image:url(../../img/index/billboard/03.jpg);
}
ul.index-slider li.slide04{
  background-image:url(../../img/index/billboard/04.jpg);
}
ul.index-slider li.slide05{
  background-image:url(../../img/index/billboard/05.jpg);
}
ul.index-slider li.slide06{
  background-image:url(../../img/index/billboard/06.jpg);
}
ul.index-slider li.slide07{
  background-image:url(../../img/index/billboard/07.jpg);
}
ul.index-slider li.slide08{
  background-image:url(../../img/index/billboard/08.jpg);
}
ul.index-slider li.slide09{
  background-image:url(../../img/index/billboard/09.jpg);
}
ul.index-slider li.slide10{
  background-image:url(../../img/index/billboard/10.jpg);
}
ul.index-slider li.slide11{
  background-image:url(../../img/index/billboard/11.jpg);
}
ul.index-slider li.slide12{
  background-image:url(../../img/index/billboard/12.jpg);
}
ul.index-slider li.slide13{
  background-image:url(../../img/index/billboard/13.jpg);
}
ul.index-slider li.slide14{
  background-image:url(../../img/index/billboard/14.jpg);
}
ul.index-slider li.eng01{
  background-image:url(../../img/index/billboard/eng/02.jpg);
  background-position:center bottom;
}
ul.index-slider li.eng02{
  background-image:url(../../img/index/billboard/eng/03.jpg);
  background-position:center bottom;
}
ul.index-slider li.eng03{
  background-image:url(../../img/index/billboard/eng/04.jpg);
  background-position:center bottom;
}
ul.index-slider li.eng04{
  background-image:url(../../img/index/billboard/eng/05.jpg);
  background-position:center bottom;
}
ul.index-slider li.eng05{
  background-image:url(../../img/index/billboard/eng/06.jpg);
  background-position:center bottom;
}
ul.index-slider li.eng06{
  background-image:url(../../img/index/billboard/eng/01.jpg);
  background-position:center bottom;
}
ul.index-slider li.eng07{
  background-image:url(../../img/index/billboard/eng/07.jpg);
  background-position:center bottom;
}
.add-animation{
  animation:zoomUp 8s linear 0s normal both;
}
@keyframes zoomUp{
  0%{
    transform:scale(1);
  }
  100%{
    transform:scale(1.15);
  }
}
#index-billboard ul.slick-dots{
  position:absolute;
  bottom:15px; right:0; z-index:5;
}
#index-billboard ul.slick-dots li{
  background:none;
}

.important-topics{
  width:1040px;
  margin:60px auto;
  text-align:center;
}
.important-topics > a{
  font-size:2.2rem; line-height:1.6; font-weight:700;
  color:#ee0000;
  margin:0 auto;
}
.important-topics ul.news-list li a{
  justify-content:center;
}
.important-topics ul.news-list li a .important-label{
  width:150px;
  display:inline-block;
  font-size:0.7em; line-height:1.8;
  color:#fff;
  background:var(--red);
  text-align:center;
  border:1px solid var(--red);
  border-radius:9999px;
  padding:0.1em 0 0.2em;
  margin-right:2.0em;
  position:relative;
  top:0.2em;
}
.important-topics ul.news-list li a .entry-title{
  flex:none;
}

#index-container{
  width:100%;
  margin-top:80px;
  background-image:url(../../img/index/bg_water01.jpg);
  background-repeat:no-repeat;
  background-position:center top -70px;
  background-size:100% auto;
  position:relative;
}
#index-container::after{
  content:"";
  width:28vw; height:900px;
  background-image:url(../../img/index/bg_water02.jpg);
  background-repeat:no-repeat;
  background-position:bottom right;
  background-size:contain;
  position:absolute;
  bottom:0; right:0; z-index:2;
}
#index-container h2{
  color:var(--key-color);
  margin-bottom:1em;
}
#index-container h2 .jp{
  font-size:1.1rem; line-height:1.6;
  display:block;
}
#index-container h2 .eng{
  font-size:2.8rem; line-height:1.1;
  display:block;
}

#index-business{
  width:1040px;
  margin:0 auto 80px;
}
ul.index-biz-list{
  display:flex;
  justify-content:space-between;
}
ul.index-biz-list li{
  width:49.5%;
  background:#fff;
}
ul.index-biz-list02{
  margin:0 10px;
  display:flex;
  justify-content:center;
}
ul.index-biz-list02 li{
  flex:3;
  background:#fff;
  margin:0 10px;
  position:relative;
}
ul.index-biz-list li a,
ul.index-biz-list02 li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  position:relative;
  border-radius:3px;
  overflow:hidden;
}
ul.index-biz-list li a::after,
ul.index-biz-list02 li::after{
  content:"";
  border-bottom:22px solid var(--key-color);
  border-left:22px solid transparent;
  position:absolute;
  bottom:3px; right:3px;
}
ul.index-biz-list li a figure,
ul.index-biz-list02 li a figure{
  width:100%; height:auto;
  aspect-ratio:3/2;
  overflow:hidden;
  margin:0;
}
ul.index-biz-list li a figure img,
ul.index-biz-list02 li a figure img{
  width:100%; height:100%;
  object-fit:cover;
  transform:scale(1.01);
  transition:0.2s ease-in;
}
ul.index-biz-list li a:hover figure img,
ul.index-biz-list02 li a:hover figure img{
  transform:scale(1.1);
  transition:0.2s ease-in;
}
ul.index-biz-list li a .text-box,
ul.index-biz-list02 li a .text-box{
  padding:20px 15px 30px;
}
ul.index-biz-list li a h3,
ul.index-biz-list02 li a h3{
  font-size:1.4em; line-height:1.8;
  color:var(--link-color);
}
ul.index-biz-list li a:hover h3,
ul.index-biz-list02 li a:hover h3{
  text-decoration:underline;
  color:var(--key-color);
}
ul.index-biz-list li a p,
ul.index-biz-list02 li a p{
  font-size:0.95em; line-height:1.8;
}

#index-news{
  background:#f3f4f4;
  background:rgba(255,255,255,1);
  padding:80px calc((100% - 1040px) / 2);
  display:flex;
  justify-content:space-between;
  text-align:left;
  min-height:200px;
  position:relative;
  z-index:10;
}
#index-news .news-title{
  width:220px;
}
#index-news .text-box{
  flex:1;
}
#index-news ul.news-menu{
  display:flex;
  justify-content:space-between;
}
#index-news ul.news-menu.news-eng-menu{
  justify-content:flex-start;
}
#index-news ul.news-menu li{
  width:24.8%;
  font-size:0.85em; line-height:2.8;
  color:#fff;
  text-align:center;
  background:#c9c9c9;
  cursor:pointer;
  position:relative;
  transition:0.2s ease-in;
}
#index-news ul.news-menu.news-eng-menu li{
  width:auto;
  padding:0 3.0em;
  margin-right:1px;
}
#index-news ul.news-menu li.active{
  background:var(--key-color);
  transition:0.2s ease-in;
}
#index-news ul.news-menu li.active::after{
  content:"";
  border-top:8px solid var(--key-color);
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  position:absolute;
  bottom:-8px; left:50%;
  margin-left:-10px;
  transition:0.2s ease-in;
}
#index-news .tab-contents{
  display:none;
  background:#fff;
  padding:30px 0 0;
  transition:0.2s ease-in;
}
#index-news .tab-contents.active{
  display:block;
  transition:0.2s ease-in;
}
ul.news-list li:not(:last-child){
  margin-bottom:25px;
  padding-bottom:25px;
  border-bottom:1px dashed #999;
}
ul.news-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
ul.news-list li a .entry-date{
  width:105px;
  font-size:0.85em; line-height:1.8;
  color:#666;
  position:relative;
  top:0.2em;
}
ul.news-list li a .entry-category{
  width:150px;
  display:inline-block;
  font-size:0.7em; line-height:1.8;
  color:var(--key-color);
  text-align:center;
  border:1px solid var(--key-color);
  border-radius:9999px;
  padding:0.1em 0 0.1em;
  margin-right:2.0em;
  position:relative;
  top:0.2em;
}
ul.news-list li a .entry-title{
  flex:1;
  font-weight:500;
  color:var(--link-color);
}
ul.news-list li a:hover .entry-title{
  text-decoration:underline;
  color:var(--key-color);
}

#index-column{
  background:#fff;
  width:1040px;
  margin:0 auto;
  padding:80px 0;
  border-top:1px solid #ccc;
  display:flex;
  justify-content:space-between;
  text-align:left;
  position:relative;
  z-index:10;
}
#index-column > .news-title{
  position:absolute;
  top:70px; left:0;
}
#index-column > .news-title > h2 > .eng{
  text-transform:uppercase;
}
#index-column > .text-box{
  width:820px;
  margin:100px 0 0 auto;
}

#index-company-container{
}
#index-company{
  align-items:flex-start;
  position:relative;
  z-index:3;
  background:#E7F2F8;
  background:rgba(231,242,248,0.5);
  padding:160px 0;
  padding:80px calc((100% - 1040px) / 2);
}
#index-company .movie-box{
  width:500px; height:auto;
  aspect-ratio:16/9;
  margin-left:40px;
}
#index-company .movie-box iframe{
  width:100%; height:100%;
}
#index-company .text-box{
  flex:1;
  text-align:left;
}
#index-company h3{
  font-size:2em; line-height:1.8;
  margin-bottom:0.25em;
}
#index-company p{
  margin-bottom:2em;
}
#index-company ul.movie-list{
  display:flex;
  justify-content:space-between;
  margin-top:3em;
}
#index-company ul.movie-list li{
  width:48%;
}
#index-company ul.movie-list li figure{
  width:100%; height:auto;
  aspect-ratio:16/9;
  overflow:hidden;
  margin-bottom:0;
}
#index-company ul.movie-list li iframe{
  width:100%; height:100%;
}
#index-company ul.movie-list li figcaption{
  font-size:0.8em; line-height:1.6;
  margin-top:0.5em;
}
#index-company .button-type02{
  text-align:right;
  margin-top:-1em;
}

#index-recruit{
  width:1040px;
  margin:0 auto;
  padding:80px 0;
  position:relative;
  z-index:3;
}
#index-recruit a{
  display:block;
  width:100%; height:310px;
  background-image:url(../../img/index/recruit_bg02.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:auto 100%;
  position:relative;
  transition:0.2s ease-in;
}
#index-recruit a:hover{
  background-size:auto 102%;
  transition:0.2s ease-in;
}
#index-recruit a .text-box{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
#index-recruit a h2{
  position:relative;
  margin-bottom:0;
}
#index-recruit a h2::after{
  content:"";
  display:block;
  margin:15px auto;
  width:74px; height:14px;
  background-image:url(../../img/index/recruit_title_bg.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
}


#contact-container{
  background-image:url(../../img/common/contact_bg02.jpg);
  background-image:url(../../img/common/contact_bg.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  padding:80px 0 220px;
  color:#fff;
}
#contact-container h2{
  font-size:2.8rem; line-height:1.1;
  margin-bottom:0.25em;
}
#contact-container p{
  margin-bottom:2em;
}
ul.contact-list{
  display:flex;
  justify-content:center;
  align-items:center;
}
ul.contact-list li{
  margin:0 1.5em;
}
ul.contact-list li a{
  display:block;
  text-decoration:none;
  font-size:0.9em; line-height:1.8;
  color:#fff;
  position:relative;
}
ul.contact-list li.tel a{
  font-size:1.5em; line-height:1.8; font-weight:500;
  padding-left:1.7em;
  pointer-events:none;
}
ul.contact-list li.tel a::before{
  content:"";
  width:1.3em; height:1.3em;
  background-image:url(../../img/common/icon_tel_white.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-45%);
}
ul.contact-list li.form a{
  border:1px solid #fff;
  padding:0.5em 3.4em 0.5em 3.8em;
}
ul.contact-list li.form a::before{
  content:"";
  width:1.2em; height:1.2em;
  background-image:url(../../img/common/icon_mail_white.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; left:1em;
  transform:translateY(-50%);
}
ul.contact-list li.form a::after{
	content:"";
	width:0.4em; height:0.4em;
	border-right:1px solid #fff;
	border-top:1px solid #fff;
	position:absolute;
	top:50%; right:15px;
	transform:translateY(-50%) rotate(45deg);
	transition:0.2s;
}

footer{
  background:#f6f6f6;
  display:flex;
  justify-content:space-between;
  padding:40px calc((100% - 1040px) / 2);
}
footer .credit{
  width:340px;
  text-align:left;
}
footer .credit h2{
  width:240px;
  margin-bottom:0.5em;
}
footer .credit h2.footer-logo_jp{
  width:260px;
}
footer .credit h2.footer-logo_en{
  width:280px;
}
footer .credit p{
  font-size:0.85em; line-height:1.8;
}
footer .credit p a{
  color:var(--base-color);
  pointer-events:none;
}
footer nav.footer-nav{
  flex:1;
  text-align:left;
  display:flex;
  justify-content:space-between;
}
footer nav.footer-nav ul li span,
footer nav.footer-nav ul li a{
  display:block;
  text-decoration:none;
  font-size:0.8em; line-height:1.8; font-weight:500;
  color:var(--base-color);
  position:relative;
}
footer nav.footer-nav ul li.sub a{
  font-size:0.8em; line-height:1.8; font-weight:400;
  padding-left:1em;
}
footer nav.footer-nav ul li.sub a::before{
  content:"";
  width:0.5em;
  border-top:1px solid var(--base-color);
  position:absolute;
  top:50%; left:0;
}
#copyright{
  padding:20px calc((100% - 1040px) / 2);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
#copyright #kitz-group{
  width:130px; height:30px;
}
#copyright #kitz-group a{
  display:block;
  width:100%; height:100%;
  background-image:url(../../img/common/kitz_group.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
#copyright .text-box{
  text-align:right;
}
#copyright .text-box ul{
  display:flex;
  justify-content:flex-end;
  margin-bottom:0.5em;
}
#copyright .text-box ul li{
  font-size:0.75em; line-height:1.8;
}
#copyright .text-box ul li:not(:first-child)::before{
  content:"｜";
  margin:0 1em;
}
#copyright .text-box ul li a{
  display:inline-block;
  text-decoration:none;
  color:var(--base-color);
}
#copyright .text-box p{
  font-size:0.7em; line-height:1.8;
}

#page-billboard{
  box-sizing:border-box;
  width:100%; height:460px;
  height:360px;
  background-image:url(../../img/common/title_bg.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:relative;
}
#page-billboard h1{
  text-align:left;
  position:absolute;
  top:50%; left:calc((100% - 1040px) / 2);
  transform:translateY(-30%);
}
#page-billboard h1 .eng{
  display:block;
  font-size:3.5rem; line-height:1.4;
  font-size:2.4rem; line-height:1.4;
  letter-spacing:0.05em;
  text-transform:uppercase;
}
#page-billboard h1 .jp{
  display:block;
  font-size:0.9rem; line-height:1.4;
}

#crumb{
  box-sizing:border-box;
  width:100%;
  padding:10px 0 50px;
  text-align:left;
}
#crumb ul{
  display:flex;
  flex-wrap:wrap;
}
#crumb ul li{
  font-size:0.75em; line-height:1.6;
  color:var(--light-color);
}
#crumb ul li:not(:last-child)::after{
  content:"＞";
  display:inline-block;
  margin:0 0.25em;
  transform:scale(0.5,0.8);
}
#crumb ul li a{
  text-decoration:none;
  color:#555;
}
#crumb ul li a:hover{
  text-decoration:underline;
}
#crumb ul li:last-child a{
  color:#333;
  pointer-events:none;
}

#container{
  box-sizing:border-box;
  width:100%;
  padding:0 calc((100% - 1040px) / 2) 40px;
  background-image:url(../../img/index/bg_water02.jpg);
  background-repeat:no-repeat;
  background-position:bottom right;
  background-size:auto 960px;
}
#container.flex{
  justify-content:space-between;
}
#container #main{
  width:740px;
}
#container #side{
  width:240px;
}

.side-box{
  text-align:left;
}
.side-box h2{
  font-size:0.95em; line-height:1.8;
  margin-bottom:1em;
}
.side-box h2 a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  border-bottom:1px dashed transparent;
}
.side-box h2 a:hover{
  border-bottom:1px dashed #999;
}
ul.side-menu-list li{
  margin-bottom:1.0em;
}
ul.side-menu-list li a{
  display:block;
  text-decoration:none;
  font-size:0.85em; line-height:1.8;
  color:var(--base-color);
}
ul.side-menu-list li a .entry-date{
  font-size:0.9em;
}
ul.side-menu-list li a:hover .entry-title{
  text-decoration:underline;
  color:var(--link-color);
}

section{
  width:100%;
  margin:0 auto 100px;
  text-align:left;
}
section > h2{
  font-size:1.6em; line-height:1.6; font-weight:500;
  margin-bottom:0.8em;
  position:relative;
}
section > h2::after{
  content:"";
  width:100%;
  border-top:1px dashed var(--main-color);
  position:absolute;
  top:50%; left:0;
}
section > h2 > span{
  display:inline-block;
  background:#fff;
  padding-right:0.5em;
  position:relative;
  z-index:1;
}
section > h2 .small{
  display:inline-block;
  font-size:0.7em;
  margin-left:0.6em;
}
section h3{
  font-size:1.2em; line-height:1.6; font-weight:500;
  color:var(--main-color);
  margin-bottom:0.3em;
  position:relative;
}
section p{
  margin-bottom:1.5em;
}

/* 精密フィルター */
section > h2.filter-cat{
  margin-bottom:0.8em;
}
section > h2.filter-cat > span{
  padding-left:1.5em;
}
section > h2.filter-cat > span::before{
  content:"";
  width:1.2em; height:1.2em;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0.2em; left:0;
}
section > h2.filter-cat > span.electronics::before,
section > h2.filter-cat > span.electronics-en::before{
  background-image:url(../../img/filter/icon/cat01.svg);
}
section > h2.filter-cat > span.chemical::before,
section > h2.filter-cat > span.chemical-en::before{
  background-image:url(../../img/filter/icon/cat02.svg);
}
section > h2.filter-cat > span.medical::before,
section > h2.filter-cat > span.medical-en::before{
  background-image:url(../../img/filter/icon/cat03.svg);
}
section > h2.filter-cat > span.analysis::before,
section > h2.filter-cat > span.analysis-en::before{
  background-image:url(../../img/filter/icon/cat04.svg);
}
section > h2.filter-cat > span.food-and-beverage::before,
section > h2.filter-cat > span.food-and-beverage-en::before{
  background-image:url(../../img/filter/icon/cat05.svg);
}
section > h2.filter-cat > span.industry::before,
section > h2.filter-cat > span.industry-en::before{
  background-image:url(../../img/filter/icon/cat06.svg);
}
section > h2.filter-cat > span.liquid-medicine::before,
section > h2.filter-cat > span.liquid-medicine-en::before,
section > h2.filter-cat > span.fluid::before,
section > h2.filter-cat > span.fluid-en::before,
section > h2.filter-cat > span.other-fluid::before,
section > h2.filter-cat > span.other-fluid-en::before{
  background-image:url(../../img/filter/icon/cat07.svg);
}
section > h2.filter-cat > span.gas::before,
section > h2.filter-cat > span.gas-en::before,
section > h2.filter-cat > span.dehumidification-humidification::before,
section > h2.filter-cat > span.dehumidification-humidification-en::before,
section > h2.filter-cat > span.humidity-control::before,
section > h2.filter-cat > span.humidity-control-en::before,
section > h2.filter-cat > span.degassing-injection::before,
section > h2.filter-cat > span.degassing-injection-en::before{
  background-image:url(../../img/filter/icon/cat08.svg);
}
section > h2.filter-cat > span.tag::before{
  background-image:url(../../img/filter/icon/cat09.svg);
  background-size:90% auto;
}

.description{
  font-size:1.05em; line-height:1.8;
  margin-bottom:3.5em;
}
ul.filter-archive-list{
  display:flex;
  flex-wrap:wrap;
}
ul.filter-archive-list li{
  width:31%;
  margin-bottom:30px;
}
ul.filter-archive-list li:not(:nth-child(3n)){
  margin-right:3.5%;
}
ul.filter-archive-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.filter-archive-list li a figure{
  width:100%; height:auto;
  aspect-ratio:4/4;
  overflow:hidden;
  margin-bottom:10px;
}
ul.filter-archive-list li a figure img{
  width:100%; height:100%;
  object-fit:cover;
  transform:scale(1);
  transition:0.2s ease-in;
}
ul.filter-archive-list li a:hover figure img{
  transform:scale(1.1);
  transition:0.2s ease-in;
}
ul.filter-archive-list li a h3.filter-title{
  font-size:1.25em; line-height:1.6; font-weight:500;
  color:var(--link-color);
  padding-left:2em;
  margin-bottom:0.5em;
  position:relative;
}
ul.filter-archive-list li a h3 .eng{
  display:block;
  font-size:0.7em;
  color:var(--light-color);
}
ul.filter-archive-list li a:hover h3,
ul.filter-archive-list li a:hover h3 .eng{
  text-decoration:underline;
  color:var(--key-color);
}
ul.filter-archive-list li a h3.filter-title::before{
  content:"";
  width:1.5em; height:1.5em;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0.1em; left:0;
}
ul.filter-archive-list li a h3.cat01::before{
  background-image:url(../../img/filter/icon/cat01.svg);
}
ul.filter-archive-list li a h3.cat02::before{
  background-image:url(../../img/filter/icon/cat02.svg);
}
ul.filter-archive-list li a h3.cat03::before{
  background-image:url(../../img/filter/icon/cat03.svg);
}
ul.filter-archive-list li a h3.cat04::before{
  background-image:url(../../img/filter/icon/cat04.svg);
}
ul.filter-archive-list li a h3.cat05::before{
  background-image:url(../../img/filter/icon/cat05.svg);
}
ul.filter-archive-list li a h3.cat06::before{
  background-image:url(../../img/filter/icon/cat06.svg);
}
ul.filter-archive-list li a p{
  font-size:0.9em; line-height:1.8;
  margin-bottom:0;
}

.filter-news-box{
  display:flex;
  justify-content:space-between;
}
.filter-news-box .title{
  width:200px;
}
.filter-news-box .title .more{
  margin-top:15px;
}
.filter-news-box .title .more a{
  display:inline-block;
  text-decoration:none;
  font-size:0.85em; line-height:1.8;
  color:var(--base-color);
  text-transform:uppercase;
  position:relative;
  transition:0.2s;
}
.filter-news-box .title .more a::after{
  content:"";
  width:0.3em; height:0.3em;
  border-right:2px solid var(--base-color);
  border-bottom:2px solid var(--base-color);
  position:absolute;
  top:50%; right:-0.75em;
  transform:translateY(-50%) scale(0.75,1) rotate(-45deg);
  transition:0.2s;
}
.filter-news-box .title .more a:hover{
  text-decoration:underline;
  color:var(--link-color);
  transition:0.2s;
}
.filter-news-box .title .more a:hover::after{
  border-right-color:var(--link-color);
  border-bottom-color:var(--link-color);
  transition:0.2s;
}
.filter-news-box .text-box{
  flex:1;
  padding-top:0.5em;
}
.filter-news-box h2{
  font-size:2.4rem; line-height:1.1;
  color:var(--main-color);
}
.filter-news-box ul.news-list li:not(:last-child){
  margin-bottom:20px;
  padding-bottom:20px;
  border-bottom:1px dashed #999;
}

.filter-column-box{
  position:relative;
}
.filter-column-box > .title{
  position:absolute;
  top:0; left:0;
}
.filter-column-box > .title > h2{
  font-size:2.4rem; line-height:1.1;
  color:var(--main-color);
}
.filter-column-box > .title > h2 > .jp{
  font-size:1.1rem; line-height:1.6;
  display:block;
}
.filter-column-box > .title > h2 > .eng{
  text-transform:uppercase;
}
.filter-column-box .title .more{
  margin-top:15px;
}
.filter-column-box .title .more a{
  display:inline-block;
  text-decoration:none;
  font-size:0.85em; line-height:1.8;
  color:var(--base-color);
  text-transform:uppercase;
  position:relative;
  transition:0.2s;
}
.filter-column-box .title .more a::after{
  content:"";
  width:0.3em; height:0.3em;
  border-right:2px solid var(--base-color);
  border-bottom:2px solid var(--base-color);
  position:absolute;
  top:50%; right:-0.75em;
  transform:translateY(-50%) scale(0.75,1) rotate(-45deg);
  transition:0.2s;
}
.filter-column-box .title .more a:hover{
  text-decoration:underline;
  color:var(--link-color);
  transition:0.2s;
}
.filter-column-box .title .more a:hover::after{
  border-right-color:var(--link-color);
  border-bottom-color:var(--link-color);
  transition:0.2s;
}
.filter-column-box > .text-box{
  width:820px;
  margin-left:auto;
  padding-top:100px;
}

/* 精密フィルター 製品検索 */
.filter-search-box{
  box-sizing:border-box;
  width:100%;
  border:1px solid #999;
  border-radius:5px;
  padding:25px 35px;
  background:rgba(255,255,255,0.9);
}
section .filter-search-box h3{
  font-size:1.1em; line-height:1.8;
  margin-bottom:1em;
}
.filter-search-box .select-category,
.filter-search-box .select-type{
  width:28%;
  margin-right:10px;
}
.filter-search-box .keyword{
  flex:1;
}
.filter-search-box .tag-container{
  margin:10px 0 25px;
  display:flex;
  flex-wrap:wrap;
}
.filter-search-box .tag-container label{
  margin-right:2em;
}
.filter-search-box .tag-container label input[type="checkbox"]{
  margin-right:0.25em;
}
.filter-search-box .search-submit{
  margin-top:25px;
}

/* 精密フィルター 製品一覧 */
ul.product-menu{
  display:flex;
}
ul.product-menu.product-eng-menu{
  flex-wrap:wrap;
}
ul.product-menu li:not(:last-of-type){
  margin-right:2em;
}
ul.product-menu.product-eng-menu li:not(:last-of-type){
  margin-bottom:1.5em;
}
ul.product-menu li a{
  text-decoration:none;
  font-size:0.95em; line-height:1.8;
  color:var(--base-color);
  padding-bottom:0.4em;
  border-bottom:2px solid #ccc;
  position:relative;
}
ul.product-menu.product-eng-menu li a{
  font-size:0.9em; line-height:1.6;
}
ul.product-menu li a:hover{
  border-bottom-color:var(--link-color);
}
ul.product-menu li a::after{
  content:"";
  border-top:6px solid #ccc;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  position:absolute;
  bottom:-12px; left:50%;
  margin-left:-6px;
}
ul.product-menu li a:hover::after{
  border-top-color:var(--link-color);
}

section > p.search-condition > span{
  color:#777;
}
section.filter-archive-container{
  position:relative;
}
section.filter-archive-container > h3{
  float:left;
  position:sticky;
  top:100px;
}
section.filter-archive-container.filter-eng-archive > h3{
  float:none;
  top:60px; z-index:10;
  background:rgba(255,255,255,0.9);
  padding:1em 0;
}
ul.filter-item-list{
  margin-top:3.5em;
  margin-left:260px;
}
ul.filter-item-list li:not(:last-of-type){
  padding-bottom:30px;
  margin-bottom:30px;
  border-bottom:1px dashed #ccc;
}
ul.filter-item-list li a{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  text-decoration:none;
  color:var(--base-color);
}
ul.filter-item-list li a figure{
  width:160px; height:auto;
  aspect-ratio:1/1;
  overflow:hidden;
  margin-right:25px;
}
ul.filter-item-list li a .text-box{
  flex:1;
}
ul.filter-item-list li a h3{
  font-size:1.3em; line-height:1.8;
  color:var(--link-color);
}
ul.filter-item-list li a:hover h3{
  text-decoration:underline;
  color:var(--key-color);
}
ul.filter-item-list li a p{
  font-size:0.9em; line-height:1.8;
  margin-bottom:1.0em;
}
ul.filter-item-list li a .product-data{
  margin-bottom:0px;
}
ul.filter-item-list li a .product-data .product-cat{
  font-size:0.8em; line-height:1.8;
  color:#555;
}
ul.filter-item-list li a .product-data .product-tag{
  font-size:0.75em; line-height:1.6;
  color:#555;
}


/* 精密フィルター 製品ページ */
section.filter-product{
  display:flex;
  justify-content:space-between;
}
section.filter-product .product-image{
  width:360px; height:100%;
  margin-right:60px;
  position:sticky;
  top:120px;
}
section.filter-product .product-info{
  flex:1;
}
section.filter-product .product-info > h2{
  font-size:1.8em; line-height:1.6; font-weight:500;
  margin-bottom:0.3em;
}
.product-data{
  margin-bottom:40px;
}
.product-data .product-cat{
  display:flex;
  flex-wrap:wrap;
  font-size:0.9em; line-height:1.8;
  margin-bottom:0.5em;
}
.product-data .product-cat a,
.product-data .product-cat span{
  display:inline-block;
}
.product-data .product-cat a:not(:last-of-type)::after,
.product-data .product-cat span:not(:last-of-type)::after{
  display:inline-block;
  content:"｜";
  color:var(--base-color);
  margin:0 0.25em;
}
.product-data .product-tag{
  display:flex;
  flex-wrap:wrap;
  font-size:0.8em; line-height:1.6;
}
.product-data .product-tag a,
.product-data .product-tag span{
  text-decoration:none;
  border:1px solid var(--link-color);
  border-radius:9999px;
  background:#fff;
  padding:0 1em;
  margin-bottom:0.5em;
}
.product-data .product-tag span{
  border-color:#999;
}
.product-data .product-tag a:not(:last-of-type),
.product-data .product-tag span:not(:last-of-type){
  margin-right:0.5em;
}
.product-data .product-tag a:hover{
  background:var(--link-color);
  color:#fff;
}
section.filter-product h3{
  font-size:1.3em; line-height:1.6;
  margin-bottom:40px;
}
.filter-product .label{
  width:140px;
  font-size:0.95em; line-height:1.8; font-weight:500;
  text-align:center;
  background:#e7f1f7;
}
.product-feature{
  margin:20px 0 40px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
.product-feature > .label{
  margin-right:30px;
}
.product-feature .text-box{
  flex:1;
  font-size:0.95em; line-height:1.8;
}
.product-feature .text-box p{
  margin-bottom:0;
}
.product-box{
  margin:20px 0 80px;
}
.product-box > .label{
  display:inline-block;
  width:auto;
  white-space:nowrap;
  padding:0 2em;
  margin-bottom:15px;
}
.product-box > figure:not(:first-of-type){
  margin-top:15px;
}
.product-box figure a{
  display:block;
  position:relative;
}
.product-box figure a::after{
  content:"";
  width:28px; height:28px;
  background-image:url(../../img/filter/icon/zoom.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  background-color:#fff;
  border-radius:5px;
  transform:scale(0.65);
  transform-origin:bottom right;
  transition:0.1s ease-in;
  position:absolute;
  bottom:0; right:0;
}
.product-box figure:hover a::after{
  transform:scale(1);
  transition:0.1s ease-in;
}
.product-box .filter-detail-text{
  font-size:0.9em; line-height:1.8;
  margin-bottom:1.5em;
}
.product-movie{
  width:100%; height:auto;
  aspect-ratio:16/9;
  overflow:hidden;
  margin-top:25px;
}
.product-movie > iframe{
  width:100%; height:100%;
}
.product-caution{
  font-size:0.85em; line-height:1.8;
  background:#f6f6f6;
  padding:15px 25px;
  margin:20px auto 80px;
}
.product-contact{
  text-align:center;
}

ul.related-item-list{
  display:flex;
  margin-bottom:50px;
}
ul.related-item-list li{
  width:15%;
  margin-right:2%;
}
ul.related-item-list li:last-child{
  margin-right:0;
}
ul.related-item-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.related-item-list li a figure{
  width:100%; height:auto;
  aspect-ratio:1/1;
  overflow:hidden;
  margin-bottom:5px;
}
ul.related-item-list li a .title{
  font-size:0.85em; line-height:1.6;
}
ul.related-item-list li a:hover .title{
  text-decoration:underline;
  color:var(--link-color);
}

/* 新着情報 一覧 */
ul.news-archive-menu{
  display:flex;
//  justify-content:space-between;
  margin:2em 0;
}
ul.news-archive-menu li{
  width:24.8%;
  margin:0 0.1%;
}
ul.news-archive-menu li a{
  display:block;
  text-decoration:none;
  font-size:0.8em; line-height:2.8;
  color:#fff;
  text-align:center;
  background:#c9c9c9;
  padding-bottom:0.1em;
}
ul.news-archive-menu li.active a{
  background:var(--main-color);
}
section ul.news-list li:last-child{
  margin-bottom:25px;
  padding-bottom:25px;
  border-bottom:1px dashed #999;
}
.pagenavi-box{
  margin-top:30px;
}
.pagenavi-box > .wp-pagenavi{
  padding:0 !important;
  float:none !important;
  display:flex !important;
  flex-wrap:wrap;
}
.pagenavi-box > .wp-pagenavi a,
.pagenavi-box > .wp-pagenavi span.pages,
.pagenavi-box > .wp-pagenavi span.extend,
.pagenavi-box > .wp-pagenavi span.current{
  padding:2px 10px !important;
}

/* 新着情報 記事 */
article{
  width:90%;
  margin:0 auto;
}
article > .entry-title{
  margin-bottom:50px;
}
article > .entry-title > h1{
  font-size:1.8em; line-height:1.6; font-weight:400;
  margin-bottom:0.5em;
}
article > .entry-title > .entry-date{
  font-size:0.9em; line-height:1.8;
}
article > .entry-title > .sns-share-box{
}
article > .commentator-box{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin-top:-80px;
  margin-bottom:50px;
}
article > .commentator-box > .commentator-name{
  flex:1;
  font-size:0.9em; line-height:1.8;
  text-align:right;
}
article > .commentator-box > figure{
  width:80px;
  margin-bottom:0;
  margin-left:1em;
}
article > .entry-body{
  margin-bottom:50px;
}
article > .entry-body em{
  font-style:italic;
}
article > .entry-body p{
  line-height:2;
}
article > .entry-body > ul,
article > .entry-body > ol{
  margin-bottom:1.5em;
}
article > .entry-body > ul > li{
  list-style:disc outside;
  margin-left:1.25em;
}
article > .entry-body > ol > li{
  list-style:decimal outside;
  margin-left:1.25em;
}
article > .entry-body > table{
  width:auto;
  border-collapse:collapse;
  margin-bottom:1.5em;
}
article > .entry-body > table td{
  padding:0.5em 1em;
  border:1px solid #999;
}
article > .entry-body > hr{
  width:100%;
  border:none;
  border-top:1px solid #999;
  margin:1.25em 0;
}

article > ul.entry-bottom{
  border-top:1px solid #ccc;
  padding-top:30px;
  font-size:0.85em; line-height:1.8;
  display:flex;
  justify-content:center;
}
article > ul.entry-bottom li:not(:last-child)::after{
  content:"｜";
  margin:0 5px;
}
article > ul.entry-bottom li a{
  text-decoration:none;
  color:var(--base-color);
}
article > ul.entry-bottom li a:hover{
  text-decoration:underline;
  color:var(--link-color);
}

/* 会社案内 */
.president-box{
  display:flex;
  justify-content:space-between;
  flex-direction:row-reverse;
}
.president-box > figure{
  width:240px;
  margin-left:40px;
}
.president-box > .text-box{
  flex:1;
}

table.company-table{
  width:100%;
  border-collapse:collapse;
  margin-top:30px;
}
table.company-table tr{
  border-top:1px solid #ccc;
}
table.company-table th{
  padding:15px 20px;
  font-size:0.95em; line-height:2;
  background:rgba(18,120,175,0.03);
  text-align:left;
  vertical-align:top;
}
table.company-table td{
  padding:15px 30px;
  text-align:left;
  vertical-align:top;
}
ul.officer-list li{
  display:flex;
}
ul.officer-list li div.name{
//  display:inline-block;
  width:260px;
}
ul.officer-list li .small{
  font-size:0.85em;
}

table.history-table{
  width:100%;
  border-collapse:collapse;
  margin-top:30px;
}
table.history-table th{
  padding:15px 0;
//  font-family:var(--eng-font);
  font-size:2.0em; line-height:1.6;
  color:var(--main-color);
  vertical-align:top;
}
table.history-table th span{
  display:inline-block;
  position:relative;
  width:95px;
  text-align:right;
}
table.history-table th span::after{
  content:"";
  width:30px;
  border-top:1px solid var(--main-color);
  position:absolute;
  top:50%; right:-50px;
}
table.history-table td{
  padding:25px 15px 25px 60px;
}
ul.history-list li{
  position:relative;
  padding-left:60px;
}
ul.history-list li strong{
  width:40px;
  font-size:0.9em; line-height:2.1;
  text-align:right;
  position:absolute;
  top:0; left:0;
}
ul.history-list li:not(:first-child){
  margin-top:0.6em;
}

.mymap-box{
  width:100%; height:auto;
  aspect-ratio:16/9;
  margin:30px 0 80px;
}
.mymap-box iframe{
  width:100%; height:100%;
  border:none;
}
section.access h3 span{
  display:block;
  font-size:0.8em; line-height:1.8;
//  color:var(--base-color);
}
.base-box{
  margin:15px 0 80px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
.base-box .text-box{
  flex:1;
}
.base-box .gmap-box{
  width:480px; height:auto;
  aspect-ratio:4/3;
  margin-left:50px;
}
.base-box .gmap-box iframe{
  width:100%; height:100%;
}
.base-box table.access-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.9em; line-height:1.8;
}
.base-box table.access-table caption{
  font-size:1.05rem; line-height:1.8; font-weight:500;
  text-align:left;
  padding-bottom:15px;
  border-bottom:1px solid #ccc;
}
.base-box table.access-table tr:not(:first-child){
  border-top:1px solid #ccc;
}
.base-box table.access-table th{
  font-size:0.95em; line-height:1.8;
  white-space:nowrap;
  padding:15px 5px;
  vertical-align:top;
}
.base-box table.access-table td{
  padding:15px 0 15px 25px;
  vertical-align:top;
}
.base-box table.access-table td span.dept{
  display:inline-block;
}
ul.tel-list li{
//  padding-left:1.2em;
  position:relative;
}
ul.tel-list li:not(:last-child){
  margin-bottom:0.5em;
}
/*
ul.tel-list li::before{
  font-family:var(--icon-font);
  content:"\e0b0";
  font-size:0.9rem; line-height:1.8;
  color:var(--light-color);
  position:absolute;
  top:0.1em; left:0;
}
*/
ul.tel-list li a{
  pointer-events:none;
  font-weight:700;
  color:var(--base-color);
}

ul.dept-list li{
  position:relative;
}
ul.dept-list li:not(:last-child){
  padding-bottom:0.8em;
  margin-bottom:0.8em;
  border-bottom:1px solid #ccc;
}
ul.dept-list li strong{
  display:block;
  font-size:1.0rem;
}
ul.dept-list li a{
  pointer-events:none;
  color:var(--base-color);
}

/* お問い合わせ */
.contact-form{
  margin-top:60px;
}
.contact-box{
  display:flex;
  justify-content:space-between;
  margin-bottom:30px;
}
.contact-box .form-label{
  width:200px;
  margin-right:60px;
  position:relative;
}
.eng-form .contact-box .form-label{
  width:260px;
  margin-right:20px;
}
.contact-box .form-label.hissu{
}
.contact-box .form-label.hissu::after{
  content:"必須";
  font-size:0.75em; line-height:1.6;
  color:#fff;
  background:var(--red);
  border-radius:5px;
  padding:0 0.6em;
  position:absolute;
  top:0.4em; right:0;
}
.eng-form .contact-box .form-label.hissu::after{
  content:"Required";
  font-size:0.7em; line-height:1.6;
  letter-spacing:0;
}
.contact-box .form-item{
  flex:1;
}
section .wpcf7-form-control .wpcf7-list-item{
  margin-left:0;
}
section .wpcf7-form-control .wpcf7-list-item:not(:last-of-type){
  margin-right:2em;
}
section .wpcf7-form-control .wpcf7-list-item .wpcf7-list-item-label{
  margin-left:0.25em;
}
section .form-item span[data-name="zip"]{
  display:inline-block;
  width:200px;
}
.contact-form .contact-bikou{
  text-align:center;
}
.contact-form .contact-bikou p > a{
  color:var(--key-color);
}

/* 規約関連 */
.term-credit{
  display:flex;
  justify-content:flex-end;
}
p.credit{
  width:240px;
  margin-left:auto;
  margin-right:0;
}
p .logo-kitzmf{
  display:block;
  width:240px; height:auto;
  margin:0.5em 0;
}
.term-privacy-box{
  padding-left:2.0em;
  margin-bottom:3.5em;
}
table.term-table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:1.5em;
}
table.term-table tr th{
  padding:10px 15px;
  font-size:0.9em; line-height:1.8;
  text-align:center;
  border:1px solid #ccc;
}
table.term-table tr td{
  padding:10px 15px;
  font-size:0.95em; line-height:1.8;
  border:1px solid #ccc;
  vertical-align:top;
}
table.term-table tr td:nth-of-type(1){
  text-align:center;
}
table.term-table tr td:nth-of-type(2){
  white-space:nowrap;
}
table.legal-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.95em; line-height:1.8;
}
table.legal-table tr:not(:last-of-type){
  border-bottom:1px solid #ccc;
}
table.legal-table th{
  padding:15px 30px 15px 0;
  white-space:nowrap;
  vertical-align:top;
  border-right:1px dashed #ccc;
}
table.legal-table td{
  padding:15px 0 15px 30px;
}

/* catalog download */
ul.catalog-list{
  display:flex;
  flex-wrap:wrap;
}
ul.catalog-list li{
  width:18%;
  margin:0 2.5% 25px 0;
  font-size:0.8em; line-height:1.6;
}
ul.catalog-list li:nth-child(5n){
  margin-right:0;
}
ul.catalog-list li input[type="checkbox"]{
  display:none;
}
ul.catalog-list li input[type="checkbox"] + label{
  display:block;
  box-sizing:border-box;
  width:100%; height:auto;
  padding:1px;
  cursor:pointer;
  position:relative;
}
ul.catalog-list li figure{
  border:1px solid #ccc;
  padding:16px 16px;
  margin-bottom:0.5em;
  position:relative;
}
ul.catalog-list li input[type="checkbox"]:checked + label figure{
  border-color:rgba(0,0,0,0);
}
ul.catalog-list li input[type="checkbox"]:checked + label figure::before{
  content:"";
  width:100%; height:100%;
  background:rgba(18,120,175,0.2);
  position:absolute;
  top:0; left:0; z-index:2;
}
ul.catalog-list li input[type="checkbox"] + label figcaption{
  position:relative;
  padding-left:24px;
}
ul.catalog-list li input[type="checkbox"]:checked + label figcaption{
  color:var(--main-color);
}
ul.catalog-list li input[type="checkbox"] + label figcaption::before{
  content:"";
  width:1.4em; height:1.4em;
  background-image:url(../../img/common/check_off.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0.1em; left:0; z-index:10;
}
ul.catalog-list li input[type="checkbox"]:checked + label figcaption::before{
  background-image:url(../../img/common/check_on.svg);
}

/* tech-news */
ul.column-list{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
ul.column-list li{
  width:31%;
  margin:0 3.5% 3em 0;
}
#index-column ul.column-list li{
  width:32%;
  margin:0 2%;
}
ul.column-list li:nth-child(3n){
  margin-right:0;
}
ul.column-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.column-list li a figure{
  box-sizing:border-box;
  width:100%; height:auto;
  aspect-ratio:3/2;
  border:1px solid #f0f0f0;
  overflow:hidden;
  margin-bottom:0.5em;
}
ul.column-list li a figure img{
  width:100%; height:100%;
  object-fit:cover;
  transform:scale(1);
  transition:0.2s ease-in;
}
ul.column-list li a:hover figure img{
  transform:scale(1.06);
  transition:0.2s ease-in;
}
ul.column-list li a .entry-date{
  font-size:0.85em; line-height:1.8;
  display:block;
}
ul.column-list li a .entry-title{
  color:var(--link-color);
}
ul.column-list li a:hover .entry-title{
  text-decoration:underline;
  color:var(--link-color02);
}

/* メディカル */
#wrapper-alert{
  width:100%; height:100vh;
  position:fixed;
  top:0; left:0; z-index:1000;
  background:rgba(255,255,255,0.97);
}
#wrapper-alert > .alert-window{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
#wrapper-alert > .alert-window > p{
  font-size:1.1em; line-height:1.8; font-weight:var(--bold);
  margin-bottom:1em;
}
#wrapper-alert > .alert-window > ul.alert-button{
  display:flex;
  justify-content:center;
}
#wrapper-alert > .alert-window > ul.alert-button > li{
  width:10em;
  font-size:1.2em; line-height:2.8;
  background:#fff;
  border:1px solid var(--main-color);
  margin:0 0.5em;
  cursor:pointer;
}
#wrapper-alert > .alert-window > ul.alert-button > li:hover{
  background:var(--main-color);
  color:#fff;
}
ul.medical-item-list{
  display:flex;
  flex-wrap:wrap;
}
ul.medical-item-list li{
  width:22%;
  margin-bottom:30px;
}
ul.medical-item-list li:not(:nth-child(4n)){
  margin-right:4%;
}
ul.medical-item-list li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.medical-item-list li a figure{
  width:100%; height:auto;
  aspect-ratio:4/4;
  overflow:hidden;
  margin-bottom:10px;
}
ul.medical-item-list li a figure img{
  width:100%; height:100%;
  object-fit:cover;
  transform:scale(1);
  transition:0.2s ease-in;
}
ul.medical-item-list li a:hover figure img{
  transform:scale(1.05);
  transition:0.2s ease-in;
}
ul.medical-item-list li a h3{
  font-size:1.05em; line-height:1.6; font-weight:500;
  color:var(--link-color02);
  margin-bottom:0.5em;
  position:relative;
}
ul.medical-item-list li a:hover h3{
  text-decoration:underline;
}
