@charset "UTF-8";
.margin-top{
	margin: 2em 0 0.5em !important;
}
.margin-bottom{
	margin: 0.5em 0 2em !important;
}
.margin-both{
	margin: 2em 0 !important;
}

.flex.column{
	flex-direction: column;
}

.list-article-container{
  display: flex;
  padding: 0 1em;

}

.products-article-container{
  display: flex;
  padding: 0 1em;

}
.article-container article section div.flex{
  gap: .6rem;
  align-items: baseline;
}
.article-container article section div.flex > div{
  flex: 1 1 50%;
}
.article-container .image-container img{
  width: 100%;
  max-width: 780px;
  padding: 1rem;
  object-fit: contain;
  vertical-align: top;
  
}


.article-container article section .flex.justify-center{
  justify-content: center;
}
.article-container article section .flex.align-items-center{
  align-items: center;
}
.article-container .blue{
  color: #140A9A;
}
.article-container .bold{
  font-weight: 600;
}

.bg-gray{
  background-color: #F7F8F9;
}
.article-container article section .pad{
  padding: 1.2rem;
}
.article-container .margin{
  margin: .84rem 0 .84rem;
}
.article-container .xx-large{
  font-size: 1.47rem;
}
.article-container .x-large{
  font-size: 1.27rem;
}
.article-container .x-small{
  font-size: .94rem;
}
/* .article-container ul{
  list-style-position: inside !important;
}
.article-container ul:has(span.blue) li::marker{
  color: #140A9A;
}

.article-container  ul.list-style-decimal{
  list-style: decimal;
}
.article-container  ul.list-style-disc{
  list-style: disc;
} */

.article-container h1,
.article-container h2,
.article-container h3,
.article-container h4{
  color: #140A9A;
}
.article-container h1{
  font-size: 2.8rem;
  line-height: 1.8em;
  letter-spacing: .05em;
  font-weight: 600;
  border-bottom: 1px solid #140A9A;
  padding: .6rem 0;
}

.article-container article section{
  padding: 2.68rem 0 0;
}

.article-container article section h2{
  margin: 0 0 2.1rem;
  position: relative;
}

.article-container article section h2::before{
  content: '';
  width: 2.1rem;
  height: 1px;
  background-color: #140A9A;
  left: 0;
  top: 0;
  position: absolute;
  z-index: +1;
}
.article-container article section h2::after{
  content: '';
  width: 1.5rem;
  height: 4px;
  background-color: #140A9A;
  left: 0;
  bottom: 0;
  position: absolute;
  z-index: +1;
}

.article-container article section p{
  padding: 0;
}
.article-container article section p a{
  color: #140A9A;
  text-decoration: underline;
}

.article-container article section h2{
  font-size: 2rem;
  line-height: 1.8em;
  letter-spacing: .025em;
  font-weight: 600;
}
.article-container article section h3{
  font-size: 1.34rem;

  letter-spacing: .025em;
  font-weight: 600;
}
.fs-middle,
.article-container article section p{
  font-size: 1.17rem;
  line-height: 1.8em;
  letter-spacing: .025em;
  font-weight: 500;
}
.article-container article section ul li{
  font-size: 1.1rem;
  line-height: 1.8em;
  letter-spacing: .025em;
  font-weight: 500;
}


/* .list-table-view li span:first-child {
  flex: 1 1 30%;

} */

.list-table-view li span:last-child {
  flex: 1 1;
}
.article-container article section div.flex.border > div{
  flex: 1;
}
.article-container article section .border{
  border: 1px solid #140A9A;
    padding: 1.13rem;
    gap: 1.13rem;
}
.article-container article section ul.list-table-view{

}
.article-container article section ul.list-table-view li.title-grid {
  display: flex;
  flex-wrap: wrap;
}
/* .article-container article section ul.list-table-view li.title-grid dl dt,
.article-container article section ul.list-table-view li.title-grid h3{
  flex: 1 1 20%; 
} */
.article-container article section ul.list-table-view li.title-grid dl{
  display: flex;
  flex-wrap: wrap;
}


.article-container article section ul.list-table-view li.title-grid div{
  flex: 1 1;
}
.article-container article section ul.list-table-view li.title-grid dd{
  flex: 1 1 ;
}


.wrap-title-searvice{
padding: 0;
}
.wrap-title-searvice .title-service{
  padding: 0.5em 0;
}


