@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
body *{
  font-family: 'Noto Sans JP', sans-serif;
}

.l-header__bar .c-catchphrase {
    font-size: 16px;
}
#main_content{max-width: none}
.contact-box h2{background: none}
.contact-box h2:before{display: none}
.c-iconList__item.-rss{display: none}
#main_content p.has-text-align-center strong{font-weight: 500; color:#212529;}

.alignleft{float: none}

.-type-simple .p-postList__title{font-weight: normal;}

@media not all and (min-width: 960px) {
    .l-header__inner {
        align-items: center;
        display: flex;
        padding: 0;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}
ul#cnav{
	width:220px;
}
.p-mainVisual__slide{
	padding: 0 8vw;
}
.l-header__bar .c-catchphrase{
	width: 60%;
}
@media screen and (max-width: 786px) {
ul#cnav{
	width:100%;
}
.p-mainVisual__slide{
	padding: 0;
}
}
ul#cnav li {
    margin: 12px 0;
    font-size: 14px;
    position: relative;
    top: 0;
    left: 0;
    display: list-item;
    width: 100%;
    text-align: left;
    line-height: 200%;
    padding-left: 2px;
}

ul#cnav a:hover,ul#cnav > li.cur > a:hover,
ul#cnav > li.cur > ul li a:hover{
	color: #007acc;
	text-decoration:underline;
	font-weight: bold;
}

ul#cnav > li.cur > a {
    color: #007acc;
	font-weight: normal;
}

ul#cnav > li > a {
    margin: 10px 0;
    font-size: 14px;
    color: #000;
	font-weight: normal;
}
ul#cnav > li.cur > ul li a {
    color: #000;
    font-weight: normal;
}
ul#cnav > li.cur > ul li.cur a {
    font-weight: bold;
}

.fa-angle-down:before {
    content: "\f107";
}

.fa-angle-right:before {
    content: "\f105";
}

.breadcrumbs {
    margin: 1rem;
}

.content-row{
	display:flex;
}

.c-left{
	flex: 0 0 30%;
    box-sizing: border-box;
}

.c-right{
	flex: 0 0 70%;
    box-sizing: border-box;
	margin-bottom: 2rem;
}


.content-detail-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; 
  width: 100%;
}

.content-detail-row .c-left,
.content-detail-row .c-center,
.content-detail-row .c-right {
  flex: 1;
  min-width: 0; /* 必須：はみ出し防止 */
}


.content-detail-row .c-left{
  flex: 0 0 25%;   /* 幅を25%固定 */
}

.content-detail-row .c-center {
  flex: 1;         /* 残りを全部使う */
}

.content-detail-row .c-right {
  flex: 0 0 20%;   /* 幅を20%固定 */
}



/* 768px以下で縦並び＋順番変更 */
@media screen and (max-width: 786px) {
	
.content-row {
    display: flex;
    flex-direction: column-reverse;
}
	
  .content-detail-row {
    flex-direction: column;
  }

 .content-detail-row .c-center {
    order: 1;
  }

 .content-detail-row .c-left {
    order: 2;
  }

  .content-detail-row .c-right {
    order: 3;
  }
}

.content-detail-row .c-left {
  width: 25%;
}

.content-detail-row .c-center {
  width: 50%;
}

.content-detail-row .c-right {
  width: 25%;
}

@media screen and (max-width: 786px) {
 .content-detail-row  .c-left,
 .content-detail-row  .c-center,
 .content-detail-row  .c-right {
    width: 100%;
  }
}






ul.productlist {
	display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    align-items: flex-start;
}

ul.productlist li {
  width: calc((100% - 40px) / 3);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

ul.productlist li a{
  text-decoration: none;
	color: #212529;
}

ul.maintenancelist li img{
	display:block;
}

ul.maintenancelist {
	display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    align-items: flex-start;
}

ul.maintenancelist li {
  width: calc((100% - 50px) / 3);
  box-sizing: border-box;
}


section#product ul.productlist a img,
a.products-link img{
	display:block;
	}


ul#cnav{
	border-top: 2px solid #00376E;
	padding: 0 20px 0 0;
}

#product_category h1, #mainte h1 ,#bestle119 h1,#company h1{
	border-top: 2px solid #00376E;
	color: #00376E;
	padding: 1rem;
	margin: 0px 0 15px!important;
}

