
/* Style for PCs */
@media screen and (min-width: 1025px) {

/* TopSection
----------------------------------------------------------------*/
.topsection {
  width:100%;
  height: 100%;
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
  background-color: #333;
}
#slidemm, #slidemm div, #slidemm div img {
  width:100%;
  height: auto;
  display: block;
}
#slidemm_m {display: none;}
.tscov {
  width:100%;
  height: auto;
  display: block;
  aspect-ratio: 3 / 2;
  background-image: url(../img/index/border01_up.png);
  background-repeat: no-repeat;
  background-position: 0 100.1%;
  background-size: 100% auto;
  position: absolute;
  bottom: 0;
  left:0;
  z-index:1001;
}
.tscc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  aspect-ratio: 3 / 2;
  position: absolute;
  top:0;
  left:0;
  z-index: 1002;
  padding:0 0 0 5%;
}
.tscc h2 {
  font-size:20px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-white);
  margin:0 0 0 0.2em;
  order:3;
}
.tscc h3 {
  font-size:28px;
  font-weight: 700;
  line-height: 1.25em;
  font-family: var(--font-en);
  color:var(--color-white);
  letter-spacing: -0.05em;
  margin:0 0 0.5em 0.2em;
  order:2;
}
.tscc p {
  font-size:100px;
  font-weight: 700;
  line-height: 1.25em;
  font-family: var(--font-en);
  color:var(--color-white);
  letter-spacing: -0.08em;
  margin:0 0 0 0;
  order:1;
}


/* SectionTitle
----------------------------------------------------------------*/
.sectitle {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 50px;
  padding-top:55px;
  margin-bottom: 40px;
}
.sectitle h2 {
font-size:12px;
font-weight: 500;
color:var(--color-666);
text-align: center;
line-height: 1.25em;
margin:0 0 0 0;
order:2;
}
.sectitle p {
font-size:26px;
font-family: var(--font-en);
font-weight: 700;
text-align: center;
color:var(--color-black);
line-height: 1.25em;
margin:0 0 0.15em 0;
order:1;
}

/* News
----------------------------------------------------------------*/
.nwbody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 5%;
}
.nwbody dl.newslist {
  margin-bottom:40px;
}

/* Service
----------------------------------------------------------------*/
.servicebody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 0 0;
  background-color:var(--color-bluegrey);
  background-image: url(../img/index/service_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}
.servicebody .catchtext01 {
  font-size:26px;
  font-weight: 300;
  line-height:1.25em;
  text-align: center;
  margin:0 0 0.5em 0;
}
.servicebody .catchtext02 {
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  text-align: center;
  margin:0 0 2.5em 0;
}

ul.servicelist {
  width:100%;
  max-width: 1920px;
  height:auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin:0 auto;
}
ul.servicelist li {
  width:50%;
  height: auto;
  display: block;
  margin:0 0 50px 0;
}
ul.servicelist li .sl_img {
  width:100%;
  height: auto;
  display: block;
}
ul.servicelist li:nth-child(odd) .sl_img img {
  width:100%;
  height: auto;
  display: block;
  clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
}
ul.servicelist li:nth-child(even) .sl_img img {
  width:100%;
  height: auto;
  display: block;
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 20% 100%, 0 50%);
}
ul.servicelist li:nth-child(odd) .sl_cc {
  width:100%;
  height: auto;
  display: block;
  padding:25px 20% 0 10%;
}
ul.servicelist li:nth-child(even) .sl_cc {
  width:100%;
  height: auto;
  display: block;
  padding:25px 10% 0 20%;
}
ul.servicelist li .sl_cc h4 {
  font-size:24px;
  font-weight: 700;
  line-height: 1.25em;
  color:var(--color-1st);
  margin-bottom: 0.3em;
}
ul.servicelist li .sl_cc p {
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  margin:0 0 0 0;
}