.list-article-container section.article-list{
  width: 100%;
  margin: 0 0 2.68rem;
}
.list-article-container section.article-list h1{
  font-size: 2rem;
  line-height: 1.8em;
  letter-spacing: .025em;
  font-weight: 600;
  border-bottom: 1px solid #140A9A;
  color: #140A9A;
  margin: 0 0 1.34rem;
  padding: .5em 0;
}
.list-article-container section.article-list ul{
  display: flex;
  gap: 1rem;
  margin: 3em 0;
}

.list-article-container section.article-list ul li{

      line-height: 1.8em;
      padding: .67rem;
      flex-basis: calc(25% - 1rem);

      background: #fff;
      display: flex;
      border: 1px solid #ddd;
      flex-direction: column;
      justify-content: space-between;
      position: relative;
      transition: all .2s;
      top: 0;
}
.list-article-container section.article-list ul li:hover{
  border: 1px solid #140a9a;
  -webkit-box-shadow: 0 3px 5px #d6d6d7;
  box-shadow: 0 3px 5px #d6d6d7;
  transition: all .2s;
  position: relative;
  top: -1rem;
}

.list-article-container section.article-list ul li a span.list-date{
  position: absolute;
  top: -.5rem;
  right: .5rem;
  color: #140A9A;
  background-color: #fff;
  border: 1px solid #140A9A;
  font-size: .7rem;
  padding: .25rem .5rem;
  z-index: 1;
  line-height: 100%;
}
.list-article-container section.article-list ul li:hover a span.list-date{
  background-color: #140A9A;
  color: #fff;
}
.list-article-container section.article-list ul li a h3{
  font-size: 1.14rem;
  color: #140A9A;
  width: 100%;
  position: relative;
  padding: 1rem 0 0;
  font-weight: 600;
  line-height: 1.8em;
}

.list-article-container section.article-list ul li a p{
  font-size: .9rem;
  padding: .25em 0 .5em;
  line-height: 1.8em;
}

.list-article-container section.article-list ul li div.list-image{
  height: 200px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  filter: grayscale(100%);
  width: 100%;
  max-width: 300px;
}
.list-article-container section.article-list ul li:hover div.list-image{
  filter: grayscale(0%);
}

.products-article-container span.colon{
  display: inline;
}

@media screen and (max-width: 1080px) {
  .list-article-container section.article-list ul{
    display: block;
  }
  .list-article-container section.article-list ul li{
    display: block;
    margin: 0 0 1rem;
  }
  .list-article-container section.article-list ul li a{
    display: flex;
    flex-direction: row;
  }
}

@media screen and (max-width: 667px) {


  .products-article-container {
      padding: 0 .5em;
  }

  .products-article-container span.colon{
    display: none !important;
  }

  .article-container article section{
    padding: 0 0 1.4rem;
  }
  .article-container article section h2{
    margin: 0 0 .6rem;
  }
  .article-container article section .border,
  .article-container article section .pad{
    padding: .6rem;
  }
  .article-container .margin {
    margin: 0 0 .6rem;
  }


  .article-container h1{
    font-size: 1.34rem;
    margin: 0 0 .6rem;
  }

 
  .article-container article section h2 {
    font-size: 1.2rem;
  }
  .article-container article section h3,
  .article-container .x-large{
    font-size: 1.1rem;
  }
  .article-container .x-small {
    font-size: .9rem;
  }
  .fs-middle,
  .article-container article section ul li,
  .article-container article section p{
    font-size: 1rem;
  }

  .article-container article section h2::before,
  .article-container article section h2::after{
    content: none;
  }

  .list-table-view li span:first-child,
  .article-container article section ul.list-table-view li.title-grid dl,
  .article-container article section ul.list-table-view li.title-grid,
  .article-container article section ul li{
    display: block;
  }
  .list-table-view li p span:first-child{
    display: inline;
  }

  .list-article-container section.article-list ul {
    display: block;
    margin: 0 0 1em;
  }
  .list-article-container section.article-list h1{
    font-size: 1.1rem;
  }
  .list-article-container section.article-list ul li a h3{
    font-size: 1.1rem;
    padding: 0;
  }
  .list-article-container section.article-list ul li a p{
    font-size: .85rem;
  }
  .list-article-container section.article-list ul li{
    padding: .4rem;
  }

  .list-article-container section.article-list ul li div.list-image{
    height: inherit;
    max-width: 180px;
    filter: grayscale(0);
    /* display: none; */
  }
  .list-article-container section.article-list ul li div.list-text{
    padding-left: 1rem;
    padding-top: .25rem;
  }
  .wrap-title-searvice .title-service{
    line-height: inherit;
  }
  .wrap-title-searvice .title-service em{
    font-size: 1.2rem;
  }

  br.pc{
    display: block;
  }

}




