@charset "utf-8";
/*Temp*/
@media (max-width: 768px) {
    div#fixH {
        height: 78px;
    }
}

#main {
    position: relative;
}

.qualifi {
    display: none !important;
}

#main .detailMain {
    position: absolute;
    /* top: 50%; */
    /* left: 50%; */
    left: 49.8%;
    /* transform: translate(-50%, -50%); */
    bottom: 0;
    transform: translateX(-50%);
    width: 62.6%;
}

#main .detailMain .inner {
    width: 100%;
}

#main .detailMain .buttonMain {
    position: absolute;
    display: flex;
    justify-content: space-between;
    width: calc(100% - 527px);
    bottom: 19px;
    left: 4px;
}

#main .detailMain .buttonMain .itemButton {
    width: calc(100% / 2 - 8px);
    box-shadow: 0 6px 4px rgba(86, 86, 86, 0.23);
    border-radius: 18px;
    overflow: hidden;
}

#main .detailMain .buttonMain .itemButton:last-child {
    margin-right: 0;
}

#main .detailMain .buttonMain .itemButton .button {
    padding: 0;
}

@media (max-width: 1920px) and (min-width: 1125px) {

    #main {
        overflow: hidden;
    }

    #main .imageMain {
        /* width: 1920px;
        height: 533px; */
        width: 100%;
        height: 30.6vw;
    }
}

@media (max-width: 1125px) and (min-width: 769px) {

    #main .detailMain {
        /* width: 60%; */
        left: 50%;
    }

    #main .detailMain .inner {
        width: calc(100% - 40px);
    }

    #main .detailMain .buttonMain {
        width: 46%;
        left: 5%;
        bottom: 2%;
    }

    #main .detailMain .buttonMain .itemButton {
        width: calc(100% / 2 - 4px);
        border-radius: 1vw;
    }
}


@media (max-width: 768px) {
    #main {
        margin-bottom: -15px;
    }

    #main .inner {
        width: 100%;
        padding: 0;
    }

    #main .detailMain {
        bottom: inherit;
        width: 100%;
        top: 47%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
    }

    #main .detailMain .inner {
        width: 100%;
    }

    #main .detailMain .buttonMain {
        width: 100%;
        width: 93.2%;
        bottom: 16px;
        left: 50%;
        transform: translateX(-50%);
    }

    #main .detailMain img.main.detail {
        width: 100%;
    }

    #main .detailMain .buttonMain .itemButton {
        width: calc(100% / 2 - 5px);
        box-shadow: 0 4px 4px rgba(86, 86, 86, 0.23);
        border-radius: 18px;
    }

    #main .detailMain .buttonMain .itemButton img {
        width: 100%;
        height: 100%;
    }
}


@media (max-width: 414px) {
    #main .detailMain .buttonMain .itemButton {
        border-radius: 12px;
        box-shadow: 0 3px 3px rgba(86, 86, 86, 0.23);
    }
}

/* areaNews */
.areaNews {
    margin: 0;
}

.areaNews .newsPhoto {
    margin-bottom: 20px;
}

.areaNews .newsPhoto img {
    width: 100%;
}

.areaNews .titleListNews {
    font-size: 30px;
    color: #000000;
    margin-top: 30px;
    text-align: center;
    font-weight: normal;
}

.areaNews .wrapNews {
    margin-top: 45px;
}

.areaNews .listNews li:first-child a {
    border-top: 1px dotted #707070;
}

/* NEWS CATEGORY */
.listCategory {
    font-size: 20px;
    text-align: center;
}

.listCategory li {
    display: inline-block;
    margin-right: 30px;
    margin-bottom: 15px;
}

.listCategory li a {
    display: block;
    padding: 5px 60px;
    background: #fff;
    border: 3px solid #12A646;
    border-radius: 30px;
    color: #12A646;
    transition: all 0.3s ease;
}

.listCategory li.active a {
    color: #fff;
    background: #12A646;
}

.listCategory li a:hover {
    color: #fff;
    background: #12A646;
}

.loaderWrap {
    display: none;
    margin-bottom: 10px;
}

