@charset "utf-8";
body {
    overflow-x: hidden;
}
/*MV*/
.top_mv {
    position: relative;
    width: 100%;
    padding: unset;
    margin-top: 136px;
}
.top_mv::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(2,2,2,0.35);
    z-index: 2;
}
.top_mv .swiper {
    width: 100%;
    height: 400px;
}
.top_mv .swiper-wrapper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}
.top_mv .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* ドットの位置調整 */
.top_mv .swiper-pagination {
  position: absolute;
  bottom: -2em !important;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 3;
  overflow: visible;
}
/* 各ドットのスタイル */
.top_mv .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  border: 1px solid var(--color-blue);
  background: transparent;
  opacity: 1;
  margin: 0 5px !important;
  transition: 0.3s;
}
/* アクティブ時：塗りつぶし */
.top_mv .swiper-pagination-bullet-active {
  background: var(--color-blue);
}

.top_mv h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: var(--color-white);
    font-size: var(--fsize-28);
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 98%;
    text-align: center;
    white-space: nowrap;
    z-index: 3;
}
.top_mv h2 span {
    font-family: var(--font-en);
    font-size: var(--fsize-20);
    font-weight: 400;
    line-height: 1.8;
    display: block;
    padding: .5em 0 0 0;
}

/*--------------------------------responsive */
@media screen and (max-width: 1450px) {
    .top_mv {
        margin-top: 130px;
    }
}
@media screen and (max-width: 1400px) {
    .top_mv h2 {
        font-size: var(--fsize-26);
    }
    .top_mv h2 span {
        font-size: var(--fsize-18);
    }
}
@media screen and (max-width: 1350px) {
    .top_mv {
        margin-top: 116px;
    }
}
@media screen and (max-width: 1300px) {
    .top_mv h2 {
        font-size: var(--fsize-24);
    }
    .top_mv h2 span {
        font-size: var(--fsize-16);
    }
}
@media screen and (max-width: 1200px) {
    .top_mv {
        margin-top: 84px;
    }
}
@media screen and (max-width: 1100px) {
    .top_mv h2 {
        white-space: wrap;
        text-align: left;
        width: 90%;
        font-size: var(--fsize-22);
    }
    .top_mv h2 span {
        font-size: var(--fsize-15);
    }
}
@media screen and (max-width: 800px) {
    .top_mv h2 {
        font-size: var(--fsize-20);
    }
    .top_mv .swiper {
        height: 350px;
    }
}
@media screen and (max-width: 480px) {
    .top_mv {
        margin-top: 66px;
    }
    .top_mv h2 {
        font-size: var(--fsize-18);
    }
    .top_mv h2 span {
        font-size: var(--fsize-14);
    }
    .top_mv .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
    }
}

