@charset "UTF-8";
/* common */
/* ===========================================================
 common
=========================================================== */
/* layout ------------------------------------------------- */
body.full #detail {
  max-width: 100%;
  padding-top: 0;
}

section div.contents {
  max-width: 1186px;
  margin: 0 auto;
  padding-inline: 25px;
}
@media screen and (max-width: 768px) {
  section div.contents {
    padding-inline: 0;
  }
}

section.black {
  background: #050202;
  color: #fff;
}
@media screen and (max-width: 768px) {
  section.black {
    padding: 0 3%;
  }
}

section.white {
  background: var(--color-white);
}

section.gray {
  background: var(--color-lightgray);
}

.w940 {
  max-width: 940px;
  margin: 0 auto;
}

.w744 {
  max-width: 744px;
  margin: 0 auto;
}

/*p.btnLink03 a {
  border-color: transparent;
  background-color:transparent;
  border: none;
  color: #333;
  font-family: var(--medium-family);
  font-size: 20px;
  font-weight: normal;
  margin: 20px 0 10px;
  line-height: 1.5;
  font-feature-settings: 'palt' 1, "nlck" 1;
}

p.btnLink03 a:hover {
  border-color: transparent;
  background-color:transparent;
  border: none;
  color: #333;
  font-family: var(--medium-family);
  font-size: 20px;
  font-weight: normal;
  margin: 20px 0 10px;
  line-height: 1.5;
  font-feature-settings: 'palt' 1, "nlck" 1;
}*/

body.single .topicWrap.bottom {
  padding-left: 25px;
  padding-bottom: 60px;
}
@media screen and (max-width: 768px) {
  body.single .topicWrap.bottom {
    padding-left: 0;
  }
}

@media screen and (max-width: 768px) {
  section.litegray,
  section.gray {
    padding-left: 20px;
    padding-right: 20px;
  }
  #gContents .topicWrap {
    margin: 10px 20px 10px 20px;
  }
}
/* module ------------------------------------------------- */
.colFlex .col img {
  width: 100%;
  padding-right: 5%;
}
.colFlex .col_txt_r {
  width: 100%;
  margin: 0 auto;
  padding: 0 0 0 5%;
  text-align: left;
  line-height: 1.2;
}
.colFlex .col_txt_l {
  width: 100%;
  margin: 0 auto;
  padding: 0 5% 0 0;
  text-align: left;
  line-height: 1.2;
  font-size: 1.35em;
}

.colFlex .col a:hover img {
  opacity: 0.5;
  transition: all 0.3s ease 0s;
}
.colFlex.alCenter {
  align-items: center;
  background-color: #050202;
}

.colFlex.gap40 {
  gap: 40px;
}

.anchorNavi02 a:hover img {
  opacity: 0.5;
  transition: all 0.3s ease 0s;
}

#detail section figure figcaption {
  font-size: 14px;
}

a.btn {
  margin-top: 2rem;
  padding: 14px 2em;
  display: inline-block;
  color: var(--color-black);
  background: var(--color-white);
  font-size: 16px;
  position: relative;
  z-index: 1;
}

a.btn:hover {
  opacity: 0.75;
  transition: all 0.3s ease 0s;
}

.figBox_text {
  margin-top: 2px;
  margin-bottom: 0;
}

.figBox_text p {
  line-height: 1.5;
}

.figBox_text p.-safety {
  line-height: 2;
}

.figBox.-dark .figBox_image {
  background: #eee;
}

.figBox.-dark .figBox_text {
  background: #eee;
}


.anchorNavi02 .colFlex {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.page_header_title br {
	display: none;
}

@media screen and (max-width: 768px) {
  .colFlex.gap40 {
    gap: 20px;
  }
  .colFlex.sp-reverse {
    flex-direction: column-reverse;
  }
  .colFlex.gap40.count2 > :is(div.col, div.img),
  .colFlex.count3 > :is(div.col, div.img) {
    width: 100%;
  }
  body.full.products #detail figure.sp-full {
    width: 100% !important;
  }
  body.full.products #detail {
    margin: 0;
  }
  .colFlex .col img {
  width: 100%;
  padding-right: 0;
}
.colFlex .col_txt_r {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  line-height: 1.2;
}
.colFlex .col_txt_l {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  /*text-align: left;*/
  text-align: center;
  line-height: 1.2;
}
}
/* title ------------------------------------------------- */
section h2.gen {
  font-size: 28px;
  line-height: 1.5;
  padding-top: 100px;
  padding-bottom: 40px;
  text-align: center;
}

