@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
/* オープンキャンパス style */

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
  margin: 0;
}
body.fixed {
  overflow: hidden;
}

article, aside, details, figcaption, figure,
footer, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

li {
  list-style: none;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  max-width: 100%;
}
#open_campus {
  font-family: var(--font-ja);
  font-weight: var(--regular);
  color: var(--color-txt);
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.01em;
  overflow: hidden;
}
#open_campus .sp,
#open_campus .spi {
  display: none !important;
}
#open_campus .pc {
  display: block !important;
}
#open_campus .pci {
  display: inline-block !important;
}
@media screen and (max-width: 767px) {
  #open_campus .sp {
    display: block !important;
  }
  #open_campus .spi {
    display: inline-block !important;
  }
  #open_campus .pc,
  #open_campus .pci {
    display: none !important;
  }
}

/* ----------------------------------
common
---------------------------------- */
:root {
  --color-white: #fff;
  --color-txt: #1a1a1a;
  --color-txt2: #242424;
  --color-bg: #f7f7f7;
  --color-literature: #7294b2;
  --color-business: #dfd259;
  --color-human: #dea57a;
  --color-sinri: #b89267;
  --color-design: #b793a6;
  --color-living: #b6c8ad;
  --color-nursing: #dda7ad;
  --color-pharmacy: #87acab;
  --color-blue: #6fd6f4;
  --color-pink: #f86793;
  --color-l_pink: #fbd5df;
  --color-d-pink: #d81871;
  --color-red: #b71840;
  --color-yellow: #fefd85;
  --light: 300;
  --regular: 400;
  --medium: 500;
  --semibold: 600;
  --bold: 700;
  --black: 900;
  --font-en: "Outfit", sans-serif;
  --font-ja: "Noto Sans JP", sans-serif;
  --font-ja-min: "Noto Serif JP", serif;
}
#open_campus .is-hide {
  display: none !important;
}
#open_campus .en {
  font-family: var(--font-en);
}
#open_campus .ja {
  font-family: var(--font-ja);
}
#open_campus .in {
  max-width: 1360px;
  margin: 0 auto;
}
#open_campus .txt {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: -0.01em;
}
#open_campus .oc_ttl {
  margin-bottom: 40px;
  text-align: center;
}
#open_campus .oc_ttl .ttl_h2 {
  font-size: 60px;
  font-weight: var(--bold);
  font-family: var(--font-en);
  letter-spacing: 0;
  line-height: 1;
}
#open_campus .oc_ttl .ttl_h2 .ja {
  display: block;
  font-size: 22px;
  letter-spacing: 0.01em;
  margin-top: 20px;
  line-height: 1;
}
#open_campus .oc_ttl .lead {
  margin-top: 30px;
  font-size: 40px;
  font-weight: var(--bold);
  line-height: 1.3;
}
#open_campus .oc_button {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 770px;
  height: 90px;
  margin: 50px auto 0;
  border: 2px solid var(--color-red);
  border-radius: 10px;
  box-shadow: 0 5px 10px rgb(0 0 0 / 0.05);
  background: var(--color-white) url(../img/icon_arrow_red.png) center right 24px/12.5px auto no-repeat;
  text-decoration: none;
  font-size: 20px;
  font-weight: var(--bold);
  color: var(--color-red);
}
#open_campus .oc_button.oc_button_red {
  background-color: var(--color-red);
  color: var(--color-white);
  background-image: url(../img/icon_arrow_wh.png);
}
#open_campus .oc_button.oc_button_red2 {
  background-color: var(--color-red);
  color: var(--color-white);
  background-image: url(../img/713/icon_arrow_white.png);
}
#open_campus .oc_button_br {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 260px;
  width: 100%;
  height: 40px;
  margin: 20px auto 0;
  border-radius: 20px;
  text-align: center;
  background: var(--color-yellow) url(../img/icon_arrow_bk.png) center right 16px/6px auto no-repeat;
  font-size: 14px;
  font-weight: var(--bold);
  color: var(--color-txt);
  text-decoration: none;
}
#open_campus .oc_button_gr {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 770px;
  height: 90px;
  margin: 50px auto 0;
  border-radius: 10px;
  box-shadow: 0 5px 10px rgb(0 0 0 / 0.05);
  background: #06c755 url(../img/icon_arrow_wh.png) center right 24px/12.5px auto no-repeat;
  text-decoration: none;
  font-size: 30px;
  font-weight: var(--bold);
  color: var(--color-white);
}
#open_campus .oc_button_gr small {
  font-size: 24px;
}
#open_campus .oc_buttons {
  margin: 60px auto 0;
  display: flex;
  justify-content: center;
  gap: 20px;
}
#open_campus .oc_buttons a {
  width: 500px;
  margin: 0;
}
#open_campus section {
  padding: 80px 0;
}
#open_campus.detail_page .in {
  max-width: 1200px;
}
@media screen and (min-width: 768px) {
  #open_campus .oc_button,
  #open_campus .oc_button_br,
  #open_campus .oc_button_gr {
    transition: .3s;
  }
  #open_campus .oc_button:hover,
  #open_campus .oc_button_br:hover,
  #open_campus .oc_button_gr:hover {
    opacity: 0.68;
  }
}
@media screen and (max-width: 1400px) {
  #open_campus .in {
    max-width: calc(1360 / 1400 * 100vw);
  }
  #open_campus .txt {
    font-size: calc(18 / 1400 * 100vw);
  }
  #open_campus .oc_ttl {
    margin-bottom: calc(40 / 1400 * 100vw);
  }
  #open_campus .oc_ttl .ttl_h2 {
    font-size: calc(60 / 1400 * 100vw);
  }
  #open_campus .oc_ttl .ttl_h2 .ja {
    font-size: calc(22 / 1400 * 100vw);
    margin-top: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_ttl .lead {
    margin-top: calc(30 / 1400 * 100vw);
    font-size: calc(40 / 1400 * 100vw);
  }
  #open_campus .oc_button {
    max-width: calc(770 / 1400 * 100vw);
    height: calc(90 / 1400 * 100vw);
    margin: calc(50 / 1400 * 100vw) auto 0;
    border: calc(2 / 1400 * 100vw) solid var(--color-red);
    border-radius: calc(10 / 1400 * 100vw);
    box-shadow: 0 calc(5 / 1400 * 100vw) calc(10 / 1400 * 100vw) rgb(0 0 0 / 0.05);
    background: var(--color-white) url(../img/icon_arrow_red.png) center right calc(24 / 1400 * 100vw)/calc(12.5 / 1400 * 100vw) auto no-repeat;
    font-size: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_button_br {
    max-width: calc(260 / 1400 * 100vw);
    height: calc(40 / 1400 * 100vw);
    margin: calc(20 / 1400 * 100vw) auto 0;
    border-radius: calc(20 / 1400 * 100vw);
    background: var(--color-yellow) url(../img/icon_arrow_bk.png) center right calc(16 / 1400 * 100vw)/calc(6 / 1400 * 100vw) auto no-repeat;
    font-size: calc(14 / 1400 * 100vw);
  }
  #open_campus .oc_button_gr {
    max-width: calc(770 / 1400 * 100vw);
    height: calc(90 / 1400 * 100vw);
    margin: calc(50 / 1400 * 100vw) auto 0;
    border-radius: calc(10 / 1400 * 100vw);
    box-shadow: 0 calc(5 / 1400 * 100vw) calc(10 / 1400 * 100vw) rgb(0 0 0 / 0.05);
    background: #06c755 url(../img/icon_arrow_wh.png) center right calc(24 / 1400 * 100vw)/calc(12.5 / 1400 * 100vw) auto no-repeat;
    font-size: calc(30 / 1400 * 100vw);
  }
  #open_campus .oc_button_gr small {
    font-size: calc(24 / 1400 * 100vw);
  }
  #open_campus .oc_buttons {
    margin: calc(60 / 1400 * 100vw) auto 0;
    gap: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_buttons a {
    width: calc(500 / 1400 * 100vw);
  }
  #open_campus section {
    padding: calc(80 / 1400 * 100vw) 0;
  }
  #open_campus.detail_page .in {
    max-width: calc(1200 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus section {
    padding: calc(65 / 390 * 100vw) 0 calc(60 / 390 * 100vw);
  }
  #open_campus .in {
    max-width: none;
    margin: 0 calc(15 / 390 * 100vw);
  }
  #open_campus .oc_ttl .lead {
    margin-top: calc(25 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
  }
  #open_campus .txt {
    font-size: calc(16 / 390 * 100vw);
    margin-top: calc(36 / 390 * 10vw);
  }
  #open_campus .oc_ttl {
    margin-bottom: calc(41 / 390 * 100vw);
  }
  #open_campus .oc_ttl .ttl_h2 {
    font-size: calc(48 / 390 * 100vw);
  }
  #open_campus .oc_ttl .ttl_h2 .ja {
    margin-top: calc(15 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
    line-height: 1.33;
  }
  #open_campus .oc_button {
    max-width: none;
    margin-top: calc(40 / 390 * 100vw);
    width: calc(330 / 390 * 100vw);
    height: calc(70 / 390 * 100vw);
    border-radius: calc(10 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    border-width: calc(2 / 390 * 100vw);
    background-size: calc(9.5 / 390 * 100vw) auto;
    background-position: center right calc(14 / 390 * 100vw);
  }
  #open_campus .oc_button_br {
    max-width: 100%;
    width: calc(260 / 390 * 100vw);
    height: calc(40 / 390 * 100vw);
    margin-top: calc(40 / 390 * 100vw);
    border-radius: calc(30 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    background-size: calc(4 / 390 * 100vw) auto;
    background-position: center right calc(16 / 390 * 100vw);
  }
  #open_campus .oc_button_gr {
    max-width: none;
    margin-top: calc(40 / 390 * 100vw);
    width: calc(330 / 390 * 100vw);
    height: calc(70 / 390 * 100vw);
    border-radius: calc(10 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
    border-width: calc(2 / 390 * 100vw);
    background-size: calc(9.5 / 390 * 100vw) auto;
    background-position: center right calc(14 / 390 * 100vw);
  }
  #open_campus .oc_button_gr small {
    font-size: calc(18 / 390 * 100vw);
  }
  #open_campus.detail_page .in {
    max-width: none;
  }
}
#open_campus .fixed_menu_triger {
  position: fixed;
  padding: 15px 37px 15px 99px;
  right: 0;
  bottom: 55px;
  z-index: 5;
  font-size: 14px;
  font-weight: var(--bold);
  cursor: pointer;
  transition: .3s;
  clip-path: polygon(calc(0% + 20px) 0%, 100% 0%, 100% 100%, calc(0% + 20px) 100%, 0% 50%);
  background: linear-gradient(90deg,rgba(212, 25, 114, 1) 0%, rgba(255, 0, 102, 1) 100%);
  color: var(--color-white);
}
#open_campus .fixed_menu_triger::before,
#open_campus .fixed_menu_triger span::before,
#open_campus .fixed_menu_triger span::after {
  position: absolute;
  left: 62px;
  content: "";
  display: block;
  height: 2px;
  background: var(--color-white);
  transition: .3s;
}
#open_campus .fixed_menu_triger::before {
  top: 22px;
  width: 20px;
}
#open_campus .fixed_menu_triger span::before {
  width: 16px;
  top: 28px;
}
#open_campus .fixed_menu_triger span::after {
  top: 34px;
  width: 12px;
}
#open_campus .fixed_menu_triger.open::before {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
#open_campus .fixed_menu_triger.open span::before {
  width: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}
#open_campus .fixed_menu_triger.open span::after {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
}
#open_campus .fixed_menu nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 4;
  background: #fcfcdb;
  background-image: url(../img/nav_top.png), url(../img/nav_bottom.png);
  background-size: 216px auto, 216px auto;
  background-position: top right, bottom left;
  background-repeat: no-repeat;
  align-items: center;
  justify-content: center;
  display: none;
}
#open_campus .fixed_menu nav .in {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  gap: 120px;
  width: 100%;
  justify-content: space-between;
  transform: translate(-50%,-50%);
  max-width: 1360px;
}
#open_campus .fixed_menu nav .in dt {
  font-size: 40px;
  font-weight: var(--bold);
  font-family: var(--font-en);
  line-height: 1;
  margin-bottom: 29px;
}
#open_campus .fixed_menu nav .in dt small {
  font-family: var(--font-ja);
  font-size: 14px;
  line-height: 1;
  display: block;
  color: var(--color-red);
  margin-bottom: 9px;
}
#open_campus .fixed_menu nav .in dl + dl {
  margin-top: 70px;
}
#open_campus .fixed_menu nav .in dd {
  padding-left: 50px;
}
#open_campus .fixed_menu nav .in dd a {
  padding-left: 30px;
  position: relative;
  display: block;
  font-size: 16px;
  color: var(--color-txt);
  text-decoration: none;
  transition: .3s;
  line-height: 1.2;
}
#open_campus .fixed_menu nav .in dd a::before {
  position: absolute;
  left: 0;
  top: 50%;
  content: "";
  display: block;
  width: 16px;
  height: 1px;
  background: var(--color-txt);
  transform: translateY(-50%);
}
#open_campus .fixed_menu nav .in dd a:hover {
  opacity: 0.68;
}
#open_campus .fixed_menu nav .in dd a + a {
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  #open_campus .fixed_menu_triger:hover {
    opacity: 0.68;
  }
}
@media screen and (max-width: 1400px) {
  #open_campus .fixed_menu_triger {
    padding: calc(15 / 1400 * 100vw) calc(37 / 1400 * 100vw) calc(15 / 1400 * 100vw) calc(99 / 1400 * 100vw);
    /* bottom: calc(32 / 1400 * 100vw); */
    font-size: calc(14 / 1400 * 100vw);
    clip-path: polygon(calc(0% + (20 / 1400 * 100vw)) 0%, 100% 0%, 100% 100%, calc(0% + (20 / 1400 * 100vw)) 100%, 0% 50%);
  }
  #open_campus .fixed_menu_triger::before,
  #open_campus .fixed_menu_triger span::before,
  #open_campus .fixed_menu_triger span::after {
    left: calc(62 / 1400 * 100vw);
    height: calc(2 / 1400 * 100vw);
  }
  #open_campus .fixed_menu_triger::before {
    top: calc(22 / 1400 * 100vw);
    width: calc(20 / 1400 * 100vw);
  }
  #open_campus .fixed_menu_triger span::before {
    width: calc(16 / 1400 * 100vw);
    top: calc(28 / 1400 * 100vw);
  }
  #open_campus .fixed_menu_triger span::after {
    top: calc(34 / 1400 * 100vw);
    width: calc(12 / 1400 * 100vw);
  }
  #open_campus .fixed_menu_triger.open span::before {
    width: calc(20 / 1400 * 100vw);
  }
  #open_campus .fixed_menu nav .in {
    gap: calc(120 / 1400 * 100vw);
    max-width: calc(1360 / 1400 * 100vw);
  }
  #open_campus .fixed_menu nav .in dt {
    font-size: calc(40 / 1400 * 100vw);
    margin-bottom: calc(29 / 1400 * 100vw);
  }
  #open_campus .fixed_menu nav .in dt small {
    font-size: calc(14 / 1400 * 100vw);
    margin-bottom: calc(9 / 1400 * 100vw);
  }
  #open_campus .fixed_menu nav .in dl + dl {
    margin-top: calc(70 / 1400 * 100vw);
  }
  #open_campus .fixed_menu nav .in dd {
    padding-left: calc(50 / 1400 * 100vw);
  }
  #open_campus .fixed_menu nav .in dd a {
    padding-left: calc(30 / 1400 * 100vw);
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus .fixed_menu nav .in dd a::before {
    width: calc(16 / 1400 * 100vw);
  }
  #open_campus .fixed_menu nav .in dd a + a {
    margin-top: calc(15 / 1400 * 100vw);
  }
}
@media screen and (max-width: 1000px) {
  #open_campus .fixed_menu_triger {
    bottom: 105px;
  }
}
@media screen and (max-width: 767px) {
  #open_campus {
    margin-top: 60px;
  }
  #open_campus .fixed_menu nav {
    background-size: calc(130 / 390 * 100vw) auto, calc(130 / 390 * 100vw) auto;
    overflow: scroll;
    padding: calc(80 / 390 * 100vw) calc(15 / 390 * 100vw) calc(137 / 390 * 100vw);
  }
  #open_campus .fixed_menu nav::-webkit-scrollbar {
    display: none;
  }
  #open_campus .fixed_menu nav .in {
    position: static;
    margin: 0;
    display: block;
    transform: unset;
    max-width: none;
  }
  #open_campus .fixed_menu nav .in dl {
    border-bottom: 1px solid rgb(0 0 0 / 0.1);
    margin: 0 !important;
  }
  #open_campus .fixed_menu nav .in dt {
    font-size: calc(30 / 390 * 100vw);
    margin: 0;
    padding: calc(30 / 390 * 100vw) 0;
    position: relative;
    cursor: pointer;
  }
  #open_campus .fixed_menu nav .in dt::before,
  #open_campus .fixed_menu nav .in dt::after {
    position: absolute;
    right: 0;
    top: 50%;
    content: "";
    display: block;
    width: calc(16 / 390 * 100vw);
    height: calc(2 / 390 * 100vw);
    background: var(--color-red);
    transform: translateY(-50%);
    transition: .3s;
  }
  #open_campus .fixed_menu nav .in dt::after {
    transform: translateY(-50%) rotate(90deg);
  }
  #open_campus .fixed_menu nav .in dt.open::after {
    transform: translateY(-50%) rotate(0deg);
    opacity: 0;
  }
  #open_campus .fixed_menu nav .in dt small {
    margin-bottom: calc(9 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
  }
  #open_campus .fixed_menu nav .in dd {
    display: none;
    padding: 0 0 calc(30 / 390 * 100vw) calc(30 / 390 * 100vw);
  }
  #open_campus .fixed_menu nav .in dd a {
    padding-left: calc(30 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
  }
  #open_campus .fixed_menu nav .in dd a::before {
    width: calc(16 / 390 * 100vw);
  }
  #open_campus .fixed_menu nav .in dd a + a {
    margin-top: calc(15 / 390 * 100vw);
  }
  #open_campus .fixed_menu_triger {
    bottom: calc(5 / 390 * 100vw);
    right: 0;
    bottom: 73px;
    padding: calc(10 / 390 * 100vw) calc(26 / 390 * 100vw) calc(8 / 390 * 100vw) calc(55 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
    clip-path: polygon(calc(0% + (15 / 390 * 100vw)) 0%, 100% 0%, 100% 100%, calc(0% + (15 / 390 * 100vw)) 100%, 0% 50%);
  }
  #open_campus .fixed_menu_triger::before,
  #open_campus .fixed_menu_triger span::before,
  #open_campus .fixed_menu_triger span::after {
    left: calc(23 / 390 * 100vw);
    height: calc(2 / 390 * 100vw);
  }
  #open_campus .fixed_menu_triger::before {
    top: calc(16 / 390 * 100vw);
    width: calc(20 / 390 * 100vw);
  }
  #open_campus .fixed_menu_triger span::before {
    width: calc(16 / 390 * 100vw);
    top: calc(22 / 390 * 100vw);
  }
  #open_campus .fixed_menu_triger span::after {
    top: calc(28 / 390 * 100vw);
    width: calc(12 / 390 * 100vw);
  }
  #open_campus .fixed_menu_triger.open span::before {
    width: calc(20 / 390 * 100vw);
  }
}

.fixed-sp-nav {
  display: none !important;
}
#open_campus .fixed-sp-nav * {
  text-decoration: none !important;
}
#open_campus .fixed_menu2 {
  position: fixed;
  display: flex;
  gap: 7px;
  right: 17px;
  bottom: 125px;
  z-index: 3;
  /* bottom: 55px; */
}
#open_campus .fixed_menu2 a {
  width: 130px;
  height: 70px;
  max-width: none;
  min-width: auto;
  font-size: 24px;
  text-align: center;
  background-size: 9.5px auto;
  background-position: center right 5px;
}
#open_campus .fixed_menu2 a small {
  font-size: 14px;
}
#open_campus .fixed_menu2 a span {
  line-height: 0.7 !important;
}
@media screen and (max-width: 1400px) {
  #open_campus .fixed_menu2 {
    gap: calc(7 / 1400 * 100vw);
    right: calc(17 / 1400 * 100vw);
  }
  #open_campus .fixed_menu2 a {
    margin: 0;
    width: calc(130 / 1400 * 100vw);
    height: calc(70 / 1400 * 100vw);
    font-size: calc(24 / 1400 * 100vw);
    background-size: calc(9.5 / 1400 * 100vw) auto;
    background-position: center right calc(5 / 1400 * 100vw);
  }
  #open_campus .fixed_menu2 a small {
    font-size: calc(14 / 1400 * 100vw);
  }
}
@media screen and (max-width: 1000px) {
  #open_campus .fixed_menu2 {
    bottom: 150px;
  }
  
  .ver2026 .fixed-sp-nav {
    display: block !important;
    position: fixed;
    width: 100%;
    height: 50px;
    bottom: 0;
    box-shadow: 0 0 5px 0px #00000026;
    top: auto;
    right: auto;
    z-index: 10;
  }
  .ver2026 .fixed-sp-nav ul {
    display: flex;
    width: 100%;
    position: relative;
  }
  .ver2026 .fixed-sp-nav ul::before {
    background-color: rgba(242, 242, 240, .5);
    -webkit-backdrop-filter: blur(30px) brightness(1.5);
    backdrop-filter: blur(30px) brightness(1.05);
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .ver2026 .fixed-sp-nav ul li {
    height: 50px;
    width: 50%;
    position: relative;
  }
  .ver2026 .fixed-sp-nav li a {
    height: 100%;
    background: none;
    color: var(--normal);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
  }
  .ver2026 .fixed-sp-nav ul li + li::before {
    background-color: #C6C6C6;
    content: "";
    height: 30px;
    width: 1px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .fixed_menu2 {
    bottom: 125px;
    /* bottom: calc(60 / 390 * 100vw);*/
    display: none; 
  }
  #open_campus .fixed_menu2 a.oc_button {
    display: none;
  }
  #open_campus .fixed_menu2 a.oc_button_gr {
    width: calc(180 / 390 * 100vw);
    height: calc(70 / 390 * 100vw);
    font-size: calc(28 / 390 * 100vw);
    background-size: calc(9.5 / 390 * 100vw) auto;
    background-position: center right calc(5 / 390 * 100vw);
  }
  #open_campus .fixed_menu2 a.oc_button_gr small {
    font-size: calc(18 / 390 * 100vw);
  }
}



#open_campus section.oc_fv {
  padding: 0;
} 
#open_campus section.oc_fv a {
  transition: .3s;
}
#open_campus section.oc_fv a:hover {
  opacity: 0.68;
}
#open_campus section.oc_fv .swiper-control {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0 0;
  gap: 20px;
}
#open_campus section.oc_fv .swiper .swiper-pagination {
  position: static;
  width: auto;
}
#open_campus section.oc_fv .swiper .swiper-pagination-bullet {
  position: static;
  width: 16px;
  height: 16px;
  border-radius: 100%;
  margin: 0 10px;
  background: var(--color-white);
  border: none !important;
  opacity: 1;
}
#open_campus section.oc_fv .swiper .swiper-pagination-bullet-active {
  background: var(--color-red);
}
#open_campus section.oc_fv .swiper .swiper-button {
  position: static;
  height: auto;
  width: auto;
  margin: 0;
}
#open_campus section.oc_fv .swiper .swiper-button-next:after, 
#open_campus section.oc_fv .swiper .swiper-button-prev:after {
  font-size: 10px;
  color: var(--color-red);
}
@media screen and (max-width: 1400px) {
  #open_campus section.oc_fv .swiper-control {
    margin: calc(10 / 1400 * 100vw) 0 0;
    gap: calc(20 / 1400 * 100vw);
  }
  #open_campus section.oc_fv .swiper .swiper-pagination-bullet {
    width: calc(16 / 1400 * 100vw);
    height: calc(16 / 1400 * 100vw);
    margin: 0 calc(10 / 1400 * 100vw);
    border: calc(2 / 1400 * 100vw) solid var(--color-bg);
  }
  #open_campus section.oc_fv .swiper .swiper-button-next:after, 
  #open_campus section.oc_fv .swiper .swiper-button-prev:after {
    font-size: calc(10 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus section.oc_fv .swiper-control {
    margin: calc(10 / 390 * 100vw) 0 0;
    gap: calc(20 / 390 * 100vw);
  }
  #open_campus section.oc_fv .swiper .swiper-pagination-bullet {
    width: calc(10 / 390 * 100vw);
    height: calc(10 / 390 * 100vw);
    margin: 0 calc(6 / 390 * 100vw);
    border: calc(2 / 390 * 100vw) solid var(--color-bg);
  }
  #open_campus section.oc_fv .swiper .swiper-button-next:after, 
  #open_campus section.oc_fv .swiper .swiper-button-prev:after {
    font-size: calc(10 / 390 * 100vw);
  }
}

