@charset "utf-8";

body {
  background-color: #fff;
}

header {
  width:100%;
  background-color: rgba(255,255,255,0.9);  
  z-index:1999;
}

.home header {
  position:fixed;
}

.breadcrumbs {
  width:100%;
  background:#fff;
  z-index:1999;
}

.breadcrumbs ol {
  margin: 0;
  font-size: 12px;
}

.breadcrumbs .list-inline > li {
  padding-right: 0;
  padding-left: 0;
}

.breadcrumbs li + li::before {
  padding: 0 0.25rem;
  content: "＞";
  font-family: FontAwesome;
}

@media print, screen and (min-width: 1200px) {
.breadcrumbs .container {
	width:1200px;
}
}

h1, h2, h3, h4, h5, h6 {
  font-family: "ヒラギノ角ゴ Pro";
}

h2.section-title {
  font-size:30px;
  font-weight:600;
  border-bottom:4px solid #DCDCDC;
  position:relative;
  padding-bottom: 36px;
  margin:0 0 40px;
}

h2.section-title::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  z-index: 2;
  content: '';
  width: 15%;
  height: 4px;
  background-color:#F07D00;
}

h2.section-title span {
  font-size:16px;
}

h2.section-title:has(> span) {
  line-height: 1.2;
}

h3.heading {
  text-align:left;
  margin:0;
  font-size:20px;
  font-weight:600;
}

h3.heading-list {
  margin:1em 0 2em;
}


h3.heading:first-of-type,
.alignleft + p,
.alignright + p {
  margin-top:0;
}

h4.heading {
  text-align:left;
  margin:1rem 0;
}

h4.heading-g {
  background: #eceded;
  padding: 0.5em 0 0.5em 1.5em;
  margin: 2.5em 0 1em;
}

h4.pic-caption {
  text-align:center;
  color:#15abbd;
}

hr.g-line {
  margin: 3rem 0;
  border-bottom: 1px solid #c6caca;
}

hr.g-line-mt {
  margin: 3rem 0 1rem;
}

hr.g-line-mb {
  margin: 1rem 0 3rem;
}

hr.g-line-ms {
  margin:0.5rem 0;
}

hr.g-line-dot {
  border-bottom: 1px dotted #c6caca;
}

hr.g-line-dash {
  border-bottom: 1px dashed #c6caca;
}

hr.red-line {
  border-bottom: 1px solid #ff0000;
  margin: 1rem 0;
}

.btn {
  font-size:1rem;
  border-radius: 0;
  background-color: #fff;
  border: none;
	overflow:hidden;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.btn span {position:relative;}

.btn-orange {
  background:#F07D00;
  border-radius:10px;
  color:#FFF;
  font-size:16px;
  font-weight:600;
  padding:14px 0;
  width:220px;
}

.btn-orange::after {
  display: block;
  content: '';
  position: absolute;
  top: 1.2em;
  right: .3em;
  width: 6px;
  height: 0;
  border-top: 6px solid transparent;
  border-right: 0;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #FFF;
}

.btn-orange-arrow-down::after {
  top: 1.4em;
  right: 1em;
  width: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid #FFF;
  border-bottom: 0;
}

a[target="_blank"].btn-orange::after,
.case-title .facility a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 13px;
  height: 11px;
  margin-left: 4px;
  background-image: url('./images/external-link-icon-orange.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  border: none;
  right: 1em;
}

.btn-orange-noarrow::after {
  display:none;
}

.btn-orange-off {
  background:#FFF;
  border:1px solid #F07D00;
  color:#F07D00;
}

.btn-orange-off::after {
  border-left: 8px solid #F07D00;
}

.btn-orange-off:hover {
  background:#F07D00;
  color:#FFF; 
}

.btn-orange-off:hover::after {
  border-left: 8px solid #FFF;
}

.btn-border-orange {
  background:#FFF;
  border:1px solid #F07D00;
  color:#323232;
}

.btn-border-orange::after {
  border-left: 8px solid #F07D00;
}

.btn-orange-w300 { width:300px; }
.btn-orange-w325 { width:325px; }
.btn-orange-w328 { width:328px; }
.btn-orange-w390 { width:390px; }
.btn-orange-w440 { width:440px; }

a[target="_blank"].btn-orange-pdf::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 18px;
  margin-left: 4px;
  background-image: url('./images/icon-pdf.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  border: none;
  top:1.1em;
  right: 1em;
}


.btn-contact {
	padding:0.5em 3em;
}

.btn-flex-wrap {
  display:flex;
}

.btn-flex-wrap .btn {
  margin-right:1em;
}

.btn-list {
  display:flex;
  justify-content:space-between;
}

a {
	color:#F07D00;
}

a.black,
a span.black {
  color: #323232;
}

a.no-border,
a span.no-border {
	text-decoration:none;
}

.blue {
	color:#0245a5;
}

.gray {
  color: #798586;
}

.icon-external {
	background:url(images/icon-external-black.png) no-repeat center right;
	padding-right:20px;
}

@media print, screen and (min-width: 768px) {   /* common.css のリセット */
  .container {
    width: auto;
    padding: 0;
  }
  
  #heading-memory, #heading-hdd, #heading-sdhc, #recording-time, #heading-memory {
	  margin-top:-64px;
	  padding-top:64px;
}
}

@media print, screen and (min-width: 1200px) {
  header .container,
  footer .footer-secondary .container {
    width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }

  .container {
    width: 960px;
    margin-right: auto;
    margin-left: auto;
  }

  .container-830 {
    width: 830px;
  }  

  .container-995 {
    width: 995px;
  }

  .container-1200 {
    width: 1200px;
  }
}

@media only screen and (max-width: 834px) {
  .container {
    padding: 0 10px;
  }

  .btn-list {
    gap:10px;
  }

  .btn-orange {
    font-size: 13px;
  }

  .btn-orange::after {
    top: 1.35em;
  }  
}

@media only screen and (max-width: 834px) {
  .btn-orange-w390, .btn-orange-w440 { width:320px; }
}

@media only screen and (max-width: 414px) {
  .container {
    padding: 0 40px;
  }

  .breadcrumbs .container {
    padding: 0 20px;
  }

  .breadcrumbs ol {
    font-size: 8px;
  }
  
  h2.section-title {
    font-size:18px;
    padding-bottom: 18px;
    margin: 0 0 20px;
  }
  
  .btn-list {
    justify-content:center;
    flex-wrap:wrap;
  }

  .btn-orange-w325 { width:300px; }
}

@media only screen and (max-width: 321px) {
  .btn-orange { font-size:10px; }

  .btn-orange::after {
    top: 1.8em;
    width: 3px;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 4px solid #FFF;
  }

  .btn-border-orange::after {
    border-left: 4px solid #F07D00;
  }

  .btn-orange-w325,
  .btn-orange-w390,
  .btn-orange-w440 { width:240px; }
}


.slicknav_menu {
  position: absolute;
  top: 7px;
  left: 0;
  width: 100%;
  padding: 0.5rem 0 0;
  background-color: rgba(0,0,0,0);
  z-index: 99;
  font-family: "Noto Sans Japanese";
}

.slicknav_btn {
/*  margin-bottom: 10px; */
  background-color: rgba(0,0,0,0);
}

.slicknav_menu .slicknav_icon-bar {
  background-color: #222;
}

#menu {
  background-color: #4c4c4c;
}

@media print, screen and (min-width: 768px) {
  .sp-only, .slicknav_menu {
    display: none;
  }
}

/*-----*/
.header-primary-sp {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.header-secondary {
  width: 100%;  /* fixed用 */
  background-color: #15abbd;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  z-index: 99;
  color: #fff;
}

.header-contents {
  background-color: #15abbd;
  text-align:center;
  color:#fff;
  font-size:1.25rem;
  padding:1rem 0;
}

.header-contents-history {
  background-image:url(../images/bg-heading-history.png);
  background-color:#141e1e;
  background-repeat:no-repeat;
  background-position:center;
  text-align:center;
  color:#fff;
  font-size:1.75rem;
  padding:6rem 0;
}

.drawer-navbar .drawer-brand {
  line-height:1.75rem !important;
}

.drawer-brand img {
	padding-bottom:0.3em;
	width:93px;
}

.drawer-brand img:nth-child(2) {
  display:none;
}

.drawer-brand span {
	font-size:60%
}

.drawer-navbar-header {
	height:50px !important;
  padding:1em 20px !important;
}

.drawer-navbar .drawer-nav {
	padding-top:100px !important;
}

.drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
    right: 20px !important;
}

