@charset "UTF-8";

/*****************************************************
Privacy policy
******************************************************/
.container.--primary{
max-width: 1048px;
padding-left: 15px;
padding-right: 15px;
	margin: 0 auto;
}
.terms {
}
.terms .text_ara{
	margin: 0 0 80px;
	line-height: 2;
	letter-spacing: 0.08em
}
.terms .box{
	margin: 0 0 50px;
	text-align: justify;
}
.terms .box:last-of-type{
	margin: 0 0 0;
}
.terms .box dt{
	font-weight: 500;
line-height: 1.6;
	margin-bottom: 5px;
	letter-spacing: 0.08em;
	font-size: 20px;
}
.terms .box dd{
	line-height: 2;
	letter-spacing: 0.08em
}


.small_under ol{
	padding-left: 1em;
	text-indent: -1em;
	letter-spacing: 0.08em
}
.terms .small_under{
	margin: 0 0 0 20px;
	
}
@media screen and (max-width: 768px){
/*
プライバシーポリシー
*/
.container.--primary{
	margin: 0 auto 60px;
}
.terms .text_ara{
	margin: 0 0 50px;
}
.terms .box:last-of-type  {
    margin: 0 ;
}
}

/* =============================== 
BLOG
================================ */
.title_ara{
	position: relative;
	margin: 0 0 50px;
}
.blog_details h1{
	font-size: 26px;
	line-height: 1.5;
	letter-spacing: 0.08em;
	font-weight: 600;
	padding: 30px 0  0;
}
.blog_details .news-list__dat{
	color: #0076a3;
font-size: clamp(0.75rem, 1.0714285714vw, 0.9375rem);
line-height: 1.7333333333;
	letter-spacing: 0.08em;
	position: absolute;
	top: 0;
	left: 0;
}
.content_box{
	line-height: 2;
	font-size: 15px;
	letter-spacing: 0.08em;
}
.content_box img{
	padding: 10px 0;
	
}
@media screen and (max-width:768px) {
.title_ara{
	margin: 0 0 30px;
}
.blog_details h1{
	font-size: 20px;
}	
	
}


/* =============================== 
会社概要
================================ */

.company_list {
    -webkit-overflow-scrolling: touch;
    align-content: center;
    align-items: center;
    display: flex;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    max-width: 100%;
    pointer-events: all;
    position: relative;
    z-index: 0;
    color: #231815;
    font-size: 16px;
}

.company_list li {
    list-style: none;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 30px 64px;
    width: 100%;
}
.company_list li:nth-child(odd) {
    background-color: #F9FAFB;
}
.company_ttl {
    align-items: center;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 0px;
    width: 35%;
	 line-height: 2;
	font-size: 16px;
}
.company_txt {
    color: #212121;
    flex: 1;
    height: auto;
    letter-spacing: 0.03em;
    line-height: 2;
    justify-content: flex-start;
	font-size: 16px;
	font-weight: 300;
	width: 65%;
}

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

    .company_list {
        padding: 0px;
        width: 100%;
        max-width: 100%;
    }

    .company_list li {
        flex-direction: column;
        flex-wrap: nowrap;
        padding: 18px 20px;
    }

    .company_ttl {
        flex: none;
        width: 100%;
        max-width: 100%;
    }

    .company_txt {
        flex: none;
        font-size: 15px;
        line-height: 1.8;
        margin: 0px 0px 0px 0px;
        width: 100%;
        max-width: 100%;
    }
}

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

    .company_ttl {
        flex: none;
        width: 200px;
        max-width: 100%;
    }
}

/* =============================== 
プロダクト
================================ */

.joysize{
	max-width: 85%;
	width: 100%;
	margin: 100px auto 0;
	
}
.joysize_inner {
    background-color: #0076A3;
    padding: 132px 100px;
}

.joysize_head {
   text-align: center;
}

.joysize_head img {
    width: 152px;
    max-width: 100%;
}

.joysize_head p {
    margin-top: 65px;
    font-size: 20px;
    color: #fff;
    line-height: 50px;
    text-align: center;
}

.joysize_body {
	background-color: #fff;
	padding: 118px 90px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-top: 82px;
	border-radius: 5px;	
}

.joysize_wrap {
    display: flex;
    justify-content: center;
}

.joysize_l,
.joysize_r {
    width: 48%;
    color: #0076A3;
}

.joysize_l {
    margin-right: 84px;
}
.joysize_ttl {
    text-align: center;
    margin-top: 47px;
    margin-bottom: 32px;
}
.perfume_ttl01{
	max-width: 333px; 
	width: 80%;
}
.perfume_ttl02{
	max-width: 333px; 
	width: 80%;
}
.joysize_ttl h3{
	font-size: 16px;
	font-family: "avenir";
	font-weight: normal;
	letter-spacing: 0.1em;
	margin: 0 0 5px;
}
	
.ttl_r {
    margin-top: 83px;
}

.joysize_ttl p:first-child {
    letter-spacing: 0.13em;
    line-height: 38px;
}

.joysize_ttl p:last-child {
    letter-spacing: 0.1em;
    line-height: 28px;
	font-size: 14px;
}

.joysize_img {
    width: 100%;
    max-width: 321px;
	margin: 0 auto 10px;
}

.ttl_l img {
    width: 333px;
    max-width: 100%;
}

.ttl_r img {
    width: 242px;
    max-width: 100%;
}

.joysize_l > p,
.joysize_r > p {
    margin-top: auto;
    letter-spacing: 0.1em;
    line-height: 31px;
	font-size: 14px;
}

.joysize_btn {
    width: 80%;
    max-width: 350px;
    border-radius: 60px;
    color: #fff;
    background-color: #B72D22;
    padding: 20px;
    text-align: center;
    margin-top: 75px;
    font-size: 36px;
    letter-spacing: 0.1em;
}
.font_hi{
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}

@media screen and (max-width:424px) {
    .joysize_inner {
        padding: 132px 50px;
    }
}
@media screen and (max-width:768px) {
.joysize {
  max-width: 100%;
	margin: 50px auto 0;
}

.joysize_head img {
  width: 130px;
}
.joysize_inner {
  padding: 100px 5%;
}
    .joysize_body {
        padding: 50px 30px;
		margin-top: 50px;
    }
    
    .joysize_wrap {
        flex-direction: column;
        align-items: center;
    }

    .joysize_l,
    .joysize_r {
        width: 100%;
    }

    .joysize_img {
        width: 90%;
        text-align: center;
    }
.joysize_ttl {
  margin-top: 25px;
  margin-bottom: 20px;
}
.joysize_l > p, .joysize_r > p {
  line-height: 2;
}
    .joysize_l {
        margin-right: 0;
    }

    .joysize_r {
        margin-top: 60px;
    }
.joysize_btn {
  margin-top: 50px;
  font-size: 20px;
}
}

/* MEDIA */
.media_wrap {
	margin-top: 102px;
	background-image: url(images/product/media_bg.jpg);
	padding: 86px 0 300px;
	background-repeat: repeat;
	background-size: 50px auto;
}

.media_inner {
    background-color: #fff;
    padding: 132px 100px;
	max-width: 85%;
width: 100%;
margin: auto;
}

.media_head {
    display: flex;
    justify-content: center;
    padding-bottom: 80px;
}

.media_contents {
    position: relative;
}

.media_contents h2 {
   font-size: 50px;
transform: rotate(90deg);
position: absolute;
left: -50px;
top: 48px;
font-family: "Abril Fatface", cursive;
}

.media_txt {
	margin: 0 0 0 100px;
    color: #231815;
	width: 50%;
}
.media_img{
	width: 50%;
	padding: 50px 0 0 ;
	
	}
.media_txt p:first-child {
    font-size: 20px;
}

.media_txt p:last-child {
    font-size: 15px;
    line-height: 2;
    margin-top: 180px;
}

.media_head img {
    max-width: 396px;
    width: 100%;
}