/* ----------------------------------
oc_lead_wrap
---------------------------------- */
#open_campus .oc_lead_wrap {
  margin-top: -29px;
  background: url(../img/lead_bg.jpg) center/cover no-repeat;
}
#open_campus .oc_lead_wrap .list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
#open_campus .oc_lead_wrap .oc_ttl {
  margin-bottom: 87px;
}
#open_campus .oc_lead_wrap .list .item {
  position: relative;
  background: var(--color-white);
  border-radius: 6px;
  padding: 50px 36px 30px;
  width: calc(25% - (12px * 3 / 4));
}
#open_campus .oc_lead_wrap .list .item .date {
  padding: 0 9px 20px;
  border-bottom: 1px solid rgb(0 0 0 / 0.2);
}
#open_campus .oc_lead_wrap .list .item .date > span {
  display: block;
  line-height: 1;
  font-weight: var(--bold);
}
#open_campus .oc_lead_wrap .list .item .date_y {
  font-size: 18px;
}
#open_campus .oc_lead_wrap .list .item .date_y small {
  font-size: 16px;
}
#open_campus .oc_lead_wrap .list .item .date_md {
  padding: 15px 0 20px;
  white-space: nowrap;
  font-size: 50px;
  letter-spacing: -0.03em;
}
#open_campus .oc_lead_wrap .list .item .date_md small {
  padding: 0 5px;
  font-size: 30px;
  letter-spacing: 0.01em;
}
#open_campus .oc_lead_wrap .list .item span.date_h {
  font-size: 20px;
  font-weight: var(--medium);
}
#open_campus .oc_lead_wrap .list .item .ttl_h3 {
  position: absolute;
  top: -47px;
  left: 14px;
  width: 300px;
  font-size: 14px;
  color: var(--color-white);
  padding: 26px 0 34px 26px;
  line-height: 1;
  background: url(../img/lead_flug.png) top left/contain no-repeat;
}
#open_campus .oc_lead_wrap .list .item .oc_button_br {
  background-image: url(../img/icon_arrow_wh.png);
}
#open_campus .oc_lead_wrap .item:not(.held) .oc_button_br {
  background-color: var(--color-blue);
  color: var(--color-white);
  pointer-events: none;
}
#open_campus .oc_lead_wrap .item:not(.held) .date {
  opacity: 0.3;
}
#open_campus .oc_lead_wrap .item.held .oc_button_br  {
  background-color: var(--color-pink);
  color: var(--color-white);
}
#open_campus .oc_lead_wrap .item.held::after {
  position: absolute;
  content: "";
  display: block;
  width: 72px;
  height: 72px;
  top: 14px;
  right: 10px;
  background: url(../img/lead_go.jpg) center/contain no-repeat;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_lead_wrap .list {
    gap: calc(12 / 1400 * 100vw);
  }
  #open_campus .oc_lead_wrap .oc_ttl {
    margin-bottom: calc(87 / 1400 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item {
    border-radius: calc(6 / 1400 * 100vw);
    padding: calc(50 / 1400 * 100vw) calc(36 / 1400 * 100vw) calc(30 / 1400 * 100vw);
    width: calc(25% - ((12 / 1400 * 100vw) * 3 / 4));
  }
  #open_campus .oc_lead_wrap .list .item .date {
    padding: 0 calc(9 / 1400 * 100vw) calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .date_y {
    font-size: calc(18 / 1400 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .date_y small {
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .date_md {
    padding: calc(15 / 1400 * 100vw) 0 calc(20 / 1400 * 100vw);
    font-size: calc(50 / 1400 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .date_md small {
    padding: 0 calc(5 / 1400 * 100vw);
    font-size: calc(30 / 1400 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item span.date_h {
    font-size: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .ttl_h3 {
    top: calc(-47 / 1400 * 100vw);
    left: calc(14 / 1400 * 100vw);
    width: calc(300 / 1400 * 100vw);
    font-size: calc(14 / 1400 * 100vw);
    padding: calc(26 / 1400 * 100vw) 0 calc(34 / 1400 * 100vw) calc(26 / 1400 * 100vw);
  }
  #open_campus .oc_lead_wrap .item.held::after {
    width: calc(72 / 1400 * 100vw);
    height: calc(72 / 1400 * 100vw);
    top: calc(14 / 1400 * 100vw);
    right: calc(10 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_lead_wrap {
    margin-top: calc(-25 / 390 * 100vw);
    background-image: url(../img/lead_bg_sp.jpg);
  }
  #open_campus .oc_lead_wrap .oc_ttl {
    margin-bottom: calc(81 / 390 * 100vw);
  }
  #open_campus .oc_lead_wrap .list {
    gap: calc(70 / 390 * 100vw) calc(10 / 390 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item {
    padding: calc(46 / 390 * 100vw) calc(10 / 390 * 100vw) calc(25 / 390 * 100vw);
    width: calc(50% - (5 / 390 * 100vw));
    border-radius: calc(6 / 390 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .date {
    padding: 0 0 calc(20 / 390 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .date_y,
  #open_campus .oc_lead_wrap .list .item span.date_h {
    font-size: calc(16 / 390 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .date_y small {
    font-size: calc(14 / 390 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .date_md {
    padding: calc(5 / 390 * 100vw) 0 calc(10 / 390 * 100vw);
    font-size: calc(32 / 390 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .date_md small {
    font-size: calc(16 / 390 * 100vw);
  }
  #open_campus .oc_lead_wrap .item.held::after {
    top: calc(20 / 390 * 100vw);
    right: calc(5 / 390 * 100vw);
    width: calc(50 / 390 * 100vw);
    height: calc(50 / 390 * 100vw);
  }
  #open_campus .oc_lead_wrap .list .item .ttl_h3 {
    top: calc(-50 / 390 * 100vw);
    left: calc(5 / 390 * 100vw);
    width: calc(165 / 390 * 100vw);
    padding: calc(18 / 390 * 100vw) 0 calc(25 / 390 * 100vw) calc(23 / 390 * 100vw);
    font-size: calc(13 / 390 * 100vw);
    line-height: 1.4;
    background-image: url(../img/lead_flug_sp.png);
  }
  #open_campus .oc_lead_wrap .list .item .oc_button_br {
    height: calc(30 / 390 * 100vw);
    margin-top: calc(15 / 390 * 100vw);
  }
}


/* ----------------------------------
oc_lecture
---------------------------------- */
#open_campus .oc_lecture {
  background: url(../img/lecture_bg.jpg) center top -182px/1600px auto no-repeat;
}
#open_campus .oc_lecture .banner {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
}
#open_campus .oc_lecture .banner img {
  width: 100%;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_lecture {
    background: url(../img/lecture_bg.jpg) center top calc(-182 / 1400 * 100vw)/calc(1600 / 1400 * 100vw) auto no-repeat;
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_lecture {
    background: url(../img/lecture_bg_sp.jpg) center top calc(-70 / 390 * 100vw)/100% auto no-repeat;
  }
}


/* ----------------------------------
oc_faculty
---------------------------------- */
#open_campus .oc_faculty {
  padding: 130 0 90px;
  margin-top: -80px;
  background: url(../img/faculty_bg.jpg) center/cover no-repeat;
}
#open_campus .oc_faculty .list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
#open_campus .oc_faculty .list .item {
  width: calc(20% - (10px * 4 / 5));
}
#open_campus .oc_faculty .list .item a {
  position: relative;
  overflow: hidden;
  display: block;
  padding: 22px 30px;
  min-height: 150px;
  background: var(--color-white);
  border-radius: 6px;
  color: var(--color-txt);
  text-decoration: none;
  transition: .3s;
}
#open_campus .oc_faculty .list .item a:hover {
  opacity: 0.68;
}
#open_campus .oc_faculty .list .item a::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  height: 100%;
  width: 12px;
  background: var(--color-blue);
}
#open_campus .oc_faculty .list .item a::after {
  position: absolute;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  right: 15px;
  bottom: 15px;
  border-radius: 100%;
  background: var(--color-blue) url(../img/icon_arrow_wh.png) center/4px auto no-repeat;
}
#open_campus .oc_faculty .list .item a dt {
  font-size: 20px;
  font-weight: var(--bold);
  line-height: 1;
}
#open_campus .oc_faculty .list .item a dd sup,
#open_campus .oc_faculty .list .item a dt sup {
  font-size: 80%;
  vertical-align: super;
}
#open_campus .oc_faculty .list .item a dt img {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 60px;
}
#open_campus .oc_faculty .list .item a dd {
  font-size: 13px;
  font-weight: var(--medium);
  margin-top: 15px;
}
#open_campus .oc_faculty .list .item.literature a::before,
#open_campus .oc_faculty .list .item.literature a::after {
  background-color: var(--color-literature);
}
#open_campus .oc_faculty .list .item.business a::before,
#open_campus .oc_faculty .list .item.business a::after {
  background-color: var(--color-business);
}
#open_campus .oc_faculty .list .item.human a::before,
#open_campus .oc_faculty .list .item.human a::after {
  background-color: var(--color-human);
}
#open_campus .oc_faculty .list .item.sinri a::before,
#open_campus .oc_faculty .list .item.sinri a::after {
  background-color: var(--color-sinri);
}
#open_campus .oc_faculty .list .item.design a::before,
#open_campus .oc_faculty .list .item.design a::after {
  background-color: var(--color-design);
}
#open_campus .oc_faculty .list .item.living a::before,
#open_campus .oc_faculty .list .item.living a::after {
  background-color: var(--color-living);
}
#open_campus .oc_faculty .list .item.nursing a::before,
#open_campus .oc_faculty .list .item.nursing a::after {
  background-color: var(--color-nursing);
}
#open_campus .oc_faculty .list .item.pharmacy a::before,
#open_campus .oc_faculty .list .item.pharmacy a::after {
  background-color: var(--color-pharmacy);
}
#open_campus .oc_faculty .note {
  font-size: 14px;
  margin-top: 20px;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_faculty {
    padding: calc(130 / 1400 * 100vw) 0 calc(90 / 1400 * 100vw);
    margin-top: calc(-80 / 1400 * 100vw);
  }
  #open_campus .oc_faculty .list {
    gap: calc(10 / 1400 * 100vw);
  }
  #open_campus .oc_faculty .list .item {
    width: calc(20% - ((10 / 1400 * 100vw) * 4 / 5));
  }
  #open_campus .oc_faculty .list .item a {
    padding: calc(22 / 1400 * 100vw) calc(30 / 1400 * 100vw);
    min-height: calc(150 / 1400 * 100vw);
    border-radius: calc(6 / 1400 * 100vw);
  }
  #open_campus .oc_faculty .list .item a::before {
    width: calc(12 / 1400 * 100vw);
  }
  #open_campus .oc_faculty .list .item a::after {
    width: calc(20 / 1400 * 100vw);
    height: calc(20 / 1400 * 100vw);
    right: calc(15 / 1400 * 100vw);
    bottom: calc(15 / 1400 * 100vw);
    background: var(--color-blue) url(../img/icon_arrow_wh.png) center/calc(4 / 1400 * 100vw) auto no-repeat;
  }
  #open_campus .oc_faculty .list .item a dt {
    font-size: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_faculty .list .item a dt img {
    top: calc(15 / 1400 * 100vw);
    right: calc(15 / 1400 * 100vw);
    width: calc(60 / 1400 * 100vw);
  }
  #open_campus .oc_faculty .list .item a dd {
    font-size: calc(13 / 1400 * 100vw);
    margin-top: calc(15 / 1400 * 100vw);
  }
  #open_campus .oc_faculty .note {
    font-size: calc(14 / 1400 * 100vw);;
    margin-top: calc(20 / 1400 * 100vw);;
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_faculty {
    margin-top: calc(-80 / 390 * 100vw);
    padding-top: calc(65 / 390 * 100vw); 
    background-image: url(../img/faculty_bg_sp.jpg);
  }
  #open_campus .oc_faculty .list {
    gap: calc(20 / 390 * 100vw) calc(10 / 390 * 100vw);
  }
  #open_campus .oc_faculty .list .item {
    width: calc(50% - (5 / 390 * 100vw));
  }
  #open_campus .oc_faculty .list .item a {
    padding: calc(76 / 396 * 100vw) 0 calc(20 / 390 * 100vw) calc(20 / 390 * 100vw);
    min-height: calc(140 / 390 * 100vw);
    border-radius: calc(6 / 390 * 100vw);
  }
  #open_campus .oc_faculty .list .item a::before {
    width: calc(10 / 390 * 100vw);
  }
  #open_campus .oc_faculty .list .item a dt {
    font-size: calc(19 / 390 * 100vw);
  }
  #open_campus .oc_faculty .list .item a dd {
    font-size: calc(13 / 390 * 100vw);
    margin-top: calc(15 / 390 * 100vw);
  }
  #open_campus .oc_faculty .list .item a dt img {
    width: calc(60 / 390 * 100vw);
    top: calc(5 / 390 * 100vw);
    right: calc(5 / 390 * 100vw);
  }
  #open_campus .oc_faculty .list .item a::after {
    bottom: calc(10 / 390 * 100vw);
    right: calc(10 / 390 * 100vw);
    width: calc(20 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
    background-size: calc(4 / 390 * 100vw);
  }
  #open_campus .oc_faculty .note {
    line-height: 1.5;
    font-size: calc(13 / 390 * 100vw);
    margin-top: calc(20 / 390 * 100vw);
  }
}


/* ----------------------------------
oc_event
---------------------------------- */
#open_campus .oc_event {
  padding: 70px 0 90px;
}
#open_campus .oc_event .oc_ttl {
  margin-bottom: 70px;
}
#open_campus .event_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
#open_campus .event_list .event_item {
  width: calc(20% - (10px * 4 / 5));
}
#open_campus .event_list .event_item a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 225px 20px 40px;
  background: var(--color-white);
  border-radius: 6px;
  box-shadow: 0 5px 10px rgb(0 0 0 / 0.05);
  color: var(--color-txt);
  text-decoration: none;
}
#open_campus .event_list .event_item a::after {
  position: absolute;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  right: 15px;
  bottom: 15px;
  border-radius: 100%;
  background: var(--color-pink) url(../img/icon_arrow_wh.png) center / 4px auto no-repeat;
}
#open_campus .event_list .event_item a .label {
  position: absolute;
  left: 10px;
  top: -26px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 100%;
  background: var(--color-l_pink);
  font-size: 14px;
  font-weight: var(--medium);
  z-index: 2;
  text-align: center;
}
#open_campus .event_list .event_item a .label::before {
  position: absolute;
  content: "";
  display: block;
  top: -4px;
  left: -5px;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  border: 2px solid var(--color-pink);
  opacity: 0.5;
}
#open_campus .event_list .event_item a figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  height: 200px;
  overflow: hidden;
}
#open_campus .event_list .event_item a figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 105%;
  height: 105%;
  object-fit: cover;

  background: gray;
}
#open_campus .event_list .event_item a .cat {
  display: inline-block;
  margin-bottom: 20px;
  padding: 4px 14px;
  line-height: 1;
  background: var(--color-pink);
  border-radius: 20px;
  color: var(--color-white);
  font-size: 12px;
  font-weight: var(--medium);
}
#open_campus .event_list .event_item a .ttl_h3 {
  font-size: 16px;
  font-weight: var(--bold);
  line-height: 1.5;
}
#open_campus .event_list .event_item a .date {
  margin-top: 22px;
  font-size: 13px;
  font-weight: var(--medium);
  color: #bbbbbb;
}
@media screen and (min-width: 768px) {
  #open_campus .event_list .event_item a {
    transition: .3s;
  }
  #open_campus .event_list .event_item a:hover {
    opacity: 0.68;
    box-shadow: none;
  }
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_event {
    padding: calc(70 / 1400 * 100vw) 0 calc(90 / 1400 * 100vw);
  }
  #open_campus .oc_event .oc_ttl {
    margin-bottom: calc(70 / 1400 * 100vw);
  }
  #open_campus .event_list {
    gap: calc(10 / 1400 * 100vw);
  }
  #open_campus .event_list .event_item {
    width: calc(20% - ((10 / 1400 * 100vw) * 4 / 5));
  }
  #open_campus .event_list .event_item a {
    padding: calc(225 / 1400 * 100vw) calc(20 / 1400 * 100vw) calc(40 / 1400 * 100vw);
    border-radius: calc(6 / 1400 * 100vw);
    box-shadow: 0 calc(5 / 1400 * 100vw) calc(10 / 1400 * 100vw) rgb(0 0 0 / 0.05);
  }
  #open_campus .event_list .event_item a::after {
    width: calc(20 / 1400 * 100vw);
    height: calc(20 / 1400 * 100vw);
    right: calc(15 / 1400 * 100vw);
    bottom: calc(15 / 1400 * 100vw);
    background: var(--color-pink) url(../img/icon_arrow_wh.png) center / calc(4 / 1400 * 100vw) auto no-repeat;
  }
  #open_campus .event_list .event_item a .label {
    left: calc(10 / 1400 * 100vw);
    top: calc(-26 / 1400 * 100vw);
    width: calc(80 / 1400 * 100vw);
    height: calc(80 / 1400 * 100vw);
    font-size: calc(14 / 1400 * 100vw);
  }
  #open_campus .event_list .event_item a .label::before {
    top: calc(-4 / 1400 * 100vw);
    left: calc(-5 / 1400 * 100vw);
    border: calc(2 / 1400 * 100vw) solid var(--color-pink);
  }
  #open_campus .event_list .event_item a figure {
    border-top-left-radius: calc(6 / 1400 * 100vw);
    border-top-right-radius: calc(6 / 1400 * 100vw);
    height: calc(200 / 1400 * 100vw);
  }
  #open_campus .event_list .event_item a .cat {
    margin-bottom: calc(20 / 1400 * 100vw);
    padding: calc(4 / 1400 * 100vw) calc(14 / 1400 * 100vw);
    border-radius: calc(20 / 1400 * 100vw);
    font-size: calc(12 / 1400 * 100vw);
  }
  #open_campus .event_list .event_item a .ttl_h3 {
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus .event_list .event_item a .date {
    margin-top: calc(22 / 1400 * 100vw);
    font-size: calc(13 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_event {
    padding: calc(60 / 390 * 100vw) 0;
  }
  #open_campus .oc_event .oc_ttl {
    margin-bottom: calc(40 / 390 * 100vw);
  }
  #open_campus .event_list {
    gap: calc(36 / 390 * 100vw);
  }
  #open_campus .event_list .event_item {
    width: 100%;
  }
  #open_campus .event_list .event_item a {
    padding: calc(15 / 390 * 100vw) calc(25 / 390 * 100vw) calc(29 / 390 * 100vw) calc(185 / 390 * 100vw);
    border-radius: calc(6 / 390 * 100vw);
  }
  #open_campus .event_list .event_item a figure {
    border-top-left-radius: calc(6 / 390 * 100vw);
    border-bottom-left-radius: calc(6 / 390 * 100vw);
    width: calc(170 / 390 * 100vw);
    height: 100%;
    top: 0;
    left: 0;
  }
  #open_campus .event_list .event_item a .ttl_h3 {
    font-size: calc(16 / 390 * 100vw);
  }
  #open_campus .event_list .event_item a .date {
    margin-top: calc(18 / 390 * 100vw);
    font-size: calc(13 / 390 * 100vw);
    line-height: 1.3;
  }
  #open_campus .event_list .event_item a .cat {
    margin-bottom: calc(16 / 390 * 100vw);
    padding: calc(3 / 390 * 100vw) calc(11 / 390 * 100vw);
    font-size: calc(11 / 390 * 100vw);
    border-radius: calc(20 / 390 * 100vw);
  }
  #open_campus .event_list .event_item a::after {
    bottom: calc(10 / 390 * 100vw);
    right: calc(10 / 390 * 100vw);
    width: calc(20 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
    background-size: calc(4 / 390 * 100vw);
  }
  #open_campus .event_list .event_item a .label {
    top: calc(-26 / 390 * 100vw);
    left: calc(-6 / 390 * 100vw);
    width: calc(80 / 390 * 100vw);
    height: calc(80 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
  #open_campus .event_list .event_item a .label::before {
    top: calc(-4 / 390 * 100vw);
    left: calc(-5 / 390 * 100vw);
    border-width: calc(2 / 390 * 100vw);
  }
}


/* ----------------------------------
oc_learn
---------------------------------- */
#open_campus .oc_learn {
  padding: 80px 0 100px;
  background: #caeced url(../img/learn_bg.png) center/cover no-repeat;
}
#open_campus .oc_learn .oc_ttl {
  position: relative;
}
#open_campus .oc_learn .oc_ttl::after {
  position: absolute;
  left: 50%;
  top: -110px;
  content: "";
  display: block;
  width: 945px;
  height: 195px;
  background: url(../img/learn_ttl_bg.png) center/contain no-repeat;
  transform: translateX(-50%);
}
#open_campus .oc_learn .oc_ttl img {
  width: 224px;
}
#open_campus .oc_learn .box {
  padding: 60px 90px;
  background: var(--color-white);
  box-shadow: 0 2px 20px rgb(0 0 0 / 0.1);
}
#open_campus .oc_learn .ttl_h3 {
  margin-bottom: 40px;
  text-align: center;
  font-size: 36px;
  font-weight: var(--bold);
}
#open_campus .oc_learn .list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
}
#open_campus .oc_learn .list .item {
  width: calc(25% - (20px * 3 / 4));
}
#open_campus .oc_learn .list .item a {
  display: block;
  text-decoration: none;
  color: var(--color-txt);
  font-size: 15px;
  line-height: 1.375;
  transition: .3s;
}
#open_campus .oc_learn .list .item a:hover {
  opacity: 0.68;
}
#open_campus .oc_learn .list .item a img {
  width: 100%;
  margin-bottom: 15px;
  border-radius: 5px;
}
#open_campus .oc_learn .oc_button_br {
  margin-top: 40px;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_learn {
    padding: calc(80 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
  #open_campus .oc_learn .oc_ttl::after {
    top: calc(-110 / 1400 * 100vw);
    width: calc(945 / 1400 * 100vw);
    height: calc(195 / 1400 * 100vw);
  }
  #open_campus .oc_learn .oc_ttl img {
    width: calc(224 / 1400 * 100vw);
  }
  #open_campus .oc_learn .box {
    padding: calc(60 / 1400 * 100vw) calc(90 / 1400 * 100vw);
    box-shadow: 0 calc(2 / 1400 * 100vw) calc(20 / 1400 * 100vw) rgb(0 0 0 / 0.1);
  }
  #open_campus .oc_learn .ttl_h3 {
    margin-bottom: calc(40 / 1400 * 100vw);
    font-size: calc(36 / 1400 * 100vw);
  }
  #open_campus .oc_learn .list {
    gap: calc(40 / 1400 * 100vw) calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_learn .list .item {
    width: calc(25% - ((20 / 1400 * 100vw) * 3 / 4));
  }
  #open_campus .oc_learn .list .item a {
    font-size: calc(15 / 1400 * 100vw);
  }
  #open_campus .oc_learn .list .item a img {
    margin-bottom: calc(15 / 1400 * 100vw);
    border-radius: calc(5 / 1400 * 100vw);
  }
  #open_campus .oc_learn .oc_button_br {
    margin-top: calc(40 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_learn {
    padding: calc(60 / 390 * 100vw) 0;
    background-image: url(../img/learn_bg_sp.png);
  }
  #open_campus .oc_learn .oc_ttl img {
    width: calc(151 / 390 * 100vw);
    display: block;
    margin: calc(10 / 390 * 100vw) auto;
  }
  #open_campus .oc_learn .box {
    border-radius: calc(6 / 390 * 100vw);
    padding: calc(39 / 390 * 100vw) calc(40 / 390 * 100vw) calc(50 / 390 * 100vw);
  }
  #open_campus .oc_learn .ttl_h3 {
    margin-bottom: calc(30 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
  }
  #open_campus .oc_learn .list {
    gap: calc(30 / 390 * 100vw);
  }
  #open_campus .oc_learn .list .item {
    width: 100%;
  }
  #open_campus .oc_learn .list .item a {
    font-size: calc(15 / 390 * 100vw);
  }
  #open_campus .oc_learn .list .item a img {
    margin-bottom: calc(5 / 390 * 100vw);
    border-radius: calc(5 / 390 * 100vw);
  }
  #open_campus .oc_learn .oc_button_br {
    margin-top: calc(40 / 390 * 100vw);
  }
  #open_campus .oc_learn .oc_ttl::after {
    content: none;
  }
}


/* ----------------------------------
oc_kv
---------------------------------- */
#open_campus .oc_kv {
  position: relative;
  padding: 69px 0 94px;
  background: url(../img/bg-kv.jpg) center/cover no-repeat;
}
#open_campus .oc_kv::after {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: 1612px;
  height: 793px;
  background: url(../img/kv_img.png) center/contain no-repeat;
  pointer-events: none;
}
#open_campus .oc_kv .ttl_h1 {
  width: 486px;
  margin: 0 auto;
}
#open_campus .oc_kv .ttl_h1 img {
  width: 100%;
}
#open_campus .oc_kv .lead {
  font-size: 30px;
  font-weight: 600;
  margin: 30px auto;
  text-align: center;
}
#open_campus .oc_kv .box {
  position: relative;
  width: 660px;
  padding: 50px 0 35px;
  background: var(--color-white);
  border-radius: 10px;
  margin: 52px auto 0;
  text-align: center;
}
#open_campus .oc_kv .box .number {
  position: absolute;
  top: -18px;
  left: 20px;
  width: 70px;
  padding: 29px 0 41px;
  font-size: 20px;
  font-weight: var(--bold);
  color: var(--color-white);
  background: var(--color-pink);
  text-align: center;
  clip-path: polygon(0 0, 100% 0%, 100% 75%, 50% 100%, 0 75%);
}
#open_campus .oc_kv .box .date {
  display: flex;
  gap: 9px;
  align-items: baseline;
  justify-content: center;
}
#open_campus .oc_kv .box .date strong {
  font-size: 90px;
  font-weight: var(--semibold);
  letter-spacing: -0.04em;
}
#open_campus .oc_kv .box .date span {
  font-family: var(--font-ja);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--color-pink);
  border-radius: 100%;
  font-size: 24px;
  font-weight: var(--bold);
  color: var(--color-white);
  transform: translateY(-3px);
}
#open_campus .oc_kv .box .date small {
  margin-left: 14px;
  font-size: 36px;
  font-weight: var(--bold);
  letter-spacing: 0;
}
#open_campus .oc_kv .box .lead {
  margin: 20px auto 0;
  width: 520px;
  padding: 8px 0;
  background: #92efea;
  text-align: center;
  font-size: 18px;
  font-weight: var(--medium);
  border-radius: 30px;
}
#open_campus .oc_kv .txt {
  text-align: center;
  margin-top: 37px;
  font-size: 18px;
  line-height: 1.8;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_kv {
    padding: calc(69 / 1400 * 100vw) 0 calc(94 / 1400 * 100vw);
  }
  #open_campus .oc_kv::after {
    width: calc(1612 / 1400 * 100vw);
    height: calc(793 / 1400 * 100vw);
  }
  #open_campus .oc_kv .ttl_h1 {
    width: calc(486 / 1400 * 100vw);
  }
  #open_campus .oc_kv .lead {
    font-size: calc(30 / 1400 * 100vw);
    margin: calc(30 / 1400 * 100vw) auto;
  }
  #open_campus .oc_kv .box {
    width: calc(660 / 1400 * 100vw);
    padding: calc(50 / 1400 * 100vw) 0 calc(35 / 1400 * 100vw);
    border-radius: calc(10 / 1400 * 100vw);
    margin: calc(52 / 1400 * 100vw) auto 0;
  }
  #open_campus .oc_kv .box .number {
    top: calc(-18 / 1400 * 100vw);
    left: calc(20 / 1400 * 100vw);
    width: calc(70 / 1400 * 100vw);
    padding: calc(29 / 1400 * 100vw) 0 calc(41 / 1400 * 100vw);
    font-size: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_kv .box .date {
    gap: calc(9 / 1400 * 100vw);
  }
  #open_campus .oc_kv .box .date strong {
    font-size: calc(90 / 1400 * 100vw);
  }
  #open_campus .oc_kv .box .date span {
    width: calc(40 / 1400 * 100vw);
    height: calc(40 / 1400 * 100vw);
    font-size: calc(24 / 1400 * 100vw);
    transform: translateY(calc(-3 / 1400 * 100vw));
  }
  #open_campus .oc_kv .box .date small {
    margin-left: calc(14 / 1400 * 100vw);
    font-size: calc(36 / 1400 * 100vw);
  }
  #open_campus .oc_kv .box .lead {
    margin: calc(20 / 1400 * 100vw) auto 0;
    width: calc(520 / 1400 * 100vw);
    padding: calc(8 / 1400 * 100vw) 0;
    font-size: calc(18 / 1400 * 100vw);
    border-radius: calc(30 / 1400 * 100vw);
  }
  #open_campus .oc_kv .txt {
    margin-top: calc(37 / 1400 * 100vw);
    font-size: calc(18 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_kv {
    padding: calc(181 / 390 * 100vw) 0 calc(55 / 390 * 100vw);
    background-image: url(../img/bg-kv_sp.jpg);
  }
  #open_campus .oc_kv .ttl_h1 {
    width: calc(322 / 390 * 100vw);
  }
  #open_campus .oc_kv .box {
    margin-top: calc(230 / 390 * 100vw);
    width: 100%;
    border-radius: calc(10 / 390 * 100vw);
    padding: calc(30 / 390 * 100vw) calc(20 / 390 * 100vw) calc(25 / 390 * 100vw);
  }
  #open_campus .oc_kv .box .date {
    flex-wrap: wrap;
  }
  #open_campus .oc_kv .box .date small {
    width: 100%;
    text-align: center;
    font-size: calc(24 / 390 * 100vw);
    margin: 0;
  }
  #open_campus .oc_kv .box .date strong {
    font-size: calc(72 / 390 * 100vw);
  }
  
  #open_campus .oc_kv .box .date span {
    width: calc(30 / 390 * 100vw);
    height: calc(30 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
    transform: translateY(calc(-3 / 390 * 100vw));
  }
  #open_campus .oc_kv .box .lead {
    width: 100%;
    border-radius: calc(30 / 390 * 100vw);
    margin-top: calc(17 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    padding: calc(8 / 390 * 100vw) 0;
  }
  #open_campus .oc_kv .box .number {
    top: calc(-15 / 390 * 100vw);
    left: calc(20 / 390 * 100vw);
    width: calc(61 / 390 * 100vw);
    padding: calc(27 / 390 * 100vw) 0 calc(34 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
  }
  #open_campus .oc_kv .txt {
    margin-top: calc(26 / 390 * 100vw);
    text-align: left;
    font-size: calc(15 / 390 * 100vw);
  }
  #open_campus .oc_kv::after {
    top: 0;
    width: calc(390 / 390 * 100vw);
    height: calc(653 / 390 * 100vw);
    transform: translateX(-50%);
    background-image: url(../img/kv_img_sp.png);
  }
}