.loader {
    margin: 0 auto;
    width: 60px;
    aspect-ratio: 4;
    --_g: no-repeat radial-gradient(circle closest-side, #12A646 90%, #0000);
    background:
        var(--_g) 0% 50%,
        var(--_g) 50% 50%,
        var(--_g) 100% 50%;
    background-size: calc(100%/3) 100%;
    animation: l7 1s infinite linear;
}

@keyframes l7 {
    33% {
        background-size: calc(100%/3) 0%, calc(100%/3) 100%, calc(100%/3) 100%
    }

    50% {
        background-size: calc(100%/3) 100%, calc(100%/3) 0%, calc(100%/3) 100%
    }

    66% {
        background-size: calc(100%/3) 100%, calc(100%/3) 100%, calc(100%/3) 0%
    }
}

@media (min-width: 769px) {
    .areaNews .listNews li a:hover {
        opacity: 0.7;
    }
}

@media (max-width: 768px) {
    .areaNews .newsPhoto {
        margin-bottom: 10px;
    }

    .areaNews .titleListNews {
        font-size: 16px;
        margin-top: 15px;
    }

    .areaNews .wrapNews {
        margin-top: 25px;
    }

    .areaNews .listNews li a {
        font-size: 13px;
    }

    .listCategory {
        font-size: 16px;
    }

    .listCategory li {
        margin-right: 10px;
        margin-bottom: 10px;
    }

    .listCategory li a {
        padding: 5px 25px;
        border: 2px solid #12A646;
    }
}

/* areaNews */

.areaNews {
    margin: 40px 0;
    padding-bottom: 0;
}

.areaNews .newsPhoto {
    margin-bottom: 20px;
}

.areaNews .newsPhoto img {
    width: 100%;
}

.areaNews .titleListNews {
    font-size: 30px;
    color: #000000;
    margin-top: 30px;
    text-align: center;
    font-weight: normal;
}

.areaNews .wrapNews {
    margin-top: 45px;
}

.areaNews .listNews {
    overflow-y: auto;
    max-height: 150px;
}

.areaNews .listNews .mCSB_scrollTools {
    border: 1px solid #E1DBDB;
    width: 16px;
    border-radius: 50px;
}

.areaNews .listNews .mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    background-color: #E1DBDB;
    width: 12px;
    border-radius: 50px;
}

.areaNews .listNews .mCSB_draggerRail {
    display: none;
}

.areaNews .listNews li a {
    display: block;
    font-size: 14px;
    font-weight: normal;
    color: #000000;
    text-align: left;
    padding: 5px;
    border-bottom: 1px dotted #707070;
}

.areaNews .listNews li:first-child a {
    border-top: 1px dotted #707070;
}

/* NEWS CATEGORY */
.listCategory {
    font-size: 20px;
    text-align: center;
}

.listCategory li {
    display: inline-block;
    margin-right: 30px;
    margin-bottom: 15px;
}

.listCategory li a {
    display: block;
    padding: 5px 60px;
    background: #fff;
    border: 3px solid #12A646;
    border-radius: 30px;
    color: #12A646;
    transition: all 0.3s ease;
}

.listCategory li.active a {
    color: #fff;
    background: #12A646;
}

.listCategory li a:hover {
    color: #fff;
    background: #12A646;
}

.loaderWrap {
    display: none;
    margin-bottom: 10px;
}

