body {
      font-family: "Zen Kaku Gothic New", sans-serif;
      color: #222222;
      background-color: #fbfbfb;
      width: 100vw;
      overflow-x: hidden;
}
.aisatsu {
    width: 100vw;
    height: 450px;
    /* background-color: aqua; */
}
.title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 250px;
}
.left-square {
    width: 12px;
    height: 13px;
    background-color: #6274be;
    margin-right: 28px;
}
.right-square {
    width: 12px;
    height: 13px;
    background-color: #d54640;
    margin-left: 28px;
}
.title-content {
    font-weight: 500;
    font-size: 45px;
}
.aisatsu-sentence {
    text-align: center;
    font-size: 22px;
    font-weight: 500;
    margin-top: 60px;
    line-height: 2;
}
.hosomoji {
    font-size: 22px;
    font-weight: 400;
}
/* ここから協賛スライド */ 
.kyousan-slide {
    width: 100vw;
}
.line-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 100px;
}
.line-title-content {
    font-weight: 500;
    font-size: 45px;
}
.left-line {
    width: 78px;
    height: 1px;
    background-color: #000;
    margin-right: 28px;
}
.right-line {
    width: 78px;
    height: 1px;
    background-color: #000;
    margin-left: 28px;
}

/* kyosan-narabe-container に対応 */
/* .contents-grid {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 50px;
    position: relative;
} */


.swiper-slide {
    height: 640px !important;
    border: #000 1px solid;
    padding-top: 50px;
    box-sizing: border-box; /* パディングを高さに含める */
    border-radius: 5px;
      background-color:#ffffff;
}
/* スライダー全体のコンテナ設定 */
.kyousan-slide .swiper {
    position: relative;
    width: 90%; /* 全体の幅を少し狭めてボタンを配置しやすくする */
    margin: 50px auto 0; /* 上下のマージンを調整 */
}

/* bihinkyousan に対応 */
.grid-item {
    width: 27vw;
    height: 400px;
    border: #000 1px solid;
    padding-top: 50px;
}
.button-left {
    width: 50px;
    height: 50px;
    background-color: #000;
    left: 30px;
    margin-top: 380px;
    position: absolute;
    border-radius: 50%;
    color: #fff;
}
.button-right {
    width: 50px;
    height: 50px;
    background-color: #000;
    right: 30px;
    margin-top: 380px;
    position: absolute;
    border-radius: 50%;
    color: #fff;
}

/* Swiperのナビゲーションボタンのスタイル */
.swiper-button-prev,
.swiper-button-next {
    color: #000; /* ボタンの色 */
}

/* スライド内の画像の幅を調整 */
.swiper-slide .item-image-container {
    width: 80%; /* スライドに対しての幅に調整 */
    margin: 20px auto;
}
.swiper-slide .item-image-container img {
    width: 100%;
    height: auto;
}


/* スライド内のテキストの幅を調整 */
.swiper-slide .item-description-text {
    width: 80%; /* スライドに対しての幅に調整 */
    margin: 0 auto;
    font-size: 18px; /* 少しフォントを小さくして収まりを良くする */
}

/* blockTitleContainerのマージンを調整 */
.swiper-slide .blockTitleContainer {
    margin-left: 10%; /* スライドに対しての左マージン */
}

/* line-title に対応 */
.item-title-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* left-line, right-line に対応 */
.title-line-left,
.title-line-right {
    width: 78px;
    height: 1px;
    background-color: #000;
}
.title-line-left {
    margin-right: 28px;
}
.title-line-right {
    margin-left: 28px;
}

/* line-bihinbuppin に対応 */
.item-title-line {
    width: 80px;
}

/* bihinbuppintitle に対応 */
.item-specific-title {
    font-size: 35px;
    position: relative;
}
.item-specific-title::after {
    position: absolute;
    width: 10px;
    height: auto;
}

/* bihibuhiimage に対応 */
.item-image-container {
    width: 20vw;
    height: auto;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px;
}

/* bihibuhisentence に対応 */
.item-description-text {
    width: 20vw;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.5;
}

/* Swiperとカスタムボタンを包括するコンテナ */
.swiper-container-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 95%; /* ボタンのスペースを確保するために少し調整 */
    margin: 50px auto 0;
}