/* ----------------------------------
oc_overview
---------------------------------- */
#open_campus .oc_overview {
  padding: 80px 0 90px;
  background: url(../img/overview_bg.jpg) center/cover no-repeat;
}
#open_campus .oc_overview .ttl_h2 {
  color: var(--color-pink);
}
#open_campus .oc_overview .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_overview .box {
  background: var(--color-white);
  border: 2px solid var(--color-pink);
  border-radius: 6px;
  padding: 34px 120px;
}
#open_campus .oc_overview .box dl {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 26px 38px;
  border-bottom: 2px dotted var(--color-l_pink);
}
#open_campus .oc_overview .box dl:last-of-type {
  border-bottom: none;
}
#open_campus .oc_overview .box dt {
  position: relative;
  width: 120px;
  height: 50px;
}
#open_campus .oc_overview .box dt span {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgb(248 103 147 / 0.5);
  border-radius: 25px;
  font-size: 18px;
  font-weight: var(--medium);
  text-align: center;
  z-index: 2;
}
#open_campus .oc_overview .box dt::before {
  position: absolute;
  top: 5px;
  left: 7px;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 25px;
  background: var(--color-l_pink);
}
#open_campus .oc_overview .box dd {
  width: calc(100% - 120px - 38px - 38px);
  font-size: 18px;
  line-height: 1.8;
}
#open_campus .oc_overview .oc_button_br {
  margin-left: 0;
}
#open_campus .oc_overview .list {
  margin-top: 80px;
  display: flex;
  gap: 60px;
}
#open_campus .oc_overview .list .item {
  width: calc(33.33% - (60px * 2 / 3));
}
#open_campus .oc_overview .list .item figure {
  position: relative;
  width: 270px;
  height: 270px;
  border-radius: 100%;
  overflow: hidden;
  margin: 0 auto;
  box-shadow: 10px 10px 0 #fdbccf;
}
#open_campus .oc_overview .list .item figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#open_campus .oc_overview .list .item .ttl_h3 {
  position: relative;
  margin-top: 46px;
  padding-left: 40px;
  font-size: 27px;
  font-weight: var(--bold);
  color: var(--color-pink);
}
#open_campus .oc_overview .list .item .ttl_h3::before {
  position: absolute;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
  bottom: 0;
  content: "";
  display: block;
  width: 31px;
  height: 38px;
  background: url(../img/icon_overview.png) center/contain no-repeat;
}
#open_campus .oc_overview .list .item .txt {
  margin-top: 30px;
}
#open_campus .oc_overview .list .item .txt span {
  background:linear-gradient(transparent 60%, #fdbccf 60%);
}
#open_campus .oc_overview .add_box {
  max-width: 1360px;
  width: 90%;
  margin: 0 auto 87px;
  padding: 10px 20px;
  background: #F215CB;
  text-align: center;
  font-size: 28px;
  font-weight: var(--bold);
  color: #FFF;
  line-height: 1.42;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_overview {
    padding: calc(80 / 1400 * 100vw) 0 calc(90 / 1400 * 100vw);
  }
  #open_campus .oc_overview .box {
    border: calc(2 / 1400 * 100vw) solid var(--color-pink);
    border-radius: calc(6 / 1400 * 100vw);
    padding: calc(34 / 1400 * 100vw) calc(120 / 1400 * 100vw);
  }
  #open_campus .oc_overview .box dl {
    padding: calc(26 / 1400 * 100vw) calc(38 / 1400 * 100vw);
    border-bottom: calc(2 / 1400 * 100vw) dotted var(--color-l_pink);
  }
  #open_campus .oc_overview .box dt {
    width: calc(120 / 1400 * 100vw);
    height: calc(50 / 1400 * 100vw);
  }
  #open_campus .oc_overview .box dt span {
    border: calc(2 / 1400 * 100vw) solid rgb(248 103 147 / 0.5);
    border-radius: calc(25 / 1400 * 100vw);
    font-size: calc(18 / 1400 * 100vw);
  }
  #open_campus .oc_overview .box dt::before {
    top: calc(5 / 1400 * 100vw);
    left: calc(7 / 1400 * 100vw);
    border-radius: calc(25 / 1400 * 100vw);
  }
  #open_campus .oc_overview .box dd {
    width: calc(100% - (120 / 1400 * 100vw) - (76 / 1400 * 100vw));
    font-size: calc(18 / 1400 * 100vw);
  }
  #open_campus .oc_overview .list {
    margin-top: calc(80 / 1400 * 100vw);
    gap: calc(60 / 1400 * 100vw);
  }
  #open_campus .oc_overview .list .item {
    width: calc(33.33% - ((60 / 1400 * 100vw) * 2 / 3));
  }
  #open_campus .oc_overview .list .item figure {
    width: calc(270 / 1400 * 100vw);
    height: calc(270 / 1400 * 100vw);
    box-shadow: calc(10 / 1400 * 100vw) calc(10 / 1400 * 100vw) 0 #fdbccf;
  }
  #open_campus .oc_overview .list .item .ttl_h3 {
    margin-top: calc(46 / 1400 * 100vw);
    padding-left: calc(40 / 1400 * 100vw);
    font-size: calc(27 / 1400 * 100vw);
  }
  #open_campus .oc_overview .list .item .ttl_h3::before {
    left: calc(-7 / 1400 * 100vw);
    width: calc(31 / 1400 * 100vw);
    height: calc(38 / 1400 * 100vw);
  }
  #open_campus .oc_overview .list .item .txt {
    margin-top: calc(30 / 1400 * 100vw);
  }
  #open_campus .oc_overview .add_box {
    max-width: calc(1360 / 1400 * 100vw);
    margin: 0 auto calc(87 / 1400 * 100vw);
    padding: calc(10 / 1400 * 100vw) calc(20 / 1400 * 100vw);
    font-size: calc(28 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_overview {
    padding: calc(98 / 390 * 100vw) 0 calc(60 / 390 * 100vw);
    background-image: url(../img/overview_bg_sp.jpg);
  }
  #open_campus .oc_overview .box {
    padding: calc(30 / 390 * 100vw) calc(14 / 390 * 100vw);
    border-radius: calc(6 / 390 * 100vw);
    border-width: calc(3 / 390 * 100vw);
    border-color: rgb(248 103 147 / 0.5);
  }
  #open_campus .oc_overview .box dl {
    flex-direction: column;
    gap: calc(22 / 390 * 100vw);
    justify-content: center;
    align-items: center;
    padding: calc(30 / 390 * 100vw) 0;
  }
  #open_campus .oc_overview .box dd {
    font-size: calc(18 / 390 * 100vw);
    text-align: center;
    line-height: 1.8;
    width: 100%;
  }
  #open_campus .oc_overview .box dt {
    width: calc(100 / 390 * 100vw);
    height: calc(40 / 390 * 100vw);
  }
  #open_campus .oc_overview .box dt span {
    border-radius: calc(50 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    border-width: calc(2 / 390 * 100vw);
  }
  #open_campus .oc_overview .box dt::before {
    top: calc(5 / 390 * 100vw);
    left: calc(7 / 390 * 100vw);
    border-radius: calc(50 / 390 * 100vw);
  }
  #open_campus .oc_overview .oc_button_br {
    margin: calc(15 / 390 * 100vw) auto 0;
  }
  #open_campus .oc_overview .list {
    flex-wrap: wrap;
    margin-top: calc(37 / 390 * 100vw);
    gap: calc(50 / 390 * 100vw);
  }
  #open_campus .oc_overview .list .item {
    width: 100%;
  }
  #open_campus .oc_overview .list .item figure {
    width: calc(270 / 390 * 100vw);
    height: calc(270 / 390 * 100vw);
    box-shadow: calc(10 / 390 * 100vw) calc(10 / 390 * 100vw) 0 #fdbccf;
  }
  #open_campus .oc_overview .list .item .ttl_h3 {
    padding-left: calc(50 / 390 * 100vw);
    margin-top: calc(38 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
  }
  #open_campus .oc_overview .list .item .ttl_h3::before {
    left: calc(12 / 390 * 100vw);
    width: calc(31 / 390 * 100vw);
    height: calc(38 / 390 * 100vw);
  }
  #open_campus .oc_overview .list .item .txt {
    margin-top: calc(26 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
  #open_campus .oc_overview .add_box {
    max-width: none;
    width: auto;
    margin: 0 calc(15 / 390 * 100vw) calc(87 / 390 * 100vw);
    padding: calc(20 / 390 * 100vw);
    font-size: calc(22 / 390 * 100vw);
  }
}


/* ----------------------------------
oc_program
---------------------------------- */
#open_campus .oc_program {
  padding: 80px 0 90px;
}
#open_campus .oc_program .ttl_h2 {
  color: var(--color-red);
}
#open_campus .oc_program .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_program img {
  width: 100%;
}
#open_campus .oc_program .note {
  margin-top: 30px;
  font-size: 14px;
  line-height: 1.75;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_program {
    padding: calc(80 / 1400 * 100vw) 0 calc(90 / 1400 * 100vw);
  }
  #open_campus .oc_program .note {
    margin-top: calc(30 / 1400 * 100vw);
    font-size: calc(14 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_program {
    padding: calc(60 / 390 * 100vw) 0 calc(80 / 390 * 100vw);
  }
  #open_campus .oc_program .note {
    margin-top: calc(25 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    letter-spacing: -0.05em;
  }
}


/* ----------------------------------
oc_attraction
---------------------------------- */
#open_campus .oc_attraction {
  position: relative;
  padding: 90px 0 0;
  background: url(../img/attraction_bg.jpg) center/cover no-repeat;
}
#open_campus .oc_attraction::after {
  position: absolute;
  top: 0;
  left: 50%;
  content: "";
  display: block;
  width: 1600px;
  height: 100%;
  transform: translateX(-50%);
  background-image: url(../img/attraction_catch1.png), url(../img/attraction_catch2.png), url(../img/attraction_catch3.png);
  background-size: 232px auto, 192px auto, 210px auto;
  background-position: top 560px right 29px, top calc(1555px + 140px) left 53px,top calc(2970px + 140px) right 54px;
  background-repeat: no-repeat;
  pointer-events: none;
}
#open_campus .oc_attraction .in {
  max-width: 960px;
}
#open_campus .oc_attraction .oc_ttl {
  margin-bottom: 60px;
}
#open_campus .oc_attraction .oc_ttl .ttl_h2 {
  color: #00e6d9;
}
#open_campus .oc_attraction .contents + .contents {
  margin-top: 90px;
}
#open_campus .oc_attraction .contents figure {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 20px;
  height: 440px;
}
#open_campus .oc_attraction .contents figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#open_campus .oc_attraction .contents figure .ttl_h3 {
  position: absolute;
  left: 20px;
  bottom: 30px;
  font-size: 36px;
  font-weight: var(--bold);
  color: var(--color-white);
}
#open_campus .oc_attraction .contents figure .ttl_h3 span {
  display: block;
  width: max-content;
  line-height: 1;
  padding: 8px 20px;
  border-radius: 5px;
  background-color: #00ccc1;
}
#open_campus .oc_attraction .contents figure .ttl_h3 span + span {
  margin-top: 6px;
}
#open_campus .oc_attraction .contents .lead {
  margin-top: 30px;
  padding-left: 20px;
  font-size: 27px;
  font-weight: var(--medium);
}
#open_campus .oc_attraction .contents .txt {
  margin-top: 30px;
  padding-left: 20px;
}
#open_campus .oc_attraction .swiper {
  margin-top: 97px;
}
#open_campus .oc_attraction .swiper-wrapper {
  transition-timing-function: linear;
}
#open_campus .oc_attraction .swiper-slide {
  width: 280px;
  min-width: 280px;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_attraction {
    padding: calc(90 / 1400 * 100vw) 0 0;
  }
  #open_campus .oc_attraction::after {
    width: calc(1600 / 1400 * 100vw);
    background-size: calc(232 / 1400 * 100vw) auto, calc(192 / 1400 * 100vw) auto, calc(210 / 1400 * 100vw) auto;
    background-position: top calc(560 / 1400 * 100vw) right calc(29 / 1400 * 100vw), top calc(1555 / 1400 * 100vw + 140 / 1400 * 100vw) left calc(53 / 1400 * 100vw),top calc(2970 / 1400 * 100vw + 140 / 1400 * 100vw) right calc(54 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .in {
    max-width: calc(960 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .oc_ttl {
    margin-bottom: calc(60 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .contents + .contents {
    margin-top: calc(90 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .contents figure {
    border-radius: calc(20 / 1400 * 100vw);
    height: calc(440 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .contents figure .ttl_h3 {
    left: calc(20 / 1400 * 100vw);
    bottom: calc(30 / 1400 * 100vw);
    font-size: calc(36 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .contents figure .ttl_h3 span {
    padding: calc(8 / 1400 * 100vw) calc(20 / 1400 * 100vw);
    border-radius: calc(5 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .contents figure .ttl_h3 span + span {
    margin-top: calc(6 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .contents .lead {
    margin-top: calc(30 / 1400 * 100vw);
    padding-left: calc(20 / 1400 * 100vw);
    font-size: calc(27 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .contents .txt {
    margin-top: calc(30 / 1400 * 100vw);
    padding-left: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .swiper {
    margin-top: calc(97 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .swiper-slide {
    width: calc(280 / 1400 * 100vw);
    min-width: calc(280 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_attraction {
    background-image: url(../img/attraction_bg_sp.jpg);
  }
  #open_campus .oc_attraction .in {
    max-width: none;
  }
  #open_campus .oc_attraction {
    padding: calc(130 / 390 * 100vw) 0 0;
  }
  #open_campus .oc_attraction .oc_ttl {
    position: relative;
    margin-bottom: calc(40 / 390 * 100vw);
    z-index: 2;
  }
  #open_campus .oc_attraction .contents + .contents {
    margin-top: calc(50 / 390 * 100vw);
  }
  #open_campus .oc_attraction .contents:nth-of-type(4),
  #open_campus .oc_attraction .contents:nth-of-type(6) {
    margin-top: calc(130 / 390 * 100vw);
  }
  #open_campus .oc_attraction .contents figure {
    overflow: visible;
    height: auto;
    border-radius: calc(6 / 390 * 100vw);
  }
  #open_campus .oc_attraction .contents figure img {
    position: static;
    object-fit: unset;
    border-radius: calc(10 / 390 * 100vw);
  }
  #open_campus .oc_attraction .contents figure .ttl_h3 {
    position: relative;
    top: auto;
    left: auto;
    font-size: calc(26 / 390 * 100vw);
    margin: calc(-19 / 390 * 100vw) 0 0 calc(5 / 390 * 100vw);
    z-index: 1;
  }
  #open_campus .oc_attraction .contents figure .ttl_h3 span {
    padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
    border-radius: calc(5 / 390 * 100vw);
  }
  #open_campus .oc_attraction .contents figure .ttl_h3 span + span {
    margin-top: calc(6 / 390 * 100vw);
  }
  #open_campus .oc_attraction .contents .lead {
    margin-top: calc(20 / 390 * 100vw);
    padding-left: calc(5 / 390 * 100vw);
    font-size: calc(22 / 390 * 100vw);
    line-height: 1.5;
    letter-spacing: -0.01em;
  }
  #open_campus .oc_attraction .contents .txt {
    margin-top: calc(26 / 390 * 100vw);
    padding-left: calc(5 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
  #open_campus .oc_attraction .swiper {
    margin-top: calc(60 / 390 * 100vw);
  }
  #open_campus .oc_attraction .swiper-slide {
    width: calc(160 / 390 * 100vw);
    min-width: calc(160 / 390 * 100vw);
  }
  #open_campus .oc_attraction::after {
    top: calc(-75 / 390 * 100vw);
    width: 100%;
    background-size: calc(120 / 390 * 100vw) auto, calc(102 / 390 * 100vw) auto, calc(109 / 390 * 100vw) auto;
    background-position: top right calc(6 / 390 * 100vw), top calc(1560 / 390 * 100vw + 110 / 390 * 100vw) left calc(90 / 390* 100vw), top calc(2820 / 390 * 100vw + 110 / 390 * 100vw) right calc(73 / 390 * 100vw);
  }
}


/* ----------------------------------
oc_experience
---------------------------------- */
#open_campus .oc_experience {
  position: relative;
  padding: 90px 0 0;
  background: #f2f2da;
}
#open_campus .oc_experience .oc_ttl {
  position: relative;
  margin-bottom: 80px;
}
#open_campus .oc_experience .oc_ttl::after {
  position: absolute;
  left: 50%;
  top: 30px;
  content: "";
  display: block;
  width: 1198px;
  height: 237px;
  background: url(../img/experience_ttl.png) center / contain no-repeat;
  transform: translateX(-50%);
}
#open_campus .oc_experience .oc_ttl .ttl_h2 {
  color: #f881cd;
}
#open_campus .oc_experience .oc_ttl .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_experience .oc_ttl .txt {
  margin-top: 48px;
}
#open_campus .oc_experience .in {
  max-width: 1000px;
}
#open_campus .oc_experience::after {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1680px;
  height: 100%;
  content: "";
  background-image: url(../img/experience_catch1.png),url(../img/experience_catch2.png);
  background-size: 325px auto, 300px auto;
  background-position: top 310px left, top 750px right;
  background-repeat: no-repeat;
  transform: translateX(-50%);
  pointer-events: none;
}
#open_campus .oc_experience .list {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 40px;
}
#open_campus .oc_experience .list .item {
  position: relative;
  padding: 105px 60px 80px;
  width: calc(50% - (50px * 1 / 2));
  background: url(../img/experience_book.png) center/100% 100% no-repeat;
}
#open_campus .oc_experience .list .item .number {
  position: absolute;
  left: 40px;
  top: -10px;
  width: 70px;
  font-family: var(--font-en);
  font-size: 36px;
  padding: 25px 0 39px;
  text-align: center;
  color: var(--color-white);
  clip-path: polygon(0 0, 100% 0%, 100% 75%, 50% 100%, 0 75%);
}
#open_campus .oc_experience .list .item:nth-of-type(1) .number {
  background: #71ddfc;
}
#open_campus .oc_experience .list .item:nth-of-type(2) .number {
  background: #fcafe0;
}
#open_campus .oc_experience .list .item:nth-of-type(3) .number {
  background: #6df1ea;
}
#open_campus .oc_experience .list .item:nth-of-type(4) .number {
  background: #71ddfc;
}
#open_campus .oc_experience .list .item .ttl_h3 {
  text-align: center;
  font-size: 24px;
  font-weight: var(--bold);
  line-height: 1.3;
  margin: 0 -15px;
}
#open_campus .oc_experience .list .item .ttl_h3 span {
  background: linear-gradient(transparent 60%, var(--color-yellow) 60%);
}
#open_campus .oc_experience .list .item .txt {
  margin-top: 30px;
}
#open_campus .oc_experience .oc_button {
  margin-top: 60px;
}
#open_campus .oc_experience .list .item img {
  position: absolute;
  top: -10px;
  right: 40px;
}
#open_campus .oc_experience .list .item:nth-of-type(1) img {
  width: 70px;
}
#open_campus .oc_experience .list .item:nth-of-type(2) img {
  width: 80px;
}
#open_campus .oc_experience .list .item:nth-of-type(3) img {
  width: 70px;
}
#open_campus .oc_experience .list .item:nth-of-type(4) img {
  width: 80px;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_experience {
    padding: calc(90 / 1400 * 100vw) 0 0;
  }
  #open_campus .oc_experience .oc_ttl {
    margin-bottom: calc(80 / 1400 * 100vw);
  }
  #open_campus .oc_experience .oc_ttl::after {
    top: calc(30 / 1400 * 100vw);
    width: calc(1198 / 1400 * 100vw);
    height: calc(237 / 1400 * 100vw);
  }
  #open_campus .oc_experience .oc_ttl .txt {
    margin-top: calc(48 / 1400 * 100vw);
  }
  #open_campus .oc_experience .in {
    max-width: calc(1000 / 1400 * 100vw);
  }
  #open_campus .oc_experience::after {
    width: calc(1680 / 1400 * 100vw);
    background-size: calc(325 / 1400 * 100vw) auto, calc(300 / 1400 * 100vw) auto;
    background-position: top calc(310 / 1400 * 100vw) left, top calc(750 / 1400 * 100vw) right;
  }
  #open_campus .oc_experience .list {
    gap: calc(50 / 1400 * 100vw) calc(40 / 1400 * 100vw);
  }
  #open_campus .oc_experience .list .item {
    padding: calc(105 / 1400 * 100vw) calc(60 / 1400 * 100vw) calc(80 / 1400 * 100vw);
    width: calc(50% - ((50 / 1400 * 100vw) * 1 / 2));
  }
  #open_campus .oc_experience .list .item .number {
    left: calc(40 / 1400 * 100vw);
    top: calc(-10 / 1400 * 100vw);
    width: calc(70 / 1400 * 100vw);
    font-size: calc(36 / 1400 * 100vw);
    padding: calc(25 / 1400 * 100vw) 0 calc(39 / 1400 * 100vw);
  }
  #open_campus .oc_experience .list .item .ttl_h3 {
    font-size: calc(24 / 1400 * 100vw);
    margin: 0 calc(-15 / 1400 * 100vw);
  }
  #open_campus .oc_experience .list .item .txt {
    margin-top: calc(30 / 1400 * 100vw);
  }
  #open_campus .oc_experience .oc_button {
    margin-top: calc(60 / 1400 * 100vw);
  }
  #open_campus .oc_experience .list .item img {
    top: calc(-10 / 1400 * 100vw);
    right: calc(40 / 1400 * 100vw);
  }
  #open_campus .oc_experience .list .item:nth-of-type(1) img {
    width: calc(70 / 1400 * 100vw);
  }
  #open_campus .oc_experience .list .item:nth-of-type(2) img {
    width: calc(80 / 1400 * 100vw);
  }
  #open_campus .oc_experience .list .item:nth-of-type(3) img {
    width: calc(70 / 1400 * 100vw);
  }
  #open_campus .oc_experience .list .item:nth-of-type(4) img {
    width: calc(80 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_experience {
    padding-top: calc(60 / 390 * 100vw);
    background: url(../img/experience_bg_sp.jpg) center top/100% auto no-repeat;
  }
  #open_campus .oc_experience::after {
    content: none;
  }
  #open_campus .oc_experience .oc_ttl::after {
    top: calc(23 / 390* 100vw);
    width: calc(389 / 390 * 100vw);
    height: calc(78 / 390 * 100vw);
    background-image: url(../img/experience_ttl_sp.png);
  }
  #open_campus .oc_experience .in {
    max-width: none;
  }
  #open_campus .oc_experience .oc_ttl {
    margin-bottom: calc(168 / 390 * 100vw);
  }
  #open_campus .oc_experience .list {
    gap: calc(30 / 390 * 100vw);
  }
  #open_campus .oc_experience .list .item {
    width: 100%;
    padding: calc(69 / 390 * 100vw) calc(40 / 390 * 100vw) calc(56 / 390 * 100vw);
  }
  #open_campus .oc_experience .list .item .ttl_h3 {
    font-size: calc(20 / 390 * 100vw);
    margin: 0 calc(-20 / 390 * 100vw);
  }
  #open_campus .oc_experience .list .item .txt {
    margin-top: calc(27 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
  #open_campus .oc_experience .list .item .number {
    top: calc(-10 / 390 * 100vw);
    left: calc(30 / 390 * 100vw);
    width: calc(50 / 390 * 100vw);
    padding: calc(19 / 390 * 100vw) 0 calc(28 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
  }
  #open_campus .oc_experience .list .item img {
    top: calc(-8 / 390 * 100vw);
    right: calc(26 / 390 * 100vw);
  }
  #open_campus .oc_experience .list .item:nth-of-type(1) img {
    width: calc(46 / 390 * 100vw);
  }
  #open_campus .oc_experience .list .item:nth-of-type(2) img {
    width: calc(59 / 390 * 100vw);
  }
  #open_campus .oc_experience .list .item:nth-of-type(3) img {
    width: calc(47 / 390 * 100vw);
  }
  #open_campus .oc_experience .list .item:nth-of-type(4) img {
    width: calc(59 / 390 * 100vw);
    top: calc(-6 / 390 * 100vw);
    right: calc(19 / 390 * 100vw);
  }
  #open_campus .oc_experience .oc_button {
    margin-top: calc(40 / 390 * 100vw);
  }
}


/* ----------------------------------
oc_access
---------------------------------- */
#open_campus .oc_access {
  padding: 100px 0;
  background: #f2f2da;
}
#open_campus .oc_access .oc_ttl .ttl_h2 {
  color: #5fd7f9;
}
#open_campus .oc_access .oc_ttl .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_access .in {
  max-width: 1000px;
}
#open_campus .oc_access .map {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 360px;

  background: gray;
}
#open_campus .oc_access .map iframe {
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: calc(100% + (150px * 2));
}
#open_campus .oc_access .map .oc_button_br {
  position: absolute;
  right: 10px;
  bottom: 10px;
}
#open_campus .oc_access .flex {
  margin-top: 34px;
  display: flex;
  gap: 40px;
  padding: 0 20px;
}
#open_campus .oc_access .flex dl {
  width: calc(50% - (40px * 1 / 2));
}
#open_campus .oc_access .flex dt {
  font-size: 20px;
  font-weight: var(--medium);
}
#open_campus .oc_access .flex dd {
  font-size: 14px;
  margin-top: 20px;
  line-height: 1.75;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_access {
    padding: calc(100 / 1400 * 100vw) 0;
  }
  #open_campus .oc_access .in {
    max-width: calc(1000 / 1400 * 100vw);
  }
  #open_campus .oc_access .map {
    height: calc(360 / 1400 * 100vw);
  }
  #open_campus .oc_access .map .oc_button_br {
    right: calc(10 / 1400 * 100vw);
    bottom: calc(10 / 1400 * 100vw);
  }
  #open_campus .oc_access .flex {
    margin-top: calc(34 / 1400 * 100vw);
    gap: calc(40 / 1400 * 100vw);
    padding: 0 calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_access .flex dl {
    width: calc(50% - ((40 / 1400 * 100vw) * 1 / 2));
  }
  #open_campus .oc_access .flex dt {
    font-size: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_access .flex dd {
    font-size: calc(14 / 1400 * 100vw);
    margin-top: calc(20 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_access {
    padding: calc(70 / 390 * 100vw) 0 calc(60 / 390 * 100vw);
  }
  #open_campus .oc_access .in {
    max-width: none;
  }
  #open_campus .oc_access .oc_ttl {
    margin-bottom: calc(30 / 390 * 100vw);
  }
  #open_campus .oc_access .map {
    height: calc(270 / 390 * 100vw);
  }
  #open_campus .oc_access .map .oc_button_br {
    right: calc(5 / 390 * 100vw);
    bottom: calc(5 / 390 * 100vw);
    width: calc(200 / 390 * 100vw);
  }
  #open_campus .oc_access .flex {
    flex-wrap: wrap;
    margin-top: calc(36 / 390 * 100vw);
    gap: calc(34 / 390 * 100vw);
    padding: 0;
  }
  #open_campus .oc_access .flex dl {
    width: 100%;
  }
  #open_campus .oc_access .flex dt {
    font-size: calc(20 / 390 * 100vw);
  }
  #open_campus .oc_access .flex dd {
    font-size: calc(14 / 390 * 100vw);
    margin-top: calc(15 / 390 * 100vw);
  }
}


/* ----------------------------------
oc_faq
---------------------------------- */
#open_campus .oc_faq {
  padding: 60px 0 90px;
}
#open_campus .oc_faq .in {
  max-width: 1000px;
}
#open_campus .oc_faq .oc_ttl {
  margin-bottom: 50px;
}
#open_campus .oc_faq .oc_ttl .ttl_h2 {
  color: var(--color-red);
}
#open_campus .oc_faq .oc_ttl .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_faq dl + dl {
  margin-top: 40px;
}
#open_campus .oc_faq dt {
  position: relative;
  padding-left: 50px;
  margin-bottom: 11px;
  font-size: 20px;
  line-height: 1.5;
  font-weight: var(--medium);
}
#open_campus .oc_faq dt .en {
  position: absolute;
  left: 0;
  top: -12px;
  font-family: var(--font-en);
  font-weight: var(--bold);
  font-size: 36px;
  color: var(--color-red);
}
#open_campus .oc_faq dd {
  padding: 30px 50px;
  background: #f0d9d8;
  border-radius: 10px;
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_faq {
    padding: calc(60 / 1400 * 100vw) 0 calc(90 / 1400 * 100vw);
  }
  #open_campus .oc_faq .in {
    max-width: calc(1000 / 1400 * 100vw);
  }
  #open_campus .oc_faq .oc_ttl {
    margin-bottom: calc(50 / 1400 * 100vw);
  }
  #open_campus .oc_faq dl + dl {
    margin-top: calc(40 / 1400 * 100vw);
  }
  #open_campus .oc_faq dt {
    padding-left: calc(50 / 1400 * 100vw);
    margin-bottom: calc(11 / 1400 * 100vw);
    font-size: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_faq dt .en {
    top: calc(-12 / 1400 * 100vw);
    font-size: calc(36 / 1400 * 100vw);
  }
  #open_campus .oc_faq dd {
    padding: calc(30 / 1400 * 100vw) calc(50 / 1400 * 100vw);
    border-radius: calc(10 / 1400 * 100vw);
    font-size: calc(16 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_faq {
    padding: calc(60 / 390 * 100vw) 0;
  }
  #open_campus .oc_faq .in {
    max-width: none;
  }
  #open_campus .oc_faq .oc_ttl {
    margin-bottom: calc(50 / 390 * 100vw);
  }
  #open_campus .oc_faq dt {
    margin-bottom: calc(7 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
    padding-left: calc(50 / 390 * 100vw);
    letter-spacing: -0.01em;
  }
  #open_campus .oc_faq dt .en {
    top: calc(-17 / 390 * 100vw);
    font-size: calc(36 / 390 * 100vw);
  }
  #open_campus .oc_faq dd {
    padding: calc(26 / 390 * 100vw) calc(20 / 390 * 100vw);
    border-radius: calc(6 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
  #open_campus .oc_faq dl + dl {
    margin-top: calc(39 / 390 * 100vw);
  }
}


/* ----------------------------------
oc_precautions
---------------------------------- */
#open_campus .oc_precautions {
  padding: 80px 0 100px;
  background: url(../img/faculty_bg.jpg) center / cover no-repeat;
}
#open_campus .oc_precautions .oc_ttl .ttl_h2 {
  color: var(--color-red);
}
#open_campus .oc_precautions .oc_ttl .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_precautions .box {
  background: var(--color-white);
  border-radius: 6px;
  padding: 50px;
}
#open_campus .oc_precautions .box .list {
  max-width: 1000px;
  margin: 0 auto;
}
#open_campus .oc_precautions .box .list li {
  font-size: 16px;
  line-height: 1.75;
  text-indent: -1em;
  padding-left: 1em;
}
#open_campus .oc_precautions .box .list li + li {
  margin-top: 15px;
}
#open_campus .oc_precautions .oc_button {
  margin-top: 60px;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_precautions {
    padding: calc(80 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
  #open_campus .oc_precautions .box {
    border-radius: calc(6 / 1400 * 100vw);
    padding: calc(50 / 1400 * 100vw);
  }
  #open_campus .oc_precautions .box .list {
    max-width: calc(1000 / 1400 * 100vw);
  }
  #open_campus .oc_precautions .box .list li {
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus .oc_precautions .box .list li + li {
    margin-top: calc(15 / 1400 * 100vw);
  }
  #open_campus .oc_precautions .oc_button {
    margin-top: calc(60 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_precautions {
    padding: calc(60 / 390 * 100vw) 0;
    background-image: url(../img/faculty_bg_sp.jpg);
  }
  #open_campus .oc_precautions .box {
    padding: calc(30 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
  #open_campus .oc_precautions .box .list {
    max-width: none;
  }
  #open_campus .oc_precautions .box .list li {
    font-size: calc(15 / 390 * 100vw);
  }
}