section h2.gen2 {
  font-size: 24px;
  line-height: 1.5;
  padding-top: 80px;
  padding-bottom: 35px;
  text-align: center;
}

section h2.gen small {
  display: block;
  font-size: 16px;
  margin-bottom: 0.25em;
}

section h3 {
  font-size: 18px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  section h2.gen {
    font-size: 24px;
    padding-top: 50px;
    padding-bottom: 20px;
  }
  section h2.gen2 {
    font-size: 18px;
    padding-top: 40px;
    padding-bottom: 20px;
  }
  section h2.gen small {
    font-size: 15px;
  }
  section h3 {
    font-size: 16px;
  }
}

  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 20%;
    float: left;
    margin-top: -1%;
  }
  .timeline-content {
    width: 80%;
    float: left;
    border-left: 2px #E60022 dotted;
    padding-left: 30px;
  }
  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #E60022;
    position: absolute;
    left: 19.5%;
    /*top: 20%;*/
    border-radius: 100%;
  }
  .timeline > li p {
    margin-bottom: 5%;
  }
  section h3.timeline_txt {
    margin-top: -1.5%;
    font-size: 20px;
    text-align: left;
  }
  section h3.timeline_txt span {
    color: #E60022;
  }
  span.timeline_photo_txt {
    font-size: 15px;
    text-align: left;
    margin-left: 2%;
  }

  @media screen and (max-width: 768px) {
    .timeline {
      list-style: none;
    }
    .timeline > li {
    }
    .timeline > li p {
    }
    section h3.timeline_txt {
      margin-top: -2%;
      font-size: 18px;
      text-align: left;
    }
    .timeline-content {
      padding-left: 15px;
    }
    .timeline-content:before {
      content: '';
      width: 10px;
      height: 10px;
      background: #E60022;
      position: absolute;
      left: 19%;
      border-radius: 100%;
    }
    span.timeline_photo_txt {
      font-size: 14px;
      text-align: left;
      margin-left: 1%;
    }
}



/*セミオート、グラインダー、フルオート ページ*/
/*セミオート*/
.page_header_01 {
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	background: url(img/01/mv.png) no-repeat center center ;
	background-size: cover;
	height: 360px;
}
/*グラインダー*/
.page_header_02 {
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	background: url(img/02/mv.png) no-repeat center center ;
	background-size: cover;
	height: 360px;
}
/*フルオート*/
.page_header_03 {
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	background: url(img/03/mv.png) no-repeat center center ;
	background-size: cover;
	height: 360px;
}

span.brown {
  color: #886144 !important;
}
span.blue {
  color: #8D989C !important;
}
span.gold {
  color: #AC8A5C !important;
}
.basecolor-brown {
  background: #886144;
}
.basecolor-blue {
  background: #8D989C;
}
.basecolor-gold{
  background: #AC8A5C;
}
.gold span.small_txt {
  font-size: 0.9em;
}

/*共通*/
.page_header_title {
	font-size: 48px;
	font-weight: normal;
	line-height: 1.2;
  letter-spacing: 0.3em;
	color: #fff;
	text-shadow: 0 0 10px rgba(0,0,0,0.5);
}

.model_titile {
  /*background: #454545;*/
	font-size: 30px;
	font-weight: normal;
	line-height: 1.2;
  letter-spacing: 0.2em;
	color: #fff;
  text-align: left;
  padding:1% 2% ;
}

.map_link {
  margin: 0 auto;
  text-align: center;
}

/* 1. 画像とリンクエリアを囲むコンテナ */
.image-container {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 450px;
}

.image-container img {
  display: block;
  width: 100%;
  height: auto;
}

/* 2. クリックエリア（label）の共通設定 */
.map-label {
  position: absolute;
  cursor: pointer;
  display: block;
  /* 位置確認のために、エリアを半透明の赤色に */
  /*background: rgba(255, 0, 0, 0.4);*/
  /*border: 1px solid red;*/ /* 境界線もつけて見やすくしています */
  /*box-sizing: border-box;*/
}

/* 各クリックエリアの位置 */

