@charset "utf-8";

@import url("base.css");

/***************************************************************************
 *
 * COMMON STYLE
 *
 ***************************************************************************/
.notoSerif {
    font-family: "Zen Old Mincho", serif;
}

body {
    background-color: #FFFFFF;
    font-size: 14px;
    line-height: 1.5;
    color: #000000;
    font-family: "Zen Old Mincho", serif;
}

body.fixed {
    overflow: hidden;
}

.inner {
    max-width: 1820px;
    width: 100%;
    padding: 0 30px;
    margin: 0 auto;
}

/*VALIDATE CONTACT*/
.error {
    display: block;
    font-size: 12px;
    color: red;
}

/* HEADER */
#header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #ffffff;
    padding: 25px 0;
    z-index: 99;
}

#header.boxShadow {
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.2);
    padding: 30px 0;
    transition: all 0.4s;
}

#header .inner {
    max-width: 1939px;
}

#header .wrapHeader {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

#header.boxShadow .wrapHeader {
    align-items: center;
}

#header .wrapHeader .headerBar {}

#header .wrapHeader .headerBar .logo {
    margin-right: 20px;
    width: 251px;
}

#header .wrapHeader .headerBar .logo a {
    display: block;
    width: 100%;
}

#header .wrapHeader .headerBar .logo a img {
    width: 80%;
}

#header .wrapHeader .mainMenu {}

#header .wrapHeader .mainMenu .menu {
    display: flex;
    overflow: hidden;
}

#header .wrapHeader .mainMenu .menu li {
    margin-right: 27px;
}

#header .wrapHeader .mainMenu .menu li:last-child {
    margin-right: -10px;
}

#header .wrapHeader .mainMenu .menu li a {
    font-size: 20px;
    font-weight: normal;
    letter-spacing: 2px;
    padding: 0 10px;
    overflow: hidden;
    /* color: transparent;
    text-shadow: 0 -1.5em 0 #000, 0 0 0 #000;
    transition: text-shadow 0.3s; */
}

.logo-white-adjust {
  position: relative;
  top: 20px;   /* 好きな値に調整：上に余白をつけたいなら↓方向なので top:+  */
}


#fixH {
    height: 133px;
}

/* CONTENT */
#content {
    width: 100%;
    padding-top: 107px;
}

.areaMainChild {
    margin-bottom: 190px;
}

.areaMainChild .inner {
    max-width: 1932px;
}

.wrapMainChild {
    display: flex;
    justify-content: space-between;
}

.wrapMainChild .mainChildPhoto {
    width: calc(100% - 526px);
    min-width: 530px;
}