/* ------------------------------------------------------------------------------------------------------
faculty_page
------------------------------------------------------------------------------------------------------ */
#open_campus.faculty_page {
  background: #F1F6FA;
}
#open_campus.faculty_page .in {
  max-width: 1200px;
}
#open_campus.faculty_page.business {
  background: #F6F6F3;
}
#open_campus.faculty_page.human {
  background: #F8F4F1;
}
#open_campus.faculty_page.design {
  background: #F9F4F6;
}
#open_campus.faculty_page.living {
  background: #F5F8F4;
}
#open_campus.faculty_page.nursing {
  background: #F9F5F6;
}
#open_campus.faculty_page.pharmacy {
  background: #F1F8F8;
}
/* ----------------------------------
oc_mv
---------------------------------- */
#open_campus .oc_mv {
  padding: 0;
  background: url(../img/department/bg-kv_bungaku.jpg) center/cover no-repeat;
}
#open_campus.design .oc_mv {
  background-image: url(../img/department/bg-kv_dezain.jpg);
}
#open_campus.nursing .oc_mv {
  background-image: url(../img/department/bg-kv_kango.jpg);
}
#open_campus.business .oc_mv {
  background-image: url(../img/department/bg-kv_keizai.jpg);
}
#open_campus.human .oc_mv {
  background-image: url(../img/department/bg-kv_ningenkagaku.jpg);
}
#open_campus.living .oc_mv {
  background-image: url(../img/department/bg-kv_seikatu.jpg);
}
#open_campus.pharmacy .oc_mv {
  background-image: url(../img/department/bg-kv_yakugaku.jpg);
}
#open_campus .oc_mv .in {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: flex-end;
  max-width: 1440px;
}
#open_campus .oc_mv .in .img {
  position: relative;
  overflow: hidden;
  height: 680px;
  width: 820px;
}
#open_campus .oc_mv .in .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#open_campus .oc_mv .in .txt_wrap {
  position: relative;
  width: calc(100% - 680px);
  padding-left: 80px;
  margin-bottom: 140px;
}
#open_campus .oc_mv .in .txt_wrap .note {
  font-size: 13px;
  position: absolute;
  bottom: -122px;
}
#open_campus .oc_mv .in .txt_wrap .logo {
  width: 200px;
}
#open_campus .oc_mv .in .txt_wrap .ttl_h1 {
  margin-top: 17px;
  font-size: 50px;
  font-weight: var(--bold);
  line-height: 1.36;
}
#open_campus .oc_mv .in .txt_wrap .ttl_h1 sup {
  font-size: 30%;
  vertical-align: top;
}
#open_campus .oc_mv .in .txt_wrap .oc_button_br {
  margin: 44px 0 0;
  max-width: 320px;
  height: 45px;
  border-radius: 50px;
  background: var(--color-txt) url(../img/department/icon_arrow_bt.png) center right 14px/6px auto no-repeat;
  color: var(--color-white);
}
@media screen and (max-width: 1400px) {
  #open_campus.faculty_page .in {
    max-width: calc(1200 / 1400 * 100vw);
  }
  #open_campus .oc_mv .in {
    max-width: calc(1440 / 1400 * 100vw);
  }
  #open_campus .oc_mv .in .img {
    height: calc(680 / 1400 * 100vw);
    width: calc(820 / 1400 * 100vw);
  }
  #open_campus .oc_mv .in .txt_wrap {
    width: calc(100% - (680 / 1400 * 100vw));
    padding-left: calc(80 / 1400 * 100vw);
    margin-bottom: calc(140 / 1400 * 100vw);
  }
  #open_campus .oc_mv .in .txt_wrap .note {
    font-size: calc(13 / 1400 * 100vw);
    bottom: calc(-122 / 1400 * 100vw);
  }
  #open_campus .oc_mv .in .txt_wrap .logo {
    width: calc(200 / 1400 * 100vw);
  }
  #open_campus .oc_mv .in .txt_wrap .ttl_h1 {
    margin-top: calc(17 / 1400 * 100vw);
    font-size: calc(50 / 1400 * 100vw);
  }
  #open_campus .oc_mv .in .txt_wrap .oc_button_br {
    margin: calc(44 / 1400 * 100vw) 0 0;
    max-width: calc(320 / 1400 * 100vw);
    height: calc(45 / 1400 * 100vw);
    border-radius: calc(50 / 1400 * 100vw);
    background: var(--color-txt) url(../img/department/icon_arrow_bt.png) center right calc(14 / 1400 * 100vw)/calc(6 / 1400 * 100vw) auto no-repeat;
  }
}
@media screen and (max-width: 767px) {
  #open_campus.faculty_page .in {
    max-width: none;
  }
  #open_campus .oc_mv {
    position: relative;
    background-image: url(../img/department/bg-kv_bungaku_sp.jpg);
  }
  #open_campus.design .oc_mv {
    background-image: url(../img/department/bg-kv_dezain_sp.jpg);
  }
  #open_campus.nursing .oc_mv {
    background-image: url(../img/department/bg-kv_kango_sp.jpg);
  }
  #open_campus.business .oc_mv {
    background-image: url(../img/department/bg-kv_keizai_sp.jpg);
  }
  #open_campus.human .oc_mv {
    background-image: url(../img/department/bg-kv_ningenkagaku_sp.jpg);
  }
  #open_campus.living .oc_mv {
    background-image: url(../img/department/bg-kv_seikatu_sp.jpg);
  }
  #open_campus.pharmacy .oc_mv {
    background-image: url(../img/department/bg-kv_yakugaku_sp.jpg);
  }
  #open_campus .oc_mv::after {
    position: absolute;
    content: "";
    top: calc(13 / 390 * 100vw);
    left: calc(-7 / 390 * 100vw);
    width: calc(414 / 390 * 100vw);
    height: calc(401 / 390 * 100vw);
    background: url(../img/department/kv_catch.png) center/contain no-repeat;
  }
  #open_campus .oc_mv .in {
    display: block;
    max-width: none;
    margin: 0;
  }
  #open_campus .oc_mv .in .img {
    width: 100%;
    height: calc(323 / 390 * 100vw);
  }
  #open_campus .oc_mv .in .txt_wrap {
    width: 100%;
    margin: 0;
    padding: calc(40 / 390 * 100vw) calc(20 / 390 * 100vw) calc(60 / 390 * 100vw);
  }
  #open_campus .oc_mv .in .txt_wrap .note {
    font-size: calc(11 / 390* 100vw);
    bottom: calc(9 / 390* 100vw);
    line-height: 1.3;
  }
  #open_campus .oc_mv .in .txt_wrap .logo {
    width: calc(141 / 390 * 100vw);
    margin: 0 calc(10 / 390 * 100vw);
  }
  #open_campus .oc_mv .in .txt_wrap .ttl_h1 {
    padding: 0 calc(10 / 390 * 100vw);
    margin-top: calc(9 / 390 * 100vw);
    font-size: calc(30 / 390 * 100vw);
  }
  #open_campus .oc_mv .in .txt_wrap .oc_button_br {
    margin-top: calc(22 / 390 * 100vw);
    width: calc(320 / 390 * 100vw);
    max-width: none;
    height: calc(45 / 390 * 100vw);
    border-radius: calc(50 / 390 * 100vw);
    background: var(--color-txt) url(../img/department/icon_arrow_bt.png) center right calc(14 / 390 * 100vw)/calc(6 / 390 * 100vw) auto no-repeat;

  }
}



/* ----------------------------------
oc_overview
---------------------------------- */
#open_campus.faculty_page .oc_overview {
  padding: 85px 0 0;
  background: none;
}
#open_campus.faculty_page .oc_overview .oc_ttl {
  margin-bottom: 57px;
}
#open_campus.faculty_page .oc_overview .oc_ttl .ttl_h2 {
  color: var(--color-literature);
}
#open_campus.faculty_page .oc_overview .oc_ttl .txt {
  margin-top: 37px;
}
#open_campus.faculty_page .oc_overview .swiper-wrapper {
  transition-timing-function: linear;
}
#open_campus.faculty_page .oc_overview .swiper-slide {
  width: 280px;
  min-width: 280px;
}
#open_campus.faculty_page .oc_overview .swiper-slide img {
  width: 100%;
}
@media screen and (max-width: 1400px) {
  #open_campus.faculty_page .oc_overview {
    padding: calc(85 / 1400 * 100vw) 0 0;
  }
  #open_campus.faculty_page .oc_overview .oc_ttl {
    margin-bottom: calc(57 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_overview .oc_ttl .txt {
    margin-top: calc(37 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_overview .swiper-slide {
    width: calc(280 / 1400 * 100vw);
    min-width: calc(280 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus.faculty_page .oc_overview .oc_ttl {
    margin-bottom: calc(35 / 390 * 100vw);
  }
  #open_campus.faculty_page .oc_overview {
    padding: calc(74 / 390 * 100vw) 0 0;
  }
  #open_campus.faculty_page .oc_overview .oc_ttl .txt {
    margin-top: calc(26 / 360 * 100vw);
    text-align: left;
  }
  #open_campus.faculty_page .oc_overview .swiper-slide {
    width: calc(140 / 390 * 100vw);
    min-width: calc(140 / 390 * 100vw);
  }
}



/* ----------------------------------
oc_curriculum
---------------------------------- */
#open_campus .oc_curriculum {
  padding: 73px 0 100px;
}
#open_campus .oc_curriculum .oc_ttl .ttl_h2 {
  color: var(--color-pink);
}
#open_campus .oc_curriculum .oc_ttl .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_curriculum .flex {
  display: flex;
  align-items: center;
}
#open_campus .oc_curriculum .flex + .flex {
  margin-top: 50px;
}
#open_campus .oc_curriculum .flex:nth-of-type(even) {
  flex-direction: row-reverse;
}
#open_campus .oc_curriculum .flex_img {
  position: relative;
  overflow: hidden;
  width: 620px;
  height: 400px;
  border-radius: 10px;
}
#open_campus .oc_curriculum .flex_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#open_campus .oc_curriculum .flex_txt {
  width: calc(100% - 620px);
}
#open_campus .oc_curriculum .flex_txt .lead {
  margin-bottom: 18px;
  margin-left: -40px;
  font-size: 18px;
  font-weight: var(--bold);
  padding-left: 27px;
  background: url(../img/department/icon_curriculum.png) center left/12px auto no-repeat;
  color: var(--color-pink);
  line-height: 1.4;
}
#open_campus .oc_curriculum .flex_txt .ttl_h3 {
  font-size: 36px;
  font-weight: var(--bold);
  line-height: 1.65;
}
#open_campus .oc_curriculum .flex_txt .ttl_h3 small {
  font-size: 55%;
}
#open_campus .oc_curriculum .flex_txt .ttl_h3 span {
  color: var(--color-white);
  background: var(--color-pink);
  border-radius: 6px;
  padding: 0 10px;
}
#open_campus .oc_curriculum .flex_txt .txt {
  margin-top: 35px;
  font-size: 16px;
}
#open_campus .oc_curriculum .flex:nth-of-type(even) .flex_txt {
  padding: 0 34px 0 70px;
}
#open_campus .oc_curriculum .flex:nth-of-type(odd) .flex_txt {
  padding: 0 30px 0 100px;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_curriculum {
    padding: calc(73 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
  #open_campus .oc_curriculum .flex + .flex {
    margin-top: calc(50 / 1400 * 100vw);
  }
  #open_campus .oc_curriculum .flex_img {
    width: calc(620 / 1400 * 100vw);
    height: calc(400 / 1400 * 100vw);
    border-radius: calc(10 / 1400 * 100vw);
  }
  #open_campus .oc_curriculum .flex_txt {
    width: calc(100% - (620 / 1400 * 100vw));
  }
  #open_campus .oc_curriculum .flex_txt .lead {
    margin-bottom: calc(18 / 1400 * 100vw);
    margin-left: calc(-40 / 1400 * 100vw);
    font-size: calc(18 / 1400 * 100vw);
    padding-left: calc(27 / 1400 * 100vw);
    background-size: calc(12 / 1400 * 100vw) auto;
  }
  #open_campus .oc_curriculum .flex_txt .ttl_h3 {
    font-size: calc(36 / 1400 * 100vw);
  }
  #open_campus .oc_curriculum .flex_txt .ttl_h3 span {
    border-radius: calc(6 / 1400 * 100vw);
    padding: 0 calc(10 / 1400 * 100vw);
  }
  #open_campus .oc_curriculum .flex_txt .txt {
    margin-top: calc(35 / 1400 * 100vw);
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus .oc_curriculum .flex:nth-of-type(even) .flex_txt {
    padding: 0 calc(34 / 1400 * 100vw) 0 calc(70 / 1400 * 100vw);
  }
  #open_campus .oc_curriculum .flex:nth-of-type(odd) .flex_txt {
    padding: 0 calc(30 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_curriculum {
    padding: calc(46 / 390 * 100vw) 0 calc(60 / 390 * 100vw);
  }
  #open_campus .oc_curriculum .flex {
    flex-direction: column-reverse !important;
    gap: calc(30 / 390 * 100vw);
  }
  #open_campus .oc_curriculum .flex + .flex {
    margin-top: calc(56 / 390 * 100vw);
  }
  #open_campus .oc_curriculum .flex_txt {
    width: 100%;
    padding: 0 calc(10 / 390 * 100vw) !important;
  }
  #open_campus .oc_curriculum .flex_img {
    width: 100%;
    height: calc(226 / 390 * 100vw);
    border-radius: calc(6 / 390 * 100vw);
  }
  #open_campus .oc_curriculum .flex_txt .txt {
    font-size: calc(14 / 390 * 100vw);
    margin-top: calc(30 / 390 * 100vw);
  }
  #open_campus .oc_curriculum .flex_txt .ttl_h3 {
    font-size: calc(28 / 390 * 100vw);
  }
  #open_campus .oc_curriculum .flex_txt .ttl_h3 span {
    border-radius: calc(6 / 390 * 100vw);
    padding: 0 calc(5 / 390 * 100vw);
  }
  #open_campus .oc_curriculum .flex_txt .lead {
    padding-left: calc(23 / 390 * 100vw);
    margin: 0 0 calc(14 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    background-size: calc(12 / 390 * 100vw);
  }
}



/* ----------------------------------
oc_attraction
---------------------------------- */
#open_campus.faculty_page .oc_attraction {
  padding: 73px 0 90px;
  max-width: 1540px;
  margin: 0 auto 100px;
  border-radius: 20px;
  background: #CAECED url(../img/department/attraction_bg.jpg) center/cover no-repeat;
}
#open_campus.faculty_page .oc_attraction::after {
  content: none;
}
#open_campus.faculty_page .oc_attraction .oc_ttl {
  position: relative;
  margin-bottom: 85px;
}
#open_campus.faculty_page .oc_attraction .oc_ttl::after {
  position: absolute;
  left: 50%;
  top: 30px;
  content: "";
  display: block;
  width: 1021px;
  height: 235px;
  background: url(../img/department/attraction_ttl.png) center / contain no-repeat;
  transform: translateX(-50%);
}
#open_campus.faculty_page .oc_attraction .oc_ttl .txt {
  margin-top: 33px;
}
#open_campus.faculty_page .oc_attraction .in {
  position: relative;
  max-width: 1360px;
}
#open_campus.faculty_page .oc_attraction .in > .date {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 240px;
  border-radius: 100%;
  background: var(--color-white);
  text-align: center;
}
#open_campus.faculty_page .oc_attraction .in > .date .ttl {
  font-size: 16px;
  color: var(--color-pink);
  font-family: var(--font-en);
}
#open_campus.faculty_page .oc_attraction .in > .date .ttl small {
  font-family: var(--font-ja);
  font-size: 14px;
}
#open_campus.faculty_page .oc_attraction .in > .date .date_d {
  display: flex;
  gap: 6px;
  align-items: baseline;
  font-family: var(--font-en);
  font-size: 72px;
  font-weight: var(--semibold);
  letter-spacing: -0.04em;
  margin: 15px 0
}
#open_campus.faculty_page .oc_attraction .in > .date .date_d small {
  font-family: var(--font-ja);
  font-size: 18px;
  font-weight: var(--bold);
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background: var(--color-pink);
  color: white;
  padding: 4px 2px 0 0;
  transform: translateY(-5px);
}
#open_campus.faculty_page .oc_attraction .in > .date .date_h {
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: var(--bold);
}
@media screen and (max-width: 1400px) {
  #open_campus.faculty_page .oc_attraction {
    padding: calc(73 / 1400 * 100vw) 0 calc(90 / 1400 * 100vw);
    margin-bottom: calc(100 / 1400 * 100vw);
    max-width: calc(1540 / 1400 * 100vw);
    border-radius: calc(20 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .oc_ttl {
    margin-bottom: calc(85 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .oc_ttl::after {
    top: calc(30 / 1400 * 100vw);
    width: calc(1021 / 1400 * 100vw);
    height: calc(235 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .oc_ttl .txt {
    margin-top: calc(33 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .in {
    max-width: calc(1360 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .in > .date {
    width: calc(240 / 1400 * 100vw);
    height: calc(240 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .in > .date .ttl {
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .in > .date .ttl small {
    font-size: calc(14 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .in > .date .date_d {
    gap: calc(6 / 1400 * 100vw);
    font-size: calc(72 / 1400 * 100vw);
    margin: calc(15 / 1400 * 100vw) 0;
  }
  #open_campus.faculty_page .oc_attraction .in > .date .date_d small {
    font-size: calc(18 / 1400 * 100vw);
    width: calc(30 / 1400 * 100vw);
    height: calc(30 / 1400 * 100vw);
    padding: calc(4 / 1400 * 100vw) calc(2 / 1400 * 100vw) 0 0;
    transform: translateY(calc(-5 / 1400 * 100vw));
  }
  #open_campus.faculty_page .oc_attraction .in > .date .date_h {
    font-size: calc(24 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus.faculty_page .oc_attraction {
    padding: calc(60 / 390 * 100vw) 0;
    margin-bottom: calc(50 / 390 * 100vw);
    border-radius: calc(20 / 390 * 100vw);
    background-image: url(../img/department/attraction_bg_sp.jpg);
  }
  #open_campus.faculty_page .oc_attraction .oc_ttl .txt {
    margin-top: calc(24 / 390 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .oc_ttl {
    margin-bottom: calc(25 / 390 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .in > .date {
    position: relative;
    top: auto;
    left: auto;
    margin: 0 auto calc(5 / 390 * 100vw);
    width: calc(240 / 390 * 100vw);
    height: calc(240 / 390 * 100vw);
    transform: scale(0.75);
  }
  #open_campus.faculty_page .oc_attraction .in > .date .ttl {
    font-size: calc(16 / 390 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .in > .date .ttl small {
    font-size: calc(14 / 390 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .in > .date .date_d {
    gap: calc(6 / 390 * 100vw);
    font-size: calc(72 / 390 * 100vw);
    margin: calc(15 / 390 * 100vw) 0;
  }
  #open_campus.faculty_page .oc_attraction .in > .date .date_d small {
    font-size: calc(18 / 390 * 100vw);
    width: calc(30 / 390 * 100vw);
    height: calc(30 / 390 * 100vw);
    padding: calc(4 / 390 * 100vw) calc(2 / 390 * 100vw) 0 0;
    transform: translateY(calc(-5 / 390 * 100vw));
  }
  #open_campus.faculty_page .oc_attraction .in > .date .date_h {
    font-size: calc(24 / 390 * 100vw);
  }
  #open_campus .oc_buttons {
    margin-top: calc(60 / 390 * 100vw);
    flex-wrap: wrap;
    gap: calc(16 / 390 * 100vw);
  }
  #open_campus .oc_buttons a {
    width: calc(330 / 390 * 100vw);
  }
  #open_campus.faculty_page .oc_attraction .oc_ttl::after {
    top: calc(96 / 390 * 100vw);
    width: calc(465 / 390 * 100vw);
    height: calc(129 / 390 * 100vw);
    background-image: url(../img/department/attraction_ttl_sp.png);
  }
}



/* ----------------------------------
oc_faculty
---------------------------------- */
#open_campus.faculty_page .oc_faculty {
  margin: 0;
  padding: 73px 0 0;
  background: none;
}
#open_campus.faculty_page .oc_faculty .oc_ttl {
  margin-bottom: 50px;
}
#open_campus.faculty_page .oc_faculty .oc_ttl .ttl_h2 {
  color: var(--color-literature);
}
#open_campus.faculty_page .oc_faculty .oc_ttl .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus.faculty_page .oc_faculty .oc_ttl .txt {
  margin-top: 37px;
}
#open_campus.faculty_page .oc_faculty .swiper-wrapper {
  transition-timing-function: linear;
}
#open_campus.faculty_page .oc_faculty .swiper-slide {
  width: 320px;
  min-width: 320px;
}
#open_campus.faculty_page .oc_faculty .swiper-slide img {
  width: 100%;
}
@media screen and (max-width: 1400px) {
  #open_campus.faculty_page .oc_faculty {
    padding: calc(73 / 1400 * 100vw) 0 0;
  }
  #open_campus.faculty_page .oc_faculty .oc_ttl {
    margin-bottom: calc(50 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_faculty .oc_ttl .txt {
    margin-top: calc(37 / 1400 * 100vw);
  }
  #open_campus.faculty_page .oc_faculty .swiper-slide {
    width: calc(320 / 1400 * 100vw);
    min-width: calc(320 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus.faculty_page .oc_faculty {
    padding: calc(60 / 390 * 100vw) 0 0 ;
  }
  #open_campus.faculty_page .oc_faculty .oc_ttl .txt {
    margin-top: calc(26 / 390 * 100vw);
    text-align: left;
  }
  #open_campus.faculty_page .oc_faculty .oc_ttl {
    margin-bottom: calc(35 / 390 * 100vw);
  }
  #open_campus.faculty_page .oc_faculty .swiper-slide {
    width: calc(240 / 390 * 100vw);
    min-width: calc(240 / 390 * 100vw);
  }
}



/* ----------------------------------
oc_career
---------------------------------- */
#open_campus .oc_career {
  position: relative;
  overflow: hidden;
  max-width: 1540px;
  width: 98%;
  margin: 118px auto 0;
  padding: 72px 0 62px;
  background: var(--color-white);
  border-radius: 20px;
}
#open_campus .oc_career > img:first-of-type {
  position: absolute;
  width: 456px;
  top: -14px;
  left: -17px;
}
#open_campus .oc_career > img:last-of-type {
  position: absolute;
  width: 458px;
  bottom: -20px;
  right: -59px;
}
#open_campus .oc_career .oc_ttl {
  margin-bottom: 55px;
}
#open_campus .oc_career .oc_ttl .ttl_h2 {
  color: #01C6FE;
}
#open_campus .oc_career .oc_ttl .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_career .lead {
  font-size: 40px;
  font-weight: var(--bold);
  color: #01C6FE;
  text-align: center;
  line-height: 1.3;
}
#open_campus .oc_career .txt {
  max-width: 600px;
  margin: 26px auto 0;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_career {
    max-width: calc(1540 / 1400 * 100vw);
    margin: calc(118 / 1400 * 100vw) auto 0;
    padding: calc(72 / 1400 * 100vw) 0 calc(62 / 1400 * 100vw);
    border-radius: calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_career > img:first-of-type {
    width: calc(456 / 1400 * 100vw);
    top: calc(-14 / 1400 * 100vw);
    left: calc(-17 / 1400 * 100vw);
  }
  #open_campus .oc_career > img:last-of-type {
    width: calc(458 / 1400 * 100vw);
    bottom: calc(-20 / 1400 * 100vw);
    right: calc(-59 / 1400 * 100vw);
  }
  #open_campus .oc_career .oc_ttl {
    margin-bottom: calc(55 / 1400 * 100vw);
  }
  #open_campus .oc_career .lead {
    font-size: calc(40 / 1400 * 100vw);
  }
  #open_campus .oc_career .txt {
    max-width: calc(600 / 1400 * 100vw);
    margin: calc(26 / 1400 * 100vw) auto 0;
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_career {
    width: auto;
    max-width: calc(350 / 390 * 100vw);
    margin: calc(60 / 390 * 100vw) calc(20 / 390 * 100vw) 0;
    padding: calc(185 / 390 * 100vw) calc(20 / 390 * 100vw) calc(180 / 390 * 100vw);
    border-radius: calc(20 / 390 * 100vw);
  }
  #open_campus .oc_career .in {
    margin: 0;
  }
  #open_campus .oc_career .oc_ttl {
    margin-bottom: calc(26 / 390 * 100vw);
  }
  #open_campus .oc_career .lead {
    font-size: calc(30 / 390 * 100vw);
  }
  #open_campus .oc_career .txt {
    margin-top: calc(13 / 390 * 100vw);
    max-width: none;
  }
  #open_campus .oc_career > img:first-of-type {
    top: calc(-11 / 390 * 100vw);
    left: calc(-8 / 390 * 100vw);
    width: calc(197 / 390 * 100vw);
  }
  #open_campus .oc_career > img:last-of-type {
    right: calc(-20 / 390 * 100vw);
    bottom: calc(-8 / 390 * 100vw);
    width: calc(196 / 390 * 100vw);
  }
}



/* ----------------------------------
oc_voice
---------------------------------- */
#open_campus .oc_voice {
  padding: 73px 0 0;
}
#open_campus .oc_voice .oc_ttl {
  margin-bottom: 56px;
}
#open_campus .oc_voice .oc_ttl .ttl_h2 {
  color: var(--color-pink);
}
#open_campus .oc_voice .oc_ttl .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_voice .oc_ttl .txt {
  margin-top: 35px;
}
#open_campus .oc_voice .item {
  overflow: hidden;
  display: flex;
  background: var(--color-white);
  border-radius: 10px;
  box-shadow: 0 2px 20px rgb(0 0 0 / 0.1);
}
#open_campus .oc_voice .item + .item {
  margin-top: 42px;
}
#open_campus .oc_voice .item figure {
  position: relative;
  height: 100%;
  width: 220px;
  height: auto;
  overflow: hidden;
}
#open_campus .oc_voice .item figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#open_campus .oc_voice .item .txt_wrap {
  padding: 30px 30px 39px;
  width: calc(100% - 220px);
}
#open_campus .oc_voice .item .txt_wrap .lead {
  font-size: 16px;
  font-weight: var(--bold);
}
#open_campus .oc_voice .item .txt_wrap .txt {
  margin-top: 2em;
  font-size: 16px;
}
#open_campus .oc_voice .item.small {
  max-width: 903px;
  margin: 0 auto;
  min-height: 240px;
}
#open_campus .oc_voice .item.small .txt {
  margin-top: 0;
}
#open_campus .oc_voice .item.wide figure {
  width: 356px;
}
#open_campus .oc_voice .item.wide .txt_wrap {
  padding: 42px;
  width: calc(100% - 356px);
}
#open_campus .oc_voice.end {
  padding-bottom: 354px;
}
#open_campus .oc_voice.end .in {
  position: relative;
}
#open_campus .oc_voice.end .in::before {
  position: absolute;
  content: "";
  bottom: -230px;
  left: -48px;
  width: 302px;
  height: 273px;
  background: url(../img/department/sougourekishi/voice_left.png) center/contain no-repeat;
}
#open_campus .oc_voice.end .in::after {
  position: absolute;
  content: "";
  bottom: -250px;
  right: -21px;
  width: 259px;
  height: 230px;
  background: url(../img/department/sougourekishi/voice_right.png) center/contain no-repeat;
}
#open_campus .oc_voice.end .oc_buttons {
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 1400px) {
  #open_campus .oc_voice {
    padding: calc(73 / 1400 * 100vw) 0 0;
  }
  #open_campus .oc_voice .oc_ttl {
    margin-bottom: calc(56 / 1400 * 100vw);
  }
  #open_campus .oc_voice .oc_ttl .txt {
    margin-top: calc(35 / 1400 * 100vw);
  }
  #open_campus .oc_voice .item {
    border-radius: calc(10 / 1400 * 100vw);
  }
  #open_campus .oc_voice .item + .item {
    margin-top: calc(42 / 1400 * 100vw);
  }
  #open_campus .oc_voice .item figure {
    width: calc(220 / 1400 * 100vw);
  }
  #open_campus .oc_voice .item .txt_wrap {
    padding: calc(30 / 1400 * 100vw) calc(30 / 1400 * 100vw) calc(39 / 1400 * 100vw);
    width: calc(100% - (220 / 1400 * 100vw));
  }
  #open_campus .oc_voice .item .txt_wrap .lead {
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus .oc_voice .item .txt_wrap .txt {
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus .oc_voice .item.small {
    max-width: calc(903 / 1400 * 100vw);
    min-height: calc(240 / 1400 * 100vw);
  }
  #open_campus .oc_voice .item.wide figure {
    width: calc(356 / 1400 * 100vw);
  }
  #open_campus .oc_voice .item.wide .txt_wrap {
    padding: calc(42 / 1400 * 100vw);
    width: calc(100% - (356 / 1400 * 100vw));
  }
  #open_campus .oc_voice.end {
    padding-bottom: calc(354 / 1400 * 100vw);
  }
  #open_campus .oc_voice.end .in::before {
    bottom: calc(-230 / 1400 * 100vw);
    left: calc(-48 / 1400 * 100vw);
    width: calc(302 / 1400 * 100vw);
    height: calc(273 / 1400 * 100vw);
  }
  #open_campus .oc_voice.end .in::after {
    bottom: calc(-250 / 1400 * 100vw);
    right: calc(-21 / 1400 * 100vw);
    width: calc(259 / 1400 * 100vw);
    height: calc(230 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_voice {
    padding: calc(60 / 390 * 100vw) 0 0;
  }
  #open_campus .oc_voice .oc_ttl .txt {
    margin-top: calc(26 / 390 * 100vw);
    text-align: left;
  }
  #open_campus .oc_voice .oc_ttl {
    margin-bottom: calc(35 / 390 * 100vw);
  }
  #open_campus .oc_voice .item {
    position: relative;
    padding: calc(160 / 390 * 100vw) calc(20 / 390 * 100vw) calc(25 / 390 * 100vw);
    border-radius: calc(10 / 390 * 100vw);
    display: block;
  }
  #open_campus .oc_voice .item + .item {
    margin-top: calc(20 / 390 * 100vw);
  }
  #open_campus .oc_voice .item .txt_wrap {
    padding: 0 !important;
    width: auto !important;
  }
  #open_campus .oc_voice .item .txt_wrap .lead {
    font-size: calc(16 / 390 * 100vw);
  }
  #open_campus .oc_voice .item .txt_wrap .txt {
    font-size: calc(14 / 390 * 100vw);
  }
  #open_campus .oc_voice .item figure {
    position: absolute;
    left: 50%;
    top: calc(20 / 390 * 100vw);
    width: calc(120 / 390 * 100vw) !important;
    height: calc(120 / 390 * 100vw);
    transform: translateX(-50%);
    border-radius: 100%;
  }
  #open_campus .oc_voice .item.small {
    max-width: none;
    min-height: auto;
  }
  #open_campus .oc_voice.end {
    padding-bottom: calc(240 / 390 * 100vw);;
  }
  #open_campus .oc_voice.end .in::before {
    content: none;
  }
  #open_campus .oc_voice.end .in::after {
    bottom: calc(-193 / 390 * 100vw);
    top: auto;
    left: 50%;
    right: auto;
    height: calc(148 / 390 * 100vw);
    width: calc(318 / 390 * 100vw);
    transform: translateX(-50%);
    background-image: url(../img/department/sougourekishi/message_right_sp.png);
  }
}
 