/* Our Work
----------------------------------------------------------------*/
.workbody {
  width:100%;
  height: auto;
  display: block;
  background-color: var(--color-1st);
  background-image: url(../img/index/work_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 150% auto;
}
.workbody .sectitle h2 {
  color:var(--color-white);
}
.workbody .sectitle p {
  color:var(--color-white);
}
.workbody p.wkcatchtxt {
  width:100%;
  max-width:1280px;
  height: auto;
  display: block;
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  text-align: center;
  color:var(--color-white);
  padding:0 5%;
  margin:0 auto 2.5em auto;
}
.wklistbody {
  width:100%;
  height: auto;
  display: block;
  padding:0 0 50px 0;
}
.wklist {
  width:100%;
  height: auto;
  display: block;
  margin-bottom: 50px;
}


/* Our Machines
----------------------------------------------------------------*/
.machinebody {
  width:100%;
  height: auto;
  display: block;
  padding:100px 0;
}
.mach_mm {
  width:100%;
  max-width:1920px;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin:0 auto 30px;
}
.mach_mm .machine_img {
  width:55%;
  height: auto;
  display: block;
}
.mach_mm .machine_img img {
clip-path: polygon(0 8%, 35% 0, 100% 15%, 100% 85%, 35% 100%, 0 92%);
}
.mach_mm .machine_cc {
  width:40%;
  height: auto;
  display: block;
  padding:0 5% 0 0;
}
.mach_mm .machine_cc p.mach_com {
font-size:14px;
line-height: 2em;
margin:0;
}

.machine_imglist {
  width:100%;
  max-width:1600px;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin:0 auto;
}
.machine_imglist li {
  width: 29.33%;
  margin:0 2%;
}
/*.machine_imglist li:nth-child(1), .machine_imglist li:nth-child(3) {
  margin-top:5%;
}*/
.machine_imglist li:nth-of-type(3n+1),
.machine_imglist li:nth-of-type(3n+3) {
  margin-top:5%;
}
.machine_imglist li img {
  clip-path: polygon(0 15%, 50% 0, 100% 15%, 100% 85%, 50% 100%, 0 85%);
}

ul.machine_list {
  display: flex;
  flex-wrap: wrap;
  width:100%;
  max-width:1600px;
  height: auto;
  padding: 20px 3%;
  margin: 0 auto;
}

ul.machine_list li {
  width: 29.33%;
  margin: 20px 2%;
}

.machine_img {
  margin: 0 auto 10px;
}

ul.machine_list li dl {
  display: flex;
  flex-wrap: wrap;
  width:100%;
  height: auto;
}

ul.machine_list li dl dt {
  display: block;
  width: 80px;
  height: auto;
  padding: 10px 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-1st);
  line-height: 1.5em;
  text-align: center;
  background-color: #f1fbff;
  border-bottom: 1px dotted var(--color-ccc);
}

ul.machine_list li dl dd {
  display: block;
  width: calc( 100% - 80px );
  height: auto;
  padding: 10px 10px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5em;
  border-bottom: 1px dotted var(--color-ccc);
}