#bestle119 section h2 {
    border-left: 10px solid #00376e;
    height: 55px;
    line-height: 160%;
    margin-bottom: 30px;
    padding-left: 15px;
}
#bestle119 .highlight h3 {
    border: none;
    background-color: #E6E6E6;
    font-weight: bold;
    font-size: 18px;
    height: 40px;
    padding: 10px 0 0 0;
    color: #1A1A1A;
    margin-bottom: 20px;
}

.border-none{
	border:none!important;
}

@media (max-width: 600px) {
.content-row {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column-reverse;
}

ul.productlist {
  display: block;
  gap: 5px;
}
	ul.productlist {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 5px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
ul.productlist li {
    width: calc((100% - 40px) / 1);
    box-sizing: border-box;
}
	
ul.maintenancelist {
  display: block;
  gap: 5px;
}
	ul.maintenancelist {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 5px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
ul.maintenancelist li {
    width: calc((100% - 40px) / 1);
    box-sizing: border-box;
}

}/* (max-width: 600px)end*/

#company .highlight {
    background-color: #F2F2F2;
    margin: 40px 0 85px;
    padding: 40px!important;
    color: #000;
    font-size: 15px;
}

div.highlight ul li{
	font-weight:400;
	font-family: initial;
}

/*ft bn**/
section#contact {
    margin-top: 40px;
}

section#contact {
    border: none;
    background-image: url(../../../images/common/bg_contact.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 53rem;
    height: 13rem;
    padding-top: 1px;
    position: relative;
	max-width: 100%;
}

section#contact a {
    position: absolute;
    top: 59%;
    left: 18%;
}

section#contact strong {
    position: absolute;
    top: 58%;
    left: 59%;
    font-size: 26px;
    color: #fff;
}


.contact-box{
	background-color:#007acc;
	padding: 2rem;
    text-align: center;
    border-radius: 10px;
	max-width: 830px;
	margin: auto;
}

.contact-box h2, .contact-box p, .contact-box strong{
	color:#fff;
}
.c-link{
	display: flex;
    justify-content: space-evenly;
    align-items: center;
	gap: 10px;
}

.contact-box strong{
	font-size:26px;
}
.contact-box h2{
	color: #fff;
    border-bottom: 1px solid #f0f0f0;
}


@media (max-width: 600px) {
.c-link {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: column;
}
}

.l-footer {
    padding-top: 35px;
    width: 100%;
    color: #FFFFFF;
    background-color: #4D4D4D;
    line-height: 180%;
    min-width: 1170px; 
    margin-top: 100px;
    padding: 30px;
}


@media screen and (max-width: 786px) {
	.l-footer {
    padding-top: 35px;
    width: 100%;
    color: #FFFFFF;
    background-color: #4D4D4D;
    line-height: 180%;
    margin-top: 100px;
    padding: 30px;
	min-width: auto;
	max-width:100%;
	}
	footer > div{
		max-width:100%;
	}
}


footer a,
footer a:hover {
  color: #fff;
}

footer > div {
  width: 1140px;
  margin: 0 auto;
  /*max-width:100%;*/
}

footer #sitemap {
  margin-bottom: 60px;
}

footer #sitemap img {
  margin-bottom: 15px;
}

footer #sitemap > div,
footer #sitemap > ul {
  float: left;
}

footer #sitemap > div {
  width: 380px;
}

footer #sitemap > ul {
  width: 233px;
  border-left: 1px solid #fff;
  padding-left: 20px;
  height: 120px;
}

footer #sitemap > ul li {
  font-size: 14px;
  font-weight: bold;
  position: relative;
  top: 0;
  left: 0;
  display: list-item;
  width: 100%;
  text-align: left;
  line-height: 200%;
}

 #topic a{
	text-decoration:none;
	 color:black;
	 font-weight:bold;
}

ul.productlist img{
	display:block;
}


section#sitemap-page a, {
	text-decoration:none;
}


section#sitemap-page a:hover,#topic a:hover{
	text-decoration:underline;
}

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



    footer #sitemap > div {
        width: 80%;
        margin: auto;
    }

    footer #sitemap > ul {
    width: 100%;
    border-left: none;
    padding-left: none;
    height: auto;
    text-align: center;
    }

    footer #sitemap > ul li {
    font-size: 14px;
    font-weight: bold;
    position: relative;
    top: 0;
    left: 0;
    display: list-item;
    width: 100%;
    text-align: left;
    line-height: 200%;
    }
}