/*グラインダー*/
/* 特徴1 (テキスト部分 ＆ 中央上部パーツ) */
/*.page-02 .link01-txt { left: 0.00%;   top: 34%; width: 23%; height: 10%; }*/
.page-02 .link01-txt { left: 14%;   top: 37%; width: 6%; height:  5%; }
.page-02 .link01-pt  { left: 38%;  top: 50%; width: 16%; height: 16%; }

/* 特徴2 (テキスト部分 ＆ 右側ダイヤルパーツ) */
/*.page-02 .link02-txt { left: 78%;  top: 17%; width: 23%; height: 10%; }*/
.page-02 .link02-txt { left: 79%;  top: 19%; width: 6%; height: 5%; }
.page-02 .link02-pt  { left: 63%;  top: 36%; width: 5%;  height: 9%; }

/* 特徴3 (テキスト部分 ＆ 中央液晶パネルパーツ) */
/*.page-02 .link03-txt { left: 78%;  top: 53%; width: 23%; height: 10%; }*/
.page-02 .link03-txt { left: 78.5%;  top: 56%; width: 6%; height: 5%; }
.page-02 .link03-pt  { left: 38%;  top: 32%; width: 16%; height: 16%; }

/* --------- */

/*フルオート S30*/
/* 特徴1 (テキスト部分 ＆ 中央上部パーツ) */
/*.page-03-01 .link01-txt { left: 0.00%;   top: 0.00%; width: 23%; height: 10%; }*/
.page-03-01 .link01-txt { left: 16%;   top: 1.5%; width: 6%; height: 5%; }
.page-03-01 .link01-pt  { left: 26%;  top: 10%; width: 30%; height: 13%; }

/* 特徴2 (テキスト部分 ＆ 右側ダイヤルパーツ) */
/*.page-03-01 .link02-txt { left: 78%;  top: 1%; width: 23%; height: 10%; }*/
.page-03-01 .link02-txt { left: 87.5%;  top: 3.5%; width: 6%; height: 5%; }
.page-03-01 .link02-pt  { left: 56.5%;  top: 10%; width: 15%;  height: 13%; }

/* 特徴3 (テキスト部分 ＆ 中央液晶パネルパーツ) */
/*.page-03-01 .link03-txt { left: 0%;  top: 55%; width: 23%; height: 10%; }*/
.page-03-01 .link03-txt { left: 9.5%;  top: 55.5%; width: 6%; height: 5%; }
.page-03-01 .link03-pt  { left: 30%;  top: 30%; width: 40%; height: 22%; }

/* 特徴4 (テキスト部分 ＆ 中央液晶パネルパーツ) */
/*.page-03-01 .link04-txt { left: 78%;  top: 89%; width: 23%; height: 10%; }*/
.page-03-01 .link04-txt { left: 87%;  top: 91%; width: 6%; height: 5%; }
.page-03-01 .link04-pt  { left: 41.5%;  top: 62%; width: 16%; height: 13%; }

/* -- */

/*フルオート S20*/
/* 特徴1 (テキスト部分 ＆ 中央上部パーツ) */
/*.page-03-02 .link01-txt { left: 0.00%;   top: 0.00%; width: 23%; height: 10%; }*/
.page-03-02 .link01-txt { left: 16%;   top: 2%; width: 6%; height: 5%; }
.page-03-02 .link01-pt  { left: 26%;  top: 10%; width: 30%; height: 13%; }

/* 特徴2 (テキスト部分 ＆ 右側ダイヤルパーツ) */
/*.page-03-02 .link02-txt { left: 78%;  top: 1%; width: 23%; height: 10%; }*/
.page-03-02 .link02-txt { left: 88%;  top: 3.5%; width: 6%; height: 5%; }
.page-03-02 .link02-pt  { left: 56.5%;  top: 10%; width: 15%;  height: 13%; }

/* 特徴3 (テキスト部分 ＆ 中央液晶パネルパーツ) */
/*.page-03-02 .link03-txt { left: 0%;  top: 46%; width: 6%; height: 5%; }*/
.page-03-02 .link03-txt { left: 10%;  top: 47%; width: 6%; height: 5%; }
.page-03-02 .link03-pt  { left: 30%;  top: 25%; width: 40%; height: 21%; }