/* ----------------------------------
oc_message
---------------------------------- */
#open_campus .oc_message {
  padding: 272px 0 354px;
}
#open_campus .oc_message .in {
  position: relative;
}
#open_campus .oc_message .in > picture:first-of-type img {
  position: absolute;
  top: -72px;
  left: -236px;
  width: 501px;
}
#open_campus .oc_message .in > picture:last-of-type img {
  position: absolute;
  top: -184px;
  right: -370px;
  width: 645px;
}
#open_campus .oc_message .oc_ttl .ttl_h2 {
  color: #00E6D9;
}
#open_campus .oc_message .oc_ttl .ttl_h2 .ja {
  color: var(--color-txt);
}
#open_campus .oc_message .oc_ttl .txt {
  margin: 50px auto 0;
  font-size: 20px;
  line-height: 2;
  max-width: 699px;
}
#open_campus .oc_message .oc_buttons {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_message {
    padding: calc(272 / 1400 * 100vw) 0 calc(354 / 1400 * 100vw);
  }
  #open_campus .oc_message .in > picture:first-of-type img {
    top: calc(-72 / 1400 * 100vw);
    left: calc(-236 / 1400 * 100vw);
    width: calc(501 / 1400 * 100vw);
  }
  #open_campus .oc_message .in > picture:last-of-type img {
    top: calc(-184 / 1400 * 100vw);
    right: calc(-370 / 1400 * 100vw);
    width: calc(645 / 1400 * 100vw);
  }
  #open_campus .oc_message .oc_ttl .txt {
    margin-top: calc(50 / 1400 * 100vw);
    max-width: calc(699 / 1400 * 100vw);
    font-size: calc(20 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_message {
    padding: calc(260 / 390 * 100vw) 0 calc(240 / 390 * 100vw);
  }
  #open_campus .oc_message .oc_ttl .txt {
    max-width: none;
    margin-top: calc(26 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
  }
  #open_campus .oc_message .oc_buttons {
    margin-top: calc(46 / 390 * 100vw);
  }
  #open_campus .oc_message .in > picture:first-of-type img {
    top: calc(-230 / 390 * 100vw);
    left: 50%;
    width: calc(470 / 390 * 100vw);
    max-width: none;
    transform: translateX(-50%);
  }
  #open_campus .oc_message .in > picture:last-of-type img {
    bottom: calc(-193 / 390 * 100vw);
    top: auto;
    left: 50%;
    right: auto;
    width: calc(318 / 390 * 100vw);
    transform: translateX(-50%);
  }
}

#open_campus .breadclumnbs {
  top: 0;
  left: 0;
  padding: 9px 20px;
  position: relative;
  z-index: 2;
  margin-bottom: -40px;
}
#open_campus .breadclumnbs li {
  position: relative;
  display: inline;
  font-size: 12px;
  line-height: 1.6;
}
#open_campus .breadclumnbs li a {
  text-decoration: none;
  color: var(--color-txt);
  transition: .3s;
}
#open_campus .breadclumnbs li a:hover {
  opacity: 0.68;
}
#open_campus .breadclumnbs li + li {
  padding-left: 17px;
}
#open_campus .breadclumnbs li + li::before {
  position: absolute;
  content: "";
  width: 4px;
  height: 4px;
  border-top: 1px solid var(--color-txt);
  border-right: 1px solid var(--color-txt);
  left: 3px;
  top: 7px;
  transform: rotate(45deg);
}
@media screen and (max-width: 1400px) {
  #open_campus .breadclumnbs {
    padding: calc(9 / 1400 * 100vw) calc(20 / 1400 * 100vw);
    margin-bottom: calc(-35 / 1400 * 100vw);
  }
  #open_campus .breadclumnbs li {
    font-size: calc(12 / 1400 * 100vw);
  }
  #open_campus .breadclumnbs li + li {
    padding-left: calc(17 / 1400 * 100vw);
  }
  #open_campus .breadclumnbs li + li::before {
    width: calc(4 / 1400 * 100vw);
    height: calc(4 / 1400 * 100vw);
    left: calc(3 / 1400 * 100vw);
    top: calc(7 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .breadclumnbs {
    padding: calc(9 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
  #open_campus .breadclumnbs li {
    font-size: calc(12 / 390 * 100vw);
  }
  #open_campus .breadclumnbs li + li {
    padding-left: calc(17 / 390 * 100vw);
  }
  #open_campus .breadclumnbs li + li::before {
    width: calc(4 / 390 * 100vw);
    height: calc(4 / 390 * 100vw);
    left: calc(3 / 390 * 100vw);
    top: calc(7 / 390 * 100vw);
  }
  #open_campus .breadclumnbs {
    margin-bottom: calc(-40 / 390 * 100vw);
  }
}



#open_campus.faculty_page.business .oc_overview .oc_ttl .ttl_h2,
#open_campus.faculty_page.business .oc_faculty .oc_ttl .ttl_h2 {
  color: var(--color-business);
}
#open_campus.faculty_page.human .oc_overview .oc_ttl .ttl_h2,
#open_campus.faculty_page.human .oc_faculty .oc_ttl .ttl_h2 {
  color: var(--color-human);
}
#open_campus.faculty_page.sinri .oc_overview .oc_ttl .ttl_h2,
#open_campus.faculty_page.sinri .oc_faculty .oc_ttl .ttl_h2 {
  color: var(--color-sinri);
}
#open_campus.faculty_page.design .oc_overview .oc_ttl .ttl_h2,
#open_campus.faculty_page.design .oc_faculty .oc_ttl .ttl_h2 {
  color: var(--color-design);
}
#open_campus.faculty_page.living .oc_overview .oc_ttl .ttl_h2,
#open_campus.faculty_page.living .oc_faculty .oc_ttl .ttl_h2 {
  color: var(--color-living);
}
#open_campus.faculty_page.nursing .oc_overview .oc_ttl .ttl_h2,
#open_campus.faculty_page.nursing .oc_faculty .oc_ttl .ttl_h2 {
  color: var(--color-nursing);
}
#open_campus.faculty_page.pharmacy .oc_overview .oc_ttl .ttl_h2,
#open_campus.faculty_page.pharmacy .oc_faculty .oc_ttl .ttl_h2 {
  color: var(--color-pharmacy);
}




/* ------------------------------------------------------------------------------------------------------
talkshow_page
------------------------------------------------------------------------------------------------------ */
#open_campus.talkshow_page {
  letter-spacing: 0.01em;
  font-feature-settings: unset;
  line-height: 1.3;
  background: none;
  padding-top: 41px;
}
#open_campus.talkshow_page .breadclumnbs {
  max-width: 1580px;
  margin-left: auto;
  margin-right: auto;
}
#open_campus.talkshow_page .talkshow_mv .in {
  max-width: 1540px;
  width: 100%;
}
#open_campus.talkshow_page .talkshow_contents .in {
  max-width: 1360px;
  padding: 100px 0 85px;
}
#open_campus.talkshow_page .talkshow_contents .lead_wrap {
  max-width: 1093px;
  margin: 0 auto;
}
#open_campus.talkshow_page .talkshow_contents .ttl_h2 {
  font-size: 33px;
  line-height: 1.69;
  margin-bottom: 45px;
}
#open_campus.talkshow_page .talkshow_contents .ttl_h2 span:not(.color) {
  color: var(--color-white);
  background: var(--color-pink);
  border-radius: 6px;
  padding: 0 10px;
  margin: 0 5px;
}
#open_campus.talkshow_page .talkshow_contents .ttl_h2 span.color {
  color: var(--color-pink);
}
#open_campus.talkshow_page .talkshow_contents .list {
  padding-left: 21px;
  margin-top: 36px;
}
#open_campus.talkshow_page .talkshow_contents .list li {
  position: relative;
  font-size: 20px;
  font-weight: var(--medium);
  padding-left: 34px;
}
#open_campus.talkshow_page .talkshow_contents .list li::before {
  position: absolute;
  left: 0;
  top: 3px;
  content: "";
  display: block;
  width: 25px;
  height: 22px;
  background: url(../img/icon_check.png) center/contain no-repeat;
}
#open_campus.talkshow_page .talkshow_contents .list li + li {
  margin-top: 16px;
}
#open_campus.talkshow_page .talkshow_contents .box {
  background: #6B6B6B;
  border-radius: 15px;
  padding: 99px 132px;
  margin-top: 95px;
}
#open_campus.talkshow_page .talkshow_contents .box .ttl_h3 {
  text-align: center;
  color: var(--color-white);
  margin-bottom: 66px;
}
#open_campus.talkshow_page .talkshow_contents .box .ttl_h3 strong {
  display: block;
  color: #ECF101;
  font-size: 36px;
  font-weight: var(--bold);
  line-height: 1.3;
}
#open_campus.talkshow_page .talkshow_contents .box .ttl_h3 span {
  display: block;
  font-size: 28px;
  font-weight: var(--bold);
  margin-top: 12px;
  line-height: 1.3;
}
#open_campus.talkshow_page .talkshow_contents .box .ttl_h3 small {
  font-size: 17px;
  display: block;
  margin-top: 5px;
  line-height: 1.3;
  font-weight: var(--regular);
}
#open_campus.talkshow_page .talkshow_contents table {
  width: 100%;
}
#open_campus.talkshow_page .talkshow_contents table th,
#open_campus.talkshow_page .talkshow_contents table td {
  padding: 26px 0;
  font-size: 16px;
  color: var(--color-white);
  line-height: 1.3;
  border-top: 1px solid #9F9F9F;
  text-align: left;
  font-weight: var(--regular);
}
#open_campus.talkshow_page .talkshow_contents table tr:last-of-type th,
#open_campus.talkshow_page .talkshow_contents table tr:last-of-type td {
  border-bottom: 1px solid #9F9F9F;
}
#open_campus.talkshow_page .talkshow_contents table th {
  width: 230px;
  padding-left: 90px;
}
#open_campus.talkshow_page .talkshow_contents table td {
  position: relative;
  padding-left: 52px;
}
#open_campus.talkshow_page .talkshow_contents table td::before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  display: block;
  width: 1px;
  height: 25px;
  background: #9F9F9F;
  transform: translateY(-50%);
}
@media screen and (max-width: 1400px) {
  #open_campus.talkshow_page {
    padding-top: 0;
  }
  #open_campus.talkshow_page .breadclumnbs {
    max-width: calc(1580 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .in {
    max-width: calc(1360 / 1400 * 100vw);
    padding: calc(100 / 1400 * 100vw) 0 calc(85 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .lead_wrap {
    max-width: calc(1093 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .ttl_h2 {
    font-size: calc(33 / 1400 * 100vw);
    margin-bottom: calc(45 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .ttl_h2 span:not(.color) {
    border-radius: calc(6 / 1400 * 100vw);
    padding: 0 calc(10 / 1400 * 100vw);
    margin: 0 calc(5 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .list {
    padding-left: calc(21 / 1400 * 100vw);
    margin-top: calc(36 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .list li {
    font-size: calc(20 / 1400 * 100vw);
    padding-left: calc(34 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .list li::before {
    top: calc(3 / 1400 * 100vw);
    width: calc(25 / 1400 * 100vw);
    height: calc(22 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .list li + li {
    margin-top: calc(16 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .box {
    border-radius: calc(15 / 1400 * 100vw);
    padding: calc(99 / 1400 * 100vw) calc(132 / 1400 * 100vw);
    margin-top: calc(95 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .box .ttl_h3 {
    margin-bottom: calc(66 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .box .ttl_h3 strong {
    font-size: calc(36 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .box .ttl_h3 span {
    font-size: calc(28 / 1400 * 100vw);
    margin-top: calc(12 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .box .ttl_h3 small {
    font-size: calc(17 / 1400 * 100vw);
    margin-top: calc(5 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents table th,
  #open_campus.talkshow_page .talkshow_contents table td {
    padding: calc(26 / 1400 * 100vw) 0;
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents table th {
    width: calc(230 / 1400 * 100vw);
    padding-left: calc(90 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents table td {
    padding-left: calc(52 / 1400 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents table td::before {
    height: calc(25 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus.talkshow_page .talkshow_mv .in {
    margin: 0;
  }
  #open_campus.talkshow_page .talkshow_contents .in {
    padding: calc(119 / 390 * 100vw) 0 calc(35 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .lead_wrap {
    max-width: none;
  }
  #open_campus.talkshow_page .talkshow_contents .ttl_h2 {
    font-size: calc(28 / 390 * 100vw);
    line-height: 1.8;
    margin-bottom: calc(39 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .ttl_h2 span:not(.color) {
    border-radius: calc(6 / 390 * 100vw);
    padding: 0 calc(10 / 390 * 100vw);
    margin: 0 calc(5 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .list {
    margin-top: calc(48 / 390 * 100vw);
    padding-left: calc(13 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .list li {
    font-size: calc(17 / 390 * 100vw);
    padding-left: calc(33 / 390 * 100vw);
    line-height: 1.6;
  }
  #open_campus.talkshow_page .talkshow_contents .list li + li {
    margin-top: calc(21 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .list li::before {
    top: calc(3 / 390 * 100vw);
    width: calc(25 / 390 * 100vw);
    height: calc(22 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .box {
    padding: calc(90 / 390 * 100vw) calc(20 / 390 * 100vw);
    margin: calc(66 / 390 * 100vw) calc(-15 / 390 * 100vw) 0;
    border-radius: calc(20 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .box .ttl_h3 {
    margin-bottom: calc(70 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .box .ttl_h3 strong {
    font-size: calc(36 / 390 * 100vw);
    line-height: 1.25;
  }
  #open_campus.talkshow_page .talkshow_contents .box .ttl_h3 span {
    margin-top: calc(18 / 390 * 100vw);
    font-size: calc(26 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents .box .ttl_h3 small {
    font-size: calc(15 / 390 * 100vw);
    margin-top: calc(5 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents table th,
  #open_campus.talkshow_page .talkshow_contents table td {
    display: block;
    padding: 0 calc(4 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    width: 100%;
  }
  #open_campus.talkshow_page .talkshow_contents table th {
    border: none;
    padding-bottom: calc(10 / 390 * 100vw);
  }
  #open_campus.talkshow_page .talkshow_contents table td {
    padding-top: calc(14 / 390 * 100vw);
    padding-bottom: calc(42 / 390 * 100vw);
    line-height: 1.8;
  }
  #open_campus.talkshow_page .talkshow_contents table td::before {
    content: none;
  }
  #open_campus.talkshow_page .talkshow_contents table tr:last-of-type td {
    padding-bottom: 0;
    border-bottom: 0;
  }
}

/* ----------------------------------
2025-04-03 add
---------------------------------- */
#open_campus .oc_button.scnd {
  margin-top: 20px;
  text-align: center;
  line-height: 1.4;
}
#open_campus .oc_button.scnd .sm-only {
  display: none;
}
@media screen and (max-width: 767px) {
    #open_campus .oc_button.scnd .sm-only {
    display: block;
  }
}
#open_campus .oc_curriculum .oc_button {
  text-align: center;
  line-height: 1.4;
  margin-top: 30px;
  max-width: 100%;
  height: 70px;
  font-size: 16px;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_curriculum .oc_button {
    height: calc(70 / 1400* 100vw);
    font-size: calc(16 / 1400* 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_curriculum .oc_button {
    max-width: none;
    margin-top: calc(20 / 390* 100vw);
    width: calc(330 / 390* 100vw);
    height: calc(70 / 390* 100vw);
    border-radius: calc(10 / 390* 100vw);
    font-size: calc(16 / 390* 100vw);
    border-width: calc(2 / 390* 100vw);
    background-size: calc(9.5 / 390* 100vw) auto;
    background-position: center right calc(14 / 390* 100vw);
  }
}



/* ------------------------------------------------------------------------------------------------------
7/13
------------------------------------------------------------------------------------------------------ */
#open_campus.oc_713 .oc_kv .box .number,
#open_campus.oc_713 .oc_kv .box .date span,
#open_campus.oc_713 .oc_kv .box .lead {
  background: #fefd85;
}
#open_campus.oc_713 .oc_overview .ttl_h2,
#open_campus .oc_overview .list .item .ttl_h3,
#open_campus.oc_713 .oc_program .ttl_h2,
#open_campus.oc_713 .oc_attraction .oc_ttl .ttl_h2,
#open_campus.oc_713 .oc_attraction .contents figure .ttl_h3,
#open_campus.oc_713 .oc_experience .oc_ttl .ttl_h2,
#open_campus.oc_713 .oc_faq .oc_ttl .ttl_h2,
#open_campus.oc_713 .oc_precautions .oc_ttl .ttl_h2 {
  color: #10b8e9;
}
#open_campus.oc_713 .oc_kv .box .number, 
#open_campus.oc_713 .oc_kv .box .date span {
  color: var(--color-txt);
}

#open_campus.oc_713 .oc_overview .box,
#open_campus.oc_713 .oc_overview .box dt span,
#open_campus.oc_713 .oc_overview .box dl {
  border-color: rgb(16 184 233 / 0.5);
}
#open_campus.oc_713 .oc_overview .box dt::before {
  background: #d9fffe;
}
#open_campus.oc_713 .oc_overview .list .item figure {
  box-shadow: 10px 10px 0 #fff;
}
#open_campus.oc_713 .oc_overview .list .item .txt span {
  background: linear-gradient(transparent 60%, #fff 60%);
}
#open_campus.oc_713 div:not(.fixed_menu2) .oc_button {
  border-color: #ff5400;
  color: #ff5400;
}
#open_campus.oc_713 .oc_attraction .contents figure .ttl_h3 span {
  background: #f6ff00;
}
#open_campus.oc_713 .oc_experience,
#open_campus.oc_713 .oc_faq dd,
#open_campus.oc_713 .oc_access {
  background: #fffeaf;
}
#open_campus.oc_713 .oc_experience .list .item .number {
  background: #10b8e9 !important;
  color: #f6ff00 !important;
}
#open_campus.oc_713 .oc_access .oc_ttl .ttl_h2,
#open_campus.oc_713 .oc_faq dt .en {
  color: #ff5400;
}
#open_campus.oc_713 .oc_precautions {
  background: #d8fffe;
}
#open_campus.oc_713 .oc_kv {
  background-image: url(../img/713/bg-kv.jpg);
}
#open_campus.oc_713 .oc_kv::after {
  background-image: url(../img/713/kv_img.png);
}
#open_campus.oc_713 .oc_overview {
  background-image: url(../img/713/overview_bg.jpg);
}
#open_campus.oc_713 .oc_overview .list .item .ttl_h3::before {
  background-image: url(../img/713/icon_overview.png);
}
#open_campus.oc_713 div:not(.fixed_menu2) .oc_button {
  background-image: url(../img/713/icon_arrow_orange.png);
}
#open_campus.oc_713 .oc_attraction {
  background-image: url(../img/713/attraction_bg.jpg);
}
#open_campus.oc_713 .oc_experience .oc_ttl::after {
  background-image: url(../img/713/experience_ttl.png);
}
#open_campus.oc_713 .oc_attraction::after {
  background-position: top 560px right 29px, top 1555px left 53px,top 2970px right 54px;
}
@media screen and (max-width: 1400px) {
  #open_campus.oc_713 .oc_attraction::after {
    background-position: top calc(560 / 1400 * 100vw) right calc(29 / 1400 * 100vw), top calc(1555 / 1400 * 100vw) left calc(53 / 1400 * 100vw),top calc(2970 / 1400 * 100vw) right calc(54 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus.oc_713 .oc_kv {
    background-image: url(../img/713/bg-kv_sp.jpg);
  }
  #open_campus.oc_713 .oc_kv::after {
    background-image: url(../img/713/kv_img_sp.png);
  }
  #open_campus.oc_713 .oc_overview {
    background-image: url(../img/713/overview_bg_sp.jpg);
  }
  #open_campus.oc_713 .oc_attraction {
    background-image: url(../img/713/attraction_bg_sp.jpg);
  }
  #open_campus.oc_713 .oc_experience {
    background: url(../img/713/experience_bg_sp.jpg) center top/100% auto no-repeat;
  }
  #open_campus.oc_713 .oc_attraction::after {
    background-position: top right calc(6 / 390 * 100vw), top calc(1688 / 390 * 100vw) left calc(90 / 390 * 100vw), top calc(3030 / 390 * 100vw) right calc(73 / 390 * 100vw);
  }
}





/* ------------------------------------------------------------------------------------------------------
5/27 add
------------------------------------------------------------------------------------------------------ */
#open_campus.talkshow_page.talkshow_v2 .talkshow_contents .ttl_h2 span:not(.color) {
  background: #26D519;
}
#open_campus.talkshow_page.talkshow_v2 .talkshow_contents .ttl_h2 span.color,
#open_campus.talkshow_page.talkshow_v2 .talkshow_contents .box .ttl_h3 strong {
  color: #26D519;
}
#open_campus.talkshow_page.talkshow_v2 .talkshow_contents .box {
  background: #292929;
}
#open_campus.talkshow_page.talkshow_v2 .talkshow_contents .list li::before {
  background-image: url(../img/icon_check_green.png);
}
#open_campus.talkshow_page.talkshow_v2 .talkshow_contents .list li .note {
  display: block;
  font-size: 16px;
  margin-top: 8px;
  color: #777777;
  font-weight: 500;
  letter-spacing: 0.01em;
}

#open_campus .oc_attraction .banner {
  position: relative;
  display: block;
  margin-top: 50px;
  font-weight: 900;
  font-size: 30px;
  color: #ff47c7;
  text-align: center;
  text-decoration: none;
  padding: 40px 20px;
  line-height: 1.5;
  background: linear-gradient(-300deg, #fae4bb 0%, #fff6dc 30%, #ffccf9 100%);
  text-shadow: 2px 2px 0 white;
}
#open_campus .oc_attraction .banner span {
  color: #7256df;
}
#open_campus .oc_attraction .banner::after {
  position: absolute;
  top: 50%;
  right: 20px;
  content: "";
  width: 14px;
  height: 14px;
  border-top: 2px solid #ff47c7;
  border-right: 2px solid #ff47c7;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 1400px) {
  #open_campus.talkshow_page.talkshow_v2 .talkshow_contents .list li .note {
    margin-top: calc(8 / 1400 * 100vw);
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .banner {
    margin-top: calc(50 / 1400 * 100vw);
    font-size: calc(30 / 1400 * 100vw);
    padding: calc(40 / 1400 * 100vw) calc(20 / 1400 * 100vw);
  }
  #open_campus .oc_attraction .banner::after {
    right: calc(20 / 1400 * 100vw);
    width: calc(14 / 1400 * 100vw);
    height: calc(14 / 1400 * 100vw);
  }
}
@media screen and (min-width: 767px) {
  #open_campus.talkshow_page.talkshow_v2 .talkshow_contents .ttl_h2 {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  #open_campus.talkshow_page.talkshow_v2 .talkshow_contents .list li .note {
    margin-top: calc(5 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
  
  #open_campus .oc_attraction .banner {
    margin-top: calc(30 / 390 * 100vw);
    padding: calc(30 / 390 * 100vw) calc(20 / 390 * 100vw);
    font-size: calc(20 / 390 * 100vw);
  }
  #open_campus .oc_attraction .banner::after {
    right: calc(10 / 390 * 100vw);
    width: calc(10 / 390 * 100vw);
    height: calc(10 / 390 * 100vw);
  }
}


/* ------------------------------------------------------------------------------------------------------
8/9
------------------------------------------------------------------------------------------------------ */
#open_campus.oc_89 .oc_kv .box .number,
#open_campus.oc_89 .oc_kv .box .date span,
#open_campus.oc_89 .oc_kv .box .lead,
#open_campus.oc_89 .oc_button_br {
  background-color: #ffaed5;
}
#open_campus.oc_89 .oc_kv .box .txt {
  margin-top: 0.1em;
  font-weight: 500;
}
#open_campus.oc_89 .oc_overview .ttl_h2,
#open_campus.oc_89 .oc_program .ttl_h2,
#open_campus.oc_89 .oc_attraction .oc_ttl .ttl_h2,
#open_campus.oc_89 .oc_experience .oc_ttl .ttl_h2,
#open_campus.oc_89 .oc_faq .oc_ttl .ttl_h2,
#open_campus.oc_89 .oc_precautions .oc_ttl .ttl_h2 {
  color: #10b8e9;
}
#open_campus.oc_89 .oc_overview .list .item .ttl_h3 {
  color: #1a1a1a;
}
#open_campus.oc_89 .oc_kv .box .number, 
#open_campus.oc_89 .oc_kv .box .date span {
  color: var(--color-txt);
}

#open_campus.oc_89 .oc_overview .box,
#open_campus.oc_89 .oc_overview .box dt span,
#open_campus.oc_89 .oc_overview .box dl {
  border-color: rgb(16 184 233 / 0.5);
}
#open_campus.oc_89 .oc_overview .box dt::before {
  background: #f6fa95;
}
#open_campus.oc_89 .oc_overview .list .item figure {
  box-shadow: 10px 10px 0 #f6ff00;
}
#open_campus.oc_89 .oc_overview .list .item .txt span {
  background: linear-gradient(transparent 60%, #f6ff00 60%);
}
#open_campus.oc_89 div:not(.fixed_menu2) .oc_button {
  border-color: #ea4e99;
  color: #ea4e99;
}
#open_campus.oc_89 .oc_attraction .contents figure .ttl_h3 span {
  background: #10b8e9;
}
#open_campus.oc_89 .oc_experience,
#open_campus.oc_89 .oc_access {
  background: #d7f0ff;
}
#open_campus.oc_89 .oc_faq dd {
  background: #fffeaf;
}
#open_campus.oc_89 .oc_experience .list .item .number {
  background: #ffaed5 !important;
  color: #fff !important;
}
#open_campus.oc_89 .oc_access .oc_ttl .ttl_h2 {
  color: #10b8e9;
}
#open_campus.oc_89 .oc_faq dt .en {
  color: #ea4e99;
}
#open_campus.oc_89 .oc_precautions {
  background: #d7f0ff;
}
#open_campus.oc_89 .oc_kv {
  background-image: url(../img/89/bg-kv.jpg);
}
#open_campus.oc_89 .oc_kv::after {
  background-image: url(../img/89/kv_img.png);
}
#open_campus.oc_89 .oc_overview {
  background-image: url(../img/89/overview_bg.jpg);
}
#open_campus.oc_89 .oc_overview .list .item .ttl_h3::before {
  background-image: url(../img/713/icon_overview.png);
}
#open_campus.oc_89 div:not(.fixed_menu2) .oc_button {
  background-image: url(../img/89/icon_arrow_pink.png);
}
#open_campus.oc_89 .oc_attraction {
  background-image: url(../img/89/attraction_bg.jpg);
}
#open_campus.oc_89 .oc_experience .oc_ttl::after {
  background-image: url(../img/89/experience_ttl.png);
}
#open_campus.oc_89 .oc_attraction::after {
  background-image: url(../img/89/attraction_catch1.png), url(../img/89/attraction_catch2.png), url(../img/89/attraction_catch3.png);
  background-position: top 560px right 29px, top 1555px left 53px,top 2970px right 54px;
}
@media screen and (max-width: 1400px) {
  #open_campus.oc_89 .oc_attraction::after {
    background-position: top calc(560 / 1400 * 100vw) right calc(29 / 1400 * 100vw), top calc(1555 / 1400 * 100vw) left calc(53 / 1400 * 100vw),top calc(2970 / 1400 * 100vw) right calc(54 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus.oc_89 .oc_kv .box .txt {
    text-align: center;
    font-size: calc(18 / 390 * 100vw);
  }
  #open_campus.oc_89 .oc_kv {
    background-image: url(../img/89/bg-kv_sp.jpg);
  }
  #open_campus.oc_89 .oc_kv::after {
    background-image: url(../img/89/kv_img_sp.png);
  }
  #open_campus.oc_89 .oc_overview {
    background-image: url(../img/89/overview_bg_sp.jpg);
  }
  #open_campus.oc_89 .oc_attraction {
    background-image: url(../img/89/attraction_bg_sp.jpg);
  }
  #open_campus.oc_89 .oc_experience {
    background: url(../img/89/experience_bg_sp.jpg) center top/100% auto no-repeat;
  }
  #open_campus.oc_89 .oc_attraction::after {
    background-position: top right calc(6 / 390 * 100vw), top calc(1480 / 390 * 100vw) left calc(90 / 390 * 100vw), top calc(2880 / 390 * 100vw) right calc(73 / 390 * 100vw);
  }
}


