 /* ================================================
お受験TOPページ コンテンツスタイル
================================================ */
 body #wrapper #ojuken-hero-top {
   display: block;
   padding-top: 140px;
 }
 @media screen and (max-width: 767px) {
    body #wrapper #ojuken-hero-top {
      padding-top: 100px;
    }
  }
 /* お受験ヒーロー */
 .ojuken-hero picture,
 .ojuken-hero img {
   display: block;
   width: 100%;
   height: auto;
 }

 /* ---- コピーテキスト ---- */
 .ojuken-copy {
   text-align: center;
   padding: 50px 20px;
 }

 .ojuken-copy-lead {
   font-size: 28px;
   line-height: 1.9;
   color: #000;
   margin-bottom: 50px;
   font-weight: normal;
   font-family: 'Noto Serif JP', serif;
 }

 .ojuken-copy-btn {
   max-width: 90%;
   margin: 0 auto;
   background: #021F47;
   width: 614px;
   height: 84px;
   line-height: 82px;
   display: block;
   font-size: 20px !important;
   font-weight: 500;
   font-family: 'Noto Serif JP', serif;
   color: #fff !important;
   text-decoration: none;
   letter-spacing: 0.06em;
   border: 1px solid #021F47;
   transition: 0.3s ease;
   background-image: url("../img/ojuken/arrow_right_wh.svg");
   background-repeat: no-repeat;
   background-position: 97%;
   background-size: 7px;
   max-width: 100%;
 }

 .ojuken-copy-btn:hover {
   opacity: 0.8;
 }

 @media screen and (max-width: 767px) {
   .ojuken-copy {
     padding: 45px 0 25px;
   }

   .ojuken-copy-lead {
     font-size: 20px;
   }

   .ojuken-copy-btn {
     max-width: 100%;
     font-size: 18px !important;
     height: 70px;
     line-height: 68px;
     background-position: 95%;
     background-size: 9px;
   }

 }

 /* ---- 2カラムバナー ---- */
 .ojuken-bnr-2col {
   display: flex;
   gap: 40px;
   width: 100%;
   max-width: 1040px;
   margin: 50px auto 100px;
 }

 .ojuken-bnr-2col a {
   display: block;
   flex: 1;
   overflow: hidden;
 }

 .ojuken-bnr-2col img {
   display: block;
   width: 100%;
   height: auto;
 }

 @media screen and (max-width: 767px) {
   .ojuken-bnr-2col {
     margin: 50px auto;
     flex-direction: column;
     gap: 25px;
   }
 }

 /* ---- ニュースセクション（日付・属性タグ） ---- */
 .ojuken-news-section {
   padding: 80px 20px 80px;
   background: #EDE8E0;

 }

 .ojuken-news-box {
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .ojuken-news-section h2 {
   font-size: 25px;
   letter-spacing: 0.14em;
   font-weight: 400;
   text-align: center;
   font-family: 'Noto Serif JP', serif;
   margin-bottom: 0 !important;
   width: 15%;
 }

 .ojuken-news-list {
   list-style: none;
   padding: 0;
   margin: 0;
   padding-left: 30px;
   margin-left: 30px;
   border-left: 1px solid #021F47;
   width: 80%;
 }

 .ojuken-news-list li {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 13px 0;
   border-bottom: 1px solid #e8e8e8;
 }

 .ojuken-news-list li:first-child {
   border-top: 1px solid #e8e8e8;
 }

 /* 日付 */
 .news-date {
   font-size: 16px;
   color: #000;
   white-space: nowrap;
   min-width: 76px;
   font-family: 'Noto Serif JP', serif;
   letter-spacing: 0.03em;
   line-height: 1.2;
   margin-right:10px;
 }

 /* 属性タグ */
 .news-tag {
   display: inline-block;
   font-size: 12px;
   padding: 2px 12px;
   width: 84px;
   white-space: nowrap;
   font-weight: 500;
   line-height: 1.2;
   letter-spacing: 0.04em;
   flex-shrink: 0;
   margin-top: 1px;
   text-align: center;
   margin-right: 20px;
 }

 .news-tag--info {
   background: #e8f0f8;
   color: #2a5fa8;
 }

 .news-tag--seminar {
   background: #64AF89;
   color: #fff;
 }

 .news-tag--event {
   background: #88CDCC;
   color: #fff;
 }

 .news-tag--soudankai {
   background: #EB9DED;
   color: #fff;
 }

 /* タイトルリンク */
 .ojuken-news-list a {
   font-size: 16px;
   color: #000000;
   text-decoration: none;
   line-height: 1.6;
   flex: 1;
   font-family: 'Noto Serif JP', serif;
   min-width: 0;
 }

 p.ojuken-news-list {
   text-align: center;
   font-family: 'Noto Serif JP', serif;
   font-size: 16px;
   padding: 20px 0;
 }

 .ojuken-news-list a:hover {
   color: #5ab4bd;
   text-decoration: underline;
 }

 .ojuken-news-more {
   text-align: right;
   margin-top: 14px;
 }

 .ojuken-news-more a {
   font-size: 14px;
   border-bottom: 1px solid #000;
   color: #000;
   padding-bottom: 10px;
   font-family: 'Noto Serif JP', serif;
   text-decoration: none;
   padding-right: 35px;
   display: inline-block;
   background-image: url("../img/ojuken/arrow_right_bk.svg");
   background-repeat: no-repeat;
   background-size: 7px;
   background-position: top 30% right;
 }

 @media screen and (max-width: 767px) {
   .ojuken-news-section {
     padding: 40px 0;
   }

   p.ojuken-news-list {
     text-align: center;
     font-family: 'Noto Serif JP', serif;
     font-size: 14px;
   }

   .ojuken-news-section h2 {
     font-size: 24px !important;
     margin-bottom: 20px !important;
     width: 100%;
   }

   .ojuken-news-box {
     flex-direction: column;
   }

   .news-date {
     min-width: 66px;
   }

   .ojuken-news-list {
     margin-left: 0;
     padding-left: 0;
     border: none;
     border-top: 1px solid #000;
     width: 100%;
   }

   .ojuken-news-list li {
     gap: 7px;
     display: block;
     flex-wrap: wrap;
   }

   .ojuken-news-list .head {
     margin-bottom: 15px;
   }

   .ojuken-news-list li a {
     display: block;
     width: 100%;
   }

   .ojuken-news-more a {
     font-size: 18px !important;
     height: 70px;
     line-height: 68px;
     background-position: 95%;
     background-size: 9px;
   }
 }

 /* ---- アイテムカテゴリ ---- */
 .ojuken-cat-section {
   padding: 100px 20px;
   text-align: center;
 }

 .ojuken-cat-section>h2 {
   font-size: 30px;
   letter-spacing: 0.16em;
   font-weight: 400;
   margin-bottom: 80px;
   font-family: 'Noto Serif JP', serif;
 }

 .ojuken-cat-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
   max-width: 1040px;
   margin: 0 auto;
   list-style: none;
   padding: 0;
 }

 .ojuken-cat-grid a {
   display: block;
   text-decoration: none;
   text-align: center;
 }

 .ojuken-cat-grid img {
   display: block;
   width: 100%;
   height: auto;
   margin-bottom: 14px;
 }

 .ojuken-cat-grid span {
   font-size: 16px;
   color: #000;
   font-family: 'Noto Serif JP', serif;
   letter-spacing: 0.06em;
 }

 .ojuken-cat-more a {
   max-width: 90%;
   margin: 50px auto 0;
   background: #021F47;
   width: 614px;
   height: 84px;
   line-height: 82px;
   display: block;
   font-size: 20px !important;
   font-weight: 500;
   font-family: 'Noto Serif JP', serif;
   color: #fff !important;
   text-decoration: none;
   letter-spacing: 0.06em;
   border: 1px solid #021F47;
   background-image: url("../img/ojuken/arrow_right_wh.svg");
   background-repeat: no-repeat;
   background-position: 97%;
   background-size: 7px;
   transition: 0.3s ease;
 }

 .ojuken-cat-more a:hover {
   opacity: 0.8;
 }

 @media screen and (max-width: 767px) {
   .ojuken-cat-section {
     padding: 50px 0;
   }

   .ojuken-cat-section>h2 {
     margin-bottom: 40px;
     font-size: 24px !important;
   }

   .ojuken-cat-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 15px;

   }

   .ojuken-cat-grid span {
     font-size: 14px;
   }

   .ojuken-cat-more a {
     line-height: 1.3;
     padding: 17px 0;
     font-size: 18px;
     max-width: 100%;
     font-size: 18px !important;
     background-position: 95%;
     background-size: 9px;
   }
 }

 /* ---- 広尾本店イベント ---- */
 .ojuken-event-section {
   padding: 70px 20px;
   text-align: center;
   background: #EDE8E0;
 }

 .ojuken-event-section h2 {
   font-size: 30px;
   letter-spacing: 0.14em;
   font-weight: 400;
   margin-bottom: 60px;
   font-family: 'Noto Serif JP', serif !important;
 }

 .ojuken-event-2col {
   display: flex;
   gap: 40px;
   max-width: 1040px;
   margin: 0 auto 50px;
 }

 .ojuken-event-2col a {
   display: block;
   flex: 1;
 }

 .ojuken-event-2col img {
   display: block;
   width: 100%;
   height: auto;
 }

 .ojuken-event-btn a {
   max-width: 90%;
   margin: 50px auto 0;
   background: #88CDCC;
   width: 614px;
   height: 84px;
   line-height: 82px;
   display: block;
   font-size: 20px !important;
   font-weight: 500;
   font-family: 'Noto Serif JP', serif;
   color: #fff !important;
   text-decoration: none;
   letter-spacing: 0.06em;
   border: 1px solid #88CDCC;
   transition: 0.3s ease;
   background-image: url("../img/ojuken/arrow_right_wh.svg");
   background-repeat: no-repeat;
   background-position: 97%;
   background-size: 7px;
 }

 .ojuken-event-btn a:hover {
   opacity: 0.8;

 }

 @media screen and (max-width: 767px) {
   .ojuken-event-section {
     padding: 45px 0 45px !important;
   }

   .ojuken-event-section h2 {
     font-size: 24px !important;
     margin-bottom: 30px !important;
   }

   .ojuken-event-2col {
     flex-direction: column;
     gap: 25px;
     margin-bottom: 25px;
   }

   .ojuken-event-btn a {
     max-width: 100%;
     font-size: 18px;
     font-size: 18px !important;
     height: 70px;
     line-height: 68px;
     background-position: 95%;
     background-size: 9px;
   }

 }

 /* ---- フィーチャーテキスト ---- */
 .ojuken-school-section {
   padding: 100px 20px;
   text-align: center;
 }

 .ojuken-school-section h2 {
   text-align: center;
   font-size: 22px !important;
   letter-spacing: 0.14em;
   font-weight: 400;
   font-family: 'Noto Serif JP', serif !important;
   margin-bottom: -20px !important;
 }

 .ojuken-school-section h2 span {
   padding: 0 20px;
   background: #fff;
   display: inline-block;
 }

 .ojuken-school-list {
   border: 1px solid #000;
   padding: 54px 35px;
   font-size: 14px;
   font-family: 'Noto Serif JP', serif !important;
   line-height: 1.7;
   text-align: left;
 }

 @media screen and (max-width: 767px) {
   .ojuken-school-section {
     padding: 50px 0;
     text-align: center;
   }

   .ojuken-school-section h2 {
     line-height: 1.5;
     font-size: 17px !important;
     margin-bottom: -30px !important;
   }

   .ojuken-school-list {
     padding: 50px 24px 30px;
     font-size: 14px;
     line-height: 1.7;
   }
 }

 /* ---- 広尾アカデミ ---- */
 .ojuken-academy-section {
   padding: 100px 20px;
   background: #EDE8E0;
   text-align: center;
 }

 .ojuken-academy-bnr {
   width: 500px;
   margin: 0 auto 30px;
   max-width: 100%;
 }

 .ojuken-academy-bnr img {
   width: 100%;
 }

 .ojuken-academy-section>h2 {
   font-size: 22px;
   letter-spacing: 0.14em;
   font-weight: 400;
   font-family: 'Noto Serif JP', serif !important;
   margin-bottom: 20px !important;
 }

 .ojuken-academy-inner {
   display: flex;
   gap: 32px;
   align-items: flex-start;
   text-align: left;
 }

 .ojuken-academy-inner>img {
   display: block;
   width: 44%;
   height: auto;
   flex-shrink: 0;
 }

 .ojuken-academy-text {
   margin: 0 auto;
   width: max-content;
   max-width: 100%;
 }

 .ojuken-academy-text p {
   font-size: 14px;
   line-height: 1.9;
   font-family: 'Noto Serif JP', serif !important;
   width: 500px;
   margin: 0 auto;
   color: #000;
   margin-bottom: 40px;
 }

 .ojuken-academy-text a {
   display: block;
   border: 1px solid #333;
   padding: 8px 24px;
   font-size: 12px;
   color: #333;
   text-decoration: none;
   transition: 0.3s ease;
   letter-spacing: 0.06em;
   background-image: url("../img/ojuken/arrow_right_wh.svg");
   background-repeat: no-repeat;
   background-position: 97%;
   background-size: 7px;
 }

 .ojuken-academy-text a:hover {
   background: #fff;
   background-image: url("../img/ojuken/arrow_right.svg");
   background-repeat: no-repeat;
   background-position: 97%;
   background-size: 7px;
 }

 .ojuken-academy-text a {
   max-width: 90%;
   margin: 50px auto 0;
   background: #021F47;
   width: 614px;
   height: 84px;
   line-height: 82px;
   padding: 0;
   display: block;
   font-size: 20px !important;
   font-weight: 500;
   font-family: 'Noto Serif JP', serif;
   color: #fff !important;
   text-decoration: none;
   letter-spacing: 0.06em;
   border: 1px solid #021F47;
   text-align: center;
   transition: 0.3s ease;
   background-image: url("../img/ojuken/arrow_right_wh.svg");
   background-repeat: no-repeat;
   background-position: 97%;
   background-size: 7px;
 }

 .ojuken-academy-text a:hover {
   opacity: 0.8;

 }

 @media screen and (max-width: 767px) {
   .ojuken-academy-section {
     padding: 50px 0;
   }

   .ojuken-academy-section h2 {
     font-size: 22px !important;
   }

   .ojuken-academy-inner {
     flex-direction: column;
   }

   .ojuken-academy-inner>img {
     width: 100%;
   }

   .ojuken-academy-text a {
     font-size: 18px;
     max-width: 100%;
     font-size: 18px !important;
     height: 70px;
     line-height: 68px;
     background-position: 95%;
     background-size: 9px;
   }

 }

 .bg-wrap {
   position: relative;
 }

 .bg-wrap::before {
   content: "";
   width: 100%;
   left: -100%;
   position: absolute;
   display: block;
   top: 0;
   width: 100%;
   height: 100%;
   background: #EDE8E0;
 }

 .bg-wrap::after {
   content: "";
   width: 100%;
   right: -100%;
   position: absolute;
   display: block;
   top: 0;
   width: 100%;
   height: 100%;
   background: #EDE8E0;
 }

 #main-column {
   overflow: hidden;
 }

 .is-sp {
   display: none;
 }

 @media screen and (max-width: 768px) {
   .is-sp {
     display: block;
   }
 }

 .is-pc {
   display: block;
 }

 @media screen and (max-width: 768px) {
   .is-pc {
     display: none;
   }
 }