@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Alkatra:wght@400..700&display=swap");
.pagination {
  display: flex;
  width: 80%;
  margin: auto;
  padding: 5rem 0;
  font-size: 2.5rem;
  align-items: center;
  justify-content: center;
}
.pagination a, .pagination span {
  text-decoration: none;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination-next, .last,
.pagination-prev, .start {
  width: 6rem;
  height: 6rem;
  display: flex;
  margin: 1rem;
  align-items: center;
  justify-content: center;
}

.pagenation-number,
.page-numbers {
  display: flex;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.pagenation-number li,
.page-numbers li {
  width: 6rem;
  height: 6rem;
  margin: 1rem;
}

.single-pagination {
  width: 100%;
  text-align: center;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.single-pagination li {
  margin: 0 0.8rem;
}

.prev-post {
  text-align: right;
}

/*  1: 共通 */
body {
  letter-spacing: 1px;
  word-break: keep-all;
  overflow-x: hidden;
}

@media print, screen and (min-width: 800px) {
  /* PC */
  .page-name {
    white-space: nowrap;
    overflow: hidden;
    text-indent: 100%;
    margin: 8% 0;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 799px), only screen and (min-resolution: 192dpi) and (max-width: 799px), only screen and (max-width: 799px) {
  .page-container {
    margin: 3rem auto;
    min-height: 40rem;
  }
}

@media print, screen and (min-width: 800px) {
  .key-visual {
    padding-top: 10%; /* calc(画像高さ ÷ 画像横幅 × 100%) */
    max-height: 15rem;
    height: auto;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 799px), only screen and (min-resolution: 192dpi) and (max-width: 799px), only screen and (max-width: 799px) {
  .key-visual {
    padding-top: 22%;
  }
}

/*keyvisualまとめ*/
.key-visual {
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
@media print, screen and (min-width: 800px) {
  .key-visual.about {
    background: url(../images/page/about.png) center center no-repeat;
    background-size: cover;
    background-position: bottom;
  }
  .key-visual.products {
    background: url(../images/page/products.png) center center no-repeat;
    background-size: cover;
    background-position: bottom;
  }
  .key-visual.contact {
    background: url(../images/page/contact.png) center center no-repeat;
    background-size: cover;
    background-position: bottom;
  }
  .key-visual.recruit {
    background: url(../images/page/recruit.png) center center no-repeat;
    background-size: cover;
    background-position: bottom;
  }
  .key-visual.access {
    background: url(../images/page/access.png) center center no-repeat;
    background-size: cover;
    background-position: bottom;
  }
  .key-visual.bearing-world {
    background: url(../images/page/bearing-world.png) center center no-repeat;
    background-size: cover;
    background-position: bottom;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 799px), only screen and (min-resolution: 192dpi) and (max-width: 799px), only screen and (max-width: 799px) {
  .key-visual.about {
    background: url(../images/ph/page/about@2x.png) center center no-repeat;
    background-size: cover;
  }
  .key-visual.products {
    background: url(../images/ph/page/products@2x.png) center center no-repeat;
    background-size: cover;
  }
  .key-visual.contact {
    background: url(../images/ph/page/contact@2x.png) center center no-repeat;
    background-size: cover;
  }
  .key-visual.recruit {
    background: url(../images/ph/page/recruit@2x.png) center center no-repeat;
    background-size: cover;
  }
  .key-visual.access {
    background: url(../images/ph/page/access@2x.png) center center no-repeat;
    background-size: cover;
  }
  .key-visual.bearing-world {
    background: url(../images/ph/page/bearing-world@2x.png) center center no-repeat;
    background-size: cover;
  }
}
.key-visual.privacy-policy {
  background: url(../images/page/contact.png) center center no-repeat;
  background-size: cover;
  background-position: bottom;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 799px), only screen and (min-resolution: 192dpi) and (max-width: 799px), only screen and (max-width: 799px) {
  .key-visual.privacy-policy {
    background: url(../images/ph/page/contact@2x.png) center center no-repeat;
    background-size: cover;
  }
}

@media print, screen and (min-width: 800px) {
  .page-container .sec:first-of-type {
    margin: 0;
  }
}
input[name=address] {
  width: 100%;
}

input[type=email] {
  width: 100%;
}

/*.new-line：
   response時、改行を指定するようのクラス*/
/*  2:会社概要  */
.sec-title {
  font-size: 45px;
  font-weight: normal;
  font-family: "M PLUS 1p", sans-serif;
  color: #b2a9a1;
  display: flex;
  align-items: center;
  width: 83.4%;
  transform: scale(1.2, 1);
}
.sec-title.title-has-span > span {
  padding-inline: 0.5em calc(0.5em + 22px);
  background: url(../images/page/sec-title-mark.png) no-repeat center right;
}
.sec-title:before, .sec-title:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #b2a9a1;
}

.page-about h3 {
  width: 84%;
}
.page-about .sign {
  margin-top: 8%;
  text-align: right;
  font-size: 1.5em;
}
.page-about .lead {
  font-family: "Noto Serif JP", serif;
  line-height: 1.3;
}
.page-about p {
  margin: revert;
}
.page-about #greetings {
  font-family: "Noto Sans JP", sans-serif;
}
.page-about .greetings_list .list_item {
  margin-bottom: 2.5em;
}
.page-about .greetings_p {
  margin-bottom: 2em;
}
.page-about .sign {
  font-family: "Alkatra", system-ui;
}
.page-about .company_table {
  width: 100%;
}
.page-about .company_table th,
.page-about .company_table td {
  padding: 5% 0;
  border-bottom: 1px solid #999;
  border: none;
}
.page-about .company_table tr {
  position: relative;
  border-bottom: 1px solid #b2b2b2; /* 下線の太さと色を指定 */
  padding-bottom: 0.5em; /* 下線と文字の間に余白 */
}
.page-about .history_table {
  width: 100%;
}
.page-about .history_table th,
.page-about .history_table td {
  padding: 5% 0;
  border-bottom: 1px solid #999;
  border: none;
}
.page-about .history_table tr {
  border-top: 1px solid #b2b2b2; /* 下線の太さと色を指定 */
  padding-bottom: 0.5em; /* 下線と文字の間に余白 */
}
.page-about .history_p {
  width: 100%;
}
.page-about .director_name {
  font-size: 1.2em !important;
}
.page-about .history_table table tr:nth-child(1),
.page-about .history_table table tr:nth-child(3),
.page-about .history_table table tr:nth-child(5),
.page-about .history_table table tbody tr:nth-child(7) td:last-child {
  color: #948f8f;
}
.page-about .history_table table tbody tr:nth-child(2),
.page-about .history_table table tbody tr:nth-child(4),
.page-about .history_table table tbody tr:nth-child(6) {
  background-color: #d9ebff;
}
.page-about .history_table table tbody td:first-child {
  width: 20%;
  text-align: center;
}
@media print, screen and (min-width: 800px) {
  .page-about th:first-child,
.page-about td:first-child {
    width: 15%;
    padding-right: 4em;
  }
  .page-about .company_table td {
    position: relative;
  }
  .page-about .company_table td img {
    position: absolute;
    top: 40px;
    right: 0px;
  }
}
@media only screen and (max-width: 799px) {
  .page-about .title-has-span {
    line-height: 1.2;
  }
  .page-about .company_table td {
    position: relative;
  }
  .page-about .company_table td a {
    margin-top: 0.8em;
    display: block;
  }
  .page-about .history_table table tbody td {
    padding-right: 25px;
  }
}

/*  商品案内  */
@media print, screen and (min-width: 800px) {
  /* PC */
  #bearing {
    max-width: 100%;
  }
  .detail {
    border-left: 1rem solid #b2b2b2;
    padding: 0.8rem 2rem;
  }
}
#bearing .sec {
  display: flex;
  flex-direction: column;
  letter-spacing: 0.04rem;
}
#bearing .sec-name {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 8.4rem;
  line-height: 1;
  margin-bottom: 3rem;
  letter-spacing: 0rem;
}
#bearing span {
  font-family: gothic;
  font-size: 2.3rem;
  display: block;
  font-weight: 100;
  margin-bottom: 0;
  letter-spacing: 0rem;
}
#bearing .detail h4 {
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 2;
}
#bearing .detail > p {
  text-indent: 1.4rem;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 799px) {
  #bearing .sec-name {
    font-family: "M PLUS 1p", sans-serif;
    font-size: 4.4rem;
    line-height: 1;
    margin-bottom: 3rem;
    letter-spacing: 0rem;
  }
  #bearing .b_m {
    margin-top: 5rem;
  }
}