/* ------------------------------------------------------------------------------------------------------
7/23 add
------------------------------------------------------------------------------------------------------ */
#open_campus .oc_program .img_wrap {
  position: relative;
}
#open_campus .oc_program .img_wrap a {
  position: absolute;
  display: block;
  width: 253px;
  height: 33px;
  bottom: 7.5%;
  right: 36.4%;
  border-radius: 9px;
}
#open_campus .oc_program .img_wrap a span {
  display: none;
}
#open_campus .oc_button.orange {
  background-color: #fe7f2e !important;
  background-image: url(../img/icon_arrow_wh.png) !important;
  color: #fff !important;
  border-color: #fe7f2e !important;
}
#open_campus .oc_kv .txt a {
  display: inline-block;
  margin-top: 10px;
  color: #10b8e9;
  text-decoration: underline;
  text-underline-offset: 6px;
}
@media screen and (max-width: 1400px) {
  #open_campus .oc_program .img_wrap a {
    width: calc(253 / 1400 * 100vw);
    height: calc(33 / 1400 * 100vw);
    border-radius: calc(9 / 1400 * 100vw);
  }
  #open_campus .oc_kv .txt a {
    margin-top: calc(10 / 1400 * 100vw);
    text-underline-offset: calc(6 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .oc_program .img_wrap a {
    width: calc(119 / 390 * 100vw);
    height: calc(17 / 390 * 100vw);
    border-radius: calc(3 / 390 * 100vw);
    right: 32.8%;
  }
  #open_campus .oc_kv .txt a {
    margin-top: calc(10 / 390 * 100vw);
    text-underline-offset: calc(6 / 390 * 100vw);
  }
}



/* ------------------------------------------------------------------------------------------------------
8/6 add
------------------------------------------------------------------------------------------------------ */
@media screen and (min-width: 768px) {
  #open_campus .event_list.col3 {
    justify-content: center;
  }
  #open_campus .event_list.col3 .event_item {
    width: 334px;
  }
}
@media screen and (max-width: 1400px) {
  #open_campus .event_list.col3 .event_item {
    width: calc(334 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .event_list.col3 .event_item {
    width: 100%;
  }
}
#open_campus.oc_1025 .oc_kv .box .number,
#open_campus.oc_1025 .oc_kv .box .date span,
#open_campus.oc_1025 .oc_kv .box .lead,
#open_campus.oc_1025 .oc_button_br {
  background-color: #efaa31;
}
#open_campus.oc_1025 .oc_kv .box .txt {
  margin-top: 0.1em;
  font-weight: 500;
}
#open_campus.oc_1025 .oc_overview .ttl_h2,
#open_campus.oc_1025 .oc_program .ttl_h2,
#open_campus.oc_1025 .oc_attraction .oc_ttl .ttl_h2,
#open_campus.oc_1025 .oc_experience .oc_ttl .ttl_h2,
#open_campus.oc_1025 .oc_faq .oc_ttl .ttl_h2,
#open_campus.oc_1025 .oc_precautions .oc_ttl .ttl_h2 {
  color: #efaa31;
}
#open_campus.oc_1025 .oc_overview .list .item .ttl_h3 {
  color: #1a1a1a;
}
#open_campus.oc_1025 .oc_kv .box .number, 
#open_campus.oc_1025 .oc_kv .box .date span {
  color: var(--color-txt);
}

#open_campus.oc_1025 .oc_overview .box,
#open_campus.oc_1025 .oc_overview .box dt span,
#open_campus.oc_1025 .oc_overview .box dl {
  border-color: rgb(228 82 0 / 0.5);
}
#open_campus.oc_1025 .oc_overview .box dt::before {
  background: #f3e5f5;
}
#open_campus.oc_1025 .oc_overview .list .item figure {
  box-shadow: 10px 10px 0 #efaa31;
}
#open_campus.oc_1025 .oc_overview .list .item .txt span,
#open_campus.oc_1025 .oc_experience .list .item .ttl_h3 span {
  background: linear-gradient(transparent 60%, #f3e5f5 60%);
}
#open_campus.oc_1025 div:not(.fixed_menu2) .oc_button {
  border-color: #ea4e99;
  color: #ea4e99;
}
#open_campus.oc_1025 .oc_attraction .contents figure .ttl_h3 span {
  background: #efaa31;
}
#open_campus.oc_1025 .oc_experience,
#open_campus.oc_1025 .oc_access {
  background: #ffecb3;
}
#open_campus.oc_1025 .oc_faq dd {
  background: #fff3e0;
}
#open_campus.oc_1025 .oc_experience .list .item .number {
  background: #ab47bc !important;
  color: #fff !important;
}
#open_campus.oc_1025 .oc_access .map .oc_button_br,
#open_campus.oc_1025 .oc_overview .oc_button_br {
  color: #fff;
  background-image: url(../img/icon_arrow_wh.png);
}

#open_campus.oc_1025 .oc_access .oc_ttl .ttl_h2 {
  color: #efaa31;
}
#open_campus.oc_1025 .oc_faq dt .en {
  color: #ab47bc;
}
#open_campus.oc_1025 .oc_precautions {
  background: #ffecb3;
}
#open_campus.oc_1025 .oc_kv {
  background-image: url(../img/1025/bg-kv.jpg);
}
#open_campus.oc_1025 .oc_kv::after {
  background-image: url(../img/1025/kv_img.png);
}
#open_campus.oc_1025 .oc_overview {
  background-image: url(../img/1025/overview_bg.jpg);
}
#open_campus.oc_1025 .oc_overview .list .item .ttl_h3::before {
  background-image: url(../img/1025/icon_overview.png);
}
#open_campus.oc_1025 div:not(.fixed_menu2) .oc_button {
  background-image: url(../img/89/icon_arrow_pink.png);
}
#open_campus.oc_1025 .oc_attraction {
  background-image: url(../img/1025/attraction_bg.jpg);
}
#open_campus.oc_1025 .oc_experience .oc_ttl::after {
  background-image: url(../img/1025/experience_ttl.png);
}
#open_campus.oc_1025 .oc_attraction::after {
  background-image: url(../img/1025/attraction_catch1.png), url(../img/1025/attraction_catch2.png), url(../img/1025/attraction_catch3.png);
  background-position: top 376px right 29px, top 1221px left 53px,top 1975px right 54px;
}
#open_campus.oc_1025 .oc_experience::after {
  background-image: url(../img/1025/experience_catch1.png), url(../img/1025/experience_catch2.png);
}
#open_campus.oc_1025 .oc_experience .list .item {
  padding-left: 58px;
  padding-right: 58px;
}
@media screen and (max-width: 1400px) {
  #open_campus.oc_1025 .oc_attraction::after {
    background-position: top calc(376 / 1400 * 100vw) right calc(29 / 1400 * 100vw), top calc(1221 / 1400 * 100vw) left calc(53 / 1400 * 100vw),top calc(1975 / 1400 * 100vw) right calc(54 / 1400 * 100vw);
  }
  #open_campus.oc_1025 .oc_experience .list .item {
    padding-left: calc(58 / 1400 * 100vw);
    padding-right: calc(58 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus.oc_1025 .oc_kv .box .txt {
    text-align: center;
    font-size: calc(18 / 390 * 100vw);
  }
  #open_campus.oc_1025 .oc_kv {
    background-image: url(../img/1025/bg-kv_sp.jpg);
  }
  #open_campus.oc_1025 .oc_kv::after {
    background-image: url(../img/1025/kv_img_sp.png);
  }
  #open_campus.oc_1025 .oc_overview {
    background-image: url(../img/1025/overview_bg_sp.jpg);
  }
  #open_campus.oc_1025 .oc_attraction {
    background-image: url(../img/1025/attraction_bg_sp.jpg);
  }
  #open_campus.oc_1025 .oc_experience {
    background: url(../img/1025/experience_bg_sp.jpg) center top/100% auto no-repeat;
  }
  #open_campus.oc_1025 .oc_attraction::after {
    background-position: top right calc(6 / 390 * 100vw), top calc(1020 / 390 * 100vw) left calc(90 / 390 * 100vw), top calc(1680 / 390 * 100vw) right calc(73 / 390 * 100vw);
  }
  #open_campus.oc_1025 .oc_attraction .contents:nth-of-type(3) {
    margin-top: calc(130 / 390 * 100vw);
  }
}

/* feature_box 2025/10/2 add */
.feature_box {
  border: 1px solid gray;
  padding: 50px;
  margin-top: 50px;
}
.feature_box .ttl {
  font-size: 24px;
  text-decoration: underline;
  color: red;
  line-height: 1.3;
}
.feature_box .lead {
  font-size: 20px;
  color: red;
  font-weight: 600;
  margin: 20px 0;
  line-height: 1.3;
}
.feature_box .info {
  font-weight: 600;
  font-size: 18px;
  margin: 0 0 10px;
  line-height: 1.3;
}
@media screen and (max-width: 1400px) {
  .feature_box {
    padding: calc(50 / 1400 * 100vw);
    margin-top: calc(50 / 1400 * 100vw);
  }
  .feature_box .ttl {
    font-size: calc(24 / 1400 * 100vw);
  }
  .feature_box .lead {
    font-size: calc(20 / 1400 * 100vw);
    margin: calc(20 / 1400 * 100vw) 0;
  }
  .feature_box .info {
    font-size: calc(18 / 1400 * 100vw);
    margin: 0 0 calc(10 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .feature_box {
    padding: calc(30 / 390 * 100vw);
    margin-top: calc(50 / 390 * 100vw);
  }
  .feature_box .ttl {
    font-size: calc(22 / 390 * 100vw);
  }
  .feature_box .lead {
    font-size: calc(18 / 390 * 100vw);
    margin: calc(10 / 390 * 100vw) 0;
  }
  .feature_box .info {
    font-size: calc(16 / 390 * 100vw);
    margin: 0 0 calc(10 / 390 * 100vw);
  }
  #open_campus .feature_box .txt {
    font-size: calc(14 / 390 * 100vw);
  }
}



/* ------------------------------------------------------------------------------------------
 2026/01/19 add 
------------------------------------------------------------------------------------------ */
.oc_exclusive .h_gNav .gNav:not(.scroll_gnav) .nav-lv2 {
  margin-top: 22px;
}
.oc_exclusive .scroll_gnav-in .nav-lv2 {
  margin-top: 0 !important;
}
.oc_exclusive .h_subnav-wrap {
  display: flex;
}
.oc_exclusive .h_subnav-btn {
  gap: 12px !important;
}
.oc_exclusive .h_subnav-btn li {
  width: 148px !important;
}
.oc_exclusive .h_subnav-btn li a {
  padding: 8px !important;
  font-size: 15px !important;
  height: 100% !important;
  width: auto !important;
}
.oc_exclusive .h_subnav-btn li a img.icon {
  height: revert-layer !important;
}
.oc_exclusive .h_subnav-btn li.line a {
  background: #06c755;
}
.oc_exclusive .gNav .gNav-list {
  justify-content: flex-end;
  gap: 0;
}
.oc_exclusive .gNav .gNav-list > li > a span {
  padding: 1px 27px;
  font-size: 15px;
}
.oc_exclusive .gNav .gNav-list > li > a span::before, 
.oc_exclusive .link-inline::before {
  content: none !important;
}
.oc_exclusive header#common-header .inner {
  max-width: none;
}
.oc_exclusive #common-footer .h_nav-other {
  flex-wrap: wrap;
}
@media screen and (min-width: 767px) {
  .oc_exclusive .f-gNav {
    display: none;
  }
}
@media screen and (min-width: 1279px) {
  .oc_exclusive #common-header {
    padding: 27px 30px 22px;
  }
  .oc_exclusive .head > .h_logo {
    position: absolute;
    padding: 0;
  }
  .oc_exclusive .h_btn-wrap {
    display: none;
  }
  .oc_exclusive .gNav:not(.scroll_gnav-in,.scroll_gnav) .gNav-list > li:not(:first-of-type) {
    border-left: 1px solid #000;
  }
}
@media screen and (max-width: 1278px) {
  .oc_exclusive .h_subnav-wrap,
  .oc_exclusive header#common-header .inner {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .oc_exclusive .f-outline .h_subnav-btn {
    justify-content: center;
  }
  .oc_exclusive .h_subnav-btn li {
    width: auto !important;
  }
  .oc_exclusive .h_subnav-btn li a {
    font-size: 13px !important;
  }
  .oc_exclusive .h_subnav-btn li a img.icon {
    margin-right: 5px;
  }
  .oc_exclusive .h_subnav-btn {
    gap: 10px !important;
    justify-content: space-between;
  }
  .oc_exclusive .f-gNav {
    padding-top: 128px;
  }
  .oc_exclusive .f-gNav .gNav-list {
    border-top: 1px solid #D9D9D9;
  }
  .oc_exclusive #common-footer li.gnav-home a::before {
    content: '';
    border: 1px solid #D9D9D9;
    border-radius: 50%;
    box-sizing: border-box;
    margin: auto 0;
    height: 30px;
    width: 30px;
    position: absolute;
    top: 0;
    right: 22px;
    bottom: 0;
    background: none;
  }
  .oc_exclusive #common-footer li.gnav-home a::after {
    background-image: url(../../ja/common/img/icon_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    content: '';
    height: 20px;
    width: 20px;
    margin: auto 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 27px;
    display: block;
    transition: opacity .25s ease-out, transform .25s ease-out;
    background-color: transparent;
  }
}

#open_campus.ver2026 .oc_lead_wrap {
  background-image: url(../img/2026/lead_bg.jpg);
  margin-top: 0 !important;
}
#open_campus.ver2026 .oc_fv:has(.swiper) + .oc_lead_wrap {
  margin-top: -29px !important;
}
#open_campus.ver2026 .oc_lead_wrap .ttl_h2 {
  color: var(--color-white);
}
@media screen and (max-width: 1400px) {
  #open_campus.ver2026 .oc_fv:has(.swiper) + .oc_lead_wrap {
    margin-top: calc(-29 / 1400 * 100vw) !important;
  }
}
@media screen and (min-width: 768px) {
  #open_campus.ver2026 .oc_lead_wrap .list .item .ttl_h3 {
    padding-left: 0;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  #open_campus.ver2026 .oc_lead_wrap .list .item .ttl_h3 {
    min-height: calc(79.4 / 390 * 100vw);
  }
  #open_campus.ver2026 .oc_lead_wrap .list .item:not(.held) .ttl_h3 {
    padding-top: calc(25 / 390 * 100vw);
  }
  #open_campus.ver2026 .oc_fv:has(.swiper) + .oc_lead_wrap {
    margin-top: calc(-29 / 390 * 100vw) !important;
  }
}

/* letstalk */
.letstalk {
  background: url(../img/lead_bg.jpg) center/cover no-repeat;
}
.letstalk .oc_ttl {
  margin-bottom: 74px;
}
.letstalk_slide.swiper {
  overflow: visible;
}
.letstalk_slide .swiper-slide {
  position: relative;
  overflow: hidden;
  width: 297px;
  height: 522px;
  border-radius: 6px;
  margin-right: 54px;
  box-shadow: 2px 0 20px rgb(0 0 0 / 0.1);
  cursor: pointer;
}
.letstalk_slide .swiper-slide::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / 0.2) url(../img/2026/icon_saisei.png) center/91px auto no-repeat;
  transition: .3s;
  pointer-events: none;
}
.letstalk_slide .swiper-slide:hover::after {
  background-color: rgb(0 0 0 / 0);
}
.letstalk_slide .swiper-slide a,
.letstalk_slide .swiper-slide img {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.letstalk-buttons .swiper-button {
  width: 50px;
}
.letstalk-buttons .swiper-button::after {
  content: none;
}
.letstalk-buttons .letstalk-prev {
  left: -75px;
}
.letstalk-buttons .letstalk-next {
  right: -75px;
}
@media screen and (max-width: 1490px) {
  .letstalk-buttons .letstalk-prev {
    left: -30px;
  }
  .letstalk-buttons .letstalk-next {
    right: -30px;
  }
}
@media screen and (max-width: 1400px) {
  .letstalk .oc_ttl {
    margin-bottom: calc(74 / 1400 * 100vw);
  }
  .letstalk_slide .swiper-slide {
    width: calc(297 / 1400 * 100vw);
    height: calc(522 / 1400 * 100vw);
    border-radius: calc(6 / 1400 * 100vw);
    margin-right: calc(54 / 1400 * 100vw);
    box-shadow: calc(2 / 1400 * 100vw) 0
                calc(20 / 1400 * 100vw)
                rgb(0 0 0 / 0.1);
  }
  .letstalk_slide .swiper-slide::after {
    background-size: calc(91 / 1400 * 100vw) auto;
  }
  .letstalk-buttons .swiper-button {
    width: calc(50 / 1400 * 100vw);
  }
  .letstalk-buttons .letstalk-prev {
    left: calc(-30 / 1400 * 100vw);
  }
  .letstalk-buttons .letstalk-next {
    right: calc(-30 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .letstalk-buttons .swiper-button {
    width: calc(40 / 390 * 100vw);
  }
  .letstalk-buttons .letstalk-prev {
    left: calc(-20 / 390 * 100vw);
  }
  .letstalk-buttons .letstalk-next {
    right: calc(-20 / 390 * 100vw);
  }
  .letstalk_slide .swiper-slide {
    width: calc(297 / 390 * 100vw);
    height: calc(522 / 390 * 100vw);
    margin: 0 calc(13.5 / 390 * 100vw);
    border-radius: calc(6 / 390 * 100vw);
  }
  .letstalk_slide .swiper-slide::after {
    background-size: calc(91 / 390 * 100vw) auto;
  }
}

/* campusmovie */
.campusmovie {
  background: url(../img/2026/lead_bg.jpg) center/cover no-repeat;
}
.campusmovie .ttl_h2 {
  color: var(--color-white);
}
.campusmovie .movie {
  position: relative;
  overflow: hidden;
  width: 832px;
  height: 468px;
  margin: 0 auto;
}
.campusmovie .movie > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1400px) {
  .campusmovie .movie {
    width: calc(832 / 1400 * 100vw);
    height: calc(468 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .campusmovie .movie {
    width: 100%;
    height: calc(202 / 390 * 100vw);
  }
}

/* oc_learn */
#open_campus #learn_on_youtube_student.oc_learn {
  background-color: #fbd1db !important;
}
@media screen and (max-width: 1400px) {
  #open_campus #learn_on_youtube_student.oc_learn {
    background-color: #fbd1db !important;
  }
}
@media screen and (max-width: 767px) {
  #open_campus #learn_on_youtube_student.oc_learn {
    background-color: #fbd1db !important;
  }
}

/* oc_fv_slide */
#open_campus.ver2026 .oc_fv_slide .slide_button {
  position: absolute;
  left: calc(188 / 1600 * 100vw);
  bottom: calc(102 / 1600 * 100vw);
  display: block;
  width: calc(410 / 1600 * 100vw);
  height: auto;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  #open_campus.ver2026 .oc_fv_slide .slide_button {
    width: 100%;
    left: 0;
    bottom: 0;
  }
}


/* instagram */
.instagram {
  background: url(../img/2026/lead_bg.jpg) center/cover no-repeat;
}
.instagram .ttl_h2 {
  color: var(--color-white);
}
.instagram .list {
  display: flex;
  flex-wrap: wrap;
}
.instagram .list li {
  position: relative;
  overflow: hidden;
  width: 12.5%;
  aspect-ratio: 167/228;
}
.instagram .list li img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#open_campus .instagram .oc_button_br {
  background: var(--color-white);
  color: #b71840;
  margin-top: 36px;
}
@media screen and (max-width: 1400px) {
  #open_campus .instagram .oc_button_br {
    margin-top: calc(36 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .instagram .list li {
    width: 33.33%;
  }
  .instagram .list li:nth-of-type(n + 10) {
    display: none;
  }
  #open_campus .instagram .oc_button_br {
    margin-top: calc(36 / 390 * 100vw);
  }
}

/* accessmap */
.accessmap {
  background: url(../img/2026/accessmap_bg.jpg) center top/cover no-repeat;
}
#open_campus .accessmap .in > .oc_button_br {
  background: #f86793;
  color: var(--color-white);
}
.accessmap .block {
  margin-top: 47px;
  background: var(--color-white);
  padding: 72px 80px 100px;
  box-shadow: 2px 0 20px rgb(0 0 0 / 0.1);
  border-radius: 6px;
}
.accessmap .ttl_h3 {
  text-align: center;
  margin-bottom: 70px;
  font-size: 30px;
  font-weight: 600;
}
.accessmap table {
  width: 100%;
}
.accessmap table th,
.accessmap table td {
  text-align: left;
  padding: 24px 0;
}
.accessmap table th {
  font-size: 24px;
  font-weight: 600;
  color: #b71840;
}
.accessmap table td {
  position: relative;
  font-size: 20px;
  font-weight: 500;
}
#open_campus .accessmap table td .oc_button_br {
  position: absolute;
  margin: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: var(--color-white);
  border: 1px solid #b71840;
  color: #b71840;
}
#open_campus .accessmap table td .map {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 495px;
}
#open_campus .accessmap table td .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#open_campus .accessmap table td dl {
  padding: 0 20px;
}
#open_campus .accessmap table td dt {
  padding-bottom: 12px;
  border-bottom: 1px solid #cccccc;
  font-size: 20px;
  font-weight: 600;
  color: #b71840;
}
#open_campus .accessmap table td dd {
  padding-top: 19px;
  font-size: 16px;
}
#open_campus .accessmap table td dd + dt {
  margin-top: 30px;
}
@media screen and (max-width: 1400px) {
  .accessmap .block {
    margin-top: calc(47 / 1400 * 100vw);
    padding: calc(72 / 1400 * 100vw)
            calc(80 / 1400 * 100vw)
            calc(100 / 1400 * 100vw);
    box-shadow: calc(2 / 1400 * 100vw) 0
                calc(20 / 1400 * 100vw)
                rgb(0 0 0 / 0.1);
    border-radius: calc(6 / 1400 *  100vw);
  }
  .accessmap .ttl_h3 {
    margin-bottom: calc(70 / 1400 * 100vw);
    font-size: calc(30 / 1400 * 100vw);
  }
  .accessmap table th,
  .accessmap table td {
    padding: calc(24 / 1400 * 100vw) 0;
  }
  .accessmap table th {
    font-size: calc(24 / 1400 * 100vw);
  }
  .accessmap table td {
    font-size: calc(20 / 1400 * 100vw);
  }
  #open_campus .accessmap table td .map {
    height: calc(495 / 1400 * 100vw);
  }
  #open_campus .accessmap table td dl {
    padding: 0 calc(20 / 1400 * 100vw);
  }
  #open_campus .accessmap table td dt {
    padding-bottom: calc(12 / 1400 * 100vw);
    font-size: calc(20 / 1400 * 100vw);
  }
  #open_campus .accessmap table td dd {
    padding-top: calc(19 / 1400 * 100vw);
    font-size: calc(16 / 1400 * 100vw);
  }
  #open_campus .accessmap table td dd + dt {
    margin-top: calc(30 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .accessmap .block {
    margin-top: calc(42 / 390 * 100vw);
    padding: calc(44 / 390 * 100vw) calc(25 / 390 * 100vw);
    border-radius: calc(6 / 390 * 100vw);
  }
  .accessmap .ttl_h3 {
    font-size: calc(22 / 390 * 100vw);
    margin-bottom: calc(38 / 390 * 100vw);
  }
  .accessmap table th,
  .accessmap table td {
    display: block;
    padding: calc(10 / 390 * 100vw) 0;
  }
  .accessmap table th {
    font-size: calc(18 / 390 * 100vw);
  }
  .accessmap table td {
    font-size: calc(15 / 390 * 100vw);
    line-height: 1.4;
  }
  #open_campus .accessmap table td .oc_button_br {
    position: static;
    transform: unset;
    margin: calc(14 / 390 * 100vw) auto 0;
  }
  #open_campus .accessmap table td .map {
    width: 100%;
    height: calc(400 / 390 * 100vw);
    margin-bottom: calc(20 / 390 * 100vw);
  }
  #open_campus .accessmap table td dl {
    padding: calc(20 / 390 * 100vw)
            calc(10 / 390 * 100vw)
            0;
  }
  #open_campus .accessmap table td dt {
    font-size: calc(16 / 390 * 100vw);
    padding-bottom: calc(6 / 390 * 100vw);
  }
  #open_campus .accessmap table td dd {
    font-size: calc(14 / 390 * 100vw);
    padding-top: calc(13 / 390 * 100vw);
  }

  #open_campus .accessmap table td dd + dt {
    margin-top: calc(17 / 390 * 100vw);
  }
}

