@charset "utf-8";
.oc2026 .title {
background: url(/common/files/295/oc_2025-01.png) no-repeat #FEF3DC center top;
background-size:  cover;
}

.oc2026 .title h1 {
text-align: center;
padding: 50px 0 100px;
}

.oc2026 .sanka {
/*background: url(/common/files//826/oc-03.png) no-repeat center top;*/
text-align: center;
padding-bottom: 60px;
height:80px;
}

.oc2026 .sanka .vi {
position: relative;
top: -80px;
left: 0;
right: 0;
margin: 0 auto;
}

.oc2026 .sanka .vi  img {
width: 140px;
height: auto;
}
.oc2026 .sanka h2 {
font-size: 36px;
font-weight: bold;
margin-top: -90px;
}

.oc2026 .sanka p {
font-size: 20px;
font-weight: bold;
margin-top: 0;
}

.oc2026 .order {
background: url(/common/files//295/oc-04.png) no-repeat center bottom;
background-size: contain;
display: flex;
justify-content: space-between;
padding-bottom: 460px;
flex-wrap: wrap;
}

.oc2026 .order .order_imabari,
.oc2026 .order .order_okayama {
width: 48%;
}

.oc2026 .order ul {
display: flex;
flex-wrap: wrap;
}

.oc2026 .order ul li {
width: calc( 25% - 10px);
margin: 0 10px 10px 0;
color: #FFF;
text-align: center;
font-size: 24px;
font-weight: bold;
line-height: 1.5;
padding: 0;
}

.oc2026 .order ul li a {
display: block;
width: 100%;
height: 140px;
position: relative;
color: #FFF;
}

.oc2026 .order ul li a div {
position: absolute;
width: 100%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}

.oc2026 .order ul li.close {
background-color: #838383;
display: block;
height: 140px;
position: relative;
}

.oc2026 .order ul li.close div {
position: absolute;
width: 100%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}

.oc2026 .order ul li:nth-child(4n) {
width: 25%;
margin: 0 0 10px;
}

.oc2026 .order ul li:before {
display: none;
}

.oc2026 .order .order_imabari ul li a {
background-color: #13BDCC;
}

.oc2026 .order .order_okayama ul li a {
background-color: #ACCD04;
}

.oc2026 .order ul li .place {
display: block;
font-size: 14px;
}

.oc2026 .order ul li .day {
font-size: 14px;
margin-left: 4px;
}

.oc2026 .order a:hover {
opacity: .8;
}

.oc2026 .order ul li .text {
display: block;
font-size: 14px;
}

.oc2026 .ioList {
background-color: #FEF3ED;
padding: 120px 0 0;
}

.oc2026 .ioList .imabariList {
background-color: #13BDCC;
}

.oc2026 .ioList .imabariList .ct {
position: relative;
top: -120px;
display: flex;
background: url(/common/files//295/oc-07.png) #FFF no-repeat center top;
justify-content: space-between;
padding-top: 10px;
align-items: start;
}

.oc2026 .ioList .imabariList .ct .photo {
width: 46%;
padding: 20px 0 0;
}

.oc2026 .ioList .imabariList .ct .text {
width: 50%;
padding: 20px 0;
font-weight: bold;
}

.oc2026 .ioList .imabariList .ct .text h2 {
font-size: 36px;
font-weight: bold;
color: #13BDCC;
margin-bottom: 4px;
}

.oc2026 .ioList .imabariList .ct .text dl {
display: flex;
align-items: start;
flex-wrap: wrap;
}

.oc2026 .ioList .imabariList .ct .text dl dt {
display: inline-block;
margin-right: 10px;
background-color: #13BDCC;
color: #FFF;
padding: 4px;
width: 80px;
margin-bottom:10px;
}

.oc2026 .ioList .imabariList .ct .text dl dd {
margin-bottom:10px;
padding: 4px;
font-size: 1.1em;
width: calc(100% - 90px);
}

.oc2026 .ioList .imabariList .ct .text h3 {
color: #13BDCC;
border-bottom: 3px solid #13BDCC;
}

.oc2026 .ioList .okayamaList .ct .text p {
line-height: 1.4;
margin-bottom: 40px !important;
}

.oc2026 .ioList .btns {
margin: 0;
padding: 0 0 60px;
display: flex;
justify-content: space-between;
}

.oc2026 .ioList .btns li {
width: 48%;
margin: -60px 0 0;
padding: 0;
}

.oc2026 .ioList .btns li:before {
display: none;
}

.oc2026 .ioList .btns li a {
display: block;
padding: 12px 0;
text-align: center;
border: 2px solid #FFF;
font-size: 18px;
color: #FFF;
text-decoration: none;
background: url(/common/files//295/oc-11.png) no-repeat right bottom;
}

.oc2026 .ioList .btns li a img {
margin-right: 16px;
}

.oc2026 .ioList .okayamaList {
background-color: #ACCD04;
}

.oc2026 .ioList .okayamaList .ct {
position: relative;
top: -120px;
display: flex;
background: url(/common/files/295/oc-14.png) #FFF no-repeat center top;
justify-content: space-between;
padding-top: 10px;
align-items: start;
}

.oc2026 .ioList .okayamaList .ct .photo {
width: 46%;
padding: 20px 0 0;
}

.oc2026 .ioList .okayamaList .ct .text {
width: 100%;
padding: 20px;
font-weight: bold;
}

.oc2026 .ioList .okayamaList .ct .text h2 {
font-size: 36px;
font-weight: bold;
color: #000;
margin-bottom: 4px;
}

.oc2026 .ioList .okayamaList .ct .text dl {
display: flex;
align-items: start;
flex-wrap: wrap;
margin-bottom:0;
}

.oc2026 .ioList .okayamaList .ct .text dl dt {
display: inline-block;
margin-right: 10px;
background-color: #ACCD04;
color: #FFF;
padding: 4px;
width: 80px;
margin-bottom:10px;
}

.oc2026 .ioList .okayamaList .ct .text dl dd {
margin-bottom:10px;
padding: 4px;
font-size: 1.1em;
width: calc(100% - 90px);
}

.oc2026 .ioList .imabariList .ct .text h3 {
color: #13BDCC;
border-bottom: 3px solid #13BDCC;
}

.oc2026 .ioList .okayamaList .ct .text dl dd span {
font-size: 15px;
display: block;
}

.oc2026 .ioList .okayamaList .ct .text h3 {
color: #9FC003;
border-bottom: 3px solid #ACCD04;
}

.oc2026 .ioList .okayamaList .ct .text p {
line-height: 1.4;
margin-right: 30px;
}

.oc2026 .ioList .ct .text .sp {
display: none;
}

.oc2026 #gookayama.ioList {
padding-top: 200px;
}

.oc2026 .ocinfo {
background-color: #F44C74;
padding: 30px 0;
}

.oc2026 .ocinfo ul {
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
}

.oc2026 .ocinfo ul li {
width: 48%;
margin: 0;
padding: 0;
}

.oc2026 .ocinfo ul li:before {
display: none;
}

.wakuwaku {
display: flex;
flex-direction: column;
text-align: center;
width: 100%;
padding: 20px 0 0;
}

.wakuwaku img {
width: 340px;
height: auto;
}

.oc2026 .ioList .imabariList .ct .text {
width: 100%;
padding: 20px;
font-weight: bold;
}

.oc2026 .ioList .imabariList .ct .text h2 {
font-size: 36px;
font-weight: bold;
color: #000;
margin-bottom: 4px;
}

.okayamaOmo {
margin: 0 30px 40px;
padding: 20px;
border: 1px dashed #F44B74;
}

.oc2026 .ioList .okayamaList .ct .text .okayamaOmo p {
margin-bottom: 0 !important;
}

.orderBtn a {
display: block;
width: 300px;
padding: 8px;
margin: 0 auto 40px;
border: 2px solid #ACCD04;
background-color: #ACCD04;
color: #FFF;
border-radius: 100vh;
text-align: center;
text-decoration: none;
box-shadow: 3px 3px 0 #CCC;
}

.orderBtn a:hover {
background-color: #FFF;
color: #ACCD04;
}

.orderBtn2 a {
display: block;
width: 340px;
padding: 8px;
margin: -20px 0 40px !important;
border: 2px solid #809903;
background-color: #ACCD04;
color: #FFF;
border-radius: 100vh;
text-align: center;
text-decoration: none;
box-shadow: 3px 3px 0 #CCC;
}

.orderBtn2 a:hover {
background-color: #FFF;
color: #ACCD04;
}

.orderBtn3 a {
display: block;
width: 400px;
padding: 8px;
margin: 0 auto 40px !important;
border: 2px solid #f12858;
background-color: #F44B74;
color: #FFF;
border-radius: 100vh;
text-align: center;
text-decoration: none;
box-shadow: 3px 3px 0 #CCC;
}

.orderBtn3 a:hover {
background-color: #FFF;
color: #F44B74;
}

.ocExpMenu {
display: flex;
flex-wrap: wrap;
}

.ocExpMenu li {
width: 32%;
margin: 0 0 10px !important;
}

.ocExpMenu li:before {
display: none !important;
}

.ocExpMenu li:nth-child(3n-1) {
margin: 0 2% 10px !important;
}

.ocExpMenu li a {
display: block;
border: 1px solid #EEE;
border-bottom: 2px solid #CCC;
padding: 4px 8px;
}

.ocExpMenu li a:hover {
background-color: #F2FADA;
}

.ocDeptBox {
padding-top: 60px;
}

h4.rigaku {
background-color: #D0EED8;
display: inline-block;
padding: 4px 12px;
margin-bottom: 0 !important;
}

h4.kougaku {
background-color: #FAD6E2;
display: inline-block;
padding: 4px 12px;
margin-bottom: 0 !important;
}

h4.jyouhou{
background-color: #D3E5F3;
display: inline-block;
padding: 4px 12px;
margin-bottom: 0 !important;
}


h4.seimei{
background-color: #CCEFF8;
display: inline-block;
padding: 4px 12px;
margin-bottom: 0 !important;
}

h4.seiti{
background-color: #FDEACC;
display: inline-block;
padding: 4px 12px;
margin-bottom: 0 !important;
}

h4.kyouiku{
background-color: #F2E7D0;
display: inline-block;
padding: 4px 12px;
margin-bottom: 0 !important;
}

h4.keiei{
background-color: #E3D8E9;
display: inline-block;
padding: 4px 12px;
margin-bottom: 0 !important;
}

h4.active{
background-color: #FBDFDD;
display: inline-block;
padding: 4px 12px;
margin-bottom: 0 !important;
}

h4.jyuui{
background-color: #CCE9EA;
display: inline-block;
padding: 4px 12px;
margin-bottom: 0 !important;
}

.ocDeptDetail {
border: 1px solid #CCC;
padding: 20px 20px 0 20px;
}

.oc2026 .ioList .okayamaList .ct .text p.time {
margin: 0 0 8px 0 !important;
line-height: 2.6 !important;
padding: 0 8px 0 32px !important;
background: url(/common/files//1984/tokei.png) #FFFFDF no-repeat 8px center;
background-size: 18px;
}

.ocDeptDetail dl dt {
font-weight: 400 !important;
text-align: center;
border-top: 1px dashed #CCC;
line-height: 1.5 !important;
padding: 8px !important;
font-size: 1em !important;
}

.ocDeptDetail dl dd {
font-weight: 400 !important;
margin-bottom: 0 !important;
border-top: 1px dashed #CCC;
line-height: 1.5 !important;
padding: 8px !important;
font-size: 1em !important;
}

.ocDeptDetail hr {
display: block;
border: none;
border-bottom: 2px dotted #CCC;
margin-bottom: 20px;
}

.taikenevent {
margin: 0 0 20px;
padding: 10px;
background-color: #F8FCEB;
}
.oc2026 .ioList .okayamaList .ct .text .taikenevent p.time {
background: url(/common/files//1984/tokei.png) #CAEB65 no-repeat 8px center;
background-size: 18px;
}


.minievent {
margin-bottom: 10px;
padding: 10px;
background-color: #FCF7E7;
}

.oc2026 .ioList .okayamaList .ct .text .minievent p.time {
background: url(/common/files//1579/1836.png) #ECCD6F no-repeat 8px center;
background-size: 18px;
}


@media (max-width: 991px){

.oc2026 .title h1 {
margin: 0 10px;
}

.oc2026 .order {
background-size: cover;
padding-bottom: 200px;
}

.oc2026 .order ul li {
width: 48%;
margin: 0 1% 10px;
}

.oc2026 .ioList .imabariList .ct .text dl,
.oc2026 .ioList .okayamaList .ct .text dl {
display: block;
}

.oc2026 .ioList .imabariList .ct .text h2,
.oc2026 .ioList .okayamaList .ct .text h2 {
font-size: 26px;
}

.oc2026 .ioList .imabariList .ct .text h3 ,
.oc2026 .ioList .okayamaList .ct .text h3 {
font-size: 22px;
}

.oc2026 .ioList .okayamaList .ct .text .ocDeptDetail dl dd {
width: 100%;
}

.oc2026 .ioList .okayamaList .ct .text .ocDeptDetail dl dt {
margin-bottom: 0;
}

.oc2026 .ioList .okayamaList .ct .text .ocDeptDetail dl {
border-bottom: 3px double #CCC;
}

.ocExpMenu li {
width: 46%;
margin: 0 2% 10px !important;
}

.ocExpMenu li:nth-child(3n-1) {
width: 46%;
margin: 0 2% 10px !important;
}


}

@media (max-width: 580px){

.oc2026 .title {
background: url(/common/files//295/oc_2025-01.png) no-repeat  #FEF3DC center 0;
background-size: contain;
}

.oc2026 .sanka {
background-size: contain;
}

.oc2026 .sanka .vi {
top: -70px;
}

.oc2026 .sanka .vi img {
width: 98px;
height: auto;
}

.oc2026 .sanka h2 {
font-size: 30px;
margin-top: -20px;
}

.oc2026 .order ul {
display: block;
}

.oc2026 .order ul li {
width: 100%;
}

.oc2026 .order ul li a {
height: 100px;
}

.oc2026 .order ul li.close {
height: 100px;
}

.oc2026 .ioList .imabariList .ct,
.oc2026 .ioList .okayamaList .ct {
display: block;
}

.oc2026 .ioList .imabariList .ct .photo,
.oc2026 .ioList .okayamaList .ct .photo {
width: 100%;
}

.oc2026 .ioList .imabariList .ct .text,
.oc2026 .ioList .okayamaList .ct .text {
width: 96%;
margin: 0 auto;
}

.oc2026 .ioList .imabariList .ct .text h2,
.oc2026 .ioList .okayamaList .ct .text h2 {
margin-bottom: 10px;
}

.oc2026 .ioList .imabariList .ct .text p,
.oc2026 .ioList .okayamaList .ct .text p {
margin-right: 0;
}

.oc2026 .ioList .imabariList .ct .text p img,
.oc2026 .ioList .okayamaList .ct .text p img {
display: block;
margin: 0 auto 
}

.oc2026 .ioList .btns {
display: block;
margin-top: -60px;
}

.oc2026 .ioList .btns li {
width: 100%;
margin: 0 0 10px;
}

.oc2026 .ocinfo ul {
display: block;
}

.oc2026 .ocinfo ul li {
width: 100%;
margin-bottom: 10px;
}
.wakuwaku img {
width: 220px;
height: auto;
}

.oc2026 .ioList .ct .text .sp {
display: block;
}

.oc2026 .ioList .imabariList .ct .text dl dd {
width: 100%;
}

.imabariOmo {
margin: 0 0 40px;
}

.orderBtn3 a {
width: 100%;
}

.okayamaOmo {
margin: 0 0 40px;
}

.oc2026 .ioList .okayamaList .ct .text dl dd {
width: 100%;
}

.oc2026 .ioList .okayamaList .ct .text .taikenevent p.time,
.oc2026 .ioList .okayamaList .ct .text .minievent p.time {
line-height: 1.6 !important;
}

.ocDeptDetail {
padding: 10px;
}

}






/* ==========================================================================
   あえて左右を揃えない、おしゃれな独立型「学科紹介カード」スタイル（横並び版）
   ========================================================================== */

/* カード全体のコンテナ：左右のズレが気にならないように少し余白を持たせる */
.orange-notice-card {
  margin: 30px 15px 30px 15px !important;
  padding: 0 !important;
  background-color: #FFFDF9 !important; /* ごく薄いクリアな背景 */
  border: 2px solid #ffbf61 !important; /* ご指定のオレンジの境界線 */
  border-radius: 12px !important; /* 角丸で柔らかい印象に */
  box-shadow: 0 4px 10px rgba(255, 191, 97, 0.15) !important; /* ほんのり影をつけて立体感を出す */
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* タイトル部分 */
.orange-card-title {
  display: block !important;
  padding: 14px 20px 14px 42px !important; /* 左側に時計アイコン用の余白をたっぷり確保 */
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: bold !important;
  line-height: 1.4 !important;
  color: #333 !important;
  box-sizing: border-box !important;
  
  /* 白い時計マーク ＋ ご指定のオレンジ色(#ffbf61) */
  background: url(/common/files//1984/tokei.png) #ffbf61 no-repeat 14px center !important;
  background-size: 18px !important;
}

/* カードの中身 */
.orange-card-body {
  padding: 20px !important;
  box-sizing: border-box !important;
}

/* ★ 中身の各行：フレックスボックスを使い、必ず横並び（改行なし）にします */
.orange-card-row {
  display: flex !important;
  align-items: flex-start !important; /* 上基準で綺麗に整列 */
  margin-bottom: 18px !important;
  text-align: left !important;
  width: 100% !important;
}
.orange-card-row:last-child {
  margin-bottom: 0 !important;
}

/* 「内容」「紹介文」のラベル：横並びのために横幅を固定 */
.orange-card-label {
  display: inline-block !important;
  font-size: 13px !important;
  font-weight: bold !important;
  color: #FFF !important;
  background-color: #ffbf61 !important; /* ご指定のオレンジ */
  padding: 4px 0 !important;
  width: 80px !important; /* 幅を80pxに固定して綺麗に揃える */
  text-align: center !important;
  border-radius: 20px !important; /* 丸カプセル型 */
  margin: 0 15px 0 0 !important; /* 右側に15pxのすき間を作り、下マージンは0に */
  flex-shrink: 0 !important; /* 横に潰れないように固定 */
}

/* ★ 本文テキスト：ラベルの横に残り幅いっぱいで回り込みます */
.orange-card-text {
  font-size: 15px !important;
  font-weight: normal !important;
  line-height: 1.6 !important;
  color: #333 !important;
  margin: 0 !important;
  padding: 2px 0 0 0 !important; /* ラベルの高さと微調整 */
  flex-grow: 1 !important;
}

/* スマートフォン表示（横幅580px以下）のスタイル調整 */
@media (max-width: 580px) {
  .orange-notice-card {
    margin: 20px 8px !important;
    border-radius: 8px !important;
  }
  .orange-card-title {
    padding: 12px 15px 12px 35px !important;
    font-size: 13px !important;
    background-position: 10px center !important;
  }
  .orange-card-body {
    padding: 15px !important;
  }
  
  /* スマホなど極端に横幅が狭い画面では、はみ出さないように縦並びへ自動で切り替えます */
  .orange-card-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .orange-card-label {
    margin-bottom: 8px !important;
    width: 70px !important;
    font-size: 11px !important;
  }
  .orange-card-text {
    font-size: 14px !important;
    padding-left: 5px !important;
  }
}

/* h4自体のレイアウト調整（学科名の直後に並べる） */
.ocDeptBox h4 {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* ★ 左側に寄せて学科名のすぐ横に配置 */
  gap: 12px;                  /* ★ 学科名と部屋番号の間の余白 */
  flex-wrap: wrap;            /* スマホなどで幅が狭い時に崩れないように改行 */
}

/* 部屋番号のデザイン（バッジ風） */
.ocDeptBox h4 .room-no {
  font-size: 0.8em;          /* 学科名より少し小さめ */
  font-weight: bold;
  color: #333333;
  background-color: #ffffff;  /* 背景色 */
  border: 1px solid #cccccc;  /* 枠線 */
  padding: 3px 10px;
  border-radius: 12px;        /* 丸み */
  white-space: nowrap;
}