@charset "UTF-8";
/* CSS Document */
/*parts setting*/
.dot-list li {
  padding-left: 1em;
}
.dot-list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.ccl-list > li {
  padding-left: 1.125em;
  line-height: calc(32/16);
}
.ccl-list > li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--dot-clr);
}
.ccl-list.d-line > li::before{
  content: "◯";
}
.ccl-list.d-blue {
  --dot-clr: var(--clr-blue);
}
.ccl-list.d-grn {
  --dot-clr: var(--clr-grn);
}
.rect-list > li {
  padding-left: 1.25em;
  line-height: calc(24/16);
}
.rect-list > li::before {
  content: "□";
  position: absolute;
  left: 0;
  top: 0;
}
.att-list > li {
  padding-left: 1.125em;
  line-height: calc(32/16);
}
.att-list > li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.dot-line {
  background-size: 6px 2px;
  background-image: linear-gradient(to right, currentColor 2px, transparent 2px);
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-bottom: 5px;
}
.dot-line.blue{
  background-image: linear-gradient(to right, var(--clr-blue) 2px, transparent 2px);
}
.dot-line.grn {
  background-image: linear-gradient(to right, var(--clr-grn) 2px, transparent 2px);
}
.dot-line_l {
  background-size: 1.5px 100%;
  background-image: repeating-linear-gradient(to bottom, currentColor, currentColor 1.5px, transparent 1.5px, transparent 6px);
  background-position: left top;
  background-repeat: repeat-y;
}
.ruby-text {
  display: inline-block;
  padding-top: .5em;
}
.ruby-text::before {
  content: attr(data-ruby);
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0.5em;
  white-space: nowrap;
}
/*under
================================================================*/
.under-contents {
  padding-top: min(100px, 15vw);
  padding-bottom: min(150px, 25vw);
}
.under-key {
  min-height: 200px;
  display: grid;
  place-content: center;
  padding-top: min(40px, 10vw);
}
.key-under .page-title {
  font-size: min(30px, 8vw);
  font-weight: 600;
  letter-spacing: .07em;
  text-indent: .07em;
}
.under-key .page-title {
  color: #fff;
  font-weight: 700;
  text-align: center;
  display: grid;
  place-content: center;
  place-items: center;
  text-shadow: 0 3px 1px rgba(0, 170, 231, .4);
}
.under-key .page-title .en {
  font-size: min(130px, calc(100vw/6));
  font-style: italic;
  letter-spacing: -.05em;
  text-indent: -.05em;
}
.under-key .page-title .en.min {
  font-size: min(80px, calc(100vw/8));
}
.under-key .page-title .ja {
  font-size: min(24px, 100vw/25);
  letter-spacing: .05em;
  text-indent: .05em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.4;
  translate: 0 .5em;
}
.box-title {
  font-size: var(--head3);
  font-weight: 900;
  line-height: calc(35/30);
}
body.page-career .under-key .page-title .ja {
  translate: 0 0;
}