/* スライダー自体のマージンをリセット */
.kyousan-slide .swiper {
    margin: 0;
    width: 85%;
}

/* カスタムボタンの基本スタイル */
.left-button,
.right-button {
    width: 50px;
    height: 50px;
    /* background-color: #000; */
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    position: absolute; /* 親要素(.swiper-container-wrapper)を基準に配置 */
    top: 50%;
    transform: translateY(-50%);
}
.right-allow-company {
    width: 50px;
}
.left-allow-company {
    width: 50px;
}
.left-button {
    left: 0; /* 左端に配置 */
}

.right-button {
    right: 0; /* 右端に配置 */
}

/* Swiperの標準ボタンを非表示にする */
.swiper-button-prev,
.swiper-button-next {
    display: none !important; /* !importantで確実に非表示にする */
}

/* スライドの高さの再調整 */
.swiper-slide {

}

/* ここまで協賛スライド */

/* ここから協賛ならべ */
.kyosan-narabe {
    width: 100vw;
    height: 700px;
    margin-top: 50px;
}
.kyosan-narabe-container {
    display: flex;
    justify-content: center;
    gap: 5vw;
}
.bihinkyousan {
    width: 38vw;
    /* height: 675px; */
    border: #000 1px solid;
    border-radius: 20px;
    padding-top: 50px;
}
.bihinbuppintitle {
    font-size: 35px;
}
.line-bihinbuppin {
    width: 80px;
}
.bihibuhiimage {
    width: 30vw;
    height: auto;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px;
}
.bihibuhisentence {
    width: 30vw;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 50px;
}  
/* ここまで協賛ならべ */
.seikahousyuu {
    width: 100vw;
    /* height: 400px; */
    margin-top: 50px;
}
.seika-container {
    width: 80.5vw;
    /* border: #000 1px solid; */
    border-radius: 20px;
    margin: 0 auto;
    /* padding-top: 25px; */
}
.seikahousyuutitle {
    font-size: 36px;
}
.seika-sentence {
    text-align: center;
    font-size: 20px;
    margin-top: 50px;
    margin-bottom: 25px;
}
/* ここまで成果報酬 */
/* ここから成果報酬詳細 */
.kyousan-detail {
    width: 100vw;
    height: 600px;
}
.kyousan-detail-sentence {
    text-align: center;
    font-size: 20px;
    line-height: 1.8;
    margin-top: 50px;
}
.address-container {
    width: 100vw;
    height: 300px;
}
.address-title {
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    margin-top: 100px;
    margin-bottom: 30px;
}
.address-box1 {
    width: 810px;
    height: 90px;
    border-top: #000 1px solid;
    border-bottom: #000 1px solid;
    margin: 0 auto;
    display: flex;
    justify-content: left;
    align-items: center;
}
.address-box2 {
    width: 810px;
    height: 90px;
    border-bottom: #000 1px solid;
    margin: 0 auto;
    display: flex;
    justify-content: left;
    align-items: center;
}
.address-category {
    font-size: 22px;
    font-weight: 450;
    width: 150px;
    margin-left: 35px;
}
.address-content {
    font-size: 22px;
}
.mail {
    color: #6274BE;
    text-decoration: underline;
}
/* ここまでアドレス */
/* ここから宣誓 */
.sensei {
    width: 100vw;
    margin-top: 50px;
}
.sensei-sentence {
text-align: center;
font-size: 20px;
font-weight: 450;
}
.logo {
    margin: 0 auto;
    width: 300px;
    margin-top: 50px;
}

/* ここからブロックタイトル */
.blockTitleContainer {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 30px;

height: 50px;

}

.blockTitleBar {
  width: 9px;
  height: 30px;
  border-radius: 50px;
}

.blockRed {
  background-color: #222222;
}

.blockBlue {
  background-color: #6274BE;
}

.blockYellow {
  background-color: #f8b945;
}

.blockTitle {
  font-size: 22px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #222222;
  margin-bottom: 5px;
}

.blockTitle-small{
  font-size: 24px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #222222;
  margin-bottom: 5px;
}

.blockTitleBar-small{
  width: 7px;
  height: 26px;
  border-radius: 3px;
  gap: 5px;
}