/* FAQ
----------------------------------------------------------------*/
.faqbody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 0 0;
  background-color: var(--color-bluegrey);
  background-image: url(../img/index/faq_bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
.faqlist {
  width:100%;
  max-width:1600px;
  height: auto;
  display: block;
  margin:0 auto 30px;
  padding:0 5%;
}
.faqlist dl {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  background-color: var(--color-white);
  padding:4% 5%;
  border-radius: 10px;
  margin-bottom: 10px;
}
.faqlist dl dt {
  width:100%;
  height: auto;
  min-height: 40px;
  display: block;
  font-size:18px;
  font-weight: 600;
  line-height:1.5em;
  padding:0.25em 0 0 50px;
  background-image: url(../img/header/ic_qa_q.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 40px 40px;
  margin-bottom: 5px;
}
.faqlist dl dd {
  width:100%;
  height: auto;
  min-height: 40px;
  display: block;
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  padding:0.25em 0 0 50px;
  background-image: url(../img/header/ic_qa_a.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 40px 40px;
  margin:0;
}


/* Company
----------------------------------------------------------------*/
#company {
  background-color: var(--color-white);
  background-image: url(../img/index/company_bottomimg.jpg);
  background-repeat: no-repeat;
  background-position: 0 bottom;
  background-size: 100% auto;
}
.companybody {
  width:100%;
  max-width:1600px;
  height: auto;
  display: block;
  padding:50px 5% 25%;
  margin:0 auto 0;
}
.company_data {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
}
.cpd01 {
  width:46%;
}
.cpd02 {
  width:46%;
}
.company_data dl {
  width:100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
}
.company_data dl dt {
  width:30%;
  height: auto;
  display: block;
  padding:20px 10px;
  font-size:14px;
  font-weight: 600;
  color:var(--color-1st);
  line-height: 1.5em;
  border-bottom: 1px dotted var(--color-ccc);
}
.company_data dl dd {
  width:70%;
  height: auto;
  display: block;
  padding:20px 10px;
  font-size:14px;
  font-weight: 400;
  line-height: 1.5em;
  border-bottom: 1px dotted var(--color-ccc);
}


/* Access
----------------------------------------------------------------*/
.accessbody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 0 20%;
  background-image: url(../img/index/access_bottomimg.jpg);
  background-repeat: no-repeat;
  background-position: 0 bottom;
  background-size: 100% auto;
  background-color: var(--color-1st);
}
.accessbody .sectitle h2 {
  color:var(--color-white);
}
.accessbody .sectitle p {
  color:var(--color-white);
}

.accesslist {
  width:100%;
  max-width:1600px;
  height: auto;
  display: flex;
  justify-content: space-between;
  padding:0 5%;
  margin:0 auto;
}
.acl01 {
  width:49%;
  height: auto;
  display: block;
  background-color: var(--color-white);
  box-shadow:0px 5px 10px rgba(0,0,0,0.4)
}
.acl02 {
  width:49%;
  height: auto;
  display: block;
  background-color: var(--color-white);
  box-shadow:0px 5px 10px rgba(0,0,0,0.4)
}
.accesslist .mapmm iframe {
  width:100%;
  height: 400px;
  display: block;
}
.accesslist .acc_info {
  width:100%;
  height: auto;
  display: block;
  padding:5% 6%;
}
.accesslist .acc_info h3 {
  font-size:16px;
  font-weight: 400;
  line-height:30px;
  margin-bottom: 5px;
}
.accesslist .acc_info h3  span {
  font-size:24px;
  font-weight: 600;
  color:var(--color-1st);
  margin-left:0.3em;
}
.accesslist .acc_info p {
  font-size:14px;
  line-height: 1.8em;
  margin:0;
}

}


/* Style for iPad Pro */
@media screen and (min-width: 769px) and (max-width: 1024px) {

/* TopSection
----------------------------------------------------------------*/
.topsection {
  width:100%;
  height: 100%;
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
}
#slidemm, #slidemm div, #slidemm div img {
  width:100%;
  height: auto;
  display: block;
}
#slidemm_m {display: none;}
.tscov {
  width:100%;
  height: auto;
  display: block;
  aspect-ratio: 3 / 2;
  background-image: url(../img/index/border01_up.png);
  background-repeat: no-repeat;
  background-position: 0 100.1%;
  background-size: 100% auto;
  position: absolute;
  bottom: 0;
  left:0;
  z-index:1001;
}
.tscc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  aspect-ratio: 3 / 2;
  position: absolute;
  top:0;
  left:0;
  z-index: 1002;
  padding:0 0 0 5%;
}
.tscc h2 {
  font-size:18px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-white);
  margin:0 0 0 0.2em;
  order:3;
}
.tscc h3 {
  font-size:20px;
  font-weight: 700;
  line-height: 1.25em;
  font-family: var(--font-en);
  color:var(--color-white);
  letter-spacing: -0.05em;
  margin:0 0 0.5em 0.2em;
  order:2;
}
.tscc p {
  font-size:70px;
  font-weight: 700;
  line-height: 1.25em;
  font-family: var(--font-en);
  color:var(--color-white);
  letter-spacing: -0.08em;
  margin:0 0 0 0;
  order:1;
}