.wrapMainChild .mainChildPhoto img {
    aspect-ratio: 1345/840;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.wrapMainChild .boxMainChild {
    width: 465px;
    padding: 38px 46px 0;
}


.wrapMainChild .boxMainChild .titleMainChild {
    font-size: 40px;
    font-weight: normal;
    letter-spacing: 1.7px;
    margin-bottom: 30px;
}

.wrapMainChild .boxMainChild .titleMainChild.titleFszSmall {
    font-size: 25px;
    margin-bottom: 36px;
}

.wrapMainChild .boxMainChild .txtMainChild {
    font-size: 18px;
    line-height: 1.94;
    letter-spacing: 0.7px;
    text-align: justify;
}

/* areaVision */
.areaVision {
    margin-bottom: 190px;
}

.areaVision .inner {
    max-width: 1836px;
}

.areaVision .wrapVision {}

.wrapVision .iframeVison {
    display: flex;
    justify-content: space-between;
}
.wrapVision .iframeVison:nth-child(2n) {
    flex-direction: row-reverse;
}

.wrapVision .iframeVison:last-child {
    margin-bottom: 0;
}

.wrapVision .iframeVison .boxVision {
    width: 378px;
    padding: 36px 0 0px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.wrapVision .iframeVison .boxVision .contentVision {
    margin-bottom: 40px;
}

.wrapVision .iframeVison .boxVision .contentVision .titleVision {
    font-size: 30px;
    font-weight: normal;
    letter-spacing: 1.2px;
    margin-bottom: 36px;
    line-height: 1.8;
}

.wrapVision .iframeVison .boxVision .contentVision .txtVision {
    font-size: 18px;
    line-height: 1.94;
    letter-spacing: 0.7px;
    text-align: justify;
}

.wrapVision .linkDetail {
    text-align: left;
    overflow: hidden;
}

.wrapVision .linkDetail a {
    font-size: 25px;
    font-weight: normal;
    padding: 0 0 0 113px;
    line-height: 1.2;
    letter-spacing: 1px;
    /* background: url('../images/common/icon-arrow.svg') no-repeat center left/ 102px 14px; */
    position: relative;
}
.wrapVision .linkDetail a:before {
    content: "";
    position: absolute;
    background: url('../images/common/icon-arrow.svg') no-repeat;
    background-size: 100%;
    width: 102px;
    height: 14px;
    top: 59%;
    transform: translateY(-50%);
    left: 0;
}

.wrapVision .linkDetail a .txtLinkDetail {
    padding: 0 6px;
    overflow: hidden;
    /* text-shadow: 0 -1.5em 0 #000, 0 0 0 #000;
    transition: text-shadow 0.3s;
    color: transparent; */
}

.wrapVision .iframeVison .wrapVisionPhoto {
    width: calc(100% - 475px);
    min-width: 530px;
    align-self: stretch;
}

.wrapVision .iframeVison .wrapVisionPhoto .boxVisionPhoto {
    display: flex;
    align-self: stretch;
    height: 100%;
}

.wrapVision .iframeVison .wrapVisionPhoto .mainVisionPhoto {
    margin-right: 37px;
    width: 100%;
}
.wrapVision .iframeVison .wrapVisionPhoto .mainVisionPhoto:last-child {
    margin-right: 0;
}

.wrapVision .iframeVison .wrapVisionPhoto .mainVisionPhoto img {
    aspect-ratio: 1300/700;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.areaArchive .wrapVision .iframeVison .wrapVisionPhoto .mainVisionPhoto img {
    aspect-ratio: 630/700;
}

.ftPhoto {
    margin-top: 164px;
}

.ftPhoto img {
    aspect-ratio: 1980/682;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* FOOTER */
#footer {
    width: 100%;
    padding: 132px 0;
}

#footer .inner {
    max-width: 1836px;
}

#footer .wrapFooter {
    display: flex;
    justify-content: space-between;
}

#footer .wrapFooter .wrapFtLeft {
    margin-right: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 7px 0;
    width: 275px;
}

#footer .wrapFooter .wrapFtLeft .logoFt {
    width: 100%;
}

#footer .wrapFooter .wrapFtLeft .logoFt a {
    display: block;
    width: 100%;
}

#footer .wrapFooter .wrapFtLeft .logoFt a img {
    width: 80%;
}

#footer .wrapFooter #coppyright {
    font-size: 14px;
    font-weight: normal;
    letter-spacing: 0.4px;
}

#footer .wrapFooter .ftInfo {
    width: 431px;
    /* padding: 3px 0; */
}

#footer .wrapFooter .ftInfo .txtInfo {
    font-size: 18px;
    font-weight: normal;
    letter-spacing: 0.1px;
    line-height: 1.65;
    margin-bottom: 31px;
}

#footer .wrapFooter .ftInfo .wrapInfoTel {}

#footer .wrapFooter .ftInfo .wrapInfoTel .txtInfoTel {
    font-size: 18px;
    font-weight: normal;
    margin-bottom: 7px;
    letter-spacing: 0.7px;
}

#footer .wrapFooter .ftInfo .wrapInfoTel .numberInfo {
    font-size: 35px;
    letter-spacing: 0.6px;
    font-weight: bold;
}

#footer .wrapFooter .ftInfo .wrapInfoTel .numberInfo a {
    margin-left: 1px;
    letter-spacing: 0.2px;
}

.wrapFooter {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 40px; /* スマホ対応 */
}

/* --- 関連サイトブロック --- */
.ftRelated {
  display: flex;
  gap: 20px;
  margin-left: 40px;
  align-items: stretch;  /* これで縦線の高さを合わせる */
  margin-right: 60px;
}

/* --- 縦線（仕切り） --- */
.ftRelated .bar {
  width: 1px;
  background-color: #707070; 
  flex-shrink: 0; 
}