/* about------------------------------- */
/* about_fv */
#open_campus section.about_fv {
  padding: 0;
} 
.about_fv .ac_list {
  display: flex;
  background: var(--color-white);
  gap: 1px;
  padding: 1px 0;
}
.about_fv .ac_list li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(20% - (1px * 4 / 5));
  background: #f9dee5 url(../img/2026/icon_arrow_pk.png) center bottom 17px/12px auto no-repeat;
  height: 140px;
  padding-bottom: 20px;
}
.about_fv .ac_list li a {
  font-size: 20px;
  text-align: center;
  text-decoration: none;
  color: #000;
  font-family: var(--font-ja-min);
  font-weight: 800;
  line-height: 1.3;
}
.about_fv .ac_list li a span {
  color: var(--color-d-pink);
  font-size: 36px;
}
@media screen and (max-width: 1400px) {
  .about_fv .ac_list {
    gap: calc(1 / 1400 * 100vw);
    padding: calc(1 / 1400 * 100vw) 0;
  }
  .about_fv .ac_list li {
    width: calc(20% - (calc(1 / 1400 * 100vw) * 4 / 5));
    background-position: center bottom calc(17 / 1400 * 100vw);
    background-size: calc(12 / 1400 * 100vw) auto;
    height: calc(140 / 1400 * 100vw);
    padding-bottom: calc(20 / 1400 * 100vw);
  }
  .about_fv .ac_list li a {
    font-size: calc(20 / 1400 * 100vw);
  }
  .about_fv .ac_list li a span {
    font-size: calc(36 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .about_fv .ac_list {
    padding: calc(1 / 390 * 100vw) 0;
    gap: calc(1 / 390 * 100vw);
    flex-wrap: wrap;
  }

  .about_fv .ac_list li {
    width: calc(50% - calc(0.5 / 390 * 100vw));
    height: calc(70 / 390 * 100vw);
    background-size: calc(7 / 390 * 100vw) auto;
    background-position: center bottom calc(8 / 390 * 100vw);
    padding-bottom: calc(15 / 390 * 100vw);
  }

  .about_fv .ac_list li a {
    font-size: calc(12 / 390 * 100vw);
  }

  .about_fv .ac_list li a span {
    font-size: calc(22 / 390 * 100vw);
    padding: 0 calc(5 / 390 * 100vw);
  }
}

/* about_contents */
#open_campus section.about_contents:not(.contents1,.contents3,.contents5) {
  padding: 160px 0;
}
.about_contents sup {
  font-size: 14px;
  color: #000;
  vertical-align: text-top;
}
.about_contents .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.about_contents .flex .txt_wrap {
  width: 630px;
}
.about_contents .flex figure {
  width: 696px;
}
.about_contents .lead {
  font-family: var(--font-ja-min);
  font-size: 44px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
.about_contents .ttl_h2 + .lead {
  margin-top: 20px;
}
.about_contents .ttl_h2 {
  position: relative;
  font-size: 66px;
  font-weight: 800;
  font-family: var(--font-ja-min);
  color: var(--color-d-pink);
}
.about_contents .ttl_h2 strong {
  font-size: 120px;
  font-style: italic;
  padding: 0 10px;
}
.about_contents .ttl_h2 small {
  position: absolute;
  font-size: 38px;
}
.about_contents .ttl_h2 .txt_m {
  font-size: 58px;
  letter-spacing: -0.025em;
}
.about_contents .ttl_h2 .bk {
  color: #000;
}
#open_campus .about_contents .txt {
  margin-top: 38px;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.05em;
}
.about_contents .note {
  display: block;
  margin-top: 20px;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.about_contents .box {
  position: relative;
  max-width: 1005px;
  margin: 74px auto 0;
  padding: 67px 10px 40px;
  background: var(--color-white);
  box-shadow: 0 2px 20px rgb(0 0 0 / 0.1);
}
.about_contents .box .ttl {
  position: absolute;
  left: 50%;
  top: -25px;
  transform: translateX(-50%);
  background: #f86793;
  padding: 13px 50px;
  border-radius: 50px;
  font-size: 24px;
  font-family: var(--font-ja-min);
  text-align: center;
  color: var(--color-white);
  letter-spacing: 0.05em;
}
.about_contents .box .check_list {
  max-width: max-content;
  margin: 0 auto;
}
.about_contents .box .check_list li {
  position: relative;
  font-size: 24px;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding-left: 65px;
}
.about_contents .box .check_list li::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 35px;
  height: 35px;
  background: url(../img/2026/icon_check.png) center/contain no-repeat;
}
.about_contents .box .check_list li + li {
  margin-top: 1em;
}
.about_contents .in > .txt_wrap {
  text-align: center;
}
.about_contents .table_wrap {
  position: relative;
  max-width: 1200px;
  margin: 50px auto 0;
}
.about_contents table {
  width: 100%;
  border: 1px solid #cccccc;
}
.about_contents table th,
.about_contents table td {
  padding: 22px 35px;
  font-weight: 400;
  text-align: left;
  border-bottom: 1px solid #cccccc;
}
.about_contents table th {
  font-size: 20px;
  background: rgb(249 222 229 / 0.5);
}
.about_contents table td {
  position: relative;
  font-size: 18px;
  width: calc((100% - 240px) / 4);
}
.about_contents table td:not(:last-of-type,:empty)::after {
  position: absolute;
  right: 0;
  top: 50%;
  content: "";
  width: 1px;
  height: calc(100% - 20px);
  background: #cccccc;
  transform: translateY(-50%);
}
.about_contents table span.new,
#open_campus .oc_faculty .list .item a dt span.new {
  position: relative;
  padding-left: 37px;
}
.about_contents table span.new::before,
#open_campus .oc_faculty .list .item a dt span.new::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "NEW";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33px;
  height: 33px;
  background: #f86793;
  border-radius: 100%;
  font-family: var(--font-ja-min);
  font-size: 10px;
  color: var(--color-white);
}
.about_contents .table_img {
  position: absolute;
  right: 42px;
  bottom: 74px;
  width: 360px;
  height: 240px;
  border: 6px solid var(--color-white);
  box-shadow: 0 2px 20px rgb(0 0 0 / 0.1);
}
.about_contents .in > figure {
  margin: 34px auto;
}
.about_contents .imgs {
  display: flex;
  gap: 21px;
  margin: 76px auto 0;
}
.about_contents .imgs figure {
  width: calc(25% - (21px * 3 / 4));
}
.about_contents .imgs figure figcaption {
  margin-top: 14px;
  font-size: 16px;
}
.about_contents .text_link {
  position: relative;
  display: block;
  max-width: max-content;
  margin: 60px auto 0;
  text-decoration: none;
  border-bottom: 1px solid var(--color-d-pink);
  color: var(--color-d-pink);
  padding-bottom: 10px;
  font-size: 18px;
}
.about_contents .text_link::after {
  position: absolute;
  top: 50%;
  right: -30px;
  transform: translateY(-70%);
  content: "";
  width: 22px;
  height: 22px;
  background: url(../img/2026/icon_blank.png) center/contain no-repeat;
}
.about_contents.contents4 .lead {
  font-size: 40px;
  letter-spacing: -0.1em;
}
.about_contents.contents5 .ttl_h2 {
  font-size: 60px;
}
.about_contents.contents5 .ttl_h2 strong {
  font-size: 80px;
}
.about_contents.contents5 .box {
  box-shadow: none;
  background: #eeeeee;
  max-width: 1205px;
}
.about_contents.contents5 .box .list {
  display: flex;
  gap: 30px;
  justify-content: center;
}
.about_contents.contents5 .box .list li {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 35px 0;
  background: var(--color-white);
  border-radius: 10px;
  width: 350px;
  text-align: center;
  font-size: 20px;
  font-family: var(--font-ja-min);
  font-weight: 800;
  line-height: 1.1;
}
.about_contents.contents5 .box .list li strong {
  font-size: 36px;
  color: var(--color-d-pink);
}
.about_contents.contents1 .flex,
.about_contents.contents4 .flex {
  transform: translateX(60px);
}
.about_contents.contents2 .flex {
  flex-direction: row-reverse;
  transform: translateX(-60px);
}
.about_contents.contents2 {
  clip-path: polygon(0 0, 100% calc(0% + 100px), 100% 100%, 0 calc(100% - 100px));
}
.about_contents.contents2,
.about_contents.contents4 {
  background: url(../img/2026/about_bg.jpg) center/cover no-repeat;
}
.about_contents.contents4 {
  clip-path: polygon(0 calc(0% + 100px), 100% 0%, 100% calc(100% - 100px), 0 100%);
}
.about_contents .loop_slide {
  margin-top: 51px;
}
.about_contents .loop_slide .swiper-wrapper {
  transition-timing-function: linear;
}
.about_contents .loop_slide .swiper-slide {
  width: 280px;
  min-width: 280px;
}
.about_contents.contents3 .loop_slide .swiper-slide {
  width: 278px;
  min-width: 278px;
}
@media screen and (max-width: 1400px) {
  #open_campus section.about_contents:not(.contents1,.contents3,.contents5) {
    padding: calc(160 / 1400 * 100vw) 0;
  }
  .about_contents sup {
    font-size: calc(14 / 1400 * 100vw);
  }
  .about_contents .flex .txt_wrap {
    width: calc(630 / 1400 * 100vw);
  }
  .about_contents .flex figure {
    width: calc(696 / 1400 * 100vw);
  }
  .about_contents .lead {
    font-size: calc(44 / 1400 * 100vw);
    letter-spacing: 0.05em;
  }
  .about_contents .ttl_h2 + .lead {
    margin-top: calc(20 / 1400 * 100vw);
  }
  .about_contents .ttl_h2 {
    font-size: calc(65 / 1400 * 100vw);
  }
  .about_contents .ttl_h2 strong {
    font-size: calc(120 / 1400 * 100vw);
    padding: 0 calc(10 / 1400 * 100vw);
  }
  .about_contents .ttl_h2 small {
    font-size: calc(38 / 1400 * 100vw);
  }
  .about_contents .ttl_h2 .txt_m {
    font-size: calc(58 / 1400 * 100vw);
    letter-spacing: -0.025em;
  }
  #open_campus .about_contents .txt {
    margin-top: calc(38 / 1400 * 100vw);
    font-size: calc(18 / 1400 * 100vw);
    letter-spacing: 0.05em;
  }
  .about_contents .note {
    margin-top: calc(20 / 1400 * 100vw);
    font-size: calc(14 / 1400 * 100vw);
    letter-spacing: 0.05em;
  }
  .about_contents .box {
    max-width: calc(1005 / 1400 * 100vw);
    margin: calc(74 / 1400 * 100vw) auto 0;
    padding: calc(67 / 1400 * 100vw) calc(10 / 1400 * 100vw) calc(40 / 1400 * 100vw);
    box-shadow: 0 calc(2 / 1400 * 100vw) calc(20 / 1400 * 100vw) rgb(0 0 0 / 0.1);
  }
  .about_contents .box .ttl {
    left: 50%;
    top: calc(-25 / 1400 * 100vw);
    padding: calc(13 / 1400 * 100vw) calc(50 / 1400 * 100vw);
    border-radius: calc(50 / 1400 * 100vw);
    font-size: calc(24 / 1400 * 100vw);
    letter-spacing: 0.05em;
  }
  .about_contents .box .check_list li {
    font-size: calc(24 / 1400 * 100vw);
    letter-spacing: 0.1em;
    padding-left: calc(65 / 1400 * 100vw);
  }
  .about_contents .box .check_list li::before {
    left: 0;
    top: 50%;
    width: calc(35 / 1400 * 100vw);
    height: calc(35 / 1400 * 100vw);
  }
  .about_contents .table_wrap {
    max-width: calc(1200 / 1400 * 100vw);
    margin: calc(50 / 1400 * 100vw) auto 0;
  }
  .about_contents table {
    width: 100%;
    border: calc(1 / 1400 * 100vw) solid #cccccc;
  }
  .about_contents table th,
  .about_contents table td {
    padding: calc(22 / 1400 * 100vw) calc(35 / 1400 * 100vw);
    border-bottom: calc(1 / 1400 * 100vw) solid #cccccc;
  }
  .about_contents table th {
    font-size: calc(20 / 1400 * 100vw);
  }
  .about_contents table td {
    font-size: calc(18 / 1400 * 100vw);
    width: calc((100% - calc(240 / 1400 * 100vw)) / 4);
  }
  .about_contents table td:not(:last-of-type,:empty)::after {
    right: 0;
    top: 50%;
    width: calc(1 / 1400 * 100vw);
    height: calc(100% - calc(20 / 1400 * 100vw));
  }
  .about_contents table span.new,
  #open_campus .oc_faculty .list .item a dt span.new {
    padding-left: calc(37 / 1400 * 100vw);
  }
  .about_contents table span.new::before,
  #open_campus .oc_faculty .list .item a dt span.new::before {
    top: 50%;
    left: 0;
    width: calc(33 / 1400 * 100vw);
    height: calc(33 / 1400 * 100vw);
    font-size: calc(10 / 1400 * 100vw);
  }
  .about_contents .table_img {
    right: calc(42 / 1400 * 100vw);
    bottom: calc(74 / 1400 * 100vw);
    width: calc(360 / 1400 * 100vw);
    height: calc(240 / 1400 * 100vw);
    border: calc(6 / 1400 * 100vw) solid var(--color-white);
    box-shadow: 0 calc(2 / 1400 * 100vw) calc(20 / 1400 * 100vw) rgb(0 0 0 / 0.1);
  }
  .about_contents .in > figure {
    margin: calc(34 / 1400 * 100vw) auto;
  }
  .about_contents .imgs {
    gap: calc(21 / 1400 * 100vw);
    margin: calc(76 / 1400 * 100vw) auto 0;
  }
  .about_contents .imgs figure {
    width: calc(25% - (calc(21 / 1400 * 100vw) * 3 / 4));
  }
  .about_contents .imgs figure figcaption {
    margin-top: calc(14 / 1400 * 100vw);
    font-size: calc(16 / 1400 * 100vw);
  }
  .about_contents .text_link {
    margin: calc(60 / 1400 * 100vw) auto 0;
    border-bottom: calc(1 / 1400 * 100vw) solid var(--color-d-pink);
    padding-bottom: calc(10 / 1400 * 100vw);
    font-size: calc(18 / 1400 * 100vw);
  }
  .about_contents .text_link::after {
    top: 50%;
    right: calc(-30 / 1400 * 100vw);
    width: calc(22 / 1400 * 100vw);
    height: calc(22 / 1400 * 100vw);
  }
  .about_contents.contents4 .lead {
    font-size: calc(40 / 1400 * 100vw);
    letter-spacing: -0.1em;
  }
  .about_contents.contents5 .ttl_h2 {
    font-size: calc(60 / 1400 * 100vw);
  }
  .about_contents.contents5 .ttl_h2 strong {
    font-size: calc(80 / 1400 * 100vw);
  }
  .about_contents.contents5 .box {
    max-width: calc(1205 / 1400 * 100vw);
  }
  .about_contents.contents5 .box .list {
    gap: calc(30 / 1400 * 100vw);
  }
  .about_contents.contents5 .box .list li {
    padding: calc(35 / 1400 * 100vw) 0;
    border-radius: calc(10 / 1400 * 100vw);
    width: calc(350 / 1400 * 100vw);
    font-size: calc(20 / 1400 * 100vw);
  }
  .about_contents.contents5 .box .list li strong {
    font-size: calc(36 / 1400 * 100vw);
  }
  .about_contents.contents1 .flex,
  .about_contents.contents4 .flex {
    transform: translateX(calc(60 / 1400 * 100vw));
  }
  .about_contents.contents2 .flex {
    transform: translateX(calc(-60 / 1400 * 100vw));
  }
  .about_contents.contents2 {
    clip-path: polygon(
      0 0,
      100% calc(0% + calc(100 / 1400 * 100vw)),
      100% 100%,
      0 calc(100% - calc(100 / 1400 * 100vw))
    );
  }
  .about_contents.contents4 {
    clip-path: polygon(
      0 calc(0% + calc(100 / 1400 * 100vw)),
      100% 0%,
      100% calc(100% - calc(100 / 1400 * 100vw)),
      0 100%
    );
  }
  .about_contents .loop_slide {
    margin-top: calc(51 / 1400 * 100vw);
  }
  .about_contents .loop_slide .swiper-slide {
    width: calc(280 / 1400 * 100vw);
    min-width: calc(280 / 1400 * 100vw);
  }
  .about_contents.contents3 .loop_slide .swiper-slide {
    width: calc(278 / 1400 * 100vw);
    min-width: calc(278 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .about_contents .flex {
    display: block;
    transform: unset !important;
  }

  .about_contents .flex .txt_wrap,
  .about_contents .flex figure {
    width: 100%;
  }

  #open_campus .about_contents .txt {
    font-size: calc(14 / 390 * 100vw);
    margin-top: calc(15 / 390 * 100vw);
    text-align: left;
  }

  .about_contents .note {
    font-size: calc(11 / 390 * 100vw);
    color: #666666;
  }

  .about_contents .ttl_h2 {
    font-size: calc(40 / 390 * 100vw);
  }

  .about_contents .ttl_h2 strong {
    font-size: calc(74 / 390 * 100vw);
    padding: 0 calc(5 / 390 * 100vw);
  }

  .about_contents .lead {
    font-size: calc(29 / 390 * 100vw);
  }

  .about_contents .ttl_h2 + .lead {
    margin-top: calc(10 / 390 * 100vw);
  }

  .about_contents .lead + .note {
    margin-top: calc(20 / 390 * 100vw);
  }

  .about_contents .flex figure {
    margin: calc(30 / 390 * 100vw) calc(-15 / 390 * 100vw);
    width: calc(100% + calc(30 / 390 * 100vw));
  }

  .about_contents.contents2 .ttl_h2 {
    font-size: calc(35 / 390 * 100vw);
  }

  .about_contents.contents2 .ttl_h2 strong {
    font-size: calc(68 / 390 * 100vw);
  }

  .about_contents .ttl_h2 small {
    font-size: calc(20 / 390 * 100vw);
    top: calc(5 / 390 * 100vw);
    letter-spacing: -0.05em;
  }

  .about_contents sup {
    font-size: calc(10 / 390 * 100vw);
  }

  #open_campus section.about_contents:not(.contents1,.contents3,.contents5) {
    padding: calc(87 / 390 * 100vw) 0;
  }

  .about_contents .box {
    width: 100%;
    max-width: none;
    padding: calc(40 / 390 * 100vw) calc(10 / 390 * 100vw) calc(25 / 390 * 100vw);
    box-shadow: 0 calc(2 / 390 * 100vw) calc(20 / 390 * 100vw) rgb(0 0 0 / 0.1);
    margin-top: calc(42 / 390 * 100vw);
  }

  .about_contents .box .ttl {
    font-size: calc(16 / 390 * 100vw);
    padding: calc(10 / 390 * 100vw) calc(37 / 390 * 100vw);
    border-radius: calc(50 / 390 * 100vw);
    width: max-content;
    min-width: calc(246 / 390 * 100vw);
    border-radius: calc(50 / 390 * 100vw);
    top: calc(-18 / 390 * 100vw);
    letter-spacing: 0;
    font-weight: 800;
  }

  .about_contents .box .check_list {
    max-width: none;
  }

  .about_contents .box .check_list li {
    font-size: calc(14 / 390 * 100vw);
    padding-left: calc(27 / 390 * 100vw);
    line-height: 1.3;
  }

  .about_contents .box .check_list li + li {
    margin-top: calc(20 / 390 * 100vw);
  }

  .about_contents .box .check_list li::before {
    transform: unset;
    top: 0;
    width: calc(19 / 390 * 100vw);
    height: calc(19 / 390 * 100vw);
  }

  .about_contents.contents2 {
    clip-path: polygon(
      0 0,
      100% calc(0% + calc(25 / 390 * 100vw)),
      100% 100%,
      0 calc(100% - calc(25 / 390 * 100vw))
    );
  }

  .about_contents.contents3 .lead {
    font-size: calc(26 / 390 * 100vw);
  }

  .about_contents .in > figure {
    margin: calc(17 / 390 * 100vw) calc(-15 / 390 * 100vw) calc(33 / 390 * 100vw);
  }

  .about_contents .table_wrap {
    max-width: none;
    width: 100%;
    margin: calc(33 / 390 * 100vw) auto 0;
  }

  .about_contents table th,
  .about_contents table td {
    display: block;
    width: 100%;
  }

  .about_contents table th {
    font-size: calc(18 / 390 * 100vw);
    padding: calc(15 / 390 * 100vw) calc(19 / 390 * 100vw);
  }

  .about_contents table td {
    font-size: calc(16 / 390 * 100vw);
    padding: calc(15 / 390 * 100vw) calc(30 / 390 * 100vw);
  }

  .about_contents table td::after {
    content: none !important;
  }

  .about_contents table td:empty {
    display: none;
  }

  .about_contents table span.new{
    padding-left: calc(35 / 390 * 100vw);
  }
  #open_campus .oc_faculty .list .item a dt span.new {
    padding: calc(35 / 390 * 100vw) 0 0 0;
  }

  .about_contents table span.new::before,
  #open_campus .oc_faculty .list .item a dt span.new::before {
    width: calc(29 / 390 * 100vw);
    height: calc(29 / 390 * 100vw);
    font-size: calc(8 / 390 * 100vw);
  }
  #open_campus .oc_faculty .list .item a dt span.new::before {
    top: 0;
    transform: unset;
  }

  .about_contents .table_img {
    display: none;
  }

  .about_contents.contents4 {
    clip-path: polygon(
      0 calc(0% + calc(25 / 390 * 100vw)),
      100% 0%,
      100% calc(100% - calc(25 / 390 * 100vw)),
      0 100%
    );
  }

  .about_contents .ttl_h2 .txt_m {
    font-size: calc(32 / 390 * 100vw);
  }

  .about_contents.contents4 .lead {
    font-size: calc(23 / 390 * 100vw);
  }

  .about_contents .imgs {
    flex-wrap: wrap;
    gap: calc(16 / 390 * 100vw) calc(6 / 390 * 100vw);
    margin: calc(35 / 390 * 100vw) calc(-7 / 390 * 100vw) 0;
  }

  .about_contents .imgs figure {
    width: calc(50% - calc(3 / 390 * 100vw));
  }

  .about_contents .imgs figure figcaption {
    font-size: calc(12 / 390 * 100vw);
    margin-top: calc(6 / 390 * 100vw);
  }

  .about_contents .text_link {
    margin-top: calc(30 / 390 * 100vw);
    font-size: calc(13 / 390 * 100vw);
    padding-bottom: calc(10 / 390 * 100vw);
    border-width: calc(1 / 390 * 100vw);
  }

  .about_contents .text_link::after {
    right: calc(-26 / 390 * 100vw);
    width: calc(16 / 390 * 100vw);
    height: calc(16 / 390 * 100vw);
  }

  .about_contents.contents5 .ttl_h2 {
    font-size: calc(33 / 390 * 100vw);
    line-height: 1.2;
  }

  .about_contents.contents5 .ttl_h2 strong {
    font-size: calc(44 / 390 * 100vw);
  }

  .about_contents.contents5 .box {
    margin: calc(46 / 390 * 100vw) auto calc(38 / 390 * 100vw);
    max-width: none;
    padding: calc(38 / 390 * 100vw) calc(20 / 390 * 100vw);
  }

  .about_contents.contents5 .box .list {
    flex-direction: column;
    gap: calc(14 / 390 * 100vw);
  }

  .about_contents.contents5 .box .list li {
    width: 100%;
    border-radius: calc(10 / 390 * 100vw);
    height: calc(150 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
  }

  .about_contents.contents5 .box .list li strong {
    font-size: calc(32 / 390 * 100vw);
  }

  .about_contents.contents2 {
    position: relative;
    padding-bottom: calc(360 / 390 * 100vw) !important;
  }

  .about_contents.contents2 .flex figure {
    position: absolute;
    bottom: calc(17 / 390 * 100vw);
    left: 50%;
    transform: translateX(-50%);
  }
  .about_contents .loop_slide {
    margin: calc(20 / 390 * 100vw) calc(-15 / 390 * 100vw) 0;
  }
  .about_contents .loop_slide .swiper-slide {
    width: calc(154 / 390 * 100vw);
    min-width: calc(154 / 390 * 100vw);
  }
  .about_contents.contents3 .loop_slide .swiper-slide {
    width: calc(156 / 390 * 100vw);
    min-width: calc(156 / 390 * 100vw);
  }

}