/* 特徴4 (テキスト部分 ＆ 中央液晶パネルパーツ) */
/*.page-03-02 .link04-txt { left: 78%;  top: 85%; width: 23%; height: 10%; }*/
.page-03-02 .link04-txt { left: 86.5%;  top: 86%; width: 6%; height: 5%; }
.page-03-02 .link04-pt  { left: 41.5%;  top: 59%; width: 16%; height: 12%; }

/* -- */

/*フルオート S-LITE*/
/* 特徴1 (テキスト部分 ＆ 中央上部パーツ) */
/*.page-03-03 .link01-txt { left: 0.00%;   top: 0.00%; width: 23%; height: 10%; }*/
.page-03-03 .link01-txt { left: 8.5%;   top: 1%; width: 6%; height: 5%; }
.page-03-03 .link01-pt  { left: 20%;  top: 11%; width: 32%; height: 5%; }

/* 特徴2 (テキスト部分 ＆ 右側ダイヤルパーツ) */
/*.page-03-03 .link02-txt { left: 0%;  top: 46%; width: 23%; height: 10%; }*/
.page-03-03 .link02-txt { left: 6.5%;  top: 47.5%; width: 6%; height: 5%; }
.page-03-03 .link02-pt  { left: 16%;  top: 15%; width: 8%; height: 28%; }

/* 特徴3 (テキスト部分 ＆ 中央液晶パネルパーツ) */
/*.page-03-03 .link03-txt { left: 78%;  top: 1%; width: 23%; height: 10%; }*/
.page-03-03 .link03-txt { left: 87.5%;  top: 3%; width: 6%; height: 5%; }
.page-03-03 .link03-pt  { left: 27%;  top: 17%; width: 50%;  height: 24%; }

/* 特徴4 (テキスト部分 ＆ 中央液晶パネルパーツ) */
/*.page-03-03 .link04-txt { left: 77%;  top: 90%; width: 23%; height: 10%; }*/
.page-03-03 .link04-txt { left: 88.5%;  top: 92%; width: 6%; height: 5%; }
.page-03-03 .link04-pt  { left: 40%;  top: 57%; width: 22%; height: 11%; }



/* 4. ポップアップ（モーダル）の制御ロジック */
.popup-trigger {
  display: none;
}
.modal-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.6);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.modal-content {
  background: #fff;
  padding: 30px;
  border-radius: 8px;
  position: relative;
  width: 90%;          /* 画面が小さい時は画面幅の90% */
  max-width: 940px;    /* 最大の横幅を 940px */
  min-height: 180px;   /* 最低限の縦幅を 300px */
  text-align: center;
}
.close-btn {
  position: absolute;
  top: 10px; right: 15px;
  font-size: 24px;
  cursor: pointer;
  color: #999;
}
#trigger01:checked ~ #modal01,
#trigger02:checked ~ #modal02,
#trigger03:checked ~ #modal03,
#trigger04:checked ~ #modal04,
#trigger05:checked ~ #modal05,
#trigger06:checked ~ #modal06,
#trigger07:checked ~ #modal07,
#trigger08:checked ~ #modal08,
#trigger09:checked ~ #modal09,
#trigger10:checked ~ #modal10,
#trigger11:checked ~ #modal11,
#trigger12:checked ~ #modal12 {
  display: flex;
}


@media screen and (max-width: 900px) {
	.page_header_title {
		font-size: 40px;
	}
}

@media screen and (max-width: 768px) {
	.page_header_01 {
		background: url(img/01/mv_sp.png) no-repeat top center ;
		background-size: cover;
		height: 375px;
	}
  	.page_header_02 {
		background: url(img/02/mv_sp.png) no-repeat top center ;
		background-size: cover;
		height: 375px;
	}
  	.page_header_03 {
		background: url(img/03/mv_sp.png) no-repeat top center ;
		background-size: cover;
		height: 375px;
	}
	.page_header_title {
		font-size: 32px;
		text-align: center;
	}
	.page_header_title br {
		display: block;
	}
    .model_titile  {
		font-size: 26px;
    padding: 2% 3%;
		text-align: center;
  }
    .model_titile img  {
		margin-top: 2%;
  }

}

@media screen and (max-width: 768px) {
	.page_header img {
		width: 100%;
		max-width: 100%!important;
	}
}
/**/