/* SectionTitle
----------------------------------------------------------------*/
.sectitle {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 50px;
  padding-top:55px;
  margin-bottom: 40px;
}
.sectitle h2 {
font-size:12px;
font-weight: 500;
color:var(--color-666);
text-align: center;
line-height: 1.25em;
margin:0 0 0 0;
order:2;
}
.sectitle p {
font-size:24px;
font-family: var(--font-en);
font-weight: 700;
text-align: center;
color:var(--color-black);
line-height: 1.25em;
margin:0 0 0.15em 0;
order:1;
}

/* News
----------------------------------------------------------------*/
.nwbody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 5%;
}
.nwbody dl.newslist {
  margin-bottom:40px;
}

/* Service
----------------------------------------------------------------*/
.servicebody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 0 0;
  background-color:var(--color-bluegrey);
  background-image: url(../img/index/service_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}
.servicebody .catchtext01 {
  width:100%;
  height: auto;
  display: block;
  font-size:26px;
  font-weight: 300;
  line-height:1.5em;
  text-align: center;
  padding:0 5%;
  margin:0 0 0.5em 0;
}
.servicebody .catchtext02 {
  width:100%;
  height: auto;
  display: block;
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  text-align: center;
  padding:0 5%;
  margin:0 0 2.5em 0;
}

ul.servicelist {
  width:100%;
  max-width: 1920px;
  height:auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin:0 auto;
}
ul.servicelist li {
  width:50%;
  height: auto;
  display: block;
  margin:0 0 50px 0;
}
ul.servicelist li .sl_img {
  width:100%;
  height: auto;
  display: block;
}
ul.servicelist li:nth-child(odd) .sl_img img {
  width:100%;
  height: auto;
  display: block;
  clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
}
ul.servicelist li:nth-child(even) .sl_img img {
  width:100%;
  height: auto;
  display: block;
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 20% 100%, 0 50%);
}
ul.servicelist li:nth-child(odd) .sl_cc {
  width:100%;
  height: auto;
  display: block;
  padding:25px 20% 0 10%;
}
ul.servicelist li:nth-child(even) .sl_cc {
  width:100%;
  height: auto;
  display: block;
  padding:25px 10% 0 20%;
}
ul.servicelist li .sl_cc h4 {
  font-size:24px;
  font-weight: 700;
  line-height: 1.25em;
  color:var(--color-1st);
  margin-bottom: 0.3em;
}
ul.servicelist li .sl_cc p {
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  margin:0 0 0 0;
}


/* Our Work
----------------------------------------------------------------*/
.workbody {
  width:100%;
  height: auto;
  display: block;
  background-color: var(--color-1st);
  background-image: url(../img/index/work_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 150% auto;
}
.workbody .sectitle h2 {
  color:var(--color-white);
}
.workbody .sectitle p {
  color:var(--color-white);
}
.workbody p.wkcatchtxt {
  width:100%;
  max-width:1280px;
  height: auto;
  display: block;
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  text-align: center;
  color:var(--color-white);
  padding:0 5%;
  margin:0 auto 2.5em auto;
}
.wklistbody {
  width:100%;
  height: auto;
  display: block;
  padding:0 0 50px 0;
}
.wklist {
  width:100%;
  height: auto;
  display: block;
  margin-bottom: 50px;
}


/* Our Machines
----------------------------------------------------------------*/
.machinebody {
  width:100%;
  height: auto;
  display: block;
  padding:100px 0;
}
.mach_mm {
  width:100%;
  max-width:1920px;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin:0 auto 30px;
}
.mach_mm .machine_img {
  width:55%;
  height: auto;
  display: block;
}
.mach_mm .machine_img img {
clip-path: polygon(0 8%, 35% 0, 100% 15%, 100% 85%, 35% 100%, 0 92%);
}
.mach_mm .machine_cc {
  width:40%;
  height: auto;
  display: block;
  padding:0 5% 0 0;
}
.mach_mm .machine_cc p.mach_com {
font-size:14px;
line-height: 2em;
margin:0;
}

.machine_imglist {
  width:100%;
  max-width:1600px;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin:0 auto;
}
.machine_imglist li {
  width: 29.33%;
  margin:0 2%;
}
/*.machine_imglist li:nth-child(1), .machine_imglist li:nth-child(3) {
  margin-top:5%;
}*/
.machine_imglist li:nth-of-type(3n+1),
.machine_imglist li:nth-of-type(3n+3) {
  margin-top:5%;
}
.machine_imglist li img {
  clip-path: polygon(0 15%, 50% 0, 100% 15%, 100% 85%, 50% 100%, 0 85%);
}

ul.machine_list {
  display: flex;
  flex-wrap: wrap;
  width:100%;
  max-width:1600px;
  height: auto;
  padding: 20px 3%;
  margin: 0 auto;
}

ul.machine_list li {
  width: 29.33%;
  margin: 20px 2%;
}

.machine_img {
  margin: 0 auto 10px;
}

ul.machine_list li dl {
  display: flex;
  flex-wrap: wrap;
  width:100%;
  height: auto;
}

ul.machine_list li dl dt {
  display: block;
  width: 80px;
  height: auto;
  padding: 10px 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-1st);
  line-height: 1.5em;
  text-align: center;
  background-color: #f1fbff;
  border-bottom: 1px dotted var(--color-ccc);
}