/*バナーエリア*/
.top_bannerarea {
    background-color: #f5f5f7;
}
.top_banner_movie {
    display: flex;
    justify-content: center;
    margin: 1em 0 2em 0;
}
.top_banner_movie a:hover {
    opacity: 0.8;
}
.top_banner_menu {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 2%;
    row-gap: 3em;
    padding: unset;
}
.top_banner_menu .top_banner_item {
    width: 31%;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0 0 .5em 0;
}
.top_banner_menu .top_banner_item.management {
    background: linear-gradient(-65deg, #5e8c3e 0%, #629242 100%);
}
.top_banner_menu .top_banner_item.product {
    background: linear-gradient(-65deg, #863148 0%, #a5415b 100%);
}
.top_banner_menu .top_banner_item.factory {
    background: linear-gradient(-65deg, #b46112 0%, #d9822b 100%);
}
.top_banner_menu .top_banner_item.book {
    background: linear-gradient(-65deg, #18453d 0%, #2a665d 100%);
}
.top_banner_menu .top_banner_item.notification {
    background: linear-gradient(-65deg, #444 0%, #666 100%);
}
.top_banner_menu .top_banner_item.center {
    background: linear-gradient(-65deg, #0d446e 0%, #216ea6 100%);
}
.top_banner_menu .top_banner_item .top_banner_title {
    position: relative;
    min-height: 3.7em;
    line-height: 26px;
    margin: .5em 0 .3em 5%;
    display: flex;
    align-items: center;
    gap: .7em;
}
.top_banner_menu .top_banner_item .top_banner_title a {
    font-size: var(--fsize-24);
    color: var(--color-white);
    line-height: 30px;
    letter-spacing: 0.06em;
    /* position: relative; */
    display: inline-block;
}
.top_banner_menu .top_banner_item .top_banner_title a:hover {
    opacity: 0.7;
    transition: all 0.3s;
}
.top_banner_item.management .top_banner_title .icon {
  width: 17.5%;
  aspect-ratio: 69 / 60;
  background: url("../img/top_icon_kanri.svg") no-repeat center / contain;
  flex-shrink: 0;
}
.top_banner_item.product .top_banner_title .icon {
  width: 14.8%;
  aspect-ratio: 59 / 62;
  background: url("../img/top_icon_seihin.svg") no-repeat center / contain;
  flex-shrink: 0;
}
.top_banner_item.factory .top_banner_title .icon {
  width: 12.5%;
  aspect-ratio: 50 / 57;
  background: url("../img/top_icon_seisaku.svg") no-repeat center / contain;
  flex-shrink: 0;
}
.top_banner_item.book .top_banner_title .icon {
  width: 16.3%;
  aspect-ratio: 65 / 50;
  background: url("../img/top_icon_book.svg") no-repeat center / contain;
  flex-shrink: 0;
}
.top_banner_item.notification .top_banner_title .icon {
  width: 12.8%;
  aspect-ratio: 51 / 52;
  background: url("../img/top_icon_sinsei.svg") no-repeat center / contain;
  flex-shrink: 0;
}
.top_banner_item.center .top_banner_title .icon {
  width: 12.3%;
  aspect-ratio: 49 / 55;
  background: url("../img/top_icon_center.svg") no-repeat center / contain;
  flex-shrink: 0;
}
.top_banner_menu .top_banner_item .top_banner_linkmenu {
    margin: 0 auto;
    padding: unset;
    width: 90%;
}
.top_banner_menu .top_banner_item .top_banner_linkmenu .top_banner_linkitem {
    margin: 0 0 .5em 0;
}
.top_banner_menu .top_banner_item .top_banner_linkmenu .top_banner_linkitem:last-child {
    margin: 0;
}
.top_banner_menu .top_banner_item .top_banner_linkmenu .top_banner_linkitem a {
    background-color: var(--color-white);
    border-radius: 6px;
    color: var(--color-base);
    font-size: var(--fsize-16);
    display: flex;
    padding: 2px 2em 2px 1em;
    position: relative;
    letter-spacing: 0.04em;
    min-height: 32px;
    line-height: 1;
    justify-content: center;
    flex-direction: column;
}
.top_banner_menu .top_banner_item .top_banner_linkmenu .top_banner_linkitem a:hover {
    background-color: #bbb;
    font-weight: 500;
}
.top_banner_menu .top_banner_item .top_banner_linkmenu .top_banner_linkitem a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1em;
    width: 7px;
    height: 7px;
    margin: auto;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg);
    box-sizing: border-box;
}
/*品質管理　性能評価についてのプルダウン*/
.top_banner_linkmenu .top_banner_linkitem.has-drop {
    position: relative;
}
.top_banner_linkmenu .top_banner_linkitem .top_banner_linkitem_drop {
    border-radius: 4px;
    position: absolute;
    left: 0;
    top: 80%;
    opacity: 0;
    visibility: hidden;
    z-index: 99;
    padding: unset;
    width: 100%;
}
.top_banner_linkmenu .top_banner_linkitem:hover .top_banner_linkitem_drop {
    opacity: 1;
    visibility: visible;
    transition: all .3s;
    z-index: 9;
}
.top_banner_linkmenu .top_banner_linkitem.has-drop .top_banner_linkitem_drop li a {
    background-color: var(--color-blue);
    color: var(--color-white);
    padding: 2px 4em 2px 1em;
    position: relative;
}
.top_banner_linkmenu .top_banner_linkitem.has-drop .top_banner_linkitem_drop li a:hover {
    background-color: #0d446e;
}
.top_banner_linkmenu .top_banner_linkitem.has-drop .top_banner_linkitem_drop li a::before {
    content: '';
    position: absolute;
    background: url("../img/icon_blank_white.svg") no-repeat center / contain;
    width: .8em;
    height: .8em;
    right: 2.5em;
}
.top_banner_linkmenu .top_banner_linkitem.has-drop .top_banner_linkitem_drop li a::after {
border-top: 1px solid var(--color-white);
border-right: 1px solid var(--color-white);
}

@media screen and (max-width: 1300px) {
    .top_banner_menu .top_banner_item .top_banner_title a {
        font-size: var(--fsize-20);
    }
}
@media screen and (max-width: 1200px) {
    .top_banner_movie a {
        display: flex;
        justify-content: center;
    }
    .top_banner_movie a img {
        width: 90%;
    }
    .top_banner_menu {
        justify-content: center;
        gap: 5%;
        row-gap: 2em;
    }
    .top_banner_menu .top_banner_item {
        width: 45%;
    }
    .top_banner_menu .top_banner_item .top_banner_title {
        margin: .5em 0 .3em 5%;
        min-height: 4em;
    }
    .top_banner_menu .top_banner_item .top_banner_linkmenu .top_banner_linkitem {
        margin: .2em 0 .5em 0;
    }
}
@media screen and (max-width: 1000px) {
    .top_banner_menu .top_banner_item .top_banner_linkmenu .top_banner_linkitem a {
        font-size: var(--fsize-14);
    }
}
@media screen and (max-width: 800px) {
    .top_banner_movie a img {
        width: 100%;
    }
    .top_banner_menu {
        justify-content: center;
        row-gap: 1.5em;
    }
    .top_banner_menu .top_banner_item {
        width: 100%;
    }
    .top_banner_menu .top_banner_item .top_banner_title a {
        font-size: var(--fsize-18);
    }
}
@media screen and (max-width: 480px) {
    .top_banner_movie {
        margin: .5em 0 1.5em 0;
    }
    .top_banner_menu .top_banner_item .top_banner_title {
        min-height: 3em;
    }
}

/*新着情報*/
.top_news {
    background: url("../img/news_back.jpg") no-repeat center / cover;
    padding: 3em 0 5em 0;
    position: relative;
}
.top_news::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,0.24);
}
.top_news h2{
    font-size: var(--fsize-32);
    font-weight: 500;
    text-align: center;
    position: relative;
    letter-spacing: 0.1em;
}
.top_news h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto -0.2em auto;
    background-color: var(--color-blue);
    width: 4.4em;
    height: 2px;
    border-radius: 4px;   
}
.top_news h2 span {
    font-size: var(--fsize-18);
    color: var(--color-blue);
    letter-spacing: 0.04em;
    position: absolute;
    top: -1.5em;
    left: -8em;
    right: 0;
    margin: auto;
}
.top_news .news_menu {
    max-width: 1280px;
    margin: 3em auto;
    padding: unset;
}
.top_news .news_menu hr {
    border: none;
    height: 1px;
    background-color: #999;
    margin: 1em auto;
    max-width: 1280px;
}
.top_news .news_menu .news_item {
    margin: 2em 0;
    position: relative;
}
.top_news .news_menu .news_item::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1em;
    width: 7px;
    height: 7px;
    margin: auto;
    border-top: 1px solid var(--color-blue);
    border-right: 1px solid var(--color-blue);
    transform: rotate(45deg);
    box-sizing: border-box;
}
.top_news .news_menu .news_item a {
    color: var(--color-base);
    display: grid;
    grid-template-columns: 17em 1fr;
    align-items: center;
    gap: 0.5em;
}
.top_news .news_menu .news_item a time{
    font-size: var(--fsize-16);
    letter-spacing: 0.04em;
    white-space: nowrap;
}
.top_news .news_menu .news_item .news_wrap {
    display: flex;
    gap: 3%;
    align-items: center;
}
.top_news .news_menu .news_item .news_category {
    font-size: var(--fsize-14);
    background-color: #f5f5f7;
    border-radius: 4px;
    padding: .3em .8em;
    white-space: nowrap;
}
.top_news .news_menu .news_item .news_category.information {
    border: 2px solid #0d446e;
    padding: .3em .5em;
}
.top_news .news_menu .news_item .news_category.management {
    border: 2px solid #5e8c3e;
    padding: .3em 1.5em;
}
.top_news .news_menu .news_item .news_category.product {
    border: 2px solid #662e8e;
    padding: .3em 1.5em;
}
.top_news .news_menu .news_item .news_category.ultrasound {
    border: 2px solid #863148;
    padding: .3em 1em;
}
.top_news .news_menu .news_item .news_category.qminfo {
    border: 2px solid #b46112;
    padding: .3em 1.5em;
}
.top_news .news_menu .news_item .category_wrap {
    display: flex;
    gap: .5em;
}
.top_news .news_menu .news_item .news_title {
    margin: 0;
    font-size: var(--fsize-18);
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 95%;
    display: inline-block;
}
.top_news .news_menu .news_item:hover .news_title {
    color: var(--color-blue);
    font-weight: 500;
}
.top_news .news_menu .news_item:hover .news_title a {
    color: var(--color-blue);
}
.top_news .news_menu .news_item:hover::after {
    border-top: 1px solid var(--color-white);
    border-right: 1px solid var(--color-white);
    transition: all 0.3s;
} 
.top_news .news_menu .news_item::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: transparent;
    transition: 0.3s;
}
.top_news .news_menu .news_item:hover::before {
    background-color: var(--color-blue);
}

