/*--------------
common
--------------*/
:root{
  --bg-bottom-margin:8rem;
  --font-18: min(1.8rem, 3.5vw);
  --flex-gap: min(8rem, 4vw);
}

/*---- Coming soon ----*/
.p-comingSoon{
  text-align: center;
}

.p-comingSoon h4{
  color: var(--kaisei-green);
  font-size: var(--font-20);
  padding-bottom: min(1.24rem, 1.4vw);
  line-height: 1.5;
  font-weight: 500;
}

/*---- page navigation ----*/
.pageNation{
  padding-top: min(8rem, 8vw);
}

.wp-pagenavi{
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp-pagenavi a,.wp-pagenavi span{
  border: none;
  margin: 4px;
  padding: 0;
}

.wp-pagenavi span.currensinglet{
  background: var(--color-navy);
  color: var(--color-white);
  font-weight:500;
}

.wp-pagenavi span.current,.wp-pagenavi a.page{
  width: min(3.4rem, 7vw);
  height: min(3.4rem, 7vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  color: var(--kaisei-green);
  border: solid 1px var(--kaisei-green);
  border-radius: 50%;
  transition: var(--transition);
}

.wp-pagenavi span.current{
  background: var(--kaisei-green);
  color: var(--color-white);
  font-weight: 500;
}

a.nextpostslink,a.previouspostslink{
  color: var(--kaisei-green);
}

/*---- title ----*/
.p-mainTitle{
  margin: min(16rem, 34vw) auto min(4rem, 5vw);
}

h2.p-mainTitle_title{
  font-size: min(4.83rem,8.24vw);
  font-weight: 500;
  color: var(--kaisei-green);
  display: block;
  letter-spacing: .08em;
  line-height: 1.75;
}

h2.p-mainTitle_title span.-KV_title__en{
  color: var(--kaisei-green50);
  font-size:var(--font-18);
  letter-spacing: .08em;
}

.obiTitle{
  background: var(--bg);
  border-left: solid 1rem var(--kaisei-green);
  font-size: var(--font-20);
  font-weight: 500;
  line-height: 1.5;
  padding: .8rem min(2rem, 3vw);
  margin-bottom: min(3rem, 4vw);
}
.obiTitle>.green{
  color: var(--kaisei-green);
  font-size: min(2.8rem,5vw);
  font-weight: 600;
  padding-left: .3em;
}

/*---- page contents ----*/
.p-KV{
  position: relative;
  z-index: 1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height:36svh;
  min-height: 310px;
}
.p-KV::before{
  position: absolute;
  content: "";
  background: rgba(0, 149, 110, .26);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

h2.p-KV_title{
  color: var(--color-white);
  position: absolute;
  bottom: min(1rem, 2.7vw);
  right: min(2rem, 3vw);
  font-size: min(5rem, 8.4vw);
  font-weight: 500;
  text-align: right;
  letter-spacing: .08em;
  line-height: 1.5;
}
h2.p-KV_title span.-KV_title__en{
  letter-spacing: .1em;
  font-size: min(1.83rem, 4vw);
  display: block;
}

br.p-KV_br{
  display: none;
}

.title-effect{
  overflow: hidden;
  display: block;
}

.title-effect_text{
  display: block;
  animation: titleEffectAnimation .75s cubic-bezier(.55,.05,.22,.99) .65s normal forwards;
  opacity: 0;
  translate: 0% 140%;
}

@keyframes titleEffectAnimation {
  0% {
    opacity: 0;
    translate: 0% 140%;
  }
  100% {
    opacity: 1;
    translate: 0% 0%;
  }
}

.p-fixedText{
  opacity: 0;
  transition: opacity .7s cubic-bezier(.18,.06,.23,1) .1s;
}

.p-fixedText.is-show{
  opacity: 1;
}

.p-fixedText p{
  color: var(--kaisei-green);
  font-size: 1.6rem;
  text-align: center;
  width: 100%;
  position: sticky;
  position: -webkit-sticky;
}

.p-container_flex{
  display: flex;
  flex-wrap: wrap;
  margin: 0 min(4rem, 7vw);
  gap: min(8rem, 8vw);
}

.p-container_contents{
  background: var(--color-white);
  position: relative;
  border-radius: calc(var(--border-radius)* 3) 0 0 calc(var(--border-radius)* 3);
  z-index: 2;
  margin-left: 2rem;
  margin-top: -5rem;
}

.p-fixedMenu{
  width: 100%;
}

.p-fixedMenu_contents{
  width: 100%;
}

ul.p-fixedMenu_list{
  display: flex;
  flex-wrap: wrap;
  gap: min(2rem, 3vw);
}

.p-fixedMenu_list li{
  font-size: min(1.4rem, 3.24vw);
  line-height: 1.5;
  width: 100%;
}
.p-fixedMenu_list li a{
  color: var(--kaisei-green);
  opacity: .4;
  font-weight: 600;
  padding-left: min(1.6rem, 3vw);
  position: relative;
  display: block;
}
.p-fixedMenu_list li a::before{
  position: absolute;
  content: "";
  opacity: 1;
  background: var(--kaisei-green);
  border-radius: 50%;
  width: min(.8rem, 3vw);
  height: min(.8rem, 3vw);
  left: 0;
  top: .4rem;
}

.p-container_wrapper{
  margin-bottom: var(--section-margin);
}

.p-container_wrapper ._wrapper__inner h4{
  font-size: min(2.4rem, 4.83vw);
  color: var(--kaisei-green);
  font-weight: 600;
  padding-bottom: min(1.2rem, 1vw);
}

.p-contentsTitle{
  padding-bottom: min(4rem,7vw);
}

.p-contentsTitle>h3{
  color: var(--kaisei-green);
  font-size: min(3.24rem, 4.83vw);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .12em;
}
.p-contentsTitle>h3 span.-en{
  font-size: min(2.8rem, 4vw);
}

.p-contentsTitle:has(p)>h3{
  padding-bottom: min(1.4rem, 3vw);
}
.p-contentsTitle>p{
  line-height: 2;
}

.p-subContents{
  background: var(--color-white);
  border-radius: var(--border-radius);
  margin-bottom: var(--bg-bottom-margin);
  padding: var(--bg-padding);
}

.p-container_inner{
  margin-bottom: calc(var(--section-margin) / 2);
}
.p-container_inner h4{
  font-size: min(2.4rem, 4.83vw);
  padding-bottom: min(2rem, 4vw);
  color: var(--kaisei-green);
}

.p-container_inner table ul li,
.p-container_inner table p{
  font-size: min(1.24rem, 2.83vw);
}

.p-container_dateList{
  display: flex;
  flex-direction: column;
  gap: var(--flex-gap);
}

.p-container_dateList dl dt{
  color: var(--kaisei-green);
  font-weight: 600;
  font-size: var(--font-18);
  padding-bottom: min(.5rem);
}

/*---- page contents linkArea ----*/
.p-bottomLinks{
  margin: calc(var(--section-margin) / 2) 0;
}

.p-bottomLinks>ul.p-bottomLinks_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(var(--flex-gap) / 2);
  margin: 0 min(5rem, 6vw);
}

.p-bottomLinks>ul.p-bottomLinks_list li{
  width: calc((100% - calc(var(--flex-gap) / 2)) / 2);
}


/*---- other ----*/
.dottedBorder{
  position: relative;
}
.dottedBorder::before{
  position: absolute;
  content: "";
  background: url(img/g-dotted.png) repeat center;
  background-size: min(10px, 2vw);
  width: 100%;
  height: min(5px, 1.2vw);
  left: 0;
  bottom: 0;
}

ul.list-notes{
  display: flex;
  flex-direction: column;
  gap: min(.8rem,2vw);
}

ul.list-notes li{
  position: relative;
  padding-left: min(1.6rem,4vw);
  font-weight: 500;
}
ul.list-notes li::before{
  position: absolute;
  content: "";
  background: var(--kaisei-green);
  width: min(1rem, 2.6vw);
  height: 2px;
  left: 0;
  top: min(1.24rem, 2.4vw);
}

.notes{
  position: relative;
  background: var(--bg);
  padding: calc(var(--bg-padding) / 2);
  border-radius: calc(var(--border-radius) / 2);
}

.notes-flex{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: calc(var(--flex-gap) / 2);
}

/*---- other / document ----*/
.p-document_contents{
  margin-bottom: calc(var(--section-margin) / 3);
  word-break: break-all;
}
.p-document_contents:last-of-type{
  margin-bottom: 0;
}

.p-document_contents h3{
  color: var(--kaisei-green);
  font-size: var(--title214);
  padding-bottom: min(1rem, 3vw);
  font-weight: 700;
}

.p-document_contents h4{
  color: var(--kaisei-green);
  font-size: var(--font-20);
  padding-bottom: min(1rem, 2vw);
  font-weight: 500;
  line-height: 1.5;
}

.p-document_contents p{
  padding-bottom: min(1rem, 2vw);
}

.p-document_contents p>a{
  color: var(--kaisei-green);
  text-decoration: underline;
  font-weight: 600;
  letter-spacing: .1em;
}

.p-document_contentsInner{
  margin-bottom: calc(var(--section-margin) / 5);
}

.p-document_text{
  margin-bottom: calc(var(--section-margin) / 4);
}

.p-document_exText{
  margin-bottom: calc(var(--section-margin) / 5);
}

.p-document_flex{
  display: flex;
  gap: var(--flex-gap);
  align-items: flex-start;
  flex-wrap: wrap;
}

.-document_flex__right,
.-document_flex__left{
  width:100%;
}

.p-document_dateList{
  position: relative;
  background: var(--bg);
  border-radius: calc(var(--border-radius) / 2);
  padding: min(2rem, 4vw);
  margin-bottom: 1.4rem;
  gap: min(1rem, 2vw);
  display: flex;
  flex-direction: column;
}

.p-document_dateList>.-document_dateList__wrapper{
  display: flex;
  gap: min(1rem,.5vw);
  flex-wrap: wrap;
}

.p-document_dateList dt,
.p-document_dateList dd{
  width: 100%;
}

.p-document_dateList dt,.p-document .marker a{
  color: var(--kaisei-green);
  font-weight: 500;
}

.p-document .marker{
  font-weight: 500;
  color: var(--kaisei-green);
  background: linear-gradient(transparent 50%, var(--bg) 50%);
}

ul.dotted-notes{
  display: flex;
  flex-direction: column;
  gap: min(.4rem, 2vw);
  margin:0 0 min(1rem, 2vw);
}
ul.dotted-notes li{
  position: relative;
  padding-left: min(1.4rem, 3vw);
}
ul.dotted-notes li::before{
  position: absolute;
  content: "";
  background: var(--kaisei-green);
  width: min(.6rem, 2vw);
  height: min(.6rem, 2vw);
  left: 0;
  top: min(.9rem, 2.24vw);
  border-radius: 50%;
}

table th{
  background: var(--bg);
  letter-spacing: .03em;
  line-height: 1.5;
}

table td{
  letter-spacing: .03em;
}

td.price{
  text-align: right;
}

._contentsInner__cont{
  margin-bottom: calc(var(--section-margin) / 6);
}
._contentsInner__cont h5{
  font-size: var(--font-18);
}

.p-document_contents table.-table-libraryTable02 td{
  text-align: right;
}

table.-table-libraryTable02 .line-tg{
  border-top: solid 2px #bebebe;
}

table.-table-libraryTable02 .line-t{
  border: solid 2px var(--kaisei-green);
}

table.-table-libraryTable02 .bg-base{
  background: #f4ce0f1f;
}
table.-table-libraryTable02 .bg-blue{
  background: #009fe85e;
}
table.-table-libraryTable02 .bg-red{
  background: var(--color-red20);
}

.p-document_image{
  margin-top: calc(var(--section-margin) / 6);
}

p.tableWrap-text{
  display: none;
}

@media screen and (min-width:1025px) {
  /*---- page contents ----*/
  .p-KV{
    height: 70svh;
    max-height: 65rem;
  }

  h2.p-KV_title{
    right: 4rem;
    bottom: 4.4rem;
    font-size: min(7rem, 6vw);
  }

  h2.p-KV_title span.-KV_title__en{
    font-size: min(2.4rem, 4vw);
  }

  .p-fixedText{
    align-items: center;
    bottom: 0;
    display: flex;
    font-size: 1.1rem;
    height: 10rem;
    justify-content: center;
    left: 0;
    position: fixed;
    top: -2%;
    transform: rotate(90deg) translateY(-100%);
    transform-origin: left top;
    transition: var(--transition);
    width: 100vh;
    z-index: 2;
    opacity: 0;
  }
  .p-fixedText.is-show{
    opacity: 1;
  }

  .p-container_contents{
    margin-left: 10rem;
    margin-top: -7rem;
  }

  .p-container_flex{
    margin: 0 min(12rem, 8vw);
    flex-wrap: nowrap;
    gap: min(8rem, 8vw);
  }

  .p-fixedMenu{
    width: 26rem;
    position: relative;
    z-index: 1;
    display: block;
  }

  ul.p-fixedMenu_list{
    position: sticky;
    position: -webkit-sticky;
    top: 20rem;
    padding-bottom: 10rem;
  }

  .p-fixedMenu_list li a::before{
    opacity: .4;
  }
  .p-fixedMenu_list li a.-current{
    opacity: 1;
  }
  .p-fixedMenu_list li a.-current::before{
    opacity: 1;
  }

  .p-fixedMenu_contents{
    width: calc(100% - 32rem);
  }
  /*---- page contents linkArea ----*/
  .p-bottomLinks>ul.p-bottomLinks_list{
    margin: 0 20rem;
  }
}

@media screen and (min-width:769px) {
  .p_KV{
    max-height: 76rem;
  }

  .p-container_dateList{
    gap: calc(var(--flex-gap) / 2);
  }
  /*---- pagenavi ----*/
  .wp-pagenavi span.current:hover,
  .wp-pagenavi a.page:hover{
    transform: scale(1.05);
  }

  /*---- other contents ----*/
  .-document_flex__right,
  .-document_flex__left{
    width: calc((100% - var(--flex-gap)) / 2);
  }

  .-document_flex__left:has(.-table-libraryTable02){
    width: 58%;
  }
  .-document_flex__right.libraryBaceDataR{
    width: 34%;
  }

  .p-document_dateList dt{
    width: 11rem;
  }

  .p-document_dateList dd{
    width: calc(calc(100% - calc(var(--flex-gap) / 3)) - 11rem);
  }

  .p-document_contents p>a:hover{
    opacity: var(--opacity);
  }
}

@media screen and (max-width:1024px) {
  .p-fixedMenu_list li{
    width: calc((100% - calc(min(2rem,3vw) * 2)) / 3);
    position: relative;
  }

  .p-fixedMenu_list li a{
    letter-spacing: .03em;
    opacity: 1;
    display: block;
    padding: min(1.4rem, 2.6vw) 0 min(1.4rem, 2.6vw) min(2rem, 4vw);
  }
  .p-fixedMenu_list li a::before{
    -webkit-mask: url(img/hn-arrow.svg);
    mask: url(img/hn-arrow.svg);
    -webkit-mask-size: auto;
    mask-size: auto;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-repeat: no-repeat;
    top: min(2rem, 4vw);
  }

  .p-fixedMenu_list li a::after{
    position: absolute;
    content: "";
    background: #aaaaaa54;
    width: 100%;
    height: 1px;
    left: 0;
    bottom:0;
  }
}

@media screen and (max-width:768px) {
  :root{
    --font-20: min(2.4rem, 4.24vw);
  }

  /*---- page contents ----*/
  .p-contentsTitle>h3{
    font-size:min(3rem, 5.83vw);
  }
  .p-contentsTitle>h3 span.-en {
    display: block;
  }

  .p-container_flex{
    flex-wrap: wrap;
    gap: min(6rem, 16vw);
  }

  .p-bottomLinks>ul.p-bottomLinks_list li{
    width: 100%;
  }

  br.p-KV_br{
    display: block;
  }

  .p-fixedMenu_list li{
    width: calc((100% - min(2rem,3vw)) / 2);
  }

  .tableWrap{
    overflow-x: scroll;
  }

  .tableWrap>table{
    width: 100%;
    min-width:64rem;
  }

  p.tableWrap-text{
    font-size: min(1.2rem, 3vw);
    display: block;
  }
}


/*--------------
post
--------------*/
/*---- category ----*/
.p-topicsList{
  background: var(--color-white);
  border-radius: var(--border-radius);
  margin-bottom: var(--bg-bottom-margin);
  padding: var(--bg-padding) 0;
}

.p-topicsList ul.newsList li.newsList-item a{
  padding: min(2rem, 4vw) min(6rem, 6vw);
}

.p-blog{
  background: var(--color-white);
  border-radius: var(--border-radius);
  margin-bottom: var(--bg-bottom-margin);
  padding: var(--bg-padding);
}

.p-blog_list{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: min(4rem, 4vw);
}

.p-blog_list li{
  width:calc((100% - min(4rem, 4vw)) / 2);
  position: relative;
}

.p-blog span.blog-arrow{
  background: var(--bg);
}
.p-blog .cate-name{
  background: var(--bg);
}

.p-topicsList .topics-none{
  text-align: center;
  width: 80%;
  margin: 0 auto;
}

/*---- single ----*/
.s-titleArea{
  margin: min(16rem, 30vw) 0 min(4rem, 6vw);
  color:var(--kaisei-green);
}

.single-wrapper{
  background: var(--color-white);
  border-radius: var(--border-radius);
  padding: var(--bg-padding);
  word-wrap: break-word;
  margin-bottom: var(--bg-bottom-margin);
}

.s-titleArea_title{
  padding-bottom: min(1.4rem,2vw);
  display: flex;
  align-items: center;
  gap: min(1rem,2vw);
  flex-wrap: wrap;
  font-size: min(1.4rem,3.24vw);
}

.s-titleArea h3{
  font-size: min(3.4rem,5vw);
  font-weight: 500;
  line-height: 1.75;
}

.single-wrapper h1{
  background: var(--bg);
  font-size: min(2.4rem, 4.6vw);
  font-weight: 600;
  padding: min(1.2rem, 3vw) min(1.2rem, 2vw);
  line-height: 1.4;
  border-radius: calc(var(--border-radius) / 2);
  margin-top: min(2.24rem, 5vw);
  margin-bottom: min(2.24rem, 5vw);
  line-height: 1.5;
}

.single-wrapper h2{
  font-size: var(--font-20);
  font-weight: 500;
  border-bottom: solid 1px var(--kaisei-green);
  border-left: solid min(6px, 1.24vw) var(--kaisei-green);
  margin-bottom: min(1.83rem, 4vw);
  margin-top: min(1.6rem, 3vw);
  padding-left: min(1.2rem, 2vw);
  padding-bottom: .6rem;
  line-height: 1.5;
}

.single-wrapper h3{
  margin: min(1.6rem, 3vw) 0;
  font-size: var(--font-18);
}

.single-wrapper p{
  font-size: 1.3rem;
  padding-bottom: min(3rem, 6vw);
  line-height: 2;
}
.single-wrapper p a{
  color: var(--kaisei-green);
  font-weight: 600;
  text-decoration: underline;
}

.single-wrapper strong{
  font-weight: 600;
}

.single-wrapper ul{
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: .8rem;
  padding-bottom: 3rem;
}
.single-wrapper ul li{
  position: relative;
  padding-left: min(1.2rem, 4vw);
}
.single-wrapper ul li::before{
  position: absolute;
  content: "";
  background: var(--kaisei-green);
  width: min(.6rem, 2vw);
  height: min(.6rem, 2vw);
  border-radius: 50%;
  left: 0;
  top: min(1rem, 2.4vw);
}

.single-wrapper blockquote{
  background: var(--bg);
  padding: calc(var(--bg-padding) / 2);
  border-radius: calc(var(--border-radius) / 2);
  margin: 0 0 min(3.24rem, 8vw);
}

.single-wrapper blockquote p{
  padding-bottom: min(2rem, 5vw);
}

.single-wrapper blockquote ul{
  padding-bottom: 0;
}

.single-pageNation{
  border-top: solid 1px var(--color-gray);
  margin-top: min(6rem, 12vw);
  padding-top: min(3rem, 6vw);
  display: flex;
  align-items: center;
  justify-content: center
}

.single-pageNation .linkBox{
  width: min(27rem, 53vw);
}

.single-flex{
  display: flex;
  gap: min(8rem,12vw);
  flex-wrap: wrap;
  margin-bottom: var(--bg-bottom-margin);
}

/*---- sideBar ----*/
.sidebar-category h3{
  color: var(--kaisei-green);
  font-size: min(2.24rem,5vw);
  font-weight: 500;
  padding-bottom: min(2rem,4vw);
}

.sidebar-category_list{
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.sidebar-category_list>li a{
  color: var(--kaisei-green);
  padding-left: min(1.2rem, 2.4vw);
  letter-spacing: .08em;
  position: relative;
  display: block;
}
.sidebar-category_list>li a::before{
  position: absolute;
  content: "";
  background: var(--kaisei-green);
  border-radius: 50%;
  width: min(.8rem, 1.4vw);
  height: min(.8rem, 1.4vw);
  top: min(1.24rem, 3vw);
  left: 0;
  transform: translateY(-50%);
}

.single-flex .single-wrapper{
  width: 100%;
  margin-bottom: 0;
}

.sidebar{
  width: 100%;
}

@media screen and (min-width:1025px) {
  /*---- side bar ----*/
  .single-flex .single-wrapper{
    width: calc((100% - min(8rem,12vw)) - 26rem);
  }

  .sidebar{
    width: 26rem;
  }

  .sidebar-category_list{
    flex-direction: column;
  }
}

@media screen and (min-width:769px) {
  .p-blog_list li{
    width:calc((100% - calc(min(4rem, 4vw) * 2)) / 3)
  }

  .sidebar-category_list>li a:hover,
  .single-wrapper p a:hover{
    opacity: .6;
  }
}

@media screen and (max-width:521px) {
  .p-blog_list {
    gap: min(4rem, 8vw);
  }
  .p-blog_list li{
    width: 100%;
  }
}


/*--------------
about us
--------------*/
.p-KV.p-KV_about{
  background-image: url(img/page/pKV-about.webp);
  background-position: 73%;
}

/*----- concept ----*/
.p-aboutConcept{
  display: flex;
  align-items: center;
  gap: var(--flex-gap);
  padding: var(--section-margin) 0 0;
}

.p-aboutConcept_textArea{
  margin:0 min(4rem, 7vw);
}
.p-aboutConcept_textArea>h3{
  color: var(--kaisei-green);
  font-size: min(4rem, 6vw);
  font-weight: 600;
  line-height: 1.5;
  padding-bottom: min(2.4rem, 4vw);
  letter-spacing: .12em;
}
.p-aboutConcept_textArea>p{
  font-size:var(--font-18);
  line-height: 2.24;
  padding-bottom: min(2rem, 2vw);
}

.p-aboutConcept_imageArea{
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--flex-gap) / 3);
}

.p-aboutConcept_imageArea>.p-aboutConcept_image:nth-of-type(1){
  width: 81%;
}
.p-aboutConcept_imageArea>.p-aboutConcept_image:nth-of-type(2){
  width: 34%;
  margin-top: min(3.4rem, 4vw);
}
.p-aboutConcept_imageArea>.p-aboutConcept_image:nth-of-type(3){
  width: 54%;
}

/*----- concept 以外 ----*/
.p-about_policyList{
  padding: min(4rem, 8vw) 0;
  display: flex;
  align-items: flex-start;
  gap: min(3rem, 3vw);
}
.p-container_wrapper .p-about_policyList:nth-of-type(1){
  padding:0 0 min(4rem, 8vw);
}

.circle-item{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: min(1.83rem, 3.24vw);
  line-height: 1.5;
  color: var(--kaisei-green);
  width: min(15rem, 15vw);
  height: min(15rem, 15vw);
  position: relative;
  letter-spacing: .05em;
}
.circle-item span{
  font-weight: 600;
}

.circle-item svg.full-circle{
  position: absolute;
  fill: none;
  stroke: #009f6e;
  stroke-miterlimit: 10;
  stroke-width: 1;
  stroke-dasharray: 370;
  stroke-dashoffset: 370;
}

.scroll-circleSvg.is-active{
  animation: circle_move2 .5s cubic-bezier(.04,.435,.315,.9) .5s normal forwards;
}

@keyframes circle_move2{
  0% {
    stroke-dashoffset: 370;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

.circle-item>svg.full-circle{
  width: min(14rem, 15vw);
  height: min(14rem, 15vw);
}

.p-about_policyList>._policyList__contents{
  width: calc(100% - min(14rem,15vw));
}

.p-about_policyList>._policyList__contents h4{
  color: var(--kaisei-green);
  font-size: min(2.6rem,4.64vw);
  line-height: 1.5;
  padding-bottom: min(1.4rem,3vw);
  font-weight: 600;
}
.p-about_policyList>._policyList__contents h4 span{
  font-weight: 600;
  font-size: var(--font-18);
  display: block;
}

.p-about_policyList>._policyList__contents p{
  padding-bottom: min(2rem,3vw);
}

.p-about_policyList>._policyList__contents:not(:has(.list-notes)) p{
  padding-bottom: 0;
}

.p-about_policyList>._policyList__contents p>a{
  color: var(--kaisei-green);
  text-decoration: underline;
}
.p-about_policyList>._policyList__contents p>a:hover{
  opacity: var(--opacity);
}

.p-about_policyList ._policyList__list{
  display: flex;
  flex-direction: column;
  gap: min(2rem,4vw);
}

.p-about_schoolRules{
  position: relative;
  background: var(--bg);
  border-radius: calc(var(--border-radius) / 2);
  width: min(74rem, 80vw);
  margin: calc(var(--section-margin) / 2.4) auto 0;
  padding: 2rem 2rem 2rem 8rem;
}

.p-about_schoolRules>p._schoolRules__title{
  background: var(--kaisei-green);
  color: var(--color-white);
  font-size: min(2.4rem,4vw);
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  position: absolute;
  width: min(12rem, 18vw);
  height: min(12rem, 18vw);
  top: 50%;
  left: -10%;
  transform: translateY(-50%);
}

.p-about_schoolRules>._schoolRules__list{
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.p-about_schoolRules>._schoolRules__list li{
  display: flex;
  gap: 2rem;
  align-items: center;
}

.p-about_schoolRules>._schoolRules__list li p:nth-of-type(1){
  color: var(--kaisei-green);
  font-size: min(2.4rem, 5vw);
  font-weight: 500;
  width: 18rem;
}
.p-about_schoolRules>._schoolRules__list li p:nth-of-type(1) span{
  color: var(--kaisei-green50);
  font-size: min(1.6rem,3.4vw);
  padding-left: .5rem;
}
.p-about_schoolRules>._schoolRules__list li p:nth-of-type(2){
  width: calc(100% - 18rem);
}

/*----- school mission ----*/
.p-about_schoolMission{
  display: flex;
  gap: var(--flex-gap);
  flex-wrap: wrap;
  align-items: flex-start;
}

._schoolMission__textArea{
  width: 100%;
}
._schoolMission__images{
  width: min(32rem, 74%);
  margin: 0 auto;
}

._schoolMission__textArea>h5{
  font-weight: 600;
  font-size: min(2.8rem,5vw);
}

/*----- Features education ----*/
.p-about_featuresEducation>._featuresEducation__contents{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: row-reverse;
  gap: min(4rem,4vw);
}

._featuresEducation__textArea{
  width: 100%;
}

._featuresEducation__textArea p a{
  text-decoration: underline;
  color: var(--kaisei-green);
}

.p-about_featuresEducation._featuresEducation01 {
  padding: 0 0 min(5rem, 10vw);
}
.p-about_featuresEducation {
  padding: min(5rem, 10vw) 0 0;
}

.hcNum-title{
  padding-bottom: min(1.6rem, 3vw);
}
.hcNum-title svg.circle{
  position: absolute;
  inset: 0 auto auto 0;
  fill: none;
  stroke: var(--kaisei-green);
  stroke-width: 1;
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  width: min(10rem, 21vw);
  height: min(6rem, 12vw);
  top: -50%;
}

p.circle-num{
  position: relative;
  width: min(10rem, 21vw);
  text-align: center;
  color: var(--kaisei-green);
  font-size: var(--font-20);
  font-weight: 700;
}

p.circle-num small{
  font-size: min(1.4rem, 2.83vw);
}

@keyframes circle_move {
  0% {
    stroke-dashoffset: 200;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

.svg-circle,.svg-circle2{
  display: none;
}

.scroll-svg.is-active{
  animation: circle_move .75s cubic-bezier(.04,.435,.315,.9) .6s normal forwards;
}


.hcNum-title>h4{
  color: var(--kaisei-green);
  font-weight: 600;
  font-size: min(2.4rem, 5.24vw);
  line-height: 1.5;
}

._featuresEducation__otherCont{
  background: var(--bg);
  padding: calc(var(--bg-padding) / 2);
  border-radius: calc(var(--border-radius) / 2);
}
._featuresEducation__otherCont h5{
  color: var(--kaisei-green);
  font-size: var(--font-20);
  margin-top: -2.8rem;
  padding-bottom: 0.8rem;
}

._featuresEducation__otherCont:has(small) p{
  padding-bottom: .8rem;
}

.studySupp .studySupp-image{
  float: right;
  width: 45%;
  padding: 0 0 min(1.4rem, 2vw) min(2rem, 3vw);
}

._featuresEducation__others{
  display: flex;
  gap: min(4vw, 4rem);
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: min(6rem,10vw);
}


/*----- voice ----*/
ul.p-about_voiceList{
  display: flex;
  flex-wrap: wrap;
  gap: min(4rem,4vw);
}

ul.p-about_voiceList li{
  width: calc((100% - min(4rem,4vw)) / 2);
}

a.p-about_modalBtn{
  display: block;
  position: relative;
  color: var(--color-white);
  border-radius: var(--border-radius);
}

a.p-about_modalBtn>picture._modalBtn__image{
  display: block;
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: var(--border-radius);
  transition: var(--transition);
}
a.p-about_modalBtn>picture._modalBtn__image::before{
  position: absolute;
  content: "";
  background: rgb(0,149,110);
  background: linear-gradient(0deg, rgba(0,149,110,1) 0%, rgba(254,254,254,0) 30%);
  width: 100%;
  height: 100%;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  transition: var(--transition);
  z-index: 2;
}

a.p-about_modalBtn>picture._modalBtn__image img{
  transition: var(--transition);
}

a.p-about_modalBtn>._modalBtn__prof{
  position: absolute;
  bottom: 3%;
  left: 50%;
  width: 90%;
  z-index: 2;
  transform: translateX(-50%);
}

._modalBtn__prof p{
  font-size: min(1.24rem, 2.3vw);
  letter-spacing: .03em;
}

p._modalBtn__profName{
  font-size: var(--font-18);
}
p._modalBtn__profName span{
  font-size: min(1.24rem,2.83vw);
  padding-left: .6rem;
}

.modal{
  display: none;
}

.modal.modal-container {
  background-color: var(--bg);
  border-radius: 0.8em;
  width: min(100rem,90%);
  padding: min(3em, 12vw) min(4em, 6vw);
  font-weight: 500;
  z-index: 12;
  overflow-x: auto;
  position: relative;
}

.fancybox__content>.carousel__button.is-close {
  color: var(--kaisei-green)!important;
  top: 8px!important;
  right: 8px!important;
}

.p-about_modalContents{
  display: flex;
  gap: var(--flex-gap);
  flex-wrap: wrap;
  justify-content: flex-start;
}

._modalVoice__textArea>._modalVoice_prof{
  padding-bottom: min(3rem, 4vw);
  margin-bottom: min(3rem, 4vw);
}

._modalVoice__textArea>._modalVoice_prof h4{
  font-size: min(2.4rem, 4.83vw);
  color: var(--kaisei-green);
}
._modalVoice__textArea>._modalVoice_prof h4 span{
  font-size: var(--font-18);
}

._modalVoice__textArea>._modalVoice_prof p{
  color: #717171;
  font-size: min(1.3rem, 3vw);
}

@media screen and (min-width:769px) {
  .p-KV.p-KV_about{
    background-position: center;
  }

  /*----- concept ----*/
  .p-aboutConcept_textArea{
    margin:0 min(10rem, 7vw);
  }

  /*----- school mission ----*/
  ._schoolMission__textArea{
    width: calc((100% - var(--flex-gap)) - 40%);
  }
  ._schoolMission__images{
    width: calc((100% - var(--flex-gap)) - 60%);
  }

  /*----- voice ----*/
  ul.p-about_voiceList li{
    width: calc((100% - calc(min(4rem,4vw) * 2)) / 3);
  }

  ._modalVoice__image{
    width: calc((100% - var(--flex-gap)) - 62%);
  }
  ._modalVoice__textArea{
    width: calc((100% - var(--flex-gap)) - 33%);
  }

  a.p-about_modalBtn:hover{
    box-shadow: var(--bs-green);
  }

  a.p-about_modalBtn:hover picture._modalBtn__image{
    transform: scale(1.01);
  }

  a.p-about_modalBtn:hover picture._modalBtn__image img{
    transform: scale(1.05);
  }

  /*----- Features education ----*/
  ._featuresEducation__textArea,
  ._featuresEducation__images{
    width: calc((100% - min(4rem,4vw)) / 2);
  }

  ._featuresEducation__otherCont h5{
    margin-top: -4.8rem;
  }
  ._featuresEducation__otherCont{
    width: calc((100% - min(4rem,4vw)) / 2);
  }
}

@media screen and (max-width:768px) {
  .p-about_schoolRules{
    padding: min(8rem, 15vw) min(4rem, 6vw) min(4rem, 6vw) min(4rem, 6vw);
    margin: calc(var(--section-margin) / 1.4) auto 0;
  }

  .p-about_schoolRules>p._schoolRules__title{
    top: 2%;
    left: -5%;
    width: min(10rem, 22vw);
    height: min(10rem, 22vw);
  }

  .p-about_schoolRules>._schoolRules__list{
    gap: min(1.4rem,2vw);
  }
  .p-about_schoolRules>._schoolRules__list li{
    flex-wrap: wrap;
    gap: min(2rem, 0vw);
  }
  .p-about_schoolRules>._schoolRules__list li p:nth-of-type(1),
  .p-about_schoolRules>._schoolRules__list li p:nth-of-type(2){
    width: 100%;
  }

  ._featuresEducation__otherCont.studySupp{
    margin-top: min(3rem, 4vw);
  }

  ._schoolMission__textArea .obiTitle>.green{
    display: block;
  }

  .modal.modal-container{
    height: 80svh;
  }
}

@media screen and (min-width:1025px) {
  /*----- concept ----*/
  .p-aboutConcept_imageArea{
    width: calc(100% / 2);
  }
  .p-aboutConcept_textArea{
    width: calc(100% / 2);
    margin:0 min(10rem, 7vw) 0 0;
  }
}

@media screen and (max-width:1024px) {
  .p-aboutConcept{
    flex-wrap: wrap;
  }

  .p-aboutConcept_imageArea{
    order:2;
  }
  .p-aboutConcept_imageArea>.p-aboutConcept_image:nth-of-type(1) {
    width: min(590px, 75vw);
  }
  .p-aboutConcept_imageArea>.p-aboutConcept_image:nth-of-type(2){
    width: min(271px, 29vw);
  }
  .p-aboutConcept_imageArea>.p-aboutConcept_image:nth-of-type(3){
    width: min(470px, 56vw);
  }
}

/*--------------
Greetingf
--------------*/
.p-KV.p-KV_school{
  background-image: url(img/page/pKV-overview.webp);
}

.p-greeting{
  padding: var(--section-margin) 0;
}

.p-greeting_contents{
  display: flex;
  gap: var(--flex-gap);
  padding: min(10rem, 12vw) 0;
}
.p-greeting_contents:nth-of-type(1){
  padding: 0 0 min(10rem, 12vw);
}

.p-greeting_textArea>h3{
  color: var(--kaisei-green);
  font-size: min(3.24rem, 6vw);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .12em;
  padding-bottom: min(2.4rem, 3vw);
}

.p-greeting_textArea>p{
  padding-bottom: min(2rem,4vw);
}
.p-greeting_textArea>p.p-greeting_name{
  display: flex;
  align-items: center;
  gap: calc(var(--flex-gap) / 3);
  justify-content: end;
  padding: min(4rem, 4vw) 0 0;
}
.p-greeting_textArea>p.p-greeting_name span:nth-of-type(2){
  width: min(21rem,38vw);
}

.p-greeting_notes{
  margin-bottom: min(2rem, 4vw);
}

.p-greeting_notes h4{
    font-size: var(--font-18);
    padding-bottom: min(1rem, 1vw);
}

@media screen and (min-width:769px) {
  .p-greeting_contents{
    flex-direction: row-reverse;
  }

  .p-greeting_contents>.p-greeting_images{
    width: 34%;
  }

  .p-greeting_contents>.p-greeting_textArea{
    width: 66%;
  }
}
@media screen and (max-width:768px) {
  .p-greeting_contents{
    flex-wrap: wrap;
  }

  .p-greeting_images{
    margin-top: 7vw;
  }
}

/*--------------
Overflow
--------------*/
.p-KV.p-KV_overview{
  background-image: url(img/page/pKV-school.webp);
}

.p-overview{
  padding: var(--section-margin) 0;
}

.p-overview_history>dl{
  border-bottom: solid 1px var(--kaisei-green50);
  padding: 1.6rem 0;
}

.p-overview_history>dl dt{
  color: var(--kaisei-green);
  font-weight: 600;
  width: min(10rem,26vw);
  text-align: right;

}
.p-overview_history>dl dd{
  width: calc(100% - min(10rem,26vw));
}

.p-overview_history>dl>._history__item{
  display: flex;
  align-items: flex-start;
  gap: min(2rem,4vw);
}

.p-overflow_song{
  margin-bottom: min(4.6rem, 10vw);
}

.p-overflow_song h4{
  font-size: min(2.14rem, 4.6vw);
  font-weight: 600;
  margin-bottom: .5rem;
}

.p-overflow_song>p._song__credit{
  font-size: min(1.3rem,3.24vw);
}

.p-overflow_song>._song__lyricsList{
  display: flex;
  gap: min(6rem, 2vw);
  padding-top: min(1.8rem, 4vw);
  flex-wrap: wrap;
}

.p-overflow_song>._song__lyricsList>._song__lyrics{
  width: calc((100% - min(6rem,2vw)) / 2);
}

.p-overflow_partner{
  padding: min(4rem, 8vw) 0;
}
.p-overflow_partner._partner01{
  padding: 0 0 min(4rem, 8vw);
}

.p-overflow_partner h4{
  font-size: min(2.4rem,4.83vw);
  color: var(--kaisei-green);
  line-height: 1.5;
  font-weight: 600;
  padding-bottom: min(1.2rem, 1vw);
}

.p-overflow_partner>._partner__info ul{
  display: flex;
  flex-direction: column;
  gap: min(1rem,1.8vw);
  padding-top: min(2rem,5vw);
}

.p-overflow_partner>._partner__info ul li{
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  word-break: break-all;
}
.p-overflow_partner>._partner__info ul li p:nth-of-type(1){
  color: var(--kaisei-green);
  font-weight: 600;
  width: min(10rem,20vw);
}
.p-overflow_partner>._partner__info ul li p:nth-of-type(2){
  width: calc(100% - min(10rem,20vw));
}
.p-overflow_partner>._partner__info ul li p a{
  text-decoration: underline;
  letter-spacing: .04em;
}


@media screen and (min-width:769px) {
  .p-overflow_partner>._partner__info ul li p a:hover{
    opacity: var(--opacity);
  }

  .p-overflow_song>._song__lyricsList>._song__lyrics{
    width: calc((100% - calc(min(6rem,4vw) * 2)) / 3);
  }
}

@media screen and (max-width:521px) {
  .p-overflow_song>._song__lyricsList>._song__lyrics{
    width: 100%;
  }
}


/*--------------
School life
--------------*/
/*------- main -------*/
.p-KV.p-KV_sl{
  background-image: url(img/page/pKV-sl.webp);
}

.p-sl{
  padding: var(--section-margin) 0;
}

/*--------------
教育課程
--------------*/
.p-KV.p-KV_lp{
  background-image: url(img/page/pKV-lp.webp);
  background-position: 67%;
}

.box.accordion-QA_answer{
  display: none;
}

.box.accordion-QA_answer>.-QA_answer__inner{
  display: flex;
  align-items: flex-start;
  gap: min(2rem, 4vw);
}

.box.accordion-QA_answer>.-QA_answer__inner:first-of-type{
  padding-bottom: min(2rem, 2vw);
}

.box.accordion-QA_answer>.-QA_answer__inner>.-QA_answer__jhs,
.box.accordion-QA_answer>.-QA_answer__inner>.-QA_answer__hs{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: min(5rem, 10vw);
  height: min(5rem, 10vw);
  font-weight: 600;
  color: var(--color-white);
}

.-QA_answer__jhs{
  background: var(--color-jhs);
  color: var(--color-black);
}

.-QA_answer__hs{
  background: var(--color-hs);
}

.box.accordion-QA_answer>.-QA_answer__inner p:last-of-type{
  width: calc(100% - 5rem);
}

.-QA_answer__flexBox{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: calc(var(--flex-gap) / 2);
  margin-bottom: calc(var(--section-margin) / 5);
}

.-QA_answer__flexBox>.-QA_answer__left,
.-QA_answer__flexBox>.-QA_answer__right{
  width: 100%;
}

.schoolList>dl{
padding-bottom: min(1.4rem,3.4vw);
}

.schoolList>dl dt{
  color: var(--kaisei-green);
  font-weight: 600;
  font-size: var(--font-18);
  padding-bottom: min(.5rem);
}

.accordion-QA li{
  border-bottom: var(--color-gray) solid 1px;
  padding: min(2rem,4vw) 0;
}

.accordion-QA li .title{
  display: flex;
  align-items: center;
  gap: min(2rem, 2vw);
  transition: var(--transition);
  cursor: pointer;
  position: relative;
}

.accordion-QA .title::before, .accordion-QA .title::after {
  position: absolute;
  content: "";
  background: var(--kaisei-green);
  width: 16px;
  height: 1px;
  transition: var(--transition);
}

.accordion-QA .title::before{
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.accordion-QA .title::after{
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}
.accordion-QA .title.close::after{
  transform: translateY(-50%) rotate(0deg);
}

.accordion-QA li .title>p{
  font-size: var(--font-18);
  color: var(--kaisei-green);
  font-weight: 600;
  width: calc(100% - min(5rem, 10vw));
  padding-right: min(3rem);
}

.text-Q,.text-A{
  background: var(--kaisei-green);
  color: var(--color-white);
  font-weight: 500;
  font-size: var(--font-18);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: min(5rem, 10vw);
  height: min(5rem, 10vw);
}

.accordion-QA_answer{
  padding-top: calc(var(--section-margin) / 5);
}

.-lp_lpDetails__inner{
  margin-bottom: calc(var(--section-margin) / 2);
}

.-lp_lpDetails__inner h4.obiTitle{
  font-size: min(2.4rem, 4.72vw);
  margin-bottom: min(4rem, 8vw);
  font-weight: 600;
}

.-lp_lpDetails__inner.-lp_lpDetails__jhs h4.obiTitle{
  border-left: solid 1rem var(--color-jhs);
  background: #f4ce0f21;
}

.-lp_lpDetails__inner.-lp_lpDetails__jhs .hcNum-title>h4,
.-lp_lpDetails__inner.-lp_lpDetails__jhs p.circle-num{
  color: var(--color-jhs);
}

.-lp_lpDetails__inner.-lp_lpDetails__jhs .hcNum-title svg.circle{
  stroke: var(--color-jhs);
}

.-lp_lpDetails__inner.-lp_lpDetails__hs h4.obiTitle{
  border-left: solid 1rem var(--color-hs);
  background: #009fe821;
}

.-lp_lpDetails__inner.-lp_lpDetails__hs .hcNum-title>h4,
.-lp_lpDetails__inner.-lp_lpDetails__hs p.circle-num{
  color: var(--color-hs);
}

.-lp_lpDetails__inner.-lp_lpDetails__jhs .line-title::before{
  background: var(--color-jhs);
}

.-lp_lpDetails__inner.-lp_lpDetails__hs .line-title::before{
  background: var(--color-hs);
}

.-lp_lpDetails__inner.-lp_lpDetails__hs .hcNum-title svg.circle{
  stroke: var(--color-hs);
}

.-lp_lpDetails__notes{
  font-weight: 600;
  font-size: var(--font-18);
  padding: calc(var(--bg-padding) / 2);
  border-radius: calc(var(--border-radius) / 2);
  margin-top: min(2rem, 2vw);
}

.-lp_lpDetails__notes h5{
  text-align: center;
  font-size: var(--font-18);
  padding-bottom: min(1rem, 1vw);
}

.-lp_lpDetails__hs .-lp_lpDetails__notes h5{
  color: var(--color-hs);
}

.-lp_lpDetails__hs .-lp_lpDetails__notes{
  background: #009fe821;
}

.-lp_lpDetails__jhs .-lp_lpDetails__notes{
  background: #f4ce0f21;
}

.-lp_lpDetails__notes ul{
  display: flex;
  flex-direction: column;
  gap: min(.5rem);
}

.-lp_lpDetails__notes ul>li{
  position: relative;
  padding-left: min(1.4rem, 3.24vw);
}
.-lp_lpDetails__notes ul>li::before{
  position: absolute;
  content: "";
  background: var(--kaisei-green);
  border-radius: 50%;
  width: min(1rem, 2vw);
  height: min(1rem, 2vw);
  top: min(1rem, 2vw);
  left: 0;
}

.-lp_lpDetails__hs .-lp_lpDetails__notes ul>li::before{
  background: var(--color-hs);
}

.-lp_lpDetails__jhs .-lp_lpDetails__notes ul>li::before{
  background: var(--color-jhs);
}

.p-lp_jhsNotes{
  background: #f4ce0f21;
  padding: calc(var(--bg-padding) / 3);
  border-radius: calc(var(--border-radius) / 2);
  text-align: center;
  font-weight: 600;
  font-size: var(--font-18);
  margin-top: min(5rem, 5vw);
}

/*------- 時間割 -------*/
.p-lp_timetable{
  margin-top: calc(var(--section-margin) / 3);
}

.p-lp_timetable h4.line-title{
  margin-bottom: min(1.6rem, 4vw);
}

.p-lp_timetableColumn{
  display: flex;
  justify-content: space-between;
  gap: var(--flex-gap);
  flex-wrap: wrap;
}

.p-lp_timetableColumn>li{
  width: 100%;
}

.p-lp_timetableColumn>li h5{
  text-align: center;
  font-size: var(--font-18);
  padding-bottom: min(.5rem, 1.5vw);
}

.p-lp_timetableColumn .bubble{
  text-align: center;
  background: #009fe821;
  border-radius: calc(var(--border-radius) / 2);
  padding: calc(var(--bg-padding) / 2);
  position: relative;
  margin-bottom: min(2rem, 4vw);
  font-weight: 500;
}
.p-lp_timetableColumn .bubble::before{
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: min(15px, 3vw) solid transparent;
  border-top: min(15px, 3vw) solid #009fe821;
}

.p-lp_timetableFull>p{
  padding-bottom: min(1rem, 1.5vw);
}

p.guide-text{
  display: none;
}

/*------- 応援団 -------*/
.p-lp_supporter .-ad_aboutPassport__contents{
  margin-bottom: calc(var(--section-margin) / 3);
  align-items: center;
}
.p-lp_supporter .-ad_aboutPassport__contents p{
  padding-bottom: 0;
}

.ambassador-image{
  display: block;
  border-radius: 50%;
  overflow: hidden;
}

.ambassador-prof{
  color: var(--kaisei-green);
  padding: min(1rem) 0;
  font-weight: 600;
  text-align: center;
}

p.-prof_position{
  font-size: min(2.6vw, 1.24rem);
  letter-spacing: .05em;
  line-height: 1.5;
}

p.-prof_profName{
  font-size: var(--font-18);
  color: var(--kaisei-green);
  font-weight: 600;
}

p.-prof_profName span{
  display: block;
  font-size: 64%;
  color: #7a7a7a;
  font-weight: 400;
}


.p-lp_specialTeach{
  background: var(--bg);
  padding: calc(var(--bg-padding) / 1.5);
  border-radius: calc(var(--border-radius) / 2);
  margin-top: min(5rem, 10vw);
}

.p-lp_specialTeach h4{
  color: var(--kaisei-green);
  font-size: min(2.4rem, 5.24vw);
  padding-bottom: 0.8rem;
}

._specialTeach__contents{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: min(4rem, 4vw);
  justify-content: center;
}

._specialTeach__images{
    width: min(28vw);
}

._specialTeach__textArea{
    width: calc(calc(100% - min(4rem, 4vw)) - min(28vw));
}

._specialTeach__textArea>.ambassador-prof{
  text-align: left;
}


/*--------------
制服
--------------*/
.p-KV.p-KV_uniform{
  background-image: url(img/page/pKV-uniform.webp);
    background-position: 61%;
}

.p-uniform{
  padding: var(--section-margin) 0;
}

.p-uniform_ex{
  font-size: var(--font-18);
  line-height: 2;
  text-align: center;
  width: min(75rem, 88%);
}

.p-uniform_info{
  background: var(--bg);
  padding: calc(var(--bg-padding) / 2);
  border-radius: var(--border-radius);
  width: min(77rem, 80vw);
  margin: min(2rem) auto 0;
  text-align: center;
}

.p-uniform_info h3{
  color: var(--kaisei-green);
  text-align: center;
font-size: var(--font-20);
    padding-bottom: min(1rem);
}

.p-uniform_wrapper{
  padding-top: calc(var(--section-margin) / 2);
}

.p-uniform_flexTop{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--flex-gap);
  justify-content: space-between;
}

.p-uniform_flexTop>.p-uniform_textArea{
  font-size: var(--font-18);
}

.p-uniform_flexTop>.p-uniform_textArea h3,
.p-uniform_item h3{
  color: var(--kaisei-green50);
  font-size: min(2.6rem, 4.24vw);
  font-weight: 500;
  line-height: 1.5;
  padding-bottom: min(2rem, 2vw);
}
.p-uniform_flexTop>.p-uniform_textArea h3 span.-title-jp,
.p-uniform_item h3 span.-title-jp{
  color: var(--kaisei-green);
  font-size: min(4rem, 6vw);
  display: block;
  FONT-WEIGHT: 600;
}

.p-uniform_item>h3{
  text-align: center;
  padding-bottom: min(3rem, 6vw);
}

.p-uniform_itemList{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--flex-gap);
}

.p-uniform_itemList>li{
  text-align: center;
  width: calc((100% - var(--flex-gap)) / 2);
}

.p-uniform_itemList>li p{
  font-size: var(--font-18);
  padding-top: min(2rem, 4vw);
  line-height: 1.5;
}
.p-uniform_itemList>li p span{
  display: block;
}

/*--------------
施設紹介
--------------*/
.p-KV_facility{
  background-image: url(img/page/pKV-facility.webp);
}

.p-facility{
  padding: var(--section-margin) 0;
}

p.p-facility_ex{
  padding-bottom: calc(var(--section-margin) / 3);
  line-height: 2;
  font-size: var(--font-18);
}
p.p-facility_ex>span{
  font-size: min(1.4rem,3vw);
}

.p-uniform_ex br:nth-of-type(1){
  display: none;
}

ul.p-facility_list,.venera-menuList{
  display: flex;
  flex-wrap: wrap;
  gap: var(--flex-gap);
}

ul.p-facility_list>li.p-facility_item h4{
  color: var(--kaisei-green);
  font-size: var(--font-20);
  padding: min(1.4rem, 2vw) 0 min(.8rem, 0vw);
}

ul.p-facility_list._list_subList{
  gap: min(4rem,4vw);
}

ul.p-facility_list p a{
  color: var(--kaisei-green);
  text-decoration: underline;
}

/*------- 大志寮 -------*/
.p-KV.p-KV_taishi{
  background-image: url(img/page/pKV-domitory.webp);
}

p.oneDaySchedule-title{
  font-weight: 600;
  font-size: var(--font-20);
}

.oneDaySchedule-details:has(.oneDaySchedule-image) p.oneDaySchedule-title{
padding-bottom: min(0.6rem);
}

.oneDaySchedule ul{
  width: 100%;
  position: relative;
}

.oneDaySchedule ul li{
  min-width: 19rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: calc(var(--flex-gap) / 3);
}

.oneDaySchedule li .hour{
  color: var(--color-white);
  font-weight: 500;;
  background: var(--kaisei-green);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: min(7rem, 12vw);
  height: min(7rem, 12vw);
  letter-spacing: 0;
}

.oneDaySchedule li .oneDaySchedule-details{
  position: relative;
  background: var(--bg);
  padding:calc(var(--bg-padding) / 2);
  border-radius: calc(var(--border-radius) / 2);
  width: calc(100% - calc(min(7rem, 12vw) + calc(var(--flex-gap) / 2)));
  margin-bottom: min(4rem, 4vw);
}

.oneDaySchedule li .oneDaySchedule-details:has(.oneDaySchedule-image){
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(var(--flex-gap) / 2)
}

.oneDaySchedule-details h4{
  font-weight: 500;
}

/*------- 一番星レストラン VENERA -------*/
.p-KV.p-KV_venera{
  background-image: url(img/page/pKV-venera.webp);
}

.p-venera .p-aboutConcept_textArea>h3{
  font-size: min(3.83rem, 4.7vw);
}

.p-venera_mainMenu{
  margin-bottom: calc(var(--section-margin) / 2);
}

ul.venera-menuList>li{
  text-align: center;
}
ul.venera-menuList>li img{
  width: 75%;
}

ul.venera-menuList>li .menu-title{
  color: var(--kaisei-green);
  font-size: var(--font-18);
}

p.price{
  font-weight: 500;
}

.p-venera_menu .notes{
  width: min(72rem, 100%);
  margin: 0 auto;
  flex-wrap: wrap;
  padding: min(8vw,4rem) calc(var(--bg-padding) / 2) calc(var(--bg-padding) / 2);
}

.p-venera_menu .notes .notes-imageArea{
  width: min(17rem, 20vw);
}
.p-venera_menu .notes .notes-textArea{
  width: calc((100% - calc(var(--flex-gap) / 2)) - min(17rem, 20vw));
}

.p-venera_notes.notes>h4{
  position: absolute;
  text-align: center;
  top: 0;
  left: 50%;
  transform: translate(-50%, -43%);
  padding-bottom: 0;
  width: 100%;
}

.p-venera_notes.notes>h4 span{
  position: relative;
}



@media screen and (min-width:769px) {
  /*--------------
  教育課程
  --------------*/
  .p-KV.p-KV_lp{
    background-position: top;
  }

  .p-lp_policy .p-about_policyList{
    align-items: center;
  }

  .accordion-QA li .title:hover{
    opacity: var(--opacity);
  }

  .-QA_answer__flexBox>.-QA_answer__left,
  .-QA_answer__flexBox>.-QA_answer__right{
    width: calc((100% - calc(var(--flex-gap) / 2)) / 2);
  }

  p.-prof_position{
    font-size: 90%;
  }

  /*------- 応援団 -------*/
  ._specialTeach__images{
    width: calc((100% - min(4rem, 4vw)) - 71%);
  }

  ._specialTeach__textArea{
    width: calc((100% - min(4rem, 4vw)) - 25%);
  }

  /*------- 時間割 -------*/
  .p-lp_timetableColumn{
    gap: calc(var(--flex-gap) / 3);
  }

  .p-lp_timetableColumn>li{
    width: calc((100% - calc(calc(var(--flex-gap) / 3)) * 2) / 3);
  }

  .p-lp_timetableColumn .bubble{
    padding: calc(var(--bg-padding) / 4);
  }

  .-lp_lpDetails__notes{
    padding: calc(var(--bg-padding) / 3);
  }

  /*--------------
  制服紹介
  --------------*/
  .p-KV.p-KV_uniform{
    background-position: top;
  }
  .p-uniform_ex{
    line-height: 2.4;
  }
  .p-uniform_ex br:nth-of-type(1){
    display: inline-block;
  }

  .p-uniform_flexTop>.p-uniform_imageArea{
    width: calc((100% - var(--flex-gap)) / 2);
  }

  .p-uniform_flexTop>.p-uniform_textArea{
    width: calc((100% - var(--flex-gap)) / 2);
  }

  .p-uniform_itemList>li{
    width: calc((100% - calc(var(--flex-gap) * 3)) / 4);
  }

  .p-uniform_itemList>li p span{
    display: inline-block;
  }

  /*--------------
  Facility
  --------------*/
  ul.p-facility_list._list_mainList>li.p-facility_item{
    width: calc((100% - var(--flex-gap)) / 2);
  }

  ul.p-facility_list._list_subList>li.p-facility_item{
    width: calc((100% - calc(min(4rem,4vw) * 2)) / 3);
  }

  /*------- 大志寮 -------*/
  .oneDaySchedule li .oneDaySchedule-details{
    padding: calc(var(--bg-padding) / 3);
  }

  .oneDaySchedule-details:has(.oneDaySchedule-image) .oneDaySchedule-textArea{
    width: calc(calc(100% - calc(var(--flex-gap) / 2)) / 2);
  }

  .oneDaySchedule-image{
    width: calc(calc(100% - calc(var(--flex-gap) / 2)) / 2);
  }

  /*------- 一番星レストラン VENERA -------*/
  .p-venera_menu .notes .notes-imageArea{
    width: min(11rem, 20vw);
  }
  .p-venera_menu .notes .notes-textArea{
      width: calc((100% - calc(var(--flex-gap) / 2)) - min(11rem, 20vw));
  }

  ul.venera-menuList>li{
    width: calc((100% - calc(var(--flex-gap) * 2)) / 3);
  }

  ul.venera-menuList>li img{
    width: 100%;
  }
}

@media screen and (min-width:1025px) {
  /*--------------
  制服紹介
  --------------*/

  .p-uniform_flexTop>.p-uniform_imageArea{
    width: calc((100% - var(--flex-gap)) - 48%);
  }

  .p-uniform_flexTop>.p-uniform_textArea{
    width: calc((100% - var(--flex-gap)) - 48%);
  }
}

@media screen and (max-width:768px) {
  ul.p-facility_list._list_subList>li.p-facility_item{
    width: calc((100% - min(4rem,4vw)) / 2);
  }

  .p-lp_timetableFull .timetable-image{
    overflow-x: auto;
  }

  .p-lp_timetableFull .timetable-image img{
    width: 288vw;
    max-width: 288vw;
  }

  p.guide-text{
    display: block;
  }

  /*-------中高6か年の羅針盤  応援団 -------*/
  .p-lp_compass .p-lp_timetableFull .timetable-image img{
    width: 194vw;
    max-width: 194vw;
  }

  .p-lp_supporter .-ad_aboutPassport__imageArea{
    width: 80%;
    margin: 0 auto;
  }

  .p-lp_supporter .-ad_aboutPassport__textArea p{
    padding-bottom: 0;
  }

  .p-lp_supporter ul.p-about_voiceList li{
    width: 100%;
    display: flex;
    gap: min(4rem, 4vw);
    align-items: flex-start;
  }
  .p-lp_supporter ul.p-about_voiceList li picture.ambassador-image{
    width: min(28vw);
  }
  .p-lp_supporter ul.p-about_voiceList li .ambassador-textArea{
    width: calc(calc(100% - min(4rem, 4vw)) - min(28vw));
  }

  .ambassador-prof{
    text-align: left;
  }
}
@media screen and (max-width:521px) {
  ul.p-facility_list._list_subList>li.p-facility_item{
    width: 100%;
  }
  
  /*------- 応援団 -------*/
  ._specialTeach__images{
    width: 61%;
  }
  ._specialTeach__textArea{
    width: 100%;
  }
}

/*--------------
クラブ活動
--------------*/
.p-KV_club{
  background-image: url(img/page/pKV-club.webp);
}

.p-club{
  padding-bottom: var(--section-margin);
}

.p-club_contents{
  padding: min(10rem, 12vw) 0;
}

.p-club_contents:last-of-type{
  padding: min(10rem, 12vw) 0 0;
}

.p-club_contents>h3{
  color: var(--kaisei-green);
  font-size: min(4rem, 6.24vw);
  padding-bottom: min(2.4rem, 3vw);
}

.p-club_main{
  gap: var(--flex-gap);
  flex-direction: row-reverse;
  padding-top: var(--section-margin);
  padding-bottom: calc(var(--section-margin) / 2);
}

.p-club_images img{
  border-radius: 0 0 min(4rem,4vw) min(4rem,4vw);
}

.p-club_textArea h3.p-club_title{
  color: var(--kaisei-green);
  position: relative;
  font-size: min(4rem, 7.24vw);
  font-weight: 500;
  letter-spacing: .12em;
  padding-bottom: min(2rem, 2vw);
  z-index: 1;
}
.p-club_textArea h3.p-club_title::before{
  position: absolute;
  content: "";
  background: url(img/page/schoollife/c-textBg.svg) no-repeat center;
  background-size: 100%;
  width: min(90rem, 100%);
  height: min(16vw, 14rem);
  z-index: -1;
  left: 0;
  bottom: 0;
}

.p-club_textArea p{
  font-size: var(--font-18);
  line-height: 2;
}

ul.p-club_linkList{
  display: flex;
  flex-wrap: wrap;
  gap: min(3rem,4vw);
}
ul.p-club_linkList a{
  width: 100%;
}

ul.p-club_linkList li{
  width: calc((100% - min(3rem,4vw)) / 2);
}

@media screen and (min-width:769px) {
  ul.p-club_linkList li{
    width: calc((100% - calc(min(3rem,4vw) * 2)) / 3);
  }
}

@media screen and (min-width:1025px) {
  ul.p-club_linkList li{
    width: calc((100% - calc(min(3rem, 4vw)* 2)) / 3);
  }
}

@media screen and (max-width:521px) {
  ul.p-club_linkList li{
    width: 100%;
  }
}


/*--------------
図書館
--------------*/
.p-KV.p-KV_library{
  background-image: url(img/page/pKV-library.webp);
  background-position: 78%;
}

.libraryBaceDataR{
  background: var(--bg);
  padding: calc(var(--bg-padding) / 3);
  border-radius: var(--border-radius);
}

/*--------------
年間行事
--------------*/
.p-KV.p-KV_se{
  background-image: url(img/page/pKV-se.webp);
}

.p-es{
  padding: var(--section-margin) 0;
}

.p-es_wrapper{
  position: relative;
  background: var(--gradation);
  border-radius: var(--border-radius);
}

.p-es_title{
  background: var(--kaisei-green);
  color: var(--color-white);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(var(--flex-gap) / 3);
  padding: min(2rem,4vw);
}

.p-es_title>p.-es_title__bgText{
  background: var(--color-white);
  color: var(--kaisei-green);
  border-radius: 9999px;
  font-weight: 600;
  font-size: var(--font-18);
  width: min(8rem, 15vw);
  text-align: center;
}

.p-es_title>h3{
  font-size: min(2.24rem,5vw);
  font-weight: 500;
  line-height: 1.4;
}
.p-es_title>h3 span{
  font-size: min(4rem, 6vw);
}

.p-es_eventList{
  padding: var(--bg-padding);
}

.p-es_eventList>ul.-es_eventList__main{
  display: flex;
  flex-wrap: wrap;
  gap: var(--flex-gap);
  margin-bottom: calc(var(--section-margin) / 2);
}

ul.-es_eventList__main li{
  width: 100%;
}

ul.-es_eventList__main li h4{
  color: var(--kaisei-green);
  font-size: var(--font-20);
  padding-top: min(1rem);
}

ul.-es_eventList__main li>img{
  width: 100%;
}

.p-es_eventList>.-es_eventList__other{
  background: var(--color-white);
  position: relative;
  border-radius: calc(var(--border-radius) / 2);
  padding: min(4rem, 6vw) calc(var(--bg-padding) / 2) calc(var(--bg-padding) / 2);
  width: min(85rem, 100%);
  margin: auto;
}

.p-es_eventList>.-es_eventList__other h4{
  color: var(--kaisei-green);
  font-size: var(--font-20);
  position: absolute;
  left: 50%;
  top: -3.4vw;
  transform: translate(-50%, 0);
}

.-es_eventList__other ul{
  display: flex;
  flex-wrap: wrap;
  font-size: var(--font-18);
  gap: calc(var(--flex-gap) / 4) calc(var(--flex-gap) / 2);
  justify-content: center;
  font-weight: 500;
}

.-es_eventList__other ul li span{
  position: relative;
  padding-left: min(1.4rem, 3vw);
}
.-es_eventList__other ul li span::before{
  position: absolute;
  content: "";
  background: var(--kaisei-green);
  width: min(1rem, 1.4vw);
  height: min(1rem, 1.4vw);
  border-radius: 50%;
  top: min(.7rem, 1.6vw);
  left: 0;
}

@media screen and (min-width:769px) {
  /*--------------
  図書館
  --------------*/
  .p-KV.p-KV_library{
    background-position: center;
  }
  /*--------------
  年間行事
  --------------*/
  ul.-es_eventList__main li{
    width: calc((100% - calc(calc(var(--flex-gap) / 2) * 2)) / 3);
  }

  .p-es_eventList>.-es_eventList__other h4{
    top: -1.4rem;
  }

  .p-es_eventList>ul.-es_eventList__main{
    gap: calc(var(--flex-gap) / 2);
  }

}


/*--------------
入試情報
--------------*/
/*------- main -------*/
.p-adEntrance .p-adEntrance_linkList{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: calc(var(--flex-gap) / 2);
}

.p-adEntrance .p-adEntrance_linkList>li{
  width:calc((100% - calc(var(--flex-gap) / 2)) / 2);
}

.cardLink-pic.-pic_hs>picture::before{
  background: linear-gradient(0deg, rgba(0, 159, 232, 1) 0%, rgba(0, 149, 110, .14) 30%);
}
.cardLink-pic.-pic_jhs>picture::before{
  background: linear-gradient(0deg, rgba(244, 206, 15, 1) 0%, rgba(0, 149, 110, .14) 30%);
}

.jhsBg,.hsBg{
  padding: var(--bg-padding);
  border-radius: calc(var(--border-radius) / 2);
}

.jhsBg{
  background: #f4ce0f21;
}
.jhsBg>h3,.jhsBg>h4{
  color: var(--color-jhs);
}
.jhsBg ul.list-notes li::before{
  background: var(--color-jhs);
}

.hsBg{
  background: #009fe821;
}
.hsBg>h3,.hsBg>h4{
  color: var(--color-hs);
}
.hsBg ul.list-notes li::before{
  background: var(--color-hs);
}

/*------- jhs -------*/
.p-adJHS .p-fixedMenu_list li a,.p-adJHS .p-contentsTitle>h3,.p-adJHS .p-ad_information>h4,.p-adJHS .swiper-controller .swiper-pagination-fraction{
  color: var(--color-jhs);
}

.p-adJHS .p-fixedMenu_list li a::before,.p-adJHS .line-title::before,.p-adJHS .arrow-icon{
  background: var(--color-jhs);
}

.p-adJHS .linkBox-bg::after,
.p-adJHS .linkBox-bg,
.p-adJHS .tab-icon,
.p-adJHS .download-icon{
  background: var(--color-jhs);
  color: var(--color-black);
}

.p-adJHS .swiper-controller .swiper-button-prev::after,
.p-adJHS .swiper-controller .swiper-button-next::after{
  border-top: var(--color-jhs) solid 2px;
  border-left: var(--color-jhs) solid 2px;
}

.p-adJHS .swiper-controller .swiper-button-prev,
.p-adJHS .swiper-controller .swiper-button-next{
  background: #f4ce0f12;
}

/*------- hs -------*/
.p-adHS .p-fixedMenu_list li a,
.p-adHS .p-contentsTitle>h3,
.p-adHS .p-ad_information>h4,
.p-adHS .swiper-controller .swiper-pagination-fraction{
  color: var(--color-hs);
}

.p-adHS .p-fixedMenu_list li a::before,
.p-adHS .line-title::before,
.p-adHS .arrow-icon{
  background: var(--color-hs);
}

.p-adHS .linkBox-bg{
  background: var(--color-hs);
  color: var(--color-white);
}

.p-adHS .linkBox-bg::after,
.p-adHS .tab-icon,
.p-adHS .download-icon{
  background-color: var(--color-hs);
}

.p-adHS .swiper-controller .swiper-button-prev::after,
.p-adHS .swiper-controller .swiper-button-next::after{
  border-top: var(--color-hs) solid 2px;
  border-left: var(--color-hs) solid 2px;
}

.p-adHS .swiper-controller .swiper-button-prev,
.p-adHS .swiper-controller .swiper-button-next{
  background: #009fe812;
}


/*------- common -------*/
.p-KV_ad{
  background-image: url(img/page/pKV-ad.webp);
  background-position: 84%;
}

.p-ad{
  padding: var(--section-margin) 0;
}

.p-ad_event>h4{
  font-size: min(2.4rem, 4.83vw);
  color: var(--kaisei-green);
  font-weight: 600;
  padding-bottom: min(2rem, 2vw);
}

.p-ad_eventSlide{
  margin-right: min(-2.4rem, 0vw);
  overflow: hidden;
}

.p-ad_eventSlide .swiper-controller{
  margin-right: min(12rem, 6vw);
  margin-top: min(2rem, 4vw);
}

ul._eventSlide__list .swiper-slide{
  padding: calc(var(--bg-padding) / 2);
  letter-spacing: .08em;
  width: 21rem;
}
ul._eventSlide__list.__list_jh>li._eventSlide__listItem{
  background: #fff8c2;
}

ul._eventSlide__list>li._eventSlide__listItem h5.eventDay{
  font-size: var(--font-20);
  font-weight: 600;
  line-height: 1.5;
}
ul._eventSlide__list>li._eventSlide__listItem p.eventPlace{
  font-size: var(--font-exTxt);
  font-weight: 500;
  line-height: 1.5;
}

li._eventSlide__listItem>.eventDetails{
  border-top: solid 1px var(--color-black);
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  line-height: 1.5;
}

li._eventSlide__listItem>.eventDetails dl{
  display: flex;
  gap: 1rem;
  padding-bottom: min(1vw, 1rem);
}
li._eventSlide__listItem>.eventDetails dl dt{
  width: min(5rem,10vw);
}
li._eventSlide__listItem>.eventDetails dl dd {
  width: calc(100% - min(5rem,11vw));
}

.p-ad_eventSlide .cate-name{
  background:#f0f9f6;
}

ul.p-ad_reqList{
  display: flex;
  flex-direction: column;
  gap: min(2rem,4vw);
}

ul.p-ad_reqList>li a.linkBox-bg{
  font-size: var(--font-18);
  line-height: 1.5;
  letter-spacing: .08em;
}
ul.p-ad_reqList>li a.linkBox-bg::before{
  width: min(5rem, 10vw);
  height: min(5rem, 10vw);
}
ul.p-ad_reqList>li a.linkBox-bg::after{
  width: min(1.4rem, 3vw);
  height: min(1.4rem, 3vw);
  right: min(2.4rem, 5vw);
}

.p-ad_information>._information__contents{
  margin-bottom: calc(var(--section-margin) / 2);
}
.p-ad_information>._information__contents:last-of-type{
  margin-bottom: 0;
}

.p-ad_information>h4{
  font-size: min(2.4rem, 5vw);
  font-weight: 600;
  line-height: 1.5;
  padding-bottom: min(2rem, 2vw);
}

a.ad-link{
  display: block;
  width: min(44rem, 66vw);
  margin: min(1.4rem, 2vw) 0;
}

.p-ad_linkList{
  display: flex;
  flex-wrap: wrap;
  gap: min(2rem, 3vw) min(3rem, 4vw);
  width: 100%;
  margin-top: 2rem;
}
.p-ad_linkList>li{
  width: 100%;
}

.p-ad_linkList a.linkBox-bg{
  width: 100%;
}

.p-ad_event .linkBox{
  width: min(35rem, 80vw);
  margin: min(3rem, 6vw) 0 0 auto;
}

.p-adHS .p-ad_event .linkBox{
  border: solid 1px var(--color-hs);
  color: var(--color-hs);
}

.p-adJHS .p-ad_event .linkBox{
  border: solid 1px var(--color-jhs);
  color: var(--color-jhs);
}

@media screen and (min-width:769px) {
  .p-KV_ad{
background-position: center;
  }

  ul._eventSlide__list .swiper-slide{
    width: 30rem;
  }

  .p-ad_linkList>li{
    width: calc((100% - min(3rem, 4vw)) / 2);
  }

  a.ad-link:hover{
    opacity: .6;
  }

  /*------- main -------*/
  .p-adEntrance .p-adEntrance_linkList>li{
    width: calc((100% - calc(calc(var(--flex-gap) / 2) * 2)) / 3);
  }

  .jhsBg,.hsBg{
    padding: calc(var(--bg-padding) / 2);
  }

}

@media screen and (min-width:1025px) {
  .p-ad_eventSlide{
    margin-right: min(-12rem, -7vw);
    gap: min(.4rem, 1.4vw);
  }
}

/*--------------
進路状況
--------------*/
.p-KV.p-KV_course{
  background-image: url(img/page/pKV-course.webp);
}

.p-course_contents{
  margin-bottom: calc(var(--section-margin) / 3);
}
.p-container_inner:last-of-type,
.p-course_contents:last-of-type{
  margin-bottom: 0;
}

.p-course_contents>h5.line-title{
  margin-bottom: min(1.6rem, 2vw);
}

ul.desk-list{
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--flex-gap) / 6) calc(var(--flex-gap) / 3);
  padding-bottom: 1rem;
}

ul.desk-list>li{
  padding-left: min(1.4rem, 2.4vw);
  position: relative;
}
ul.desk-list>li::before{
  position: absolute;
  content: "";
  background: var(--kaisei-green);
  border-radius: 50%;
  width: min(1rem, 1.4vw);
  height: min(1rem, 1.4vw);
  top: min(.7rem);
  left: 0;
}

table td ul li{
  text-indent: -0.8rem;
  padding-left: .8rem;
  padding-bottom: .4rem;
  line-height: 1.6;
}

/*--------------
パスポート入試
--------------*/
.p-KV.p-KV_passport{
  background-image: url(img/page/pKV-ad.webp);
  background-position: 86%;
}

.p-ad_points .p-about_policyList._policyList1{
  padding: 0 0 min(4rem, 8vw);
}

.-ad_aboutPassport__contents{
  display: flex;
  flex-wrap: wrap;
  gap: min(4rem, 4vw);
  margin-bottom: calc(var(--section-margin) / 2);
}

.-ad_aboutPassport__textArea p{
  padding-bottom: calc(var(--bg-padding) / 2);
}

/*---- flow ---*/
.flowContents{
  margin-bottom: calc(var(--section-margin) / 2);
}

.flowContents._featuresEducation__otherCont{
  width: 100%;
  text-align: center;
}

picture.flowContents-image{
  display: block;
  width: 100%;
}
picture.flowContents-image img{
  width: 100%;
}

h4.flowContents-periodTitle{
  background: var(--kaisei-green);
  color: var(--color-white);
  font-size: var(--font-20);
  position: relative;
  text-align: center;
  font-weight: 500;
  padding: .3rem;
  margin-bottom: 2rem;
  position: relative;
  color: var(--color-white);
}

h4.flowContents-periodTitle.-periodTitle_jhs{
  background: var(--color-jhs);
}

h4.flowContents-periodTitle.-periodTitle_hs{
  background: var(--color-hs);
}

li.flowContents-list_item>.-list_itemTitle{
  padding-bottom: min(.8rem, .8vw);
}

.flowContents-imageArea_image{
  width: min(12rem, 24vw);
}

.step3 .flowContents-imageArea_image{
  width: min(10rem);
  margin: 0 auto;
  display: block;
}

.flowContents-imageArea{
  margin-top: 1rem;
}

.flowContents-imageArea.-imageArea__speech{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(.5rem);
  width: min(30rem, 100%);
  margin: 1rem auto 0;
}

.step5 .flowContents-imageArea.-imageArea__speech{
  margin: 2rem auto 0;
}

.step5 .-imageArea__speech>.flowContents-imageArea_speechImage{
  width: 10rem;
}

.-imageArea__speech>.flowContents-imageArea_speechImage{
  width: calc(100% - min(12rem, 24vw));
}

.step5 .flowContents-imageArea_speechImage img{
  width: auto;
  height: 9rem;
  display: block;
}

.flowContents-imageArea>p:has(img){
  margin: 0 auto 2rem;
  width: min(37rem, 100%);
}

.flowContents-list_inner{
  margin-top: 1rem;
}

.flowContents-list_inner p:last-of-type{
  font-size: min(1.24rem, 3.24vw);
}

.flowContents-list_inner p.-list_innerTitle{
  text-align: center;
  font-weight: 500;
  padding: 2px;
  margin-bottom: 0.3rem;
}

/*--------------
納入金について
--------------*/
.p-payment{
  padding: min(3rem,5vw) 0;
  border-bottom: solid 1px var(--color-gray);
}

.p-payment .p-document_contentsInner:nth-of-type(1){
  margin-top: 0;
}

p.payment{
  font-size: var(--font-18);
  font-weight: 600;
  padding-bottom: 0;
}

.p-payment .box{
  display: none;
  margin-top: min(3rem,5vw);
}

.p-payment.accordion-contents .title{
  color: var(--kaisei-green);
  font-size: min(2.4rem, 4.83vw);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .12em;
  position: relative;
  cursor: pointer;
}

.p-payment.accordion-contents .title::before,
.p-payment.accordion-contents .title::after{
  position: absolute;
  content: "";
  background: var(--kaisei-green);
  width: 16px;
  height: 1px;
  transition: var(--transition);
}

.p-payment.accordion-contents .title::after{
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}
.p-payment.accordion-contents .title::before {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.p-payment.accordion-contents .title.close::after {
  transform: translateY(-50%) rotate(0deg);
}

ul.annotation-list{
  font-size: min(1.3rem, 3vw);
  margin-top: 1.4rem;
}

/*--------------
その他
--------------*/
.p-document.-document_graduates ul.list-notes{
  font-size: min(1.4rem,3.6vw);
}

.p-document.-document_graduates .linkBox{
  width: min(40rem, 100%);
  text-align: left;
  margin: 1.2rem 0 1rem;
  letter-spacing: .07em;
}

.p-document.-document_graduates table{
  width: min(77rem, 100%);
  text-align: center;
}


/*--------------
探究学習
--------------*/
.p-KV.p-KV_inquiry{
  background-image: url(img/page/pKV-tankyu.webp);
}

.p-inquiry_blog{
  margin-bottom: var(--section-margin);
}

/*-------flow-------*/
.educationFlow-item{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: calc(var(--flex-gap) / 2);
}

.educationFlow-item.dottedBorder{
  padding: calc(var(--section-margin) / 3) 0;
}

.educationFlow-item_flex{
  display: flex;
  gap: calc(var(--flex-gap) / 2);
  flex-wrap: wrap;
}

.educationFlow-textArea>a.linkBox{
  margin-top: min(1.4rem);
}

.educationFlow-item .circle-item{
  width: min(15rem, 22vw);
  height: min(15rem, 22vw);
}

.educationFlow-item .circle-item>svg.full-circle{
  width: min(15rem, 22vw);
  height: min(15rem, 22vw);
}

@media screen and (min-width:769px) {
  /*-------passport-------*/
  .p-ad_points .p-about_policyList{
    align-items: center;
  }
  .p-KV.p-KV_passport{
    background-position: center;
  }

  .-ad_aboutPassport__textArea, .-ad_aboutPassport__imageArea {
    width: calc((100% - min(4rem, 4vw)) / 2);
  }

  /*---- flow ---*/

  .flowContents-imageArea>p:has(img){
    width: 100%;
  }

  .flowContents-imageArea.-imageArea__speech{
    width: 100%;
  }

  .flowContents-imageArea_image{
    width: min(8rem);
  }

  .-imageArea__speech>.flowContents-imageArea_speechImage {
    width: calc(100% - min(8rem));
  }

  .step5 .flowContents-imageArea_speechImage img{
    width: auto;
    height: 9rem;
    margin: 0 auto;
  }

  /*-------flow-------*/
  .educationFlow-item_num .circle-item{
    width: min(16rem);
  }

  .educationFlow-item_container{
    width: calc(100% - 16rem);
  }

  .educationFlow-item_flex .educationFlow-image{
    width: calc((100% - calc(var(--flex-gap) / 2)) / 2);
  }

  .educationFlow-textArea{
    width: calc((100% - calc(var(--flex-gap) / 2)) / 2);
  }
}