/* --- 関連リンクブロック --- */
.relatedLinks {
  display: flex;
  flex-direction: column; /* ← 縦に並べる */
  justify-content: flex-start;
}


/* 「関連サイト」タイトル */
.titleRelated {
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: normal;
  letter-spacing: 0.5px;
  line-height: 1.65;
  margin-bottom: 31px;
}

/* リンクリスト横並び */
.listRelated {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 18px;
}

.listRelated li {
  margin-bottom: 6px;
}

.listRelated a {
  color: #333;
  text-decoration: none;
}

.listRelated a:hover {
  text-decoration: underline;
}

/* Loader CSS */
.loader {
  width: 50px;
  margin: 0 auto;
  padding: 8px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #707070;
  --_m: 
    conic-gradient(#0000 10%,#000),
    linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
          mask: var(--_m);
  -webkit-mask-composite: source-out;
          mask-composite: subtract;
  animation: l3 1s infinite linear;
}
@keyframes l3 {to{transform: rotate(1turn)}}

.pagingNav {
    margin-top: 50px;
}
.pagingNav .pagi_nav_list {
    display: flex;
    justify-content: center;
    border-collapse: collapse;
    
}
.pagingNav .pagi_nav_list li {
    margin-right: 20px;
}
.pagingNav .pagi_nav_list li:last-child {
    margin-right: 0;
}
.pagingNav .pagi_nav_list li a {
    box-sizing: border-box;
    display: block;
    font-size: 18px;
    border: 1px solid #000;
    padding: 5.5px 14.05px; 
    text-align: center;
    border-collapse: collapse;
    background: white;
}
.pagingNav .pagi_nav_list li.active a {
    color: white;
    background: #000;
    border: 1px solid #000;
    transition: all 0.4s;
}

@media (max-width: 1400px) and (min-width: 769px) {
    .wrapMainChild .mainChildPhoto {
        width: calc(100% - 465px);
    }
}

@media (max-width: 1200px) and (min-width: 769px) {
    #header .wrapHeader .headerBar .logo {
        width: clamp(190px, 21.6vw, 248px);
    }

    #header .wrapHeader .mainMenu .menu li {
        margin-right: clamp(10px, 2vw, 37px);
    }

    #header .wrapHeader .mainMenu .menu li:last-child {
        margin-right: 0;
    }

    #header .wrapHeader .mainMenu .menu li a {
        font-size: clamp(8px, 1.7vw, 20px);
        padding: 0;
        letter-spacing: 0.1px;
    }

    .areaMainChild {
        margin-bottom: 15vw;
    }

    .wrapMainChild .boxMainChild {
        padding: 2.2vw 1vw 0;
        width: clamp(395px, 38vw, 413px);
    }

    .wrapVision .iframeVison .wrapVisionPhoto .mainVisionPhoto {
        margin-right: 3vw;
    }

    .wrapVision .iframeVison .boxVision {
        padding-top: 2.2vw;
    }

    #content {
        padding-top: 8.8vw;
    }

    .areaVision {
        margin-bottom: 15vw;
    }

    .ftPhoto {
        margin-top: 13.7vw;
    }
}

@media (max-width: 880px) and (min-width: 769px)
#header .wrapHeader .mainMenu .menu li a {
font-size: 14px;
letter-spacing: 0.2px;
}

@media screen and (min-width: 1200px) and (max-width: 1280px) {
  #header .wrapHeader .mainMenu .menu li a {
    font-size: 20px;
    letter-spacing: 0.1px;
    padding: 0px;
  }
}