.media_foot {
    display: flex;
    justify-content: center;
    padding: 80px 30px 0;
    border-top: 1px solid #231815;
}

.media_foot img:first-child {
    width: 30%;
	margin: 0 5% 0 0;
}

.media_foot img:last-child {
    width: 65%;
}



@media screen and (max-width:768px) {
    .media_wrap {
        padding: 86px 5%;
		margin-top: 0;
    }
.media_inner {
  padding: 50px 30px;
  max-width: 100%;
}
.media_head {
  display: block;
	padding-bottom: 60px;
}
    .media_inner {
        padding: 50px 40px;
    }
.media_txt {
  margin: 0 0 0 60px;
  width: auto;
}
.media_txt p:last-child {
  margin-top: 40px;
}
.media_txt p:first-child {
  font-size: 18px;
}	
.media_contents h2 {
 font-size: clamp(1.875rem, 3.5714285714vw, 3.125rem);
	left: -50px;
top: 30px;
}
	
	
	
.media_img {
  width: 100%;
  padding: 50px 0 0;
}
    .media_foot {
        flex-direction: column;
        align-items: center;
padding: 50px 0px 0;
    }

    .media_foot img:last-child {
        margin-top: 40px;
    }

    .media_foot img:first-child {
        width: 50%;
        margin-right: 0;
    }
    .media_foot img:last-child {
        width: 100%;
    }
}



/* =============================== 
NEWS 詳細
================================ */
.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
	margin: 35px 0 0;
	font-size: 15px;
}
.page-numbers li .current {
  background: #fbe21f;
	  width: 3rem;
  height: 3rem;
  border-radius: 50%;
}
.page-numbers li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.page-numbers li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
	 width: 3rem;
  height: 3rem;
}
.single_navi{
	margin: 100px 0 0;
	border-top: 1px solid #BBBCBC;
	padding: 20px 10px 0;
}
.single_navi ul{
	display: flex;
	justify-content: center; 
}
.single_navi li{

}
.prev,.next{
	width: 24%;
}
.view_all{
	width: 50%;
	text-align: center;
	position: relative;
	padding: 30px 0 0;
}
.view_all img{
	width: 15px;
	height: 15px;
	position: absolute;
	top: 0;
	  left: 0;
  right: 0;
  margin:0 auto;
	
}
.next{
	text-align: right;
}
.single_navi li a{
	transition: 0.5s;
}
.single_navi li a:hover{
	text-decoration: underline;	
	color: 	#0076a3;

}
@media screen and (max-width: 768px) {
.page-numbers {
	margin: 25px 0 0;
}	
.page-numbers li .current {
  width: 2.5rem;
  height: 2.5rem;
}	
.page-numbers li a {
 width: 2.5rem;
  height: 2.5rem;
}
.single_navi li a{
	font-size: 13px;
}
.single_navi{
	margin: 50px 0 0;
}
.prev,.next{
	width: 19%;
}
.view_all{
	width: 56%;
	padding: 20px 0 0;
}
}




/***********************************
お問い合わせ
************************************/
.terms {

}
.terms .box h4 {
    font-size: 18px;
	margin: 0 0 10px;
}
.terms .box .rule {
    margin: 0 0 20px;
}
.terms .box .rule h5 {
    font-size: 14px;
}
.terms .box .rule ul {}
.terms .box .rule ul li {
    padding-left: 1em;
    text-indent: -1em;
}
.commonrule {
    background-color: #DADADA;
    padding: 15px;
    margin: 0 0 50px;
}
.commonrule li {
    padding-left: 1em;
    text-indent: -1em;
}
.btm30 {
    margin: 0 0 30px;
}
.con-box {
    padding: 10px 0;
    border: 1px solid #1e89c8;
    border-radius: 3px;
    width: 70%;
    text-align: center;
    margin: 0 auto 50px;
}
.wpcf7-form-control-wrap .last,
.wpcf7-list-item {}

#mailformpro {
    font-size: 13px;
    margin-top: 30px;
}

#mailformpro table tr td {
    padding: 15px;
}

#mailformpro table tr td p {}

.size {
    font-size: 13px;
    line-height: 1.5em;
    margin-top: 5px;
}

.font13 {
    font-size: 13px;
    line-height: 1.5em;
}

.top10 {
    margin-top: 10px;
}

.info-box span {
    margin: 0 2px;
}

.wpcf7-form {
    margin-top: 30px;

}

.table-box02 {
/*     display: table; */
    width: 100%;
    box-sizing: border-box;
	
}

.table-box02-last {
/*     display: table; */
    width: 100%;
    box-sizing: border-box;
}
.bordertop .table-box02-l,.bordertop .table-box02-r{
	border-top: none;
}
/* .table-box02-l {
    width: 30%;
    padding: 15px;
    border-top: 1px solid #e9e9e9;
    vertical-align: middle;
    box-sizing: border-box;
    display: table-cell;
    font-weight: bold;
    text-align: left;
	position: relative;
	line-height: 2;
font-size: 1.3rem;
letter-spacing: .1rem;
} */

.table-box02-r {
/*     width: 70%; */
    display: table-cell;
    text-align: left;
/*     padding: 25px; */
/*      border-top: 1px solid #e9e9e9; */
    box-sizing: border-box;
	line-height: 2;
font-size: 1.3rem;
letter-spacing: .1rem;
}

.kibou .wpcf7-list-item {}

.wpcf7-list-item {
    margin: 0 10px 0 0;
    white-space: nowrap;
}

/* .wpcf7-form input[type="text"],
input[type="text01"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="url"],
.wpcf7 textarea,
textarea.form-control,
.wp-editor-container {
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
    padding: 10px 10px 15px 10px;
    margin: 2px 0;
    box-sizing: border-box;
    border: 1px solid #ddd;
    color: #333;
    font-size: 14px;
    line-height: 1.6em;
    background-color: #F8F8F8;
} */

.text02 {
    width: 100%;
}

.text05 {
    width: 40%;
}

.wi20 {
    width: 20% !important;
}

span.wpcf7-list-item {
    margin: 0 5px 0 0 !important;
}

.checkbox-l select {
    font-size: 20px;
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
    padding: 4px 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    box-sizing: border-box;
    width: 70% !important;
    border: 1px solid #999 !important;
    background: #fff !important;
}



input[type="date"],
select {
    font-size: 15px !important;
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
    padding: 6px 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin: 10px 0;
    border: 1px solid #999 !important;
    background: #fff !important;
    box-sizing: border-box;
}

.wpcf7 {
    text-align: center;
/*     width: 80%; */
    max-width: 800px;
    margin: auto;
}

.contact-title {
    position: absolute;
    top: 0px;
    left: 10px;
}

.c_date {
    display: table;
}

.c_date div {
    display: table-cell;
    padding: 10px;
}

/* .must {
    font-size: 9px;
    color: #fff;
    margin-left: 3px;
    font-weight: normal;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #1c4315;/* 円の色 */
	display: block;
	line-height: 3.2;
	position: absolute;
	right: 0;
	top: 28px;
	text-align: center;
} */

.submitbtn input {
    width: 110px;
    border: none;
    padding: 10px 10px;
}

/* .submitbtn input[type='submit'] {
    display: block;
	width: 350px;
padding: 15px 25px;
border: 3px solid #1c4315;
    margin: 20px auto 0;
    text-align: center;
    color: #fff;
    background-color: #1c4315;
    font-size: 15px;
    font-weight: bold;
} */

.submitbtn input[type="submit"]:hover {
    color: #fff;
    opacity: 0.8;
    -webkit-transition: 0.8s;
    transition: 0.8s;
}

.checkbtm {
}

.failure {
    text-align: left;
    margin: 40px 0;

}
#p_404 {
  text-align: center;
	
}
.big_text{
	font-size: 20px;
	color: #0076a3;
	font-weight: 600;
	margin: 0 0 30px;
	line-height: 1.8;
}
#p_404 p{
 line-height: 2;