#bearing {
  word-break: break-word;
}

.bearing-about {
  position: relative;
}
@media print, screen and (min-width: 800px) {
  .bearing-about > .sec-name, .bearing-about > .bearing-desc {
    width: 40%;
    margin-left: auto;
    margin-right: 10%;
  }
  .bearing-about:before {
    content: "";
    position: absolute;
    z-index: -1;
    max-width: 160rem;
    width: 100%;
    margin: 0 auto;
    background: url(../images/page/bearing_bg1.png) no-repeat center center;
    height: 572px;
  }
}
@media only screen and (max-width: 799px) {
  .bearing-about {
    /* PC */
  }
  .bearing-about:after {
    content: "";
    max-width: 160rem;
    width: 100%;
    margin: 0 auto;
    background: url(../images/page/bearing_bg1.png) no-repeat left center;
    padding-top: 70%;
    background-size: cover;
  }
}

@media print, screen and (min-width: 800px) {
  #bearing > .bearing-app {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

.bearing-app .classifies {
  margin-top: 8rem;
}
.bearing-app .classify-title {
  display: inline-block;
  background: #053c7c;
  color: #fff;
  padding: 0.3rem 2rem;
  margin: 0rem auto 3rem;
}
.bearing-app .classify-unit {
  padding: 3rem 2rem;
}
.bearing-app .classify-tag {
  font-size: 1.6rem;
  color: #053c7c;
  margin-bottom: 0.5rem;
}
.bearing-app .classifies {
  word-break: break-word;
  position: relative;
}
.bearing-app .classifies:after {
  position: absolute;
  right: 33.3%;
  content: "";
  height: 100%;
  width: 1px;
  background: #999;
}
.bearing-app .classifies:before {
  position: absolute;
  left: 33.3%;
  content: "";
  height: 100%;
  width: 1px;
  background: #999;
}
@media only screen and (max-width: 799px) {
  .bearing-app {
    /* mobile */
  }
  .bearing-app .sec-name {
    font-size: 8vh;
  }
  .bearing-app .sec-name span {
    font-size: 2.5vh;
  }
  .bearing-app .classifies {
    grid-template-columns: auto;
  }
  .bearing-app .classifies:after {
    content: none;
  }
  .bearing-app .classifies:before {
    content: none;
  }
  .bearing-app .classify-title {
    width: 127px;
    display: inline-block;
    background: #053c7c;
    color: #fff;
    padding: 5px;
    border-radius: 5px;
    margin-left: 0;
    margin-bottom: 0px;
  }
  .bearing-app .grid1 {
    grid-row: 1/1;
  }
  .bearing-app .grid2 {
    grid-row: 2/2;
    border-bottom: 1px solid #8c8c8c;
    padding-bottom: 20px;
  }
  .bearing-app .grid3 {
    grid-row: 3/3;
    padding: 20px 0;
  }
  .bearing-app .grid4 {
    grid-row: 4/4;
    margin-top: 30px;
  }
  .bearing-app .grid5 {
    grid-row: 5/5;
    border-bottom: 1px solid #8c8c8c;
    padding-bottom: 20px;
  }
  .bearing-app .grid6 {
    grid-row: 6/6;
    padding: 20px 0;
  }
  .bearing-app .grid7 {
    grid-row: 7/7;
    margin-top: 30px;
  }
  .bearing-app .grid8 {
    grid-row: 8/8;
    border-bottom: 1px solid #8c8c8c;
    padding-bottom: 20px;
  }
  .bearing-app .grid9 {
    grid-row: 9/9;
    padding: 20px 0;
  }
}

.bearing-mfr {
  position: relative;
}
@media print, screen and (min-width: 800px) {
  .bearing-mfr .new-line {
    display: none;
  }
  .bearing-mfr:before {
    content: "";
    position: absolute;
    z-index: -1;
    max-width: 160rem;
    width: 100vw;
    margin: 0 auto;
    background: url(../images/page/bearing_bg2.png) no-repeat center center;
    height: 819px;
    margin-top: -8rem;
  }
  .bearing-mfr .sec-name,
.bearing-mfr .detail {
    width: 40%;
    margin-left: 10%;
  }
  .bearing-mfr .detail {
    line-height: 2.5;
  }
  .bearing-mfr .bearing-ex {
    width: 40%;
    margin-left: 30%;
    margin-top: 18%;
  }
  .bearing-mfr .sec-name {
    position: relative;
    line-height: 0.9;
  }
  .bearing-mfr .sec-name span {
    line-height: 1;
  }
  .bearing-mfr .sec-name:after {
    content: url(../images/page/bearing_brand.png);
    position: absolute;
    top: 0.1rem;
    left: 34rem;
  }
  .bearing-mfr .bm-unit {
    margin-left: auto;
    margin-right: 35%;
    margin-top: 10%;
    padding: 3em 0;
    align-items: flex-end;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
  }
  .bearing-mfr .bm-unit::after {
    content: " ";
    margin: 0 calc(50% - 50vw);
    width: 86vw;
    -webkit-clip-path: polygon(0 0, 100% 18%, 100% 82%, 0% 100%);
            clip-path: polygon(0 0, 100% 18%, 100% 82%, 0% 100%);
    height: 110%;
    position: absolute;
    background: #ccc;
    z-index: -2;
    top: 0;
    left: -10%;
  }
  .bearing-mfr .bm-unit .detail {
    list-style: none;
    margin-left: 0;
    box-sizing: content-box;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .bearing-mfr .bm-unit .detail li {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 799px) {
  .bearing-mfr:before {
    content: "";
    width: 100%;
    margin: 0 auto;
    background: url(../images/ph/bearing_bg2@2x.png) no-repeat center center;
    padding-top: 58%;
    background-size: contain;
  }
  .bearing-mfr .sec-name {
    position: relative;
    line-height: 0.9;
  }
  .bearing-mfr .sec-name span {
    line-height: 1;
  }
  .bearing-mfr .sec-name:after {
    content: "";
    position: absolute;
    top: -4rem;
    left: 5em;
    background-image: url(../images/page/bearing_brand.png);
    background-size: contain;
    width: 2em;
    height: 2em;
  }
}

@media only screen and (min-width: 800px) {
  .bearing-type {
    width: 80%;
    margin: auto;
  }
  .bearing-type figure {
    margin: 8rem auto 0;
  }
}
.bearing-type figure {
  margin: 8rem auto 0;
}

@media only screen and (min-width: 800px) {
  .bearing-standard {
    width: 80%;
    margin: auto;
  }
  .new-line {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .bearing-handled {
    position: relative;
  }
  .bearing-handled:before {
    content: "";
    position: absolute;
    z-index: -1;
    max-width: 160rem;
    width: 100vw;
    margin: 0 auto;
    background: url(../images/page/bearing_bg3.png) no-repeat center center;
    height: 829px;
    margin-top: -8rem;
    margin-left: calc(50% - 50vw);
  }
  .bearing-handled > .sec-name, .bearing-handled > .detail {
    width: 60%;
    margin-left: auto;
    margin-right: 10%;
  }
  .bearing-handled .sec-name {
    text-align: right;
    position: relative;
  }
  .bearing-handled .sec-name:after {
    content: url(../images/page/bearing_handled.png);
    position: absolute;
    bottom: -1.5rem;
    right: 35rem;
  }
}
@media only screen and (max-width: 799px) {
  .bearing-handled:before {
    content: "";
    width: 100%;
    margin: 0 auto 10%;
    background: url(../images/ph/bearing_bg3@2x.png) no-repeat center center;
    padding-top: 58%;
  }
  .bearing-handled .sec-name {
    text-align: right;
    position: relative;
  }
  .bearing-handled .sec-name:after {
    content: url(../images/page/bearing_handled.png);
    position: absolute;
    bottom: -0.5rem;
    right: 25rem;
  }
}
.bearing-handled .detail {
  border-left: none;
  border-right: 1rem solid #b2b2b2;
  text-align: right;
  font-size: 2.2rem;
}
.bearing-handled li {
  list-style: none;
}

@media print, screen and (min-width: 800px) {
  .bearing-association .sec-name {
    text-align: right;
    width: 50%;
    margin-right: 10%;
    margin-left: auto;
  }
}
/*  2-2: ハイスピードシャッター  */
.highspeedshutter .lead {
  color: #0060b6;
}
.highspeedshutter .caption {
  color: #0060b6;
  font-weight: normal;
}
.highspeedshutter .sec {
  position: relative;
}
.highspeedshutter .point {
  line-height: 2;
  background: #0060b6;
  display: inline-block;
  padding: 0 0.5rem;
  color: #fff;
  border-radius: 0.5rem;
}
.highspeedshutter.page-container ul {
  list-style-position: inside;
  margin: 2rem 0 1rem;
}
.highspeedshutter .annotation > li {
  list-style: none;
}

.hs-outdoors .caption > .point {
  font-size: 0.75em;
  margin: -1px 2px;
  height: 3rem;
}

a {
  color: #404040;
  text-decoration: none;
}

.caption2 {
  font-size: 1.3em;
  margin-top: 3%;
}

.hs-lead .exposition > p:first-of-type {
  color: #0060b6;
}

.point-list {
  list-style-type: none;
  display: flex;
  gap: 1em;
  color: #0060b6;
}
.point-list li {
  aspect-ratio: 1/1;
  border: 1px solid #0060b6;
  border-radius: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.point-list li:nth-of-type(2) {
  white-space: nowrap;
}

.maior_list li {
  list-style: none;
}
.maior_list li::before {
  content: "●";
  color: #0060b6;
}

/*=======PC　ハイスピードシャッター======*/
@media print, screen and (min-width: 800px) {
  #highspeedshutter {
    padding: 0;
  }
  .units {
    display: flex;
    width: 80%;
    margin: auto;
    align-items: center;
  }
  .lead {
    line-height: 1.2;
    margin-bottom: 10px;
  }
  .caption {
    font-size: 24px;
    margin-top: 4%;
    line-height: 1.3;
  }
  .hs-lead {
    background: url(../images/page/st_highspeedshutter.png) top center no-repeat;
    width: 100%;
    min-height: 721px;
    background-size: contain;
  }
  .hs-lead .exposition {
    padding-top: 30%;
  }
  .hs-lead .exposition > p:first-of-type {
    font-size: 24px;
  }
  .hs-lead .point-list li {
    font-size: 16px;
    width: 202px;
    padding: 2.2em;
  }
  .hs-lead .point-list li strong {
    font-size: 32px;
    line-height: 1;
    font-weight: normal;
  }
  .hs-lead .caption {
    font-size: 24px;
  }
  .hs-lead .caption > strong {
    font-size: 1.3em;
    font-weight: normal;
    padding-top: 0.5rem;
  }
  .hs-indoor.is-layout-flex {
    gap: 2em;
  }
  .hs-indoor > .sec-name {
    position: relative;
    width: 90%;
    font-size: 50px;
    padding: 15px 0;
  }
  .hs-indoor > .sec-name:after {
    content: " ";
    margin: 0 calc(50% - 50vw);
    width: 90vw;
    -webkit-clip-path: polygon(0 0, 100% 25%, 100% 75%, 0% 100%);
    clip-path: polygon(0 0, 100% 25%, 100% 75%, 0% 100%);
    height: 110%;
    position: absolute;
    background: #ccc;
    z-index: -2;
    top: -2.5%;
    left: 0%;
  }
  .hs-indoor:after {
    content: "";
    margin: 0 auto;
    position: absolute;
    top: -5%;
    padding-top: 35%;
    width: 100vw;
    max-width: 1400px;
    background: url(../images/page/hs_sec2bg.png) top center no-repeat;
    background-size: contain;
    display: block;
    z-index: -1;
  }
  .hs-indoor .unit {
    margin-top: 4%;
  }
  .hs-indoor .unit .caption:first-of-type {
    margin-top: 0;
  }
  .hs-indoor .hs_4 {
    padding-top: 5%;
  }
  .hs-indoor .star li {
    list-style: none;
  }
  .hs-indoor .star li::before {
    content: "*";
  }
  .hs-indoor .hs_text {
    width: 68%;
  }
  .hs-indoor .lead {
    font-size: 37px;
  }
  .hs-outdoors.is-layout-flex {
    gap: 2em;
  }
  .hs-outdoors > .sec-name {
    position: relative;
    width: 90%;
    font-size: 50px;
    padding: 15px 0;
    text-align: right;
  }
  .hs-outdoors > .sec-name:after {
    content: " ";
    margin: 0 calc(50% - 50vw);
    width: 90vw;
    -webkit-clip-path: polygon(0 25%, 100% 0, 100% 100%, 0 75%);
    clip-path: polygon(0 25%, 100% 0, 100% 100%, 0 75%);
    height: 110%;
    position: absolute;
    background: #ccc;
    z-index: -2;
    top: -2.5%;
    right: -10%;
  }
  .hs-outdoors:after {
    content: "";
    width: 100vw;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 585px;
    max-width: 1600px;
    background: url(../images/page/hs_sec3bg.png) top center no-repeat;
    z-index: -1;
  }
  .hs-outdoors .in-box-right {
    width: 52%;
    margin-left: auto;
    margin-right: 0;
  }
  section.hs-maker {
    margin: auto;
    width: 80%;
    color: #948f8f;
    font-size: 2.2rem;
  }
  section.hs-maker .sec-name > .desc {
    color: #404040;
    font-size: 1.4rem;
    display: block;
  }
  .maior_list {
    display: flex;
    gap: 10rem;
  }
}
@media print {
  .hs-lead .caption {
    font-size: 2rem;
  }
  .hs-lead .caption > span {
    font-size: 1.8rem;
    padding-top: 0;
  }
  #highspeedshutter .box .caption:first-child {
    font-size: 2.3rem;
  }
  .hs-lead .exposition {
    margin-bottom: 8%;
  }
}
@media only screen and (max-width: 900px) {
  #highspeedshutter .box .caption:first-child {
    font-size: 2.8rem;
  }
}
/*=======スマホ　ハイスピードシャッター======*/
@media only screen and (max-width: 799px) {
  #highspeedshutter {
    width: 98%;
    margin: auto;
  }
  #highspeedshutter .caption {
    font-size: 1.5em;
  }
  #highspeedshutter .unit .caption,
#highspeedshutter .box .caption:nth-of-type(2) {
    margin-top: 10%;
    font-size: 1.8rem;
  }
  #highspeedshutter .sp_disp img {
    max-width: 100%;
    width: 100%;
  }
  #highspeedshutter .margin-block {
    margin-block: 2.5em;
  }
  .exposition > p:first-of-type {
    font-size: 18px;
  }
  .point-list {
    gap: 0.3em;
  }
  .point-list li {
    font-size: 10px;
    width: calc((100% - 0.6em) / 3);
    padding: 1.25em;
  }
  .point-list li strong {
    font-size: 18px;
    line-height: 1;
  }
  .hs-lead .caption strong {
    display: block;
    margin-bottom: 1em;
  }
  .hs-indoor {
    line-height: 1.6;
  }
  .hs-indoor > .sec-name {
    background: url(../images/ph/page/hs_sectitle1@2x.png) top center no-repeat;
    text-indent: 100%;
    width: 100%;
    aspect-ratio: 38/51;
    white-space: nowrap;
    overflow: hidden;
    background-size: contain;
    margin-bottom: 3em;
  }
  .hs-indoor .lead {
    font-size: 1.5em;
    line-height: 1.2;
  }
  .hs-indoor .caption {
    margin-top: 1.5em;
  }
  .hs-indoor .margin-block:last-of-type {
    -webkit-margin-before: 0 !important;
            margin-block-start: 0 !important;
  }
  .hs-indoor .margin-block:last-of-type img {
    aspect-ratio: 75/23;
  }
  .hs-outdoors {
    line-height: 1.6;
  }
  .hs-outdoors > .sec-name {
    background: url(../images/ph/page/hs_sectitle2@2x.png) top center no-repeat;
    text-indent: 100%;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: contain;
    aspect-ratio: 376/443;
    margin-bottom: 3em;
  }
  .hs-outdoors .lead {
    font-size: 1.5em;
    line-height: 1.2;
  }
  .hs-outdoors .caption {
    margin-top: 1.5em;
    padding: 0.3em;
  }
  .caption > span {
    margin: 0 2px;
  }
}
/*  5: シャッター開閉器 shutter opener */
.page-container.shuttermotor .sec-title {
  color: #404040;
  transform: initial;
  font-weight: 600;
  line-height: 1.2;
}
.page-container.shuttermotor .sec-title:before, .page-container.shuttermotor .sec-title:after {
  content: none;
}
.page-container.shuttermotor .series-list {
  color: #46b7e8;
  font-size: clamp(16px, 2.2vw, 30px);
}
.page-container.shuttermotor .series-list li {
  list-style-type: none;
  white-space: nowrap;
}
.page-container.shuttermotor .series-box {
  -moz-column-gap: 3em;
       column-gap: 3em;
}
.page-container.shuttermotor .series-box .sec {
  display: grid;
  grid-template-columns: 35% auto;
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  position: relative;
}
.page-container.shuttermotor .series-box .sec-title {
  grid-column: 1/3;
  grid-row: 1/2;
}
.page-container.shuttermotor .series-box .item-image {
  grid-column: 2/3;
  grid-row: 3/4;
  align-self: end;
}
.page-container.shuttermotor .series-box .item-text {
  grid-column: 1/3;
  grid-row: 2/3;
}
.page-container.shuttermotor .series-box .series-list {
  grid-column: 1/2;
  grid-row: 3/4;
  align-self: center;
}
.page-container.shuttermotor .sec-explosion {
  height: 100%;
}
.page-container.shuttermotor .sec-explosion .series-list {
  margin-top: auto;
}
.page-container.shuttermotor .sec-our .sec-title {
  color: #b2a9a1;
}
.page-container.shuttermotor .sec-our ul {
  font-size: 1.4em;
  list-style-position: inside;
  margin-top: 1.5em;
}

