/*--------------------
	OC
--------------------*/
#oc {
  background: #fff; }
  #oc .mv {
    width: 100%;
    position: relative; }
    @media screen and (max-width: 767px) {
      #oc .mv {
        height: auto; } }
    #oc .mv h2 {
      position: absolute;
      top: 120px;
      left: 15%;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        #oc .mv h2 {
          position: relative;
          top: auto;
          left: auto; } }
      #oc .mv h2 img {
        width: 30vw; }
        @media screen and (max-width: 767px) {
          #oc .mv h2 img {
            display: block;
            height: auto;
            width: 96%;
            margin: 0 auto; } }
    #oc .mv .mvs {
      width: 70%;
      height: auto;
      margin: 0 0 0 30%; }
      @media screen and (max-width: 767px) {
        #oc .mv .mvs {
          position: relative;
          height: auto;
          margin-top: -60px; } }
  #oc #open .plink {
    width: 200px;
    border-radius: 100px;
    position: fixed;
    bottom: 10%;
    right: 5%;
    z-index: 2; }
    @media screen and (max-width: 767px) {
      #oc #open .plink {
        width: 100px; } }
    #oc #open .plink img {
      border-radius: 100px; }
  #oc #open .sec01 {
    position: relative;
    z-index: 1; }
    #oc #open .sec01 ul {
      width: 1000px;
      list-style: none;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
      column-gap: 30px;
      margin: -60px auto 0; }
      @media screen and (max-width: 767px) {
        #oc #open .sec01 ul {
          width: 90%;
          grid-template-columns: 1fr 1fr 1fr;
          gap: 15px;
          margin: 30px auto; } }
  #oc #open .sec02 {
    padding-top: 90px;
    margin-top: 120px;
    position: relative; }
    @media screen and (max-width: 767px) {
      #oc #open .sec02 {
        padding: 0;
        margin-top: 30px; } }
    #oc #open .sec02 h3 {
      text-align: center;
      font-size: 2rem;
      font-weight: normal;
      letter-spacing: 0.2em;
      margin-bottom: 60px; }
      @media screen and (max-width: 767px) {
        #oc #open .sec02 h3 {
          font-size: 1.4rem;
          margin-bottom: 30px; } }
    #oc #open .sec02 p {
      width: 500px;
      font-size: 1.2rem;
      line-height: 2;
      letter-spacing: 0.1em;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        #oc #open .sec02 p {
          width: auto;
          margin-bottom: 30px;
          font-size: 1rem;
          padding: 0 2%; } }
    #oc #open .sec02 .pic01 {
      width: 600px;
      position: absolute;
      top: 0;
      right: 75%; }
      @media screen and (max-width: 767px) {
        #oc #open .sec02 .pic01 {
          position: relative;
          top: auto;
          right: auto;
          width: 100%;
          max-width: 500px;
          margin: 0 auto 30px; } }
    #oc #open .sec02 .pic02 {
      width: 600px;
      position: absolute;
      top: 90px;
      left: 75%; }
      @media screen and (max-width: 767px) {
        #oc #open .sec02 .pic02 {
          display: none; } }
    #oc #open .sec02 .pic03 {
      width: 900px;
      margin: 120px 0 120px 10%; }
      @media screen and (max-width: 767px) {
        #oc #open .sec02 .pic03 {
          width: 100%;
          max-width: 500px;
          margin: 0 auto 60px; } }
  #oc .sec03 h3 {
    background-color: var(--main_color_yellow);
    padding: 30px 0; }
    @media screen and (max-width: 767px) {
      #oc .sec03 h3 {
        padding: 15px 0; } }
    #oc .sec03 h3 img {
      display: block;
      height: 45px;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        #oc .sec03 h3 img {
          height: 20px; } }
  #oc .sec03 .inner {
    position: relative; }
    @media screen and (max-width: 767px) {
      #oc .sec03 .inner {
        width: 96%;
        margin: 0 auto; } }
    #oc .sec03 .inner h4 {
      text-align: center;
      font-size: 2rem;
      font-weight: normal;
      letter-spacing: 0.1em;
      margin: 60px 0 90px; }
      @media screen and (max-width: 767px) {
        #oc .sec03 .inner h4 {
          font-size: 1.2rem;
          margin: 15px 0; } }
    #oc .sec03 .inner .nxt {
      display: grid;
      grid-template-columns: 120px 410px 300px;
      gap: 30px;
      position: relative; }
      @media screen and (max-width: 767px) {
        #oc .sec03 .inner .nxt {
          grid-template-columns: 1fr;
          gap: 15px; } }
      @media screen and (max-width: 767px) {
        #oc .sec03 .inner .nxt img {
          display: block;
          width: 100px;
          margin: 0 auto; } }
      #oc .sec03 .inner .nxt div dl {
        font-weight: bold;
        line-height: 1;
        display: grid;
        grid-template-columns: 420px 100px;
        margin-top: -20px; }
        @media screen and (max-width: 767px) {
          #oc .sec03 .inner .nxt div dl {
            max-width: 350px;
            grid-template-columns: 80% 20%;
            margin: 0 auto; } }
        #oc .sec03 .inner .nxt div dl dt {
          width: 420px;
          text-align: center;
          font-size: 10rem; }
          @media screen and (max-width: 767px) {
            #oc .sec03 .inner .nxt div dl dt {
              width: auto;
              font-size: 6rem; } }
          #oc .sec03 .inner .nxt div dl dt span {
            display: inline-block;
            height: 120px;
            line-height: 0.8;
            padding-right: 15px;
            border-right: 2px solid #333;
            margin-right: 15px; }
            @media screen and (max-width: 767px) {
              #oc .sec03 .inner .nxt div dl dt span {
                height: 70px;
                padding-right: 10px;
                margin-right: 10px; } }
        #oc .sec03 .inner .nxt div dl dd {
          width: 80px;
          height: 71px;
          text-align: center;
          font-size: 3.6rem;
          padding-top: 9px;
          border: 2px solid #333;
          margin: 60px 0 0 15px; }
          @media screen and (max-width: 767px) {
            #oc .sec03 .inner .nxt div dl dd {
              width: 60px;
              height: 55px;
              font-size: 3rem;
              padding-top: 5px;
              margin: 25px 0 0 5px; } }
      #oc .sec03 .inner .nxt div p {
        text-align: left;
        font-size: 4rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 767px) {
          #oc .sec03 .inner .nxt div p {
            text-align: center;
            font-size: 3rem; } }
        #oc .sec03 .inner .nxt div p span {
          display: inline-block;
          font-size: 1.5rem;
          line-height: 1.2;
          margin-bottom: 20px; }
          @media screen and (max-width: 767px) {
            #oc .sec03 .inner .nxt div p span {
              font-size: 1.2rem; } }
      #oc .sec03 .inner .nxt ul {
        list-style: none;
        margin: 40px 0 0 100px; }
        @media screen and (max-width: 767px) {
          #oc .sec03 .inner .nxt ul {
            margin: 0 auto; } }
        #oc .sec03 .inner .nxt ul li {
          letter-spacing: 0.05em; }
    #oc .sec03 .inner .people {
      width: 300px;
      position: absolute;
      right: 0;
      top: 0; }
      @media screen and (max-width: 767px) {
        #oc .sec03 .inner .people {
          position: relative;
          right: auto;
          top: auto;
          display: block;
          width: 200px;
          margin: 15px auto; } }
    #oc .sec03 .inner .scdl {
      width: 1200px;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 90px;
      margin: 90px auto; }
      @media screen and (max-width: 767px) {
        #oc .sec03 .inner .scdl {
          width: auto;
          grid-template-columns: 1fr 1fr;
          gap: 15px;
          margin: 30px auto; } }
      #oc .sec03 .inner .scdl .sqar a {
        text-decoration: none;
        display: block;
        height: 330px;
        overflow: hidden;
        padding: 30px 15px;
        border: 1px solid #333;
        position: relative; }
        @media screen and (max-width: 767px) {
          #oc .sec03 .inner .scdl .sqar a {
            height: auto;
            padding: 5%; } }
        #oc .sec03 .inner .scdl .sqar a:hover i {
          color: #ccc; }
        #oc .sec03 .inner .scdl .sqar a dl {
          font-weight: bold;
          line-height: 1;
          display: grid;
          grid-template-columns: 250px 1fr; }
          @media screen and (max-width: 767px) {
            #oc .sec03 .inner .scdl .sqar a dl {
              max-width: 140px;
              grid-template-columns: 85% 15%; } }
          #oc .sec03 .inner .scdl .sqar a dl dt {
            text-align: center;
            font-size: 5.5rem; }
            @media screen and (max-width: 767px) {
              #oc .sec03 .inner .scdl .sqar a dl dt {
                font-size: 2.7rem; } }
            #oc .sec03 .inner .scdl .sqar a dl dt span {
              display: inline-block;
              height: 70px;
              line-height: 0.8;
              padding-right: 15px;
              border-right: 1px solid #333;
              margin-right: 15px; }
              @media screen and (max-width: 767px) {
                #oc .sec03 .inner .scdl .sqar a dl dt span {
                  height: 36px;
                  padding-right: 5px;
                  margin-right: 5px; } }
          #oc .sec03 .inner .scdl .sqar a dl dd {
            width: 50px;
            height: 44px;
            text-align: center;
            font-size: 2rem;
            padding-top: 6px;
            border: 1px solid #333;
            margin-top: 30px; }
            @media screen and (max-width: 767px) {
              #oc .sec03 .inner .scdl .sqar a dl dd {
                width: 26px;
                height: 23px;
                padding-top: 3px;
                font-size: 1.2rem;
                margin-top: 15px; } }
        #oc .sec03 .inner .scdl .sqar a p {
          text-align: left;
          font-size: 2.4rem;
          font-weight: bold;
          line-height: 1;
          letter-spacing: 0.05em;
          margin-bottom: 20px; }
          @media screen and (max-width: 767px) {
            #oc .sec03 .inner .scdl .sqar a p {
              font-size: 1.3rem;
              margin: 5px 0 15px; } }
          #oc .sec03 .inner .scdl .sqar a p span {
            display: inline-block;
            max-height: 45px;
            overflow: hidden;
            font-size: 1.2rem;
            line-height: 1.2;
            margin-bottom: 10px; }
            @media screen and (max-width: 767px) {
              #oc .sec03 .inner .scdl .sqar a p span {
                max-height: 100%;
                font-size: 1rem;
                margin: 10px 0; } }
        #oc .sec03 .inner .scdl .sqar a ul {
          list-style: none; }
          #oc .sec03 .inner .scdl .sqar a ul li {
            font-size: 1.2rem;
            letter-spacing: 0.05em; }
            @media screen and (max-width: 767px) {
              #oc .sec03 .inner .scdl .sqar a ul li {
                font-size: 0.8rem; } }
        #oc .sec03 .inner .scdl .sqar a i {
          font-size: 2rem;
          position: absolute;
          right: 15px;
          bottom: 30px;
          transition: 0.5s; }
          @media screen and (max-width: 767px) {
            #oc .sec03 .inner .scdl .sqar a i {
              font-size: 1.4rem;
              right: 2%;
              bottom: 2%; } }
    #oc .sec03 .inner .calendar {
      width: 1000px;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        #oc .sec03 .inner .calendar {
          width: 100%; } }
    #oc .sec03 .inner p {
      text-align: center; }
      #oc .sec03 .inner p a {
        text-decoration: none;
        display: inline-block;
        background-color: var(--main_color_yellow);
        padding: 15px 120px;
        border-radius: 10px;
        margin: 60px 0 120px;
        position: relative; }
        @media screen and (max-width: 767px) {
          #oc .sec03 .inner p a {
            margin: 30px 0 60px; } }
        #oc .sec03 .inner p a:hover {
          text-decoration: underline; }
        #oc .sec03 .inner p a i {
          color: #333;
          font-size: 1.6rem;
          position: absolute;
          right: 15px; }
  #oc .sec04 {
    margin-bottom: 150px; }
    #oc .sec04 h3 {
      background-color: var(--main_color_yellow);
      padding: 30px 0; }
      @media screen and (max-width: 767px) {
        #oc .sec04 h3 {
          padding: 15px 0; } }
      #oc .sec04 h3 img {
        display: block;
        height: 45px;
        margin: 0 auto; }
        @media screen and (max-width: 767px) {
          #oc .sec04 h3 img {
            height: 20px; } }
    #oc .sec04 .box {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      column-gap: 15px;
      grid-row-gap: 30px;
      margin: 60px 0 30px; }
      @media screen and (max-width: 767px) {
        #oc .sec04 .box {
          grid-template-columns: 1fr;
          gap: 15px;
          width: 90%;
          margin: 30px auto; } }
      @media screen and (max-width: 767px) {
        #oc .sec04 .box dl {
          max-width: 500px;
          margin: 0 auto; } }
      #oc .sec04 .box dl dd {
        margin: 15px 0 0 60px; }
    #oc .sec04 ul {
      list-style: none;
      display: grid;
      grid-template-columns: 300px 300px;
      column-gap: 540px;
      margin-left: 60px; }
      @media screen and (max-width: 767px) {
        #oc .sec04 ul {
          grid-template-columns: 300px;
          gap: 15px;
          width: 300px;
          margin: 0 auto; } }
      #oc .sec04 ul li {
        text-align: center; }
        #oc .sec04 ul li a {
          width: 300px;
          text-decoration: none;
          display: inline-block;
          background-color: var(--main_color_yellow);
          padding: 15px 0;
          border-radius: 10px;
          position: relative; }
          #oc .sec04 ul li a:hover {
            text-decoration: underline; }
          #oc .sec04 ul li a i {
            color: #333;
            font-size: 1.6rem;
            position: absolute;
            right: 15px; }
  #oc .sec05 {
    background-color: var(--main_color_yellow);
    padding: 90px 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      #oc .sec05 {
        padding: 60px 2%; } }
    #oc .sec05 .clip {
      width: 300px;
      position: absolute;
      top: -75px;
      left: calc(50% - 150px); }
      @media screen and (max-width: 767px) {
        #oc .sec05 .clip {
          width: 200px;
          top: -50px;
          left: calc(50% - 100px); } }
    #oc .sec05 .inner {
      background: #fff;
      border-radius: 30px;
      padding: 120px 60px 90px; }
      @media screen and (max-width: 767px) {
        #oc .sec05 .inner {
          padding: 120px 5% 90px; } }
      #oc .sec05 .inner h3 img {
        display: block;
        height: 45px;
        margin: 0 auto; }
        @media screen and (max-width: 767px) {
          #oc .sec05 .inner h3 img {
            height: 30px; } }
      #oc .sec05 .inner .expln01 {
        padding: 30px 0;
        border-top: 1px solid #333;
        border-bottom: 1px solid #333;
        margin: 60px 0;
        display: grid;
        grid-template-columns: 200px 1fr 200px;
        column-gap: 90px; }
        @media screen and (max-width: 767px) {
          #oc .sec05 .inner .expln01 {
            grid-template-columns: 1fr;
            margin: 30px 0; } }
        #oc .sec05 .inner .expln01 img {
          display: block;
          margin: 0 auto; }
        #oc .sec05 .inner .expln01 .nmb {
          height: 90px; }
        #oc .sec05 .inner .expln01 .icn {
          height: 100px; }
          @media screen and (max-width: 767px) {
            #oc .sec05 .inner .expln01 .icn {
              display: none; } }
        #oc .sec05 .inner .expln01 h4 {
          text-align: center;
          font-size: 2rem;
          letter-spacing: 0.1em; }
          @media screen and (max-width: 767px) {
            #oc .sec05 .inner .expln01 h4 {
              font-size: 1.2rem;
              letter-spacing: 0;
              margin: 15px 0; } }
          #oc .sec05 .inner .expln01 h4 span {
            font-size: 1rem;
            font-weight: normal; }
      #oc .sec05 .inner .op01 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 60px; }
        @media screen and (max-width: 767px) {
          #oc .sec05 .inner .op01 {
            grid-template-columns: 1fr; } }
        #oc .sec05 .inner .op01 div {
          position: relative;
          height: 450px; }
          @media screen and (max-width: 767px) {
            #oc .sec05 .inner .op01 div {
              height: auto;
              max-width: 400px;
              margin: 0 auto; } }
          #oc .sec05 .inner .op01 div .icon {
            display: block;
            height: 100px;
            margin: 0 auto; }
          #oc .sec05 .inner .op01 div h5 {
            background: #333;
            text-align: center;
            color: #fff;
            font-size: 1.2rem;
            font-weight: normal;
            letter-spacing: 0.1em;
            padding: 5px 0;
            margin: 15px 0;
            position: relative; }
            #oc .sec05 .inner .op01 div h5 img {
              width: 60px;
              position: absolute;
              right: 0;
              bottom: 30px; }
          #oc .sec05 .inner .op01 div .arch {
            position: absolute;
            bottom: 0; }
            @media screen and (max-width: 767px) {
              #oc .sec05 .inner .op01 div .arch {
                position: relative;
                bottom: auto;
                margin-top: 30px; } }
      #oc .sec05 .inner .expln02 {
        padding: 30px 0;
        border-top: 1px solid #333;
        border-bottom: 1px solid #333;
        margin: 60px 0;
        display: grid;
        grid-template-columns: 200px 1fr 200px;
        column-gap: 30px; }
        @media screen and (max-width: 767px) {
          #oc .sec05 .inner .expln02 {
            grid-template-columns: 1fr; } }
        #oc .sec05 .inner .expln02 img {
          display: block;
          margin: 0 auto; }
        #oc .sec05 .inner .expln02 .nmb {
          height: 90px;
          margin-top: 15px; }
        #oc .sec05 .inner .expln02 .icn {
          height: 120px; }
          @media screen and (max-width: 767px) {
            #oc .sec05 .inner .expln02 .icn {
              display: none; } }
        #oc .sec05 .inner .expln02 h4 {
          text-align: center;
          font-size: 2rem;
          letter-spacing: 0.1em; }
          @media screen and (max-width: 767px) {
            #oc .sec05 .inner .expln02 h4 {
              font-size: 1.2rem;
              letter-spacing: 0;
              margin: 15px 0; } }
          #oc .sec05 .inner .expln02 h4 span {
            font-size: 1rem;
            font-weight: normal; }
      #oc .sec05 .inner .op02 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 60px; }
        @media screen and (max-width: 767px) {
          #oc .sec05 .inner .op02 {
            grid-template-columns: 1fr;
            max-width: 300px;
            margin: 0 auto; } }
        @media screen and (max-width: 767px) {
          #oc .sec05 .inner .op02 dl {
            margin-top: 30px; } }
        #oc .sec05 .inner .op02 dl dd {
          margin-top: 15px; }
        #oc .sec05 .inner .op02 .arc {
          margin-top: 60px; }
          @media screen and (max-width: 767px) {
            #oc .sec05 .inner .op02 .arc {
              margin-top: 30px; } }
      #oc .sec05 .inner .btn {
        display: inline-block;
        width: 300px;
        background: var(--main_color_yellow);
        text-decoration: none;
        text-align: center;
        padding: 15px 0;
        border-radius: 10px;
        margin: 40px auto 0;
        position: relative; }
        #oc .sec05 .inner .btn:hover {
          text-decoration: underline; }
        #oc .sec05 .inner .btn i {
          font-size: 1.5em;
          position: absolute;
          top: 16px;
          right: 5%; }
  #oc .sec06 {
    margin: 120px 0; }
    @media screen and (max-width: 767px) {
      #oc .sec06 {
        margin: 90px 0 60px; } }
    @media screen and (max-width: 767px) {
      #oc .sec06 .inner {
        width: 96%;
        margin: 0 auto; } }
    #oc .sec06 h3 {
      background-color: var(--main_color_yellow);
      padding: 30px 0;
      margin-bottom: 60px; }
      @media screen and (max-width: 767px) {
        #oc .sec06 h3 {
          margin-bottom: 30px; } }
      #oc .sec06 h3 img {
        display: block;
        height: 45px;
        margin: 0 auto; }
        @media screen and (max-width: 767px) {
          #oc .sec06 h3 img {
            height: 30px; } }
    #oc .sec06 .box {
      display: grid;
      grid-template-columns: 1fr 520px;
      column-gap: 90px; }
      @media screen and (max-width: 767px) {
        #oc .sec06 .box {
          grid-template-columns: 1fr; } }
      #oc .sec06 .box dd {
        margin: 30px 0 60px; }
        @media screen and (max-width: 767px) {
          #oc .sec06 .box dd {
            margin: 15px 0 30px; } }
  #oc .sec07 {
    border-top: 90px solid var(--main_color_yellow); }
    #oc .sec07 .inner {
      height: 992px;
      background: url("../img/open_campus/frame.webp") no-repeat center center/cover;
      margin-top: -120px;
      position: relative; }
      @media screen and (max-width: 767px) {
        #oc .sec07 .inner {
          height: auto;
          background: none;
          margin: 0;
          width: 96%;
          margin: 0 auto; } }
      #oc .sec07 .inner h3 {
        width: 100%;
        position: absolute;
        top: -30px; }
        @media screen and (max-width: 767px) {
          #oc .sec07 .inner h3 {
            position: relative; } }
        #oc .sec07 .inner h3 img {
          display: block;
          width: 300px;
          margin: 0 auto; }
      #oc .sec07 .inner div {
        width: 1000px;
        padding-top: 180px;
        margin: 0 auto; }
        @media screen and (max-width: 767px) {
          #oc .sec07 .inner div {
            width: auto;
            padding: 0; } }
        #oc .sec07 .inner div dl {
          font-size: 1.2rem;
          line-height: 2;
          margin-bottom: 30px; }
          @media screen and (max-width: 767px) {
            #oc .sec07 .inner div dl {
              font-size: 1rem; } }
          #oc .sec07 .inner div dl dt {
            font-weight: bold; }
          #oc .sec07 .inner div dl dd {
            white-space: pre-wrap; }
            @media screen and (max-width: 767px) {
              #oc .sec07 .inner div dl dd {
                white-space: wrap; } }
  #oc .oc-footer {
    background-color: var(--main_color_yellow);
    padding: 200px 0;
    margin-top: 60px; }
    @media screen and (max-width: 767px) {
      #oc .oc-footer {
        padding: 100px 5%; } }
    #oc .oc-footer a {
      display: block;
      width: 600px;
      margin: 0 auto;
      transition: 0.5s; }
      @media screen and (max-width: 767px) {
        #oc .oc-footer a {
          width: 100%; } }
      #oc .oc-footer a:hover {
        opacity: 0.8; }

