@charset "utf-8";
html{
    font-size: 16px;
    color: #333;
}
p{
    line-height: 1.5rem;
}
h1{
    font-size: 2rem;
}
h2{
    font-size: 1.5rem;
}
ul{
    list-style: none;
    line-height: 1.5rem;
}
input{
    font-size: 16px;
}
/* 共通 */
.wrapper{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #fff0f4;
}
.content{
    flex: 1;
}
.conteiner{
    display: flex;
    max-width: 1000px;
    margin: 0 auto;
    justify-content: center;
    flex-wrap: wrap;
}
.main_wrapper{
    width: 700px;
    padding: 0 10px;
}
/* 共通　end */

/* header */
.header{
    background-color: #fff0f4;
    width: 100%;
    margin: 0 0 10px;
}
.header_container{
    max-width: 1000px;
    padding: 0 40px;
    margin: 0 auto;
    height: 50px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: Montserrat,sans-serif;
}
.header_logo{
    color: #e91e63;
    transition: color 0.3s ease;
}
.header_logo:hover{
    color: #ad1457;
}
.home_bottons {
    display:flex;
    color: white;
    font-size: 18px;
    border: none;
    }
.home_button {
    display: block;
    margin: 0 10px;
}
.home_button_text {
    color: #E75480;
}
.home_button_text:hover{
    color: #C67085; /* 濃いめピンクでホバー時 */
    transform: scale(1.05); /* 少し大きく */
}
/* header end */

/* footer */
.footer{
    width: 100%;
    background-color: fff0f4;
    margin-top: auto;
    padding: 40px 0px 20px;
    text-align: center;
    color: #808080;
    font-family: Montserrat,sans-serif;
}
.footer_menu{
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}
.footer a{
    color: #808080;
    text-decoration: none;
    margin: 5px;
}
.footer a:hover{
    text-decoration: underline;
}
.footer .footer_home{
    padding: 0 0 40px;
    font-size: 1.2rem;
}
.footer .footer_menu{
    list-style: none;
    justify-content: center;
    align-items: center;
    padding: 0 0 40px ;
}
.footer .footer_menu li{
    padding: 0 20px;
    font-size: 0.8rem;
}
/* footer end */

/* indexページ */
.next_archive{
    padding: 0 0 20px;
    text-align: right;
}
.next_archive_link{
    color: #333;
    text-decoration: none;
    font-size: 1rem;
}
.next_archive_link:hover{
    color: #ff3333;
}
/* indexページ　end */

/* ビデオ */
#videos, #books{
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.video, .book{
    display: grid;
    position: relative;
    padding: 2px;
}
.f_btn{
    display: flex;
    position: absolute;
    top: 2px;
    left: 2px;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 20px;
    color: #fff;
    background-color: #F06292;
    border-radius: 2px;
    font-weight: bold;
    font-family: 'Poppins', sans-serif;
}
.video_url, .book_url{
    display: inline-block;
    width: 100%;
}
.video_img, .book_img{
    width: 100%;
}
#load-next {
  border: none; /* 枠線をなくす */
  border-radius: 5px; /* 角丸をつける */
  padding: 15px 15px; /* ボタンの内側の余白 */
  margin: 5px; /* ボタン同士の余白 */
  background-color: #F06292; /* ボタンの背景色 */
  color: white; /* ボタンの文字色 */
  text-align: center; /* ボタンのテキストを中央揃えにする */
  text-decoration: none; /* テキストに下線をつけない */
  font-size: 15px; /* テキストのフォントサイズ */
  cursor: pointer; /* マウスポインタを変更する */
  font-family: Montserrat,sans-serif;
}
#load-next:hover {
  color: #fff;
  opacity: 0.8;
}
#load-next:disabled{
    opacity: 0.3;
}
/* ビデオ　end */

/* コンテンツ（仮） */
.video-section {
    max-width: 960px;
    margin: 20px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    padding: 24px;
}
.video-title {
    font-size: 1.4rem;
    color: #e60033;
    margin-bottom: 20px;
}

 .video-content {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
}

.video-box {
  flex: 1 1 480px;
  aspect-ratio: 16 / 9; /* ✅ 縦横比を直接指定 */
}

.video-box iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.video-description {
    flex: 1 1 300px;
    font-size: 1rem;
    line-height: 1.6;
}
/* コンテンツ（仮）end */

/* 年齢確認 */
.age-check-wrapper {
  background-color: #fff0f4;
  padding: 10em 2em 2em 2em;
  border-radius: 8px;
  text-align: center;
  font-family: sans-serif;
  color: #8b005d;
}

.age-check-warning {
  color: #333;
  font-weight: bold;
  margin-bottom: 1em;
}

.age-check-title {
  font-size: 1.5em;
  color: #c2185b;
  margin-bottom: 1em;
}

.age-check-form {
  display: flex;
  margin-top: 1.5em;
}

.age-check-btn {
  flex: 1;
  padding: 0.75em;
  border: none;
  border-radius: 6px;
  margin: 0 0.5em;
  font-size: 1em;
  cursor: pointer;
  color: white;
  transition: background-color 0.3s ease;
}