@media print, screen and (min-width: 800px) {
  .page-container.shuttermotor {
    padding-top: 20px;
  }
  .page-container.shuttermotor > .sec-name {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    aspect-ratio: 1607/746;
    background: url(../images/page/st_shuttermotor.png) top center no-repeat;
    background-size: contain;
  }
  .series-box {
    margin-inline: calc(50% - 50cqw);
    width: 100vw;
    grid-template-rows: repeat(2, auto);
  }
  .series-box .sec {
    margin: 0;
    padding: 4%;
  }
  .series-box .sec:after {
    position: absolute;
    content: " ";
    height: 1px;
    width: calc(100% + 1.5em + 2em);
    background-color: #ccc;
    bottom: 0;
    left: -2em;
  }
  .series-box .sec:nth-child(2n):before {
    position: absolute;
    content: " ";
    width: 1px;
    height: calc(100% - 2em);
    background-color: #ccc;
    left: -2.25em;
    top: 1em;
  }
  .series-box .sec:nth-child(2n):after {
    left: -1.5em;
  }
  .so-index {
    position: relative;
    margin-inline: calc(50% - 50cqw);
    width: 100vw;
    padding: 4%;
    gap: 0;
  }
  .so-index:after {
    position: absolute;
    content: "";
    width: 100%;
    top: -30%;
    right: 0;
    height: 100%;
    background: url(../images/page/so_bg.png) bottom right no-repeat;
    background-size: contain;
    padding-top: 36%;
    margin-right: calc(50% - 50vw);
    z-index: -1;
  }
  .so-index > .wp-block-column:nth-child(1) {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    min-width: 45%;
  }
  .sec-our {
    margin-inline: calc(50% - 50cqw);
    width: 100vw;
    padding: 4%;
  }
}
@media screen and (max-width: 799px) {
  .page-container.shuttermotor > .sec-name {
    background: url(../images/ph/page/st_shuttermotor@2x.png) top center no-repeat;
    text-indent: 100%;
    width: 100%;
    padding-top: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: cover;
  }
  .page-container.shuttermotor .sec {
    margin: 0;
    padding-block: 1em;
    border-bottom: 1px solid #ccc;
  }
  .page-container.shuttermotor .series-box.is-layout-grid {
    display: block;
  }
  .page-container.shuttermotor .sec.so-index {
    position: relative;
    display: grid;
    grid-template-columns: 35% auto;
    grid-auto-rows: -webkit-min-content;
    grid-auto-rows: min-content;
    margin-top: 0%;
    margin-bottom: 60%;
  }
  .page-container.shuttermotor .sec.so-index .sec-title {
    grid-column: 1/3;
    grid-row: 1/2;
  }
  .page-container.shuttermotor .sec.so-index .item-image {
    grid-column: 2/3;
    grid-row: 2/4;
    align-self: end;
  }
  .page-container.shuttermotor .sec.so-index .item-text {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .page-container.shuttermotor .sec.so-index .series-list {
    grid-column: 1/2;
    grid-row: 3/4;
    align-self: center;
  }
  .page-container.shuttermotor .sec.so-index:after {
    content: "";
    width: 100%;
    bottom: calc(-100% - 1em);
    right: 0;
    height: 100%;
    background: url(../images/page/so_bg.png) top right no-repeat;
    background-size: contain;
    aspect-ratio: 857/712;
    margin-right: calc(50% - 50vw);
    z-index: -1;
    position: absolute;
  }
  .page-container.shuttermotor .sec.so-index > .wp-block-column:not(:nth-child(2)),
.page-container.shuttermotor .sec.so-index .sec-explosion {
    display: contents;
  }
}
/*  5: アクセス  */
.sec-access h3 {
  color: #0072CA;
  font-size: 1.8em;
}
.sec-access h3 span {
  display: block;
  font-size: 0.7em;
  color: #999;
}
.sec-access .traffic h3 {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 2em;
  margin: 0 0 1rem;
}

.map {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

.google_btn {
  text-align: right;
}

@media print, screen and (min-width: 800px) {
  .accsess-wrap {
    display: flex;
  }
  .sec-access address {
    margin: 5% 0 15%;
  }
  .page-container .sec-map {
    margin: 0 auto;
  }
}
@media only screen and (max-width: 799px) {
  .accsess-wrap {
    margin-top: 10%;
  }
  .sec-access h3 {
    font-size: 1.6em;
    line-height: 1.2;
  }
  .sec-access address {
    margin: 5% 0 10%;
  }
}
/*　6: お問い合わせ  */
.page-container .intro {
  margin-bottom: 5rem;
}
.page-container table.cform {
  width: 100%;
}
.page-container table.cform th {
  text-align: left;
  font-weight: normal;
  display: inline-block;
  vertical-align: middle;
}
.page-container table.cform th span {
  background: #0072CA;
  color: #fff;
  font-size: 1.2rem;
  padding: 0.3rem;
  vertical-align: middle;
  margin-left: 1rem;
}
.page-container table.cform input,
.page-container table.cform textarea,
.page-container table.cform select {
  border-style: solid;
  line-height: 2;
  font-size: 16px;
}
.page-container .user-policy label {
  font-size: 2rem;
}
.page-container .user-policy .pp {
  margin: 2rem 0;
  padding: 1rem;
}
.page-container .user-policy .pp a {
  -webkit-text-decoration: revert;
          text-decoration: revert;
}
.page-container .inquiry textarea {
  min-height: 12.4rem;
  width: 98%;
}
.page-container .submit-btn {
  margin: 3% auto 10%;
}
.page-container .submit-btn input {
  line-height: 3;
  background: #0072CA;
  padding: 0 2em;
  font-size: 1.5em;
  margin: auto;
  display: block;
  color: #fff;
}
.page-container .submit-btn .email {
  width: 100%;
}
@media print, screen and (min-width: 800px) {
  .page-container .page-contact {
    width: 880px;
    margin: auto;
  }
  .page-container table.cform {
    font-size: 1.2em;
    width: 100%;
  }
  .page-container table.cform th,
.page-container table.cform td {
    padding: 1em;
  }
  .page-container table.cform th {
    width: 20rem;
  }
  .page-container table.cform .category > th {
    padding: 5rem 1rem;
  }
  .page-container table.cform .inquiry > th {
    padding: 3rem 1rem 6rem;
  }
  .page-container table.cform .inquiry td {
    padding-top: 3rem;
  }
  .page-container .orange {
    padding: 20px;
    background: #e8ae46;
    font-size: 20px;
  }
  .page-container .blue {
    padding: 20px;
    background: #46b7e8;
  }
}
@media only screen and (max-width: 799px) {
  .page-container table.cform th,
.page-container table.cform td {
    display: block;
  }
  .page-container table.cform th {
    padding: 5% 0 1%;
  }
  .page-container .orange {
    padding: 10px;
    background: #e8ae46;
    font-size: 16px;
  }
  .page-container .blue {
    padding: 10px;
    background: #46b7e8;
  }
  .page-container .tel_box tr {
    display: flex;
    flex-direction: column;
  }
}