@media (max-width: 1000px) and (min-width: 769px) {
    #content {
        padding-top: 0;
    }
    .wrapMainChild,
    .wrapMainChild:nth-child(2n) {
        flex-direction: column-reverse;
    }

    .areaMainChild .inner {
        padding: 0;
    }

    .wrapMainChild .boxMainChild {
        width: 100%;
        padding: 0;
        margin-bottom: 0;
        padding: 0 30px;
    }

    .wrapMainChild .boxMainChild .contentMainChild .titleMainChild {
        text-align: center;
    }

    .wrapMainChild .boxMainChild .contentMainChild .txtMainChild {
        text-align: center;
    }

    .wrapMainChild .mainChildPhoto {
        width: 100%;
        min-width: initial;
        margin-bottom: 20px;
    }

    .wrapVision .iframeVison {
        flex-direction: column;
    }
    .areaArchive .wrapVision .iframeVison {
        flex-direction: column-reverse;
    }

    .wrapVision .iframeVison .wrapVisionPhoto {
        width: 100%;
        margin-bottom: 25px;
    }
    .wrapVision .iframeVison .boxVision {
        width: 100%;
        padding-top: 0;
    }

    .wrapVision .iframeVison .boxVision .contentVision .titleVision {
        margin-bottom: 10px;
    }

    .wrapVision .linkDetail {
        text-align: right;
    }
}

/* @media screen and (min-width: 820px) and (max-width: 1200px) {  */
       /* .txtInfo {  */
         /* margin-right: -10px; */
}

@media (max-width: 1200px) and (min-width: 769px)
#header .wrapHeader .mainMenu .menu li a {
font-size: 14px;
}

@media (max-width: 930px) and (min-width: 769px) {
    #footer .wrapFooter .wrapFtLeft {
        width: 29.5vw;
    }
}

/* SHOW HIDE PC SP */
@media (min-width: 769px) {
    .sp {
        display: none;
    }

    #header .wrapHeader .mainMenu .menu li a:hover,
    .wrapVision .linkDetail a:hover .txtLinkDetail {
        /* text-shadow: 0 0 0 #000, 0 1.5em 0 #000; */
        text-decoration: 1px underline;
        text-underline-offset: 3px;
    }

    #footer .wrapFooter .ftInfo .wrapInfoTel .numberInfo a {
        pointer-events: none;
    }

    .hover:hover {
        opacity: 0.7;
    }
    .pagingNav .pagi_nav_list li:hover a {
        color: white;
        background: #000;
    }
    
    #footer .wrapFooter {
      justify-content: flex-end; /* 右寄せ配置 */
    }
    
    /* wrapFtLeft（ロゴ側）を左に固定しておく */
    #footer .wrapFooter .wrapFtLeft {
      margin-right: auto;
    }
    
    /* ftInfo（会社情報）を少し右に寄せる */
    #footer .wrapFooter .ftInfo {
      position: relative;
      left: 60px; /* ← お好みで微調整（例：30〜80px） */
    }
    
    /* 関連サイト（罫線付き）も ftInfo と一緒に右側に維持 */
    #footer .wrapFooter .ftRelated {
      position: relative;
      left: 40px; /* ftInfo と同じ値にしてセットで動かす */
    }
}

