 @charset "utf-8";

 /*＝＝＝＝＝＝＝＝＝＝＝＝＝オリジナルヘッダー＝＝＝＝＝＝＝＝＝＝＝＝＝*/

 .header {
   position: fixed;
   /* 画面に固定 */
   top: 0;
   left: 0;
   width: 100%;
   box-sizing: border-box;
   /* paddingを含めた幅にする */
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 10px 15px;
   background-color: #fff;
   z-index: 100;
   /* メニュー背景より上に表示 */
   box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
 }

 .logo {
   font-weight: bold;
   font-size: 1.2rem;
 }

 .logo img {
   width: 250px;
 }

 /* ハンバーガーボタン */
 .hamburger {
   display: block;
   width: 40px;
   height: 40px;
   position: relative;
   background: none;
   border: none;
   cursor: pointer;
   z-index: 102;
   margin-top: 10px;
   text-align: center;
 }

 .hamburger span {
   display: block;
   position: absolute;
   width: 100%;
   height: 2px;
   background-color: #333;
   transition: all 0.4s;
   left: 0;
 }

 .hamburger span:nth-child(1) {
   top: 0;
 }

 .hamburger span:nth-child(2) {
   top: 15px;
 }

 .hamburger span:nth-child(3) {
   top: 30px;
 }

 /* ナビゲーションメニュー*/
 .nav {
   position: fixed;
   top: 0;
   right: -100%;
   width: 70%;
   height: 100vh;
   background-color: #333;
   transition: all 0.4s;
   z-index: 101;
   padding-top: 70px;
 }

 .nav-ttl {
   position: absolute;
   top: 10px;
   left: 5px;
   font-size: 16px;
   font-weight: 600;
   padding: 0 0 15px 0;
   margin-left: 10px;
   color: #fff;
 }

 .nav-list {
   list-style: none;
   padding: 0;
   margin: 0;
 }


 .nav-item {
   padding-left: 30px;
   font-size: 14px;
   border-top: 1px solid #666;
 }

 .nav-item a {
   display: block;
   padding: 15px 0;
   color: #fff;
   text-decoration: none;

 }

 .connect_nav {
   height: 100%;
   background-color: #fff;
 }

 a.nav-ttl2 {
   display: block;
   font-size: 20px;
   font-weight: 600;
   text-align: center;
   padding: 20px 0 10px;
   color: #000;
 }

 .nav-item2 a {
   display: block;
   padding: 10px 0;
   color: #000;
   font-size: 14px;
   text-align: center;
   text-decoration: none;
   border-top: 1px solid #666;

   span {
     display: inline-block;
     font-size: 11px;
     padding: 0 10px 3px 10px;
   }
 }

 .nav-item2.sub a {
   padding: 17px 0;
 }

 /* 【新規】メニュー内の閉じるボタン */
 .nav-close-btn {
   position: absolute;
   top: 20px;
   right: 20px;
   width: 20px;
   height: 20px;
   background: none;
   border: none;
   cursor: pointer;
 }

 /* CSSで×印を描画 */
 .nav-close-btn::before,
 .nav-close-btn::after {
   content: '';
   position: absolute;
   top: 14px;
   left: 0;
   width: 100%;
   height: 2px;
   background-color: #fff;
 }

 .nav-close-btn::before {
   transform: rotate(45deg);
 }

 .nav-close-btn::after {
   transform: rotate(-45deg);
 }

 /* 背景の黒い幕 */
 .black-bg {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   background-color: rgba(0, 0, 0, 0.5);
   transition: all 0.4s;
   opacity: 0;
   visibility: hidden;
   z-index: 99;
 }

 /* クラスが付与された時の状態（メニューオープン） */
 .is-open .nav {
   right: 0;
 }

 .is-open .black-bg {
   opacity: 1;
   visibility: visible;
 }

 /* ハンバーガーボタンもバツ印に変形させる（不要ならこの3つの設定は消してもOK） */
 .is-open .hamburger span:nth-child(1) {
   transform: translateY(14px) rotate(45deg);
 }

 .is-open .hamburger span:nth-child(2) {
   opacity: 0;
 }

 .is-open .hamburger span:nth-child(3) {
   transform: translateY(-14px) rotate(-45deg);
 }

 /*＝＝＝＝＝＝＝＝＝＝＝＝＝/オリジナルヘッダー＝＝＝＝＝＝＝＝＝＝＝＝＝*/

 :root {
   --main_col: #2177ae;
   --sub_col: #f0f8ff;
 }

 #Maincontents {
   padding-top: 70px;
   padding-bottom: 0;
 }

 section {
   padding-top: 30px;
 }

 section.bg_col {
   background-color: var(--sub_col);
 }

 .inner {
   padding: 0 15px 40px;
 }

 .inner.pb0 {
   padding-bottom: 0;
 }

 .flexbox {
   width: 100%;
   display: flex;
   flex-direction: column;
 }

 p {
   line-height: 160%;
 }

 h2.ttl2 {
   font-size: 1.6em;
   font-weight: 600;
   text-align: center;
   padding: 0 10px 5px;
   border-bottom: 2px solid var(--main_col);
   margin-bottom: 10px;
 }

 .ttl_flex {
   display: flex;
   flex-direction: column;
   padding-top: 20px;
 }

 h2.ttl3 {
   font-size: 28px;
   font-weight: 600;
   color: var(--main_col);
   text-align: center;
   padding: 0 10px 15px;
   border-bottom: 2px solid var(--main_col);
   margin-bottom: 10px;
   line-height: 50%;
   position: relative;

   span {
     font-size: 0.8em;
   }
 }

 h2.ttl3::before {
   font-size: 30px;
   position: absolute;
   top: -60px;
   left: 0;
   right: 0;
   margin: 0 auto;
 }

 h2.ttl3.no_01::before {
   content: "01";
 }

 h2.ttl3.no_02::before {
   content: "02";
 }

 h2.ttl3.no_03::before {
   content: "03";
 }

 h2.ttl3.no_04::before {
   content: "04";
 }

 h2.ttl3::after {
   position: absolute;
   left: 50%;
   bottom: 5px;
   z-index: 10;
   content: "";
   width: 100px;
   height: 100px;
   background-size: contain;
   background-repeat: no-repeat;
 }

 h2.ttl3.no_01::after {
   transform: translateX(calc(-50% + 160px));
   background-image: url('/common_d/connect/img/examplan2027/ttl_01img.png');
 }

 h2.ttl3.no_02::after {
   transform: translateX(calc(-50% + 180px));
   background-image: url('/common_d/connect/img/examplan2027/ttl_02img.png');
 }

 h2.ttl3.no_03::after {
   transform: translateX(calc(-50% + 170px));
   background-image: url('/common_d/connect/img/examplan2027/ttl_03img.png');
 }

 h2.ttl3.no_04::after {
   transform: translateX(calc(-50% + 150px));
   background-image: url('/common_d/connect/img/examplan2027/ttl_04img.png');
 }

 .ttl3_sub {
   font-size: 14px;
   color: #fff;
   padding: 3px 15px;
   background-color: var(--main_col);
   border-radius: 20px;
   margin: 0 auto;
 }

 .jitsume {
   letter-spacing: -0.02em;
 }

 a.mama:link {
   text-decoration: underline;
   color: #0000ee;
 }

 a.mama:visited {
   color: #0000ee;
 }

 /*check開閉アコーディオン*/

 .accordion-toggle {
   display: none;
 }

 .accordion-header {
   display: block;
   text-align: center;
   margin: 0 0 20px;
   border: 1px solid var(--main_col);
   position: relative;
   padding: 10px 30px 10px 15px;
   border-radius: 30px;
   color: var(--main_col);
   font-weight: 600;
   font-size: 1.2em;
   background-color: #eee;
 }

 .accordion-header:hover {
   background-color: var(--sub_col);
   cursor: pointer;
 }

 .accordion-header::after {
   content: "▼";
   position: absolute;
   right: 15px;
   top: 50%;
   transform: translateY(-50%);
   font-size: 0.8rem;
   transition: transform 0.3s;
 }

 .accordion-header.type2 {
   font-size: 18px;
   color: #18187b;
   padding: 0 30px 5px 15px;
   background-color: transparent;
   border-radius: 0;
   border: none;
   border-bottom: 1px solid var(--main_col);
   margin-bottom: 0;
 }

 .accordion-header.type2::after {
   color: var(--main_col);
 }

 .accordion-content {
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.3s ease-out, padding 0.3s ease-out;
   /*background-color: #fff;*/
   /*border-top: none;*/
   padding: 0;
 }

 .accordion-toggle:checked~.accordion-content {
   max-height: 2500px;
   padding: 0 0 20px;
   /*border-color: #ddd;*/
 }

 .accordion-toggle:checked~.accordion-header::after {
   transform: translateY(-50%) rotate(180deg);
 }

 /*check開閉アコーディオン*/

 .top_area {
   width: 100vw;
   height: 300px;
   text-align: center;
   padding: 20px 5px 15px;
   position: relative;
   /*格子*/
   background-color: #f5f5f5;
   background-image: linear-gradient(90deg, #0769d580 1px, transparent 1px), linear-gradient(#0769d580 1px, transparent 1px);
   background-position: 7px 7px;
   background-size: 15px 15px;
 }

 .top_area h1 {
   font-weight: 700;
   font-size: 35px;
   text-align: center;
   line-height: 1.1em;
   color: var(--main_col);
   text-shadow:
     2px 2px 1px #ffffff,
     -2px 2px 1px #ffffff,
     2px -2px 1px #ffffff,
     -2px -2px 1px #ffffff,
     2px 0px 1px #ffffff,
     0px 2px 1px #ffffff,
     -2px 0px 1px #ffffff,
     0px -2px 1px #ffffff;
 }

 img.top_visual {
   height: 240px;
   padding-top: 5px;
 }

 .top_copy {
   position: absolute;
   bottom: 35px;
   left: 0;
   right: 0;
   margin: 0 auto;

   p {
     display: inline-block;
     font-size: 110%;
     font-weight: 600;
     color: var(--main_col);
     background-color: #fff;
     padding-left: 10px;
     margin-bottom: 5px;
     /*transform: rotate(-15deg);*/
   }
 }

 .top_2027 {
   position: absolute;
   top: 65px;
   right: 5px;
   height: 70px;
   width: 70px;
   border: 1px solid var(--main_col);
   background-color: #fff;
   border-radius: 35px;
   color: var(--main_col);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   font-size: 20px;
   font-weight: 700;
   line-height: 1.0em;

   span {
     display: block;
     font-size: 12px;
   }
 }

 p.chuo_univ {
   position: absolute;
   width: 100%;
   bottom: 5px;
   left: 0;
   right: 0;
   margin: 0 auto;
   font-size: 24px;
   font-weight: 700;
   color: #fff;
   text-align: center;
   text-shadow:
     1px 1px 0px var(--main_col),
     -1px 1px 0px var(--main_col),
     1px -1px 0px var(--main_col),
     -1px -1px 0px var(--main_col),
     1px 0px 0px var(--main_col),
     0px 1px 0px var(--main_col),
     -1px 0px 0px var(--main_col),
     0px -1px 0px var(--main_col);

 }

 .copy {
   font-size: 22px;
   font-weight: 700;
   text-align: center;
   padding-top: 10px;
   color: var(--main_col);
 }

 .move_box {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-around;
 }

 .move_img {
   text-align: center;
   margin-bottom: 20px;
 }

 .move_img iframe {
   max-width: 300px;
 }

 .move_spec {
   font-size: 0.8em;
   line-height: 1.4em;
   text-align: center;
 }

 .move_spec span {
   font-weight: 600;
 }

 .akahon_onoff {
   display: none;
 }

 .campus {
   width: 100%;
   background-color: #fff;
   padding: 20px 20px 0;
   border-radius: 15px;
   display: flex;
   flex-direction: column;
   /*margin-bottom: 40px;*/
 }

 .campus .left_box {
   width: 100%;
   margin-right: 30px;
 }

 p.campus_neme {
   font-size: 1.2em;
   font-weight: 600;
   border-bottom: 1px solid #333;
   margin-bottom: 5px;
 }

 .faculty {
   width: 100%;
   margin-bottom: 20px;
 }


 .faculty p {
   position: relative;
   font-size: 1.6em;
   font-weight: 600;
   padding: 5px 0 5px 40px;
   line-height: 35px;

   &::before {
     position: absolute;
     left: 0;
   }

   &.col_law::before {
     content: url("/common_d/connect/img/examplan2027/f-law.png");
   }

   &.col_fundam::before {
     content: url("/common_d/connect/img/examplan2027/f-kikan.png");
   }

   &.col_society::before {
     content: url("/common_d/connect/img/examplan2027/f-syakai.png");
   }

   &.col_advanced::before {
     content: url("/common_d/connect/img/examplan2027/f-senshin.png");
   }

   &.col_economics::before {
     content: url("/common_d/connect/img/examplan2027/f-keizai.png");
   }

   &.col_commerce::before {
     content: url("/common_d/connect/img/examplan2027/f-sho.png");
   }

   &.col_letters::before {
     content: url("/common_d/connect/img/examplan2027/f-bun.png");
   }

   &.col_policy::before {
     content: url("/common_d/connect/img/examplan2027/f-sosei.png");
   }

   &.col_gm::before {
     content: url("/common_d/connect/img/examplan2027/f-gm.png");
   }

   &.col_itl::before {
     content: url("/common_d/connect/img/examplan2027/f-itl.png");
   }

   &.col_sdb::before {
     content: url("/common_d/connect/img/examplan2027/f-sdb.png");
   }
 }

 .faculty ul {
   padding-left: 30px;
 }

 .faculty li {
   width: 100%;
 }

 .faculty li.subordinate {
   font-size: 0.8em;
   line-height: 1.5em;
   padding-left: 20px;
 }

 .accordion-header.mb_txt_s {
   font-size: 1.1em;
   letter-spacing: -0.05em;
   padding: 10px 20px 10px 10px;
 }

 .senbatsu_summary {
   margin-bottom: 10px;
   position: relative;
 }

 .maru_suji {
   display: inline-grid;
   place-items: center;
   inline-size: 1.5rem;
   aspect-ratio: 1;
   border-radius: 50%;
   color: #ffffff;
   background: var(--main_col);
   font-weight: 600;
   line-height: 1;
   margin-right: 0.2em;
 }

 .hashtag {
   padding-bottom: 5px;
 }

 .hashtag li {
   position: relative;
   font-weight: 600;
   color: var(--main_col);
   line-height: 160%;
   padding-left: 1.5em;
   padding-right: 1.0em;
   letter-spacing: normal;
 }

 .hashtag li::before {
   content: '';
   width: 15px;
   height: 15px;
   background-image: url(/common_d/connect/img/examplan2027/hashtag.png);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center;
   display: inline-block;
   position: absolute;
   left: 0;
   top: 2px;
 }

 .hashtag li.kara::before {
   content: none;
 }

 .fukidashi {
   position: absolute;
   top: -55px;
   right: 0;
 }

 .fukidashi-item {
   position: relative;
   display: inline-block;
   width: 120px;
   margin-bottom: 10px;
   padding: 5px;
   border-radius: 5px;
   background-color: var(--main_col);
   text-align: center;
   font-size: 12px;
   font-weight: 500;
   line-height: 1.4em;
   letter-spacing: -0.03em;
   color: #ffffff;
 }

 .fukidashi-item::after {
   content: "";
   position: absolute;
   bottom: 0;
   left: 30%;
   border-style: solid;
   border-width: 10px 10px 0 0;
   border-color: var(--main_col) transparent transparent;
   translate: calc(-50% - 0.4px) 100%;
 }

 .marker_txt {
   font-size: 18px;
   letter-spacing: -0.03em;
   font-weight: bold;
   margin-top: 20px;
   margin-bottom: 20px;
   display: inline-block;
   background-image: linear-gradient(0deg, #fbbf2480 0.5em, transparent 0.5em);
 }

 .marker_txt2 {
   background-image: linear-gradient(0deg, #fbbf2480 1.0em, transparent 1.0em);
   font-weight: 500;
 }

 .col_navy {
   color: #003989;
 }

 .tex_waku {
   margin-right: 5px;
   padding: 0 10px;
   color: #fff;
   text-align: center;
   white-space: nowrap;
   border-radius: 5px;
   display: inline-block;
   margin-bottom: 5px;
 }

 .kyoka_waku {
   width: 100%;
   padding: 2px;
   margin-bottom: 5px;
   margin-top: 10px;
   border: 1px solid #333;
   text-align: center;
 }

 .kyoka_text {
   font-size: 0.8em;
   line-height: 1.6em;
 }

 .hoshiki {
   font-size: 1.2em;
   font-weight: 600;
   margin-bottom: 10px;
 }

 .hoshiki_sub {
   padding: 0.1em 1em;
   font-size: 0.8em;
   font-weight: 500;
   color: #fff;
   background-color: var(--main_col);
   border-radius: 15px;
   margin-left: 0.5em;
 }

 a.hoshiki_link {
   display: none;
 }

 .hoshiki_line {
   width: 100%;
   display: flex;
   flex-direction: column;
   border-top: 2px dotted #666;
   margin-bottom: 10px;
 }

 .hoshiki_line .Child {
   border-bottom: 2px dotted #666;
   padding: 5px 0;
 }

 .attent_test {
   width: 100%;
   padding: 10px;
   border: 2px solid var(--main_col);
   position: relative;
   margin-top: 60px;
 }

 img.yubi_point {
   position: absolute;
   top: -45px;
   left: 0;
   height: 55px;
 }

 .fukidashi3_area {
   position: absolute;
   top: -45px;
   right: 5px;

 }

 .fukidashi3 {
   position: relative;
   display: flex;
   margin-bottom: 10px;
   padding: 10px;
   border-radius: 10px;
   background-color: var(--main_col);
 }

 .fukidashi3::after {
   content: "";
   position: absolute;
   bottom: 0;
   left: 20%;
   border-style: solid;
   border-width: 10px 10px 0 0;
   border-color: var(--main_col) transparent transparent;
   translate: -50% 100%;
 }

 .fukidashi3 p {
   font-weight: 500;
   line-height: 1.2em;
   color: #fff;
 }

 .fukidashi3 p.textbb {
   font-weight: 600;
   font-size: 2.0em;
 }

 .bun_chumoku {
   font-weight: bold;
   font-size: 120%;
 }

 .rikou_chumoku {
   font-weight: bold;
   font-size: 120%;
   letter-spacing: -0.07em;
 }

 .newgakubu_point {
   width: 100vw;
   background-color: #f5f5f5;
   background-image: linear-gradient(90deg, #0769d580 1px, transparent 1px), linear-gradient(#0769d580 1px, transparent 1px);
   background-position: 7px 7px;
   background-size: 15px 15px;
   padding: 15px 10px;
 }

 .newgakubu_point .accordion-item {
   background-color: #fff;
   padding: 15px 10px;
   border-radius: 10px;
 }

 .accordion-header.type3 {
   font-size: 1.2em;
   line-height: 1.4;
   color: #2c2c2c;
   padding: 0 15px 5px 0;
   background-color: transparent;
   border-radius: 0;
   border: none;
   border-bottom: 1px solid var(--main_col);
   margin-bottom: 10px;
   text-align: left;
 }

 .accordion-header.type3::after {
   color: var(--main_col);
   right: 0;
 }

 .accordion-header.type3 h3 {
   position: relative;
   padding-left: 70px;
   font-size: 18px;
   letter-spacing: -0.03em;
   color: #18187b;

   img {
     position: absolute;
     top: 0;
     left: 0;
     width: 65px;
     height: 40px;
   }
 }

 .obi_ttl {
   font-weight: 500;
   color: #fff;
   padding: 5px 10px;
   margin: 20px 0 10px;

   span {
     font-size: 80%;
     padding: 0 5px;
     background-color: #fff;
     margin-left: 5px;
     border-radius: 3px;
   }
 }

 .obi_shita {
   text-indent: -1em;
   padding-left: 1em;
   font-size: 90%;
   line-height: 1.4;
 }

 .heiyorei_ttl {
   margin: 20px 0 5px;
   font-weight: 600;
 }

 .newgakubu_fbox {
   display: flex;
   flex-direction: column-reverse;
 }

 .heiyorei,
 .heiyorei2 {
   position: relative;
   background-color: #eee;
   /*border: 2px solid;*/
   letter-spacing: -0.03em;
   text-align: center;
   padding: 20px 5px;
   font-size: 14px;
   border-radius: 10px;
   width: 100%;
   margin-top: 30px;
 }

 .heiyorei span.test_hoshiki,
 .heiyorei2 span.test_hoshiki {
   font-weight: 600;
   display: block;
   font-size: 1.4em;

 }

 .heiyorei2 {
   margin-top: 20px;
 }

 .heiyorei.grayplus {
   margin-top: 55px;
 }

 .heiyorei::before {
   content: "";
   position: absolute;
   top: -25px;
   left: 0;
   right: 0;
   margin: 0 auto;
   width: 90%;
   border-radius: 35px;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-weight: 600;
   font-size: 18px;
   padding: 5px;
 }

 .heiyorei.lcol_sdb::before {
   content: "２/８実施";
   background-color: #1c50a1;
   letter-spacing: 0.03em;
 }

 .heiyorei.lcol_economics::before {
   content: "２/１４実施";
   background-color: #0099ff;
 }

 .heiyorei.grayplus::before {
   content: "２/１５実施";
   background-color: #0099ff;
 }

 .heiyorei.lcol_society::before {
   content: "２/８実施";
   background-color: #ef8200;
   letter-spacing: 0.03em;
 }

 .heiyorei.lcol_society2::before {
   content: "２/１５実施";
   background-color: #ef8200;
 }

 .heiyorei::after {
   content: "＋";
   position: absolute;
   right: 0;
   left: 0;
   margin: 0 auto;
   bottom: -30px;
   color: #fff;
   font-size: 24px;
   line-height: 40px;
   font-weight: 600;
   width: 40px;
   height: 40px;
   border-radius: 25px;
   z-index: 10;
 }

 .heiyorei.lcol_sdb::after {
   background-color: #1c50a1;
 }

 .heiyorei.lcol_economics::after {
   background-color: #0099ff;
 }

 .heiyorei.grayplus::after {
   color: #2c2c2c;
   background-color: #999;
   bottom: auto;
   top: -60px;
 }

 .heiyorei.lcol_society::after,
 .heiyorei.lcol_society2::after {
   background-color: #ef8200;
 }

 .heiyorei_txt {
   padding: 0 30px;
   position: relative;
   text-align: center;
 }

 .heiyorei_txt::before {
   content: "";
   position: absolute;
   left: 5%;
   top: 0;
   height: 100%;
   border-left: 2px solid;
   transform: rotate(-10deg);
 }

 .heiyorei_txt::after {
   content: "";
   position: absolute;
   right: 5%;
   top: 0;
   height: 100%;
   border-right: 2px solid;
   transform: rotate(10deg);
 }

 .heiyorei_txt.lcol_sdb::before,
 .heiyorei_txt.lcol_sdb::after {
   border-color: #1c50a1;
 }

 .heiyorei_txt.lcol_economics::before,
 .heiyorei_txt.lcol_economics::after {
   border-color: #0099ff;
 }

 .heiyorei_ecotxt2 {
   margin-top: 5px;
   font-size: 90%;
   line-height: 1.4;
 }

 .shibo_jyuni {
   padding: 10px;
   border: 1px solid;
   font-size: 90%;
   line-height: 1.4;
   margin-top: 10px;

   span {
     display: block;
     font-weight: 600;
   }
 }


 /*02*/
 .kininaru {
   margin-bottom: 40px;
 }

 .fukidashi4 {
   position: relative;
   display: inline-block;
   width: 90%;
   margin: 0 5%;
   margin-bottom: 15px;
   padding: 10px 15px;
   border-radius: 5px;
   background-color: #18187b;
   text-align: center;
   font-size: 30px;
   font-weight: 600;
   line-height: 0.9em;
   color: #ffffff;

   span.syou {
     font-size: 16px;
     vertical-align: middle;
   }

   span.marusyou {
     font-size: 16px;
     vertical-align: middle;
     padding: 3px 6px;
     margin: 0 3px;
     background-color: #0099ff;
     border-radius: 20px;
   }
 }

 .fukidashi4::after {
   content: "";
   position: absolute;
   bottom: 0;
   left: 50%;
   border-style: solid;
   border-width: 10px 5px 0 5px;
   border-color: #18187b transparent transparent;
   translate: -50% 100%;
 }

 .nittei_hosiki {
   width: 100%;
   display: flex;
   flex-direction: column;
   padding: 20px 0 10px;

   p {
     padding-top: 5px;
   }
 }

 table.nittei_hyo {
   width: 100%;
   border-collapse: collapse;
   border: 2px solid #666;
   background-color: #fff;
 }

 table.nittei_hyo th,
 table.nittei_hyo td {
   border: 1px solid #666;
   padding: 5px 5px 0;
   /*text-align: center;*/
   vertical-align: middle;
 }

 table.nittei_hyo th {
   background-color: #fbeda8;
 }

 table.nittei_hyo th.mizuiro,
 table.nittei_hyo td.mizuiro {
   background-color: #bbe3f3;
   border-top: 2px solid #666;
   border-bottom: 2px solid #666;
 }

 table.nittei_hyo td .tex_waku {
   white-space: normal;
   width: 100%;
   padding: 0 5px;
 }

 table.nittei_hyo td .tex_waku.mb_w85 {
   width: 85%;
 }

 .method_b {
   background-color: #666;
 }

 .method_w {
   background-color: #fff;
   border: 1px solid #000;
   color: #000;
 }

 .method_g {
   background-color: #ccc;
   color: #000;
 }

 .method_5 {
   background-color: #00b2dd;
   width: 100%;
   text-align: center;
 }

 .senbatsu,
 .kaijyo {
   width: 100%;
   background-color: #fff;
   padding: 15px;
   border-radius: 15px;
   margin-top: 30px;
 }

 .kaijyo_point {
   font-weight: 600;
   color: #18187b;
   padding: 20px 0 10px 75px;
   font-size: 90%;
   letter-spacing: -0.05em;
   position: relative;
 }

 .kaijyo_point::before {
   position: absolute;
   top: 10px;
   left: 0;
   content: "";
   display: inline-block;
   width: 70px;
   height: 50px;
   background-image: url("/common_d/connect/img/examplan2027/flag_point.png");
   background-size: cover;
 }

 img.kaijyo_map {
   display: block;
   margin: 20px auto 0;
   width: 250px;
 }

 /*03*/

 hr.fee_ber {
   border: 1px solid #004894;
   width: 100%;
   margin: 10px 0;
 }

 .reidai {
   text-align: center;
   padding-bottom: 10px;
 }

 p.plus {
   font-size: 1.6em;
   text-align: center;
   line-height: 1.0em;
 }

 .teisei_line {
   font-size: 0.8em;
   color: #000;
   text-decoration: line-through solid red;
 }

 .fee_fbox {
   display: flex;
   width: auto;
   background-color: #faf4da;
   padding: 10px;
   justify-content: space-between;
   flex-wrap: wrap;
   border-radius: 10px;
 }

 .fee_fbox.col_dark {
   background-color: #f4e9a2;
 }

 .fee_fbox p span.tex_waku {
   margin-bottom: 0;
 }

 .fee_fbox p.price {
   font-weight: 600;
   color: #ea6100;
   text-align: right;
   margin-left: auto;
 }

 .price_chui {
   display: none;
 }

 /*04*/
 .shutugan_subttl {
   display: block;
   text-align: center;
   border-bottom: 1px solid var(--main_col);
   color: var(--main_col);
   font-weight: 600;
   font-size: 1.2em;
 }

 .connect_link {
   display: flex;
   flex-direction: column;
   margin-bottom: 20px;
 }

 .connect-button {
   display: flex;
   align-items: center;
   justify-content: center;
   line-height: 1;
   text-decoration: none;
   width: 100%;
   max-width: 350px;
   margin-top: 10px;
   padding: 10px 20px;
   position: relative;
   transition: 0.3s;
   background-color: #ffffff;
 }

 .connect-button:hover {
   background-color: var(--sub_col);
   background-color: #eee;
 }

 .connect-button::before,
 .connect-button::after {
   content: "";
   display: block;
   position: absolute;
   border: 1px solid #000000;
   width: 100%;
   height: 100%;
   transition: .3s;
 }

 .connect-button::before {
   top: -2px;
   left: -2px;
 }

 .connect-button::after {
   top: 2px;
   left: 2px;
 }

 .connect-button:hover::before,
 .connect-button:hover::after {
   top: 0;
   left: 0;
 }

 .connect_logo {
   width: 200px;
 }

 .fukidashi5 {
   position: relative;
   display: inline-block;
   width: 100%;
   margin-bottom: 10px;
   padding: 10px;
   border-radius: 10px;
   background-color: #eee;
   text-align: center;
   color: #034384;
   font-weight: 600;
   line-height: 1.5;
   display: grid;
   place-items: center;
 }

 .fukidashi5::after {
   content: "";
   position: absolute;
   bottom: 0;
   left: 50%;
   border-style: solid;
   border-width: 10px 10px 0 10px;
   border-color: #eee transparent transparent;
   translate: -50% 100%;
 }

 .ucaro_box {
   display: flex;
   flex-direction: column;
 }

 a.ucaro_btn {
   display: block;
   margin: 0 auto 40px;
   width: 90%;
   text-decoration: none;
   background: var(--main_col);
   text-align: center;
   padding: 10px;
   color: #FFFFFF;
   font-size: 18px;
   font-weight: bold;
   border-radius: 30px;
   transition: all 0.5s ease;
 }

 a.ucaro_btn:hover {
   background: #CCCCCC;
   color: var(--main_col);
   box-shadow: none;
 }

 img.ucaro_img {
   display: block;
   margin: 20px auto;
 }

 a.shitsumon_btn {
   display: block;
   margin: 10px auto;
   width: 100%;
   border: 1px solid #14327a;
   color: #14327a;
   padding: 10px;
   text-align: center;
   background-color: #fff;
   font-weight: 500;
 }

 a.shitsumon_btn:hover {
   background: #CCCCCC;
   border: 1px solid #666;
   color: #666;
 }



 /*学部カラー*/
 .bakcol_law {
   background-color: #666699;
 }

 .bakcol_economics {
   background-color: #0099ff;
 }

 .bakcol_commerce {
   background-color: #009966;
 }

 .bakcol_fundam {
   background-color: #e9b310;
 }

 .bakcol_society {
   background-color: #ef8200;
 }

 .bakcol_advanced {
   background-color: #e95520;
 }

 .bakcol_letters {
   background-color: #e40077;
 }

 .bakcol_policy {
   background-color: #009fa8;
 }

 .bakcol_gm {
   background-color: #002063;
 }

 .bakcol_itl {
   background-color: #231815;
 }

 .bakcol_sdb {
   background-color: #1c50a1;
 }

 .col_law {
   color: #666699;
 }

 .col_economics {
   color: #0099ff;
 }

 .col_commerce {
   color: #009966;
 }

 .col_fundam {
   color: #e9b310;
 }

 .col_society {
   color: #ef8200;
 }

 .col_advanced {
   color: #e95520;
 }

 .col_letters {
   color: #e40077;
 }

 .col_policy {
   color: #009fa8;
 }

 .col_gm {
   color: #002063;
 }

 .col_itl {
   color: #231815;
 }

 .col_sdb {
   color: #1c50a1;
 }

 /*==スタイル調整==*/
 .mb_10 {
   margin-bottom: 10px;
 }

 .mb_20 {
   margin-bottom: 20px;
 }

 .tex80 {
   font-size: 80%;
   line-height: 130%;
 }

 .tex90 {
   font-size: 90%;
 }

 .tex120 {
   font-size: 120%;
 }

 .tex140 {
   font-size: 140%;
 }

 .tex160 {
   font-size: 160%;
 }

 .migiyose {
   text-align: right;
   margin-left: auto;
 }

 /*==on,off切り替え==*/
 .mb_off {
   display: none;
 }

 .pc_in,
 .pcw_in {
   display: none;
 }

 /*==フッター変更==*/
 .foot-info {
   margin-bottom: 10px;
 }

 .connectfooter_logo {
   margin: 0 auto;
 }

 .connectfooter_logo .chuo_logo {
   margin-bottom: 0;
 }


 /*======================タブレット========================*/
 @media screen and (min-width: 600px) {
   .nav {
     padding-top: 60px;
   }

   .nav-ttl {
     top: 20px;
   }

   .top_area {
     padding: 20px 20% 15px;
   }

   .top_2027 {
     right: 20%;
   }

   .inner {
     padding: 0 10% 40px;
   }

   /*チェックボックスに関わらず常に表示*/
   .accordion-content {
     display: block !important;
     /* または flex など */
   }

   .accordion-toggle {
     display: none;
     /* トグルスイッチ自体を隠す場合 */
   }

   .accordion-header {
     padding: 10px 15px;
   }

   .accordion-header:hover {
     background-color: rgb(238, 238, 238);
     cursor: inherit;
   }

   .accordion-header::after {
     content: none;
   }

   .akahon_onoff {
     display: inline;
   }

   .kyoka_waku {
     width: 30px;
     margin: 0 10px 0 0;
     line-height: 1.15em;
     padding: 5px 2px;
     display: flex;
     align-items: center;
   }

   .fukidashi-item {
     width: 100%;
     min-width: 125px;
     padding: 5px 10px;
   }

   a.hoshiki_link {
     display: inline-block;
     font-weight: 400;
     font-size: 80%;
     padding-left: 15px;
     text-decoration: underline;
     text-underline-offset: 0.2em;
   }

   .kininaru {
     margin-bottom: 0;
     width: 100%;
   }

   .fukidashi4 {
     /*width: 100%;*/
     height: 100%;
     margin: 0 0 15px 20px;
     white-space: nowrap;
   }

   .bun_chumoku {
     font-size: 140%;
   }

   .rikou_chumoku {
     font-size: 140%;
     letter-spacing: 0.05rem;
   }

   .accordion-header.type3 h3 {
     font-size: 30px;
   }

   .accordion-header.type2 {
     font-size: 30px;
     padding: 0 20px 10px;
   }

   .kaijyo {
     width: 70%;
   }

   img.kaijyo_map {
     padding-left: 20px;
     /* margin: 20px 0 0 20px; */
     width: 100%;
     max-width: 250px;
     margin-top: 30px;
   }

   .shutugan_subttl.mb_off {
     margin: 20px 0 10px;
   }

   .connect_box {
     width: 100%;
     padding-right: 20px;
   }

   .connect_link {
     flex-direction: row;
   }

   .fukidashi5 {
     margin-right: 20px;
     margin-bottom: 30px;
   }

   .fukidashi5.tb_mb0 {
     margin-bottom: 0;
   }

   .fukidashi5::after {
     bottom: inherit;
     left: inherit;
     top: 50%;
     right: 0;
     border-width: 7.5px 0 7.5px 15px;
     border-color: transparent transparent transparent #eeeeee;
     translate: 100% -50%;
   }

   .connect-button {
     margin-top: 0;
   }

   .newgakubu_point {
     padding: 15px 5%;
   }

   .newgakubu_point .accordion-item {
     padding: 20px 5% 10px;
   }

   .newgakubu_fbox .flexbox {
     justify-content: space-between;
   }

   .heiyorei,
   .heiyorei2 {
     width: 45%;
     margin-top: 10px;
   }

   .heiyorei {
     margin-left: 60px;
     margin-right: 30px;
   }

   .heiyorei::before {
     top: 0;
     bottom: 0;
     left: -60px;
     right: 0;
     margin: auto 0;
     width: 70px;
     height: 70px;
   }

   .heiyorei::after {
     right: -35px;
     left: auto;
     top: 0;
     bottom: 0;
     margin: auto 0;
   }

   .heiyorei_txt {
     padding: 0 15%;
     text-align: center;
   }

   .heiyorei_txt::before {
     left: 15%;
   }

   .heiyorei_txt::after {
     right: 15%;
   }

   .heiyorei.grayplus {
     margin-top: 10px;
   }

   .heiyorei.grayplus::after {
     top: -25px;
     right: auto;
     left: -45px;
   }

   .newgakubu_fbox2 .flexbox {
     justify-content: center;
   }

   .heiyorei_ecotxt2 {
     margin-top: 10px;
     width: 45%;
   }

   a.ucaro_btn {
     margin: 0 auto;
   }

   img.ucaro_img {
     margin: 20px auto 40px;
     width: 250px;
   }

   a.shitsumon_btn {
     width: 70%;
   }

   .flexbox {
     flex-direction: row;
   }

   .flexbox_rikou {
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;

     .faculty {
       width: auto;
       margin-right: 20px;
     }
   }

   .tb_off {
     display: none;
   }

   .mb_off {
     display: block;
   }

 }

 /*======================PC========================*/
 @media screen and (min-width: 960px) {

   .nav {
     width: 40%;
   }

   .top_area {
     padding: 20px 15% 15px;
   }

   .top_area h1 {
     text-align: left;
     font-size: 45px;
     padding-top: 40px;
   }

   .top_2027 {
     top: 20px;
     right: inherit;
     height: 30px;
     width: 150px;
     flex-direction: row;
   }

   img.top_visual {
     position: absolute;
     top: 20px;
     right: 15%;
     height: 270px;
     padding-top: 0;
   }

   .top_copy {
     position: absolute;
     bottom: 130px;
     left: inherit;
     right: inherit;
     margin: 0;

     p {
       font-size: 120%;
     }
   }

   p.chuo_univ {
     font-size: 26px;
   }

   .copy {
     font-size: 28px;
   }

   .copy_sub {
     text-align: center;

     span {
       display: block;
     }
   }

   .campus {
     flex-direction: row;
   }

   .campus .left_box {
     width: 35%;
   }

   .campus .right_box {
     width: 65%;
   }

   .ttl_flex {
     flex-direction: row;
     padding: 20px 0 10px;
     border-bottom: 2px solid var(--main_col);
     margin: 0 auto 10px;
     max-width: 950px;
     justify-content: center;
   }

   .ttl3_sub {
     margin: 10px 0 0 70px;
     height: 35px;
     line-height: 28px;
   }

   h2.ttl3 {
     margin-bottom: 0;
     border-bottom: none;
     padding: 5px 10px 0;
   }

   h2.ttl3::before {
     font-size: 50px;
     top: 16px;
     left: auto;
     right: auto;
     margin: 0 auto;
   }

   h2.ttl3.no_01::before {
     left: -320px;
   }

   h2.ttl3.no_02::before {
     left: -350px;
   }

   h2.ttl3.no_03::before {
     left: -320px;
   }

   h2.ttl3.no_04::before {
     left: -275px;
   }

   h2.ttl3::after {
     bottom: -15px;
   }

   .hashtag {
     display: flex;
   }

   .pc_w80 {
     width: 80%;
   }

   .fukidashi {
     top: -20px;
   }

   .fukidashi4 {
     width: 400px;
   }

   table.nittei_hyo th,
   table.nittei_hyo td {
     padding: 5px 0 0 10px;
   }

   table.nittei_hyo td .tex_waku,
   table.nittei_hyo td .tex_waku.mb_w85 {
     width: 31%;
     white-space: nowrap;
   }

   table.nittei_hyo td .tex_waku.mb_off {
     display: inline-block;
   }

   table.nittei_hyo td .tex_waku.bakcol_society {
     width: 95%;

     span.mb_off {
       display: inline-block;
     }
   }

   table.nittei_hyo td .tex_waku.method_5 {
     width: 96%;
   }

   table.nittei_hyo td .tex_waku.bakcol_sdb {
     width: 36%;
   }


   .price_fbox {
     display: flex;
     justify-content: space-between;
     padding: 0;
     max-width: 1000px;
     margin: 0 auto;
   }

   .price_fbox .accordion-item.inner {
     padding: 0 20px;
     max-width: 500px;
   }

   .price_chui {
     display: block;
     width: 100%;
     max-width: 1000px;
     margin: 0 auto;
     font-size: 80%;
     padding: 0 20px 40px;
   }

   .ucaro_box {
     flex-direction: row;
   }

   .fukidashi5 {
     margin-top: 20px;
   }

   .fukidashi5.tb_mb0 {
     margin-top: 0;
   }

   img.ucaro_img {
     margin: 20px 0 40px 20px;
     width: 220px;
   }

   .newgakubu_fbox {
     flex-direction: row;
     align-items: center;
   }

   .heiyorei_txt {
     padding: 0 0 0 20px;
     text-align: left;
     width: 250px;
   }

   .heiyorei_txt::before {
     left: 15px;
     top: -10px;
     height: 100%;
     width: 100%;
     border-left: none;
     border-top: 2px solid;
     transform: rotate(-5deg);
   }

   .heiyorei_txt::after {
     right: auto;
     top: auto;
     left: 15px;
     bottom: -10px;
     height: 100%;
     width: 100%;
     border-right: none;
     border-bottom: 2px solid;
     transform: rotate(5deg);
   }

   .heiyorei_ecotxt2 {
     width: 70%;
   }

   .heiyorei_pc_w80 {
     width: 80%;
     position: relative;
   }

   .heiyorei_pc_w80::after {
     content: "";
     background-image: url(/common_d/connect/img/examplan2027/ttl_01img.png);
     width: 200px;
     height: 200px;
     background-size: contain;
     background-repeat: no-repeat;
     position: absolute;
     bottom: 0;
     right: -250px;
   }

   .pc_off {
     display: none;
   }

   .pc_in {
     display: inline-block;
   }


 }

 @media screen and (min-width: 1280px) {
   .top_area {
     padding: 20px 20% 15px;
   }

   img.top_visual {
     right: 20%;
   }

   .nittei_hosiki {
     flex-direction: row;
   }

   .fukidashi5 {
     margin-top: 20px;
   }

   .fukidashi-item {
     min-width: 150px;
   }

   table.nittei_hyo td .tex_waku.bakcol_sdb {
     width: 31%;
   }

   .pcw_in {
     display: block;
   }

 }