/* MV */
.mv{position: relative; line-height: 1;}
.mv > div{position: absolute; z-index: 2;}
.mv img{width: 100%;}

@media only screen and (min-width: 768px) {
  .mv{padding-left: 33.4375%; margin-bottom: 100px;}
  .mvTit{top: 8.267%; left: 3.85%; width: 28.55%;}
  .mvBnr{top: 5%; right: 90px; width: 9.584%;}
  .mvBnr a{margin-bottom: 15px; display: block;}
  .mvPhoto{bottom: -1.9%; left: 33.4375%; width: 9.21875%;}
}

@media only screen and (max-width: 767px) {
  .mv{padding: 14vw 0 7vw 46.8%; margin-bottom: 40px;}
  .mvTit{top: 6vw; left: 4.7%; width: 44.4%;}
  .mvBnr{top: -7vw; right: 3.5%; width: 25%;}
  .mvBnr a{margin-bottom: 2vw; display: block;}
  .mvPhoto{bottom: 0; left: 46.8%; width: 23.2%;}
}
/* BnrBox */
.bnrBox{margin: 0 0 100px; text-align: center;}
.bnrBox ul{display: flex; flex-wrap: wrap;}
.bnrBox .txt{font-size: min(5vw,24px); font-weight: bold;}

@media only screen and (min-width: 768px) {
  .bnrBox li{width: 17.88%; margin: 0 2.65% 2.65% 0;}
  .bnrBox li:nth-of-type(5n){margin-right: 0;}
}

@media only screen and (max-width: 767px) {
  .bnrBox{margin: 0 0 60px;}
  .bnrBox li{width: 32%; margin: 0 2% 2% 0;}  
  .bnrBox li:nth-of-type(3n){margin-right: 0;}
  .bnrBox li img{width: 100%;}
}

/* ---- */
.row-01 .box {
 align-items: center
}
.row-01 p {
 text-align: left
}
.row-01 p.tit {
 font-size: min(6vw, 40px);
 color: #73c3af;
 font-weight: bold;
 margin-top: 80px;
}
.row-01 p.txt {
 font-size: min(4.2vw, 24px);
 text-align: left
}
.btnBox-02 .moreLink a p {
  justify-content: left;}

  .row-01 .box-02 .addimg-01 { animation: swing 2s steps(2, end) infinite;}
  @keyframes swing{
    0% {
        transform: rotate(-25deg)
    }
    100% {
        transform: rotate(70deg)
    }
  }

