@charset "UTF-8";
/*========== ここから追記してください ==========*/
/*========== レスポンシブの記述は下記のメディアクエリを使用ください ==========*/
/*====================
   202505　大原追記
=====================*/
.oh-course-company__text {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}
.oh-course-company__text.is-hide {
  height: 110px;
  margin-bottom: unset;
}
.oh-course-company__text.is-hide::before {
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 0%, #fff 100%);
  bottom: 0;
  content: "";
  height: 54px;
  position: absolute;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .oh-course-company__text {
    padding-bottom: 30px;
    line-height: 1.7647058824;
  }
}
.oh-course-company__button {
  position: absolute;
  display: table;
  left: 50%;
  bottom: 16px;
  margin: 0 auto;
  width: 156px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #222;
  text-align: center;
  border-radius: 5px;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
  transition: all 0.4s;
  font-size: 15px;
  font-weight: 500;
  border: #707070 1px solid;
}
.oh-course-company__button::after {
  content: "";
  background-image: url(../images/voice_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 10;
  width: 15px;
  height: 9px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 10px;
  margin-left: 3px;
}
.oh-course-company__button::before {
  content: "もっと見る";
}
.oh-course-company__button.is-show {
  bottom: 16px;
}
.oh-course-company__button.is-show::before {
  content: "閉じる";
}
.oh-course-company__button.is-show::after {
  rotate: 180deg;
  margin-top: -7px;
  margin-left: 8px;
}
.oh-course-company__button.is-show + .oh-course-company__text::before {
  display: none;
}

.oh-course-company__box {
  position: relative;
  max-width: 805px;
  margin: auto;
  padding-bottom: 30px;
}

/* ------------------------------
20250610　大原追記
/* ------------------------------
 * Project: ocvoice（ページ固有）
 * ------------------------------ */
.p-ocvoice h3:not(:first-child) {
  margin-top: 5rem;
}

.c-conversation__text {
  margin-top: 1.8rem;
  margin-bottom: 3rem;
  line-height: 1.875;
}
.c-conversation__item {
  width: 80%;
  display: flex;
  position: relative;
}
.c-conversation__item--right {
  flex-flow: row-reverse;
  margin-left: auto;
}
.c-conversation__item.skyblue p span {
  color: rgb(4, 175, 210);
  background: linear-gradient(transparent 60%, rgba(4, 175, 210, 0.2) 60%);
}
.c-conversation__item.purple p span {
  color: rgb(176, 85, 222);
  background: linear-gradient(transparent 60%, rgba(228, 202, 239, 0.2) 60%);
}
.c-conversation__item.green p span {
  color: rgb(31, 174, 40);
  background: linear-gradient(transparent 60%, rgba(31, 174, 40, 0.2) 60%);
}
.c-conversation__item.pink p span {
  color: rgb(235, 60, 137);
  background: linear-gradient(transparent 60%, rgba(235, 60, 137, 0.2) 60%);
}
.c-conversation__item.orange p span {
  color: rgb(253, 166, 0);
  background: linear-gradient(transparent 60%, rgba(253, 166, 0, 0.2) 60%);
}
.c-conversation__item p {
  background-color: #fff !important;
  padding: 1.5em 1em;
  border: solid 2px #BBBBBB;
  color: #000 !important;
  position: relative;
  border-radius: 1rem;
  margin: 1rem 1rem;
}
.c-conversation__item p::before, .c-conversation__item p::after {
  position: absolute;
  top: 8%;
  right: 98%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
}
.c-conversation__item--left p::before, .c-conversation__item--left p::after {
  position: absolute;
  left: -15px;
  top: 35%;
  width: 15px;
  height: 30px;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  content: "";
}
.c-conversation__item--left p::before {
  background-color: #BBB;
}
.c-conversation__item--left p::after {
  left: -12px;
  background-color: #fff;
}
.c-conversation__item--right p::before, .c-conversation__item--right p::after {
  position: absolute;
  top: 35%;
  right: -15px;
  width: 15px;
  height: 30px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: "";
}
.c-conversation__item--right p::before {
  background-color: #BBB;
}
.c-conversation__item--right p::after {
  right: -12px;
  background-color: #fff;
}
.c-conversation__item p span {
  font-weight: bold;
  display: inline;
}
.c-conversation__img {
  margin-right: 10px;
  flex-basis: 18%;
  max-width: 4rem;
  min-width: 4rem;
  position: relative;
  align-self: center;
}
.c-conversation__item:nth-of-type(2n) .c-conversation__img {
  margin-right: 0;
  margin-left: 10px;
}
@media (max-width: 768px) {
  .c-conversation__item {
    width: 100%;
  }
  .c-conversation__item p {
    margin: 1rem 0;
  }
  .c-conversation__item--left p {
    margin-left: 0.3rem;
  }
  .c-conversation__item--right p {
    margin-right: 0.3rem;
  }
  .c-conversation__img {
    margin-right: 10px;
  }
}
@media (max-width: 500px) {
  .c-conversation__item--left p::after {
    right: 98%;
    top: 41%;
  }
  .c-conversation__item--left p::before {
    top: 41%;
  }
  .c-conversation__item--right p::after {
    left: 99%;
    top: 41%;
  }
  .c-conversation__item--right p::before {
    top: 41%;
  }
}

/***************************/
/* 20250617 大原追記       */
/**************************/
.oh-p-schedule {
  position: relative;
  font-size: 16px;
}
.oh-p-schedule__list {
  padding: 0;
  margin: 0;
  list-style: none;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
.oh-p-schedule__list::before {
  position: absolute;
  top: 1em;
  left: 6.5em;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 6px;
  height: 96%;
  background-color: #deeef7;
  content: "";
}
@media (max-width: 350px) {
  .oh-p-schedule__list::before {
    left: 7.2em;
    right: auto;
  }
}
@media (max-width: 350px) {
  .oh-p-schedule__list {
    width: 100%;
  }
}
.oh-p-schedule__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: right;
  width: 100%;
  min-width: 300px;
}
.oh-p-schedule__item + .oh-p-schedule__item {
  margin-top: 2em;
}
@media (max-width: 350px) {
  .oh-p-schedule__item {
    font-size: 14px;
    min-width: auto;
    justify-content: center;
  }
}

.oh-lp-tell__text--big {
  color: #0c3575;
  font-weight: bold;
  font-size: 40px;
}
.oh-lp-tell__text--big:hover {
  opacity: 0.8;
}
.oh-lp-tell__text--middle {
  font-size: 20px;
  padding: 10px;
  display: block;
  font-weight: bold;
  color: #0c3575;
}
.oh-lp-tell__text--small {
  font-size: 12px;
  background: #0c3575;
  padding: 10px;
  display: inline-block;
  font-weight: bold;
  color: #fff;
}

.oh-c-scheduleTime {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 5em;
  height: 2em;
  border-radius: 6px;
  background-color: #3388dd;
  color: #fff;
  text-align: center;
}
.oh-c-scheduleTime::before {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateX(50%) translateY(-50%) rotate(45deg);
  width: 0.5em;
  height: 0.5em;
  z-index: 1;
  background-color: #3388dd;
  content: "";
}
.oh-c-scheduleTime::after {
  position: absolute;
  top: 50%;
  left: 6.9em;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  border: 2px solid #fff;
  border-radius: 50%;
  background-color: #3388dd;
  content: "";
}

.oh-c-scheduleContent {
  margin: 0 0 0 3em;
  width: calc(100% - 10em);
}

.oh-c-scheduleContentTitle {
  font-weight: bold;
  padding-left: 20px;
}
.oh-c-scheduleContentTitle--strong span {
  background: linear-gradient(transparent 70%, #ff99ff 60%);
}

.oh-bus-tour-point {
  display: flex;
  border-radius: 10px;
  padding: 20px 10px 20px 15px;
  color: #fff;
  background: #83ded7;
  font-weight: 900;
  gap: 15px;
  align-items: center;
}
.oh-bus-tour-point__dt {
  width: 56px;
  font-size: 14px;
}
.oh-bus-tour-point__dt .lg {
  font-size: 25px;
}
.oh-bus-tour-point__dd {
  font-size: 22px;
}
@media (max-width: 500px) {
  .oh-bus-tour-point__dd {
    font-size: 16px;
  }
}
@media (min-width: 769px) {
  .oh-bus-tour-point {
    width: 60%;
    margin: 0 auto;
  }
}

.oh-bus-tour__info a {
  text-decoration: underline;
}

.oh-bus-tour__button {
  font-size: 22px;
  color: #fff;
  font-weight: bold;
  background: linear-gradient(-90deg, rgb(244, 206, 0) 0%, rgb(247, 161, 0) 100%);
}
.oh-bus-tour__button p:after {
  background-image: url(../images/icon-link-white.svg);
}
.oh-bus-tour__button:hover {
  background: #fff;
  color: #000;
}
.oh-bus-tour__button:hover p:after {
  background-image: url(../images/icon-link.svg);
}

.c-table th.oh-bus-tour__info-list {
  vertical-align: middle;
}

/***************************/
/* 20250619 大原追記       */
/**************************/
.c-school__reception__title {
  background-color: #d0f5f2;
  padding: 5px 10px;
}

/*---------

to-top

----------------------------**/
#oh-to-top {
  position: fixed;
  right: 0;
  z-index: 50;
}

#oh-to-top:hover {
  opacity: 0.6;
}