letter-spacing: 0.2rem;
	
}


.must {
    font-size: 12px;
    color: #E5201F;
    margin-left: 10px;
    font-weight: normal;
}

span.wpcf7-form-control.wpcf7-radio {
	display: flex;
	flex-direction: column;
	font-size: 14px;
}

.wpcf7-form input[type="text"],
input[type="text01"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="url"],
.wpcf7 textarea,
textarea.form-control,
.wp-editor-container {
	    box-shadow: none;
    outline: none;
    padding: 18px 27px;
    box-sizing: border-box;
    border: 1px solid #C9C9C9;
    color: #333;
    font-size: 14px;
    line-height: 1.6em;
    background-color: ffffff;
    border-radius: 10px;
    -webkit-box-shadow: none;
}

.table-box02-l {
    width: 100%;
    vertical-align: middle;
    box-sizing: border-box;
    display: table-cell;
    font-weight: bold;
    text-align: left;
    position: relative;
    line-height: 2;
    font-size: 16px;
    letter-spacing: .1rem;
}

.table-box02-r {
    padding: 11px 0 37px 0;
	width: 100%;
}

.table-box02 {
    display: flex;
    flex-direction: column;
}

.table-box02-last {
    display: flex;
    flex-direction: column;
}

.submitbtn input[type='submit'] {
    display: block;
    max-width: 315px;
	width: 80%;
    padding: 26px;
    border: 3px solid #0076A3;
    margin: 50px auto 0;
    text-align: center;
    color: #fff;
    background-color: #0076A3;
    font-size: 20px;
    font-weight: normal;
    border-radius: 100px;
}

.contact-form {
	display: flex;
  justify-content: center;
}

.u-inner {
	padding: 88px 160px;
  border: 3px solid #0076A3;
  border-radius: 14px;
  justify-content: center;
  display: flex;
  flex-direction: column;
	margin: 0 auto;
	max-width: 1200px;
width: 100%;
}

.contact_head {
	text-align: center;
}

.contact_ttl {
	font-size: 32px;
	color: #0076A3;
	font-weight: bold;
}

.contact_head p {
	margin-top: 30px;
	line-height: 2;
}

.wpcf7 {
    width: 100%;
    margin-top: 80px;
}

.contact_foot {
	color: #0076A3;
	margin-top: 86px;
}

.contact_foot p:first-child {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin: 0 0 15px;
}

.contact_foot p:last-child {
	font-size: 13px;
	line-height: 2;
	letter-spacing: 0.08em;
}
.priva_link a{
	font-size: 13px;
	text-decoration: underline;
}
.priva_link a:hover{
	text-decoration: none;	
	
}
.poricy_check{
	font-size: 16px;
	font-weight: 500;
	margin: 0 0 10px;
	line-height: 2;
}
/*===============================================
●タブレット.css 画面の横幅が768pxまで
===============================================*/
@media screen and (max-width: 768px) {
.tel_box {
	width: 70%;
}	
    input[type="text"],
    input[type="text01"],
    input[type="tel"],
    input[type="email"],
    input[type="password"],
    input[type="url"],
    textarea,
    textarea.form-control,
    .wp-editor-container {}

    .left-30 {
        margin-left: 0px !important;
    }

    .wi20 {
        width: 35% !important;
    }

    .table-box02-l {}

    .wpcf7 {
        width: 100%;
        max-width: 100%;
		margin-top: 30px;
    }

    .submitbtn input {
        width: 65%;
        border: none;
        padding: 10px 10px;
        min-height: 20px;
    }

    input[name="f_am"] {
        font-size: 10.8px;
    }

    .db {
        display: block;
    }

    input[type="button"],
    input[type="submit"] {
        -webkit-appearance: none;
    }
#p_404 {
}
#contact {
  margin: 0 0 50px;
}
#contact .text_ara {margin: 0 0 50px;text-align: left;}
.tel_box {
	padding: 40px 3% 30px;
	width: 90%;
}
.tel_box ._sitemenu .tel {font-size: 28px;}
.tel_box .day_time {line-height: 2;}
.big {margin: 20px 0 0;}
.bordertop {border-top: 1px solid #c9c9c9;}
.must {top: 7px;right: 8px;}
	
/* .table-box02 {
        border-bottom: 1px solid #c9c9c9;
    } */
.table-box02-l {
        width: 100%;
        padding: 10px 0 0;
        border: none;
        vertical-align: middle;
        box-sizing: border-box;
        line-height: 1.6em;
        display: block;
	font-size: 14px;
    }
.terms {
    margin: 30px 0 0 0;
}
.terms .box h4 {
    font-size: 16px;
}
.privacy {
    width: 95%;
    padding: 15px 7%;
}
.submitbtn input[type="submit"] {
    width: 95%;
	padding: 15px 7%;
}
    .kibou .wpcf7-list-item {
        display: table !important;
    }

    .wpcf7-form-control {}

    span.wpcf7-list-item {
    }

    .wpcf7-list-item input {
        display: table-cell;
    }

    .wpcf7-list-item-label {
       
        padding-left: 5px;
    }

    .c_date {
        display: block;
    }

    .c_date div {
        padding: 5px 0 15px 10px;
    }

    input[type="date"],
    select {
        padding: 10px 15px;
        font-size: 15px;
    }

    .table-box02-r {
        width: 100%;
        text-align: left;
        border: none;
        display: block;
        font-size: 13px;
		 padding: 11px 0 20px 0;
    }

    /* 	
.wpcf7-form-control{
	display: block;	
	}	*/

    .checkbtm {
  
    }

    .text05 {
        width: 50%;
        margin-bottom: 5px;
        display: inline !important;
    }

    /* コンタクフォーム*/
    .con-box {
        width: 90%;
        text-align: center;
        margin: 0 auto 30px;
        padding: 10px 4%;
    }

    input[type="button"],
    input[type="submit"] {
        -webkit-appearance: none;
    }
#p_404 {
  text-align: left;
	
}
	.u-inner {
		padding: 68px 25px;
		margin: 0 auto ;
	}
.contact_ttl {
  font-size: 23px;
}
.contact_foot {
  margin-top: 50px;
}
}

.product-contents__title{
	font-size: 16px;
    font-family: "avenir";
    font-weight: normal;
    letter-spacing: 0.1em;
}

.grecaptcha-badge {
	margin-bottom: 70px !important;
}



/*****************************************************
construction-machinery
******************************************************/


.sp_menu_button {
    display: none;
}

.sp_menu_button img {
    vertical-align: baseline;
}

@media screen and (max-width: 991px) {
    .sp_menu_button {
        display: block;
    }
}

/*  ハンバーガーメニューボタン  */

:root {
    --takeda-black: #1c1c1c;
    --greige: #f3f2f0;
    --white: white;
    --red: #c1272d;
}