/* text ------------------------------------------------- */
.notes {
  font-size: 14px;
  color: var(--color-gray);
}

.notes.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.notes.lh15 {
  line-height: 1.5;
}

section p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 1em;
}

section p.narrow {
  max-width: 744px;
  margin: 0 auto 1em auto;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  section p {
    font-size: 15px;
    line-height: 1.8;
  }
  section p.narrow {
    width: 100%;
  }
}
/* helper ------------------------------------------------- */
@media screen and (max-width: 768px) {
  .pb80 {
    padding-bottom: 40px !important;
  }
  .pb90 {
    padding-bottom: 45px !important;
  }
  .pb100 {
    padding-bottom: 50px !important;
  }
  .mt10 {
    margin-top: 10px !important;
  }
  .mt40 {
    margin-top: 20px !important;
  }
  .mt50 {
    margin-top: 25px !important;
  }
  .mt90 {
    margin-top: 45px !important;
  }
  .mb20 {
    margin-bottom: 12px !important;
  }
  .mb30 {
    margin-bottom: 20px !important;
  }
  .mb40 {
    margin-bottom: 20px !important;
  }
  .mb50 {
    margin-bottom: 25px !important;
  }
}
/* cta.html ------------------------------------------------- */
#cta .anchorNavi02 .colFlex {
  justify-content: center;
}

@media screen and (max-width: 768px) {
  #cta li {
    margin-bottom: 20px;
    text-align: center;
  }
  #cta img {
    width: 100%;
    max-width: 300px;
  }
}
/* #why ------------------------------------------------- */
#why .colFlex {
  gap: 40px;
  justify-content: center;
  box-sizing: border-box;
}

#why .colFlex.count3 > div.col,
#why .colFlex.count3 > img {
  width: calc(33.3333333333% - 40px);
}

#why .colFlex > div.col {
  outline: 1px solid #fff;
  outline-offset: 20px;
}

#why .colFlex > div.col.active {
  background: #eee;
  padding: 30px;
  opacity: 0.5;
}

#why .colFlex > div.col:not(.active):hover {
  outline: 1px solid #333;
  transition: all 0.3s ease 0s;
}

#why .colFlex > div.col.active:hover {
  cursor: default;
}

#why .colFlex h3 {
  font-size: 20px;
  line-height: 1.5;
  text-align: left;
  margin-top: 20px;
  margin-bottom: 5px;
  margin-left: 20px;
  text-indent: -20px;
}

#why .colFlex h3::before {
  display: inline-block;
  vertical-align: 3px;
  content: "";
  border-top: solid 1px var(--color-black);
  border-right: solid 1px var(--color-black);
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  margin-right: 10px;
}

#why .colFlex p {
  font-size: 14px;
  color: var(--color-gray);
}

@media screen and (max-width: 768px) {
  #why .colFlex {
    width: 75%;
    justify-content: center;
    gap: 0;
    margin: 0 auto;
    margin-bottom: 0 !important;
  }
  #why .colFlex > div.col {
    outline: 0;
    outline-offset: 0;
  }
  #why .colFlex > div.col.active {
    background: #eee;
    padding: 30px;
    opacity: 0.5;
  }
  #why .colFlex > div.col:not(.active):hover {
    outline: 0;
    transition: none;
  }
  #why .colFlex:is(.count2, .count3) > :is(.col, div.col) {
    margin-bottom: 30px !important;
  }
  #why .colFlex h3 {
    font-size: 18px;
    margin-top: 10px;
  }
  #why .colFlex.count3 > div.col, #why .colFlex.count3 > img {
    width: 100%;
  }
}
/* ===========================================================
 00
=========================================================== */
/* 00 - title */
[data-subcategory=index] .subtitle {
  line-height: 1.5;
}

[data-subcategory=index] #title .contents p {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

[data-subcategory=index] #title .contents h1 {
  font-size: 48px;
  font-weight: 600;
  line-height: 1.5;
  margin-top: -0.6em;
}

[data-subcategory=index] #title .contents h1 small {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.5;
}

[data-subcategory=index] #title .col.-image {
  width: 45%;
  text-align: left;
}

[data-subcategory=index] #title .col.-image img {
  max-width: 548px;
}

[data-subcategory=index] #title .logo {
  width: 75%;
  padding-bottom: 30px;
}