ul.machine_list li dl dd {
  display: block;
  width: calc( 100% - 80px );
  height: auto;
  padding: 10px 10px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5em;
  border-bottom: 1px dotted var(--color-ccc);
}


/* FAQ
----------------------------------------------------------------*/
.faqbody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 0 0;
  background-color: var(--color-bluegrey);
  background-image: url(../img/index/faq_bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
}
.faqlist {
  width:100%;
  max-width:1600px;
  height: auto;
  display: block;
  margin:0 auto 30px;
  padding:0 5%;
}
.faqlist dl {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  background-color: var(--color-white);
  padding:4% 5%;
  border-radius: 10px;
  margin-bottom: 10px;
}
.faqlist dl dt {
  width:100%;
  height: auto;
  min-height: 40px;
  display: block;
  font-size:18px;
  font-weight: 600;
  line-height:1.5em;
  padding:0.25em 0 0 50px;
  background-image: url(../img/header/ic_qa_q.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 40px 40px;
  margin-bottom: 5px;
}
.faqlist dl dd {
  width:100%;
  height: auto;
  min-height: 40px;
  display: block;
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  padding:0.25em 0 0 50px;
  background-image: url(../img/header/ic_qa_a.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 40px 40px;
  margin:0;
}


/* Company
----------------------------------------------------------------*/
#company {
  background-color: var(--color-white);
  background-image: url(../img/index/company_bottomimg.jpg);
  background-repeat: no-repeat;
  background-position: 0 bottom;
  background-size: 100% auto;
}
.companybody {
  width:100%;
  max-width:1600px;
  height: auto;
  display: block;
  padding:50px 5% 25%;
  margin:0 auto 0;
}
.company_data {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.cpd01 {
  width:100%;
}
.cpd02 {
  width:100%;
}
.company_data dl {
  width:100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
}
.company_data dl dt {
  width:30%;
  height: auto;
  display: block;
  padding:20px 10px;
  font-size:14px;
  font-weight: 600;
  color:var(--color-1st);
  line-height: 1.5em;
  border-bottom: 1px dotted var(--color-ccc);
}
.company_data dl dd {
  width:70%;
  height: auto;
  display: block;
  padding:20px 10px;
  font-size:14px;
  font-weight: 400;
  line-height: 1.5em;
  border-bottom: 1px dotted var(--color-ccc);
}


/* Access
----------------------------------------------------------------*/
.accessbody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 0 20%;
  background-image: url(../img/index/access_bottomimg.jpg);
  background-repeat: no-repeat;
  background-position: 0 bottom;
  background-size: 100% auto;
  background-color: var(--color-1st);
}
.accessbody .sectitle h2 {
  color:var(--color-white);
}
.accessbody .sectitle p {
  color:var(--color-white);
}

.accesslist {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:0 5%;
  margin:0 auto;
}
.acl01 {
  width:100%;
  height: auto;
  display: block;
  background-color: var(--color-white);
  box-shadow:0px 5px 10px rgba(0,0,0,0.4);
  margin-bottom:30px;
}
.acl02 {
  width:100%;
  height: auto;
  display: block;
  background-color: var(--color-white);
  box-shadow:0px 5px 10px rgba(0,0,0,0.4)
}
.accesslist .mapmm iframe {
  width:100%;
  height: 400px;
  display: block;
}
.accesslist .acc_info {
  width:100%;
  height: auto;
  display: block;
  padding:5% 6%;
}
.accesslist .acc_info h3 {
  font-size:16px;
  font-weight: 400;
  line-height:30px;
  margin-bottom: 5px;
}
.accesslist .acc_info h3  span {
  font-size:24px;
  font-weight: 600;
  color:var(--color-1st);
  margin-left:0.3em;
}
.accesslist .acc_info p {
  font-size:14px;
  line-height: 1.8em;
  margin:0;
}
.accesslist .acc_info p br {
  display: none;
}

}