.drawer-hamburger {
    top: 6px !important;
    width: 38px !important;
    height: 38px;
    padding: 0 !important;
    background-color: #F07D00 !important;
    border-radius: 30px;
}

.drawer-hamburger-icon:after {
    top: 7px !important;
}

.drawer-hamburger-icon:before {
    top: -7px !important;
}

.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    width: 25px !important;
    background-color: #fff !important;
    top: -5px;
    left: 6px;
}

.drawer-open .drawer-brand img:first-child {
  display:none;
}

.drawer-open .drawer-brand img:nth-child(2) {
  display:block;
}

.drawer-open .drawer-hamburger-icon {
    background-color: transparent !important;
}

.drawer-open .drawer-hamburger-icon:after, .drawer-open .drawer-hamburger-icon:before {
    top: 0 !important;
}

.drawer-navbar .drawer-menu {
  padding-left:70px;
  padding-right:70px;
}

.drawer-menu-item {
  font-size:16px !important;
}

@media print, screen and (min-width: 768px) {
  .fixed {
     position: fixed;
     top:0;
  }
}

@media print, screen and (max-width: 899px) {
 .fixed {
  position: fixed;
  z-index:1999;
}
}

/*-----*/
.no-pointer {
  pointer-events: none;
}

.navbar {
  /* overflow: hidden; */
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.navbar-primary .brand {
  float: left;
  position:relative;
  z-index:100;
}

.header-primary-pc .navbar-primary .brand {
  max-width: 45%;
}

.header-primary-pc .navbar-primary .brand img {
	width:150px;
}

.navbar-primary .brand a, 
.header-primary-pc .navbar-primary .brand a {
	text-decoration:none;
	font-weight:bold;
	color:#323232;
}

.navbar-primary .navbar-collapse {
  position: absolute;
  top:1.3em;
  right:0;
}

.navbar-collapse ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-family: "Noto Sans Japanese";
}

.navbar-collapse li {
  margin: 0;
  padding: 0;
}

.navbar-collapse ul li a {
  display: block;
  text-decoration: none;
  color: #323232;
}

.navbar-collapse ul li a:hover {
  color:#F07D00;
}

.navbar-collapse ul > li {
  position: relative;
  display: inline-block;
  padding-left: 2em;
}

.navbar-collapse ul > li.navbar-item-lang > a {
  display: inline;
}

.navbar-collapse ul > li > ul a:hover {
  background-color: #d6f7fa;
}

.navbar-collapse ul > li:last-child a {
  color:#FFF;
  font-weight:600;
  background:#F07D00;
  border-radius:10px;
  padding: 10px 38px;
}

.navbar-collapse ul > li:last-child a::after {
  display: block;
  content: '';
  position: absolute;
  top: 1.1em;
  right: .8em;
  width: 6px;
  height: 0;
  border-top: 6px solid transparent;
  border-right: 0;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #FFF;
}

/*-----*/
.navbar-collapse ul > li ul {
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  z-index: 10;

  visibility: hidden;
  opacity: 0;
  transition: 0.15s ease-in-out;
}

.navbar-collapse ul > li:hover ul {
  visibility: visible;
  opacity: 1;
}

.navbar-collapse ul > li li {
  width: 12em;
}

.navbar-collapse ul > li li > a {
  padding: 0.5em;
  background-color: #fff;
}

.navbar-collapse ul > li li.emp {
	background-color:#fff;
	margin-left:1em;
	padding-left:0;
	height:41px;
}

.navbar-collapse ul > li ul.hard {
	margin-left:1em;
}

.navbar-collapse ul > li ul.soft {
	left:209px;
}

.navbar-collapse ul > li ul.end {
	left:386px
}

.navbar-collapse ul > li ul.hard li,
.navbar-collapse ul > li ul.soft li {
	border-right:1px solid #e0e0e0;
	padding-left:0;
	margin-left:0;
}

.navbar-collapse ul a.current,
.drawer-menu-item.current {
  color: #F07D00;
}

@media print, screen and (min-width: 768px) {
  .navbar-primary {
    padding: 26px 0 6px;
    font-size: 0.83rem;
  }

  .brand {
    position: relative;
    top: -9px;
  }
}

@media only screen and (min-width: 1024px) {
  .navbar-primary {
    font-size: 14px;
  }
}

@media print, screen and (max-width: 1023px) {
  .navbar-primary .navbar-collapse {
    top:4em;
  }
}

@media print, screen and (max-width: 926px) {
  .navbar-primary .navbar-collapse {
    top:5.3em;
    font-size:.7rem;
  }
}

@media only screen and (max-width: 834px) {
  .navbar-primary {
    padding:26px 10px 6px;
  }

  .navbar-primary .navbar-collapse {
    top: 1.3em;
    right:1em;
  }
  
  .header-primary-pc .navbar-primary .brand img {
    width:110px;
  }
}

/*-----*/
.navbar-secondary .navbar-product-name {
  margin-bottom: 0.5em;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  vertical-align: middle;
  text-align: center;
}

.navbar-secondary .navbar-product-name span {
  font-size: 0.875rem;
  vertical-align: middle;
}

.navbar-secondary .navbar-collapse {
  text-align: center;
}

.navbar-secondary .navbar-collapse ul {
  padding-left: 0;
}

.navbar-secondary .navbar-collapse ul li {
  padding: 0.25em 0.5em;
  color: #fff;
}

.navbar-secondary .navbar-collapse ul li a {
  color: #fff;
  padding: 0 0.5em;
}

/**
* hoverでアンダーラインが中心から広がっていくアニメーション
* http://9-bb.com/scale%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%80%81hover%E3%81%A7%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%8C%E4%B8%AD%E5%BF%83%E3%81%8B%E3%82%89%E5%BA%83%E3%81%8C%E3%81%A3/
*/
.navbar-secondary .navbar-collapse ul li a {
  position: relative;
}

.navbar-secondary .navbar-collapse ul li a::after {
  content: '';
  position: absolute;
  bottom: -2px;  /* 2pxズラして .active の border-bottom と重ねる */
  left: 0;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  background-color: #fd0;
  transition: all .3s ease;
}
.navbar-secondary .navbar-collapse ul li a:hover::after {
  transform: scaleX(1);
}

.navbar-secondary .navbar-collapse ul li a:hover {
  color: #fd0;
}

.navbar-secondary .navbar-collapse ul li a.active {
  color: #fd0;
  border-bottom: 2px solid #fd0;
}

/* .navbar-secondary .navbar-collapse ul li a:hover {
  color: #fd0;
  border-bottom: 2px solid #fd0;
}
 */

.navbar-secondary .navbar-collapse ul li a.btn {
  background:#fff;
  color:#000;
  padding:3px 20px;
  border-radius:5px;
  font-size:1rem;
}

.navbar-secondary .navbar-collapse ul li a.btn:hover {
  border-bottom:none;
}

.navbar-secondary .navbar-collapse ul li a.btn::after {
	background-color:transparent;
}

@media only screen and (max-width: 767px) {
  .navbar-secondary .navbar-collapse ul li a.btn {
    padding:5px;
    margin-top:5px;
  }
}

@media print, screen and (min-width: 768px) {
  .navbar-secondary .navbar-collapse ul {
    padding-left: 2em;
  }

  .navbar-secondary .navbar-collapse ul li {
    padding: 0 0 0 1em;
    color: #fff;
  }

  .navbar-secondary .navbar-product-name,
  .navbar-secondary .navbar-collapse {
    float: left;
    margin-bottom: 0;
    text-align: left;
  }
}

/*-----*/