img {
  max-width: inherit;
  width: inherit;
  height: inherit;
  vertical-align: inherit;
}
.main img {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: inherit;
}


.main{
	max-width: inherit;
	padding: 0;
}

.flex.column{
	flex-direction: column;
}

.block-group {
    & .block-list {
        &.-circle {
            & .block-list__item {
                &::before {
                    position: relative;
                    left: 0;
                    top: 0;
                    padding-right:1rem;
                    width: inherit;
                    height: inherit;
                    border-radius: inherit;
                    background-color: transparent;
                    white-space: nowrap;
                }
				padding-left: 0;
            }
        }
    }
}
.block-group .block-list__item::before{
content: '';
}
.block-group .block-list__item:nth-of-type(1)::before{
content: 'Step 1.' !important;
}
.block-group .block-list__item:nth-of-type(2)::before{
content: 'Step 2.' !important;
}
.block-group .block-list__item:nth-of-type(3)::before{
content: 'Step 3.' !important;
}
.block-group .block-list__item:nth-of-type(4)::before{
content: 'Step 4.' !important;
}
.block-group .block-list__item:nth-of-type(5)::before{
content: 'Step 5.' !important;
}


.article-container article section div.flex.align-center{
	align-items: center;
}
.article-container article section div.flex{
	align-items: inherit;
}

.article-container article section div.flex > div.math-block div{
	flex: initial !important;
}
.math-block div,
.math-block span{
	color: #140A9A !important;
}

.ROI > div{
	padding: 2rem 2rem;
}

.ROI div img{
	max-width: 50%;
}
.denominator{
	position: relative;
}
.denominator::before{
    content: '';
    width: 100%;
    height: 1px;
    background-color: #140A9A;
    position: absolute;
    top: -.35rem;
    left: 0;
    z-index: 1;
}

        .roll-item {
            overflow: hidden;
            transition: all 0.3s ease;
        }

        .roll-item:hover {

        }

        details {
            cursor: pointer;
			    display: inline-block;
        }


        .roll-image {
            animation: fadeIn 0.3s ease;
        }
.step-inq > div.flex.column img,
.step3-1 > div.flex img,
.article-container article section div.flex.step-arrow > div img{
	mix-blend-mode: multiply;
}

.article-container article section div.flex.step-arrow{
	gap: 0;
	text-align: center;
}

.article-container article section div.flex.step-arrow > div{
margin-right: 4rem;	
position: relative;

    justify-content: space-between;
}
.article-container article section div.flex.step-arrow > div::after{
	content: '';
    background-image: url(../../images/press-sheetmetal-machine-installation-flow/icon_arrow.svg);
    background-size: cover;
    width: 2rem;
    height: 2rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -3rem;
}

.article-container article section div.flex.step-arrow > div:last-child{
margin-right: 0;	
}
.article-container article section div.flex.step-arrow > div:last-child::after{
content: none;
}

ul.check_list li{
	position: relative;
	margin-bottom: 1rem;
	padding-left: 4rem !important;
            cursor: pointer;
            transition: all 0.3s ease;
}
ul.check_list li::before{
	content: '';
    background-image: url(../../images/press-sheetmetal-machine-installation-flow/icon_check.svg);
    background-size: cover;
    width: 2rem;
    height: 2rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1rem;

}
.check_point{
	position: relative;
	padding-left: 2rem !important;
}
.check_point::before{
	content: '';
    background-image: url(../../images/press-sheetmetal-machine-installation-flow/icon_light.svg);
    background-size: cover;
    width: 2rem;
    height: 2rem;
    position: absolute;
    left: 0;
}
.alert_point{
	position: relative;
	padding-left: 2rem !important;
}
.alert_point::before{
	content: '';
    background-image: url(../../images/press-sheetmetal-machine-installation-flow/icon_point.svg);
    background-size: cover;
    width: 2rem;
    height: 2rem;
    position: absolute;
    left: 0;
}


        .check_list li:hover {
            background: #F7F8F9;
            transform: translateX(4px);
            box-shadow: 0 4px 12px rgba(33, 150, 243, 0.2);
        }

        /* ポップアップバルーンのスタイル */
        .check_list li > div {
            /* デフォルトは非表示 */
            opacity: 0;
            visibility: hidden;
            
            /* 位置調整 */
            position: absolute;
            top: 100%;
            right: 0;
            transform: translateX(0) translateY(10px);
            margin-top: 12px;
            
            /* スタイリング */
            background: #140A9A;
            color: white;
            padding: 12px 16px;
            border-radius: 8px;
            font-size: 0.9em;
            line-height: 1.6;
            white-space: normal;
            min-width: 250px;
            max-width: 400px;
            
            /* 影 */
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
            
            /* アニメーション */
            transition: all 0.3s ease;
            
            /* 最前面に表示 */
            z-index: 1000;
        }

        /* ホバー時にポップアップを表示 */
        .check_list li:hover > div {
            opacity: 1;
            visibility: visible;
            transform: translateX(0) translateY(0);
        }

        /* 三角形の吹き出し（上部） */
        .check_list li > div::before {
            content: '';
            position: absolute;
            bottom: 100%;
            right: 20%;
            transform: translateX(0);
            border: 8px solid transparent;
            border-bottom-color: #140A9A;
        }