/* Style for Smartphone */
@media screen and (max-width: 768px) {

/* TopSection
----------------------------------------------------------------*/
.topsection {
  width:100%;
  height: 100%;
  display: block;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  position: relative;
}
#slidemm_m, #slidemm_m div, #slidemm_m div img {
  width:100%;
  height: auto;
  display: block;
}
#slidemm {display: none;}

.tscov {
  width:100%;
  height: auto;
  display: block;
  aspect-ratio: 9 / 16;
  background-image: url(../img/index/border01_up.png);
  background-repeat: no-repeat;
  background-position: 0 100.1%;
  background-size: 100% auto;
  position: absolute;
  bottom: 0;
  left:0;
  z-index:1001;
}
.tscc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  aspect-ratio: 9 / 16;
  position: absolute;
  top:0;
  left:0;
  z-index: 1002;
  padding:0 0 0 5%;
}
.tscc h2 {
  font-size:16px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-white);
  margin:0 0 0 0.2em;
  order:3;
}
.tscc h3 {
  font-size:20px;
  font-weight: 700;
  line-height: 1.25em;
  font-family: var(--font-en);
  color:var(--color-white);
  letter-spacing: -0.05em;
  margin:0 0 0.5em 0.2em;
  order:2;
}
.tscc p {
  font-size:60px;
  font-weight: 700;
  line-height: 1.25em;
  font-family: var(--font-en);
  color:var(--color-white);
  letter-spacing: -0.08em;
  margin:0 0 0 0;
  order:1;
}


/* SectionTitle
----------------------------------------------------------------*/
.sectitle {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 50px;
  padding-top:55px;
  margin-bottom: 40px;
}
.sectitle h2 {
font-size:12px;
font-weight: 500;
color:var(--color-666);
text-align: center;
line-height: 1.25em;
margin:0 0 0 0;
order:2;
}
.sectitle p {
font-size:24px;
font-family: var(--font-en);
font-weight: 700;
text-align: center;
color:var(--color-black);
line-height: 1.25em;
margin:0 0 0.15em 0;
order:1;
}

/* News
----------------------------------------------------------------*/
.nwbody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 5%;
}
.nwbody dl.newslist {
  margin-bottom:40px;
}

/* Service
----------------------------------------------------------------*/
.servicebody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 0 0;
  background-color:var(--color-bluegrey);
  background-image: url(../img/index/service_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}
.servicebody .catchtext01 {
  width:100%;
  height: auto;
  display: block;
  font-size:22px;
  font-weight: 300;
  line-height:1.5em;
  text-align: left;
  letter-spacing: -0em;
  padding:0 5%;
  margin:0 0 0.5em 0;
}
.servicebody .catchtext02 {
  width:100%;
  height: auto;
  display: block;
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  text-align: left;
  padding:0 5%;
  margin:0 0 2.5em 0;
}