.cvbanner {
  background: #f9dee5;
  margin: 80px auto 100px;
}
.cvbanner .in {
  position: relative;
  display: flex;
  align-items: center;
  gap: 64px;
  padding: 50px 0;
}
.cvbanner .in::after {
  position: absolute;
  content: "";
  width: 225px;
  height: 345px;
  bottom: 0;
  right: -72px;
  background: url(../img/2026/cv_banner_img.png) center bottom/contain no-repeat;
}
.cvbanner .in .ttl_h2 img {
  width: 605px;
  margin: 0 0 20px;
}
.cvbanner .in .ttl_h2 span {
  display: block;
  font-family: var(--font-ja-min);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.3;
}
.cvbanner .in .buttons {
  width: 513px;
}
.cvbanner .in .buttons .button {
  display: flex;
  align-items: center;
  padding: 0 30px;
  height: 81px;
  border-radius: 10px;
  background: var(--color-d-pink) url(../img/2026/icon_arrow_wh.png) center right 30px/11px auto no-repeat;
  color: var(--color-white);
  font-family: var(--font-ja-min);
  font-size: 24px;
  text-decoration: none;
  box-shadow: 0 2px 20px rgb(0 0 0 / 0.1);
  letter-spacing: 0;
}
.cvbanner .in .buttons .button + .button {
  margin-top: 22px;
}
.cvbanner .in .buttons .button.button_line {
  background-color: #06c755;
  /* text-align: center;
  justify-content: center; */
  font-family: var(--font-ja);
  font-weight: 600;
  line-height: 1.2;
  font-size: 21px;
}
@media screen and (max-width: 1400px) {
  .cvbanner {
    margin: calc(80 / 1400 * 100vw) auto calc(100 / 1400 * 100vw);
  }
  .cvbanner .in {
    gap: calc(64 / 1400 * 100vw);
    padding: calc(50 / 1400 * 100vw) 0;
  }
  .cvbanner .in::after {
    width: calc(225 / 1400 * 100vw);
    height: calc(345 / 1400 * 100vw);
    right: calc(-72 / 1400 * 100vw);
  }
  .cvbanner .in .ttl_h2 img {
    width: calc(605 / 1400 * 100vw);
    margin: 0 0 calc(20 / 1400 * 100vw);
  }
  .cvbanner .in .ttl_h2 span {
    font-size: calc(36 / 1400 * 100vw);
  }
  .cvbanner .in .buttons {
    width: calc(513 / 1400 * 100vw);
  }
  .cvbanner .in .buttons .button {
    padding: 0 calc(30 / 1400 * 100vw);
    height: calc(81 / 1400 * 100vw);
    border-radius: calc(10 / 1400 * 100vw);
    background-position: center right calc(30 / 1400 * 100vw);
    background-size: calc(11 / 1400 * 100vw) auto;
    font-size: calc(24 / 1400 * 100vw);
    box-shadow: 0 calc(2 / 1400 * 100vw) calc(20 / 1400 * 100vw) rgb(0 0 0 / 0.1);
  }
  .cvbanner .in .buttons .button + .button {
    margin-top: calc(22 / 1400 * 100vw);
  }
  .cvbanner .in .buttons .button.button_line {
    font-size: calc(21 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .cvbanner {
    margin: 0;
  }
  .cvbanner .in {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(23 / 390 * 100vw);
    padding: calc(33 / 390 * 100vw)
            calc(15 / 390 * 100vw)
            calc(43 / 390 * 100vw);
  }
  .cvbanner .in .buttons {
    width: 100%;
  }
  .cvbanner .in .buttons .button {
    height: calc(70 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    border-radius: calc(10 / 390 * 100vw);
    padding: 0 calc(20 / 390 * 100vw);
    background-size: calc(9 / 390 * 100vw) auto;
    background-position: center right calc(14 / 390 * 100vw);
    letter-spacing: -0.05em;
    font-weight: 800;
  }
  .cvbanner .in .buttons .button + .button {
    margin-top: calc(10 / 390 * 100vw);
  }
  .cvbanner .in .buttons .button.button_line {
    font-size: calc(16 / 390 * 100vw);
  }
  .cvbanner .in .ttl_h2 span {
    font-size: calc(24 / 390 * 100vw);
  }
  .cvbanner .in .ttl_h2 img {
    margin-bottom: calc(24 / 390 * 100vw);
    width: calc(244 / 390 * 100vw);
  }
  .cvbanner .in::after {
    width: calc(147 / 390 * 100vw);
    height: calc(227 / 390 * 100vw);
    top: calc(-46 / 390 * 100vw);
    bottom: auto;
    right: calc(-35 / 390 * 100vw);
  }
}

/* career------------------------------- */
/* career_mv */
.career_mv {
  padding: 88px 0;
  text-align: center;
}
.career_mv h1 {
  color: var(--color-d-pink);
  font-family: var(--font-ja-min);
  font-size: 72px;
  font-weight: 600;
  margin-bottom: 39px;
}
.career_mv h1 strong {
  font-size: 120px;
  font-weight: 600;
}
.career_mv .lead {
  color: var(--color-d-pink);
  font-family: var(--font-ja-min);
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 39px;
}
.career_mv .box {
  position: relative;
  padding: 40px 66px;
  border: 1px solid #e0e0e0;
  max-width: 1200px;
  margin: 0 auto;
}
.career_mv .box .ttl {
  position: absolute;
  background: var(--color-white);
  left: 50%;
  top: -10px;
  transform: translateX(-50%);
  padding: 0 19px;
  font-size: 18px;
}
#open_campus .career_mv .box .txt {
  font-size: 16px;
  line-height: 2.25;
}
@media screen and (max-width: 1400px) {
  .career_mv {
    padding: calc(88 / 1400 * 100vw) 0;
  }
  .career_mv h1 {
    font-size: calc(72 / 1400 * 100vw);
    margin-bottom: calc(39 / 1400 * 100vw);
  }
  .career_mv h1 strong {
    font-size: calc(120 / 1400 * 100vw);
  }
  .career_mv .lead {
    font-size: calc(24 / 1400 * 100vw);
    margin-bottom: calc(39 / 1400 * 100vw);
  }
  .career_mv .box {
    padding: calc(40 / 1400 * 100vw) calc(66 / 1400 * 100vw);
    border: calc(1 / 1400 * 100vw) solid #e0e0e0;
    max-width: calc(1200 / 1400 * 100vw);
  }
  .career_mv .box .ttl {
    left: 50%;
    top: calc(-10 / 1400 * 100vw);
    padding: 0 calc(19 / 1400 * 100vw);
    font-size: calc(18 / 1400 * 100vw);
  }
  #open_campus .career_mv .box .txt {
    font-size: calc(16 / 1400 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  #open_campus .career_mv {
    padding: calc(40 / 390 * 100vw) 0;
  }
  .career_mv h1 {
    font-size: calc(26 / 390 * 100vw);
    margin-bottom: calc(31 / 390 * 100vw);
  }
  .career_mv h1 strong {
    font-size: calc(46 / 390 * 100vw);
  }
  .career_mv .lead {
    font-size: calc(15 / 390 * 100vw);
    margin-bottom: calc(28 / 390 * 100vw);
  }
  .career_mv .box {
    padding: calc(25 / 390 * 100vw) calc(10 / 390 * 100vw);
    max-width: none;
    margin: 0 calc(20 / 390 * 100vw);
  }
  #open_campus .career_mv .box .txt {
    font-size: calc(12 / 390 * 100vw);
    text-align: left;
    margin: 0;
  }
  .career_mv .box .ttl {
    font-size: calc(14 / 390 * 100vw);
    padding: 0 calc(15 / 390 * 100vw);
    top: calc(-10 / 390 * 100vw);
  }
}

/* career_contents */
.career_contents .ttl_h2 {
  font-size: 55px;
  font-family: var(--font-ja-min);
  font-weight: 800;
  text-align: center;
  font-style: italic;
  letter-spacing: 0.01em;
  margin-bottom: 53px;
}
.career_contents .ttl_h2 strong {
  color: var(--color-d-pink);
  font-size: 72px;
}
.career_contents .box {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  background: var(--color-white);
  padding: 52px 60px 36px;
  box-shadow: 0 2px 20px rgb(0 0 0 / 0.1);
}
.career_contents .box::before {
  position: absolute;
  right: 160px;
  top: -135px;
  content: "";
  width: 112px;
  height: 147px;
  background: url(../img/2026/career_circle_catch.png) center/contain no-repeat;
}
.career_contents .box .flex {
  display: flex;
  justify-content: space-between;
}
.career_contents .box .flex .item {
  width: 300px;
}
.career_contents .box .flex .item figure {
  margin-bottom: 23px;
}
.career_contents .box .flex .item .percentage {
  font-size: 60px;
  font-style: italic;
  color: var(--color-d-pink);
  font-family: var(--font-ja-min);
  font-weight: 800;
  text-align: center;
}
#open_campus .career_contents .box .flex .item .txt {
  margin: 20px auto 0;
  text-align: center;
  font-size: 18px;
  width: 240px;
}
#open_campus .career_contents .box .flex .item .txt small {
  display: block;
  font-size: 12px;
}
#open_campus .career_contents .box .flex .item:last-of-type .txt small {
  text-align: left;
}
.career_contents .note {
  font-size: 14px;
  color: #666666;
}
.career_contents .graph {
  position: relative;
  display: block;
  max-width: 1200px;
  margin: 54px auto 0;
}
.career_contents .graph::after {
  position: absolute;
  bottom: 0;
  left: -38px;
  content: "";
  width: 156px;
  height: 134px;
  background: url(../img/2026/career_graph_catch.png) center/contain no-repeat;
}
.career_contents .grid {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 50px auto 0;
}
.career_contents .grid .item {
  width: calc(50% - 20px);
  background: var(--color-white);
  box-shadow: 0 2px 20px rgb(0 0 0 / 0.1);
  padding: 49px 20px 28px;
  text-align: center;
}
.career_contents .grid .item .ttl {
  font-size: 30px;
  font-weight: 800;
  font-family: var(--font-ja-min);
  letter-spacing: -0.05em;
  margin-bottom: 5px;
}
.career_contents .grid .item .percentage {
  font-size: 100px;
  font-weight: 800;
  font-style: italic;
  font-family: var(--font-ja-min);
  color: var(--color-d-pink);
}
.career_contents .grid .item .percentage small {
  font-size: 60px;
}
.career_contents .grid .item img {
  height: 155px;
  width: auto;
  margin: 16px auto;
  display: block;
}
#open_campus .career_contents .grid .item .txt {
  font-size: 18px;
  margin-top: 14px;
}
#open_campus .career_contents .grid + .note {
  max-width: 1200px;
  margin: 33px auto 0;
}
.career_contents .grid2 {
  display: flex;
  gap: 33px 40px;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  background: url(../img/2026/career_support.png) right 14px bottom/524px auto no-repeat;
}
.career_contents .grid2 .item {
  width: calc(50% - 20px);
}
.career_contents .grid2 .item .bg {
  background: #f6f6f6;
  padding: 55px 0 33px;
  text-align: center;
}
.career_contents .grid2 .item .ttl {
  font-size: 30px;
  font-family: var(--font-ja-min);
  font-weight: 800;
  margin-bottom: 25px;
}
.career_contents .grid2 .item .lead {
  color: var(--color-d-pink);
  font-family: var(--font-ja-min);
  font-weight: 600;
  font-size: 36px;
}
.career_contents .grid2 .item .lead strong {
  font-size: 100px;
  font-style: italic;
  font-weight: 600;
}
.career_contents .grid2 .item .lead strong span {
  font-size: 60px;
}
#open_campus .career_contents .grid2 .item .txt {
  font-size: 20px;
  margin-top: 20px;
  line-height: 1.5;
}
.career_contents .grid2 .item .note {
  margin-top: 16px;
}
.career_contents .text_link {
  position: relative;
  display: block;
  max-width: max-content;
  margin: 16px 0 0;
  text-decoration: none;
  border-bottom: 1px solid var(--color-d-pink);
  color: var(--color-d-pink);
  padding-bottom: 10px;
  font-size: 14px;
}
.career_contents .text_link::after {
  position: absolute;
  top: 50%;
  right: -30px;
  transform: translateY(-70%);
  content: "";
  width: 18px;
  height: 18px;
  background: url(../img/2026/icon_blank.png) center/contain no-repeat;
}
#open_campus .career_contents.contents1,
#open_campus .career_contents.contents3 {
  padding: 160px 0;
  background: url(../img/2026/about_bg.jpg) center / cover no-repeat;
}
#open_campus .career_contents.contents1 {
  clip-path: polygon(0 0, 100% calc(0% + 100px), 100% 100%, 0 calc(100% - 100px));
}
#open_campus .career_contents.contents3 {
  clip-path: polygon(0 calc(0% + 100px), 100% 0%, 100% calc(100% - 100px), 0 100%); 
}
@media screen and (max-width: 1400px) {
  .career_contents .ttl_h2 {
    font-size: calc(55 / 1400 * 100vw);
    margin-bottom: calc(53 / 1400 * 100vw);
  }
  .career_contents .ttl_h2 strong {
    font-size: calc(72 / 1400 * 100vw);
  }
  .career_contents .box {
    max-width: calc(1200 / 1400 * 100vw);
    padding: calc(52 / 1400 * 100vw)
            calc(60 / 1400 * 100vw)
            calc(36 / 1400 * 100vw);
    box-shadow: 0 calc(2 / 1400 * 100vw) calc(20 / 1400 * 100vw) rgb(0 0 0 / 0.1);
  }
  .career_contents .box::before {
    right: calc(160 / 1400 * 100vw);
    top: calc(-135 / 1400 * 100vw);
    width: calc(112 / 1400 * 100vw);
    height: calc(147 / 1400 * 100vw);
  }
  .career_contents .box .flex .item {
    width: calc(300 / 1400 * 100vw);
  }
  .career_contents .box .flex .item figure {
    margin-bottom: calc(23 / 1400 * 100vw);
  }
  .career_contents .box .flex .item .percentage {
    font-size: calc(60 / 1400 * 100vw);
  }
  #open_campus .career_contents .box .flex .item .txt {
    margin: calc(20 / 1400 * 100vw) auto 0;
    font-size: calc(18 / 1400 * 100vw);
    width: calc(240 / 1400 * 100vw);
  }
  #open_campus .career_contents .box .flex .item .txt small {
    font-size: calc(12 / 1400 * 100vw);
  }
  .career_contents .note {
    font-size: calc(14 / 1400 * 100vw);
  }
  .career_contents .graph {
    max-width: calc(1200 / 1400 * 100vw);
    margin: calc(54 / 1400 * 100vw) auto 0;
  }
  .career_contents .graph::after {
    left: calc(-38 / 1400 * 100vw);
    width: calc(156 / 1400 * 100vw);
    height: calc(134 / 1400 * 100vw);
  }
  .career_contents .grid {
    gap: calc(40 / 1400 * 100vw);
    max-width: calc(1200 / 1400 * 100vw);
    margin: calc(50 / 1400 * 100vw) auto 0;
  }
  .career_contents .grid .item {
    width: calc(50% - calc(20 / 1400 * 100vw));
    box-shadow: 0 calc(2 / 1400 * 100vw) calc(20 / 1400 * 100vw) rgb(0 0 0 / 0.1);
    padding: calc(49 / 1400 * 100vw)
            calc(20 / 1400 * 100vw)
            calc(28 / 1400 * 100vw);
  }
  .career_contents .grid .item .ttl {
    font-size: calc(30 / 1400 * 100vw);
    margin-bottom: calc(5 / 1400 * 100vw);
  }
  .career_contents .grid .item .percentage {
    font-size: calc(100 / 1400 * 100vw);
  }
  .career_contents .grid .item .percentage small {
    font-size: calc(60 / 1400 * 100vw);
  }
  .career_contents .grid .item img {
    height: calc(155 / 1400 * 100vw);
    margin: calc(16 / 1400 * 100vw) auto;
  }
  #open_campus .career_contents .grid .item .txt {
    font-size: calc(18 / 1400 * 100vw);
    margin-top: calc(14 / 1400 * 100vw);
  }
  #open_campus .career_contents .grid + .note {
    max-width: calc(1200 / 1400 * 100vw);
    margin: calc(33 / 1400 * 100vw) auto 0;
  }
  .career_contents .grid2 {
    gap: calc(33 / 1400 * 100vw) calc(40 / 1400 * 100vw);
    max-width: calc(1200 / 1400 * 100vw);
    background: url(../img/2026/career_support.png) right calc(14 / 1400 * 100vw) bottom/calc(524 / 1400 * 100vw) auto no-repeat;
  }
  .career_contents .grid2 .item {
    width: calc(50% - calc(20 / 1400 * 100vw));
  }
  .career_contents .grid2 .item .bg {
    padding: calc(55 / 1400 * 100vw) 0 calc(33 / 1400 * 100vw);
  }
  .career_contents .grid2 .item .ttl {
    font-size: calc(30 / 1400 * 100vw);
    margin-bottom: calc(25 / 1400 * 100vw);
  }
  .career_contents .grid2 .item .lead {
    font-size: calc(36 / 1400 * 100vw);
  }
  .career_contents .grid2 .item .lead strong {
    font-size: calc(100 / 1400 * 100vw);
  }
  .career_contents .grid2 .item .lead strong span {
    font-size: calc(60 / 1400 * 100vw);
  }
  #open_campus .career_contents .grid2 .item .txt {
    font-size: calc(20 / 1400 * 100vw);
    margin-top: calc(20 / 1400 * 100vw);
  }
  .career_contents .grid2 .item .note {
    margin-top: calc(16 / 1400 * 100vw);
  }
  .career_contents .text_link {
    margin: calc(16 / 1400 * 100vw) 0 0;
    border-bottom: calc(1 / 1400 * 100vw) solid var(--color-d-pink);
    padding-bottom: calc(10 / 1400 * 100vw);
    font-size: calc(14 / 1400 * 100vw);
  }
  .career_contents .text_link::after {
    right: calc(-30 / 1400 * 100vw);
    width: calc(18 / 1400 * 100vw);
    height: calc(18 / 1400 * 100vw);
  }
  #open_campus .career_contents.contents1,
  #open_campus .career_contents.contents3 {
    padding: calc(160 / 1400 * 100vw) 0;
  }
  #open_campus .career_contents.contents1 {
    clip-path: polygon(
      0 0,
      100% calc(0% + calc(100 / 1400 * 100vw)),
      100% 100%,
      0 calc(100% - calc(100 / 1400 * 100vw))
    );
  }
  #open_campus .career_contents.contents3 {
    clip-path: polygon(
      0 calc(0% + calc(100 / 1400 * 100vw)),
      100% 0%,
      100% calc(100% - calc(100 / 1400 * 100vw)),
      0 100%
    );
  }
}
@media screen and (max-width: 767px) {
 #open_campus .career_contents.contents1,
  #open_campus .career_contents.contents3 {
    padding: calc(80 / 390 * 100vw) 0;
  }

  .career_contents .ttl_h2 {
    font-size: calc(26 / 390 * 100vw);
    margin-bottom: calc(20 / 390 * 100vw);
    line-height: 1.2;
  }

  .career_contents .ttl_h2 strong {
    font-size: calc(40 / 390 * 100vw);
  }

  .career_contents .box {
    max-width: none;
    margin: 0;
    padding: calc(33 / 390 * 100vw) calc(55 / 390 * 100vw);
  }

  .career_contents .box .flex {
    flex-direction: column;
    gap: calc(33 / 390 * 100vw);
  }

  .career_contents .box .flex .item {
    width: 100%;
  }

  .career_contents .box .flex .item figure {
    width: calc(240 / 390 * 100vw);
    margin: 0 auto calc(19 / 390 * 100vw);
  }

  .career_contents .box .flex .item .percentage {
    font-size: calc(48 / 390 * 100vw);
  }

  #open_campus .career_contents .box .flex .item .txt {
    margin: calc(15 / 390 * 100vw) auto 0;
    max-width: none;
    width: 100%;
    font-size: calc(16 / 390 * 100vw);
  }

  #open_campus .career_contents .box .flex .item .txt small {
    font-size: calc(11 / 390 * 100vw);
  }

  .career_contents.contents1 .ttl_h2 {
    text-align: left;
  }

  .career_contents .box::before {
    width: calc(67 / 390 * 100vw);
    height: calc(88 / 390 * 100vw);
    right: calc(7 / 390 * 100vw);
    top: calc(-81 / 390 * 100vw);
  }

  .career_contents.contents2 .ttl_h2 {
    text-align: right;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
  }

  .career_contents .graph {
    max-width: none;
    margin-top: calc(30 / 390 * 100vw);
  }

  .career_contents .graph::after {
    width: calc(78 / 390 * 100vw);
    height: calc(67 / 390 * 100vw);
    left: 0;
    top: calc(-67 / 390 * 100vw);
  }

  .career_contents .grid {
    margin: calc(40 / 390 * 100vw) auto 0;
    max-width: none;
    gap: calc(32 / 390 * 100vw);
  }

  .career_contents .grid .item {
    width: 100%;
    padding: calc(28 / 390 * 100vw) 0 calc(14 / 390 * 100vw);
    box-shadow: 0 calc(2 / 390 * 100vw) calc(20 / 390 * 100vw) rgb(0 0 0 / 0.1);
  }

  .career_contents .grid .item .ttl {
    margin-bottom: calc(13 / 390 * 100vw);
    font-size: calc(20 / 390 * 100vw);
  }

  .career_contents .grid .item .percentage {
    font-size: calc(60 / 390 * 100vw);
  }

  .career_contents .grid .item .percentage small {
    font-size: calc(36 / 390 * 100vw);
  }

  #open_campus .career_contents .grid .item .txt {
    font-size: calc(15 / 390 * 100vw);
    margin-top: calc(12 / 390 * 100vw);
  }

  .career_contents .grid .item img {
    height: calc(94 / 390 * 100vw);
    margin: calc(10 / 390 * 100vw) auto;
  }

  .career_contents .note {
    font-size: calc(12 / 390 * 100vw);
  }

  #open_campus .career_contents .grid + .note {
    max-width: none;
    margin-top: calc(36 / 390 * 100vw);
  }

  .career_contents .grid2 {
    max-width: none;
    margin: calc(45 / 390 * 100vw) auto 0;
    gap: calc(28 / 390 * 100vw);
    padding-bottom: calc(240 / 390 * 100vw);
    background-size: calc(315 / 390 * 100vw) auto;
    background-position: right bottom;
  }

  .career_contents .grid2 .item {
    width: 100%;
  }

  .career_contents .grid2 .item .bg {
    padding: calc(31 / 390 * 100vw) 0 calc(15 / 390 * 100vw);
  }

  .career_contents .grid2 .item .ttl {
    margin-bottom: calc(20 / 390 * 100vw);
    font-size: calc(20 / 390 * 100vw);
  }

  .career_contents .grid2 .item .lead {
    font-size: calc(21 / 390 * 100vw);
  }

  .career_contents .grid2 .item .lead strong {
    font-size: calc(60 / 390 * 100vw);
  }

  .career_contents .grid2 .item .lead strong span {
    font-size: calc(36 / 390 * 100vw);
  }

  #open_campus .career_contents .grid2 .item .txt {
    margin-top: calc(10 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }

  .career_contents .grid2 .item .note {
    margin: calc(7 / 390 * 100vw) 0;
  }

  .career_contents .text_link {
    margin-top: calc(7 / 390 * 100vw);
    display: inline;
    padding-bottom: calc(2 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
    line-height: 1.5;
  }

  .career_contents .text_link::after {
    right: calc(-18 / 390 * 100vw);
    width: calc(11 / 390 * 100vw);
    height: calc(11 / 390 * 100vw);
    top: auto;
    transform: unset;
    bottom: calc(5 / 390 * 100vw);
  }

  #open_campus .career_contents.contents4 {
    padding-bottom: calc(120 / 390 * 100vw);
  }
  #open_campus .career_contents.contents1 {
    clip-path: polygon(
      0 0,
      100% calc(0% + calc(25 / 390 * 100vw)),
      100% 100%,
      0 calc(100% - calc(25 / 390 * 100vw))
    );
  }
  #open_campus .career_contents.contents3 {
    clip-path: polygon(
      0 calc(0% + calc(25 / 390 * 100vw)),
      100% 0%,
      100% calc(100% - calc(25 / 390 * 100vw)),
      0 100%
    );
  }
}

/* detail ---------------------------- */
#open_campus.detail_page.ver2026 .oc_kv .box {
  padding: 46px 0 21px;
  border-radius: 0;
  margin-top: 34px;
  z-index: 2;
}
#open_campus.detail_page.ver2026 .oc_kv .box::before,
#open_campus.detail_page.ver2026 .oc_kv .box::after {
  position: absolute;
  content: "";
  width: 37px;
  height: 90px;
}
#open_campus.detail_page.ver2026 .oc_kv .box::before {
  top: -1px;
  left: -1px;
  border-top: 2px solid #d41972;
  border-left: 2px solid #d41972;
}
#open_campus.detail_page.ver2026 .oc_kv .box::after {
  right: -1px;
  bottom: -1px;
  border-right: 2px solid #d41972;
  border-bottom: 2px solid #d41972;
}
#open_campus.detail_page.ver2026 .oc_kv .box .number {
  left: 49px;
  top: -8px;
  background: #fb5b8a;
}
#open_campus.detail_page.ver2026 .oc_kv .box .date span {
  background: #fb5b8a;
}
#open_campus.detail_page.ver2026 .oc_kv .kaijo {
  margin: 23px auto 0;
  max-width: max-content;
  gap: 7px;
  display: flex;
  align-items: baseline;
}
#open_campus.detail_page.ver2026 .oc_kv .kaijo dt {
  font-size: 18px;
  padding: 7px 17px;
  border-radius: 30px;
  background: #fbd5df;
}
#open_campus.detail_page.ver2026 .oc_kv .kaijo dd {
  font-size: 18px;
  text-align: left;
  line-height: 1.66;
}
#open_campus.detail_page.ver2026 .oc_kv .txt {
  margin-top: 26px;
}
#open_campus.detail_page.ver2026 .oc_overview .box {
  padding: 68px 60px;
}
#open_campus.detail_page.ver2026 .oc_overview .box .flex {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
#open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap {
  width: 523px;
}
#open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead {
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 50px;
  line-height: 1.6;
}
#open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead span {
  color: #fb5b8a;
  padding: 0 5px;
  display: block;
  font-size: 46px;
}
#open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead span strong {
  font-size: 108px;
  font-family: var(--font-en);
  padding: 0 5px;
  line-height: 1;
}
#open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead small {
  display: block;
  font-size: 24px;
  font-weight: 500;
}
#open_campus.detail_page.ver2026 .oc_overview .box .flex figure {
  width: calc(100% - 20px - 523px);
}
#open_campus.detail_page.ver2026 .oc_overview .box .imgs {
  display: flex;
  gap: 9px;
  margin: 50px auto 0;
}
#open_campus.detail_page.ver2026 .oc_overview .box .imgs figure {
  width: calc(25% - (9px * 3 / 4));
}
#open_campus.detail_page.ver2026 .oc_overview .box .imgs figure figcaption {
  margin-top: 12px;
  font-size: 16px;
}
#open_campus.detail_page.ver2026 .oc_overview .talkwrap {
  margin-top: 95px;
}
#open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl {
  text-align: center;
  font-size: 27px;
  font-weight: 600;
  margin-bottom: 57px;
}
#open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl .note {
  font-size: 16px;
}
#open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span {
  position: relative;
}
#open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::before,
#open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::after {
  position: absolute;
  top: 55%;
  content: "";
  width: 31px;
  height: 38px;
  background: url(../img/icon_overview.png) center/contain no-repeat;
}
#open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::before {
  left: -48px;
  transform: translateY(-50%);
}
#open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::after {
  right: -48px;
  transform: translateY(-50%) scale(-1, 1);;
}
#open_campus.detail_page.ver2026 .oc_overview .list {
  margin-top: 100px;
}
#open_campus.detail_page.ver2026 .oc_overview .list .item .ttl_h3 {
  color: #fb5b8a;
  text-align: center;
  line-height: 1.5;
}
#open_campus.detail_page.ver2026 .oc_kv {
  padding: 103px 0 63px;
  background-image: url(../img/2026/bg-kv.jpg);
}
#open_campus.detail_page.ver2026 .oc_kv::after {
  top: 50%;
  background: url(../img/2026/kv_img.png) center / auto 100.8% no-repeat;
  height: 100%;
  width: 1765px;
  left: 46%;
}
#open_campus.detail_page.ver2026 .oc_overview {
  background-image: url(../img/2026/overview_bg.jpg);
}
#open_campus.detail_page.ver2026 .breadclumnbs {
  top: -86px;
}
@media screen and (max-width: 1400px) {
  #open_campus.detail_page.ver2026 .oc_kv .box {
    padding: calc(46 / 1400 * 100vw) 0 calc(21 / 1400 * 100vw);
    border-radius: 0;
    margin-top: calc(34 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .box::before,
  #open_campus.detail_page.ver2026 .oc_kv .box::after {
    width: calc(37 / 1400 * 100vw);
    height: calc(90 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .box::before {
    top: calc(-1 / 1400 * 100vw);
    left: calc(-1 / 1400 * 100vw);
    border-top: calc(2 / 1400 * 100vw) solid #d41972;
    border-left: calc(2 / 1400 * 100vw) solid #d41972;
  }

  #open_campus.detail_page.ver2026 .oc_kv .box::after {
    right: calc(-1 / 1400 * 100vw);
    bottom: calc(-1 / 1400 * 100vw);
    border-right: calc(2 / 1400 * 100vw) solid #d41972;
    border-bottom: calc(2 / 1400 * 100vw) solid #d41972;
  }

  #open_campus.detail_page.ver2026 .oc_kv .box .number {
    left: calc(49 / 1400 * 100vw);
    top: calc(-8 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .kaijo {
    margin: calc(23 / 1400 * 100vw) auto 0;
    gap: calc(7 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .kaijo dt {
    font-size: calc(18 / 1400 * 100vw);
    padding: calc(7 / 1400 * 100vw) calc(17 / 1400 * 100vw);
    border-radius: calc(30 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .kaijo dd {
    font-size: calc(18 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .txt {
    margin-top: calc(26 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box {
    padding: calc(68 / 1400 * 100vw) calc(60 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex {
    gap: calc(20 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap {
    width: calc(523 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead {
    font-size: calc(36 / 1400 * 100vw);
    margin-bottom: calc(50 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead span {
    padding: 0 calc(5 / 1400 * 100vw);
    font-size: calc(46 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead span strong {
    font-size: calc(108 / 1400 * 100vw);
    padding: 0 calc(5 / 1400 * 100vw);
  }
  
  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead small {
    font-size: calc(24 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex figure {
    width: calc(100% - calc(20 / 1400 * 100vw) - calc(523 / 1400 * 100vw));
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .imgs {
    gap: calc(9 / 1400 * 100vw);
    margin: calc(50 / 1400 * 100vw) auto 0;
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .imgs figure {
    width: calc(25% - (calc(9 / 1400 * 100vw) * 3 / 4));
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .imgs figure figcaption {
    margin-top: calc(12 / 1400 * 100vw);
    font-size: calc(16 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap {
    margin-top: calc(95 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl {
    font-size: calc(27 / 1400 * 100vw);
    margin-bottom: calc(57 / 1400 * 100vw);
  }
  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl .note {
    font-size: calc(16 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::before,
  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::after {
    width: calc(31 / 1400 * 100vw);
    height: calc(38 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::before {
    left: calc(-48 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::after {
    right: calc(-48 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .list {
    margin-top: calc(100 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv {
    padding: calc(103 / 1400 * 100vw) 0 calc(63 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv::after {
    width: calc(1765 / 1400 * 100vw);
  }

  #open_campus.detail_page.ver2026 .breadclumnbs {
    top: calc(-86 / 1400 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  
  #open_campus.detail_page.ver2026 .breadclumnbs.sp_only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #open_campus.detail_page.ver2026 .oc_kv .kaijo {
    position: relative;
    margin-top: calc(26 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .kaijo dt {
    position: absolute;
    font-size: calc(16 / 390 * 100vw);
    padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
    border-radius: calc(20 / 390 * 100vw);
    font-weight: 500;
    left: calc(-12 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .kaijo dd {
    font-size: calc(16 / 390 * 100vw);
    text-align: center;
  }

  #open_campus.detail_page.ver2026 .oc_kv .kaijo dd span {
    font-size: calc(18 / 390 * 100vw);
    margin-left: calc(60 / 390 * 100vw);
    display: inline-block;
  }

  #open_campus.detail_page.ver2026 .oc_button_br {
    margin-top: calc(15 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .box {
    padding: calc(25 / 390 * 100vw) 0 calc(18 / 390 * 100vw);
    margin-top: calc(28 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .box::before,
  #open_campus.detail_page.ver2026 .oc_kv .box::after {
    width: calc(20 / 390 * 100vw);
    height: calc(45 / 390 * 100vw);
    border-width: calc(2 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .box .number {
    left: calc(19 / 390 * 100vw);
    top: calc(-15 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .txt {
    margin: calc(25 / 390 * 100vw) calc(13 / 390 * 100vw) 0;
  }

  #open_campus.detail_page.ver2026 .oc_kv {
    padding: calc(160 / 390 * 100vw) 0 calc(244 / 390 * 100vw);
    background-image: url(../img/2026/kv_bg_sp.jpg);
  }

  #open_campus.detail_page.ver2026 .oc_kv .ttl_h1 {
    width: calc(243 / 390 * 100vw);
  }
  #open_campus.detail_page.ver2026 .oc_kv::after {
    left: 0;
    top: 0;
    height: 101%;
    width: 100%;
    transform: unset;
    background: url(../img/2026/kv_img_sp.png) center/100% auto no-repeat;
  }
  #open_campus .oc_kv .lead {
    font-size: calc(18 / 390 * 100vw);
    margin: calc(17 / 390 * 100vw) auto;
    line-height: 1.5;
  }

  #open_campus.detail_page.ver2026 .breadclumnbs.pc_only {
    display: none;
  }
  #open_campus.detail_page.ver2026 .breadclumnbs {
    top: calc(-80 / 390 * 100vw);
  }
  #open_campus.detail_page.ver2026 .oc_lecture {
    padding-top: calc(80 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_kv .box .date {
    align-items: flex-end;
  }

  #open_campus.detail_page.ver2026 .oc_kv .box .date small {
    width: auto;
    margin-left: calc(15 / 390 * 100vw);
    margin-right: calc(-65 / 390 * 100vw);
    text-align: left;
    transform: translateY(calc(-9 / 390 * 100vw));
  }

  #open_campus.detail_page.ver2026 .oc_kv::after {
    background-size: cover;
    top: 0;
  }

  #open_campus.detail_page.ver2026 .oc_overview .box {
    padding: calc(20 / 390 * 100vw)
            calc(25 / 390 * 100vw)
            calc(30 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex {
    position: relative;
    gap: 0;
    flex-direction: column;
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap {
    width: 100%;
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead {
    text-align: center;
    font-size: calc(24 / 390 * 100vw);
    margin-bottom: calc(227 / 390 * 100vw);
    font-weight: 600;
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex figure {
    position: absolute;
    width: 100%;
    top: calc(133 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead small {
    font-size: calc(20 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead span {
    padding: 0 calc(5 / 390 * 100vw);
    font-size: calc(25 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .lead span strong {
    font-size: calc(70 / 390 * 100vw);
    padding: 0 calc(5 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .flex .txt_wrap .txt {
    font-size: calc(15 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .imgs {
    margin-top: calc(35 / 390 * 100vw);
    flex-wrap: wrap;
    gap: calc(26 / 390 * 100vw) calc(6 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .imgs figure {
    width: calc(50% - calc(3 / 390 * 100vw));
  }

  #open_campus.detail_page.ver2026 .oc_overview .box .imgs figure figcaption {
    margin-top: calc(7 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap {
    margin-top: calc(65 / 390 * 100vw);
    margin-bottom: calc(68 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl {
    font-size: calc(18 / 390 * 100vw);
    line-height: 1.33;
  }
  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl .note {
    font-size: calc(14 / 390 * 100vw);
    display: block;
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::before,
  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::after {
    width: calc(31 / 390 * 100vw);
    height: calc(38 / 390 * 100vw);
    transform: unset;
    bottom: calc(3 / 390 * 100vw);
    top: auto;
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::before {
    left: calc(-36 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_overview .talkwrap .ttl span::after {
    right: calc(-4 / 390 * 100vw);
    transform: scale(-1, 1);
  }

  #open_campus.detail_page.ver2026 .oc_overview {
    background: url(../img/2026/overview_bg_sp.jpg) center top 11%/auto 113% no-repeat;
  }

  #open_campus.detail_page.ver2026 .oc_attraction .contents figure img {
    border-radius: calc(20 / 390 * 100vw);
  }

  #open_campus.detail_page.ver2026 .oc_attraction::after {
    background-position: top right calc(6 / 390 * 100vw), top calc(1390 / 390 * 100vw + 110 / 390 * 100vw) left calc(90 / 390* 100vw), top calc(2636 / 390 * 100vw + 110 / 390 * 100vw) right calc(73 / 390 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  #common-footer #pagetopClone {
    bottom: calc(125 / 390 * 100vw) !important;
  }
}