.age-check-btn.yes {
  background-color: #F06292;
}

.age-check-btn.no {
  background-color: #fff;
  color:#333
}

.age-check-btn:hover {
  opacity: 0.85;
}
/* 年齢確認end */

/* メニュー */
.menu-container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    width: 100%;
    margin: 50px auto 50px;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
}
.menu-link {
    padding: 15px;
    margin: 0;
    font-size: 16px;
    width: 100%;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    text-align: center;
    color: #e91e63;
    transition: color 0.3s ease;
    font-family: Montserrat,sans-serif;
    cursor: pointer;
}
/* メニューend */

.rank_title{
  font-size: 24px;
  font-weight: bold;
  color: #e91e63;
  font-family: Montserrat,sans-serif;
  margin-bottom: 16px;
  text-align: center;
  position: relative;
}
.rank_title::after {
  content: "⭐";
  position: absolute;
  left: -30px;
  top: 0;
}
#rank_wrapper{
    width: 100%;
}
.rank_item{
    width: 100%;
    margin-bottom: 50px;
}
.rank_header{
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
.rank {
  display: inline-block;
  width: 36px;
  height: 36px;
  min-width: 36px;
  background-color: #ffcce5; /* 淡いピンク */
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  font-family: "Arial Rounded MT Bold", "Hiragino Maru Gothic Pro", sans-serif;
  border-radius: 50%;
  text-align: center;
  line-height: 36px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease;
  margin-right: 5px;
}
.rank_1 {
  background-color: #ffd700; /* 金 (ゴールド) */
  color: #fff;
}
.rank_2 {
  background-color: #c0c0c0; /* 銀 (シルバー) */
  color: #333;
}
.rank_3 {
  background-color: #cd7f32; /* 銅 (ブロンズ) */
  color: #fff;
}
.rank_subtitle {
  font-size: 16px;
  color: #333;
  font-weight: 600;
  font-family: "Hiragino Maru Gothic Pro", sans-serif;
}
.swiper-slide {
  width: auto;
  height: auto;
}
.rank_img {
  height: 300px;
  display: block;
  object-fit: contain; /* 画像全体表示 */
}
.swiper-button-next,
.swiper-button-prev {
  background-color: white;       /* 白丸背景 */
  width: 50px;
  height: 50px;
  border-radius: 50%;            /* 丸形 */
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
/* デフォルトの矢印の色変更 */
.swiper-button-next::after,
.swiper-button-prev::after {
  color: gray;
  font-size: 18px; /* お好みで調整 */
}
/* ホバーで矢印表示＆ボタン拡大 */
.swiper-button-next:hover,
.swiper-button-prev:hover {
  transform: scale(1.3); /* 拡大 */
}

/* ブログ */
.blog_content{
    flex: 1;
    background-color: #fff;
}
.blog_conteiner{
    display: flex;
    margin: 0 auto;
    padding-top: 100px;
    flex-wrap: wrap;
    width: 620px;
    text-align: left;
}
.blog_img{
    width: 100%;
    margin-bottom: 100px;
}
.blog_title{
    font-size: 32px;
    line-height: 48px;
    font-family: "Helvetica Neue", "Segoe UI";
    margin-bottom: 50px;
}
.blog_subtitle{
    font-size: 28px;
    line-height: 36px;
    font-family: "familyYakuHanJPs", "Segoe UI", "Arial", "Meiryo", sans-serif;
    margin-bottom: -18px;
}
.blog_text{
    font-size: 18px;
    line-height: 36px;
    font-family: "familyYakuHanJPs", "Segoe UI", "Arial", "Meiryo", sans-serif;
    margin:  36px 0;
}
.affiliate-img{
    width: 100%;
    margin-bottom: 80px;
}

/* スマホ用レイアウト（画面幅768px以下） */
@media (max-width: 768px) {
    .menu-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* レスポンシブ */
@media only screen and (max-width:999px){
    .sidebar_wrapper{
        width: 700px;
    }
}
@media only screen and (max-width:480px){
    h2{
        font-size: 1.2rem;
    }
    /* header */
    .header_container{
        height: 60px;
        padding: 0 10px;
    }
    .header_sitename{
        font-size: 1.5rem;
    }
    .home_button {
        font-size: 1rem;
        margin: 0 5px;
    }
    /* footer */
    .footer_home{
        display: none;
    }
    .footer_menu{
        font-size: 0.7rem;
    }
    .footer_menu li{
        border-right: solid 1px #bbb;
    }
    .footer_menu li:last-child{
        border: none;
    }
    .copyright{
        padding: 0;
    }
    /* 共通 */
    .main_wrapper{
        width: 100%;
        padding: 0;
    }
    /* コンテンツ（仮） */
    .video-title {
    font-size: 1rem;
    color: #e60033;
    margin-bottom: 20px;
    }
    .rank_img {
    height: 250px;
    }
    .swiper-button-next,
    .swiper-button-prev {
    display: none;
    }
}
/* レスポンシブ end */