.step3-1 > div.flex.column {
    display: grid;
    grid-template-rows: 70px 150px 1fr; /* タイトル/画像/説明 の高さを固定 */
    gap: 12px;
}

.step3-1 > div.flex p:first-child {
    display: flex;
        justify-content: center;
    margin: 0;
	text-align: center;
}

.step3-1 > div.flex img {
    height: 150px;
    object-fit: contain;
}

.step3-1 > div.flex p:last-child {
    margin: 0;
}

.article-container article section div.flex.step-inq{
	margin:4rem 0;
	gap: 1rem;
}
.article-container.inq-container article section h2::before,
.article-container.inq-container article section h2::after{
	content: none;
}
.step-inq > div.flex.column {
    display: grid;
    grid-template-rows: 150px 70px 1fr; /* タイトル/画像/説明 の高さを固定 */
    gap: 1rem;
	background-color: #fff;
            cursor: pointer;
            transition: all 0.3s ease;
			position: relative;

}
.step-inq > div.flex.column:hover {
background: #F7F8F9;
    transform: translateY(-1rem);
    box-shadow: 0 4px 12px rgba(33, 150, 243, 0.2);
}

.step-inq > div.flex p:first-child {
    display: flex;
        justify-content: center;
    margin: 0;
	text-align: center;
}

.step-inq > div.flex img {
    height: 150px;
    object-fit: contain;
}

.step-inq > div.flex p:last-child {
    margin: 0;
}

.article-container article section div.flex.step4-1 > div{
	flex: inherit;
}
.article-container article section div.flex.step4-1 > div:nth-of-type(1){
	flex: .7;
}
.article-container article section div.flex.step4-1 > div:nth-of-type(2){
	flex: .3;
	align-self: flex-end;
}
.step4-1 > div img {

    object-fit: contain;
}


.inq-container{
	padding: 2rem 0;
	background-color: #f1f1f1;
}

.link-inq::before{
	content: '＼　まずはお気軽に　／';
	position: absolute;
    top: -2rem;
    left: 0;
    text-align: center;
    display: block;
    width: 100%;
}

.link-products::before{
	content: '＼ カタログDLはこちらから ／';
	position: absolute;
    top: -2rem;
    left: 0;
    text-align: center;
    display: block;
    width: 100%;
}
/* レスポンシブ対応 */
@media (max-width: 1080px) {

			.block-group {
				& .block-toc {
					.block-toc__title {
					font-size: 1.2rem;
				}
			}
		}
.block-group {
    & .block-toc {
        .block-list {
            margin: 40px 0;
            padding: 0;
        }
    }
}
            .check_list li > div {
                left: 10px;
                right: 10px;
                transform: translateY(10px);
                min-width: auto;
                max-width: none;
            }

            .check_list li:hover > div {
                transform: translateY(0);
            }

            .check_list li > div::before {
                left: 30px;
                transform: none;
            }
			.article-container article section div.flex.step-arrow > div,
			.step-inq > div.flex.column,
			.step3-1 > div.flex.column{
					display: block;
							margin: 0 0 1.2rem;
							text-align: center;
			}
			.step4-1 > div img,
			.article-container article section div.flex.step-arrow > div img{
				object-fit: contain;
				height: 150px;
			}
			.step-inq > div.flex img,
			.step3-1 > div.flex img{
					height: 100px;
					        
			}
			
			.inq-container {
				padding: 2rem .5rem;
			}

			.ROI > div{
				padding: 2rem 0;
			}
			.ROI > .flex,
			.article-container article section div.flex > div.math-block div{
				display: flex !important;
			}

				.link-inq::before,.link-products::before,
				.article-container article section div.flex.step-arrow > div::after{
					content: none;
				}
				.article-container article section div.flex.step-inq{
					margin: 2rem 0;
				}

				br.pc{
					display: none !important;
				}

}
   
        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
