@charset "UTF-8";
/* [ 大阪真空機器（日英中） ] common.css */
/* [ 株式会社大阪真空機器製作所 ] setting */
/* [ 株式会社大阪真空機器製作所 ] component */
@media screen and (min-width: 769px) {
  .pcnone {
    display: none !important;
  }

  .spnone {
    display: inherit;
  }
}
/* */
@media only screen and (max-width: 768px) {
  .pcnone {
    display: inherit;
  }

  .spnone {
    display: none !important;
  }
}
/* */
/* [ 中国語だけ非表示 ] */
html[lang="zh-Hans"] .cn-none {
  display: none !important;
}

@media screen and (min-width: 769px) {
  h1 {
    font-size: min(calc(11.0rem * 0.6), calc(5.73vw * 0.6));
    font-weight: 700;
  }
}
@media only screen and (max-width: 768px) {
  h1 {
    font-size: calc(80 * 1px);
    font-size: calc(calc(100 / 768px) * 80 * 1vw);
    font-weight: 800;
  }
}

/* [ テキスト ] */
.bl-ttl {
  color: #337CCF;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .bl-ttl {
    font-size: clamp(1.8rem, 1.04vw, 2rem);
  }
}
@media only screen and (max-width: 768px) {
  .bl-ttl {
    font-size: clamp(1.6rem, 4.27vw, 1.8rem);
  }
}

.bg-bl-ttl {
  width: 100%;
  color: #fff;
  font-weight: 500;
  background: #337CCF;
  padding: 0.5em 0.5em 0.25em;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .bg-bl-ttl {
    font-size: clamp(1.8rem, 1.04vw, 2rem);
  }
}
@media only screen and (max-width: 768px) {
  .bg-bl-ttl {
    font-size: clamp(1.6rem, 4.27vw, 1.8rem);
  }
}

.nl-txt {
  font-size: clamp(1.4rem, 0.83vw, 1.6rem) !important;
  line-height: 1.75;
}
.nl-txt b {
  color: #337CCF;
}
@media only screen and (max-width: 768px) {
  .nl-txt {
    font-size: 1.4rem !important;
  }
}

.s-txt {
  font-size: clamp(1.2rem, 0.73vw, 1.4rem) !important;
  line-height: 1.75;
}
.s-txt b {
  color: #337CCF;
}
@media only screen and (max-width: 768px) {
  .s-txt {
    font-size: 1.2rem !important;
  }
}

.txt-bold {
  font-weight: 700 !important;
}

.txt-md {
  font-weight: 500 !important;
}

.txt-reg {
  font-weight: 400 !important;
}

.txt-red {
  color: #D94848;
}

.txt-accent {
  color: #337CCF;
}

.txt-attn {
  color: #F90000;
}

.txt-orn {
  color: #FF7653;
}

.column-2 {
  width: calc(100% / 2);
}

.column-3 {
  width: calc(100% / 3);
}

/* [ 画像4：テキスト6 ] */
.flex4-6 .item4.youtube iframe {
  height: auto;
  aspect-ratio: 16 / 9;
}
.flex4-6 .item4.movie video {
  height: auto;
  aspect-ratio: 4 / 3;
}
.flex4-6 .item6 p {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .flex4-6 {
    display: flex;
    align-items: flex-start;
    gap: 30px;
  }
  .flex4-6 .item4 {
    width: calc(45% - 15px) !important;
  }
  .flex4-6 .item4.youtube iframe {
    width: 100%;
  }
  .flex4-6 .item4.movie video {
    width: 100%;
  }
  .flex4-6 .item4:has(img) img {
    width: 100%;
  }
  .flex4-6 .item6 {
    width: calc(55% - 15px) !important;
  }
  .flex4-6 .item6 p {
    line-height: 1.875;
  }
  .flex4-6 .item6 p + p {
    margin-top: 1.0em;
  }
}
@media only screen and (max-width: 768px) {
  .flex4-6 {
    display: block;
  }
  .flex4-6 [class^="item"] {
    width: 100%;
  }
  .flex4-6 .item4 {
    margin-bottom: 25px;
  }
  .flex4-6 .item4.youtube {
    display: flex;
    justify-content: center;
  }
  .flex4-6 .item4.youtube iframe {
    width: 90%;
  }
  .flex4-6 .item4.movie {
    display: flex;
    justify-content: center;
  }
  .flex4-6 .item4.movie video {
    width: 90%;
  }
  .flex4-6 .item4:has(img) img {
    width: 90%;
  }
  .flex4-6 .item6 p {
    font-size: 1.4rem;
    line-height: 1.571;
  }
  .flex4-6 .item6 p + p {
    margin-top: 0.8em;
  }
}