@media not all and (min-width: 769px) {
  #oh-to-top {
    bottom: 16%;
    width: 48px;
    height: 48px;
  }
}
@media (min-width: 769px) {
  #oh-to-top {
    bottom: 4%;
    width: 64px;
    height: 64px;
  }
}
.dormitories .oh-dormy-content {
  margin-right: -20px;
}
.dormitories table, .dormitories table th, .dormitories table td {
  border: 1px solid #bfbfbf;
  border-spacing: 0;
  border-collapse: collapse;
}
.dormitories table {
  min-width: 1200px;
}
.dormitories th, .dormitories td {
  font-size: 0.75rem;
  padding: 0.5em;
}
.dormitories th {
  text-align: center;
  background-color: #ededed;
}
.dormitories td {
  vertical-align: middle;
}

/*20250722 横幅統一*/
.c-contents-bg.-reco {
  max-width: 100%;
}

.c-faq__contents {
  max-width: 100%;
}
.c-faq__contents .c-faq__list {
  max-width: 678px;
  margin: 0 auto;
}

.p-course-school .c-school__list {
  max-width: 100%;
}
.p-course-school .c-school__list .c-school__region {
  max-width: 680px;
  margin: 0 auto;
  margin-top: 12px;
}

.c-society__contents {
  max-width: 100%;
}