.loader {
    margin: 0 auto;
    width: 60px;
    aspect-ratio: 4;
    --_g: no-repeat radial-gradient(circle closest-side, #12A646 90%, #0000);
    background:
        var(--_g) 0% 50%,
        var(--_g) 50% 50%,
        var(--_g) 100% 50%;
    background-size: calc(100%/3) 100%;
    animation: l7 1s infinite linear;
}


.bannerWrap {
    margin-top: 19px;
}

.bannerWrap .bannerTitle {
    font-size: 18px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 35px;
}

.bannerWrap .bannerTitle span {
    border-bottom: 6px solid #FF8000;
    padding-bottom: 5px;
}

.bannerWrap .listBanner {
    display: flex;
    margin-left: -18px;
    width: calc(100% + 72px);
    margin-bottom: 13px;
    overflow: hidden;
}

.bannerWrap .listBanner li {
    display: flex;
    align-items: center;
    justify-content: center;
}

.bannerWrap .listBanner li img {
    max-height: 115px;
    width: 100%;
    object-fit: contain;
    object-position: center;
}

.bannerWrap .listBanner li.bannerMg {
    margin: 0 8px;
}


@keyframes l7 {
    33% {
        background-size: calc(100%/3) 0%, calc(100%/3) 100%, calc(100%/3) 100%
    }

    50% {
        background-size: calc(100%/3) 100%, calc(100%/3) 0%, calc(100%/3) 100%
    }

    66% {
        background-size: calc(100%/3) 100%, calc(100%/3) 100%, calc(100%/3) 0%
    }
}


@media (min-width: 769px) {
    .areaNews .listNews li a:hover {
        opacity: 0.7;
    }
}

@media (max-width: 1150px) and (min-width: 769px) {
    .bannerWrap .listBanner {
        margin-left: 0;
        width: 100%;
    }
}

@media (max-width: 900px) and (min-width: 769px) {
    .bannerWrap .bannerTitle {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .areaNews .newsPhoto {
        margin-bottom: 10px;
    }

    .areaNews .titleListNews {
        font-size: 16px;
        margin-top: 15px;
    }

    .areaNews .wrapNews {
        margin-top: 25px;
    }

    .areaNews .listNews li a {
        font-size: 14px;
    }

    .areaNews .listNews .mCSB_scrollTools {
        width: 14px;
    }

    .areaNews .listNews .mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
        width: 10px;
    }

    .listCategory {
        font-size: 16px;
    }

    .listCategory li {
        margin-right: 10px;
        margin-bottom: 10px;
    }

    .listCategory li a {
        padding: 5px 25px;
        border: 2px solid #12A646;
    }

    .bannerWrap .bannerTitle {
        line-height: 2;
        margin-bottom: 25px;
    }

    .bannerWrap .bannerTitle span {
        border-bottom: 3px solid #FF8000;
        padding-bottom: 0;
    }

    .bannerWrap .listBanner {
        margin-left: 0;
        width: 100%;
    }
}

@media(max-width:414px) {
    .listCategory li {
        margin-right: 4px;
    }

    .listCategory li a {
        padding: 5px 15px;
    }
}


/* FB133 */
.areaDonation {
    background: #FFEFDB;
    padding: 65px 0 0;
    margin-bottom: 0;
}

.areaDonation .inner {}

.areaDonation .wrapDonation {}

.areaDonation .wrapDonation .titleDonation {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    color: #000000;
    margin-bottom: -1px;
    letter-spacing: 2px;
}

.areaDonation .wrapDonation .titleDonation .donation {
    position: relative;
    display: inline-block;
    padding: 0 169px;
}

.areaDonation .wrapDonation .titleDonation .donation:before {
    content: "";
    position: absolute;
    background: url('../images/index/icon-donation-before.png') no-repeat;
    background-size: 100%;
    width: 164px;
    height: 19px;
    top: 59%;
    left: 0;
    transform: translateY(-50%);
}

.areaDonation .wrapDonation .titleDonation .donation:after {
    content: "";
    position: absolute;
    background: url('../images/index/icon-donation-before.png') no-repeat;
    background-size: 100%;
    width: 164px;
    height: 19px;
    top: 59%;
    right: 0;
    transform: translateY(-50%);
}

.areaDonation .wrapDonation .titleDonation .donation .colTitleDonation {
    font-size: 39px;
    color: #FF8000;
    position: relative;
}

.areaDonation .wrapDonation .titleDonation .donation .colTitleDonation:before {
    content: "";
    position: absolute;
    background: url('../images/index/icon-donation.svg') no-repeat;
    background-size: 100%;
    width: 25px;
    height: 25px;
    top: -8px;
    right: -11px;
}

.areaDonation .wrapDonation .donationPhoto {}

.areaDonation .wrapDonation .donationPhoto img {
    width: 100%;
}

.areaMajor {
    background: url('../images/index/bg-major-media-photo.jpg') no-repeat center center/cover;
    padding: 37px 0 23px;
    margin-top: 0;
}

.areaMajor .inner {}

.areaMajor .wrapMajor {}

.areaMajor .wrapMajor .titleMajor {
    font-size: 30px;
    font-weight: bold;
    color: #000000;
    text-align: center;
    margin-bottom: 8px;
    letter-spacing: 1.9px;
}

.areaMajor .wrapMajor .titleMajor .majorMedia {
    position: relative;
    padding: 0 72px 0 83px;
    display: inline-block;
}

.areaMajor .wrapMajor .titleMajor .majorMedia:before {
    content: "";
    position: absolute;
    background: url('../images/index/major-before.png') no-repeat;
    background-size: 100%;
    width: 76px;
    height: 56px;
    top: 48%;
    left: 0;
    transform: translateY(-50%);
}

.areaMajor .wrapMajor .titleMajor .majorMedia:after {
    content: "";
    position: absolute;
    background: url('../images/index/major-after.png') no-repeat;
    background-size: 100%;
    width: 67px;
    height: 67px;
    top: 44%;
    right: 1px;
    transform: translateY(-50%);
}

.areaMajor .wrapMajor .titleMajor .majorMedia .colTitleMajor {
    color: #12A546;
}

.areaMajor .wrapMajor .majorPhoto {}

.areaMajor .wrapMajor .majorPhoto img {
    width: 100%;
}

@media (max-width: 768px) {
    .areaDonation {
        padding: 9px 0 0;
    }

    .areaDonation .inner {
        padding: 0 4.5%;
        box-sizing: border-box;
        width: 100%;
    }

    .areaDonation .wrapDonation {}

    .areaDonation .wrapDonation .titleDonation {
        line-height: 1.1;
        margin-bottom: 7px;
        letter-spacing: 0.53vw;
        font-size: clamp(20px, 5.6vw, 22px);
    }

    .areaDonation .wrapDonation .titleDonation .donation {
        padding: 5.1vw 20.2vw 0;
        padding: 5.1vw clamp(72px, 20vw, 86px) 0;
    }

    .areaDonation .wrapDonation .titleDonation .donation:before {
        width: 77px;
        height: 9px;
        top: 66%;
        left: -2px;
        width: 19.7vw;
        max-width: 77px;
    }

    .areaDonation .wrapDonation .titleDonation .donation:after {
        width: 77px;
        height: 9px;
        top: 66%;
        right: -2px;
        width: 19.7vw;
        max-width: 77px;
    }

    .areaDonation .wrapDonation .titleDonation .donation .colTitleDonation {
        font-size: clamp(22px, 6.1vw, 24px);
    }

    .areaDonation .wrapDonation .titleDonation .donation .colTitleDonation:before {
        width: 17px;
        height: 17px;
        top: -10px;
        right: -6px;
    }

    .areaDonation .wrapDonation .donationPhoto {
        box-shadow: 4px 3px 5px rgba(0, 0, 0, 0.2);
        max-width: 500px;
        margin: 0 auto 7px;
        border-radius: 5px;
    }

    .areaDonation .wrapDonation .donationPhoto img {
        border-radius: 5px;
    }

    .areaMajor {
        padding: 0;
        background-image: url('../images/index/bg-major-media-photo-sp.jpg');
    }

    .areaMajor .inner {
        padding: 0 4.6%;
        box-sizing: border-box;
        width: 100%;
    }

    .areaMajor .wrapMajor {}

    .areaMajor .wrapMajor .titleMajor {
        line-height: 1.05;
        margin-bottom: 2px;
        font-size: clamp(20px, 5.6vw, 22px);
    }

    .areaMajor .wrapMajor .titleMajor .majorMedia {
        padding: 8vw clamp(47px, 13vw, 55px) 0 clamp(52px, 14.4vw, 60px);
    }

    .areaMajor .wrapMajor .titleMajor .majorMedia:before {
        width: 47px;
        height: 34px;
        top: initial;
        transform: none;
        bottom: 0;
        right: 0;
    }

    .areaMajor .wrapMajor .titleMajor .majorMedia:after {
        width: 48px;
        height: 48px;
        top: initial;
        right: 1px;
        transform: none;
        bottom: -2px;
    }

    .areaMajor .wrapMajor .titleMajor .majorMedia .colTitleMajor {}

    .areaMajor .wrapMajor .majorPhoto {
        box-shadow: 5px 7px 5px rgba(0, 0, 0, 0.2);
        max-width: 500px;
        margin: 0 auto 11px;
        border-radius: 5px;
    }

    .areaMajor .wrapMajor .majorPhoto img {
        border-radius: 5px;
    }
}

/* TV出演バナー */
.areaBannerTv {
  display: block;
  width: 100%;
  max-width: 1080px;
  margin: 16px auto;
  text-align: center;
}

.areaBannerTv a,
.areaBannerTv picture {
  display: block;
}

.areaBannerTv img {
  display: block;
  width: 100%;
  max-width: 1080px;
  height: auto;
  margin: 0 auto;
  border-radius: 12px;
}

/* SP版：横幅いっぱい */
@media(max-width: 768px) {
  .areaBannerTv {
    max-width: none;
    width: 100%;
  }

  .areaBannerTv img {
    max-width: none;
    width: 100%;
    border-radius: 6px;
  }
}

/* TV出演動画 */
.areaVideoFrontpage {
  display: block;
  width: 100%;
  max-width: 1080px;
  margin: 8px auto;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.videoInnerFrontpage {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.areaVideoFrontpage .videoWrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 8px;
}

.areaVideoFrontpage .frontVideo {
  display: block;
  width: 100%;
  max-width: 1080px;
  height: auto;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  border-radius: 10px;
}

/* 💡 【PC・スマホ共通】クリック用の透明なエリアのスタイル */
.areaVideoFrontpage .videoClickArea {
  position: absolute;
  top: 0;
  left: 50%; /* 左から50%の位置へ */
  transform: translate(-50%, 0); /* 完全に動画の中央に重ねる */
  width: 100%;
  max-width: 1080px; /* 動画の最大横幅と一致させてズレを防ぐ */
  height: calc(100% - 50px); /* 下のインジケーターを触れるように下部を開ける */
  z-index: 1; /* 動画より上で、ボタンより下の位置 */
  cursor: pointer;
}

/* 中央の再生ボタン ＆ 一時停止ボタン（共通スタイル） */
.areaVideoFrontpage .videoPlayBtn,
.areaVideoFrontpage .videoPauseBtn {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 76px;
  height: 76px;
  margin: 0;
  padding: 0;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.65);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 2; /* 透明なエリア(z-index: 1)より上に配置してクリック可能にする */
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 再生ボタンの「三角形」アイコン */
.areaVideoFrontpage .videoPlayBtn span {
  display: block;
  width: 0;
  height: 0;
  transform: translateX(4px);
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 24px solid #fff;
}

/* 一時停止ボタンの「縦線2本」アイコン */
.areaVideoFrontpage .videoPauseBtn span {
  position: relative;
  display: block;
  width: 24px; /* 2本線が収まる全体の横幅を固定 */
  height: 26px; /* 縦の長さを固定 */
  margin: 0 auto;
}

/* 1本目の線（左側） */
.areaVideoFrontpage .videoPauseBtn span::before {
  content: "";
  position: absolute;
  left: 0; /* 左ピッタリ */
  top: 0;
  width: 6px; /* 線の太さ */
  height: 100%;
  background: #fff;
}

/* 2本目の線（右側） */
.areaVideoFrontpage .videoPauseBtn span::after {
  content: "";
  position: absolute;
  right: 0; /* 右ピッタリ */
  top: 0;
  width: 6px; /* 線の太さ */
  height: 100%;
  background: #fff;
}

/* SP版 (スマホ専用スタイル) */
@media screen and (max-width: 768px) {
  .areaVideoFrontpage {
    width: 100%;
    max-width: 100%;
    margin: 8px 0;
    padding: 0;
    overflow: hidden;
  }

  .videoInnerFrontpage,
  .areaVideoFrontpage .videoWrap,
  .areaVideoFrontpage .frontVideo {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 4px;
    padding: 4px;
    overflow: hidden;
  }

  /* スマホ時は透明エリアの最大横幅制限をなくす */
  .areaVideoFrontpage .videoClickArea {
    max-width: 100%;
  }

  /* スマホ時は両方のボタンを一回り小さく */
  .areaVideoFrontpage .videoPlayBtn,
  .areaVideoFrontpage .videoPauseBtn {
    width: 64px;
    height: 64px;
  }

  /* スマホ時の再生アイコン縮小 */
  .areaVideoFrontpage .videoPlayBtn span {
    border-top-width: 12px;
    border-bottom-width: 12px;
    border-left-width: 20px;
  }

  /* スマホ時の一時停止アイコン縮小（全体サイズを小さく） */
  .areaVideoFrontpage .videoPauseBtn span {
    width: 18px; /* 全体の横幅を縮小 */
    height: 20px; /* 全体の縦幅を縮小 */
  }
  
  /* スマホ時の1本目・2本目の線の太さ調整 */
  .areaVideoFrontpage .videoPauseBtn span::before,
  .areaVideoFrontpage .videoPauseBtn span::after {
    width: 5px;
  }
}
/* END - FB133 */