/*--------------------
	LOWER
--------------------*/
#ocl {
  background: #fff;
  padding-top: 90px; }
  @media screen and (max-width: 767px) {
    #ocl {
      padding-top: 60px; } }
  #ocl h2 {
    width: 600px;
    margin: 0 auto 90px; }
    @media screen and (max-width: 767px) {
      #ocl h2 {
        width: 96%;
        margin: 0 auto 30px; } }
  @media screen and (max-width: 767px) {
    #ocl .inner {
      width: 96%;
      margin: 0 auto; } }
  #ocl .scdl {
    width: 1200px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 90px;
    margin: 90px auto; }
    @media screen and (max-width: 767px) {
      #ocl .scdl {
        width: auto;
        grid-template-columns: 1fr 1fr;
        gap: 15px;
        margin: 60px auto; } }
    #ocl .scdl .sqar a {
      text-decoration: none;
      display: block;
      height: 330px;
      overflow: hidden;
      padding: 30px 15px;
      border: 1px solid #333;
      position: relative; }
      @media screen and (max-width: 767px) {
        #ocl .scdl .sqar a {
          height: auto;
          padding: 5%; } }
      #ocl .scdl .sqar a:hover i {
        color: #ccc; }
      #ocl .scdl .sqar a dl {
        font-weight: bold;
        line-height: 1;
        display: grid;
        grid-template-columns: 250px 1fr; }
        @media screen and (max-width: 767px) {
          #ocl .scdl .sqar a dl {
            max-width: 140px;
            grid-template-columns: 85% 15%; } }
        #ocl .scdl .sqar a dl dt {
          text-align: center;
          font-size: 5.5rem; }
          @media screen and (max-width: 767px) {
            #ocl .scdl .sqar a dl dt {
              font-size: 2.7rem; } }
          #ocl .scdl .sqar a dl dt span {
            display: inline-block;
            height: 70px;
            line-height: 0.8;
            padding-right: 15px;
            border-right: 1px solid #333;
            margin-right: 15px; }
            @media screen and (max-width: 767px) {
              #ocl .scdl .sqar a dl dt span {
                height: 36px;
                padding-right: 5px;
                margin-right: 5px; } }
        #ocl .scdl .sqar a dl dd {
          width: 50px;
          height: 44px;
          text-align: center;
          font-size: 2rem;
          padding-top: 6px;
          border: 1px solid #333;
          margin-top: 30px; }
          @media screen and (max-width: 767px) {
            #ocl .scdl .sqar a dl dd {
              width: 26px;
              height: 23px;
              padding-top: 3px;
              font-size: 1.2rem;
              margin-top: 15px; } }
      #ocl .scdl .sqar a p {
        text-align: left;
        font-size: 2.4rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: 0.05em;
        margin-bottom: 20px; }
        @media screen and (max-width: 767px) {
          #ocl .scdl .sqar a p {
            font-size: 1.3rem;
            margin: 5px 0 15px; } }
        #ocl .scdl .sqar a p span {
          display: inline-block;
          max-height: 45px;
          overflow: hidden;
          font-size: 1.2rem;
          line-height: 1.2;
          margin-bottom: 10px; }
          @media screen and (max-width: 767px) {
            #ocl .scdl .sqar a p span {
              max-height: 100%;
              font-size: 1rem;
              margin: 10px 0; } }
      #ocl .scdl .sqar a ul {
        list-style: none; }
        #ocl .scdl .sqar a ul li {
          font-size: 1.2rem;
          letter-spacing: 0.05em; }
          @media screen and (max-width: 767px) {
            #ocl .scdl .sqar a ul li {
              font-size: 0.8rem; } }
      #ocl .scdl .sqar a i {
        font-size: 2rem;
        position: absolute;
        right: 15px;
        bottom: 30px;
        transition: 0.5s; }
        @media screen and (max-width: 767px) {
          #ocl .scdl .sqar a i {
            font-size: 1.4rem;
            right: 2%;
            bottom: 2%; } }
  #ocl .lnk ul {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 90px;
    width: 690px;
    margin: 90px auto; }
    @media screen and (max-width: 767px) {
      #ocl .lnk ul {
        grid-template-columns: 1fr;
        gap: 15px;
        width: 300px;
        margin: 60px auto; } }
    #ocl .lnk ul li {
      text-align: center; }
      #ocl .lnk ul li a {
        text-decoration: none;
        display: inline-block;
        width: 300px;
        background-color: var(--main_color_yellow);
        padding: 30px 0;
        border-radius: 10px;
        position: relative; }
        #ocl .lnk ul li a:hover {
          text-decoration: underline; }
        #ocl .lnk ul li a i {
          color: #333;
          font-size: 1.6rem;
          position: absolute;
          right: 15px; }
  #ocl .oc-footer {
    background-color: var(--main_color_yellow);
    padding: 200px 0;
    margin-top: 60px; }
    @media screen and (max-width: 767px) {
      #ocl .oc-footer {
        padding: 100px 5%; } }
    #ocl .oc-footer a {
      display: block;
      width: 600px;
      margin: 0 auto;
      transition: 0.5s; }
      @media screen and (max-width: 767px) {
        #ocl .oc-footer a {
          width: 100%; } }
      #ocl .oc-footer a:hover {
        opacity: 0.8; }