section.c-society__item {
  max-width: 680px;
  margin: 0 auto;
}

/*20250725 TOP オープンキャンパス導線　テキスト追加*/
.oh-event-catch-text {
  position: relative;
  display: grid;
  place-content: center;
  place-items: center;
  padding: 0 10px 0 30px;
  grid-template-columns: repeat(2, 50%);
  margin-top: 20px;
}
.oh-event-catch-text span {
  font-size: 0.8rem;
  width: 95%;
  text-align: center;
  padding: 1em 0.4em;
  background-color: rgba(0, 0, 0, 0.2);
  color: #fff;
  border-radius: 30px;
}

@media not all and (max-width: 768px) {
  .oh-event-catch-text {
    max-width: 50rem;
    padding: 0 140px;
    margin: 20px auto 0 auto;
  }
  .oh-event-catch-text span {
    width: 200px;
    font-size: 14px;
    padding: 0.8em;
  }
}
/*20250725 オープンキャンページ 申込みアンカーリンク追加*/
.c-button-container__item .c-button__inner.c-button__inner--intro.oh-anchor__up::after {
  -webkit-mask-image: url(../images/intro/intro_btn_icon_up.svg);
          mask-image: url(../images/intro/intro_btn_icon_up.svg);
}

/*--- 20250723modal改変
----------------------------**/
.bg-white {
  width: 100%;
}

@media screen and (max-width: 420px) {
  .p-msg-students__large-sp .p-msg-img img {
    bottom: 0;
  }
}
.modal-layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transition: opacity 0.65s;
  pointer-events: none;
  opacity: 0;
  z-index: 10000;
}

.modal-layer.active {
  transition: opacity 0.65s;
  pointer-events: auto;
  opacity: 1;
}

.modal-layer_mask {
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100vh;
}

@media screen and (max-width: 768px) {
  .modal-layer {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
  }
}
/* modal inner */
.modal-layer_inner {
  max-width: 810px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 20px;
}

@media not all and (min-width: 768px) {
  .modal-layer_inner {
    width: 94vw;
    max-width: 40rem;
  }
}
@media screen and (max-width: 768px) {
  .modal-layer_inner {
    width: 97%;
    height: 100%;
    max-height: 630px;
  }
}
/* モーダルのコンテンツ部分の指定 */
.oh-modal-slider {
  width: 810px;
  height: 520px;
  margin: 0 auto;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .oh-modal-slider {
    height: 100%;
    width: 100%;
    top: 0;
  }
}
.oh-modal-content {
  gap: 30px;
  padding: 30px;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .oh-modal-content {
    display: block;
    height: 100%;
    width: 100%;
    padding: 15px;
    max-height: 630px;
  }
}
.oh-modal-content div:first-child {
  width: 302px;
}