.l-footer__foot, .l-footer__widgetArea {
    padding-bottom: 1em;
    padding-top: 1em;
    background: #4D4D4D;
    color: #fff;
}

#product_detail .carousel_detail {
    position: relative;
}
#product_detail .carousel_detail {
    width: 530px;
    margin: 20px auto 40px;
}
#product_detail ul.thumbs li a.cur img {
    opacity: .8;
}
#product_detail ul.thumbs li {
    margin-right: 5px;
    width: 102px;
}

#product_detail ul.thumbs li a {
    border: 1px solid #CCCCCC;
    display: block;
}
#product_detail ul.thumbs li a.cur {
    background-color: #000;
}

#product_detail a{
	text-decoration:none;
}

/*side navi*/
ul#cnav ul li.cur {
    background: rgb(0, 0, 0, 0.1);
}

ul#cnav li a{
	Text-decoration:none;
}

    section#bestle {
      background-image: url(../../../images/common/bg_bestle.png);
      background-size: contain;
      background-repeat: no-repeat;
      width: 224px;
      height: 369px;
      padding-top: 12px;
      text-align: center;
  }
    section#bestle a {
      position: relative;
      top: 250px;
  }

section.search ul.productlist li a {
    text-decoration:none;
}
	

section.search ul.productlist li a span {
    color: black;
    font-weight: bold;
}
section.search ul.productlist li a:hover {
    text-decoration:underline;
}

section.search ul.productlist li a:hover {
    opacity:0.5;
}

.lang-nav-bar{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    gap: 5px;
    padding: 0 10px 0 0;
    margin: 0;
}

.search_box	{
    display: flex;
    justify-content: flex-end;
    padding: 10px;
}
@media screen and (max-width: 786px) {
	.search_box	{
    display: none;
}
}


/***********モーダル*************/
.mdl-wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mdl-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
}
.mdl-container {
  position: relative;
  background: #fff;
  padding: 35px;
  max-width: 650px;
  width: 90%;
  z-index: 10;
  text-align: center;
}
.iryo-mdl-txt {
    line-height: 1.5;
    padding: 20px;
    font-size: 15px;
    background: #F2F2F2;
	text-align: left
}
.iryo-mdl-question{
	margin-top: 10px;
    text-align: center;
    font-size: 26px;
    color: #00376E;
}
.iryo-mdl-btn-box {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
.iryo-mdl-btn {
	display: block;
    width: 200px;
	margin: 0 15px;
    line-height: 40px;
    text-align: center;
    border: 1px solid #00376E;
    box-shadow: 0 2px 0 #00376E;
    color: #00376E;
    font-size: 16px;
	text-decoration: none;
    font-weight: bold;
}
.iryo-mdl-btn:hover {
  background-color: #005f99;
}

/************モーダル***********/

#rib{
	margin-left:25px;
}



ul.slides{
width: 430px!important;
	padding-left: 0rem;
}

#media_image-2 img{
	max-width:223px;
}


a.products-link{
	color: black;
    text-decoration: none;
	font-weight:bold;
	font-size:12px;
	line-height: 1.45;
}
a.products-link span.code{
	color:#666666;
	display:block;
}

section.bestle-nav a{
	text-decoration:none;
}

iframe#player{
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;       
  max-width: 100vw;   
}


/*
.container-fluid.vid{
  display: flow-root;             
  position: relative;
  left: 50%;
  margin-left: -50svw;            
  margin-right: -50svw;
  width: 100svw;
  max-width: 100svw;
}


.video-box{
  aspect-ratio: 4 / 3;           
  overflow: hidden;
  transition: max-height .35s ease;
  max-height: 50vh;               
}
.video-box.is-open{
  max-height: 100vh;              
}


#player, #player iframe{
  width: 100%;
  height: 100%;
  display: block;
}


html, body{ overflow-x: hidden; }
*/


@media screen and (max-width: 786px) {
	#rib{
	margin-left:0px;
}
}



@media screen and (max-width: 1000px) {
	ul.slides{
	width: 250px!important;
		padding-left: 0rem;
}
}

@media screen and (max-width: 786px) {
		ul.slides{
	width: 100%!important;
		padding-left: 0rem;
}
}

@media screen and (max-width: 486px) {
	ul.slides{
	width: 330px !important;
	}
}
  



ul.c-iconList{
	margin-top: .5rem;
    margin-bottom: .5rem;
}  

div.vid{
	height:100%!important;
}