/*--------------------
	Lity
--------------------*/
.detail {
  background: #fff;
  padding: 60px; }
  @media screen and (max-width: 767px) {
    .detail {
      padding: 15px; } }
  .detail h5 {
    width: 300px;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .detail h5 {
        width: 60%;
        max-width: 300px;
        margin-bottom: 30px; } }
  .detail .grd {
    display: grid;
    grid-template-columns: 500px 300px; }
    @media screen and (max-width: 767px) {
      .detail .grd {
        grid-template-columns: 1fr; } }
    .detail .grd div {
      position: relative; }
      .detail .grd div dl dt {
        width: 88px;
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 767px) {
          .detail .grd div dl dt {
            width: 50px; } }
    .detail .grd .date dl .scdl {
      text-align: center;
      font-size: 5.5rem;
      font-weight: bold;
      line-height: 1; }
      @media screen and (max-width: 767px) {
        .detail .grd .date dl .scdl {
          text-align: left;
          font-size: 2.5rem;
          margin: 6px 0 0 60px; } }
      .detail .grd .date dl .scdl .months {
        display: inline-block;
        height: 70px;
        line-height: 0.8;
        padding-right: 15px;
        border-right: 1px solid #333;
        margin-right: 15px; }
        @media screen and (max-width: 767px) {
          .detail .grd .date dl .scdl .months {
            height: 24px;
            padding-right: 5px;
            margin-right: 5px; } }
      .detail .grd .date dl .scdl .dow {
        display: inline-block;
        width: 50px;
        height: 44px;
        font-size: 2rem;
        padding-top: 6px;
        border: 1px solid #333;
        margin-left: 15px; }
        @media screen and (max-width: 767px) {
          .detail .grd .date dl .scdl .dow {
            width: 24px;
            height: 22px;
            text-align: center;
            font-size: 1rem;
            padding-top: 3px;
            margin-left: 5px; } }
    .detail .grd .date dl .ttl {
      font-size: 1.4rem;
      font-weight: bold;
      margin: 10px 0 0 120px; }
      @media screen and (max-width: 767px) {
        .detail .grd .date dl .ttl {
          font-size: 1rem;
          margin: 5px 0 0 60px; } }
    .detail .grd .date dl .times {
      font-size: 2rem;
      font-weight: bold;
      line-height: 1;
      letter-spacing: 0.1em;
      margin: 5px 0 0 120px; }
      @media screen and (max-width: 767px) {
        .detail .grd .date dl .times {
          font-size: 1.2rem;
          margin: 5px 0 0 60px; } }
      .detail .grd .date dl .times span {
        font-size: 1.1rem;
        font-weight: normal;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 767px) {
          .detail .grd .date dl .times span {
            font-size: 0.9rem; } }
    @media screen and (max-width: 767px) {
      .detail .grd .contents {
        margin: 15px 0; } }
    .detail .grd .contents dl dd {
      margin-left: 130px; }
      @media screen and (max-width: 767px) {
        .detail .grd .contents dl dd {
          font-size: 0.8rem;
          margin-left: 60px; } }
    .detail .grd .place dl dd {
      margin: 33px 0 0 130px; }
      @media screen and (max-width: 767px) {
        .detail .grd .place dl dd {
          margin: 15px 0 15px 60px; } }

.lity-close {
  width: 50px !important;
  height: 77px !important;
  background: url("../img/open_campus/close.webp") no-repeat center center/cover !important;
  font-size: 0 !important;
  position: absolute !important;
  top: 40px !important;
  right: 40px !important; }
  @media screen and (max-width: 767px) {
    .lity-close {
      width: 30px !important;
      height: 47px !important;
      top: 15px !important;
      right: 15px !important; } }
