@charset "utf-8";

body {
  -webkit-text-size-adjust: 100%;
}
#container {
  width: 900px;
  margin: 0 auto;
  text-align: left;
}

.title h3 {
  margin-top: 0;
  margin-bottom: 0;
}
.title h1 {
  font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
  font-weight: 600;
  font-size: 50px;
  margin-top: 0;
  margin-bottom: 30px;
  letter-spacing: 0.05em;
}

/*details summary*/
.headline {
  margin: 0;
  padding: 0;
}
.headline>summary {
  padding: 10px 20px;
  cursor: pointer;
  font-size: 1.3em;
  font-weight: bold;
  background-color: #f5f5f5;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  list-style: none;
}
.headline>summary::after {
  content: "＋";
  float: right;
  font-weight: normal;
}
.headline[open]>summary::after {
  content: "\2212";
}
.headline>summary:hover {
  background-color: #ccc;
}
.headline[open]>summary {
  background-color: #fff;
  border-bottom: initial;
}

/*details-contents*/
.details-contents {
  padding: 0 20px;
}
.details-contents dd {
  padding-bottom: 10px;
}
.details-contents dd::before {
  content: "－";
  margin-right: 5px;
}
.details-contents p {
  margin-bottom: 40px;
}
.headline[open] .details-contents {
  animation: fadeIn 0.5s ease;
}
.headline[open] .video-contents {
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  0% {
    opacity: 0; /* 透明 */
    transform: translateY(-10px); /* 上から表示 */
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
/*applications-contents*/
.applications-contents {
  border-top: 1px solid #ccc;
  display: flex;
  padding-top: 20px;
}
.applications-contents-icon {
  padding-right: 20px;
}
.applications-contents-details {
  width: auto;
}
.applications-contents-details>h4 {
  margin-top: 0;
}
.applications-contents-details>a::before {
  position: relative;
  display: inline-block;
  content: "";
  background: url(../image/p29/rz_fritsch_sprite.png) no-repeat -15px -15px;
  width: 25px;
  height: 20px;
  top: 3px;
}


/*title*/
.title {
  width: 67%;
  overflow: hidden;
}
/*menu*/
.menu {
  margin-top: 40px;
  margin-left: 20px;
  width: 30%;
}
/*item-now*/
.item-now {
 color:  #D21213;
}
/*item*/
.item {
  display: block;
  border-top: 1px solid #ccc;
  padding: 10px;
  font-weight: bold;
  font-size: small;
}
.item a::before {
  content: "〉";
}
/*contact*/
.contact {
  border-bottom: 1px solid #ccc;
}
.contact h5 {
  margin: 10px;
}
.contact h5::before {
  content:"\232A";
}
.contact p {
  margin: 0 10px;
  font-size: small;
}
/*company*/
.company>summary {
  font-size: small;
  padding: 10px;
  cursor: pointer;
  font-weight: bold;
  border-top: 1px solid #ccc;
  list-style: none;
}
.company summary::before {
  content: "\232A";
}
.company[open]>summary::before {
  content: "－";
}
.company[open] .office,.company>a {
  animation: fadeIn 0.5s ease;
}
/*office*/
.office {
  margin: 0;
  padding: 0;
}
.address {
  padding-left: 20px;
}
.office[open] {
  height: 190px;
  transition: all 1s;
}
.office summary {
  font-size: small;
  padding: 10px 20px;
  cursor: pointer;
  font-weight: bold;
  background-color: #f5f5f5;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  list-style: none;
}
.office summary::before {
  content: "〉";
}
.office[open]>summary::before {
  content: "－";
}
.office[open] .address {
  animation: fadeIn 0.5s ease;
}

/*contents*/
.contents {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 0;
}
.contents a {
  text-decoration: none;
  color: initial;
}
.contents a:hover {
  color: #D21213;
  text-decoration: none;
}


/*dl dt dd*/
.glance dl, .ideal dl {
  text-align: left;
  padding: 20px;
}
.glance dt, .ideal dt {
  font-weight: bold;
  letter-spacing: 0.2em;
  font-size: large;
}
.glance dd, .ideal dd {
  margin-left: 0;
  padding-top: 10px;
}
.glance dd::before, .ideal dd::before {
  content: "－";
  padding-right: 10px;
}
/*glance*/
.glance {
  background-color: #555;
  color: white;
}
/*ideal*/
.ideal {
  background-color: #f5f5f5;
}
/*view*/
.view {
  margin-bottom: 80px;
}
.view a::before {
  content: "▶";
  color: #D21213;
  padding-right: 5px;
}

/*technical-data page*/
.technical-data table {
  width: 100%;
  border-collapse: collapse;
}
.technical-data td {
  border-bottom: solid 1px #ccc;
  border-top: solid 1px #ccc;
  border-right: solid 10px #fff;
  padding: 15px 10px 5px 10px;
}


/*accessory page*/
/*attn*/
.attn {
  margin-bottom: 50px;
}
.attn dt {
  font-weight: bold;
}
.attn dd {
  margin-left: 10px;
}
.attn dd::before {
  content: "－";
  padding-right: 10px;
}
.attn dt, .attn dd {
  padding-bottom: 5px;
}
/*acc*/
.acc-main {
  border-top: 1px solid #ccc;
}
/*acc-header*/
.acc-header>summary {
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding: 10px;
  font-size: small;
  list-style: none;
  cursor: pointer;
}
.acc-header>summary::after {
  float: right;
  font-size: initial;
  content: "\025bc";
}
.acc-header[open]>summary::after {
  content: "\025b2";
}
.acc-header[open] .acc-parts {
  animation: fadeIn 0.5s ease;
}
.acc-header>h2 {
  margin-top: 50px;
  margin-bottom: 0;
}
/*acc-part*/
.acc-parts {
  position: relative;
}
.acc-parts>summary {
  background-color: #f5f5f5;
  border-top: 1px solid #ccc;
  padding: 15px;
  font-weight: bold;
  list-style: none;
  cursor: pointer;
}
.acc-parts>summary::after {
  float: right;
  font-size: initial;
  content: "＋";
}
.acc-parts[open]>summary::after {
  content: "―";
}
.acc-parts[open]>summary {
  background-color: #fff;
}
.acc-parts span {
  position: absolute;
  right: 50px;
  margin-left: 20px;
  font-weight: normal;
}
.acc-parts span::before {
  content: "No.";
}
.acc-parts-img {
  margin-top: 20px;
  width: 39%;
}
.acc-parts-details {
  /* margin-top: 50px; */
  width: 50%;
  padding-left: 50px;
}
.acc-parts-details p a {
  text-decoration: underline;
}
.acc-parts-analysis>summary {
  font-size: large;
  font-weight: bold;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding: 10px;
  width: 800px;
  margin: auto;
}
.acc-parts-analysis {
  margin-bottom: 30px;
}
.acc-parts-analysis>h3 {
  margin-top: 40px;
  border-bottom: 1px solid #ccc;
}
.acc-parts-analysis table {
  width: 100%;
  border-collapse: collapse;
}
.acc-parts-analysis th {
  border-bottom: solid 1px #ccc;
  border-top: solid 1px #ccc;
  border-right: solid 10px #fff;
  padding: 5px 0 5px 0;
  width: 50%;
}
.acc-parts-analysis td {
  border-bottom: solid 1px #ccc;
  border-top: solid 1px #ccc;
  border-right: solid 10px #fff;
  padding: 5px 0 5px 0;
  width: 50%;
}
.acc-parts[open] .lineup {
  animation: fadeIn 0.5s ease;
}

/*sub-info*/
.sub-info {
  background-color: #514F50;
  color: #fff;
  margin-bottom: 10px;
}
.sub-info>summary {
  font-size: small;
  padding: 10px;
  list-style: none;
  cursor: pointer;
}
.sub-info>summary::after {
  float: right;
  font-size: initial;
  content: "\025bc";
}
.sub-info[open]>summary::after {
  content: "\025b2";
}
.sub-info[open] .sub-info-details {
  animation: fadeIn 0.5s ease;
}
.sub-info-details>summary {
  padding: 10px 20px;
  list-style: none;
  cursor: pointer;
  border-top: 1px solid #ccc;
  font-weight: bold;
}
.sub-info-details>summary::after {
  float: right;
  font-size: initial;
  content: "＋";
}
.sub-info-details[open]>summary::after {
  content: "－";
}
.sub-info-details-info {
  padding-top: 10px;
  padding-bottom: 50px;
}
.sub-info-details-info table {
  width: 95%;
  margin: auto;
  border-collapse: collapse;
}
.sub-info-details-info td,
.sub-info-details-info th {
  border-bottom: 1px solid #aaa;
  border-right: 10px solid #514F50;
  width: 20%;
  padding: 5px 0 5px 0;
}
.sub-info-details-info tr:last-child td {
  border-bottom: none;
}
.sub-info-details[open] .sub-info-details-info {
  animation: fadeIn 0.5s ease;
}
.sub-info-details-info p {
  width: 95%;
  margin: auto;
}


/*video*/
/*video-contents*/
.video-contents {
  border-top: 1px solid #ccc;
  display: flex;
  padding-top: 20px;
  margin-bottom: 50px;
}
.video-contents-video {
  width: 450px;
}
.video-contents-details {
  width: 400px;
}
.video-contents-details>a::before {
  position: relative;
  display: inline-block;
  content: "";
  background: url(../image/p29/rz_fritsch_sprite.png) no-repeat -15px -15px;
  width: 25px;
  height: 20px;
  top: 3px;
}

/*downloads*/
/*downloads-contents*/
.downloads-contents {
  border-top: 1px solid #ccc;
  display: flex;
  padding-top: 20px;
  margin-bottom: 50px;
}
.downloads-contents-icon {
  padding-right: 20px;
}
.downloads-contents-details {
  width: auto;
}
.downloads-contents-details>h4 {
  margin-top: 0;
}
.downloads-contents-details>a::before {
  position: relative;
  display: inline-block;
  content: "";
  background: url(../image/p29/rz_fritsch_sprite.png) no-repeat -15px -15px;
  width: 25px;
  height: 20px;
  top: 3px;
}

/*compare*/
/*compare-contents*/
.compare-contents table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}
.compare-contents th {
  padding: 5px;
  color: #fff;
  background-color: #514F50;
  border: solid 10px #fff;
  font-weight: 100;
}
.compare-contents td {
  border: solid 10px #fff;
  padding: 5px;
  background: #f2f2f2;
  position: relative;
}
.compare-contents td p {
  margin: 0;
  font-size: small;
  font-weight: bold;
}
.new-icon {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}

/*lineup*/
.lineup {
  display: flex;
  flex-flow: row wrap;
  justify-content: start;
}
.lineup::after {
  display: block;
  content: "";
  width: 32%;
}

/*line5*/
.line5 {
  width: 19%;
}
.line5 img {
  width: 100%;
}
.line5 h4 {
  margin: 0 10px;
}
.line5 p {
  margin: 0 10px;
}


/*line3*/
.line3 {
  border: 1px solid #aaa;
  margin-bottom: 20px;
  text-align: center;
  width: 32%;
  overflow: hidden;
  position: relative;
}
.line3 p {
  margin: 10px;
  text-align: justify;
}
.detail {
  background: #800;
  font-size: 0.7em;
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
}
.detail a {
  display: block;
  height: 100%;
  text-align: none;
  color: #fff;
  padding: 10px;
}
.line3 table {
  border-collapse: collapse;
  text-align: center;
  width: 100%;
  font-size: 0.8em;
}
.line3 th {
  padding: 5px;
  background-color: #f5f5f5;
  border-top: solid 1px #aaa;
  font-weight: 100;
  width: 35%;
}
.line3 td {
  border-top: solid 1px #aaa;
  padding: 5px;
  background: #fff;
}

/*line2*/
.line2 {
  width: 49%;
  margin-bottom: 30px;
  overflow: hidden;
  position: relative;
  text-align: center;
}
.line2 table {
  width: 100%;
  border-collapse: collapse;
}

.line2 td {
  border-bottom: solid 1px #aaa;
  border-top: solid 1px #aaa;
}

.line2 th {
  border-bottom: solid 1px #aaa;
  border-top: solid 1px #aaa;
  background-color: #f5f5f5;
}


/*line1*/
.line1 {
  width: 100%;
  margin-bottom: 30px;
  overflow: hidden;
}

/*links*/
.links::before{
  content: "\025b6";
  font-size: initial;
  padding-right: 5px;
  color: red;
}