.mtop0 { margin-top: 0 !important;}
.mtop1 { margin-top: 1em !important;}
.mtop15 { margin-top: 1.5em !important;}
.mtop2 { margin-top: 2em !important;}
.mtop3 { margin-top: 3em !important;}
.mtop4 { margin-top: 4em !important;}
.mtop5 { margin-top: 5em !important;}
.mtop6 { margin-top: 6em !important;}
.mtop7 { margin-top: 7em !important;}
.mtop8 { margin-top: 8em !important;}
.mtop9 { margin-top: 9em !important;}
.mtop10 { margin-top: 10em !important;}

.mbot05 { margin-bottom: .5em !important;}
.mbot0 { margin-bottom: 0 !important;}
.mbot1 { margin-bottom: 1em !important;}
.mbot2 { margin-bottom: 2em !important;}
.mbot3 { margin-bottom: 3em !important;}
.mbot4 { margin-bottom: 4em !important;}
.mbot5 { margin-bottom: 5em !important;}

.mright1 { margin-right: 1em !important; }
.mright2 { margin-right: 2em !important; }
.mright3 { margin-right: 3em !important; }
.mright4 { margin-right: 4em !important; }

.ptop0 { padding-top:0 !important;}
.ptop1 { padding-top:1em !important;}

.pbot0 { padding-bottom:0 !important;}
.pbot1 { padding-bottom:1em !important;}

.pright1 { padding-right:1em !important;}

.pleft0 { padding-left:0 !important;}
.pleft1 { padding-left:1em !important;}

@media only screen and (max-width: 480px) {
  .mbot3 { margin-bottom: 1.5em !important;}
  .mright1, .mright3 { margin-right: 0 !important; }
}

/*-----*/

.home-notice {
  background-color: #f7f7f7;
  padding: 0.5rem 0;
  font-size: 0.83rem;
  text-align: center;
}

.home-notice a {
  color: #333;
}

/*-----*/

.home-carousel {
  background-color: #fff;
  text-align: center;
}

.home-carousel-container {
  margin-right: auto;
  margin-left: auto;
  max-width: 1200px;
}

.owl-controls {
}

.owl-item {
  text-align: center;
}

.owl-theme .owl-nav {  /* owl.theme.default.css のリセット */
  margin-top: 0;
}

.owl-theme .owl-nav [class*='owl-'],
.owl-theme .owl-nav [class*='owl-']:hover {  /* owl.theme.default.css のリセット */
  background: none;
  margin: 0;
  padding: 1rem 0.5rem;
  color: #333;
  font-size: 3rem;
}

.owl-theme .owl-nav [class*='owl-'] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}

.owl-prev {
  left: 0.5rem;
}

.owl-next {
  right: 0.5rem;
}

.owl-dots {
  position: absolute;
  bottom: 0.5rem;
  width: 100%
}

.owl-theme .owl-dots .owl-dot span {
  width: 1rem;
  height: 1rem;
  background: #fff;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: #d13239;
}


@media print, screen and (min-width: 1320px) {
  .owl-prev {
  }

  .owl-next {
  }
}

.home-contents-history {
  background-image:url(../images/bg-top-history.png);
  background-color:#181e24;
  background-repeat:no-repeat;
  background-position:center;
  text-align:center;
  color:#fff;
  font-size:1.75rem;
  padding:2rem 0;
}

.home-contents-history .btn-detail {
	margin-top:1rem;
}

.home-contents-campaign {
  background-image:url(../images/bg-campaign01.png);
  background-color:#15ABBD;
  background-repeat:no-repeat;
  background-position:center;
  text-align:center;
  color:#fff;
  font-size:1.75rem;
}


/*-----*/
.swiper-slide {
  height: 660px;
  position:relative;
}

.slide-img {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000; /* 必要に応じて背景色 */
}

.slide-img img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.slide-content {
  position: absolute;
  top: 200px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  color: #fff;
  width:960px;
}

.swiper-slide .slide-content h1, .swiper-slide .slide-content h2, .swiper-slide .slide-content h3 {
  color: #FFF;
  margin:0;
}

.swiper-slide .slide-content h3.title {
  margin: 0;
  padding: 0;
  font-weight:600;
  font-size:32px;
  line-height:42px;
  opacity:0;
}

.swiper-slide .slide-content p.sub-title {
  color: #FFF;
  font-weight:600;
  font-size:18px;
  line-height:36px;
  margin:38px 0 50px;
  opacity:0;
}

.swiper-slide .slide-content .btn {
  border-radius:10px;
  font-size:16px;
  font-weight:600;
  width: 196px;
  padding: 12.2px;
  opacity:0;
}

.swiper-slide .slide-content .btn::after {
  display: block;
  content: '';
  position: absolute;
  top: 1.1em;
  right: .3em;
  width: 6px;
  height: 0;
  border-top: 6px solid transparent;
  border-right: 0;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #F07D00;
}

.fade-in {
  opacity: 0;
  animation: fadeIn 1.2s ease-out forwards;
}