/*outline　+++++++++++++++++++++++++++++++++++++++*/
.outline-contents{
  background: url("../images/wall/features.png") no-repeat bottom center/100%;
}
.outline-intro_head{
  gap:min(40px,8vw);
}
.outline-intro_head .title{
  font-size: min(22px,calc(100vw/24));
  line-height: calc(52/30);
  text-align: center;
  font-weight: 600;
}
.outline-intro_head .title .main{
  font-size: min(30px,calc(100vw/18));
  margin-top: min(20px,3vw);
  letter-spacing: .08em;
  text-indent: .08em;
}
.outline-intro-top .comment{
  margin-top: min(60px,10vw);
}
.outline-intro-top .comment .in-title{
  text-align: center;
  color: var(--clr-blue);
  font-size: min(24px,calc(100vw/22));
  line-height: calc(44/24);
  letter-spacing: .05em;
  text-indent: .05em;
  font-weight: 600;
}
.outline-intro-top .comment .in-text{
  margin-top: min(50px,8vw);
}
.outline-intro-top .comment .in-text span{
  font-size: min(18px,3.6vw);
}
.outline-intro-top .top-list{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:min(35px,5vw);
  margin-top: min(90px,10vw);
}
.outline-intro-top .top-list li{
  background: var(--wall-gry);
  padding: min(50px,8vw) min(20px,3vw) min(30px,4vw);
  font-size: min(18px,3.6vw);
  font-weight: 600;
  display: grid;
  grid-template-columns: min(20em,100%);
  place-content:center;
  place-items:center;
}
.outline-intro-top .top-list li h4{
  position: absolute;
  top: 0;
  left: 50%;
  translate:-50% -50%;
  background: var(--clr-blue);
  color: #fff;
  font-size: var(--head3);
  padding: 5px 10px;
}
.outline-about_happy{
  margin-top: min(80px,12vw);
}
.happy-feature{
  gap:min(50px,8vw);
  padding-bottom: min(70px,8vw);
}
.happy-feature .in-title{
  padding-left: 1.125em;
  font-size: min(22px,calc(100vw/20));
  font-weight: 600;
  line-height: calc(28/22);
}
.happy-feature .in-title::before{
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--clr-blue);
}
.happy-feature .graph{
  width: min(460px,80%);
}
.happy-feature .point-list{
}
.happy-feature .point-list >li{
  display: grid;
  grid-template-columns: auto auto auto;
  gap:min(2em,3vw);
  font-size: min(18px,3.6vw);
  font-weight: 600;
  line-height: calc(20/16);
}
.happy-feature .point-list >li:nth-child(n+2){
  margin-top: 1em;
}
.happy-feature .point-list >li p{
  padding-left: 1em;
}
.happy-feature .point-list >li p::before{
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.outline-about_happy .happy-link{
  display: grid;
  grid-template-columns: min(510px,55%) 1fr;
  gap:min(20px,5vw);
  padding-top: min(60px,8vw);
  padding-bottom: min(60px,8vw);
  -ms-align-items: center;
  align-items: center;
}
.outline-about_happy .happy-link::before{
  content: "";
  width: 100vw;
  height: 100%;
  background: var(--wall-gry);
  position: absolute;
  top: 0;
  left: 50%;
  translate:-50% 0;
}
.outline-about_happy .happy-link .comment{
  display: grid;
  place-content:center;
  gap:min(20px,4vw);
  font-size: min(20px,4vw);
  font-weight: 600;
}
/*校章*/
.page-outline-detail{
  margin-top: min(70px,12vw);
  gap:min(70px,10vw);
}
.outline-detail_symbol .in-title{
  font-size: min(40px,calc(100vw/18));
  font-weight: 600;
  letter-spacing: .1em;
  text-indent: .1em;
  color: var(--clr-blue);
  padding-left: 2.5em;
  padding-right: 2.5em;
}
.outline-detail_symbol .in-title::before
,.outline-detail_symbol .in-title::after{
  content: "";
  width: 2em;
  height: 1px;
  background: currentColor;
  position: absolute;
  top: 50%;
  trannslate:0 -50%;
}
.outline-detail_symbol .in-title::before{
  left: 0;
}
.outline-detail_symbol .in-title::after{
  right: 0;
}
.outline-detail_symbol .logo{
  margin-top: min(35px,5vw);
  width: min(360px,65%);
}
.outline-detail_symbol .catch
,.outline-detail_symbol .in-text{
  margin-top: min(40px,5vw);
  text-align: center;
}
.outline-detail_symbol .catch{
  color: var(--clr-blue);
  font-size: min(30px,calc(100vw/18));
  line-height: 2;
  font-style: italic;
  font-weight: 500;
}
.outline-detail_symbol .in-text{
  font-size: min(20px,calc(100vw/24));
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: calc(40/24);
}
.outline-school-detail{
  width: 100%;
  gap:min(40px,6vw);
}
.outline-school-detail .in-title{
  font-size: min(30px,calc(100vw/18));
  color: var(--clr-blue);
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.outline-school-detail dl > div{
  display: grid;
  grid-template-columns: 6em auto;
  padding-bottom: 8px;
  padding-right: 8px;
  padding-left: 8px;
  line-height: calc(24/16);
}
.outline-school-detail dl > div:nth-child(n+2){
  margin-top: min(20px,3vw);
}
.outline-school-detail dl dt{
  font-weight: 600;
  letter-spacing: .1em;
}
/*policy　+++++++++++++++++++++++++++++++++++++++*/
.policy-contents{
  background: url("../images/wall/features.png") no-repeat bottom center/100%;
}
.page-policy_detail{
  color: var(--clr-blue);
  padding: min(50px,8vw) min(20px,4vw);
}
.page-policy_detail::before{
  content: "";
  width: 100%;
  height: 100%;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  position: absolute;
  bottom: 0;
  left: 50%;
  translate:-50% 0;
  background: linear-gradient(rgba(231,241,243,0) 25%,rgba(231,241,243,1));
}
.page-policy_detail .top-text{
  font-size: min(24px,calc(100vw/25));
  text-align: center;
  font-weight: 600;
  line-height: 2;
}
.page-policy_detail .top-text span{
  box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
  background: var(--clr-blue);
  color: #fff;
}
.page-policy-item .thumb img{
  object-fit: cover;
  height: 100%;
  object-position: center;
}
.page-policy_detail .graph-area{
  margin-top: min(60px,8vw);
  gap:min(30px,8vw);
}
.page-policy_detail .graph-area .in-title{
  font-size: min(28px,calc(100vw/24));
  color: var(--clr-blue);
  font-weight: 600;
  text-align: center;
}
.page-policy_detail .graph-area .graph{
  width: min(480px,100%);
}
.c-arw-list{
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap:1em 1em;
}
.c-arw-list > li{
  padding-left: 2em;
  font-weight: 600;
}
.c-arw-list > li::before{
  content: "";
  width: 1.5em;
  aspect-ratio:1;
  position: absolute;
  left: 0;
  top: 50%;
  translate:0 -50%;
  background: #fff;
  border-radius: 100vmax;
}
.c-arw-list > li::after{
  content: "";
  width: .35em;
  aspect-ratio:1;
  border: 1px solid;
  border-color: #000 #000 transparent transparent;
  position: absolute;
  left: .725em;
  top: 50%;
  rotate:45deg;
  translate:-55% -50%;
}
.page-policy_message{
  margin-top: min(80px,12vw);
}
.page-policy_message .text-area{
  margin-top: min(70px,14vw);
  text-align: center;
  font-size: min(18px,3.6vw);
  font-weight: 600;
}
/*message ++++++++++++++++++++++++++++++++++++++*/
.page-message-blc .box-title {
  color: var(--clr-blue);
  font-size: min(40px, calc(100vw/12));
}
.page-message-box, .parts-intv-item {
  display: grid;
  -ms-align-items: flex-start;
  align-items: flex-start;
}
.page-message-box.chair {
  grid-template-columns: auto min(410px, 40%);
  margin-top: min(70px, 8vw);
  padding-bottom: min(70px, 8vw);
}
.page-message-box.principal, .parts-intv-item {
  grid-template-columns: min(410px, 40%) auto;
}
.page-message-box.principal {
  border-top: 1px solid #000;
  padding-top: min(70px, 10vw);
}
.page-message-box .thumb figure, .parts-intv-item .thumb figure {
  width: calc(100% - min(30px, 5vw));
}
.page-message-box.chair .thumb figure {
  margin-left: auto;
}
.page-message-box .thumb .data, .parts-intv-item .thumb .data {
  position: absolute;
  bottom: min(30px, 3vw);
  background: #fff;
  box-shadow: 1px 1px 0 #000;
  font-size: min(14px, 3.4vw);
  font-weight: 600;
  line-height: calc(22/14);
  padding: min(15px, 3vw) min(20px, 4vw) min(10px, 2vw) min(15px, 3vw);
}
.page-message-box .thumb .data {
  width: min(270px, 100%);
}
.page-message-box.chair .thumb .data {
  left: 0;
}
.page-message-box.principal .thumb .data, .parts-intv-item .thumb .data {
  right: 0;
}
.page-message-box .thumb .data .name, .parts-intv-item .thumb .data .name {
  font-size: 1.5714em;
}
.page-message-box .comment, .parts-intv-item .comment {
  display: grid;
  width: min(33em, 100%);
  gap: min(60px, 5vw);
}
.parts-intv-item .comment {
  gap: min(40px, 5vw);
}
.page-message-box .comment .in-text {}
.page-message-box.principal .comment, .parts-intv-item .comment {
  margin-left: auto;
}
.page-message-box .comment .in-title, .parts-intv-item .comment .in-title {
  font-size: var(--fs-mid24);
  font-weight: 600;
  line-height: calc(40/26);
  padding-left: 1em;
}
.page-message-box .comment .in-title::before, .parts-intv-item .comment .in-title::before {
  content: "";
  width: min(6px, 2vw);
  height: 100%;
  border-radius: 100vmax;
  background: var(--clr-blue);
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
/*feature ++++++++++++++++++++++++++++++++++++++*/
.feature-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: flex-start;
  align-items: flex-start;
  font-weight: 600;
  gap: min(15px, 3vw);
}
.feature-title .sub {
  font-size: var(--fs-mid20);
  color: var(--item-clr);
}
.feature-title .main {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: 5px;
}
.feature-title .main > span {
  color: #fff;
  background: var(--item-clr);
  font-size: min(50px, calc(100vw/12));
}
.feature-title .main > span:nth-child(2){
  translate:1em 0;
}
.feature-intro__explan {
  display: grid;
  grid-template-columns: auto min(590px, 50%);
  gap: min(70px, 5vw) 0;
}
.feature-intro__explan .comment > div {
  gap: min(30px, 5vw);
}
.feature-intro__explan .comment > div .in-title {
  font-size: min(22px, calc(100vw/20));
  font-weight: 600;
  line-height: calc(36/22);
}
.page-feature_pickup .pick-thumb {
  position: absolute;
  left: 0;
  top: min(60px, 12.5vw);
  width: min(600px, 40vw);
  z-index: 1;
}
.feature_pickup__intro .comment {
  width: min(530px, 50vw);
  margin-left: auto;
  padding-bottom: min(100px, 12vw);
  z-index: 1;
}
.feature_pickup__intro .comment .in-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: flex-start;
  align-items: flex-start;
  gap: 10px;
}
.feature_pickup__intro .comment .in-title span {
  color: var(--item-clr);
  font-size: var(--fs-mid30);
  font-weight: 600;
  background: #fff;
  padding: 3px 5px;
}
.feature_pickup__intro .comment .in-text {
  margin-top: min(40px, 5vw);
}
/*feature1 マツダ特化型カリキュラム+++++++++++++++++++++++++++++++++++*/
.f-curric_contents {
  --item-clr: var(--clr-blue);
}
.feature-curric__explan .thumb {
  position: absolute;
  top: 0;
  right: 0;
  width: min(590px, 50%);
  z-index: 1;
}
.feature-curric__detail {
  padding-top: min(50px, 12vw);
  padding-bottom: min(70px, 12vw);
}
.feature-curric__detail::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: var(--wall-gry);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
}
.f-curric__intro {
  z-index: 2;
}
.f-curric__intro .comment {
  width: min(680px, 68%);
  padding-right: min(70px, 8vw);
}
.f-curric__intro .comment .in-title {
  -ms-align-items: flex-start;
  align-items: flex-start;
  font-size: var(--fs-mid30);
  font-weight: 600;
  gap: 8px;
}
.f-curric__intro .comment .in-title span {
  background: #fff;
  padding: 3px;
  color: var(--clr-blue);
  letter-spacing: .05em;
}
.f-curric__intro .comment .top-text {
  margin-top: min(30px, 5vw);
  line-height: calc(32/16);
  letter-spacing: .025em;
  text-indent: .025em;
}
.f-curric__intro .comment .explan {
  margin-top: min(50px, 8vw);
  width: min(33em, 100%);
}
.f-curric__intro .comment .explan dt p {
  padding-left: 1.125em;
  font-size: min(22px, 4vw);
  font-weight: 600;
  color: var(--clr-blue);
  padding-bottom: 7px;
  letter-spacing: .05em;
}
.f-curric__intro .comment .explan dt p::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
}
.f-curric__intro .comment .explan dt p span {
  color: #000;
}
.f-curric__intro .comment .explan dd {
  margin-top: min(20px, 3vw);
}
.f-curric__intro .thumb {
  position: absolute;
  left: min(680px, 68%);
  bottom: 0;
  width: min(500px, 40vw);
}
.f-curric_learning {
  margin-top: min(70px, 12vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(100px, 5vw);
}
.f-curric_learning > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-area: span 2;
  gap: 0;
}
.f-curric_learning > li .board {
  border: 4px solid #fff;
  background: url("../images/feature/wall.png") no-repeat center/cover;
  color: #fff;
  padding: min(30px, 4vw) min(25px, 3vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  gap: min(20px, 5vw);
}
.f-curric_learning > li .board .title {
  font-weight: 600;
  font-size: clamp(1rem, -0.111rem + 2.31vw, 1.625rem);
}
.f-curric_learning > li .board .icon {
  width: 30%;
}
.f-curric_learning > li .board::after {
  z-index: 1;
  content: "";
  width: min(140px, 15vw);
  height: 1.5px;
  background: var(--clr-blue);
  position: absolute;
  top: 50%;
}
.f-curric_learning > li:first-child .board::after {
  right: max(-50px, -2.5vw);
  rotate: 45deg;
  translate: 50% -50%;
}
.f-curric_learning > li:last-child .board::after {
  left: max(-50px, -2.5vw);
  rotate: -45deg;
  translate: -50% -50%;
}
.f-curric_learning > li .comment {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: flex-start;
  align-items: flex-start;
}
.f-curric_learning > li .comment {
  margin-top: max(-17px, -3vw);
  font-weight: 600;
}
.f-curric_learning > li .comment .title {
  background: #000;
  color: #fff;
  padding: 8px;
  font-size: min(18px, 3.8vw);
  letter-spacing: .05em;
}
.f-curric_learning > li .comment .dot-list {
  margin-top: min(15px, 3vw);
}
.f-curric_learning > li .comment .dot-list > li {
  line-height: calc(24/16);
}
.f-curric_learning > li .comment .dot-list > li:nth-child(n+2) {
  margin-top: 5px;
}
.feature-curric_pickup {
  margin-top: min(90px, 12vw);
}
.feature-curric_pickup .pick-thumb {
  top: 0;
}
.curric_pickup__intro .comment .in-title span {
  background: var(--item-clr);
  color: #fff;
}
.curric_pickup__intro .comment .explan {
  margin-top: min(40px, 5vw);
  background: #272727;
  color: #fff;
}
.curric_pickup__intro .comment .explan > ul {
  padding: min(40px, 5vw) min(35px, 3vw);
}
.curric_pickup__intro .comment .explan .att-list > li {
  line-height: calc(22/16);
  color: #bdbdbd;
}
.curric_pickup__message {
  display: grid;
  grid-template-columns: auto min(500px, 60vw);
  gap: min(60px, 5vw);
  -ms-align-items: center;
  align-items: center;
  padding-top: min(30px, 5vw);
  padding-bottom: min(30px, 5vw);
}
.curric_pickup__message::before {
  content: "";
  width: min(660px, 70vw);
  height: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  background: var(--wall-gry);
}
.curric_pickup__message .comment .in-head {
  color: var(--clr-blue);
  -ms-align-items: flex-start;
  align-items: flex-start;
  gap: min(10px, 1.5vw);
  font-weight: 600;
}
.curric_pickup__message .comment .title {
  font-size: var(--fs-mid30);
  line-height: calc(48/30);
}
.curric_pickup__message .comment .name {
  padding-left: min(3.5em, 17vw);
  letter-spacing: .05em;
}
.curric_pickup__message .comment .name::before {
  content: "";
  width: min(3em, 15vw);
  ;
  height: 1px;
  background: currentColor;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
.curric_pickup__message .comment .name span {
  font-size: 1.42em;
  padding-left: .5em;
}
.curric_pickup__message .comment .in-text {
  margin-top: min(20px, 4vw);
}
/*feature2 自立型人間育成+++++++++++++++++++++++++++++++++++*/
.method_contents {
  --item-clr: var(--clr-wblue);
  background: url("../images/wall/features.png") no-repeat bottom center/100%;
}
.page-feature_intro {
  padding-bottom: min(80px, 10vw);
}
.feature-method__explan .method-detail {
  margin-top: min(80px, 5vw);
}
.feature-method__explan .method-detail h4 {
  font-size: var(--fs-mid30);
  padding-left: 3.2em;
  color: var(--item-clr);
  font-weight: 600;
}
.feature-method__explan .method-detail h4::before {
  content: "";
  width: 2.4em;
  height: 1px;
  background: var(--item-clr);
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
.feature-method__explan .method-detail dd {
  margin-top: min(40px, 6vw);
}
.feature-method__explan .comment {
  grid-area: 1 / 1 / 2 / 2;
}
.feature-method__explan .thumb {
  grid-area: 1 / 2 / 2 / 3;
}
.feature-method__explan .diagram {
  grid-area: 2 / 1 / 3 / 3;
}
.method_pickup__intro {
  padding-top: min(120px, 15vw);
}
.method_pickup__intro::after {
  content: "";
  width: min(180px, 20vw);
  aspect-ratio: 1;
  position: absolute;
  top: min(25px, 3vw);
  right: min(25px, 3vw);
  background: url("../images/icon/pickup.svg") no-repeat center/cover;
  pointer-events: none;
}
.method_pickup__intro::before {
  content: "";
  width: 100vw;
  height: 67%;
  position: absolute;
  right: 0;
  top: 0;
  background: var(--item-clr);
}
.method_pickup__intro .comment .in-text {
  color: #fff;
}
.method_pickup__tool {
  width: min(900px, 100%);
  background: #fff;
  padding: min(45px, 5vw) min(20px, 4vw);
  border: 1px solid var(--item-clr);
  gap: min(40px, 5vw);
}
.method_pickup__tool .box-title {
  color: var(--item-clr);
}
.method_pickup__tool ul {
  width: min(780px, 100%);
}
.wid-num-list {
  counter-reset: number 0;
}
.wid-num-list > li {
  padding-left: 5em;
}
.wid-num-list > li:not(:first-child) {
  margin-top: min(35px, 4vw);
}
.wid-num-list > li::before {
  counter-increment: number 1;
  content: counter(number);
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  width: 1.6em;
  aspect-ratio: 1;
  font-size: 2.5em;
  font-style: italic;
  font-weight: 600;
  display: grid;
  place-items: center;
  background: var(--clr-wblue);
  border-radius: 100vmax;
  overflow: hidden;
  color: #fff;
}
.wid-num-list > li .list-title {
  font-size: min(22px, calc(100vw/25));
  font-weight: 600;
  line-height: calc(32/22);
}
/*interview*/
.method_pickup__intv {
  margin-top: min(60px, 10vw);
  -ms-align-items: center;
  align-items: center;
}
.method_pickup__intv .comment .tag {
  color: var(--item-clr);
  font-size: var(--fs-mid20);
  font-weight: 600;
}
.method_pickup__intv .comment .in-title::before {
  background: var(--item-clr);
}
.method_pickup__intv .rect-btn {
  background: var(--item-clr);
  color: #fff;
}
/*feature3 神戸マツダの支援+++++++++++++++++++++++++++++++++++*/
.spt_contents {
  --item-clr: var(--clr-grn);
}
.feature-spt__explan {
  grid-template-columns: auto;
  padding-top: min(70px, 10vw);
}
.feature-spt__explan .comment{
  z-index: 2;
}
.feature-spt__explan .thumb {
  position: absolute;
  width: min(590px, 50%);
  right: 0;
  top: 0;
  z-index: 1;
}
.feature-spt__detail {
  padding-top: min(50px, 12vw);
  padding-bottom: min(70px, 12vw);
}
.feature-spt__detail::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: var(--wall-gry);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
}
.feature-spt__detail .in-title {
  -ms-align-items: flex-start;
  align-items: flex-start;
  font-size: var(--fs-mid30);
  font-weight: 600;
  gap: 8px;
}
.feature-spt__detail .in-title span {
  background: #fff;
  padding: 3px;
  color: var(--item-clr);
  letter-spacing: .05em;
}
.feature-spt__detail .in-intro .in-text {
  width: min(33em, 100%);
}
.spt__detail-list {
  padding-left: max(calc((100vw - 1000px)/2), 4vw);
  margin-top: min(40px, 8vw);
}
.spt__detail-list > li {
  display: grid;
  grid-template-columns: min(620px, 50vw) min(500px, 40vw);
  gap: min(50px, 10vw);
}
.spt__detail-list > li > div {
  z-index: 1;
}
.spt__detail-list > li .in-head + * {
  margin-top: min(30px, 5vw);
}
.spt__detail-list > li.thumb-top {
  align-items: flex-end;
}
.spt__detail-list > li.thumb-top .in-head {
  margin-top: min(80px, 12vw);
}
.spt__detail-list > li:nth-child(n+2) {
  margin-top: min(80px, 12vw);
}
.spt__detail-list > li:nth-child(n+2) > div {
  padding-top: min(30px, 4vw);
}
.spt__detail-list > li .in-head h4 {
  font-size: var(--fs-mid24);
  line-height: 1.8;
  font-weight: 600;
  margin-top: min(15px, 3vw);
}
.spt_pickup__intro{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  padding-top: min(75px,15vw);
}
.spt_pickup__intro::before {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: var(--item-clr);
}
.feature-spt_pickup .pick-thumb{
  top: min(50px, 12.5vw);

}
.spt_pickup__intro .comment{
  padding-bottom: min(40px,10vw);
  color: #fff;
}
.spt_pickup__intro .comment .in-title{
  font-size: var(--fs-mid24);
  line-height: calc(40/24);
  font-weight: 600;
  padding-left: min(20px,3vw);
}
.spt_pickup__intro .comment .in-title::before{
  content: "";
  height: 80%;
  width: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  translate:0 -50%;
}
.health-point{
  display: grid;
  grid-template-columns: min(130px,18vw) auto;
  margin-top: min(30px,5vw);
  gap:min(25px,3vw);
  -ms-align-items: center;
  align-items: center;
}
.star-list > li{
  padding-left: 1em;
  line-height: calc(30/18);
  font-size: min(18px,3.5vw);
}
.star-list > li::before{
  content: "★";
  position: absolute;
  top: 0;
  left: 0;
}
.spt_pickup__health{
  margin-top: min(60px,12vw);
}
.spt_pickup__health .in-head{
  background: #e7f1f3;
  padding: min(35px,6vw) min(50px,4vw);
  display: grid;
  grid-template-columns: auto min(265px,30vw);
  -ms-align-items: center;
  align-items: center;
  gap:min(20px,4vw);
}
.spt_pickup__health .in-head .in-title{
  -ms-align-items: flex-start;
  align-items: flex-start;
  gap:8px;
}
.spt_pickup__health .in-head .in-title span{
  font-size: min(26px,calc(100vw/23));
  background: var(--item-clr);
  color: #fff;
  padding: 5px 10px;
  font-weight: 600;
}
.spt_pickup__health .in-head .in-text{
  margin-top: min(20px,3vw);
  width: min(40em,100%);
}
.spt_pickup__health .in-head .thumb img{
  object-fit: cover;
  height: 100%;
  object-position: center;
  border: 1px solid var(--clr-blue);
}
.health-thumb-list{
  margin-top: min(60px,10vw);
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap:min(50px,4vw) min(70px,4vw);
}
.health-thumb-list figcaption{
  line-height: calc(24/16);
  margin-top: min(10px,2vw);
}
.spt_pickup__health .btm-text{
  text-align: center;
  font-weight: 600;
  font-size: var(--fs-mid20);
  margin-top: min(30px,8vw);
  line-height: calc(26/20);

}
/*curriculum ++++++++++++++++++++++++++++++++++++++*/
.page-curric-intro::before {
  content: "";
  width: 40vw;
  aspect-ratio: 1;
  background: url("../images/curriculum/wall_intro.png") no-repeat center /cover;
  position: absolute;
  top: 0;
  left: min(calc(1000px*.62), 62vw);
}
.curric-intro_detail {
  width: 62%;
}
.curric-intro_detail .comment {
  gap: min(40px, 5vw);
}
.curric-intro_detail .comment .ccl-list {
  width: min(27em, 100%);
}
.curric-intro_detail .comment .ccl-list > li:nth-child(n+2) {
  margin-top: min(20px, 4vw);
}
.curric-intro_detail .sub-title {
  font-size: var(--fs-mid24);
  font-weight: 600;
  line-height: calc(42/24);
  letter-spacing: .08em;
}
.curric-intro_thumb {
  margin-top: min(70px, 5vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(40px, 5vw);
}
.page-curric-flow {
  margin-top: min(100px, 10vw);
}
.page-curric-flow .top-text {
  font-size: min(20px, 4vw);
  font-weight: 600;
  line-height: calc(30/20);
  margin-top: min(25px, 5vw);
}
.flow-scr-wrap {
  width: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
  margin-top: min(25px, 5vw);
}
.curric-flow-list {
  min-width: 780px;
  max-width: 100%;
  width: 100%;
}
.curric-flow-list > li {
  display: grid;
  line-height: calc(24/18);
  background: var(--li-wall);
  color: #fff;
}
.curric-flow-list > li:nth-child(n+2) {
  margin-top: 2px;
}
.curric-flow-list > li.li-title {
  grid-template-columns: calc(100% - min(160px, 25vw));
  place-content: flex-end;
}
.curric-flow-list > li.li-item {
  grid-template-columns: min(160px, 25vw) auto;
  font-weight: 600;
  letter-spacing: .05em;
}
.curric-flow-list > li.li-item .full {
  display: grid;
  grid-template-columns: min(550px, 100%);
  place-content: center;
  place-items: center;
}
.curric-flow-list > li.li-item .full, .curric-flow-list > li.li-item .clm > div {
  padding: min(30px, 5vw) min(15px, 2vw);
}
.curric-flow-list > li.li-item .clm > div {
  display: grid;
  place-items: center;
}
.curric-flow-list > li.li-title > div, .curric-flow-list > li.li-item .clm {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.curric-flow-list > li.li-item .in-title {
  display: grid;
  place-content: center;
  font-weight: 600;
  font-size: min(18px, 3.8vw);
}
.curric-flow-list > li.li-title {
  --li-wall: #000;
}
.curric-flow-list > li.li-title p {
  font-size: min(18px, 4vw);
  text-align: center;
  padding: 5px;
}
.curric-flow-list > li.li-title p span {
  font-size: 1.8em;
}
.curric-flow-list > li.w-blue {
  --li-wall: var(--clr-blue);
}
.curric-flow-list > li.w-lblue {
  --li-wall: var(--clr-wblue);
}
.curric-flow-list > li.w-grn {
  --li-wall: #1b9cbd;
}
.curric-flow-list > li.w-lgrn {
  --li-wall: #1bb7bd;
}
.curric-flow-list > li.w-grn .clm > div {
  align-content: flex-start;
}
.curric-flow-list > li.li-item p.wid {
  font-size: min(1.375em, calc(100vw/22));
}
.curric-flow-list > li.li-item .rect-list {
  font-weight: 400;
  margin-top: 1em;
}
.curric-flow-list > li.li-title > div > p:last-child::before, .curric-flow-list > li.li-item .clm > div:last-child::before {
  content: "";
  width: min(24px, 10vw);
  background: url("../images/icon/arrow.svg") no-repeat center/cover;
  aspect-ratio: 1/0.6608;
  position: absolute;
  top: 50%;
  left: 0;
  translate: -50% -50%;
  opacity: .6;
}
.page-curric-flow .btn-wrap {
  margin-top: min(40px, 8vw);
}

/* teacher ++++++++++++++++++++++++++++++++++++++++*/
.page-teacher-blc{
  gap:min(50px,6vw);
}
.page-teacher-blc .top-text{
  line-height: 2;
  font-size: min(24px,4.5vw);
  font-weight: 600;
  letter-spacing: .05em;
}
.page-teacher-box{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap:min(80px,12vw) min(60px,4vw);
}
.teachers-item .comment{
  margin-top: min(20px,4vw);
}
.teachers-item .comment .in-title{
  gap:min(15px,3vw);
  font-weight: 600;
}
.teachers-item .comment .in-title .name{
  margin-left: auto;
}
.teachers-item .title{
  padding-left:min(15px,3vw);
  border-left: 5px solid var(--clr-blue);
  line-height: calc(30/22);
  font-size: min(20px,4vw);
}
.teachers-item .text-box{
  margin-top: min(20px,4vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap:min(20px,4vw);
}
.js-more-text p{
  width: 100%;
  max-height:4.7em;
  overflow: hidden;
  transition:max-height var(--transit);
  line-height: calc(24/16);
}
.js-more-btn{
  width: min(210px,100%);
  height: 45px;
  background: var(--clr-blue);
  color: #fff;
  font-size: 1em;
  font-weight: 600;
  position: relative;
}
.js-more-btn::before{
  content: "";
  width: 2em;
  height: 1px;
  background: #fff;
  position: absolute;
  right: 0;
  top: 50%;
  translate:0 -50%;
}

/*career ++++++++++++++++++++++++++++++++++++++*/
.career-contents{
  background: url("../images/wall/career.png") no-repeat bottom center/100%;
  padding-bottom: min(150px, 15vw);
}
.career-quals-box{
  padding-left: min(100px,5vw);
  padding-top: min(150px,15vw);
  padding-bottom: min(80px,10vw);
}
.career-quals-box::before{
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid;
  border-color: var(--clr-blue) transparent var(--clr-blue)  var(--clr-blue);
}
.page-quals-item:nth-child(n+2){
  margin-top: min(120px,15vw);
}

.page-quals-item .thumb{
  position: absolute;
  top: 0;
  left: 60%;
  width: min(600px,40vw);
}
.page-quals-item:nth-child(1) .thumb{
  translate:0 -15%;
}
.page-quals-item .comment{
  width: min(525px,60%);
}
.page-quals-item .comment > * + *{
  margin-top: min(40px,5vw);
}
.page-quals-item .comment .dot-title{
  padding-left: 1em;
  font-size: min(26px,calc(100vw/22));
  font-weight: 600;
  letter-spacing: .05em;
  text-indent: .05em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.page-quals-item .comment .dot-title::before{
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
color: var(--clr-blue);
}
.career-title{
  font-size: min(20px,calc(100vw/25));
  color: var(--clr-blue);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  gap:10px;
  -ms-align-items: flex-end;
  align-items: flex-end;
}
.career-title span.ja{
  font-size: min(3em,calc(100vw/15));
  font-weight: 600;
  letter-spacing: .1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.page-career_detail{
  margin-top: min(50px,12vw);
}
.page-career_detail > div{
  background: var(--wall-gry);
  border-radius: 10px;
  padding: min(30px,4vw) min(40px,3vw);
  line-height: calc(24/16);
}
.page-career_detail.clm{
  display: grid;
  grid-template-columns: auto auto;
  gap:min(25px,4vw);
}
.page-career_detail dt{
  font-size: min(24px,4vw);
  color: var(--clr-blue);
  letter-spacing: .05em;
  font-weight: 600;
   -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.page-career_detail dt span{
  display: block;
  font-size: min(.6em,3.6vw);
}
.page-career_detail dd{
  margin-top: min(20px,4vw);
}
.page-career_detail dd .att-list {
  margin-top: 10px;
}
.page-career_detail dd .att-list >li{
  line-height: calc(20/16);
}
.page-career_detail dd .dot-list{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap:0 min(10px,4vw);
}

.career-emp-box{
  margin-top: min(130px,12vw);
}
.career-emp_head{
  padding-top: min(90px,8vw);
  padding-bottom: min(130px,8vw);
}
.career-emp_head::before{
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  background: var(--clr-blue);
}
.career-emp_head .thumb{
/*  width: min(600px,40vw);*/
  width: 40vw;
  max-height: 120%;
  overflow: hidden;
  position: absolute;
  left: min(calc(((100vw - 1000px)/2)*-1),-4vw);
  top: 50%;
  translate:0 -50%;
}
.career-emp_head .thumb img{
  object-fit: cover;
  height: 100%;
  object-position: center;
}
.career-emp_head .comment{
  margin-left: auto;
  width: min(640px,58%);
  color: #fff;
  padding-right: min(50px, 4vw);
}
.career-emp_head .comment > * + *{
  margin-top: min(40px, 5vw);
}
.career-emp_head .career-title{
  color: #fff;
}
.career-emp_head .sub-title{
  font-size: min(28px, calc(100vw / 22));
  font-weight: 600;
  line-height: calc(40/28);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.career-emp_head .comment .more-text{
  position: absolute;
  right: max(-50px,-4vw);
  top:  100%;
  background: #f7f02d;
  color: #000;
  width: 16em;
  aspect-ratio:1;
  border-radius: 100vmax;
  overflow: hidden;
  display: grid;
  place-content:center;
  place-items:center;
  grid-template-columns: 11em;
  translate:0 -15%;
  margin-top: 0;
  line-height: calc(24/16);
}
.career-emp_head .comment .more-text p{
  translate:0 -1em;
  letter-spacing: .05em;
}
.career-emp_head .comment .more-text p span{
  text-align: center;
  display: block;
  font-size: min(1.5em,4vw);
  font-weight: 600;
  margin-bottom: .25em;
}
.page-career-voice{
  margin-top: min(200px,15vw);
  display: grid;
  grid-template-columns: auto auto;
  -ms-align-items: center;
  align-items: center;
}
.page-career-voice .title-area{
  font-weight: 600;
  line-height: calc(60/40);

}
.page-career-voice .in-title{
  font-size: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);/*20-40*/
  color: var(--clr-blue);
  white-space: nowrap;
}
.page-career-voice .sub{
  font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);/*16-24*/
}
/*facilities ++++++++++++++++++++++++++++++++++++++*/
.page-fac_intro {
  font-family: var(--fnt-gosic);
  gap: min(50px, 12vw);
}
.fac_intro_tag {
  background: var(--wall-gry);
  border-radius: 100vmax;
  font-size: min(22px, calc(100vw/24));
  font-weight: 600;
  padding: min(15px, 3vw) 2em;
}
.page-fac_intro .comment {
  gap: min(20px, 7vw);
}
.page-fac_intro .in-title {
  font-size: min(26px, calc(100vw/20));
  font-weight: 600;
  line-height: calc(45/26);
}
.page-fac_intro .in-text {
  font-size: min(18px, 3.8vw);
  text-align: center;
}
.page-fac_point {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(18px, 3vw);
  margin-top: min(60px, 14vw);
}
.page-fac_point > li {
  background: var(--wall-wblue);
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 10px 10px min(15px, 4vw);
  font-size: min(20px, 4vw);
  gap: min(15px, 4vw);
}
.page-fac_point > li .point {
  width: 100%;
  display: grid;
  grid-template-columns: min(10.5em, 100%);
  justify-content: center;
}
.page-fac_point > li .point span {
  display: grid;
  height: min(27px, 10vw);
  place-content: center;
  background: #fff;
  color: var(--clr-blue);
  letter-spacing: .08em;
  font-style: italic;
  border-radius: 100vmax;
  font-weight: 500;
}
.page-fac_point > li .comment {
  display: grid;
  align-items: center;
}
.page-fac_point > li .comment p {
  text-align: center;
  color: #fff;
  font-weight: 600;
  line-height: calc(25/18);
}
.page-fac_thumb {
  margin-top: min(70px, 14vw);
  gap: min(45px, 8vw);
}
.page-fac_thumb .in-title {
  font-size: min(30px, calc(100vw/20));
  font-weight: 600;
}
.fac_thumb_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(18px, 3vw);
}
.page-fac_dorm {
  margin-top: min(70px, 14vw);
  gap: min(45px, 8vw);
}
.page-fac_thumb .in-title {
  font-size: min(30px, calc(100vw/20));
  font-weight: 600;
}
.fac_thumb_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(18px, 3vw);
}
/*0209追加*/
.page-fac_dorm {
  margin-top: min(70px, 14vw);
  gap: min(45px, 8vw);
}
.page-fac_dorm .in-title {
  font-size: min(30px, calc(100vw/20));
  font-weight: 600;
}
.fac_dorm_blc {
  width: 80%;
  background: var(--wall-gry);
}
.fac_dorm_blc .in-title {
  font-size: min(30px, calc(100vw/20));
  font-weight: 600;
  color: var(--clr-blue);
  text-align: center;
  padding: 1em;
}
.fac_dorm_list {
  padding: 0 80px;
}
.fac_dorm_list li{
  display: flex;
  margin-bottom: 40px;
}
.fac_dorm_list li:nth-child(even) {
  display: flex;
  flex-direction:row-reverse;
}
.fac_dorm_list li img {
  width: 45%;
}
.fac_dorm_list li dl {
  padding: 40px 20px;
}
.fac_dorm_list li dl dt {
  font-size: min(24px, calc(100vw/24));
  font-weight: 600;
  padding-bottom: .5em;
}
.page-fac_dorm .rect-btn a {
  background: var(--clr-blue);
}
.page-fac_dorm .rect-btn.more {
    width: min(450px, 100%);
    height: min(60px, 12vw);
}
/*access ++++++++++++++++++++++++++++++++++++++*/
.page-access-map {
  gap: min(60px, 10vw);
}
.access-map__route .in-title {
  position: absolute;
  font-size: min(26px, calc(100vw/22));
  top: 0;
  left: 0;
  letter-spacing: .08em;
  text-indent: .08em;
  line-height: calc(40/26);
  font-weight: 600;
}
.access-map__route {
  width: 100%;
}
.access-map__route .thumb {
  padding-top: min(50px, 5vw);
}
.access-map__train {
  width: min(765px, 100%);
}
.access-map__train .thumb {
  width: 100%;
  margin-top: min(30px, 5vw);
}
.access-map__train .in-title, .page-access-area .in-title {
  text-align: center;
  font-weight: 700;
  font-size: var(--fs-mid24);
}
.page-access-area {
  margin-top: min(90px, 15vw);
}
.access-area__detail {
  margin-top: min(30px, 5vw);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(60px, 5vw) min(50px, 4vw);
}
.access-area__detail .thumb {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1/0.75;
}
.access-area__detail .thumb img {
  object-fit: cover;
  height: 100%;
  object-position: center;
}
.access-area__detail .data {
  margin-top: min(20px, 4vw);
  letter-spacing: .08em;
  text-indent: .08em;
}
.access-area__detail .data dt {
  font-size: min(20px, calc(100vw/25));
  font-weight: 600;
}
.access-area__detail .data dd {
  line-height: calc(27/16);
  margin-top: min(15px, 3vw);
}
/*contact
========================================*/
.page-contact-intro {
  gap: min(20px, 5vw);
  line-height: calc(26/16);
  font-size: min(14px, 3.6vw);
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.page-contact-intro a {
  margin-left: auto;
  display: block;
  padding-right: 1.5em;
  font-size: min(14px, 3.6vw);
  font-weight: 600;
}
.page-contact-intro a::before, .page-contact-intro a::after {
  content: "";
  width: 5px;
  aspect-ratio: 1/1;
  border: 1.5px solid;
  border-color: var(--clr-blk) var(--clr-blk) transparent transparent;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
}
.page-contact-intro a::before {
  translate: -50% -50%;
}
.form-wrap {
  width: min(780px, 100%);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: min(60px, 8vw);
  /*  margin-top: min(60px, 10vw);*/
}
.form-list input[type="text"], .form-list input[type="email"], .form-list input[type="tel"], .form-list textarea {
  padding: 10px 15px;
  border: 1px solid rgba(0, 0, 0, .15);
}
.form-list textarea {
  width: 100%;
  min-height: min(200px, 35vw);
}
.form-list input.inp-zip {
  width: min(10em, 100%);
}
.form-list > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.form-list > div:not(:first-child) {
  margin-top: min(20px, 5vw);
}
.form-list dt {
  width: 12em;
  padding-top: 10px;
  padding-bottom: 10px;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.form-list dt p.must {
  padding-left: 2.25em;
}
.form-list dt p.must::before {
  content: "必須";
  font-size: min(10px, 3vw);
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  padding: 2px 4px;
  background: #CD3F41;
  color: #fff;
  border-radius: 2px;
}
.form-list dd {
  width: calc(100% - 12em);
  font-size: 16px;
}
/*radio*/
.form-list dd.radio {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: min(15px, 5vw) 1em;
  padding-top: 10px;
}
.radio-wrap {
  cursor: pointer;
}
.radio-wrap span {
  display: block;
  padding-left: 1.25em;
}
.radio-wrap span::before, .radio-wrap span::after {
  content: "";
  width: .85em;
  aspect-ratio: 1/1;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  border-radius: 100vmax;
}
.radio-wrap span::before {
  border: 1px solid rgba(0, 0, 0, .15);
  background: #fff;
}
.radio-wrap span::after {
  width: calc(.85em - 4px);
  background: var(--clr-blue);
  left: 3px;
  opacity: 0;
}
.radio-wrap input:checked + span::after {
  opacity: 1;
}
.form-hide-item {
  width: 100%;
  padding: 10px;
}
.form-hide-item.is-hide {
  display: none;
}
.form-hide-item input {
  background: #fff;
}
.hide-select-in > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.hide-select-in > div:not(:first-child) {
  margin-top: 10px;
}
.hide-select-in .label {
  width: 6em;
  padding-top: 10px;
  padding-bottom: 10px;
}
.hide-select-in .input {
  width: calc(100% - 6em);
}
.form-btn-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: min(15px, 5vw);
}
.send-rect-btn {
  width: min(250px, 100%);
}
.send-rect-btn input {
  width: 100%;
  height: 44px;
  color: #fff;
  letter-spacing: .05em;
  text-indent: .05em;
  font-weight: 600;
  background: var(--clr-blue);
}
.send-rect-btn input:disabled {
  opacity: .5;
  pointer-events: none;
}
.send-rect-btn::after {
  content: "";
  width: 1.5em;
  height: 1.5px;
  background: linear-gradient(90deg, #fff 50%, #fff 50%);
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  transition: all .3s ease;
}
@media (hover) {
  .send-rect-btn:not(.disabled):hover::after {
    background: linear-gradient(90deg, #fff 50%, var(--clr-blue) 50%);
    translate: 50% -50%;
  }
}
.form-btn-wrap .check-wrap {
  font-size: min(14px, 3.6vw);
}
/*select*/
.select-wrap {
  background: #fff;
}
.select-sc-type {
  width: min(250px, 100%);
}
.select-wrap select {
  width: 100%;
  font-size: 16px;
  padding: 10px 15px;
  border: 1px solid rgba(0, 0, 0, .15);
}
.select-wrap::after {
  content: "";
  width: 5px;
  aspect-ratio: 1/1;
  border: 1px solid;
  border-color: transparent var(--clr-blue) var(--clr-blue) transparent;
  position: absolute;
  right: 10px;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
}
.sc-year-input .input {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  gap: 10px;
}
.sc-year-input .input input {
  width: 6em;
}
.sc-year-input .input span {
  font-size: min(14px, 3.4vw);
}
.hide-compa-select .select-wrap {
  width: 6em;
}
/*check*/
.check-wrap {
  cursor: pointer;
}
.check-wrap span {
  display: block;
  padding-left: 1.25em;
}
.check-wrap span::before, .check-wrap span::after {
  content: "";
  position: absolute;
  top: 50%;
}
.check-wrap span::before {
  width: .85em;
  aspect-ratio: 1/1;
  border: 1px solid var(--clr-blk);
  background: #fff;
  left: 0;
  translate: 0 -50%;
}
.check-wrap span::after {
  border-right: 2px solid var(--clr-blue);
  border-bottom: 2px solid var(--clr-blue);
  content: '';
  display: block;
  height: .5em;
  aspect-ratio: 1/1.75;
  transform: rotate(45deg);
  left: 0;
  translate: 60% -65%;
  opacity: 0;
}
.check-wrap input:checked + span::after {
  opacity: 1;
}
/*form conf*/
.conf-form dd p {
  padding-top: 10px;
  padding-bottom: 10px;
  min-height: 40px;
}
.conf-form dd.radio {
  padding-top: 0;
}
.conf-form > div:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, .15);
}
.back-form-btn {
  width: auto;
  padding-left: 1em;
  position: relative;
}
.back-form-btn::before, .back-form-btn::after {
  content: "";
  width: 5px;
  aspect-ratio: 1/1;
  border: 1px solid;
  border-color: var(--clr-blue) transparent transparent var(--clr-blue);
  position: absolute;
  left: 0;
  top: calc(50% - 1.5px);
  translate: 0 -50%;
  rotate: -45deg;
}
.back-form-btn::after {
  translate: 50% -50%;
}
.wpcf7-spinner{
  display: none!important;
}
/*alert*/
.custom-dialog {
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.custom-dialog .ui-widget-header {
  background: var(--wall-gry);
}
.custom-dialog .ui-button .ui-icon {
  background-image: none;
}
.custom-dialog .ui-button .ui-icon::before, .custom-dialog .ui-button .ui-icon::after {
  content: "";
  width: 50%;
  height: 2px;
  background: var(--clr-blk);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.custom-dialog .ui-button .ui-icon::before {
  rotate: 45deg;
}
.custom-dialog .ui-button .ui-icon::after {
  rotate: -45deg;
}
.custom-dialog .ui-state-hover .ui-icon, .custom-dialog .ui-state-focus .ui-icon, .custom-dialog .ui-button:hover .ui-icon, .custom-dialog .ui-button:focus .ui-icon {
  background: none;
}
.custom-dialog.ui-dialog .ui-dialog-title {
  font-size: min(14px, 3.6vw);
}
.custom-dialog.ui-dialog .ui-dialog-content {
  font-size: min(13px, 3.6vw);
  line-height: calc(24/14);
  padding: min(15px, 3vw);
}
.custom-dialog.ui-dialog .ui-dialog-buttonpane button {
  font-size: min(14px, 3.6vw);
}
/*legal*/
.form-legal-box {
/*  padding: min(24px, 5vw) min(15px, 4vw);*/
  /*  border:1px solid rgba(0,0,0,.1);*/
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: min(15px, 5vw);
  background: var(--wall-base);
}
.form-legal-box .in-title {
  font-weight: 600;
}
.legal-wrap {
  font-size: min(14px, 3.4vw);
  line-height: calc(24/14);
  height: 10em;
  overflow-y: scroll;
/*  padding-right: 10px;*/
  padding: 10px 25px 10px 10px;
  border:1px solid rgba(0,0,0,.1);
}
.legal-list {
  margin-top: 1em;
}
.legal-list > div:not(:first-child) {
  margin-top: 1em;
}
.legal-list dd > * + * {
  margin-top: .5em;
}
/*thanks*/
.thanks-contents {
  padding-top: 0;
}
.page-thanks-box {
  width: min(768px, 100%);
  padding: min(50px, 8vw) min(55px, 5vw);
  background: rgba(255, 255, 255, 1);
  margin-top: -20px;
  z-index: 10;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: min(40px, 5vw);
}
.page-thanks-box .box-title {
  font-size: var(--fs-mid20);
  letter-spacing: .05em;
  text-indent: .05em;
  font-weight: 600;
}
/*event archive ++++++++++++++++++++++++++++++++++++++++++++*/
.event-archive-blc {}
.event-term-section:nth-child(n+2){
  margin-top: min(60px,12vw);
}
.event-term-section.evt_mechanic{
  --title-clr:var(--clr-blue);
}
.event-term-section.evt_online{
  --title-clr:var(--clr-pink);
}
.event-term-section.evt_dept{
   --title-clr:var(--clr-l-grn);
}
.event-term-section.evt_sp{
  --title-clr:var(--clr-ylw);
}
.event-term-head{
  -ms-align-items: flex-end;
  align-items: flex-end;
  justify-content: flex-start;
  gap:10px;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.event-term-head a{
  color: var(--clr-blue);
  text-decoration: underline;
  padding-left: 1em;
  text-underline-offset: 2px;
}
.event-term-head a::before
,.event-term-head a::after{
  content: "";
  width: 5px;
  aspect-ratio:1;
  border: 1px solid;
  border-color: currentColor currentColor transparent transparent;
  position: absolute;
  left: 0;
  top: 50%;
  translate:0 -50%;
  rotate:45deg;
}
.event-term-head a::after{
  translate:50% -50%;
}
.event-term-head .rect-title{
  font-size: min(28px,calc(100vw/20));
  background: var(--title-clr);
  color: #fff;
  padding: 10px 15px;
}
.event-term-section .table-wrap{
  margin-top: min(15px,3vw);
  white-space: nowrap;
  overflow-x: scroll;
  padding-bottom: 10px;
}
.event-table{
  width: 100%;
  min-width: 600px;
  table-layout: fixed;
  line-height: 1.4;
}
.event-table th,
.event-table td{
  border: 1px solid #bababa;
  text-align: center;
  padding: min(15px,4vw) min(20px,4vw);
  vertical-align: middle;
}
.event-table thead th{
  background: var(--wall-gry);
}
.event-term-section .btn-wrap{
  margin-top: min(25px,5vw);
}
/*news +++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#l-side {
  display: grid;
  grid-template-columns: 1fr;
  gap: min(40px, 8vw);
  align-content: flex-start;
}
.clm_contents {
  width: min(1200px, 100%);
  padding-left: min(50px, 4vw);
  padding-right: min(50px, 4vw);
  display: grid;
  grid-template-columns: auto min(300px, 30vw);
  gap: min(60px, 12vw) min(90px, 5vw);
  margin-left: auto;
  margin-right: auto;
}
.acv-news-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(60px, 8vw) min(60px, 5vw);
}
/*sidebar*/
.side-item.acv-year {
  margin-top: min(40px, 5vw);
}
.side-title {
  background: var(--wall-wblue);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 8px;
}
.side-title + * {
  margin-top: min(20px, 5vw);
}
.side-acv-item:nth-child(n+2) {
  margin-top: min(15px, 3vw);
}
.side-acv-item {
  display: grid;
  gap: min(10px, 2vw);
  grid-template-columns: min(100px, calc(100%/3)) auto;
}
.side-acv-item .thumb {
  aspect-ratio: 1;
  overflow: hidden;
}
.side-acv-item .data {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
}
.side-acv-item .data .post-title {
  line-height: calc(20/16);
  font-size: min(14px, 3.4vw);
}
.side-acv-item .data .tag {
  margin-top: auto;
  font-size: min(12px, 3.2vw);
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  font-weight: 600;
}
.side-acv-item .data .tag time {
  color: var(--clr-blue);
}
.side-acv-item .thumb img {
  object-fit: cover;
  height: 100%;
  object-position: center;
}
.side-item ul > li:nth-child(n+2) {
  margin-top: min(20px, 3vw);
}
.side-item ul > li a {
  display: block;
  font-weight: 600;
}
/*pager*/
.acv-pager, .single-pager {
  margin-top: min(70px, 14vw);
}
.wp-pagenavi {
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.wp-pagenavi > * {
  width: min(40px, 8vw);
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  color: var(--clr-wblue);
  border: 1px solid var(--wall-wblue);
}
.wp-pagenavi .current {
  color: #fff;
  background: var(--wall-wblue);
}
.wp-pagenavi .nextpostslink::before, .wp-pagenavi .previouspostslink::before, .wp-pagenavi .nextpostslink::after, .wp-pagenavi .previouspostslink::after {
  content: "";
  width: 5px;
  aspect-ratio: 1;
  border: 1px solid;
  border-color: var(--wall-wblue) var(--wall-wblue) transparent transparent;
  rotate: 45deg;
  position: absolute;
  translate: -50% -50%;
  top: 50%;
  left: 50%;
}
.wp-pagenavi .nextpostslink::after, .wp-pagenavi .previouspostslink::after {
  translate: -100% -50%;
}
.wp-pagenavi .previouspostslink::before, .wp-pagenavi .previouspostslink::after {
  scale: -1 -1;
  left: calc(50% + 2.5px);
}
/*news single*/
.post-entry-blc {}
.post-entry-head .post-title {
  font-size: min(30px, calc(100vw/20));
  line-height: calc(40/30);
}
.post-entry-head .data {
  gap: 10px;
  margin-top: min(20px, 5vw);
  font-size: min(14px, 3.4vw);
}
.post-entry-head .data .date {
  color: var(--clr-blue);
}
.post-entry-head .data .category {
  gap: .5em;
}
.entry-body {
  margin-top: min(40px, 8vw);
  line-height: calc(24/16);
}
.entry-body > * + * {
  margin-top: 1.5em;
}
.entry-body img {
  width: auto;
  height: auto;
}
.entry-body a {
  text-decoration: underline;
  color: var(--clr-blue);
  text-underline-offset: 2px;
}
.single-pager {
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(3, min(100px, calc(100%/3.5)));
  gap: 10px;
  justify-content: center;
}
.single-pager a {
  height: min(45px, 12vw);
  display: grid;
  place-content: center;
  border: 1px solid var(--wall-wblue);
  color: var(--clr-wblue);
}
.single-pager a.back {
  color: #fff;
  background: var(--wall-wblue);
}
.single-pager a.blank {
  pointer-events: none;
  color: #999;
  border-color: currentColor;
  opacity: .35;
}
/*404 ++++++++++++++++++++++++++++++++++++++++++++++*/
.page-notfound_detail {
  width: min(1210px, 100%);
  background: url("../images/wall/key-loop.png") no-repeat center/cover;
  display: grid;
  place-content: center;
  place-items: center;
  gap: min(50px, 10vw);
  padding-top: min(80px, 10vw);
  padding-bottom: min(80px, 10vw);
}
.notfound-title {
  font-weight: 700;
  font-style: italic;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: min(80px, calc(100vw/7));
  letter-spacing: -.05em;
  padding-bottom: min(15px, 4vw);
  border-bottom: 10px solid #fff;
  filter: drop-shadow(4px 4px 0 #35c5f4);
}
.page-notfound_detail .top-text {
  font-size: min(20px, 3.7vw);
  font-weight: 600;
  line-height: calc(30/20);
}