ul.servicelist {
  width:100%;
  height:auto;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin:0 auto;
}
ul.servicelist li:nth-child(odd) {
  width:90%;
  height: auto;
  display: block;
  margin:0 0 50px 0;
}
ul.servicelist li:nth-child(even) {
  width:90%;
  height: auto;
  display: block;
  margin:0 0 50px auto;
}
ul.servicelist li .sl_img {
  width:100%;
  height: auto;
  display: block;
}
ul.servicelist li:nth-child(odd) .sl_img img {
  width:100%;
  height: auto;
  display: block;
  clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
}
ul.servicelist li:nth-child(even) .sl_img img {
  width:100%;
  height: auto;
  display: block;
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 20% 100%, 0 50%);
}
ul.servicelist li:nth-child(odd) .sl_cc {
  width:100%;
  height: auto;
  display: block;
  padding:25px 20% 0 10%;
}
ul.servicelist li:nth-child(even) .sl_cc {
  width:100%;
  height: auto;
  display: block;
  padding:25px 10% 0 20%;
}
ul.servicelist li .sl_cc h4 {
  font-size:24px;
  font-weight: 700;
  line-height: 1.25em;
  color:var(--color-1st);
  margin-bottom: 0.3em;
}
ul.servicelist li .sl_cc p {
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  margin:0 0 0 0;
}


/* Our Work
----------------------------------------------------------------*/
.workbody {
  width:100%;
  height: auto;
  display: block;
  background-color: var(--color-1st);
  background-image: url(../img/index/work_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 200% auto;
  padding-top:50px;
}
.workbody .sectitle h2 {
  color:var(--color-white);
}
.workbody .sectitle p {
  color:var(--color-white);
}
.workbody p.wkcatchtxt {
  width:100%;
  height: auto;
  display: block;
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  text-align: left;
  color:var(--color-white);
  padding:0 5%;
  margin:0 auto 2.5em auto;
}
.wklistbody {
  width:100%;
  height: auto;
  display: block;
  padding:0px 0 50px 0;
}
.wklist {
  width:100%;
  height: auto;
  display: block;
  margin-bottom: 50px;
}


/* Our Machines
----------------------------------------------------------------*/
.machinebody {
  width:100%;
  height: auto;
  display: block;
  padding:100px 0;
}
.mach_mm {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin:0 auto 30px;
}
.mach_mm .machine_img {
  width:90%;
  height: auto;
  display: block;
  margin-bottom:40px;
}
.mach_mm .machine_img img {
clip-path: polygon(0 8%, 35% 0, 100% 15%, 100% 85%, 35% 100%, 0 92%);
}
.mach_mm .machine_cc {
  width:100%;
  height: auto;
  display: block;
  padding:0 5% 0 5%;
}
.mach_mm .machine_cc p.mach_com {
font-size:14px;
font-weight: 400;
line-height: 2em;
margin:0;
}

.machine_imglist {
  width:80%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin:0 auto;
}
.machine_imglist li {
  width:80%;
  margin:0 0 20px;
}
/*.machine_imglist li:nth-child(1), .machine_imglist li:nth-child(3) {
  margin-left:20%;
}*/
.machine_imglist li:nth-of-type(2n+1) {
  margin-left:20%;
}
.machine_imglist li img {
  clip-path: polygon(0 15%, 50% 0, 100% 15%, 100% 85%, 50% 100%, 0 85%);
}

ul.machine_list {
  display: flex;
  flex-wrap: wrap;
  width:100%;
  max-width:1600px;
  height: auto;
  padding: 20px 3%;
  margin: 0 auto;
}

ul.machine_list li {
  width: 96%;
  margin: 20px 2%;
}
@media screen and (min-width: 481px) {
  ul.machine_list li {
    width: 46%;
    margin: 20px 2%;
  }
}

.machine_img {
  margin: 0 auto 10px;
}

ul.machine_list li dl {
  display: flex;
  flex-wrap: wrap;
  width:100%;
  height: auto;
}

ul.machine_list li dl dt {
  display: block;
  width: 80px;
  height: auto;
  padding: 10px 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-1st);
  line-height: 1.5em;
  text-align: center;
  background-color: #f1fbff;
  border-bottom: 1px dotted var(--color-ccc);
}