/* STYLE MOBILE */
@media (max-width: 768px) {
    .pc {
        display: none;
    }
    .hover:hover {
        opacity: 1;
    }

    .inner {
        width: 100%;
        padding: 0 10.4%;
    }

    /* MENU */
    .hamburger {
        height: clamp(39px, 9.9vw, 45px);
        width: clamp(39px, 9.9vw, 45px);
        padding: 0;
        z-index: 9991;
        display: flex;
        justify-content: center;
        flex-direction: column;
        text-align: center;
    }

    .hamburger span {
        display: block;
        height: 1px;
        width: 100%;
        background: #fff;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .25s ease-in-out;
        -moz-transition: .25s ease-in-out;
        transition: .25s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        margin-bottom: clamp(8px, 2vw, 11px);
    }

    .hamburger span:nth-child(2) {
        opacity: 1
    }

    .hamburger span:nth-child(3) {
        margin-top: clamp(8px, 2vw, 11px);
    }

    .hamburger.open span:nth-child(1) {
        margin-bottom: -1px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(25deg);
    }

    .hamburger.open span:nth-child(2) {
        opacity: 0;
    }

    .hamburger.open span:nth-child(3) {
        margin-top: -1px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-25deg);
    }
    #header.boxShadow .hamburger span {
      background: #000;
    }

    #header {
        padding: clamp(31px, 7.4vw, 35px) 0 clamp(21px, 5.2vw, 26px);
    }

    #header.boxShadow {
        padding: 2.7vw 0;
    }

    #header .inner {
        padding: 0 10.6%;
    }

    #header .wrapHeader {
        width: 100%;
    }

    #header .wrapHeader .headerBar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    #header .wrapHeader .headerBar .logo {
        z-index: 9;
        margin-right: 0;
        width: clamp(169px, 43.2vw, 220px);
    }

    #header .wrapHeader .mainMenu {
        display: none;
        position: absolute;
        width: 100%;
        height: calc(100vh - 13vw);
        top: 13vw;
        left: 0;
        right: 0;
        background: #fff;
        z-index: 8;
        overflow-y: auto;
        padding-bottom: 40px;
    }

    #header.boxShadow .wrapHeader .mainMenu {
        top: 11vw;
        height: calc(100vh - 11vw);
    }

    #header .wrapHeader .mainMenu .menu {
        flex-direction: column;
        transform: none;
        max-width: clamp(180px, 50vw, 230px);
        margin: clamp(114px, 29.1vw, 125px) auto;
    }

    #header .wrapHeader .mainMenu .menu li {
        text-align: left;
        margin: 0 0 clamp(30px, 7.6vw, 35px);
    }

    #header .wrapHeader .mainMenu .menu li a {
        font-size: clamp(20px, 5vw, 26px);
        color: #000000;
        text-shadow: none;
        background: transparent;
        padding: 0;
    }
    
    #footer .wrapFooter .wrapFtLeft .logoFt a img {
      width: 90%;
      margin-left: 10px;
    }

    #fixH {
        height: clamp(91px, 23.1vw, 106px);
    }

    #content {
        padding-top: 0;
    }

    .areaMainChild {
        margin-bottom: clamp(41px, 10.5vw, 55px);
    }

    .wrapMainChild {
        flex-direction: column-reverse;
    }

    .wrapMainChild:last-child {
        margin-bottom: 0;
    }

    .areaMainChild .inner {
        padding: 0;
    }

    .wrapMainChild:nth-child(2n) {
        flex-direction: row-reverse;
    }

    .wrapMainChild .mainChildPhoto {
        width: 100%;
        margin-right: 35px;
        min-width: initial;
        margin-bottom: clamp(43px, 10vw, 45px);
    }

    .wrapMainChild .mainChildPhoto:last-child {
        margin-right: 0;
    }
    .wrapMainChild .boxMainChild {
        width: 100%;
        margin-bottom: 0;
        padding: 0 12%;
    }

    .wrapMainChild .boxMainChild .titleMainChild {
        font-size: clamp(20px, 5vw, 26px);
        margin-bottom: clamp(13px, 3.3vw, 20px);
        letter-spacing: 0.8px;
    }

    .wrapMainChild .boxMainChild .titleMainChild.titleFszSmall {
        font-size: 25px;
        margin-bottom: 36px;
    }

    .wrapMainChild .boxMainChild .txtMainChild {
        font-size: clamp(14px, 3.5vw, 18px);
        line-height: 1.86;
    }

    .areaVision {
        margin-bottom: clamp(70px, 18.6vw, 90px);
    }

    .wrapVision .iframeVison {
        flex-direction: column;
    }

    .areaArchive .wrapVision .iframeVison {
        flex-direction: column-reverse;
    }

    .wrapVision .iframeVison .boxVision {
        width: 100%;
        padding: 0 11.9%;
    }

    .wrapVision .iframeVison .boxVision .contentVision {
        /* margin-bottom: clamp(87px, 22vw, 95px); */
        margin-bottom: 40px;
    }
    .wrapVision .iframeVison .boxVision .contentVision .titleVision {
        font-size: clamp(20px, 5vw, 26px);
        line-height: 1.74;
        letter-spacing: 0.8px;
        margin-bottom: clamp(7px, 2.1vw, 18px);
    }
    .wrapVision .iframeVison .boxVision .contentVision .txtVision {
        font-size: clamp(14px, 3.5vw, 18px);
        line-height: 1.74;
    }
    .wrapVision .iframeVison .wrapVisionPhoto {
        width: 100%;
        min-width: initial;
        margin-bottom: clamp(28px, 7vw, 40px);
    }

    .wrapVision .iframeVison .wrapVisionPhoto .mainVisionPhoto {
        margin-right: 3%;
    }

    .wrapVision .linkDetail {
        text-align: right;
        margin-right: -2px;
        margin-bottom: 50px;
    }
    
    .wrapVision .linkDetail a {
        font-size: clamp(15px, 3.8vw, 19px);
        padding: 0 0 0 clamp(70px, 17.3vw, 90px);
        padding-left: clamp(91px, 23.1vw, 100px);
        letter-spacing: 0.7px;
    }
    .wrapVision .linkDetail a:before {
        height: 14px;
        background-size: 100% 100%;
        width: clamp(81px, 21vw, 95px);
        top: initial;
        transform: none;
        bottom: clamp(2px, 0.6vw, 4px);
    }
    .wrapVision .linkDetail a .txtLinkDetail {
        color: #000000;
        text-shadow: none;
        background: transparent;
        padding: 0;
    }
    

    .ftPhoto {
        margin-top: clamp(57px, 14.5vw, 70px);
    }

    .ftPhoto img {
        aspect-ratio: 1980 / 682;
    }
    
    .ryumin{
      font-family: A1明朝；
    }
    
    .pageTitle{
      text-align: center;
      font-size: 30px;
      color: #231815;
    }

    #footer {
        padding: clamp(52px, 13.4vw, 65px) 0;
    }

    #footer .inner {
        padding: 0 11.8%;
    }

    #footer .wrapFooter {
        flex-direction: column-reverse;
    }

    #footer .wrapFooter .wrapFtLeft {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        flex-direction: row-reverse;
        align-items: flex-end;
    }

    #footer .wrapFooter .wrapFtLeft .logoFt {
        width: clamp(128px, 32.5vw, 170px);
    }

    #footer .wrapFooter #coppyright {
        font-size: clamp(12px, 3vw, 14px);
        text-align: center;
        margin-top: 0;
        line-height: 0.9;
    }

    #footer .wrapFooter .ftInfo {
        width: 100%;
        text-align: left;
        /* margin-bottom: clamp(78px, 18vw, 90px); */
        margin-bottom: 45px;
    }

    #footer .wrapFooter .ftInfo .txtInfo {
        font-size: clamp(14px, 3.5vw, 18px);
        line-height: 1.4;
        margin-bottom: 21px;
    }

    #footer .wrapFooter .ftInfo .txtInfo br.sp {
        display: none;
    }

    #footer .wrapFooter .ftInfo .wrapInfoTel .txtInfoTel {
        font-size: clamp(14px, 3.5vw, 18px);
        letter-spacing: 0;
        margin-bottom: 2px;
    }

    #footer .wrapFooter .ftInfo .wrapInfoTel .numberInfo {
        font-size: clamp(25px, 6.3vw, 28px);
        line-height: 1.2;
        letter-spacing: 1px;
    }

    #footer .wrapFooter .ftInfo .wrapInfoTel .numberInfo a {
        letter-spacing: 0.8px;
    }
    .pagingNav .pagi_nav_list li {
        margin-right: 12px;
    }
    .pagingNav .pagi_nav_list li a {
        font-size: clamp(14px,2.5vw,16px);
        padding: 6.6px 12.75px;
    }
    
    .wrapFooter {
      flex-direction: column;
    }
    
    .ftRelated {
      flex-direction: column;
      margin-left: 0;
      border-top: 1.2px solid #6f6f6f;
      /* padding-top: 20px; */
      padding-bottom: 10px;
      width: 100%;
    }
    
    .listRelated {
      flex-direction: column;
      gap: 8px;
      font-size: clamp(14px, 3.5vw, 18px);
    }
    .titleRelated{
      font-size: clamp(14px, 3.5vw, 18px);
    }
    .numberInfo {
    margin: 0;
}   
    .txtInfo{
      margin-top: 0;
    }
    

    
    padding-bottom: 0;
@media (max-width: 600px) {
    #footer .wrapFooter .ftInfo .txtInfo br.sp {
        display: block;
    }
}
@media (max-width: 500px) {
    .wrapVision .iframeVison .wrapVisionPhoto .mainVisionPhoto:last-child {
        margin-bottom: 0;
    }
}
@media (max-width: 375px) {
    #footer .wrapFooter .wrapFtLeft .logoFt {
        width: 118px;
    }
}