.oh-modal-content div:last-child {
  width: 416px;
}

.oh-modal-content img {
  border-radius: 10px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

@media screen and (max-width: 768px) {
  .oh-modal-content img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .oh-modal-content div:first-child {
    margin: auto;
    width: 75%;
    height: 40%;
  }
  .oh-modal-content div:last-child {
    margin: auto;
    width: 100%;
    height: 60%;
    margin-top: 10px;
  }
}
/* モーダルを閉じるボタンの指定 */
.oh-modal-close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -30px;
  right: -20px;
  width: 59px;
  height: 59px;
  color: #fff;
  background: #36AAFF;
  border-radius: 50%;
  cursor: pointer;
  font-size: 30px;
  padding-bottom: 3px;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .oh-modal-close {
    width: 45px;
    height: 45px;
    top: -25px;
    right: 0;
  }
}
.oh-student-message__prev {
  left: 0;
}

.oh-student-message__next {
  right: -32px;
}

@media screen and (max-width: 768px) {
  .oh-student-message__prev {
    left: 10%;
  }
  .oh-student-message__next {
    right: 10%;
  }
}
@media screen and (max-width: 470px) {
  .oh-student-message__prev {
    top: 25%;
  }
  .oh-student-message__next {
    top: 25%;
  }
}
/* 20250902ナビゲーションのサイズ調整 */
@media screen and (max-width: 768px) {
  .c-nav-header {
    width: 90vw;
  }
  .c-nav__inner {
    padding-left: 18px;
    padding-right: 18px;
  }
  .c-nav__button {
    font-size: 14px;
  }
}
.o-ryugakumap__button {
  align-self: center;
}

/* 検索ボックスCSS 20251029 */
/* 検索ボックス本体 */
.gsc-control-searchbox-only,
div.gsc-control-searchbox-only {
  max-width: 666px !important;
  margin: 0 auto !important;
}

@media screen and (max-width: 768px) {
  .gsc-control-searchbox-only {
    margin-top: 15px !important;
  }
}
/* フッター内の検索ボックスを非表示 */
.l-footer .gsc-control-searchbox-only {
  display: none !important;
}

/* フォーム全体のレイアウト */
.gsc-search-box,
form.gsc-search-box {
  display: flex !important;
  align-items: stretch !important;
}

/* テーブルレイアウトの上書き */
.gsc-search-box > tbody,
.gsc-search-box > tbody > tr {
  display: flex !important;
  width: 100% !important;
}

/* 入力欄のセル */
.gsc-search-box td.gsc-input {
  flex: 1 !important;
  display: flex !important;
}

/* 入力欄全体のラッパー */
.gsc-input-box,
div.gsc-input-box {
  flex: 1 !important;
  position: relative !important;
  height: 50px !important;
  padding-left: 20px !important;
  border: 1px solid #ccc !important;
  border-right: none !important;
  border-radius: 20px 0 0 20px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Google側の内部テーブル */
.gsc-input-box table,
.gsc-input-box tbody,
.gsc-input-box tr {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
}

/* Google側の内部padding除去 */
.gsib_a,
td.gsib_a {
  padding: 0 !important;
  vertical-align: middle !important;
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
}

/* 入力フィールド */
.gsc-input,
input.gsc-input {
  width: 100% !important;
  background: transparent !important;
  font-size: 16px !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  border: none !important;
  outline: none !important;
  margin: 0 !important;
}

.gsst_b {
  margin-top: 7px !important;
}

/* 検索ボタンのセル */
.gsc-search-box td.gsc-search-button {
  display: flex !important;
  align-items: stretch !important;
}

/* 検索ボタン */
.gsc-search-button button,
button.gsc-search-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 50px !important;
  width: 80px !important;
  padding: 0 20px !important;
  font-size: 16px !important;
  background: #0078d7 !important;
  color: #fff !important;
  border-radius: 0 20px 20px 0 !important;
  border: 1px solid #0078d7 !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  margin: 0 !important;
}

@media screen and (max-width: 768px) {
  .gsc-search-button button,
  button.gsc-search-button {
    width: 50px !important;
    padding: 0 10px !important;
  }
}
.gsc-search-button button:hover,
button.gsc-search-button:hover {
  opacity: 0.8 !important;
  transition: opacity 0.3s ease !important;
}