[data-subcategory=index] #title .col.-text {
  width: 50%;
  padding-top: 10px;
  color: #fff;
}
[data-subcategory=index] #title .col.-text2 {
  width: 100%;
  padding-top: 40px;
  text-align: center;
}



.anchorNavi01 {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  [data-subcategory=index] #title .contents p {
    margin-left: 0;
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
    font-family: var(--medium-family);
  }
  [data-subcategory=index] #title .contents h1 {
    margin-left: 0;
    font-size: 28px;
    margin-top: 0.1em;
    margin-bottom: 20px;
    text-align: center;
  }
  [data-subcategory=index] #title .contents h1 small {
    font-size: 28px;
  }
  [data-subcategory=index] #title .col:last-child {
    text-align: center;
  }
  [data-subcategory=index] #title .col img {
    width: 100%;
  }
  [data-subcategory=index] #title .col.-image {
    width: 100%;
  }

  [data-subcategory=index] #title .logo {
    width: 75%;
    padding-bottom: 30px;
    margin: 0 auto;
  }

  [data-subcategory=index] #title .col.-text {
    width: 100%;
  }
  [data-subcategory=index] #title .col_text {
    width: 100%;
    margin: 0 auto;
  }
}
/* 00 - overview */
[data-subcategory=index] #overview h2 {
  font-size: 36px;
  line-height: 1.5;
  text-align: center;
  padding-top: 100px;
  padding-bottom: 20px;
}

@media screen and (max-width: 768px) {
  [data-subcategory=index] #overview h2 {
    font-size: 24px;
    padding-top: 50px;
    padding-bottom: 20px;
  }
}
/* 00 - lineup */
[data-subcategory=index] #lineup .group + .group {
  margin-top: 40px;
  padding-top: 40px;
  position: relative;
}

[data-subcategory=index] #lineup .group + .group::before {
  content: "";
  display: block;
  max-width: 940px;
  height: 1px;
  background: #ddd;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

[data-subcategory=index] #lineup section figure figcaption {
  color: #666;
  text-align: center;
}

[data-subcategory=index] #lineup section figure figcaption strong {
  font-size: 16px;
  color: #333;
  display: block;
  margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
  [data-subcategory=index] #lineup .group {
    margin-top: 45px;
  }
}
/* 00 - features */
[data-subcategory=index] #features .notes {
  margin-bottom: 0;
  line-height: 1.5;
}

[data-subcategory=index] #features .subtitle {
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 18px;
}

@media screen and (max-width: 768px) {
  [data-subcategory=index] #features .subtitle {
    font-size: 18px;
    margin-bottom: 0.5em;
  }
}
/* ===========================================================
 01 - 05
=========================================================== */
[data-subcategory^="0"] #title h1 {
  font-size: 36px;
  line-height: 1.5;
  text-align: center;
  margin-top: 20px;
}

[data-subcategory^="0"] #title h1 small {
  display: block;
  font-size: 18px;
  margin-top: 8px;
}

[data-subcategory^="0"] #title .caption {
  background-color: var(--color-black);
  color: var(--color-white);
  text-align: center;
  padding: 1em;
}

[data-subcategory^="0"] #why {
  border-top: 1px solid var(--color-lightgray);
}

@media screen and (max-width: 768px) {
  [data-subcategory^="0"] #title h1 {
    font-size: 24px;
  }
  [data-subcategory^="0"] #title h1 small {
    font-size: 16px;
  }
  [data-subcategory^="0"] #title .caption {
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
  }
}
/* ===========================================================
 01
=========================================================== */
[data-subcategory="01"] .case h3 {
  font-size: 21px;
  text-align: left;
  line-height: 1.5;
  margin-bottom: 5px;
}

[data-subcategory="01"] .case img {
  width: 100%;
}

[data-subcategory="01"] .case .btn {
  font-size: 16px;
  display: inline-block;
  background: #fff;
  text-align: center;
}