/* [ 画像3：テキスト7 ] */
.flex3-7 .item3.youtube iframe {
  height: auto;
  aspect-ratio: 16 / 9;
}
.flex3-7 .item3.movie video {
  height: auto;
  aspect-ratio: 4 / 3;
}
.flex3-7 .item7 p {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .flex3-7 {
    display: flex;
    align-items: center;
    gap: 45px;
  }
  .flex3-7 .item3 {
    display: flex;
    justify-content: center;
    width: calc(30% - 22.5px);
  }
  .flex3-7 .item3.youtube iframe {
    width: 100%;
  }
  .flex3-7 .item3.movie video {
    width: 100%;
  }
  .flex3-7 .item3:has(img) img {
    width: 100%;
    max-width: 237px;
  }
  .flex3-7 .item7 {
    width: calc(70% - 22.5px);
  }
  .flex3-7 .item7 p {
    line-height: 1.875;
  }
  .flex3-7 .item7 p + p {
    margin-top: 1.0em;
  }
}
@media only screen and (max-width: 768px) {
  .flex3-7 {
    display: block;
  }
  .flex3-7 [class^="item"] {
    width: 100%;
  }
  .flex3-7 .item3 {
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
  }
  .flex3-7 .item3.youtube iframe {
    width: 90%;
  }
  .flex3-7 .item3.movie video {
    width: 90%;
  }
  .flex3-7 .item3:has(img) img {
    width: 90%;
  }
  .flex3-7 .item7 p {
    font-size: 1.4rem;
    line-height: 1.571;
  }
  .flex3-7 .item7 p + p {
    margin-top: 0.8em;
  }
}

/* [ 画像5：テキスト5 ] */
.flex-half {
  display: flex;
  align-items: center;
}
.flex-half .half-item img {
  width: 90%;
}
@media screen and (min-width: 769px) {
  .flex-half {
    justify-content: space-between;
  }
  .flex-half .half-item {
    width: 50%;
  }
}
@media only screen and (max-width: 768px) {
  .flex-half {
    justify-content: center;
    flex-direction: column;
    gap: 1em;
  }
  .flex-half .half-item {
    width: 100%;
  }
}

.ma-center {
  margin: 0 auto;
}