@media (max-width: 500px) {
  .blockTitleContainer {
    gap: 5px;
  }

  .blockTitleBar {
    width: 6px;
    height: 20px;
    border-radius: 3px;
  }

  .blockTitle {
    font-size: 20px;
    margin-bottom: 1px;
  }
}
/* ここまでブロックタイトル */

footer {
    width: 100vw;
    overflow-x: hidden;
    /* background-color: #ffffff; */
}
.footer-blue-decoration img {
    background-color: #6274be !important;
}
.sp {
    display: none;
}
.pc {
    display: block;
}

.kyosan-narabe {
    height: auto;
}
.kyosan-narabe-container {
    display: inline;

}
.bihinkyousan {
    width: 80vw;
    margin: 0 auto;
    margin-bottom: 30px;
    border: none;
    text-align: center;
    height: 150px;
    padding: 0;
}
.bihibuhiimage {
    width: 55vw;
}
.bihibuhisentence {
    width: 80vw;

    margin-top: 20px;
    margin-bottom: 50px;
}
.gatsunosyuusei {
    margin-top: 200px;
}
@media (max-width: 1250px) {
.swiper-slide {
    height: 700px !important;
}
}
@media (max-width: 1000px) {
.swiper-slide {
    height: 750px !important;
}
}
@media (max-width: 768px) {
.sp {
    display: inline;
}
.pc {
    display: none;
}
.title {
    margin-top: 120px;
}
.aisatsu {
    height: 250px;
}
.title-content {
    font-size: 20px !important;
}
.aisatsu-sentence {
    font-size: 13px;
}
.line-title-content {
    font-size: 22px !important;
    text-align: center;
}
.left-line {
    width: 45px !important;
    margin-right: 10px;
}
.right-line {
    width: 45px !important;
    margin-left: 10px;
}
.swiper-slide {
    width: 282px;
    padding-top: 20px;
    height: 500px !important;
}
  .kyousan-slide .swiper {
    width: 282px;
    margin: 0 auto;
  }

  /* 各スライドの幅を 282px に固定 */
  .kyousan-slide .swiper-slide {
    width: 282px !important;   /* Swiper が inline-style を付与するため !important で上書き */
  }
.item-description-text {
    font-size: 14px !important;
}
.kyosan-narabe {
    height: auto;
}
.kyosan-narabe-container {
    display: inline;

}
.bihinkyousan {
    width: 80vw;
    margin: 0 auto;
    margin-bottom: 30px;
    border: none;
    text-align: center;
    height: 150px;
    padding: 0;
}
.bihibuhiimage {
    width: 55vw;
}
.bihibuhisentence {
    width: 80vw;
    font-size: 14px;
    margin-top: 20px;
    margin-bottom: 50px;
}
.seika-container {
    border: none;
    padding: 0;
}
.seika-sentence {
    font-size: 14px;
    text-align: left;
    width: 80vw;
    margin: 0 auto;
    margin-top: 20px;
    line-height: 2;
    text-align: center;
}
.seikahousyuu {
    height: 220px !important;
}
.seikahousyuutitle {
    font-size: 15px !important;
}
.kyousan-detail-sentence {
    text-align: left;
    width: 80vw;
    margin: 0 auto;
    font-size: 14px;
    margin-top: 20px;
    text-align: center;
}
.address-box1 {
    width: 90%;

}
.address-box2 {
    width: 90%;
}
.address-title {
    font-size: 18px;
    margin-top: 70px;
}
.address-category {
    font-size: 16px;
    width: 80px;
    margin-left: 35px;
}
.address-content {
    font-size: 14px;
}
.sensei-sentence {
    font-size: 14px;
}
.left-allow-company,
.right-allow-company {
    width: 44px;
    height: 44px;
}
.left-button,
.right-button {
    width: 44px;
    height: 44px;
}
.logo {
    margin-top: 10px;
}
.koukokukyousan-spsentence {
    padding-top: 50px;
    display: block;
    line-height: 1.5;
    margin: 0 auto;
    width: 250px;
}
.hosomoji {
    font-size: 14px;

}
.aisatsu-sentence {
    margin-top: 30px;
}
.gatsunosyuusei {
    margin-top: 0;
}
}