/* Frame Box */
@media only screen and (min-width: 768px){
  .row-01 .box-02{position: relative; width: 83%; max-width: 702px; margin-left: auto; padding-top: 16.5%;}
  .row-01 .box-02 .addimg-01 {position: absolute; top: 75%; left: 22%; width: 9%; z-index: 1;}
  .row-01 .box-02 .addimg-02 {position: absolute; top: -5%; left: 5%; width: 35.7%; z-index: -1;}
  .row-01 .box-02 .addimg-02 figure{width: 152%; position: absolute; z-index: -1; top: 5%; left: 37%;}
  .row-01 .box-02 .addtxt{position: absolute; top: 10%; left: 29%;}
  .row-01 .box-02 .addtxt p{font-size: min(1.8vw,18px);}
  .row-01 .box-02 .addtxt b{font-weight: bold; font-size: min(2vw,19px);}
  
  .row-01 .frameBox{position: relative;}
  .row-01 .frameBox .txt-01,
  .row-01 .frameBox .txt-02{font-size: min(2.4vw,24px); line-height: 1.4; margin-bottom: 5px; font-weight: bold; padding-left: 70px;}
  .row-01 .frameBox .txt-01{color: #74c6b2;}
  .row-01 .frameBox .txt-02{color: #db97a3;}
  
  .row-01 .frameBox .btnBox-02{position: absolute;}
  .row-01 .frameBox .btnBox-02a{left: 29%; top: 25%;}
  
  .row-01 .frameBox .btnBox-02 .moreLink a{width: 100%; padding: 0;}
  .row-01 .frameBox .btnBox-02 .moreLink a p{max-width: 400px; font-size: min(3.6vw,24px);}
  .row-01 .frameBox .btnBox-02a .mt20,
  .row-01 .frameBox .btnBox-02b .mt20 { margin-top: .5rem;}
  
}

@media only screen and (max-width: 1023px) and (min-width: 768px){
  .row-01 .box-02{padding-top: 21%;}
}

@media only screen and (max-width: 767px) {
  /* .row-01 .box-02{position: relative; padding-top: 32vw;}
  .row-01 .box-02 .addimg-01 {position: absolute; top: 18vw; left: -1%; width: 27%;}
  .row-01 .box-02 .addimg-02 {position: absolute; z-index: -1; top: 0; left: 18%; width: 49%; z-index: -1;}
  .row-01 .box-02 .addimg-02 figure{width: 120%; position: absolute; z-index: -1; top: 8%; left: 44%;}
  
  .row-01 .box-02 .addtxt{width: 84%; margin: 0 0 0 16%; padding: 5.1% 0 5.1% 25%; background: url("../img/opencampus/shape_frame_sp.svg") no-repeat top left/100% auto;}
  .row-01 .box-02 .addtxt p{font-size: 4vw; line-height: 1.3; margin-bottom: 0.3em;}
  .row-01 .box-02 .addtxt b{font-weight: bold; font-size: 4.2vw;}
  
  .row-01 .frameBox .date{font-size: 52px; color: #599db1; font-weight: bold; line-height: 0.8; letter-spacing: 0.06em;}
  .row-01 .frameBox .date span{font-size: 24px; color: #599db1; font-weight: bold; line-height: 2; display: inline-block; vertical-align: text-top;}
    
  .row-01 .frameBox .txt-01,
  .row-01 .frameBox .txt-02{font-size: 20px; line-height: 1.4; margin-bottom: 0; font-weight: bold; padding-left: 55px;}
  .row-01 .frameBox .txt-01{color: #74c6b2;}

  .row-01 .frameBox .txt-02{color: #db97a3;}
  .row-01 .frameBox .btnBox-02a{margin: 15px 0 20px;}
  
  .row-01 .frameBox .moreLink{margin-top: 5px !important;} */
}
/* End Frame Box */

@media only screen and (max-width: 767px) {
 .row-01 .box-01 {
  margin-bottom: 60px
 }
 .row-01 .box-01 .imgCol {
  margin-top: 20px;
  text-align: center
 }
 .row-01 .box-01 .imgCol img {
  max-width: 50%
 }
 
 .row-01 .tabWrap ul li {
  flex-basis: calc((100% - 10px)/2)
 }
 .row-01 .tabWrap ul li:nth-of-type(2) {
  margin-left: 10px
 }
 .row-01 .txt {
  margin-top: 20px;
  font-size: 14px;
  text-align: left
 }
  
  .row-01 .txt-01,
  .row-01 .txt-02{font-size: 20px; padding-left: 55px;}
  .row-01 .box-02 .moreLink{margin-top: 10px;}
}
.row-02 {
 padding: 80px 0
}
.row-02 .inner {
 background: #fff;
 padding: 40px 6%
}
.row-02 .tabWrap ul {
 max-width: 600px;
 margin: 0 auto;
 justify-content: center
}
.row-02 .tabWrap ul li {
 flex-basis: calc((100% - 20px)/2)
}
.row-02 .tabWrap ul li a {
 display: block;
 text-align: center;
 color: #fff;
 font-weight: bold;
 line-height: 1.2em;
 padding: 5px;
 font-size: min(3vw, 16px)
}
.row-02 .tabWrap ul li a.active {
 pointer-events: none;
 opacity: 1
}
.row-02 .tabWrap ul li:first-of-type a {
 background: #939cc5
}
.row-02 .tabWrap ul li:nth-of-type(2) {
 margin-left: 20px
}
.row-02 .tabWrap ul li:nth-of-type(2) a {
 background: #f099a5
}
@media only screen and (max-width: 767px) {
 .row-02 .tabWrap ul li {
  flex-basis: calc((100% - 10px)/2)
 }
 .row-02 .tabWrap ul li:nth-of-type(2) {
  margin-left: 10px
 }
}
.row-02 .bg {
 padding: 60px 0;
 border-image-slice: 0 fill;
 border-image-outset: 0 100vw
}
.row-02 .bg.pu {
 border-image-source: linear-gradient(#939CC5, #939CC5)
}
.row-02 .bg.pk {
 border-image-source: linear-gradient(#F099A5, #F099A5)
}
.row-02 .bg > p {
 color: #fff
}
.row-02 .bg p.pu {
 color: #939cc5
}
.row-02 .bg p.pk {
 color: #f099a5
}
.row-02 .box-01 .inner {
 padding: 40px 0 40px 6%
}
.row-02 .box-01 .inner .txtCol {
 flex-basis: 72%
}
.row-02 .box-01 .inner .txtCol ul li,
.row-02 .box-01 .inner .txtCol ul li span {
 font-size: min(4vw, 18px);
 font-weight: bold
}
.row-02 .box-01 .inner .txtCol ul li span{
  margin-right: 1rem;
}
.row-02 .box-01 .inner .txtCol ul li:nth-of-type(n+2) {
 margin-top: 10px
}
.row-02 .box-01 .inner .txtCol .txt {
 padding: 0 6%;
 font-size: min(3.5vw, 15px)
}
.row-02 .box-01 .inner .imgCol {
 flex-basis: 28%
}
@media only screen and (min-width: 768px) {
 .row-02 .box-01 .inner .imgCol {
  position: relative
 }
 .row-02 .box-01 .inner .imgCol .addImg-01, .row-02 .box-01 .inner .imgCol .addImg-02 {
  position: absolute
 }
 .row-02 .box-01 .inner .imgCol .addImg-01 {
  top: -85px;
  right: 10%;
  width: 49.4%
 }
 .row-02 .box-01 .inner .imgCol .addImg-02 {
  bottom: -80px;
  left: 0;
  width: 43.1%
 }
}
@media only screen and (max-width: 767px) {
 .row-02 .box-01 .inner {
  padding: 40px 6%
 }
 .row-02 .box-01 .inner .imgCol {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  flex-direction: row-reverse
 }
 .row-02 .box-01 .inner .imgCol .addImg-01 {
  transform: translate(0, -20px)
 }
 .row-02 .box-01 .inner .imgCol .addImg-02 {
  transform: translate(-10px, 20px)
 }
}
.row-02 .box-02 .inner ul {
 flex-wrap: wrap
}
.row-02 .box-02 .inner ul li {
 flex-basis: calc((100% - 120px)/4);
 text-align: left
}
.row-02 .box-02 .inner ul li .txtBox {
 margin-top: 10px
}
.row-02 .box-02 .inner ul li .txtBox .tit {
 font-size: 24px;
 font-weight: bold
}
.row-02 .box-02 .inner ul li .txtBox .txt {
 font-size: 12px
}
@media only screen and (max-width: 767px) {
 .row-02 .box-02 .inner ul li {
  flex-basis: calc((100% - 20px)/2)
 }
 .row-02 .box-02 .inner ul li .txtBox .tit {
  font-size: 16px
 }
 .row-02 .box-02 .inner ul li:nth-of-type(n+3) {
  margin-top: 20px
 }
}
.row-02 .box-03 .inner {
 text-align: center
}
.row-03 {
 padding: 80px 0
}
.row-03 .txtBox {
 text-align: center;
 margin-bottom: 40px
}
.row-03 .txtBox .txt {
 color: #fff;
 margin-top: 20px
}
.row-03 .inner .tit {

 font-size: 34px;
 font-weight: bold;
 color: #fff;
 margin-bottom: 20px;
 text-align: center
}
.row-03 .inner .txt {
 text-align: left;
 font-size: 21px;
 padding-left: 80px;
 margin: 30px 0 10px
}
.row-03 ul li {
 text-align: left
}
.row-03 ul li:nth-child(n+2) {
 margin-top: 15px
}
.row-03 ul li a {
 display: block;
 line-height: 1em;
 font-size: clamp(14px, 1.5vw, 18px);
 padding: 0 0 0 80px;
 background-repeat: no-repeat;
 background-position: 0 50%;
 background-size: 62px;
 background-image: url(../img/common/icon_link_wh.svg)
}
.row-03 ul li a:hover {
 transform: translateX(15px)
}
.row-03 ul li a p {
 color: inherit;
 font-size: inherit;
 display: flex;
 align-items: center;
 height: 42px;
 width: 100%;
 padding: 0 20px;
 background: #fff;
 border-radius: 30px
}
.row-03 .col-01, .row-03 .col-02 {
 flex-basis: 50%;
 padding: 40px 5%
}
.row-03 .col-01 {
 background: #939cc5
}
.row-03 .col-01 a {
 color: #939cc5
}
.row-03 .col-02 {
 background: #f099a5
}
.row-03 .col-02 a {
 color: #f099a5
}
.row-03 .btnBox {
 margin-top: 60px;
 text-align: center
}
.row-03 .btnBox .moreLink a {
 font-size: inherit;
 max-width: 500px;
 margin: 0 auto
}
.row-03 .btnBox .moreLink a, .row-03 .btnBox .moreLink a p {
 height: 65px
}
.row-03 .btnBox .moreLink a p {
 color: #74c6b2;
 justify-content: center;
 font-size: 24px;
 display: flex;
 align-items: center;
 width: 100%;
 padding: 0 20px;
 background: #fff;
 border-radius: 40px
}
.row-03 .btnBox .moreLink .txt {
 color: #fff
}
@media only screen and (max-width: 767px) {
 .row-03 {
  padding: 40px 0 0
 }
} /*# sourceMappingURL=opencampus.css.map */

/* Add 20230318*/
.schedule {
 background: #3bb7a7;
 margin: 80px 0 0 0;
}
.schedule * {
 font-weight: bold;
 font-size: 15px;
 line-height: 1.45;
 color: #fff;
}
.schedule .tit {
 font-size: 34px;
 text-align: center;
 padding: 40px 0;
 letter-spacing: 0.1em;
}
.schedule .list {
 display: flex;
 flex-wrap: wrap;
 width: 100%;
}
.schedule .item {
 width: 27%;
 margin: 0 0 4.75% 4.75%;
 border: 2px dashed #fff;
 padding: 15px 18px 53px;
 position: relative;
 min-height: 185px;
}
.schedule .item.finished:after{content: '終了しました'; position: absolute; top: -2px; left: -2px; bottom: -2px; right: -2px; background: rgba(0,0,0,.6); color: #fff; display: flex; justify-content: center; align-items: center; font-size: 24px; font-weight: bold;}
@media only screen and (max-width: 767px) {
  .schedule .item.finished:after{font-size: 4vw;}
}

.schedule .faculty {
 min-height: 40px;
}
.schedule .date {
 color: #000;
}
.schedule .num {
 font-size: min(2.5vw,30px);
 color: #000;
 line-height: 1;
 font-weight: bold; 
}
.schedule .circle {
 background: #000;
 color: #fff;
 width: min(2.5vw,38px);
 height: min(2.5vw,38px);
 line-height: min(2.5vw,38px);
 text-align: center;
 border-radius: 100%;
 display: inline-block;
 margin: 0 0 0 7px;
  font-size: min(1vw,14px);
}
.schedule .desc {
 color: #333434;
 margin: 10px 0 0 0;
}
.schedule .btn {
 background: #1097aa;
 line-height: 1.3;
 padding: 5px 10px;
 position: absolute;
 left: 20px;
 bottom: 15px;
 right: 20px;
}
@media only screen and (max-width: 1023px) {
 .schedule * {
  font-size: 2.1vw;
 }
 .schedule .tit {
  font-size: 6vw;
  padding: 20px 0;
 }
 .schedule .item {
  width: 44.75%;
  padding: 2vw 2vw 8vw;
  margin: 0 0 3.5% 3.5%;
  min-height: 24vw;
 }
 .schedule .faculty {
  min-height: 6vw;
 }
 .schedule .num {
  font-size: 4.3vw;
 }
 .schedule .circle {
  width: 5vw;
  height: 5vw;
  line-height: 5vw;
  margin: 0 0 0 1vw;
   font-size: 2vw;
 }
 .schedule .desc {
  margin: 1vw 0 0 0;
 }
 .schedule .btn {
  padding: 1vw 2vw;
  left: 2vw;
  bottom: 2vw;
  right: 2vw;
 }
}

/* Schedule New */
.schedule2{background: #3bb7a7; padding: 40px 4.5% 20px;}
.schedule2 *{ font-weight: bold; font-size: 14px; line-height: 1.3; color: #fff;}
.schedule2 .tit{font-size: 34px; text-align: center; letter-spacing: 0.1em; margin: 0 0 40px;}
.schedule2 .list{display: flex; flex-wrap: wrap; justify-content: center; width: 100%;}
.schedule2 .item{width: 48%; margin: 0 auto 4%; position: relative; background: #fff; border-radius: 10px; display: flex; flex-direction: column; justify-content: stretch;}
.schedule2 .item:nth-of-type(2n){margin-right: 0;}
.schedule2 .item.finished:after{content: '終了しました'; position: absolute; top: -2px; left: -2px; bottom: -2px; right: -2px; background: rgba(0,0,0,.6); color: #fff; display: flex; justify-content: center; align-items: center; font-size: 24px; font-weight: bold; letter-spacing: 0.1em;}
.schedule2 .item.notlink .item-btn{opacity: .7; pointer-events: none; filter: brightness(0.5);}

.schedule2 .item-cont{width: 49%;}
.schedule2 .item-btn{width: 46%;}
.schedule2 .item-btn a{display: flex; flex-wrap: wrap; align-items: center; align-content: center; width: 100%; line-height: 1.4; font-weight: bold; height: 72px; padding: 0 9px; position: relative; border-radius: 5px;}
.schedule2 .item-btn a:after{content: ''; display: inline-block; position: absolute; top: 50%; right: 10px; margin-top: -5px; background:url(../img/opencampus/triangle-arrow.png); background-repeat: no-repeat; width: 17px; height: 20px;}
.schedule2 .item-btn a:nth-of-type(2) { margin-top: 10px;}
.schedule2 .item-btn a.hfull{height: 72px; top: 50%;}
.schedule2 .item-btn a.btn-reha{background: #959abf; box-shadow: 0 4px 0 #50599d; transition: .3s ease-in-out;}
.schedule2 .item-btn a.btn-kango{background: #d19aa3; box-shadow: 0 4px 0 #a34455; transition: .3s ease-in-out;}
.schedule2 .item-btn a:hover { transform: translateY(4px); box-shadow: none;}
.schedule2 .item-btn span{font-size: 20px; width: 100%;}

.schedule2 .faculty{min-height: 30px; display: flex; width: 100%; align-items: center; background: #f3975b; border-radius: 10px 10px 0 0; padding: 0 1rem;}
/* .schedule2 .flex-item { display: flex; justify-content: space-between; align-items: center; padding: 2rem 1rem 1rem;} */
.schedule2 .flex-item { display: flex; justify-content: space-between; align-items: center; padding:1rem;}
.schedule2 .date{color: #000;}
.schedule2 .num{font-size: 50px; color: #000; line-height: 1; font-weight: bold; position: relative;}
.schedule2 .circle{color: #000; display: inline-block; font-size: 20px;}
.schedule2 .desc{color: #000; margin: 10px 0; min-height: 20px; font-size: clamp(12px, 1.562vw, 18px);}
.schedule2 .btn{line-height: 1.3; padding: 5px 0; color: #000;}
.schedule2 .btn span { background: #1097aa; padding: .3rem 1rem; border-radius: 3px; margin-right: .5rem; color: #fff;}
.small-slash { margin: 0 0.3rem; color: #000; font-size: 18px !important; display: inline-block; padding-bottom: 3px;}
/* .year{ display: inline-block; width: 100%; color: #000; font-size: 17px; position: absolute; top: -52%;} */
.year{ display: block; width: 100%; color: #000; font-size: 17px; position: static;}

@media only screen and (max-width: 1023px) {
  .schedule2 .item{width: 100%; margin: 0 0 20px;}
}

@media only screen and (max-width: 767px) {
  .schedule2{padding: 20px 3%;}
  .schedule2 *{font-size: 2.4vw;}
  .schedule2 .tit{margin: 0 0 20px; font-size: 7vw;}
  .schedule2 .item{ margin: 0 0 4vw;}  
  .schedule2 .item.finished:after{font-size: 5vw;}
  .schedule2 .faculty{min-height: 7vw; font-size: 3vw;}
  .schedule2 .num{font-size: 7vw;}
  .schedule2 .circle{width: 12vw; height: 4.5vw; line-height: 4.5vw; font-size: 3.5vw;}
  .schedule2 .desc{margin: 1.5vw 0; min-height: 8.5vw;}
  .schedule2 .item-cont { width: 46%;}
  .schedule2 .item-btn { width: 51%;}
  .schedule2 .item-btn a{padding: 0 2vw; height: 13vw;}
  .schedule2 .item-btn a.hfull{height: 23vw;}
  .schedule2 .item-btn a:after{padding: 1vw; margin-top: -1vw; right: 5%;}
  .schedule2 .item-btn span{font-size: 3.5vw;}  

  .small-slash { padding-bottom: 0; font-size: 13px !important;}
}


/* schedule3 */
.schedule3{margin: 30px 0 20px 0; text-align: center;}
.schedule3 .tit{font-size: 30px; line-height: 1.3; margin: 0 0 15px;}
.schedule3 .tit span{width: 34px; height: 34px; line-height: 34px; text-align: center; color: #fff; font-size: 55%; display: inline-block; border-radius: 100%; background: #251e1c; vertical-align: top; margin-top: 0.2em;}
.schedule3 .tit span:last-of-type{margin-right: 0.5em;}
.schedule3 .tit span:nth-of-type(2){margin-left: -0.5em;}
.schedule3 .tit span.item-time { background: none; color: #000; width: auto;}
.schedule3 .txt{display: flex; justify-content: center; align-items: center; margin: 0 0 25px;}
.schedule3 .txt p{font-size: 18px; line-height: 1.7;}
.schedule3 .txt:before,
.schedule3 .txt:after{content: ''; background: url("../img/opencampus/brackets.svg") no-repeat center center/100% 100%; width: 20px; height: 76px}
.schedule3 .txt:before{margin-right: 10px;}
.schedule3 .txt:after{margin-left: 10px; transform: rotateY(-180deg);}

.schedule3 .btn{max-width: 500px; width: 100%; margin: 0 auto;}
.schedule3 .btn a{background: #f4b183; display: block; color: #fff; font-size: 24px; line-height: 1.4; border-radius: 5px; padding: 0.7em 0; font-weight: bolder; position: relative; overflow: hidden;}
.schedule3 .btn a[data-atari]{pointer-events: none;}
.schedule3 .btn a[data-atari]:before{content: attr(data-atari); background: rgba(0,0,0,.75); color: #fff; text-align: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;}
.schedule3 .item{position: relative;}
.schedule3 .fukidashi{margin: 0 0 5px;}
.schedule3 .fukidashi img{max-width: 200px; width: 60%;}
.schedule3 .fukidashi.fukidashi04 img { max-width: 300px;}
.schedule3.kobetsu-oc { margin: 20px 0;}
.schedule3.kobetsu-oc .btn { max-width: 827px; box-shadow: 3px 3px 16px -3px #b8b8b8; border-radius: 5px;}
.schedule3.kobetsu-oc .btn a img.c-arrow,
.schedule3.position a img.c-arrow { position: absolute; right: 1rem; top: 50%; transform: translateY(-50%);}

.schedule3.position { position: relative; top: -4rem; margin-bottom: 2rem;}
.schedule3.position a{ position: relative;}

@media only screen and (min-width: 768px) {
  .schedule3 .box{display: flex; flex-wrap: wrap; justify-content: space-around; gap: 15px;}
  .schedule3 .item{width: 48%; max-width: 500px;}
  .schedule3.kobetsu-oc .item { width: 100%; max-width: 827px;}

  
  
}

@media only screen and (max-width: 1080px) and (min-width: 768px) {
  .schedule3 .tit{font-size: 2.5vw;}
  .schedule3 .tit span{width: 3vw; height: 3vw; line-height: 3vw;}
  .schedule3 .txt p{font-size: 1.6vw;}
  .schedule3 .txt:before,
  .schedule3 .txt:after{width: 2vw; height: 7.6vw;}
  .schedule3 .txt:before{margin-right: 0.8vw;}
  .schedule3 .txt:after{margin-left: 0.8vw;}
}

@media only screen and (max-width: 767px) {
  .schedule3 .item:nth-of-type(1){margin: 0 0 50px;}
  .schedule3 .tit{font-size: 5.4vw; margin-bottom: 3vw;}
  .schedule3 .tit span{width: 6vw; height: 6vw; line-height: 6vw;}
  .schedule3 .btn{max-width: 767px; width: 94%;}
  .schedule3 .btn a{font-size: 5.4vw; line-height: 1; padding: 0.6em 0;}
  .schedule3 .txt{margin-bottom: 3vw;}
  .schedule3 .txt p{font-size: 3.3vw; padding-bottom: 0.6em;}
  .schedule3 .txt:before,
  .schedule3 .txt:after{width: 3vw; height: 11.4vw;}
  .schedule3 .txt:before{margin-right: 1vw;}
  .schedule3 .txt:after{margin-left: 1vw;}
}


.strengths{ margin-bottom: 100px;}
.strengths .tit{ margin-bottom: 50px; font-size: clamp(16px, 2.086vw, 30px); font-weight: bold; text-align: center; }
@media only screen and (max-width: 767px) {
  .strengths{ margin-bottom: 60px;}
  .strengths .tit{ margin-bottom: 20px;}
}

p.asterisk { font-size: clamp(12px, 1.564vw, 16px); margin-top: 10px; text-indent: -1rem; padding-left: 1rem;}
p.asterisk::before { content: '※'; color: #73c3af;}
@media only screen and (max-width: 767px) {
  p.asterisk { padding-left: 2rem;}
}

@media only screen and (max-width: 767px) {
.btnBox-02 .moreLink a p { padding-left: 12%;}}

/* add */
.mt15{ margin-top: 1.5rem;}


/* program kango */
.row-02 .box-01 .program.inner { padding: 40px 0;}
.row-02 .box-01 .program.inner .txtCol { padding: 0 3%; position: relative;}
.program .program-time { width: 35%; min-width: 188px; position: absolute; left: -3.8%; top: 6%;}
.program .program-title{ margin-bottom: 2rem; text-align: center;}
.program .program-title p.tit01{ font-size: clamp(24px, 6.4vw, 40px);}
.program .program-txtBox-title{ font-size: clamp(16px, 4.266vw, 22px);}
.program .program-title p.tit01.kg,
.program .program-txtBox-title.kg{ color: #d19aa3; font-weight: bolder;}
.program .program-title p.tit01{ opacity: 0.8;}
.program .program-contents{ display: flex; justify-content: space-between; padding: 0 6%;}
.program01 .program-contents .program-txtBox{ width: 55%; align-self: center;}
.program01 .program-contents figure{ width: 35%;}

.program02{ margin-top: 100px;}
.program02 .program-time { top: 35%;}
.program02 .program-contents{ display: flex; flex-wrap: wrap; row-gap: 30px; margin-top: 3rem;}
.program02 .program-contents .program-contentsBox{ display: flex; flex-basis: calc((100% - 30px) / 2); justify-content: space-between;}
.program02 .program-contents .program-contentsBox .program-txtBox{ width: 50%;}

@media only screen and (max-width: 1000px) {
    .program .program-contents{ width: 100%; flex-direction: column-reverse; text-align: center;}
    .program01 .program-contents .program-txtBox { width: 100%;}
    .program01 .program-contents figure { width: 280px; margin: 0 auto 15px;}
    .program02 .program-time { top: 29%;}
    .program02 .program-contents { flex-direction: column;}
    .program02 .program-contents .program-contentsBox { flex-direction: column-reverse; align-self: center;}
    .program02 .program-contents .program-contentsBox .program-txtBox { width: 100%;}
    .program02 .program-contents .program-contentsBox img { margin: 0 auto 20px;}
}
@media only screen and (max-width: 500px) {
    .row-02 .box-01 .program.inner .txtCol { padding: 3% 6%;}
    .program .program-time { top: 25.5%; left: -5%; width: 50%; min-width: unset;}
    .program .program-time.ten{ top: 5%;}
    .program02 .program-contents { margin-top: 60px;}
}

/* program reha */
.row-02 .pu .box-01 .program.inner .txtCol { padding: 0;}
.pu .program.program01,
.pu .program.program02{ position: relative; }
.program .program-title p.tit01.reha,
.program .program-txtBox-title.reha{ color: #4599e7; font-weight: bolder;}
.pu .program .program-time.ten { top: 20%;}
.pu .program .program-time.ten.time01 { top: -11%;}
.pu .program .program-time.ten.time02 { top: -18%;}
.pu .program .program-time.ten.time02.top-posi { top: -12vh;}
.pu .program01 .program-contents figure.program-img { width: 25%;}
.mt130_70{ margin-top: 130px;}

@media only screen and (max-width: 1000px) {
    .program01 .program-contents figure.program-img,
    .pu .program01 .program-contents figure.program-img { width: 200px;}
    .pu .program .program-time.ten.time02.top-posi { top: -4vh;}
    .mt130_70{ margin-top: 70px;}
}
@media only screen and (max-width: 500px) {
    .pu .program .program-time.ten.time01 { top: -10%;}
    .pu .program .program-time.ten.time02 { top: -10%;}
}



/* new-OCpage */
.row-01 .bg { padding: 60px 0; border-image-slice: 0 fill; border-image-outset: 0 100vw}
.row-01 .bg.bg-green{border-image-source: linear-gradient(#3bb7a7, #3bb7a7) }
.row-01 .box-02.fadeInUp.w-size.flex-al { display: flex; justify-content: space-between; align-items: center;}
.row-01 .btnBox-02 .moreLink a p span { color: #fff;}
.row-01 .btnBox-02 .moreLink.pe.mt15 { display: flex; flex-direction: column;}
.row-01 .frameBox .btnBox-02 { position: relative;}
.row-01 .box-02 .addtxt { position: relative; margin-top: 30px; top: unset; left: unset;}
.row-01 .frameBox .btnBox-02 .moreLink a p { display: flex; flex-direction: column; justify-content: stretch; padding: 17px 15px;}
.row-01 .frameBox .btnBox-02a .moreLink { width: 47.945%;}
.row-01 .btnBox-02 .moreLink a{ line-height: unset;}
.row-01 .btnBox-02 .moreLink a, .btnBox-02 .moreLink a p{ height: auto;}
.row-01 .btnBox-02 .moreLink a p{ border-radius: 10px;}
.row-01 .btnBox-02 .moreLink a p span { display: inline-block; height: 100%;}
.row-01 .btnBox-02 .moreLink a p span.tit{ width: 100%; margin-bottom: 5px; display: flex; justify-content: center; align-items: baseline;}
.row-01 .btnBox-02 .moreLink a p span.txt { width: 100%; position: relative; padding: 5px 15px 0 15px; border-top: 1px solid #fff; line-height: unset; font-size: 15px;}
.row-01 .btnBox-02 .moreLink a p span.txt .c-arrow { position: absolute; right: 0; top: 50%; transform: translateY(-40%);}
.row-01 .frameBox .btnBox-02 .moreLink a:hover{ transform: translateX(0);}
.row-01 .frameBox .btnBox-02 .moreLink a p { box-shadow: 0 4px 0 #a34455; transition: .3s ease-in-out;}
.row-01 .frameBox .btnBox-02 .moreLink.pe a p{ box-shadow: 0 4px 0 #464e88;}
.row-01 .frameBox .btnBox-02 .moreLink a p:hover { transform: translateY(6px); box-shadow: none;}
.row-01 .box-02 .addtxt p { color: #fff; display: flex; justify-content: center; align-items: center;}
.row-01 .box-02 .addtxt .txt01 span.astarisk { color: #fff; position: relative;}
.row-01 .box-02 .addtxt .txt01 span.astarisk span { color: #fff; position: absolute; font-size: 12px; top: -1rem; left: -.1rem;}
.row-01 .box-02 .addtxt .txt01 span.slash { content: ''; width: 1px; height: 48px; display: inline-block; background: #fff; transform: rotate(28deg); margin: 0 1.5rem;}

.schedule2.bg { padding: 60px 0; border-image-slice: 0 fill; border-image-outset: 0 100vw;}
.schedule2.bg.bg-green { border-image-source: linear-gradient(#3bb7a7, #3bb7a7 90%, #ffffff);}

/* 三角形を非表示にする */
.accordion-header { list-style: none; /* 古いブラウザ向け */}
.accordion-header::-webkit-details-marker { display: none; /* Chrome, Safari 用 */}
.accordion-header::marker { display: none; /* モダンブラウザ用 */}

.accordion{ max-width: 827px; margin: 0 auto; position: relative; margin-top: -2%;}
.accordion .accordion-header{ width: 100%; position: relative; background: #0792a9; border-radius: 5px; box-shadow: 3px 3px 16px -3px #b8b8b8; color: #fff; cursor: pointer; font-size: clamp(18px, 2.343vw, 28px); padding: 1rem; text-align: center; transition: 0.3s;}
.accordion .accordion-header span { color: #fff;}
.accordion .accordion-header::after{ content: ''; width: 35px; height: 35px; display: block; position: absolute; top: 50%; transform: translateY(-50%); right: 1rem; background: url('../img/opencampus/circle-arrow2.png'); background-repeat: no-repeat;}
.accordion .accordion-header:hover{ opacity: 0.5;}
.accordion .accordion-content { margin-top: 3%;}
.accordion .accordion-content .accordion-table{ width: 100%; border-collapse: collapse;}
.accordion .accordion-content .accordion-table caption { background: #34ae9d; color: #ffff; padding: .5rem 0;}
.accordion .accordion-content .accordion-table td { width: 50%; padding: 1rem 0.5rem; border-bottom: 1px solid #34ae9d;}
.accordion .accordion-content .accordion-table .date { border-right: 1px solid #34ae9d; text-align: right;}



@media only screen and (min-width: 1052px) {
    .row-01 .box-02 { position: unset; width: 100%; max-width: unset; margin-left: unset; padding-top: unset;}
    .row-01 .box-02 .addimg-02 { position: relative; top: unset; left: unset; width: 26.111%; z-index: unset;}
    .row-01 .frameBox { position: relative; width: 67.592%;}
    .row-01 .frameBox .btnBox-02a { left: unset; top: unset; display: flex; justify-content: space-between;}
    .row-01 .moreLink.pe.mt15 { width: 47.945%;}
    .row-01 .btnBox-02 .moreLink a p span.tit { font-size: 18px;}
    .row-01 .btnBox-02 .moreLink a p span.tit-em { font-size: 28px; margin-right: 5px;}
    .row-01 .btnBox-02 .moreLink a p span.txt { font-size: 15px;}
    .row-01 .box-02 .addtxt .txt01 { margin-top: 40px; font-size: 30px;}
    .row-01 .box-02 .addtxt .txt01.f-var2 { font-size: 1.2rem;}
    .row-01 .box-02 .addtxt .txt02 { margin-top: 30px; font-size: 14px;}
}
@media only screen and (max-width: 1051px) {
    .row-01 .box-02 { position: relative; width: 100%; max-width: 810px; margin-left: unset; padding-top: unset; margin: 0 auto;}
    .row-01 .box-02.fadeInUp.w-size.flex-al { flex-direction: column;}
    .row-01 .box-02 .addimg-01 { width: 11%; top: 35%; left: 67%;}
    .row-01 .box-02 .addimg-02 { position: relative; width: 100%; max-width: 350px; top: 0; left: 0;}
    .row-01 .frameBox .btnBox-02a { left: 0; top: 0; display: flex; justify-content: space-between; margin-top: 20px;}
}
@media only screen and (max-width: 810px) {
    .row-01 .box-02 .addimg-01 { width: 14%; top: 28%; left: 15%; position: absolute; z-index: 1;}
    .row-01 .frameBox .btnBox-02a { flex-direction: column; gap: 10px;}
    .row-01 .frameBox .btnBox-02a .moreLink { width: 100%;}
    .row-01 .frameBox .btnBox-02 .moreLink a p { max-width: unset;}
}
@media only screen and (max-width: 767px) {
    .row-01 .bg { padding: 20px 0;}
    .row-01 .box-02 .addimg-02 { width: 65%;}
    .row-01 .btnBox-02 .moreLink a { background-image: none; padding: 0;}
    .row-01 .box-02 .addtxt .txt01 { font-size: 15px;}
    .row-01 .box-02 .addtxt .txt01 span.slash { margin: 0 13px;}
    .row-01 .box-02 .addtxt .txt01.f-var2 { font-size: 15px; text-align: center;}
    .row-01 .box-02 .addtxt .txt02 { font-size: 12px;}
    .frameBox.inner { width: 100%;}

    .accordion .accordion-header span { display: block;}
    .accordion .accordion-header::after { width: 25px; height: 25px; top: unset; bottom: 0; transform: translateY(-65%); right: 1rem; background-size: contain;}

    .schedule3.kobetsu-oc .btn { width: 100%;}
    .schedule3.kobetsu-oc .btn a { font-size: 3.5vw; padding: 1rem 0;}
    .schedule3.kobetsu-oc .btn a img.c-arrow { width: 25px; height: 25px;}
}

@media only screen and (max-width: 430px) {
     .row-01 .box-02 .addimg-01 { top: 25%;}
}


/* oc-fukidashi-ice */

@media only screen and (min-width: 1052px) {
    .row-01 .box-02 .addimg-02 {
        width: 30%;
    }
}

@media only screen and (max-width: 810px) {
    .row-01 .box-02 .addimg-01 {
        top: 30%;
        left: 13%;
    }
}
@media only screen and (max-width: 430px) {
    .row-01 .box-02 .addimg-01 {
        top: 25%;
    }
}


/***********************
11/16用　program-style
*************************/
/* リハ・看護共通 */
.program02{ margin-top: 0px;}
.map-caption{ color: #bb272d; font-size: 1.2rem; font-weight: bold; margin-top: 1.8rem;}
@media only screen and (max-width: 767px) {
    .map-caption{ font-size: 1rem; }
}
/* リハ調整 */
.row-02 .box-01 .inner {
        padding: 40px 6%;
}


/***********************
3/15用　accordion-style
*************************/
.accordion.top{margin-top: unset;}
@media only screen and (max-width: 767px) {
    .am{ margin-top: 20px;}
    .row-01 .box-02 .addimg-01 { top: 160px; left: 20px;}
}

/***********************
赤文字 caption
*************************/
.caption-box
 {
    margin-top: 2rem;
    padding: 0 6%;
}
.caption-box p:not(:first-of-type){
    margin-top: 0;
}
.r-caption {
    margin-top: 1rem;
    color:#bb272d;
    font-size: clamp(16px, 4.2vw, 21px);
    font-weight: bold;
}
.r-caption.indent {
    text-indent: -1rem;
    padding: 0 0 0 1rem !important;
}

/***********************
hire
*************************/
.hire{
    width: 100%;
    margin: 50px auto 0;
}
@media only screen and (max-width: 767px) {
    .hire{
        margin-top: 40px;
    }
}