.justify-col-center {
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media only screen and (max-width: 768px) {
  .justify-col-center > picture {
    width: 90%;
  }
  .justify-col-center > img {
    width: 90%;
  }
}

@media only screen and (max-width: 768px) {
  .selectbox {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
  .selectbox .selectbox-wrap {
    position: relative;
  }
  .selectbox .selectbox-wrap::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 9px;
    width: 15px;
    height: calc(tan(60deg) * 15px / 2);
    background: #ffffff;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: translateY(-50%);
    pointer-events: none;
  }
}
.dnv-btn {
  display: block;
  position: relative;
  width: fit-content;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  border: 2px solid transparent;
  border-radius: 50px;
  background: #2D3351;
}
.dnv-btn::before {
  content: '';
  position: absolute;
  top: 52%;
  height: auto;
  aspect-ratio: 12 / 17;
  mask-repeat: no-repeat;
  background: #2D3351;
  mask-size: contain;
  mask-image: url("../img/icon_arrow.svg");
  transform: translateY(-50%);
  z-index: +1;
}
.dnv-btn::after {
  content: '';
  display: inline-block;
  height: auto;
  aspect-ratio: 1 / 1;
  vertical-align: text-bottom;
  border: 2px solid #2D3351;
  border-radius: 50%;
  background: #fff;
  transition: all .4s ease;
}
@media (hover: hover) {
  .dnv-btn:hover {
    color: #2D3351;
    background: #fff;
    border-color: #2D3351;
  }
  .dnv-btn:hover::before {
    background: #fff;
  }
  .dnv-btn:hover::after {
    background: #2D3351;
  }
}
@media screen and (min-width: 769px) {
  .dnv-btn {
    font-size: 2.0rem;
    padding: 14px 27.5px 12px;
  }
  .dnv-btn::before {
    right: 35px;
    width: 12px;
  }
  .dnv-btn::after {
    width: 30px;
    margin-left: 0.5em;
  }
}
@media only screen and (max-width: 768px) {
  .dnv-btn {
    font-size: 1.6rem;
    padding: 11px 22px 9px;
  }
  .dnv-btn::before {
    right: 28px;
    width: 9px;
  }
  .dnv-btn::after {
    width: 24px;
    margin-left: 0.25em;
  }
}

.white-btn {
  display: flex;
  align-items: center;
  position: relative;
  width: fit-content;
  color: #425672;
  font-weight: 700;
  letter-spacing: 0.1em;
  border: 2px solid #425672;
  border-radius: 50px;
  background: #fff;
}
.white-btn::before {
  content: '';
  display: inline-block;
  height: auto;
  aspect-ratio: 1 / 1;
  vertical-align: text-bottom;
  border-radius: 50%;
  background: #425672;
  box-shadow: 0 0 6.8px 0 rgba(57, 113, 141, 0.8);
  transition: all .4s ease;
}
.white-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  height: auto;
  aspect-ratio: 12 / 17;
  mask-repeat: no-repeat;
  background: #fff;
  mask-size: contain;
  mask-image: url("../img/icon_arrow.svg");
  transform: translateY(-50%) scale(-1, 1);
  z-index: +1;
}
@media (hover: hover) {
  .white-btn:hover {
    color: #fff;
    background: #425672;
  }
  .white-btn:hover::before {
    background: #fff;
  }
  .white-btn:hover::after {
    background: #425672;
  }
}
@media screen and (min-width: 769px) {
  .white-btn {
    font-size: 2.4rem;
    padding: 25px 47px 23px;
  }
  .white-btn::before {
    width: 40px;
    margin-right: 1.0em;
  }
  .white-btn::after {
    left: calc(47px + 12px);
    width: 15px;
  }
}
@media only screen and (max-width: 768px) {
  .white-btn {
    gap: 0.5em;
    font-size: 1.6rem;
    padding-left: 23px;
    padding-right: 23px;
  }
  .white-btn span {
    width: calc(100% - (29px + 0.5em));
    padding: 12px 0 11px;
  }
  .white-btn::before {
    width: 29px;
  }
  .white-btn::after {
    left: calc(23px + 0.5em);
    width: 12px;
  }
}

.ma00 {
  margin: 0px !important;
}

.mt00 {
  margin-top: 0px !important;
}

.mb00 {
  margin-bottom: 0px !important;
}

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

.mr00 {
  margin-right: 0px !important;
}