.swiper-slide-active .fade-in {
  animation: fadeIn 1.2s ease-out forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* 以下追加部分 */
@keyframes fromBottom {
  0% {
  top: 80%;
    opacity: 0;
  }
  100% {
  top: 65px;
    opacity: 1;
  }
}

.swiper-pagination-bullet {
	background:#FFF !important;
	border-radius:0 !important;
  width:42px !important;
  height:10px !important;
  opacity:1 !important;
}

.swiper-pagination-bullet-active {
	background:#F07D00 !important;
}

@media print, screen and (min-width: 1400px) {
	.swiper-slide .slide-content h1, .swiper-slide .slide-content h2, .swiper-slide .slide-content h3 {
		top: 15%;
		left: 21%;
	}
	.swiper-slide .slide-content p {
		left: 21%;
	}
}
@media print, screen and (min-width: 1800px) {
	.swiper-slide .slide-content h1, .swiper-slide .slide-content h2, .swiper-slide .slide-content h3 {
		top: 15%;
		left: 23%;
	}
	.swiper-slide .slide-content p {
		left: 23%;
	}
}
@media only screen and (max-width: 980px) {
  .swiper-slide .slide-content h3 {
    line-height:1;
  }
  .swiper-slide .slide-content span.products-sub-name {
    font-size:100%;
  }
	.swiper-slide .slide-content span.products-name {
		font-size:150%;
	}
}
@media only screen and (max-width: 834px) {
  .swiper-slide .slide-content h3.title img,
  .swiper-slide .slide-content p.sub-title img {
		width:40%;
	}
}
@media only screen and (max-width: 767px) {
  .swiper-slide .slide-content h3 img {
		width:60%;
	}

	.swiper-slide .slide-content span.products-sub-name {
		font-size:100%;
		padding-top:.5em;
	}

  .swiper-slide .slide-content span.products-sub-name2 {
    font-size:70%;
  }  	
}
@media only screen and (max-width: 480px) {
  .swiper-slide .slide-content h3 img {
		width:40%;
	}

	.swiper-slide .slide-content span.products-sub-name {
		font-size:60%;
		padding-top:.5em;
	}

  .swiper-slide .slide-content span.products-sub-name3 {
		font-size:45%;
  }
	
	.swiper-slide .slide-content span.products-name {
		font-size:100%;
	}
}

.swiper2 {
  margin-bottom:48px;
}

.swiper2 .swiper-wrapper {
	transition-timing-function: linear;
}

.swiper2 .swiper-slide {
  width: 320px !important;
  height: 240px;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  flex-shrink: 0;
}

.swiper2 .slide-img { width:auto; height:240px; background-size:contain; background-position: bottom; background-repeat: no-repeat; background-color:transparent; }
.swiper2 .slide-img1 {background-image:url(../images/home-case-1.jpg);}
.swiper2 .slide-img2 {background-image:url(../images/home-case-2.jpg);}
.swiper2 .slide-img3 {background-image:url(../images/home-case-3.jpg);}
.swiper2 .slide-img4 {background-image:url(../images/home-case-4.jpg);}
.swiper2 .slide-img5 {background-image:url(../images/home-case-5.jpg);}
.swiper2 .slide-img6 {background-image:url(../images/home-case-6.jpg);}

@media only screen and (max-width: 1024px) {
  .slide-content {
    top: 150px;
    width:100%;
  }
}

@media only screen and (max-width: 835px) {
  .slide-content {
    top:120px;
    left: 65%;
  }

  .swiper-slide .slide-content h3.title {
    font-size:26px;
  }

  .swiper-slide .slide-content p.sub-title {
    font-size:16px;
    margin:30px 0;
  }

  .swiper-slide .slide-content .btn {
    padding:6px;
  }

  .swiper-slide .slide-content .btn::after {
    top:.8em;
  }
}

@media only screen and (max-width: 768px) {
  .swiper-slide .slide-content p.sub-title {
    font-size: 14px;
    line-height: 28px;
  }
}

@media only screen and (max-width: 414px) {
  .slide-content {
    top:70px;
    left: 65%;
  }

  .swiper-slide .slide-content h3.title {
    font-size:14px;
    line-height:18px;
  }

  .swiper-slide .slide-content p.sub-title {
    font-size:8px;
    line-height:18px;
    margin:9px 0 12px;    
  }

  .swiper-slide .slide-content .btn {
    font-size:8px;
    width:118px;
  }

  .swiper-slide .slide-content .btn::after {
    top:1.2em;
    width: 3px;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 5px solid #F07D00;    
  }
}

@media only screen and (max-width: 394px) {
  .slide-content {
    top:65px;
  }

  .swiper-slide .slide-content h3.title {
    font-size:12px;
    line-height:16px;
  }

  .swiper-slide .slide-content p.sub-title {
    font-size:6px;
    line-height:16px;
    margin:5px 0;    
  }
}

@media only screen and (max-width: 321px) {
  .slide-content {
    top:65px;
  }

  .swiper-slide .slide-content h3.title {
    font-size:10px;
    line-height:12px;
  }

  .swiper-slide .slide-content p.sub-title {
    line-height:12px;
  }

  .swiper-slide .slide-content .btn {
    padding:4px;
  }

  .swiper-slide .slide-content .btn::after {
    top:1em;
  }
}

/*-----*/
.home-news {
  margin-bottom:140px;
}

/*-----*/
.home-about {
  background:url(../images/bg-home.jpg) no-repeat center;
  background-size:cover;
  padding:144px 0;
  margin-bottom:100px;
}

.home-about p {
  font-size:18px;
  font-weight:600;
  line-height:42px;
  margin:0 0 60px;
}

/*-----*/
.home-draco {
  margin-bottom:94px;
}

.home-draco .container {
  display: flex;
  align-items: center;
  width:unset;
  padding:0;
}

.left-image {
  flex: 1;
}

.left-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.right-content {
  flex: 1;
  padding: 52px;
  background-color: white;
}

.home-news h2,
.home-draco h2,
.home-case h2 {
  font-size: 30px;
  font-weight: 600;
  margin-top:0;
  margin-bottom: 3px;
}

ul.news-item-list {
  margin-bottom:60px;
  padding-left:0;
}

ul.news-item-list li {
	display:flex;
  gap:40px;
}

ul.news-item-list li {
  border-bottom:1px solid #C8C8C8;
}

ul.news-item-list li:first-child {
  border-top:1px solid #C8C8C8;
}

ul.news-item-list li p.news-item-date {
  font-size:18px;
  font-weight:600;
}

ul.news-item-list li p.news-item-title {
  font-size:18px;
}

.home-draco .subheading,
.home-case .subheading {
  color: #F07D00;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 58px;
}

.home-draco p,
.home-case p {
  font-size:18px;
  margin-bottom: 56px;
}

.home-draco p {
  width:460px;
}

/*-----*/
.home-case .btn {
  margin-bottom:173px;
}

/*-----*/
.site-main table {
  font-size:14px;
}

.site-main table.table-84 {
  width: 84%;
  margin:auto;
}

.site-main table th {
  background-color: #d9dcdc;
  vertical-align:middle;
  white-space:nowrap;
}

.site-main table thead th,
.site-main table th.head {
  background-color: #7D8282;
  color: #fff;
}

.site-main table th.head a {
	color:#fff;
}

.site-main table.table-fs {
	font-size:78%;
}

.site-main table.table-txt-center th,
.site-main table.table-txt-center td {
	text-align:center;
	vertical-align:middle;
}

.site-main table caption.lb {
	caption-side:bottom;
	text-align:left;
}

.site-main table caption.rb {
	caption-side:bottom;
	text-align:right;
}

.site-main th.head-sub {
  background-color: #f0fdfd;
}

.site-main td.head {
  background-color: #f0fdfd;
}

/*-----*/
.footer-primary {
  background:#5F6464;
  padding:52px 0;
}

.footer-primary .container {
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items:center;
}

.footer-primary h3 {
  font-size:34px;
  font-weight:600;
  color:#FFF;
  margin-top:0;
  margin-bottom:23px;
}

.footer-primary p {
  font-size:16px;
  color:#FFF;
  margin:0;
}

.footer-primary .btn-orange {
  width:358px;
}

.footer-primary .container:after {
  display:none;
}

.footer-secondary {
  background-color: #323232;
  color: #fff;
  padding:64px 0 51px;
}

.footer-secondary .container {
  display: flex;
  flex-wrap: wrap;
  max-width: 960px;
  margin: auto;
  justify-content: space-between;  
}

.footer-logo {
  flex: 1;
  min-width: 200px;
  margin-bottom: 20px;
}

.footer-logo img {
  width: 183px;
  margin-bottom:30px;
}

.footer-logo .management {
  color:#fff;
  font-size:11px;
}

.footer-columns {
  flex: 3;
  display: flex;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.footer-column {
  flex: 1;
  min-width: 190px;
}

.footer-column:first-child {
  min-width:255px;
}

.footer-column:first-child ul {
  margin-bottom:35px;
}

.footer-column h4 {
  border-bottom: 2px solid #F07D00;
  padding-bottom: 20px;
  margin-top:0;
  margin-bottom: 25px;
}

.footer-column h4 a {
  color: #F07D00;
  font-size:14px;
  font-weight:600;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
}

.footer-column li {
  line-height:34px;
  margin:0;
}

.footer-column a {
  font-size:14px;
  color: #fff;
  text-decoration:none;
}

.footer-column:nth-child(3) ul li:nth-child(5) {
  margin-top:37px;
}

.footer-column a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 12px;     /* アイコンのサイズ */
  height: 12px;
  margin-left: 4px;
  background-image: url('./images/external-link-icon-black.svg'); /* アイコンのパスに変更 */
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.footer-copy {
  text-align: center;
  padding-top: 20px;
  font-size: 12px;
  color: #fff;
}

.go-to-top {
  display: block;
  position: fixed;
  bottom: 4.6rem;
  right: 1rem;
  width:50px;
  height:50px;
  background-image: url('./images/top-icon.svg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%;
  z-index: 1000;
  cursor: pointer;
  text-indent: -9999px; /* テキスト非表示 */
  overflow: hidden;
  transition: opacity 0.2s ease;
}

.go-to-top:hover {
  opacity: 0.8;
}

.longurl{word-break: break-all;}

@media print, screen and (min-width: 1240px) {
  .go-to-top {
    right: 10%;
  }
}

@media only screen and (max-width: 834px) {
  .home-about {
    padding:52px 0;
    margin-bottom:50px;
  }

  .home-about p {
    font-size:14px;
    line-height:24px;
    margin-bottom:30px;
  }
  
  ul.news-item-list li p.news-item-date,
  ul.news-item-list li p.news-item-title {
    font-size:16px;
  }

  .right-content {
    padding: 20px;
  }

  .home-draco h2, .home-case h2 {
    font-size:24px;
  }
  
  .home-draco .subheading, .home-case .subheading {
    font-size:14px;
    margin-bottom:25px;
  }
  
  .home-draco p {
    width: 400px;
  }

  .home-draco p, .home-case p {
    font-size: 16px;
    margin-bottom: 15px;
  }
  
  .footer-logo .management {
    font-size:10px;
  }
}

@media only screen and (max-width: 768px) {  
  .table-scroll {
    overflow:auto;
    white-space:nowrap;
  }

  .home-draco p {
    width: 393px;
  }

  .home-news p, .home-draco p, .home-case p {
    line-height:23px;
  }

  .go-to-top {
    bottom: 1.6rem;
    right: 3rem;
  }
}

@media only screen and (max-width: 414px) {
  .home-news {
    margin-bottom:70px;
  }
  
  ul.news-item-list {
    margin-bottom:30px;
  }

  ul.news-item-list li {
    flex-wrap:wrap;
    gap:10px;
  }

  ul.news-item-list li p.news-item-date {
    font-size:14px;
    margin-bottom:0;
  }

  ul.news-item-list li p.news-item-title {
    font-size:14px;
    margin-top:0;
  }

  .home-draco .container {
    flex-wrap:wrap;
  }

  .home-draco .container .left-image {
    order:2;
    flex:auto;
  }

  .home-draco .container .right-content {
    padding:20px 35px 20px 40px;
  }

  .home-draco p {
    width:100%;
  }

  .home-draco p, .home-case p {
    font-size: 12px;
  }

  .home-case .container {
    padding:0 40px;
  }

  .home-case .btn {
    margin-bottom:86px;
  }
  
  .footer-logo .management {
    font-size:7.5px;
  }

  .footer-primary h3 {
    font-size:18px;
  }

  .footer-primary p {
    font-size:12px;
    margin-bottom:15px;
  }

  .footer-primary .btn-orange {
    width:280px;
  }

  .footer-logo {
    margin-bottom:55px;
  }

  .footer-logo img {
    width:130px;
  }

  .footer-secondary {
    padding: 40px 0 51px;
  }
  
  .footer-columns {
    gap:0;
  }
    
  .footer-column h4 {
    padding-bottom: 10px;
    margin-bottom: 12px;
  }  

  .footer-column h4 a,
  .footer-column a {
    font-size:12px;
  }
}

@media only screen and (max-width: 321px) {
  .footer-primary .btn-orange {
    width:250px;
  }
}

.scroll-adjust {
  scroll-margin-top: 80px;
}

/*--------------------------------------
  製品ページ
--------------------------------------*/
.category {
  margin-bottom: 60px;
}

.product-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
  gap: 20px;
}

.product a {
  color:#323232;
  text-decoration:none;
}

.product .desc {
  font-size:16px;
  margin:0 0 10px;
}

.product .title {
  font-size:20px;
  font-weight:600;
  margin:0 0 30px;
}

.product img {
  max-width: 100%;
  height: auto;
  margin-bottom: 60px;
}

.product-title,
.case-title {
  color:#FFF;
}

.product-title .desc,
.case-title .desc {
  font-size:20px;
}

.product-title .title,
.case-title .title {
  font-size:34px;
  font-weight:600;
  margin:0;
  line-height:42px;
}

.description {
  margin-bottom: 70px;
}


.container-narrow {
  max-width: 590px;
/*  max-width: 720px; */
}

.container-narrow2 {
  max-width: 1000px;
}

.container-narrow3 {
  max-width: 830px;
}

.container-narrow4 {
  max-width: 490px;
}

.container-narrow5 {
  max-width: 700px;
}

.table-aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.text-left   { text-align: left; }

.text-center-left { text-align: center; }
@media print, screen and (min-width:768px) {
  .text-center-left { text-align: left; }
}

.page-header {
  height:350px;
  padding:0;
  margin-bottom:100px;
  display:flex;
  align-items:center;
}

.page-header-ihse {
  background:url(./images/page-header-ihse-1.png) no-repeat center, #323232;
}

.page-header-orange {
  background:#F07D00;
}

.page-header-orange-ihse {
  background:url(./images/page-header-ihse-2.png) no-repeat center, #F07D00;
}

.page-header .page-title {
  font-size: 34px;
  font-weight:600;
  color: #FFF;
  margin-top:0;
  margin-bottom:0;
  width:100%;
}

.page-header p {
  font-size: 14px;
  font-weight:600;
  color:#F07D00;
  margin:0;
  width:100%;
}

.page-header .container {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
}

.page-header .container:after {
  display:none;
}


.gray-block-yp {
  padding:2em;
  margin:1.5em 0;
}

.event-block {
  background: url(images/bg-sub-van.png) no-repeat center, #000;
  text-align: center;
  padding: 1.5em 0;
}

.event-block h1 span {
  color: #fff;
  font-size: 125%;
  line-height: 1.7;
}

/*-----*/
.gray-block-second-nav {
	padding:1em 0;
	width:100%;
	z-index:1;
}

.event-block-second-nav {
	padding:1em 0;
	width:100%;
	z-index:1;
}

nav.fixed {
	margin-top:77px;
}

div.fixed {
	margin-top:111px;
}

@media only screen and (max-width: 768px) {
nav.fixed {
	margin-top:81px;
}

div.fixed {
	position:relative;
	margin-top:0;
}
}

.gray-block-second-nav .brand,
.event-block-second-nav .brand {
	float:left;
	top:0;
}

.event-block-second-nav .brand a {
  text-decoration: none;
  color: #fff;
  font-size: 120%;
}

.gray-block-second-nav .brand img {
	width:100px;
}

.gray-block-second-nav .nav-area,
.event-block-second-nav .nav-area {
	float:right;
}

@media print, screen and (min-width: 1200px) {
.gray-block-second-nav .container,
.event-block-second-nav .container {
	width:1200px;
}
}

@media print, screen and (max-width: 767px) {
.event-block-second-nav .brand,
.event-block-second-nav .nav-area {
	float:none;
}
}

.contents {
  margin:100px 0;
}

.l-gray-block {
  padding:3em 0;
  background: #636363;
}

.l-gray-block p {
  color: #fff;
}

.l-gray-block h2.heading {
  color: #fff;
  margin-top: 2em;
}

.pdf-block {
  padding:1.5em 0;
}

ul.products-list {
	padding-left:0;
}

ul.products-list li {
	list-style:none;
}

ul.products-list li a {
	text-decoration:none;
	color:#323232;
}

.products-logo a {
	display:block;
	padding-top:5em;
	text-align:center;
}

.page-header .maker-link a {
	padding-top:2em;
}

.products-itemlist {
	border-bottom:1px solid #c6caca;
	padding:2em 0 0.5em;
}

.products-itemlist-top {
	border-top:1px solid #c6caca;
}

.products-itemlist-bottom {
	border-bottom:none;
}

.products-itemlist h2.heading {
	margin:0;
	padding:0;
	line-height:1em;
}

.products-itemlist p {
	margin-top:0;
}

.products-itemlist p.use {
	border:1px solid #424f51;
	border-radius:6px;
	text-align:center;
	margin:0;
	padding:0.3em 0.1em;
}

.products-img-area h2.heading {
	margin-bottom:0;
	padding:0;
	line-height:1em;
}

.products-img-area h2.heading-double-btm {
  margin: 1em 0 2em;
}

.products-img-area h2.heading-under-pic {
  margin: 2em 0;
}

.products-img-area .use {
	width:10em;
	margin:1.5em auto;
}

.products-img-area .use2 {
	width:25em;
}

.products-img-area .use3 {
	width:45em;
}

.products-img-area .use p {
	border:1px solid #424f51;
	border-radius:6px;
	text-align:center;
	margin:0;
	padding:0.3em 0.1em;
}

@media only screen and (max-width: 768px) {
.products-img-area .use,
.products-img-area .use2,
.products-img-area .use3 {
	width:100%;
}
}

ul.l-disc {
	margin-top:0;
	padding-left:1.5em;
	list-style:none;
}
ul.l-disc li {
  position: relative;
}
ul.l-disc li::after {
  display: block;
  content: '';
  position: absolute;
  top: .4em;
  left: -1.3em;
  width: 12px;
  height: 12px;
  background-color: #212121;
  border-radius: 100%;
}

ul.l-disc li ul {
  padding-left:0;
}

ul.l-disc li ul li {
  list-style: none;
}

ul.l-disc li ul li::after {
  display: none;
  list-style: none;
}

ul.l-disc-ybr li {
  padding-bottom:2em;
}

ul.l-disc-ybr li:last-child {
  padding-bottom:0;
}

ul.p-list {
	margin:3em 0;
	padding-bottom:2em;
	border-bottom:1px solid #c6caca;
}
ul.p-list-subt {
	margin-top:0;
}

ul.p-list li {
	margin-bottom:1.5em;
}

ul.p-list li span {
	font-weight:bold;
}

/*--------------------------------------*/

.products-item {
  margin: 2rem auto;
  max-width: 372px;
}

.products-item-thumbnail {
}

.products-item-meta {
  margin-top: 1rem;
  text-align: left;
}

.products-item-subname {
  font-size: 0.875rem;
}

.products-item-title {
  margin-bottom: 1rem;
}

.products-item-name {
  margin-right: 0.5rem;
  font-size: 1.25rem;
  font-weight: bold;
  vertical-align: middle;
}

.products-item-label {
  font-size: 0.875rem;
}

.products-item-label-red {
  background-color:#e60000;
  color: #fff;
  padding: 0 .5em;
  width: 3em;
  text-align: center;
  font-size: 0.875rem;
  border-radius: 5px;
}

h2 .products-item-label-red {
  background-color:#e60000;
  color: #fff;
  padding: 0 .5em;
  width: 3em;
  text-align: center;
  margin-right: .5em;
}

h2 .products-item-label-red-intotext {
  margin-right: .1em;
}

ul.products-list .products-item-label-red {
  background-color:#e60000;
  color: #fff;
  padding: .2em .5em;
  width: 3em;
  text-align: center;
  font-size: 0.875rem;
  margin-right: .5em;
}

ul.products-list .products-item-label-red-intotext {
  margin-right: .1em;
  vertical-align: top;
}

h3.heading-l-blue {
	position:relative;
	border-bottom:1px solid #dcdcdc;
	padding-bottom:.5em;
	text-align:center;
	display: inline-block;
	width:100%;
	font-size:155%;
}

h3.heading-l-blue:after {
  position: absolute;
  top: calc(50% - 3px);
  right: 0;
  width: 25px;
  height: 6px;
  content: '';
  border-top: solid 5px #26d8fd;
}

.model-list {
	margin:2em 0;
}

.model-list .row {
	margin-bottom:2em;
}

.model-list .model-name {
	font-weight:bold;
	font-size:125%;
}

.model-list .model-spec {
	font-size:95%;
}

.model-list .acd-check {
    display: none;
}
.model-list .acd-label {
    background: #fff;
    display: block;
    margin-bottom: 1px;
    padding: 10px;
    position: relative;
	text-align:center;
	font-size:155%;
	border-bottom:1px solid #dcdcdc;	
}

.model-list .acd-label:after {
    background: #fff;
    box-sizing: border-box;
    content: '\f067';
    display: block;
    font-family: "FontAwesome";
    height: 52px;
    padding: 10px 20px;
    position: absolute;
    right: 0;
    top: 0px;
	color:#F07D00;
	font-size:95%;	
}

.model-list-2 .acd-label:after {
  top:22px;
}

.model-list .acd-content {
    display: block;
    height: 0;
    opacity: 0;
    padding: 0;
    transition: .5s;
    visibility: hidden;
	width:680px;
	margin:0 auto;
}

.model-list .acd-check:checked + .acd-label:after {
    content: '\f068';
}
.model-list .acd-check:checked + .acd-label + .acd-content {
    height: auto;
    opacity: 1;
    padding: 2em 0;
    visibility: visible;
}

.blue-box {
  border:2px solid #33b9eb;
  padding:.1em;
  margin:2em auto 1em;
  width: 85%;
}

.blue-box2 {
  background:#33b9eb;
  padding:1em;
  margin:2em auto 1em;
  color:#fff;
}

.red-box {
  background:#e60000;
  padding:1em;
  margin:2em auto 1em;
  color:#fff;
}

@media only screen and (max-width: 767px) {
	.blue-box {
		width:100%;
		text-align:left;
	}
	
	.blue-box,
	.red-box {
		text-align:left;
	}
}

.wrapper-box-features,
.wrapper-box-editions {
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
}

.box-features {
  border-radius:30px;
  padding:30px 20px;
  background:#f4f4f4;
  width: 180px;
  margin-bottom: 25px;
  height: 330px;
}

.box-features:nth-child(odd){
  background:#f0f4f8;
}

.box-features:nth-child(5){
  flex: 0 0 18%;
  margin-right: 0;
  margin-left: auto;
}

.box-features:nth-child(6){
  flex: 0 0 18%;
  margin: 0 35px;
}

.box-features:nth-child(7){
  flex: 0 0 18%;
  margin-left: 0;
  margin-right: auto;
}

h3.icon-qctudio {
  font-size: .8rem;
  padding-left: 60px;
  margin:0;
  min-height: 50px;
  display: flex;
  align-items: center;
}

h3.icon-qctudio-01 { background:url(../products/venera/qctudio/images/icon-alerts-review-on-audio-video-timeline.png) no-repeat left; }
h3.icon-qctudio-02 { background:url(../products/venera/qctudio/images/icon-audio-wave-form.png) no-repeat left; }
h3.icon-qctudio-03 { background:url(../products/venera/qctudio/images/icon-side-by-side-reference-test-video-review.png) no-repeat left; }
h3.icon-qctudio-04 { background:url(../products/venera/qctudio/images/icon-multi-audio-comparative-review.png) no-repeat left; }
h3.icon-qctudio-05 { background:url(../products/venera/qctudio/images/icon-alert-category-change.png) no-repeat left; }
h3.icon-qctudio-06 { background:url(../products/venera/qctudio/images/icon-review-comments.png) no-repeat left; }
h3.icon-qctudio-07 { background:url(../products/venera/qctudio/images/icon-qcn-report-export.png) no-repeat left; }

.box-editions {
  border-radius:30px;
  padding:30px 20px;
  width: 430px;
  margin-bottom: 25px;
  background:#f0f4f8;
}

.box-editions:nth-child(odd){
  background:#f4f4f4;
}

.box-editions h3 {
  font-size:1.5rem;
}

.box-editions ul li {
  background:url(../products/venera/qctudio/images/list-yes.png) no-repeat left;
  list-style:none;
  padding-left:45px;
}

.box-editions ul li.no {
  background:url(../products/venera/qctudio/images/list-no.png) no-repeat left;
}

.bubbles dl {
  position:absolute;
  width:400px;
}

.bubbles dl:first-child {
  top:780px;
  left:0px;
}

.bubbles dl:nth-child(2) {
  top: 780px;
  left: 560px;
}

.bubbles dl:last-child {
  top: 1200px;
  left: 560px;
}

.bubbles dt {
  background:#f17c00;
  color:#fff;
  width: fit-content;
  padding: 0 10px;
}

.bubbles dd {
  border:2px solid #f17c00;
  margin: 0;
  padding: 10px;
  font-size: .8rem;
}

.bubbles dd ul {
  margin:0;
  padding-left:13px;
}

@media only screen and (max-width: 835px) {
  .product-grid {
    gap: 0;
  }

  .page-header .container {
    justify-content:center;
    gap:20px;
    text-align:center;
  }

  .product-title .title br {
    display:none;
  }
  
  .product-pic-sp-w834-w40 { width:40%; }

  .bubbles dl {
    position: unset;
    width: 90%;
    margin: 30px auto;
  }

  .bubbles dl:last-child {
    margin: 30px auto 0;
  }
}

@media only screen and (max-width: 768px) {	
	.model-list .acd-content {
		width:100%;
	}

  .model-list-2 .acd-label:after {
    top:14px;
  }
}

@media only screen and (max-width: 414px) {
  .page-header {
    height:175px;
    margin-bottom:50px;
  }

  .page-header-ihse,
  .page-header-orange-ihse {
    justify-content:center;
    background-size:contain;
    height:120px;
  }

  .page-header .container {
    gap:10px;
  }  
  
  .page-header .page-title {
    font-size: 16px;
    line-height:18px;
    margin-bottom:5px;
  }

  .page-header p {
    font-size:12px;
  }

  .page-header .product-pic {
    width:65%;
  }

  .page-header .product-pic-sp-w40 { width:40%; }
  .page-header .product-pic-sp-w30 { width:30%; }

  .contents {
    margin:50px 0;
  }

  .product .desc {
    font-size:10px;
    margin:0 0 5px;
    line-height:12px;
  }

  .product .title {
    font-size: 14px;
    margin: 0 0 15px;
  }

  .product-title .desc,
  .case-title .desc {
    font-size:12px;
  }  

  .product-title .title, .case-title .title {
    font-size: 16px;
    line-height: 18px;
  }
  
  .site-main table.table-84 {
    width:100%;
  }

  .model-list .acd-label {
    font-size:16px;
  }

  .model-list .acd-label:after {
    padding: 10px 5px;  
  }

  h3.heading {
    font-size:16px;
  }
}

@media only screen and (max-width: 394px) {
  .page-header-orange-ihse {
    height:110px;
  }
}

@media only screen and (max-width: 321px) {
  .page-header-orange-ihse {
    height:92px;
  }

  .page-header .page-title {
    font-size: 14px;
    line-height:16px;
  }

}

/*---- IHSE 導入事例 ----*/
.case-list a {
	text-decoration:none;
	color:#212121;
	display:block;
}

.case-list .pic {
	width:405px;
	overflow:hidden;
}

.case-list-broadcast li {
	width:298px;
}

.case-list .pic-wide {
	width:830px;
}

.case-list-broadcast .pic {
  margin-bottom:60px;
}

.case-list-broadcast .company {
  font-size:18px;
  font-weight:600;
  margin-bottom:25px;
  line-height:20px;
}

.case-list-broadcast .company-long {
  margin-bottom:6px;
}

.case-list-broadcast a[target="_blank"] .company::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 4px;
  margin-right:4px;
  background-image: url('./images/external-link-icon-white.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}


.enlarge img:hover {
	transform: scale(1.3);
	transition-duration: 0.3s;
}

h2.heading-case-ihse { border-bottom: 1px solid #fff; }
h2.heading-case-ihse::after { background-color: #fff; }

.box-blue {
  border:1px solid #0244a3;
  padding:1em;
  margin:1em;
}

.box-ihse-color {
  border:1px solid #F07D00;
  padding:2em;
  margin:2em 0; 
}

.box-ihse-color h2,
.box-ihse-color h3 {
  color:#F07D00;
  font-weight:600;
}

.ihse-color {
  color:#F07D00;
}

.case-list .hover {
  position: relative;
}
.case-list .hover .hover-img {
  margin: 1em 0;
  padding: 0;
}
.case-list .hover-img img {
  width: 100%;
  height: 100%;
}

.featured-products .pic,
.featured-products .cap {
  text-align:center;
}

.featured-products .cap a {
  text-decoration:none;
  color:#323232;
}

/*--------------------------------------
  IHSEのKVMシステム「Draco」とは？
--------------------------------------*/
.features-list section {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}

.features-list section .features-thumb {
  width:259px;
  margin-bottom:60px;
}

.features-list section .features-content {
  width:641px;
}

.features-list section .features-thumb-w300 { width:300px; }
.features-list section .features-content-w600 { width:600px; }
.features-list section .features-thumb-w460,
.features-list section .features-content-w460 { width:460px; }

.features-list-center section {
  align-items:center;
}

@media only screen and (max-width: 834px) {
  .features-list section {
    justify-content:center;
    margin-bottom:50px;
  }

  .features-list section .features-thumb {
    text-align:center;
    margin-bottom:10px;
  }

  .features-list section .features-thumb,
  .features-list section .features-content {
    width:100%;
  }
}

@media only screen and (max-width: 414px) {
  .features-list section {
    margin-bottom:25px;
  }
}

/*--------------------------------------
  導入事例ページ
--------------------------------------*/
.case-list {
  display:flex;
  flex-wrap:wrap;
  align-items:normal;
  justify-content:space-between;
  list-style: none;
  padding-left:0;
}

.case-list::after{
  content:"";
  display: block;
  width:32%;
}

.case-list .hover-img {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}

.case-list .hover-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}

/* オーバーレイ全体 */
.case-list .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0); /* 初期は透明 */
  color: white;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: background-color 0.3s ease-in-out;
}

/* ホバー時に背景を暗く */
.case-list .hover-img:hover .overlay {
  background-color: rgba(0, 0, 0, 0.65);
  pointer-events: auto;
}

/* 中央の説明テキスト */
.case-list .overlay-text {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: white;
  opacity: 0;
  transition: opacity 0.3s ease;
  margin-bottom: 20px;
}

.case-list .hover-img:hover .overlay-text {
  opacity: 1;
}

/* 「詳細はこちら」ボタン */
.case-list .overlay-button {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #F07D00;
  color: #FFF;
  padding: 8px 50px;
  font-size: 16px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: auto;
}

/* ホバー時にボタンを強調 */
.case-list .hover-img:hover .overlay-button {
  background-color: #F07D00;
  color: #FFF;
}

.case-list .overlay-button::after {
    display: block;
    content: '';
    position: absolute;
    top: .9em;
    right: .3em;
    width: 6px;
    height: 0;
    border-top: 6px solid transparent;
    border-right: 0;
    border-bottom: 6px solid transparent;
    border-left: 8px solid #FFF;
}

.case a {
  text-decoration: none;
  color: #323232;
}

.case {
	margin-bottom:70px;
}

.case-title .facility {
  font-size:18px;
  font-weight:600;
  color:#FFF;
}

.case-title .facility a {
  color:#FFF;
}

.list-flex {
  display:flex;
  gap:40px;
}


.case .company {
  margin-top: 1em;
}

.case .products a {
  text-decoration: underline;
  color: #004ea2;
}


h2.heading-case {
  color:#323232;
  text-decoration:none;
  margin-bottom:1.5em;
  padding-bottom:0.5em;
  border-bottom: 1px solid #083dad;
  display:block;
}

h2.heading-case::after {
  background-color: #083dad;
  width: 10%;
}

h2.heading-case .company-name {
  font-size: 1.8rem;
}

h2.heading-case .company-link a {
  font-size: 1rem;
  text-decoration: underline;
  color: #004ea2;
  margin-top: 1em;
  margin-bottom: 0;
  padding-bottom: 0;
}

h2.heading-case .company-link a i {
  text-decoration: none;
  color: #323232;
  padding-left: 1em;
}

h3.heading-case {
  color:#083dad;
  font-weight: bold;
}

h3.heading-news {
  font-size:20px;
  font-weight:600;
  color:#F07D00;
}

h3.heading-border-btm {
  border-bottom:1px solid #C8C8C8;
  padding-bottom:15px;
}

.flex-container {
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
}

.flex-container p.pic,
.flex-container p.cap {
	box-sizing:border-box;
	width:100%;
}

.flex-container p.cap-bottom1 { padding:10em 0 0 1em; }
.flex-container p.cap-bottom2 { padding:9em 0 0 1em; }
.flex-container p.cap-bottom3 { padding:13em 0 0 1em; }
.flex-container p.cap-bottom4 { padding:15em 0 0 1em; }

.mb0 { margin-bottom:0 !important; }
.mb1 { margin-bottom:1em !important; }

@media only screen and (max-width: 834px) {
  .case-list {
    justify-content:center;
    gap:30px;
  }

  .case-list-broadcast .pic {
    margin-bottom:30px;
  }  
}

@media only screen and (max-width: 767px) {
h2.heading-case .col {
  margin-bottom: 0;
}

.flex-container {
	display:block;
}

.flex-container p.cap-bottom1,
.flex-container p.cap-bottom2,
.flex-container p.cap-bottom3,
.flex-container p.cap-bottom4 {
	padding:0;
}
}

@media only screen and (max-width: 414px) {
  .case-list .overlay-text {
    font-size: 12px;
    line-height:18px;
  }

  .case-list .overlay-button {
    font-size:12px;
    padding:5px 30px;
  }
  
  .case-list .overlay-button::after {
    width: 3px;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 4px solid #FFF;
  }  

  .case-title .facility {
    font-size:12px;
    line-height:16px;
  }
}

@media only screen and (max-width: 321px) {
  .case-list .overlay-text {
    font-size: 10px;
    line-height:12px;
  }

  .case-list .overlay-button {
    font-size:10px;
    padding:3px 20px;
  }

  .case-title .facility {
    font-size:10px;
    line-height:12px;
  }
}

/*--------------------------------------
  お問い合わせ
--------------------------------------*/
.tel-list {
  width:414px;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  margin:0 auto;
}

.tel-list dt,
.tel-list dd {
  font-size:18px;
  font-weight:600;
  border-bottom:1px solid #C8C8C8;
  padding-bottom:15px;
}

.tel-list dt {
  padding-right:48px;
}

.tel-list dt:nth-of-type(n+2) {
  padding-right:108px;
  padding-top:10px;
}

.tel-list dd {
  margin-left:0;
}

.notice {
  font-size:14px;
  line-height:18px;
}

#form a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 4px;
  margin-right:4px;
  background-image: url('./images/external-link-icon-white.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

input[type="radio"],
input[type="checkbox"] {
  accent-color: #F07D00;
}

.site-main table.table-form {
  border: 1px solid #c8c8c8;
}

.site-main table.table-form th, td {
  border-bottom: 1px solid #c8c8c8;
}

.site-main table.table-form th {
  background: #eceded;
}

.site-main table.table-form .btn,
.site-main table.table-form .btn:before {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
  border: none;
}

.site-main table.table-form ul li:first-of-type {
  display: none;
}

.btn-zipsearch:hover {
  color: #fff;
  background: #838d8e;
}

#form input[type="submit"]:hover {
  opacity:.9;
}

.label-must {
  background: #ff0000;
  border-radius:0;
  vertical-align: middle;
}

.error {
  color: #ff0000;
}

.form-set {
  display: flex;
  align-items: center;
  justify-content: center;
}

.form-set .button_wrap {
  margin: 1em;
}

.form-set .button_back .btn {
  background:#7a8385;
  color:#FFF;
  border-radius:10px;
}

input[type="button"]:hover {
  color: #fff;
  background: #01d8ff;
}

.grecaptcha-badge { visibility: hidden; }

@media only screen and (max-width: 834px) {
  .notice {
    text-align:center;
    font-size: 12px;
    line-height: 14px;
  }
}

@media only screen and (max-width: 767px) {
  .form-area .container {
    padding: 0;
  }

  .site-main table.table-form th,
  .site-main table.table-form td {
    display: block;
    width: auto;
  }

  .site-main table.table-form {
    width: 95%;
    margin: 0 auto;
  }

  .site-main table.table-form colgroup {
    display: none;
  }

  .input-large,
  .input-full {
    width: 95%;
  }
}

@media only screen and (max-width: 414px) {
  .notice {
    font-size: 10px;
    line-height: 12px;
  }

  .tel-list {
    width:100%;
  }

  .tel-list dt,
  .tel-list dd {
    font-size:14px;
    width:100%;
  }

  .tel-list dt {
    border-bottom:none;
    padding-bottom:5px;
  }

  .input-24, .input-xlarge {
    width:20rem;
  } 
}

@media only screen and (max-width: 393px) {
  .input-24, .input-xlarge {
    width:18rem;
  } 
}

@media only screen and (max-width: 321px) {
  .input-4, .input-mini {
    width: 3rem;
  }

  .input-24, .input-xlarge {
    width:15rem;
  }
}

/*--------------------------------------
  カタログダウンロード
--------------------------------------*/
.form-area .logo {
  border-bottom:1px solid #b4b4b4;
  padding-bottom:1em;
}

.site-main ul.catalog li label {
  display:inline-block;
  margin-left:1em;
}

.site-main ul.catalog li .checkbox-input {
  position:absolute;
  margin-top:.4em;
}

.site-main ul.catalog-l li .checkbox-input {
  left:0;
}

.site-main ul.catalog-r li .checkbox-input {
  right:47.6%;
}

.form-area .icon-new-cobalt {
  position:relative;
  top:-6em;
  left:30em;
}

.form-area .icon-new-ihse {
  position:relative;
  top:-6em;
  left:25em;
}

.form-area .icon-new-ics {
  position:relative;
  top:-3em;
  left:23em;
}

@media only screen and (max-width: 835px) {
  .form-area .icon-new-cobalt {
    left:4em;
  }  
}

@media only screen and (max-width: 769px) {
  .form-area .icon-new-cobalt {
    left:5em;
  }  
}

@media only screen and (max-width: 767px) {
  .form-area .line-2-sp .line-2-left {
    margin-bottom:0;
  }

  .form-area .line-2-sp .catalog-l {
    margin-bottom:0;
  }

  .form-area .line-2-sp .catalog-r {
    margin-top:0;
  }

  .site-main ul.catalog li label {
    margin-left:1.3em;
  }  

  .site-main ul.catalog li .checkbox-input {
    margin-top:.2em;
  }
  
  .site-main ul.catalog-r li .checkbox-input {
    left:0;
    right:unset;
  }
  
}

@media only screen and (max-width: 415px) {
  .form-area .icon-new-cobalt {
    top:-4.5em;
    left:1.5em;
  }  
}

@media only screen and (max-width: 376px) {
  .form-area .icon-new-cobalt {
    top:-6em;
    left:4em;
  }  
}

@media only screen and (max-width: 321px) {
  .form-area .icon-new-cobalt {
    left:11em;
  }  
}

/*--------------------------------------
  animation
--------------------------------------*/
.move01, .move03{
  transition: .8s;
  opacity: 0;
}

.move02{
  transition: .8s;
  opacity: 0;
  transform: translate(0,60px); 
  -webkit-transform: translate(0,60px); 
}

.row01, p.row01, .row03{
  opacity: 1.0;
}
.row02{
  opacity: 1.0;
  transform: translate(0,0); 
  -webkit-transform: translate(0,0);
}

p.pic img.delay:nth-of-type(1) {
    -moz-transition-delay:200ms;
    -webkit-transition-delay:200ms;
    -o-transition-delay:200ms;
    -ms-transition-delay:200ms;
}

p.pic img.delay:nth-of-type(2) {
    -moz-transition-delay:400ms;
    -webkit-transition-delay:400ms;
    -o-transition-delay:400ms;
    -ms-transition-delay:400ms;
}

/*--------------------------------------
  VIDEO
--------------------------------------*/
.movie-area {
  text-align: center;
}

.movie-area p {
  margin-bottom: 3em;
}

video.size {
  width: 478px;
  height: 392px;
}

@media only screen and (max-width: 767px) {
  video.size,
  iframe {
    width: 100%;
  }
}

/*--------------------------------------
  製品コラム
--------------------------------------*/
#column-list {
  padding-left:0;
  list-style:none;
  border-top:1px solid #ccc;
}

#column-list li {
  margin:2em 0;
}

#column-list li span {
  font-weight:bold;
  margin-right:45px;
}

.pic-flex {
  display:flex;
  gap:25px;
}

.pic-flex-center {
  justify-content:center;
}

.pic-flex-sb {
  justify-content:space-between;
}

.pic-flex-wrap {
  flex-wrap:wrap;
}

.pic-flex-more-row::after{
  content:"";
  display: block;
  width:31%;
}


@media only screen and (max-width: 767px) {
  #column-list li a {
    display:block;
  }
}

@media only screen and (max-width: 414px) {
  .pic-flex {
    justify-content:center;
    flex-wrap:wrap;
  }
}


/*--------------------------------------
  コンバージョンタグ　フッター余白消去
--------------------------------------*/
iframe[name="google_conversion_frame"] {
	position: absolute; top: 0;
}