.inner {
    max-width: 1146px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.space {
    padding: 100px 0;
}

@media screen and (max-width: 768px) {
    .space {
        padding: 50px 0;
    }
}

.title_area {
    text-align: left;
    margin-bottom: 40px;
}

.title_en {
    font-family: alternate-gothic-atf, sans-serif;
    font-size: 265px;
    font-weight: bold;
    line-height: 0.9;
    margin: 0;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

.title_ja {
    font-size: 48px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 1023px) {
    .title_en {
        font-size: 160px;
    }

    .title_ja {
        font-size: 36px;
    }
}

@media screen and (max-width: 768px) {
    .title_area {
        margin-bottom: 30px;
    }

    .title_en {
        font-size: 94px;
    }

    .title_ja {
        font-size: 24px;
    }
}

@media screen and (max-width:430px) {
    .title_en {
        font-size: 72px;
    }

    .title_ja {
        font-size: 18px;
    }
}

._white {
    display: inline-block;
    color: var(--white);
    background-color: var(--takeda-black);
}

._red {
    color: var(--red);
}

.link {
    display: block;
    margin-top: 40px;
    max-width: 360px;
    width: 100%;
    padding: 18px 0;
    background-color: var(--takeda-black);
    color: var(--white);
    text-align: center;
    font-size: 16px;
    box-sizing: border-box;
    text-decoration: none;
    transition: all .3s;
    border: 1px var(--takeda-black) solid;
}

.link:hover {
    color: var(--takeda-black);
    border: 1px var(--takeda-black) solid;
    background-color: var(--white);
}

@media screen and (max-width:1023px) {
    .link {
        font-size: 14px;
        max-width: 300px;
    }
}

@media screen and (max-width:768px) {
    .link {
        max-width: 100%;
    }
}

.box_title {
    text-align: left;
    font-size: 25px;
    line-height: calc(33/25);
    position: relative;
    padding-left: 32px;
    margin-bottom: 60px;
}

.box_title::before {
    content: "";
    width: 7px;
    height: 67px;
    border-radius: 15px;
    background-color: #000000;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.ticker-wrapper {
    margin-bottom: 100px;
}

.ticker-wrapper_2 {
    margin-bottom: 40px;
}

@media screen and (max-width:768px) {
    .ticker-wrapper {
        margin-bottom: 50px;
    }

    .ticker-wrapper_2 {
        margin-bottom: 0;
    }
}

.trigger {
    transition: all 0.3s ease;
    cursor: pointer;
}

.trigger:hover {
    opacity: 0.6;
}


.sp {
    display: none;
}

@media screen and (max-width:768px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

/* common */


.sns_wrapper {
    min-width: 54px;
    width: 54px;
    margin-top: -15px;
}

.link-block {
    max-width: 18px;
}

/* sns_wrapper */


.construction_fv {
    padding-top: 90px;
    position: relative;
    height: 830px;
    background-image: url(./images/construction-machinery/fv\ _img.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.construction_fv .h2 {
    font-size: clamp(3.5rem, -0.487rem + 6.24vw, 5.125rem);
    font-weight: bold;
    position: absolute;
    top: 190px;
    left: 40px;
    color: var(--white);
    line-height: 1.3;
    font-style: oblique 2deg;
    letter-spacing: -0.02em;
    text-shadow: 0 -2.8px 6.6px rgba(0, 0, 0, 0.7);
    transform: scaleY(1.2);
    transform-origin: left bottom;
}

.construction_fv .h2 ._sp {
    display: none;
}

.construction_fv .text_area {
    position: absolute;
    bottom: 73px;
    right: 48px;
    max-width: 485px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
}

.construction_fv .text_box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 7.2px;
    justify-items: center;
    align-items: center;
}

.construction_fv .box_list {
    background-color: var(--takeda-black);
    color: var(--white);
    font-size: 23px;
    font-weight: bold;
    box-sizing: border-box;
    border-radius: 50%;
    padding: 42px 0 28px;
    text-align: center;
    align-items: center;
    max-width: 170px;
    width: 100%;
    display: flex;
    line-height: 1.3;
    justify-content: center;
    aspect-ratio: 1 / 1;
}

.construction_fv .link {
    margin-left: auto;
}

@media screen and (max-width: 1023px) {
    .construction_fv .h2 {
        font-size: 42px;
        left: 20px;
        top: 150px;
        padding: 0 10px;
    }

    .construction_fv .text_area {
        bottom: 55px;
        padding: 0 20px;
        right: 20px;
        max-width: 400px;
        gap: 10px;
    }

    .construction_fv .box_list {
        padding: 22px 0;
        max-width: 100px;
        font-size: 14px;
    }
}

@media screen and (max-width: 768px) {
    .construction_fv {
        margin-bottom: 350px;
        height: 400px;
    }

    .construction_fv .h2 {
        top: 100px;
        font-size: clamp(1.563rem, 0.983rem + 2.9vw, 2.375rem);
        left: 0;
    }

    .construction_fv .h2 ._sp {
        display: block;
    }

    .construction_fv .text_area {
        max-width: 100%;
        margin: 0 auto;
        right: 50%;
        transform: translateX(50%);
        bottom: -65%;
    }

    .construction_fv .text_box {
        gap: 4px;
    }

    .construction_fv .box_list {
        max-width: 134px;
        font-size: 20px;
    }
}

@media screen and (max-width: 430px) {
    .construction_fv {
        background-position: 40% 80%;
        background-size: 250%;
    }

    .construction_fv .text_area {
        max-width: 100%;
    }

    .construction_fv .box_list {
        font-size: 14px;
    }
}

/* fv */


.top_slide {
    overflow: hidden;
    width: 100%;
    margin-top: -50px;
}

.slide_track {
    display: flex;
    width: max-content;
    animation: scroll 45s linear infinite;
}

.slide_img {
    flex: 0 0 auto;
    width: 270px;
    height: 170px;
    margin-right: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .top_slide {
        margin-bottom: 35px;
        margin-top: -65px;
    }

    .slide_img {
        width: 200px;
        height: 150px;
    }
}

.slide_img img {
    max-width: 100%;
    max-height: 100%;
    display: block;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* slider */


.problem .title_area {
    text-align: center;
    margin-bottom: 75px;
}

.problem .title_en {
    font-family: alternate-gothic-atf, sans-serif;
    font-size: 265px;
    font-weight: bold;
    color: #f3f2f0;
    line-height: 0.9;
    margin: 0;
}

.problem .title_ja {
    margin-top: -110px;
    letter-spacing: -0.07em;
}

.problem .title_area .small {
    display: inline-block;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 35px;
    line-height: 1.8;
}

.problem .title_area .big {
    display: inline-block;
}

.problem .list_area {
    max-width: 1140px;
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(247px, 1fr));
    gap: 20px;
    margin-bottom: 110px;
}

.problem .list {
    padding: 30px 8px;
    background-color: #f3f2f0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 35px;
}

.problem .text {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    line-height: 2;
    letter-spacing: -0.05em;
}

.problem .list_img {
    max-width: 100%;
    max-height: 115px;
    margin: 0 auto;
}

.problem .img_small {
    max-height: 70px;
    margin-bottom: 20px;
}

.problem .list_img img {
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
	vertical-align: middle;
}

.problem .container {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    overflow: hidden;
    align-items: center;
    margin-bottom: -130px;
    padding-bottom: 100px;
}

.problem .left_img {
    max-width: 666px;
    width: 100%;
    margin-right: -160px;
    margin-left: -40px;
    margin-bottom: -130px;
    flex: 0.5;
}

.problem .right_img {
    max-width: 666px;
    width: 100%;
    margin-right: -80px;
    margin-left: -140px;
    margin-bottom: -160px;
    flex: 0.5;
}

.problem .text_area {
    text-align: center;
    font-weight: bold;
    flex: 1;
}

.problem .text_top {
    font-size: 36px;
    line-height: 0.5;
    line-height: 1.9;
}

.problem .text_center {
    font-size: 48px;
    line-height: 2.2;
    letter-spacing: -0.02em;
}

.problem ._white {
    color: var(--white);
    background-color: var(--takeda-black);
    padding: 0 13px;
    line-height: 1.5;
    padding: 0 5px;
    margin-right: 5px;
    margin-left: 5px;
}

.problem .text_bottom {
    font-size: 72px;
    margin-bottom: 40px;
    line-height: 1.4;
}

@media screen and (max-width: 1280px) {
    .problem .title_en {
        font-size: 220px;
    }

    .problem .text_top {
        font-size: 24px;
    }

    .problem .text_center {
        font-size: 28px;
    }

    .problem .text_bottom {
        font-size: 48px;
    }

    .problem .left_img {
        max-width: 450px;
        margin-bottom: -120px;
        margin-right: -65px;
    }

    .problem .right_img {
        max-width: 450px;
        margin-bottom: -120px;
        margin-left: -85px;
        margin-right: -30px;
    }
}

@media screen and (max-width: 768px) {
    .problem.title_area {
        margin-bottom: 50px;
    }

    .problem .title_en {
        font-size: 100px;
    }

    .problem .title_ja {
        margin-top: -45px;
    }

    .problem .title_area .small {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .problem .title_area .big {
        font-size: 24px;
    }

    .problem .list_area {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        margin-bottom: 70px;
    }

    .problem .list {
        padding: 20px 8px;
        gap: 25px;
    }

    .problem .text {
        font-size: 12px;
    }

    .problem .list_img {
        max-height: 80px;
    }

    .problem .container {
        padding-bottom: 80px;
    }

    .problem .left_img {
        max-width: 250px;
        margin-bottom: -80px;
    }

    .problem .right_img {
        max-width: 250px;
        margin-bottom: -80px;
    }

    .problem .text_top {
        font-size: 14px;
    }

    .problem .text_center {
        font-size: 16px;
    }

    .problem .text_bottom {
        font-size: 28px;
    }

    .problem ._white {
        padding: 0 10px;
    }
}

@media screen and (max-width: 430px) {
    .problem .text {
        font-size: 11px;
    }
}

/* problem */


.our-features {
    margin-bottom: 71px;
}

.our-features .top {
    margin-top: 50px;
    background-image: url('./images/construction-machinery/our-features_bg.jpg');
    background-color: rgba(0, 0, 0, 0.5);
    background-blend-mode: darken;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 25px 0 100px;
}

.our-features .title_en {
    text-align: center;
    color: var(--white);
    font-size: 235px;
}

.our-features .title_ja {
    color: var(--white);
}

.our-features .list {
    max-width: 1018px;
    width: 100%;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 50px 50px 70px;
}

.our-features .item {
    max-width: 875px;
    width: 100%;
    display: flex;
    gap: 30px;
    align-items: center;
    border-bottom: 2px solid var(--greige);
    position: relative;
}

.our-features .top .item::before {
    content: "";
    width: 70px;
    height: 2px;
    background-color: var(--takeda-black);
    position: absolute;
    left: 0;
    bottom: -2px;
}

.our-features .number {
    font-family: alternate-gothic-atf, sans-serif;
    color: var(--takeda-black);
    font-size: 64px;
    font-weight: bold;
    line-height: 2;
}

.our-features .text {
    font-size: 36px;
    font-weight: bold;
    letter-spacing: -0.02em;
    line-height: 2;
}

.our-features .lower {
    padding-top: 100px;
    text-align: center;
}

.our-features .lower ._white {
    padding-left: 5px;
    padding-right: 5px;
}

.our-features .sab-text {
    font-size: 24px;
    font-weight: bold;
    line-height: calc(33/24);
}

.our-features .main-text {
    font-size: 48px;
    line-height: calc(66/48);
    letter-spacing: .02em;
}

.our-features .img {
    max-width: 832px;
    width: 100%;
    margin: 0 auto;
}

.our-features .link {
    margin: 40px auto 123px;
}

.our-features article {
    border-top: 1px solid var(--takeda-black);
}

.our-features .content_top {
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
}

.our-features .content_title {
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 1;
    margin-right: -133px;
}

.our-features .content_number {
    font-family: alternate-gothic-atf, sans-serif;
    width: 128px;
    font-size: 64px;
    padding: 35px 20px 35px 25px;
    ;
}

.our-features .content_text {
    width: 570px;
    font-size: 36px;
    line-height: 3.0;
    text-align: center;
}

.our-features .content_title_02 {
    margin-right: -20px;
}

.our-features .content_text_02 {
    width: 320px;
}

.our-features .content_img {
    max-width: 840px;
    width: 100%;
    margin-left: -133px;
    padding-top: 70px;
}

.our-features .content_img_02 {
    margin-left: -20px;
}


.our-features .content_lower {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    background-color: var(--greige);
    padding: 35px 20px 55px;
}

.our-features .box .process_area {
    margin-bottom: 94px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-auto-rows: 1fr;
    row-gap: 20px;
}

.box ol li::before {
    display: none;
}

.our-features .box .process {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px 10px 30px 25px;
    ;
    background-color: var(--white);
    clip-path: polygon(0 0,
            calc(100% - 30px) 0,
            100% 50%,
            100% 50%,
            calc(100% - 30px) 100%,
            0 100%,
            0 100%,
            30px 50%,
            0 0%);
}

.our-features .box .process:not(:first-child) {
    margin-left: -20px;
}

.our-features .box .process:nth-child(1) {
    padding-right: 20px;
    clip-path: polygon(0 0,
            calc(100% - 30px) 0,
            100% 50%,
            100% 50%,
            calc(100% - 30px) 100%,
            0 100%,
            0 0,
            25px 50%,
            0 0%);
}

.our-features .box .process:nth-child(5) {
    clip-path: polygon(0 0,
            100% 0,
            100% 50%,
            100% 100%,
            calc(100% - 30px) 100%,
            0 100%,
            0 100%,
            30px 50%,
            0 0%);
}

.our-features .box .number {
    font-size: 31px;
    font-weight: bold;
}

.our-features .box .number span {
    font-size: 16px;
    margin-right: 3px;
}

.our-features .box .text {
    font-size: 16px;
    line-height: calc(27/16);
    font-weight: bold;
    margin-bottom: 22px;
}

.our-features .box .icon {
    width: 62px;
    margin: 0 auto;
}

.our-features .lineup {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    margin-left: 41px;
}

.our-features .lineup .lead {
    max-width: 260px;
    width: 100%;
    flex-shrink: 0;
    font-size: 16px;
    line-height: 2;
    text-align: left;
}

.our-features .lineup .slide {
    flex: 1;
    overflow: hidden;
    padding-left: 55px;
}

.our-features .patterns {
    display: flex;
    gap: 20px;
}

.our-features .patterns .item {
    width: 100%;
    background-color: var(--white);
    border-radius: 18px;
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
    margin-right: 10px;
    padding: 7px 10px 38px;
}

.our-features .patterns .img img {
    width: 100%;
    border-radius: 18px 18px 0 0;
    display: block;
}

.our-features .patterns {
    position: relative;
}

.our-features .patterns .slick-list {
    margin: 0 -35px;
}

.our-features .patterns .text_area {
    padding: 0 25px;
    text-align: left
}

.our-features .patterns .title span {
    font-size: 64px;
    font-family: alternate-gothic-atf, sans-serif;
    margin-right: 5px;
}

.our-features .patterns .description {
    font-size: 14px;
    line-height: 2;
}

.our-features .custom-prev,
.our-features .custom-next {
    position: absolute;
    top: 38% !important;
    width: 48px;
    height: 48px;
    background: #fff;
    border: none;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    z-index: 1;
    cursor: pointer;
    box-shadow: none;
}

.our-features .custom-prev {
    left: -55px !important;
}

.our-features .custom-next {
    left: 90%;
}

.our-features .custom-prev img,
.our-features .custom-next img {
    height: 58px;
    width: 58px;
}

.our-features .custom-prev::before,
.our-features .custom-next::before {
    opacity: 0;
}

.our-features .secret_item {
    display: flex;
    flex-direction: row-reverse;
    gap: 62px;
    justify-content: space-between;
    margin-bottom: 100px;
}

.our-features .secret_item:nth-child(3) {
    margin-bottom: 0;
}

.our-features .secret_img {
    max-width: 300px;
    width: 100%;
}

.our-features .text_area {
    max-width: 630px;
    width: 100%;
}

.our-features .secret .description {
    display: flex;
    gap: 2px;
}

.our-features .secret .click {
    margin-top: 5px;
    width: 19px;
    height: 19px;
}

.our-features .secret .text {
    font-size: 16px;
    text-align: left;
    font-weight: 400;
}

.our-features .btn_area .text {
    font-size: 16px;
    line-height: 2;
    font-weight: 400;
}

.our-features .btn_area .link {
    margin-bottom: 70px;
}

@media screen and (max-width: 1023px) {
    .our-features .title_en {
        font-size: 160px;
    }

    .our-features .item {
        gap: 20px;
    }

    .our-features .top .item::before {
        width: 50px;
    }

    .our-features .number {
        font-size: 48px;
    }

    .our-features .text {
        font-size: 26px;
    }

    .our-features .main-text {
        font-size: 35px;
    }

    .our-features .sab-text {
        font-size: 20px;
    }

    .our-features .content_text {
        width: 450px;
        font-size: 26px;
    }

    .our-features .content_number {
        font-size: 56px;
    }


    .our-features .content_text_02 {
        width: 280px;
    }

    .our-features .content_img {
        padding-top: 100px;
    }

    .our-features .lineup {
        flex-direction: column;
        margin-left: 0;
        gap: 30px;
    }

    .our-features .lineup .lead {
        max-width: 100%;
        padding: 0 20px;
    }

    .our-features .lineup .slide {
        padding-right: 55px;
        width: 100%;
    }

    .our-features .custom-next {
        left: 99%;
    }

    .our-features .custom-prev {
        left: -50px !important;
    }

    .our-features .custom-prev,
    .our-features .custom-next {
        top: 50% !important;
        transform: translateY(-50%);
    }
}

@media screen and (max-width: 768px) {
    .our-features {
        margin-bottom: 0;
    }

    .our-features .list {
        padding: 15px 15px 25px;
    }

    .our-features .title_en {
        font-size: 75px;
    }

    .our-features .title_ja {
        text-align: center;
    }

    .our-features .top {
        padding: 25px 0 50px;
    }

    .our-features .top .item::before {
        width: 30px;
    }

    .our-features .number {
        font-size: 32px;
    }

    .our-features .text {
        font-size: 18px;
    }

    .our-features .lower {
        padding-top: 50px;
    }

    .our-features .main-text {
        font-size: 22px;
        margin-top: 40px;
        letter-spacing: -.03em;
    }

    .our-features .sab-text {
        font-size: 18px;
        line-height: 1.5;
    }

    .our-features .lower .link {
        margin-top: 50px;
    }

    .our-features .lower .link {
        margin-bottom: 80px;
    }

    .our-features .content_top {
        flex-direction: column;
    }

    .our-features .content_title {
        margin-right: 0;
    }

    .our-features .content_number {
        font-size: 36px;
        padding: 10px;
        width: 80px;
    }

    .our-features .content_text {
        font-size: 24px;
        width: 100%;
        line-height: 1.8;
    }

    .our-features .content_img {
        margin-left: 0;
        padding-top: 50px;
    }

    .our-features .content_text_02 {
        width: 100%;
    }

    .our-features .content_title_02 {
        margin-right: 0;
    }

    .our-features .content_img_02 {
        margin-left: -0;
    }

    .our-features .content_lower {
        padding: 35px 20px 55px;
    }

    .our-features .box .process_area {
        grid-template-columns: 1fr;
        row-gap: 0;
    }

    .our-features .box .process {
        justify-content: center;
        padding: 40px 10px;
        clip-path:
            polygon(0 0,
                50% 16%,
                100% 0,
                100% calc(100% - 50px),
                50% 100%,
                0 calc(100% - 50px));
    }

    .our-features .box .process:not(:first-child) {
        margin-left: 0;
        margin-top: -27px;
    }

    .our-features .box .process:nth-child(1) {
        clip-path: polygon(0 0,
                100% 0,
                100% calc(100% - 50px),
                50% 100%,
                0 calc(100% - 50px));
    }

    .our-features .box .process:nth-child(5) {
        clip-path: polygon(0 0,
                50% 16%,
                100% 0,
                100% 100%,
                0 100%);
    }

    .box_title {
        font-size: 18px;
        position: relative;
        margin-bottom: 25px;
        padding-left: 25px;
    }

    .box_title::before {
        height: 35px;
    }

    .our-features .content_top {
        flex-direction: column;
    }

    .our-features .patterns .title span {
        font-size: 48px;
    }

    .our-features .custom-prev {
        left: -67px !important;
    }

    .our-features .custom-prev img,
    .our-features .custom-next img {
        height: 35px;
        width: 35px;
    }

    .our-features .secret_item {
        flex-direction: column;
        gap: 25px;
        margin-bottom: 60px;
    }

    .our-features .secret_img {
        max-width: 100%;
    }

    .our-features .btn_area .text {
        font-size: 14px;
        text-align: left;
    }

    .our-features .btn_area .link {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 430px) {
    .our-features .top .item::before {
        width: 20px;
    }

    .our-features .number {
        font-size: 20px;
    }

    .our-features .text {
        font-size: 14px;
    }

    .our-features .content_number {
        font-size: 24px;
        padding: 5px;
        width: 50px;
    }

    .our-features .content_text {
        font-size: 18px;
    }
}

/* our-features */


.use-cases {
    background-color: var(--greige);
}

.use-cases .title_en {
    color: var(--white);
}

.use-cases .case {
    background-color: var(--white);
    padding: 55px 62px 46px;
    display: flex;
    flex-direction: column-reverse;
    gap: 34px;
    margin-bottom: 93px;
}

.use-cases .case:nth-child(3) {
    margin-bottom: 0;
}

.use-cases .text_area {
    display: flex;
    justify-content: space-between;
    gap: 82px;
}

.use-cases .detail {
    max-width: 475px;
    width: 100%;
}

.use-cases .list dl {
    display: flex;
    gap: 28px;
    padding: 0 7px;
    font-size: 16px;
    font-weight: 400;
    line-height: calc(49/16);
    border-bottom: 1px solid #d2cdc4;
    letter-spacing: -0.06em;
}

.use-cases .list dt {
    color: #4d4d4d;
    line-height: calc(36/14);
    padding-top: 5px;
    max-width: 143px;
    width: 100%;
    font-size: 14px;
}

.use-cases .list dd {
    font-weight: bold;
}

.use-cases .comment_area {
    max-width: 458px;
    width: 100%;
    position: relative;
}

.use-cases .comment_area .title {
    font-size: 16px;
    font-weight: bold;
    line-height: calc(33/16);
    margin-bottom: 20px;
}

.use-cases .comment {
    font-size: 14px;
    line-height: 2;
    padding: 20px;
    border: 1px solid var(--takeda-black);
    margin-bottom: 45px;
    position: relative;
}

.use-cases .comment::before {
    content: "";
    position: absolute;
    bottom: -24px;
    left: 46px;
    margin-left: -15px;
    border: 10px solid transparent;
    border-top: 15px solid var(--white);
    z-index: 1;
}

.use-cases .comment::after {
    content: "";
    position: absolute;
    bottom: -25px;
    left: 45px;
    margin-left: -15px;
    border: 10px solid transparent;
    border-top: 15px solid var(--takeda-black);
    z-index: 0;
}

.use-cases .comment_area .img_area {
    position: relative;
}

.use-cases .comment_area .img {
    max-width: 141px;
}

.use-cases .comment_area .name {
    position: absolute;
    bottom: 0;
    left: 141px;
}

.use-cases .top_img_area {
    display: flex;
    gap: 34px;
    align-items: center;
}

.use-cases .top_img_area .img {
    max-width: 440px;
    width: 100%;
    position: relative;
}

.use-cases .top_img_area .change {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--white);
    background-color: var(--takeda-black);
    padding: 15px 20px;
    font-family: alternate-gothic-atf, sans-serif;
    font-size: 36px;
}

@media screen and (max-width: 1023px) {
    .use-cases .list dl {
        flex-direction: column;
        gap: 0;
    }
}

@media screen and (max-width: 768px) {
    .use-cases .case {
        padding: 40px 20px;
        margin-bottom: 25px;
    }

    .use-cases .text_area {
        flex-direction: column;
        gap: 34px;
    }

    .use-cases .detail {
        max-width: 100%;
    }

    .use-cases .list dl {
        padding: 0 20px;
    }

    .use-cases .comment_area {
        max-width: 100%;
    }

    .use-cases .top_img_area {
        gap: 25px;
        flex-direction: column;
    }

    .use-cases .arrow {
        width: 50px;
        transform: rotate(90deg);
    }

    .use-cases .top_img_area .change {
        font-size: 28px;
    }

}

@media screen and (max-width: 430px) {
    .use-cases .list dl {
        flex-direction: column;
        gap: 0;
    }
}

/* use-cases */


.achievements {
    background-color: var(--greige);
}

.achievements .service_title_h2 {
    font-size: 48px;
    padding-top: 31px;
}

.achievements .page_nav {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto 73px;
}

.achievements .nav_area {
    display: grid;
    gap: 22px 10px;
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
}

.achievements .nav_area li {
    --item-gap: 1.875vw;
    --item-padding: 8.5%;
}

.achievements .nav_area li a {
    border-radius: 50px;
    padding: 15px 25px;
    position: relative;
    font-size: 16px;
    font-weight: 600;
}

.achievements .nav_area li a::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 20px;
    margin: auto;
    width: 15px;
    height: 15px;
    background-image: url(../../common/images/arrow_w.png);
    background-repeat: no-repeat;
    background-size: 15px auto;
}

.achievements .nav_area li a:hover::after {
    background-image: url(../../common/images/arrow.png);
}

.achievements .details_inner {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto 60px;
}


.achievements .trigger {
    font-size: 16px;
    background-image: none;
    padding: 27px 60px 27px 40px;
    position: relative;
    margin-top: 0;
    background-color: var(--white);
    border-radius: 0;
}

.achievements .accordion {
    margin-bottom: 25px;
}

.achievements dl.accordion:last-of-type .trigger {
    margin-bottom: 0;
}

.achievements .open-close {
    padding: 0;
    color: var(--white);
    background-image: url(./images/construction-machinery/achievements-icon_open.png);
    background-size: 36px 36px;
    width: 36px;
    height: 36px;
}

.achievements .trigger.active .open-close {
    background-image: url(./images/construction-machinery/achievements-icon_close.png);
}

.achievements .trigger.active {
    border-bottom: 1px solid #d2cdc4;
}

.achievements .region {
    background-color: var(--white);
    padding: 30px 42px;
    display: none;
}

.achievements .other .region,
.achievements .cat .region {
    padding-top: 40px;
}

.achievements .trigger.active+dd .region {
    display: block;
}

.achievements .sub_title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
}

.achievements .item_list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 0 30px;
    margin-bottom: 40px;
    row-gap: 15px;
}

.achievements .item_area:nth-last-child(1) .item_list {
    margin-bottom: 20px;
}

.achievements .item_list .flex {
    display: flex;
    flex-direction: column;
    gap: 30px;
}


.achievements .modal_button {
    line-height: 1.2;
    color: #0000ff;
    border-bottom: 1px solid #0000ff;
    transition: all 0.3s ease;
}

.achievements .modal_button:hover {
    opacity: 0.6;
}

.achievements .btn_area {
    text-align: center;
}

.achievements .link {
    margin: 40px auto 0;
}

body.modal_open {
    overflow: hidden !important;
}

.achievements .modal_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.achievements .modal_overlay.show {
    display: flex;
}

.achievements .modal_content {
    position: relative;
    display: inline-block;
}

.achievements .main_image {
    max-width: 40vw;
    height: auto;
    border-radius: 8px;
}

.achievements .close_btn {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    z-index: 1001;
}

.achievements button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.achievements .thumbnail {
    width: 150px;
    height: auto;
    border: 1px solid #ccc;
    border-radius: 4px;
}

@media screen and (max-width: 1023px) {
    .achievements .service_title_h2 {
        font-size: 36px;
    }
}

@media screen and (max-width: 768px) {
    .achievements .service_title_h2 {
        font-size: 24px;
    }

    .achievements .title_area .text {
        font-size: 14px;
    }

    .achievements .details_inner {
        margin-bottom: 40px;
    }

    .achievements .accordion {
        margin-bottom: 18px;
    }

    .achievements .trigger {
        padding-left: 30px;
    }

    .achievements .region {
        padding: 10px 30px 20px;
    }

    .achievements .other .region,
    .achievements .cat .region {
        padding-top: 30px;
    }

    .achievements .sub_title {
        margin-bottom: 1dvh;
    }

    .achievements .item_list {
        grid-template-columns: 1fr;
        padding: 0 10px;
        row-gap: 10px;
        margin-bottom: 20px;
    }

    .achievements .item_list .item {
        border-top: 1px dotted var(--takeda-black);
        padding-top: 5px;
    }

    .achievements .item_list .item:nth-child(1) {
        border-top: none;
        padding-top: 0;
    }

    .achievements .item_list .flex {
        flex-direction: row;
        gap: 10%;
    }

    .achievements .main_image {
        max-width: 70vw;
    }

    .achievements .btn_area {
        padding: 0 20px;
    }
}

@media screen and (max-width: 430px) {
    .achievements .service_title_h2 {
        font-size: 18px;
    }
}

/* achievements */

.users-voices .title_en {
    color: var(--white);
    -webkit-text-stroke: 1px var(--takeda-black);
    font-size: 225px;
}

.users-voices .sab_text {
    margin-bottom: 40px;
}

.users-voices .voices_area {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    grid-auto-rows: 1fr;
    gap: 40px 25px;
}

.users-voices .item {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
    background-color: var(--white);
    box-shadow: 0 0 2.9px rgba(0, 0, 0, 0.25);
    border-radius: 20px 0 0 0;
    padding: 73px 20px 45px;
}

.users-voices h3 {
    font-size: 25px;
    line-height: 2;
    margin-bottom: 20px;
}

.users-voices .company_area {
    background-color: var(--greige);
    padding: 22px 19px;
    margin-bottom: 15px;
}

.users-voices .item .text {
    line-height: 2;
}

.users-voices .logo_area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3px;
}

.users-voices .logo {
    max-width: 168px;
    width: 100%;
    max-height: 47px;
    height: 100%;
}

.users-voices .img {
    max-width: 119px;
    width: 100%;
}

@media screen and (max-width: 1023px) {
    .users-voices .title_en {
        font-size: 160px;
    }
}

@media screen and (max-width: 768px) {
    .users-voices .title_en {
        font-size: 94px;
    }

    .users-voices .voices_area {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }

    .users-voices h3 {
        font-size: 20px;
    }

    .users-voices .img {
        max-width: 80px;
    }
}

@media screen and (max-width:430px) {
    .users-voices .title_en {
        font-size: 72px;
    }
}

/* users-voices */


.special-faq {
    background-color: var(--greige);
    margin-bottom: 0;
}

.special-faq .title_area {
    text-align: left;
}

.special-faq .title_en {
    font-family: alternate-gothic-atf, sans-serif;
    font-size: 265px;
    font-weight: bold;
    line-height: 0.9;
    margin: 0;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
    color: var(--white);
}

.special-faq .accordion_area {
    padding: 47px 60px;
    background-color: var(--white);
}

.special-faq .link {
    margin: 40px auto 0px;
}


@media screen and (max-width: 1023px) {
    .special-faq .title_en {
        font-size: 180px;
    }
　　.link {
        font-size: 14px;
        max-width: 300px;
    }
}

@media screen and (max-width: 768px) {
    .special-faq .title_en {
        font-size: 94px;
    }
	
.special-faq .accordion_area {
    padding: 35px 20px;
}
}

@media screen and (max-width:430px) {
    .special-faq .title_en {
        font-size: 72px;
    }
}

/* faq */


.partner {
    background-image: url('./images/construction-machinery/partner_bg.jpg');
    background-color: rgba(0, 0, 0, 0.5);
    background-blend-mode: darken;
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
    color: var(--white);
}

.partner .img {
    max-width: 125px;
    width: 100%;
    margin: 0 auto;
}

.partner .service_title_h2 {
    font-size: 48px;
    padding-top: 31px;
    letter-spacing: 0.03em;
    text-align: center;
}

.partner .service_title_h2::before {
    opacity: 0;
}

.partner .title_text {
    text-align: center;
    line-height: 2;
}

.partner .accordion_area {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-bottom: 60px;
    align-items: start;
}

.partner .accordion {
    background-color: var(--greige);
    color: var(--takeda-black);
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.partner .accordion dt {
    font-size: 23px;
    position: relative;
    text-align: center;
    letter-spacing: -.03em;
    padding: 0px 50px 0px 0px;
    cursor: pointer;
    font-weight: bold;
    background-image: none;
}

.partner .accordion dt::after {
    content: "";
    width: 35px;
    height: 30px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    mask: url('./common/images/arrow_black_under.svg') no-repeat center/cover;
    -webkit-mask: url('./common/images/arrow_black_under.svg') no-repeat center/cover;
    background-color: var(--takeda-black);
}

.partner .region {
    margin-top: 30px;
    background-color: var(--white);
    font-size: 16px;
    line-height: calc(27/16);
    padding: 35px 25px 60px;
    display: none;
}

.partner .trigger.active+dd .region {
    display: block;
}

.partner .text:nth-child(2) {
    margin-top: 25px;
}

.partner .accordion .text {
    position: relative;
    padding-left: 15px;
    line-height: 2;
}

.partner .accordion .text::before {
    content: "・";
    font-size: 15px;
    font-weight: bold;
    color: var(--takeda-black);
    position: absolute;
    top: 2px;
    left: 0;
}

.partner .link {
    background-color: var(--white);
    color: var(--takeda-black);
    border-radius: 50px;
    border: 1px solid var(--takeda-black);
    transition: all 0.3s ease;
}

.partner .link:hover {
    background-color: var(--takeda-black);
    color: var(--white);
    border: 1px solid var(--takeda-black);
}

.partner .btn_area {
    max-width: 641px;
    width: 100%;
    margin: 0 auto;
}

.partner .btn_area .text {
    text-align: center;
    font-size: 25px;
    line-height: calc(33/25);
    font-weight: bold;
    position: relative;
}

.partner .btn_area .text::before,
.partner .btn_area .text::after {
    content: "";
    width: 45px;
    height: 2px;
    background-color: var(--white);
    position: absolute;
    top: 50%;
}

.partner .btn_area .text::before {
    left: 0;
    transform: translateY(-50%) rotate(65deg);
}

.partner .btn_area .text::after {
    right: 0;
    transform: translateY(-50%) rotate(-65deg);
}

.partner .link {
    margin: 40px auto 0;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1023px) {
    .partner .service_title_h2 {
        font-size: 36px;
    }

    .partner .accordion {
        padding: 30px 20px;
    }

    .partner .accordion dt {
        font-size: 16px;
    }

    .partner .accordion dt::after {
        right: 10px;
    }

    .partner .accordion .text {
        font-size: 14px;
    }
}

@media screen and (max-width: 768px) {
    .partner .service_title_h2 {
        font-size: 24px;
    }

    .partner .title_text {
        font-size: 14px;
        text-align: left;
    }

    .partner .accordion {
        padding: 20px 10px;
    }

    .partner .accordion dt {
        font-size: 18px;
        padding: 0 30px 0 0;
    }

    .partner .accordion dt::after {
        right: 5px;
    }

    .partner .accordion_area {
        grid-template-columns: 1fr;
    }

    .partner .region {
        padding: 20px 15px 30px;
    }

    .partner .btn_area {
        max-width: 520px;
    }

    .partner .btn_area .text {
        font-size: 14px;
    }

    .partner .btn_area .text::before,
    .partner .btn_area .text::after {
        width: 30px;
    }

    .partner .btn_area .text::before {
        left: -20px;
    }

    .partner .btn_area .text::after {
        right: -20px;
    }
}

@media screen and (max-width: 430px) {
    .partner .service_title_h2 {
        font-size: 18px;
    }

    .partner .accordion dt {
        font-size: 15.5px;
    }
}

/* partner */


.flow {
    padding-top: 0;
}

.flow .title_area {
    text-align: left;
}

.flow .title_en {
    color: var(--white);
    -webkit-text-stroke: 1px var(--takeda-black);
}

.flow .attention {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto 80px;
    padding: 28px 10px 43px;
    background-color: var(--greige);
    text-align: center;
}

.flow .img {
    width: 57px;
    margin: 0 auto;
    margin-bottom: 30px;
}

.flow ._red {
    display: inline-block;
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 35px;
}

.flow .attention .link {
    margin: 40px auto 0;
}

.flow .tab_area {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto 70px;
}

.flow .tab_list {
    display: flex;
    gap: 22px;
    color: var(--white);
    transition: all 0.3s ease;
    margin-bottom: 72px;
}

.flow .js-tabBtn {
    flex: 1;
    text-align: center;
    padding: 15px 0;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid var(--takeda-black);
    background-color: var(--takeda-black);
}

.flow .js-tabBtn:hover {
    border: 1px solid var(--takeda-black);
    background-color: var(--white);
    color: var(--takeda-black);
}

.flow .js-tabBtn.is-active {
    background-color: var(--white);
    color: var(--takeda-black);
    pointer-events: none;
    position: relative;
}

.flow .js-tabBtn.is-active::before {
    content: "";
    position: absolute;
    bottom: -39px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 25px solid var(--white);
    z-index: 1;
}

.flow .js-tabBtn.is-active::after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 25px solid var(--takeda-black);
    z-index: 0;
}

.flow .js-tabPanel[aria-hidden="true"] {
    display: none;
}

.flow .tab_area h3 {
    font-size: 25px !important;
    margin-top: 35px;
    margin-bottom: 30px !important;
}

.flow .flow_list {
    margin-bottom: 65px;
}

.flow .img_area {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(85px, 1fr));
    grid-auto-rows: 1fr;
    gap: 73px;
    margin-bottom: 44px;
    align-items: flex-start;
}