/* 基準 1920px */
@media screen and (min-width: 769px) {
  .pc-ma00 {
    margin: 0px !important;
  }

  .pc-mt00 {
    margin-top: 0px !important;
  }

  .pc-mt05 {
    margin-top: 0.26vw !important;
  }

  .pc-mt10 {
    margin-top: 0.52vw !important;
  }

  .pc-mt15 {
    margin-top: 0.78vw !important;
  }

  .pc-mt20 {
    margin-top: 1.04vw !important;
  }

  .pc-mt25 {
    margin-top: 1.3vw !important;
  }

  .pc-mt30 {
    margin-top: 1.56vw !important;
  }

  .pc-mt35 {
    margin-top: 1.82vw !important;
  }

  .pc-mt40 {
    margin-top: 2.08vw !important;
  }

  .pc-mt50 {
    margin-top: 2.6vw !important;
  }

  .pc-mt60 {
    margin-top: 3.13vw !important;
  }

  .pc-mt65 {
    margin-top: 3.39vw !important;
  }

  .pc-mt70 {
    margin-top: 3.65vw !important;
  }

  .pc-mt75 {
    margin-top: 3.91vw !important;
  }

  .pc-mt80 {
    margin-top: 4.17vw !important;
  }

  .pc-mt100 {
    margin-top: 5.21vw !important;
  }

  .pc-mt125 {
    margin-top: 6.51vw !important;
  }

  .pc-mt140 {
    margin-top: 7.29vw !important;
  }

  .pc-mt180 {
    margin-top: 9.38vw !important;
  }

  .pc-mb00 {
    margin-bottom: 0px !important;
  }

  .pc-mb05 {
    margin-bottom: 0.26vw !important;
  }

  .pc-mb15 {
    margin-bottom: 0.78vw !important;
  }

  .pc-mb20 {
    margin-bottom: 1.04vw !important;
  }

  .pc-mb30 {
    margin-bottom: 1.56vw !important;
  }

  .pc-mb35 {
    margin-bottom: 1.82vw !important;
  }

  .pc-mb40 {
    margin-bottom: 2.08vw !important;
  }

  .pc-mb50 {
    margin-bottom: 2.6vw !important;
  }

  .pc-mb60 {
    margin-bottom: 3.13vw !important;
  }

  .pc-mb70 {
    margin-bottom: 3.65vw !important;
  }

  .pc-mb85 {
    margin-bottom: 4.43vw !important;
  }

  .pc-mb100 {
    margin-bottom: 5.21vw !important;
  }

  .pc-mb110 {
    margin-bottom: 5.73vw !important;
  }

  .pc-mb120 {
    margin-bottom: 6.25vw !important;
  }

  .pc-mb130 {
    margin-bottom: 6.77vw !important;
  }

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

  .pc-mr00 {
    margin-right: 0px !important;
  }
}
/* 基準 375px */
@media only screen and (max-width: 768px) {
  .sp-ma00 {
    margin: 0px !important;
  }

  .sp-mt00 {
    margin-top: 0px !important;
  }

  .sp-mt10 {
    margin-top: 2.67vw !important;
  }

  .sp-mt15 {
    margin-top: 4vw !important;
  }

  .sp-mt20 {
    margin-top: 5.33vw !important;
  }

  .sp-mt25 {
    margin-top: 6.67vw !important;
  }

  .sp-mt30 {
    margin-top: 8vw !important;
  }

  .sp-mt35 {
    margin-top: 9.33vw !important;
  }

  .sp-mt45 {
    margin-top: 12vw !important;
  }

  .sp-mt50 {
    margin-top: 13.33vw !important;
  }

  .sp-mt60 {
    margin-top: 16vw !important;
  }

  .sp-mt80 {
    margin-top: 21.33vw !important;
  }

  .sp-mb00 {
    margin-bottom: 0px !important;
  }

  .sp-mb10 {
    margin-bottom: 2.67vw !important;
  }

  .sp-mb20 {
    margin-bottom: 5.33vw !important;
  }

  .sp-mb30 {
    margin-bottom: 8vw !important;
  }

  .sp-mb40 {
    margin-bottom: 10.67vw !important;
  }

  .sp-mb45 {
    margin-bottom: 12vw !important;
  }

  .sp-mb50 {
    margin-bottom: 13.33vw !important;
  }

  .sp-mb70 {
    margin-bottom: 18.67vw !important;
  }

  .sp-mb90 {
    margin-bottom: 24vw !important;
  }

  .sp-mb110 {
    margin-bottom: 29.33vw !important;
  }

  .sp-mb120 {
    margin-bottom: 32vw !important;
  }

  .sp-mb160 {
    margin-bottom: 42.67vw !important;
  }

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

  .sp-mr00 {
    margin-right: 0px !important;
  }
}