ul.machine_list li dl dd {
  display: block;
  width: calc( 100% - 80px );
  height: auto;
  padding: 10px 10px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5em;
  border-bottom: 1px dotted var(--color-ccc);
}


/* FAQ
----------------------------------------------------------------*/
.faqbody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 0 0;
  background-color: var(--color-bluegrey);
  background-image: url(../img/index/faq_bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
}
.faqlist {
  width:100%;
  max-width:1600px;
  height: auto;
  display: block;
  margin:0 auto 30px;
  padding:0 5%;
}
.faqlist dl {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:0 0 35px 0;
  border-bottom: 1px dotted var(--color-999);
  margin-bottom: 35px;
}
.faqlist dl dt {
  width:100%;
  height: auto;
  min-height: 40px;
  display: block;
  font-size:16px;
  font-weight: 600;
  line-height:1.5em;
  padding:0.25em 0 0 50px;
  background-image: url(../img/header/ic_qa_q.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 40px 40px;
  margin-bottom: 5px;
}
.faqlist dl dd {
  width:100%;
  height: auto;
  min-height: 40px;
  display: block;
  font-size:14px;
  font-weight: 400;
  line-height:2em;
  padding:0.25em 0 0 50px;
  background-image: url(../img/header/ic_qa_a.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 40px 40px;
  margin:0;
}


/* Company
----------------------------------------------------------------*/
#company {
  background-color: var(--color-white);
  background-image: url(../img/index/company_bottomimg.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 130% auto;
}
.companybody {
  width:100%;
  max-width:1600px;
  height: auto;
  display: block;
  padding:50px 5% 25%;
  margin:0 auto 0;
}
.company_data {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.cpd01 {
  width:100%;
}
.cpd02 {
  width:100%;
}
.company_data dl {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.company_data dl dt {
  width:100%;
  height: auto;
  display: block;
  padding:0px 5px 8px;
  font-size:14px;
  font-weight: 600;
  color:var(--color-1st);
  line-height: 1.5em;
}
.company_data dl dd {
  width:100%;
  height: auto;
  display: block;
  padding:0px 5px 20px;
  font-size:14px;
  font-weight: 400;
  line-height: 1.5em;
  border-bottom: 1px dotted var(--color-ccc);
  margin-bottom: 20px;
}


/* Access
----------------------------------------------------------------*/
.accessbody {
  width:100%;
  height: auto;
  display: block;
  padding:50px 0 40%;
  background-image: url(../img/index/access_bottomimg.jpg);
  background-repeat: no-repeat;
  background-position: 0 bottom;
  background-size: 100% auto;
  background-color: var(--color-1st);
}
.accessbody .sectitle h2 {
  color:var(--color-white);
}
.accessbody .sectitle p {
  color:var(--color-white);
}

.accesslist {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:0 5%;
  margin:0 auto;
}
.acl01 {
  width:100%;
  height: auto;
  display: block;
  background-color: var(--color-white);
  box-shadow:0px 5px 10px rgba(0,0,0,0.4);
  margin-bottom:30px;
}
.acl02 {
  width:100%;
  height: auto;
  display: block;
  background-color: var(--color-white);
  box-shadow:0px 5px 10px rgba(0,0,0,0.4)
}
.accesslist .mapmm iframe {
  width:100%;
  height: 300px;
  display: block;
}
.accesslist .acc_info {
  width:100%;
  height: auto;
  display: block;
  padding:6% 6%;
}
.accesslist .acc_info h3 {
  font-size:16px;
  font-weight: 400;
  line-height:30px;
  margin-bottom: 5px;
}
.accesslist .acc_info h3  span {
  font-size:24px;
  font-weight: 600;
  color:var(--color-1st);
  margin-left:0.3em;
}
.accesslist .acc_info p {
  font-size:14px;
  line-height: 1.8em;
  margin:0;
}

}