.flow .img_area li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    justify-content: space-between;
    height: 100%;
}

.flow .img_area img {
    max-width: 156px;
    width: 100%;
}

.flow .c-flow li+li {
    margin: 0;
}

.flow .c-flow li .c-flow__content p {
    line-height: 2;
}

.flow .c-flow::before {
    height: calc(100% - 100px);
}

.flow .c-flow__content .text {
    margin-bottom: 20px;
}

.flow .link {
    margin-left: 0;
}

.flow .b_tab2 .link {
    max-width: 405px;
    width: 100%;
    background-color: var(--white);
    color: var(--takeda-black);
    border: 1px solid var(--takeda-black);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 10px 0;
    font-weight: bold;
    transition: all 0.3s ease;
}

.flow .b_tab2 .link:hover {
    background-color: var(--takeda-black);
    color: var(--white);
    border: 1px solid var(--takeda-black);
}

.flow .b_tab2 .line_icon {
    width: 65px;
}

@media screen and (max-width: 768px) {
    .flow .img {
        width: 35px;
    }

    .flow ._red {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .flow .attention .link {
        max-width: 80%;
    }

    .flow .tab_list {
        gap: 10px;
    }

    .flow .js-tabBtn {
        padding: 10px 0;
        font-size: 14px;
    }

    .flow .tab_area h3 {
        font-size: 20px !important;
        margin-top: 20px;
    }

    .flow .img_area {
        gap: 30px;
    }

    .flow .b_tab2 .link {
        line-height: 1.3;
    }

    .flow .b_tab2 .line_icon {
        width: 50px;
    }

    .c-flow li:last-child .c-flow__number::after{
        display: none;
    }
}

@media screen and (max-width: 430px) {
    .flow ._red {
        font-size: 18px;
    }

    .flow .attention .text {
        font-size: 12px;
    }
}

/* flow */


/* 文字色を青に */
.blue{
    color: #0000ff;
}