/* ボタン内のSVGアイコン調整 */
.gsc-search-button svg {
  vertical-align: middle !important;
  transform: translateY(-1px) !important;
}

/* クリアボタンを非表示（必要に応じて） */
.gsc-clear-button {
  display: none !important;
}

form.gsc-search-box {
  margin: auto !important;
  margin-top: 50px !important;
}

.gsc-search-button {
  width: auto !important;
}

.gsib_a {
  background-image: none !important;
}

/* 検索ボックスここまで */
#search-result {
  padding-top: 50px;
}
#search-result .c-page-title1.-hp {
  margin-top: 0;
}
.p-search-other .c-connectionlink {
  background: #dcfaf8;
}

/*---------
20251209
msg-students & msg-graduates
----------------------------**/
/* 公務員 */
.student-msg__komuin {
  --main-color: #70bbc1;
  --sub-color1: rgba(222, 236, 237, 1);
  --sub-color2: rgba(239, 246, 246, 1);
}

/* 警察消防 */
.student-msg__kouan {
  --main-color: #6aa366;
  --sub-color1: rgba(225, 237, 224, 1);
  --sub-color2: rgba(240, 246, 240, 1);
}

/* 救急救命士 */
.student-msg__paramedic {
  --main-color: #ea7e6e;
  --sub-color1: rgba(251, 229, 226, 1);
  --sub-color2: rgba(253, 242, 241, 1);
}

/* 公認会計士・税理士 */
.student-msg__kaikei {
  --main-color: #3c5797;
  --sub-color1: rgba(216, 221, 234, 1);
  --sub-color2: rgba(236, 239, 245, 1);
}

/* ビジネス */
.student-msg__business {
  --main-color: #3099ee;
  --sub-color1: rgb(204, 235, 252);
  --sub-color2: rgb(230, 245, 253);
}

/* 情報IT */
.student-msg__jouhou {
  --main-color: #37916d;
  --sub-color1: rgba(215, 233, 226, 1);
  --sub-color2: rgba(235, 244, 241, 1);
}

/* ゲームCG */
.student-msg__creator {
  --main-color: #59b786;
  --sub-color1: rgba(222, 241, 231, 1);
  --sub-color2: rgba(239, 248, 243, 1);
}

/* 医療事務 */
.student-msg__iryo {
  --main-color: #ffa7d0;
  --sub-color1: rgba(255, 222, 238, 1);
  --sub-color2: rgba(255, 239, 246, 1);
}

/* 歯科衛生士 */
.student-msg__shika {
  --main-color: #bcb299;
  --sub-color1: rgba(251, 234, 237, 1);
  --sub-color2: rgba(255, 245, 245, 1);
}

/* 保育士 */
.student-msg__hoiku {
  --main-color: #fb9b1a;
  --sub-color1: rgba(255, 235, 209, 1);
  --sub-color2: rgba(255, 245, 233, 1);
}

/* 介護福祉 */
.student-msg__hukushi {
  --main-color: #5aad41;
  --sub-color1: rgba(222, 239, 217, 1);
  --sub-color2: rgba(239, 247, 236, 1);
}

/* ホテルトラベル */
.student-msg__kanko {
  --main-color: #8bb801;
  --sub-color1: rgba(251, 235, 203, 1);
  --sub-color2: rgba(253, 246, 230, 1);
}

/* ブライダル */
.student-msg__bridal {
  --main-color: #f17ac2;
  --sub-color1: rgba(238, 220, 231, 1);
  --sub-color2: rgba(246, 237, 243, 1);
}

/* ビューティー */
.student-msg__beauty {
  --main-color: #fa97b7;
  --sub-color1: rgba(227, 225, 237, 1);
  --sub-color2: rgba(242, 241, 246, 1);
}

/* 美容師（補完） */
.student-msg__hair {
  --main-color: #801980;
  --sub-color1: rgba(245, 226, 235, 1);
  --sub-color2: rgba(250, 241, 245, 1);
}

/* スポーツ */
.student-msg__sports {
  --main-color: #fbae00;
  --sub-color1: rgba(251, 242, 159, 1);
  --sub-color2: rgba(255, 250, 230, 1);
}

/* アニメ */
.student-msg__anime {
  --main-color: #fb7a34;
  --sub-color1: rgba(255, 228, 214, 1);
  --sub-color2: rgba(255, 242, 235, 1);
}

/* 声優（補完） */
.student-msg__seiyu {
  --main-color: #77c408; /* #77c408 */
  --sub-color1: rgba(228, 243, 216, 1);
  --sub-color2: rgba(242, 250, 236, 1);
}