[data-subcategory="01"] .case .btn:hover {
  background: #333;
  color: #fff;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  [data-subcategory="01"] .case h3 {
    font-size: 18px;
  }
  [data-subcategory="01"] .case + .case {
    margin-top: 50px;
  }
  [data-subcategory="01"] .case .btn {
    width: 100%;
    margin-top: 0.8em;
    padding: 8px 2em;
  }
  [data-subcategory="01"] .case.colFlex.gap40 {
    gap: 15px;
  }
  [data-subcategory="01"] .case.colFlex.gap40 p {
    margin-bottom: 0.6em;
  }
}
/* ===========================================================
 02
=========================================================== */
/* ===========================================================
 03
=========================================================== */
@media screen and (max-width: 768px) {
  [data-subcategory="03"] .definitionList {
    margin-top: 1em;
  }
}
/* ===========================================================
 04
=========================================================== */
[data-subcategory="04"] h3 {
  font-size: 21px;
  margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
  [data-subcategory="04"] h3 {
    font-size: 16px;
    line-height: 1.5;
  }
}
/* ===========================================================
 05
=========================================================== */
/* ===========================================================
 コンベアタイプ洗浄機
=========================================================== */
[data-subcategory=index] #title .contents h1 {
  margin-top: 35px;
}
[data-subcategory=index] #title .annotation {
  margin-top: 40px;
}
[data-subcategory=index] #title .annotation p {
  font-size: 12px;
  line-height: 1.8;
  color: #666666;
}
@media screen and (max-width: 768px) {
  [data-subcategory=index] #title .annotation p {
    text-align: left;
  }
}
[data-subcategory=index] #title .annotation_title {
  margin-bottom: 0;
}
[data-subcategory=index] #title .annotation_text {
  margin-left: 1em;
}
[data-subcategory=index] #title .annotation_text .-indent {
  display: block;
  margin-left: 3em;
  text-indent: -3em;
}

.colFlex {
  gap: 0;
  flex-wrap: nowrap;
  align-items: center;
}
.colFlex.-middle {
  padding-block: 67px;
}
@media screen and (max-width: 768px) {
  .colFlex {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .colFlex.-reverse {
    flex-direction: column-reverse;
  }
}

#energy .video {
  max-width: 470px;
  width: 50%;
  padding: 21px 25px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #energy .video {
    width: 100%;
  }
}
#energy .video img {
  margin-bottom: 10px;
}
#energy .video span::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(./img/play-button1.svg) no-repeat;
  background-size: contain;
  vertical-align: text-bottom;
  margin-left: 0.5em;
  margin-right: 2em;
}

.espresso_title {
  text-align: center;
  line-height: 1.5;
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 5%;
}
p.espresso_txt {
  margin-top: 10px;
  display: block;
  font-size: 18px;
}
.col_txt_l h3 span {
  color: #E60022;
}
.col_txt_r h3 span {
  color: #E60022;
}
h3.espresso_link_ttl::before {
    display: inline-block;
    vertical-align: 3px;
    content: '';
    border-top: solid 1px var(--color-white);
    border-right: solid 1px var(--color-white);
    width: 8px;
    height: 8px;
    transform: rotate(45deg);
    margin-right: 10px;
}
h3.espresso_link_ttl {
  font-size: 20px;
  color: #fff;
  text-align: left;
}
p.espresso_link_text {
  color: #fff;
}
.colFlex > div.col {
    outline-offset: 20px;
    margin: 0 auto!important;
}

[data-subcategory=index] .subtitle {
  font-family: var(--medium-family);
  font-size: 20px;
  font-weight: normal;
  margin: 20px 0 10px;
}
@media screen and (max-width: 768px) {
  [data-subcategory=index] .subtitle {
    margin-top: 20px 0 10px;
  }
  [data-subcategory=index] p.espresso_txt {
  text-align: left!important;
  padding-bottom: 5%;
  }
    .espresso_title {
    text-align: center;
    line-height: 1.5;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 5%;
  }
}

.colFlex.count2 > div.col {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .colFlex.count2 > div.col {
    width: 100%;
  }
}

[data-subcategory=index] .col .subtitle,
[data-subcategory=index] .col .espresso_text {
  padding-inline: 30px;
}
@media screen and (max-width: 768px) {
  [data-subcategory=index] .col .subtitle,
  [data-subcategory=index] .col .espresso_text {
    padding-inline: 15px;
  }
}

.colFlex.count2 > div.col.-img.-padding {
  padding: 11px;
}

.espresso_img {
  padding-inline: 30px;
}
.espresso_img figcaption {
  color: #666666;
}

.-break {
  display: inline-block;
}/*# sourceMappingURL=page.css.map */