@media screen and (max-width: 1300px) {
    .top_news .news_menu {
        max-width: 95%;
    }
}
@media screen and (max-width: 1000px) {
    .top_news h2 {
        font-size: var(--fsize-30);
    }
    .top_news .news_menu .news_item .news_title {
        width: 90%;
        font-size: var(--fsize-16);
    }
    .top_news .news_menu .news_item a time {
        font-size: var(--fsize-14);
    }
}
@media screen and (max-width: 800px) {
    .top_news h2 {
        font-size: var(--fsize-28);
    }
    .top_news h2 span {
        font-size: var(--fsize-16);
    }
    .top_news .news_menu .news_item {
        margin: 1.5em 0;
    }
    .top_news .news_menu .news_item a {
        display: block;
    }
    .top_news .news_menu .news_item a time {
        font-size: var(--fsize-14);
    }
    .top_news .news_menu .news_item .news_wrap {
        margin: 0 0 .5em 0;
    }
    .top_news .news_menu .news_item .news_category {
        font-size: var(--fsize-13);
    }
    .top_news .news_menu .news_item .news_title {
        width: 93%;
    }
}
@media screen and (max-width: 480px) {
    .top_news {
        padding: 2.5em 0 4em 0;
    }
    .top_news h2 {
        font-size: var(--fsize-24);
    }
    .top_news h2 span {
        font-size: var(--fsize-14);
    }
    .top_news .news_menu {
        max-width: 90%;
    }
    .top_news .news_menu hr {
        margin: .5em auto;
    }
    .top_news .news_menu .news_item a time {
        font-size: var(--fsize-13);
    }
    .top_news .news_menu .news_item .news_title {
        width: 90%;
        font-size: var(--fsize-15);
    }
}