/* 製菓 */
.student-msg__seika {
  --main-color: #d2a300;
  --sub-color1: rgba(246, 237, 204, 1);
  --sub-color2: rgba(251, 246, 230, 1);
}

/* 自動車（補完） */
.student-msg__jidousya {
  --main-color: #09074d;
  --sub-color1: rgba(226, 232, 238, 1);
  --sub-color2: rgba(242, 246, 249, 1);
}

.oh-student-message__grid-box {
  width: 100%;
  padding: 1.875rem;
  display: grid;
  row-gap: 1.25rem; /* 2rem → 1.25rem */
}
@media (min-width: 768px) {
  .oh-student-message__grid-box {
    padding: 0.625rem;
  }
}

.th-msg-students {
  position: relative;
}

.th-msg-students > div {
  position: absolute;
  top: 0;
  height: 100%;
  display: grid;
  align-items: end;
  padding: 0.5em;
}

.th-msg-students > div p {
  line-height: 2;
}

.th-msg-students > div p span {
  background-color: var(--main-color);
  border: 5px solid var(--main-color);
  color: #fff;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  font-size: 0.9rem;
}
@media (min-width: 768px) {
  .th-msg-students > div p span {
    font-size: 0.75rem;
  }
}

.msg-students {
  background-color: var(--sub-color1);
  display: grid;
  border-radius: 0.625rem; /* 1rem → 0.625rem */
  overflow: hidden;
  align-items: flex-end;
  position: relative;
  cursor: pointer;
  grid-template-rows: auto 5em; /* emはそのまま */
}

.msg-students p:first-child {
  color: var(--main-color);
}

.msg-students_item {
  display: grid;
  padding: 0.5em;
  align-items: center;
  position: relative;
  height: 5em; /* emはそのまま */
  background-color: var(--sub-color2);
  align-content: center;
  padding-right: 3rem; /* 5.2rem → 5.2×0.625=3.25rem */
}

.msg-students_item p {
  line-height: 1.5;
}

.msg-students_item::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  background: url(../images/intro/student_message/icon_search.png) no-repeat border-box center top/cover;
}

@media not all and (min-width: 768px) {
  .msg-students_item p {
    font-size: 0.875rem; /* スルー */
  }
  .oh-student-message__grid-box {
    grid-template-columns: 1fr;
    grid-auto-rows: minmax(10.625rem, 1fr); /* 17rem →10.625rem */
    gap: 1.25rem 0; /* 2rem→1.25rem */
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 768px) {
  .oh-student-message__grid-box {
    grid-template-columns: repeat(3, 32%);
    gap: 1.25rem 2%; /* 2rem→1.25rem */
  }
  .msg-students_item p {
    font-size: 0.875rem; /* スルー */
  }
}
@media (min-width: 769px) {
  .msg-students_item p {
    font-size: 0.875rem; /* スルー */
  }
}
@media not all and (min-width: 768px) {
  .msg-students_item::before {
    width: 2.5rem; /* 4rem→2.5rem */
    height: 2.5rem; /* 4rem→2.5rem */
  }
}
@media (min-width: 768px) {
  .oh-student-message__grid-box {
    grid-auto-rows: minmax(15rem, 1fr); /* 24rem → 15rem */
  }
  .msg-students_item {
    height: 5em;
  }
  .th-msg-students {
    min-height: 9.375rem;
  } /* 15rem → 15×0.625=9.375rem */
  .msg-students_item::before {
    width: 1.875rem;
    height: 1.875rem;
  }
}
@media (min-width: 768px) and (max-width: 1050px) {
  .oh-student-message__grid-box {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .th-msg-students > div p span {
    font-size: 1.45vw; /* 1.45vw×0.625 */
  }
}
@media (max-width: 500px) {
  .oh-student-message__grid-box {
    grid-template-columns: repeat(1, 1fr) !important;
    padding-inline: 1.875rem !important;
  }
}
.c-linkcard.-opencampus .c-linkcard__title {
  font-size: min(5.5vw, 31px);
}

.student-msg__popup-img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  position: relative;
  align-self: flex-start;
  background-color: var(--sub-color1);
}
.student-msg__popup-img img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  clip-path: inset(0 round 1rem);
  -o-object-position: bottom;
     object-position: bottom;
}
@media (min-width: 769px) {
  .student-msg__popup-img {
    border-radius: 1.25rem;
  }
}/*# sourceMappingURL=style-zenkoku.css.map */