#solution .contents .btns .btn a {
  text-decoration: none;
  transition: all 0.5s ease-out;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
  width: min(557px, 100%);
  min-height: 93px;
  border-radius: 46.5px/50%;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-weight: 100;
  font-size: 38px;
  line-height: 1.6;
  color: #29a7de;
  background-color: #fff;
  padding: 10px;
}
#solution .contents .btns .btn a:hover {
  opacity: 0.6;
}
#solution .contents .btns .btn a::after {
  content: "";
  width: 31px;
  aspect-ratio: 31/37;
  background: url(../images/arow2.webp) no-repeat center/cover;
}
@media (max-width: 999px) {
  #solution .contents .btns .btn a {
    width: min(400px, 100%);
    min-height: 80px;
    font-size: 24px;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
@media (max-width: 767px) {
  #solution .contents .btns .btn a {
    width: min(280px, 100%);
    min-height: 70px;
    font-size: 20px;
  }
  #solution .contents .btns .btn a::after {
    width: 24px;
  }
}

#contact .head .line-btn a, #solution .line-btn a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.5s ease-out;
  width: min(642px, 100%);
  min-height: 146px;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-weight: 100;
  font-size: 47.96px;
  line-height: 1.6;
  color: #fff;
  background-color: #06c755;
  border-radius: 30px;
  -moz-column-gap: 26px;
       column-gap: 26px;
  padding: 10px 36px 10px 10px;
}
#contact .head .line-btn a:hover, #solution .line-btn a:hover {
  opacity: 0.6;
}
#contact .head .line-btn a::before, #solution .line-btn a::before {
  content: "";
  width: 103px;
  aspect-ratio: 103/98;
  background: url(../images/line-icon.webp) no-repeat center/cover;
}
@media (max-width: 999px) {
  #contact .head .line-btn a, #solution .line-btn a {
    width: min(450px, 100%);
    min-height: 120px;
    font-size: 40px;
    -moz-column-gap: 10px;
         column-gap: 10px;
    padding-right: 10px;
  }
  #contact .head .line-btn a::before, #solution .line-btn a::before {
    width: 80px;
  }
}
@media (max-width: 767px) {
  #contact .head .line-btn a, #solution .line-btn a {
    width: min(300px, 100%);
    min-height: 100px;
    font-size: 30px;
  }
  #contact .head .line-btn a::before, #solution .line-btn a::before {
    width: 60px;
  }
}

#teacher h2, #tuition h2 {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 55px;
  line-height: 1;
  color: #1a687f;
  display: flex;
  align-items: start;
  text-align: center;
  -moz-column-gap: 57px;
       column-gap: 57px;
}
#teacher h2 small, #tuition h2 small {
  display: block;
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  font-size: 30.34px;
  line-height: 1;
  color: #fff;
  background: url(../images/about-shape1.png) repeat-x center right 0;
  height: 69px;
  align-content: center;
  position: relative;
  width: 530px;
  max-width: calc(100% - 20px);
  padding: 0 10px;
  margin: 36px 57px 0 0;
}
#teacher h2 small::before, #tuition h2 small::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(min(56.7010309278%, 57px), 25%);
  height: 92.7536231884%;
  aspect-ratio: 97/64;
  background: url(../images/about-shape2.png) no-repeat center/cover;
  z-index: -1;
}
#teacher h2 small::after, #tuition h2 small::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 3px;
  height: 90%;
  background-color: #fff;
}
#teacher h2 .tx, #tuition h2 .tx {
  padding-bottom: 37px;
  max-width: calc(100% - 114px);
}
#teacher h2 .bd, #tuition h2 .bd {
  height: 100%;
  flex: 1;
}
#teacher h2 .b1, #tuition h2 .b1 {
  background: url(../images/head-icon-about1.webp) repeat top 0 right 0;
}
#teacher h2 .b2, #tuition h2 .b2 {
  background: url(../images/head-icon-about2.webp) repeat top 0 left 0;
}
@media (max-width: 999px) {
  #teacher h2, #tuition h2 {
    font-size: 40px;
  }
  #teacher h2 small, #tuition h2 small {
    font-size: 24px;
    width: 400px;
    margin-right: 0;
  }
  #teacher h2 .tx, #tuition h2 .tx {
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  #teacher h2, #tuition h2 {
    font-size: 30px;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  #teacher h2 .tx, #tuition h2 .tx {
    max-width: calc(100% - 80px);
  }
  #teacher h2 small, #tuition h2 small {
    font-size: 20px;
    width: 280px;
    margin-top: 25px;
  }
  #teacher h2 small::before, #tuition h2 small::before {
    transform: translate(min(56.7010309278%, 40px), 25%);
  }
}

#selecter .map .HTMLBlock {
  height: 100%;
}

/* ----------------------------------------------
mainimg
------------------------------------------------- */
#mainimg {
  position: relative;
  margin-bottom: 13px;
}
#mainimg #mainslider img, #mainimg #mainslider video {
  display: block;
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}
#mainimg #mainslider:has(video) img {
  display: none;
}
#mainimg .catch {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: start;
  padding-bottom: 24px;
  width: 100%;
  padding-right: 10px;
}
#mainimg .catch .top {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 87.77px;
  line-height: 1.1393414606;
  color: #fff;
  background-color: #29a7de;
  padding: 30px 31px 42px;
  margin: 0 0 35px 38px;
  border-radius: 35px;
}
#mainimg .catch .bottom {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 47px;
  line-height: 1.4255319149;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5), 0 0 8px rgba(0, 0, 0, 0.5), 0 0 8px rgba(0, 0, 0, 0.5);
  margin: 0 0 25px 60px;
}
#mainimg .catch .case {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  width: 100%;
}
#mainimg .catch .case .title {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 50px;
  line-height: 1.16;
  color: #fff;
  background-color: #603813;
  min-height: 140px;
  padding: 10px;
  min-width: min(20%, 318px);
  text-align: center;
  align-content: center;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
#mainimg .catch .case ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex: 1;
}
#mainimg .catch .case ul li {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 73.93px;
  line-height: 1;
  color: #fff;
  background-color: #c2986d;
  border-radius: 10px;
  min-width: min(20.0475435816%, 253px);
  padding: 10px;
  min-height: 140px;
  text-align: center;
  align-content: center;
}
#mainimg .catch .case ul li small {
  display: block;
  font-size: 32px;
}
#mainimg .catch .case ul li span {
  font-size: 32px;
}
@media (max-width: 999px) {
  #mainimg #mainslider img, #mainimg #mainslider video {
    height: auto;
  }
  #mainimg .catch .top {
    font-size: 70px;
    padding: 20px;
    margin: 0 0 20px 10px;
  }
  #mainimg .catch .bottom {
    font-size: 40px;
    margin: 0 0 15px 10px;
  }
  #mainimg .catch .case .title {
    font-size: 40px;
    min-height: 120px;
  }
  #mainimg .catch .case ul li {
    font-size: 60px;
    min-height: 120px;
  }
  #mainimg .catch .case ul li small {
    font-size: 24px;
  }
  #mainimg .catch .case ul li span {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  #mainimg .catch .top {
    font-size: 50px;
    padding: 15px;
    margin: 0 0 10px 10px;
  }
  #mainimg .catch .bottom {
    font-size: 30px;
    margin: 0 0 10px 10px;
  }
  #mainimg .catch .case {
    flex-direction: column;
    row-gap: 10px;
    padding-left: 10px;
  }
  #mainimg .catch .case .title {
    font-size: 30px;
    min-height: 100px;
    border-radius: 10px;
  }
  #mainimg .catch .case ul li {
    font-size: 40px;
    min-height: 100px;
  }
  #mainimg .catch .case ul li small {
    font-size: 20px;
  }
  #mainimg .catch .case ul li span {
    font-size: 20px;
  }
}
@media (max-width: 500px) {
  #mainimg .catch .top {
    font-size: 34px;
  }
  #mainimg .catch .bottom {
    font-size: 19px;
  }
  #mainimg .catch .case .title {
    font-size: 24px;
    min-height: 80px;
  }
  #mainimg .catch .case ul li {
    font-size: 30px;
    min-height: 80px;
  }
  #mainimg .catch .case ul li small {
    font-size: 18px;
  }
  #mainimg .catch .case ul li span {
    font-size: 18px;
  }
}

/* ----------------------------------------------
study
------------------------------------------------- */
#study {
  background: url(../images/study-bg.webp) no-repeat bottom center/cover;
  padding: 78px 0 min(26.5625vw, 425px);
}
#study .contents {
  display: flex;
  padding: 0 10px 0 9.25%;
  -moz-column-gap: 13.1761442441%;
       column-gap: 13.1761442441%;
}
#study .contents h2 {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: min(13.728125vw, 219.65px);
  line-height: 1;
  color: #534741;
}
#study .contents h2 small {
  display: block;
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  font-size: min(3.62875vw, 58.06px);
  line-height: 1.6;
  color: #c2986d;
  margin-top: 10px;
}
#study .contents .txbox {
  flex: 1;
  margin-top: 7px;
}
#study .contents .txbox .heading {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: min(2.9375vw, 47px);
  line-height: 1.6;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5), 0 0 8px rgba(0, 0, 0, 0.5), 0 0 8px rgba(0, 0, 0, 0.5);
  margin-bottom: 12px;
}
#study .contents .txbox .text {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: min(1.6875vw, 27px);
  line-height: 1.9259259259;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.75), 0 0 8px rgba(0, 0, 0, 0.75), 0 0 8px rgba(0, 0, 0, 0.75);
}
@media (max-width: 999px) {
  #study {
    padding-top: 60px;
  }
  #study .contents {
    padding: 0 10px;
  }
  #study .contents .txbox {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  #study {
    padding-top: 40px;
  }
  #study .contents {
    flex-direction: column;
    align-items: center;
    row-gap: 30px;
  }
  #study .contents h2 {
    font-size: 80px;
  }
  #study .contents h2 small {
    font-size: 24px;
  }
  #study .contents .txbox .heading {
    font-size: 20px;
  }
  #study .contents .txbox .text {
    font-size: 14px;
  }
  #study .contents .txbox .text br {
    display: none;
  }
}

/* ----------------------------------------------
news
------------------------------------------------- */
@keyframes kiran {
  0% {
    transform: scale(2) rotate(45deg);
    opacity: 0;
  }
  20% {
    transform: scale(20) rotate(45deg);
    opacity: 0.4;
  }
  40% {
    transform: scale(30) rotate(45deg);
    opacity: 0.6;
  }
  80% {
    transform: scale(45) rotate(45deg);
    opacity: 0.4;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
#news {
  background: url(../images/news-bg.webp) repeat;
  padding: 77px 0 88px;
}
#news:not(:has(article)) {
  display: none;
}
#news h2 {
  display: flex;
  align-items: center;
  -moz-column-gap: 2.5%;
       column-gap: 2.5%;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 47px;
  line-height: 1;
  color: #1a687f;
  margin-bottom: 33px;
}
#news h2 .bd {
  height: 100%;
  flex: 1;
}
#news h2 .b1 {
  background: url(../images/head-icon-news1.webp) repeat top 0 right 0;
}
#news h2 .b2 {
  background: url(../images/head-icon-news2.webp) repeat top 0 left 0;
}
#news h2 .tx {
  margin-bottom: 14px;
}
#news:has(.inner.on) {
  cursor: none;
  position: relative;
  overflow: hidden;
}
#news .shape {
  position: absolute;
  /* img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  } */
  background-repeat: no-repeat;
  background-size: cover;
}
#news .shape.s1 {
  width: 2.0625%;
  aspect-ratio: 33/32;
  background-image: url(../images/news-shape1.png);
  top: 4.4345898004%;
  left: 3.3125%;
}
#news .shape.s2 {
  width: 7.4375%;
  aspect-ratio: 119/138;
  background-image: url(../images/news-shape2.png);
  top: 0.332594235%;
  left: 10.875%;
}
#news .shape.s3 {
  width: 4.6875%;
  aspect-ratio: 75/93;
  background-image: url(../images/news-shape3.png);
  top: 2.2172949002%;
  left: 82.1875%;
}
#news .shape.s4 {
  width: 7.5%;
  aspect-ratio: 120/138;
  background-image: url(../images/news-shape4.png);
  top: 1.1086474501%;
  left: 90.3125%;
}
#news .shape.s5 {
  width: 7.125%;
  aspect-ratio: 114/127;
  background-image: url(../images/news-shape5.png);
  top: 14.4124168514%;
  left: 1.875%;
}
#news .shape.s6 {
  width: 3.75%;
  aspect-ratio: 60/69;
  background-image: url(../images/news-shape6.png);
  top: 21.8403547672%;
  left: 85.3125%;
}
#news .shape.s7 {
  width: 3.4375%;
  aspect-ratio: 55/42;
  background-image: url(../images/news-shape7.png);
  top: 31.5964523282%;
  left: 12.1875%;
}
#news .shape.s8 {
  width: 2.0625%;
  aspect-ratio: 33/53;
  background-image: url(../images/news-shape8.png);
  top: 31.5964523282%;
  left: 96.25%;
}
#news .shape.s9 {
  width: 7.5%;
  aspect-ratio: 120/138;
  background-image: url(../images/news-shape9.png);
  top: 35.0332594235%;
  left: -0.25%;
}
#news .shape.s10 {
  width: 3.8125%;
  aspect-ratio: 61/70;
  background-image: url(../images/news-shape10.png);
  top: 38.2483370288%;
  left: 91.5625%;
}
#news .shape.s11 {
  width: 5.375%;
  aspect-ratio: 86/86;
  background-image: url(../images/news-shape11.png);
  top: 48.2261640798%;
  left: 9.6875%;
}
#news .shape.s12 {
  width: 7.375%;
  aspect-ratio: 118/138;
  background-image: url(../images/news-shape12.png);
  top: 46.0088691796%;
  left: 78.75%;
}
#news .shape.s13 {
  width: 4.75%;
  aspect-ratio: 76/34;
  background-image: url(../images/news-shape13.png);
  top: 55.4323725055%;
  left: 90%;
}
#news .shape.s14 {
  width: 2.125%;
  aspect-ratio: 34/55;
  background-image: url(../images/news-shape14.png);
  top: 59.866962306%;
  left: 3.3125%;
}
#news .shape.s15 {
  width: 7.4375%;
  aspect-ratio: 119/137;
  background-image: url(../images/news-shape15.png);
  top: 62.5277161863%;
  left: 10.3125%;
}
#news .shape.s16 {
  width: 7.5%;
  aspect-ratio: 120/131;
  background-image: url(../images/news-shape16.png);
  top: 69.844789357%;
  left: 89.6875%;
}
#news .shape.s17 {
  width: 6%;
  aspect-ratio: 96/56;
  background-image: url(../images/news-shape17.png);
  top: 72.6164079823%;
  left: 2.9375%;
}
#news .shape.s18 {
  width: 2.0625%;
  aspect-ratio: 33/53;
  background-image: url(../images/news-shape18.png);
  top: 80.376940133%;
  left: 87.6875%;
}
#news .shape.s19 {
  width: 7.4375%;
  aspect-ratio: 119/137;
  background-image: url(../images/news-shape19.png);
  top: 83.7028824834%;
  left: 3%;
}
#news .shape.s20 {
  width: 3.875%;
  aspect-ratio: 62/71;
  background-image: url(../images/news-shape20.png);
  top: 85.1441241685%;
  left: 13.75%;
}
#news .shape.s21 {
  width: 4.6875%;
  aspect-ratio: 75/75;
  background-image: url(../images/news-shape21.png);
  top: 91.4634146341%;
  left: 86.25%;
}
#news .shape.s22 {
  width: 3.4375%;
  aspect-ratio: 55/50;
  background-image: url(../images/news-shape22.png);
  top: 100.8869179601%;
  left: 2.1875%;
}
#news .shape.s23 {
  width: 2.5625%;
  aspect-ratio: 41/40;
  background-image: url(../images/news-shape23.png);
  top: 100.110864745%;
  left: 32.1875%;
}
#news .shape.s24 {
  width: 7.4375%;
  aspect-ratio: 119/138;
  background-image: url(../images/news-shape24.png);
  top: 91.4634146341%;
  left: 58.75%;
}
#news .shape.s25 {
  width: 3.75%;
  aspect-ratio: 60/69;
  background-image: url(../images/news-shape25.png);
  top: 99.77827051%;
  left: 93%;
}
#news .shape.s26 {
  width: 7.4375%;
  aspect-ratio: 119/137;
  background-image: url(../images/news-shape26.png);
  top: 73.1707317073%;
  left: 77.5%;
}
#news .inner {
  position: relative;
  padding: 0 max((100% - 1100px) / 2, 20px);
}
#news .inner .shapes {
  /* .shape{
    position: absolute;
    //img{
      //width: 100%;
      //height: 100%;
      //object-fit: cover;
    //}
    background-repeat: no-repeat;
    background-size: cover;
    //z-index: -1;
    &.s1{
      width: perCalc(33,1600);
      aspect-ratio: 33/32;
      background-image: url(../images/news-shape1.png);
      top: perCalc(40,902);
      left: perCalc(53,1600);
    }
    &.s2{
      width: perCalc(119,1600);
      aspect-ratio: 119/138;
      background-image: url(../images/news-shape2.png);
      top: perCalc(3,902);
      left: perCalc(174,1600);
    }
    &.s3{
      width: perCalc(75,1600);
      aspect-ratio: 75/93;
      background-image: url(../images/news-shape3.png);
      top: perCalc(20,902);
      left: perCalc(1315,1600);
    }
    &.s4{
      width: perCalc(120,1600);
      aspect-ratio: 120/138;
      background-image: url(../images/news-shape4.png);
      top: perCalc(10,902);
      left: perCalc(1445,1600);
    }
    &.s5{
      width: perCalc(114,1600);
      aspect-ratio: 114/127;
      background-image: url(../images/news-shape5.png);
      top: perCalc(130,902);
      left: perCalc(30,1600);
    }
    &.s6{
      width: perCalc(60,1600);
      aspect-ratio: 60/69;
      background-image: url(../images/news-shape6.png);
      top: perCalc(197,902);
      left: perCalc(1365,1600);
    }
    &.s7{
      width: perCalc(55,1600);
      aspect-ratio: 55/42;
      background-image: url(../images/news-shape7.png);
      top: perCalc(285,902);
      left: perCalc(195,1600);
    }
    &.s8{
      width: perCalc(33,1600);
      aspect-ratio: 33/53;
      background-image: url(../images/news-shape8.png);
      top: perCalc(285,902);
      left: perCalc(1540,1600);
    }
    &.s9{
      width: perCalc(120,1600);
      aspect-ratio: 120/138;
      background-image: url(../images/news-shape9.png);
      top: perCalc(316,902);
      left: calc(perCalc(4,1600)* -1);
    }
    &.s10{
      width: perCalc(61,1600);
      aspect-ratio: 61/70;
      background-image: url(../images/news-shape10.png);
      top: perCalc(345,902);
      left: perCalc(1465,1600);
    }
    &.s11{
      width: perCalc(86,1600);
      aspect-ratio: 86/86;
      background-image: url(../images/news-shape11.png);
      top: perCalc(435,902);
      left: perCalc(155,1600);
    }
    &.s12{
      width: perCalc(118,1600);
      aspect-ratio: 118/138;
      background-image: url(../images/news-shape12.png);
      top: perCalc(415,902);
      left: perCalc(1260,1600);
    }
    &.s13{
      width: perCalc(76,1600);
      aspect-ratio: 76/34;
      background-image: url(../images/news-shape13.png);
      top: perCalc(500,902);
      left: perCalc(1440,1600);
    }
    &.s14{
      width: perCalc(34,1600);
      aspect-ratio: 34/55;
      background-image: url(../images/news-shape14.png);
      top: perCalc(540,902);
      left: perCalc(53,1600);
    }
    &.s15{
      width: perCalc(119,1600);
      aspect-ratio: 119/137;
      background-image: url(../images/news-shape15.png);
      top: perCalc(564,902);
      left: perCalc(165,1600);
    }
    &.s16{
      width: perCalc(120,1600);
      aspect-ratio: 120/131;
      background-image: url(../images/news-shape16.png);
      top: perCalc(630,902);
      left: perCalc(1435,1600);
    }
    &.s17{
      width: perCalc(96,1600);
      aspect-ratio: 96/56;
      background-image: url(../images/news-shape17.png);
      top: perCalc(655,902);
      left: perCalc(47,1600);
    }
    &.s18{
      width: perCalc(33,1600);
      aspect-ratio: 33/53;
      background-image: url(../images/news-shape18.png);
      top: perCalc(725,902);
      left: perCalc(1403,1600);
    }
    &.s19{
      width: perCalc(119,1600);
      aspect-ratio: 119/137;
      background-image: url(../images/news-shape19.png);
      top: perCalc(755,902);
      left: perCalc(48,1600);
    }
    &.s20{
      width: perCalc(62,1600);
      aspect-ratio: 62/71;
      background-image: url(../images/news-shape20.png);
      top: perCalc(768,902);
      left: perCalc(220,1600);
    }
    &.s21{
      width: perCalc(75,1600);
      aspect-ratio: 75/75;
      background-image: url(../images/news-shape21.png);
      top: perCalc(825,902);
      left: perCalc(1380,1600);
    }
    &.s22{
      width: perCalc(55,1600);
      aspect-ratio: 55/50;
      background-image: url(../images/news-shape22.png);
      top: perCalc(910,902);
      left: perCalc(35,1600);
    }
    &.s23{
      width: perCalc(41,1600);
      aspect-ratio: 41/40;
      background-image: url(../images/news-shape23.png);
      top: perCalc(903,902);
      left: perCalc(515,1600);
    }
    &.s24{
      width: perCalc(119,1600);
      aspect-ratio: 119/138;
      background-image: url(../images/news-shape24.png);
      top: perCalc(825,902);
      left: perCalc(940,1600);
    }
    &.s25{
      width: perCalc(60,1600);
      aspect-ratio: 60/69;
      background-image: url(../images/news-shape25.png);
      top: perCalc(900,902);
      left: perCalc(1488,1600);
    }
    &.s26{
      width: perCalc(119,1600);
      aspect-ratio: 119/137;
      background-image: url(../images/news-shape26.png);
      top: perCalc(660,902);
      left: perCalc(1240,1600);
    }
  } */
}
#news .inner .news-category {
  border-bottom: 14px solid #1a687f;
}
#news .inner .news-category ul {
  -moz-column-gap: 0.9090909091%;
       column-gap: 0.9090909091%;
}
#news .inner .container {
  background-color: #fff;
  position: relative;
}
#news .inner .container.view .animation {
  z-index: unset;
}
#news .inner .container.view .animation::before {
  animation: kiran 1s linear;
}
#news .inner .container.view .contents {
  transition: all 1s 0.2s;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
#news .inner .container .animation {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
}
#news .inner .container .animation::before {
  content: "";
  background-color: #1a687f;
  position: absolute;
  top: -100px;
  left: 0;
  width: 10%;
  height: 100%;
  opacity: 0;
}
#news .inner .container::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 100%;
  height: 100%;
  background-color: #c8c8c8;
  opacity: 0.5;
  z-index: -1;
}
#news .inner .container .contents article:not(:has(a)) {
  -moz-column-gap: 3.1914893617%;
       column-gap: 3.1914893617%;
}
#news .inner .container .contents article a {
  -moz-column-gap: 3.1914893617%;
       column-gap: 3.1914893617%;
}
#news .inner .container .contents article .image {
  width: 25.8220502901%;
}
#news .inner .container .contents:not(.active) {
  height: 0;
  clip-path: polygon(0 0, 0 0, 0 0, 0 0);
}
@media (max-width: 999px) {
  #news {
    padding: 60px 0;
  }
  #news h2 {
    font-size: 40px;
    margin-bottom: 25px;
  }
}
@media (max-width: 767px) {
  #news {
    padding: 40px 0;
  }
  #news h2 {
    font-size: 24px;
  }
  #news .inner .news-category {
    border-bottom-width: 10px;
  }
}

/* ----------------------------------------------
problems
------------------------------------------------- */
#problems {
  background: url(../images/problems-bg.webp) no-repeat center top/cover;
}
#problems .inner {
  display: flex;
}
#problems .inner .eg-tx {
  writing-mode: vertical-rl;
  width: 95px;
  padding: 10px 0;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 55.04px;
  line-height: 1;
  color: #fff;
  text-align: center;
  align-content: center;
  position: relative;
  z-index: 1;
}
#problems .inner .eg-tx::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#problems .inner .eg-tx:first-child .tx {
  transform: rotate(180deg);
}
#problems .inner .eg-tx:first-child::before {
  background: url(../images/problems-bg1.webp) no-repeat center/cover;
}
#problems .inner .eg-tx:last-child::before {
  background: url(../images/problems-bg2.webp) no-repeat center/cover;
}
#problems .inner .container {
  flex: 1;
  max-width: min(100%, 1120px);
  margin: 0 auto;
  padding: 54px 10px 90px;
}
#problems .inner .container h2 {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 47px;
  line-height: 1;
  color: #fff;
  background-color: #603813;
  border-top: 15px solid #c2986d;
  border-bottom: 15px solid #c2986d;
  padding: 28px 0;
  text-align: center;
  margin-bottom: 30px;
}
#problems .inner .container .contents {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 1.2727272727%;
}
#problems .inner .container .contents .block {
  width: 49.3636363636%;
  background-color: #fff;
  border: 6px solid #29a7de;
}
#problems .inner .container .contents .block .head {
  display: flex;
  background-color: #eee;
}
#problems .inner .container .contents .block .head .num {
  background-color: #1a687f;
  align-content: center;
  text-align: center;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 30px;
  line-height: 1;
  color: #fff;
  padding: 12px 4px;
}
#problems .inner .container .contents .block .head .num small {
  display: block;
  font-size: 14px;
  line-height: 1.0714285714;
}
#problems .inner .container .contents .block .head .title {
  align-content: center;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 24px;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  color: #1a687f;
  flex: 1;
  padding: 5px 18px;
}
#problems .inner .container .contents .block .bottom {
  padding: 30px 7.5329566855% 40px;
}
#problems .inner .container .contents .block .text {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 400;
  font-size: 16px;
  line-height: 1.75;
  color: #000;
}
@media (max-width: 999px) {
  #problems .inner .eg-tx {
    width: 60px;
    font-size: 40px;
  }
  #problems .inner .container {
    padding: 40px 10px 70px;
  }
  #problems .inner .container h2 {
    font-size: 40px;
    padding: 20px 0;
    margin-bottom: 25px;
  }
  #problems .inner .container .contents .block .head .num {
    font-size: 24px;
  }
  #problems .inner .container .contents .block .head .num small {
    font-size: 12px;
  }
  #problems .inner .container .contents .block .head .title {
    font-size: 20px;
  }
  #problems .inner .container .contents .block .head .title br {
    display: none;
  }
  #problems .inner .container .contents .block .bottom {
    padding: 20px 10px;
  }
  #problems .inner .container .contents .block .bottom .text {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  #problems .inner .eg-tx {
    width: 40px;
    font-size: 28px;
  }
  #problems .inner .container {
    padding: 30px 10px 50px;
  }
  #problems .inner .container h2 {
    font-size: 26px;
    line-height: 1.2;
    padding: 15px 0;
    margin-bottom: 20px;
    border-top-width: 10px;
    border-bottom-width: 10px;
  }
  #problems .inner .container .contents {
    flex-direction: column;
    align-items: center;
  }
  #problems .inner .container .contents .block {
    width: min(100%, 400px);
  }
  #problems .inner .container .contents .block .head {
    flex-direction: column;
  }
  #problems .inner .container .contents .block .head .num {
    font-size: 20px;
  }
  #problems .inner .container .contents .block .head .num small {
    font-size: 10px;
  }
  #problems .inner .container .contents .block .head .title {
    font-size: 18px;
  }
  #problems .inner .container .contents .block .bottom {
    padding: 15px 10px;
  }
  #problems .inner .container .contents .block .bottom .text {
    font-size: 12px;
  }
}

/* ----------------------------------------------
solution
------------------------------------------------- */
@keyframes solanimation1 {
  0% {
    transform: rotate(0deg) translate(0, 0);
  }
  50% {
    transform: rotate(180deg) translate(0, -30%);
  }
  100% {
    transform: rotate(360deg) translate(0, 0);
  }
}
@keyframes solanimation2 {
  0% {
    transform: rotate(0deg) translate(0, 0);
  }
  50% {
    transform: rotate(-180deg) translate(0, 30%);
  }
  100% {
    transform: rotate(-360deg) translate(0, 0);
  }
}
#solution {
  position: relative;
  margin-top: 35px;
  padding: 115px max((100% - 1360px) / 2, 10px) 50px;
}
#solution::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, max(-53%, -79.5px));
  width: 168px;
  aspect-ratio: 168/150;
  background: url(../images/arow.webp) no-repeat center/cover;
}
#solution::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  background: linear-gradient(180deg, #0cd5d3 0%, #0bbced 50%, #0a81ff 100%);
}
#solution .shapes {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}
#solution .shapes .shape {
  position: absolute;
  aspect-ratio: 1/1;
  background: linear-gradient(90deg, #0cd5d3 0%, #0bbced 50%, #0a81ff 100%);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
#solution .shapes .shape.s1 {
  width: 144.994375%;
  top: -81.3508064516%;
  left: 7.8125%;
  animation: solanimation1 20s linear infinite;
}
#solution .shapes .shape.s2 {
  width: 102.7575%;
  top: 19.7580645161%;
  left: 45.9375%;
  animation: solanimation2 15s linear infinite;
}
#solution h2 {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 72px;
  line-height: 1;
  color: #1a687f;
  background-color: #fff;
  border: 11.3px solid #1a687f;
  padding: 44px 10px;
  text-align: center;
  border-radius: 40px;
  margin-bottom: 40px;
}
#solution .contents {
  display: flex;
  -moz-column-gap: 4.5588235294%;
       column-gap: 4.5588235294%;
  margin-bottom: 47px;
}
#solution .contents .image {
  width: 52.4264705882%;
  margin-left: 6px;
}
#solution .contents .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
#solution .contents .btns {
  flex: 1;
  padding: 10px 0 30px;
  align-content: center;
}
#solution .contents .btns .btn:not(:last-child) {
  margin-bottom: 47px;
}
#solution .line-btn a {
  margin: 0 auto;
}
@media (max-width: 999px) {
  #solution {
    margin-top: 30px;
    padding-top: 90px;
    padding-bottom: 40px;
  }
  #solution::before {
    width: 140px;
  }
  #solution h2 {
    font-size: 50px;
    line-height: 1.2;
    margin-bottom: 30px;
    padding: 20px 10px;
  }
  #solution .contents .image {
    margin-left: 0;
  }
  #solution .contents .btns .btn:not(:last-child) {
    margin-bottom: 25px;
  }
}
@media (max-width: 767px) {
  #solution {
    margin-top: 25px;
    padding-top: 70px;
    padding-bottom: 30px;
  }
  #solution::before {
    width: 120px;
  }
  #solution h2 {
    font-size: 40px;
    margin-bottom: 25px;
    padding: 10px;
    border-width: 7px;
  }
  #solution .contents {
    flex-direction: column;
    align-items: center;
    row-gap: 30px;
    margin-bottom: 30px;
  }
  #solution .contents .image {
    width: min(100%, 400px);
  }
  #solution .contents .btns {
    padding: 0;
  }
  #solution .contents .btns .btn:not(:last-child) {
    margin-bottom: 10px;
  }
}
@media (max-width: 999px) {
  #solution h2 {
    margin-bottom: 50px;
  }
}

/* ----------------------------------------------
voice
------------------------------------------------- */
#voice {
  padding: 63px 0 83px;
  background: url(../images/voice-bg.webp) no-repeat center/cover;
}
#voice:not(:has(.contents .block)) {
  display: none;
}
#voice:not(:has(.contents .block)) + section {
  margin-top: 20px;
}
#voice .head {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 36px;
       column-gap: 36px;
  margin-bottom: 60px;
}
#voice .head::before, #voice .head::after {
  content: "";
  flex: 1;
  max-width: 230px;
  aspect-ratio: 230/56;
}
#voice .head::before {
  background: url(../images/head-icon-voice1.webp) no-repeat center/cover;
}
#voice .head::after {
  background: url(../images/head-icon-voice2.webp) no-repeat center/cover;
}
#voice .head h2 {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 39.87px;
  line-height: 1;
  color: #fff;
  background-color: #886239;
  border: 2px solid #c2986d;
  position: relative;
  padding: 27px 45px;
}
#voice .head h2::before, #voice .head h2::after {
  content: "";
  position: absolute;
  bottom: -4px;
  height: 36.170212766%;
  aspect-ratio: 25/34;
}
#voice .head h2::before {
  left: 0;
  transform: translateX(max(-100%, -36px));
  background: url(../images/head-icon-voiceh2-1.webp) no-repeat center/cover;
}
#voice .head h2::after {
  right: 0;
  transform: translateX(min(100%, 36px));
  background: url(../images/head-icon-voiceh2-2.webp) no-repeat center/cover;
}
@media (max-width: 999px) {
  #voice {
    padding: 50px 0 70px;
  }
  #voice .head {
    margin-bottom: 40px;
  }
  #voice .head h2 {
    font-size: 30px;
    padding: 20px 30px;
  }
}
@media (max-width: 767px) {
  #voice {
    padding: 40px 0 50px;
  }
  #voice .head {
    margin-bottom: 30px;
  }
  #voice .head h2 {
    font-size: 24px;
    padding: 15px 20px;
  }
}

/* ----------------------------------------------
tuition
------------------------------------------------- */
#tuition {
  margin-bottom: 150px;
}
#tuition h2 {
  margin-bottom: 67px;
}
#tuition .contents {
  width: min(100% - 20px, 1170px);
  margin: 0 auto;
  overflow-x: auto;
}
#tuition .contents table {
  width: 100%;
}
#tuition .contents table th,
#tuition .contents table td {
  border: 2px solid #1a687f;
  padding: 13px;
}
#tuition .contents table th {
  width: 32.8767123288%;
  white-space: nowrap;
}
@media (max-width: 999px) {
  #tuition {
    margin-bottom: 120px;
  }
  #tuition h2 {
    margin-bottom: 50px;
  }
}
@media (max-width: 767px) {
  #tuition {
    margin-bottom: 100px;
  }
  #tuition h2 {
    margin-bottom: 40px;
  }
}

/* ----------------------------------------------
teacher
------------------------------------------------- */
#teacher {
  margin-bottom: 163px;
}
#teacher h2 {
  margin-bottom: 87px;
}
#teacher .top {
  width: min(100% - 20px, 1200px);
  margin: 0 auto;
  padding-right: 12px;
  display: flex;
  -moz-column-gap: 2.7777777778%;
       column-gap: 2.7777777778%;
  margin-bottom: 179px;
}
#teacher .top .head {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 55px;
  line-height: 1.6;
  color: #fff;
  background-color: #886239;
  padding: 10px 10px 25px;
  align-content: center;
  text-align: center;
  border-radius: 18px;
  min-width: 35.4377104377%;
}
#teacher .top .table {
  flex: 1;
}
#teacher .top .table table {
  width: 100%;
}
#teacher .top .table table th,
#teacher .top .table table td {
  border: 2px solid #1a687f;
  padding: 12.7px;
}
#teacher .top .table table th {
  width: 34.7885402456%;
  white-space: nowrap;
}
#teacher .contents .block:not(:has(a)) {
  display: flex;
  -moz-column-gap: 5.3125%;
       column-gap: 5.3125%;
}
#teacher .contents .block a {
  display: flex;
  -moz-column-gap: 5.3125%;
       column-gap: 5.3125%;
  width: 100%;
  text-decoration: none;
  transition: all 0.5s ease-out;
}
#teacher .contents .block a:hover {
  opacity: 0.6;
}
#teacher .contents .block .image {
  width: min(47.0625%, 753px);
}
#teacher .contents .block .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
}
#teacher .contents .block .txbox {
  flex: 1;
  align-content: center;
  padding: 10px 10px 43px 0;
}
#teacher .contents .block .txbox .name {
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  font-size: 61px;
  line-height: 1.6;
  color: #29a7de;
  margin-bottom: 20px;
}
#teacher .contents .block .txbox .name small {
  display: block;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 27px;
  line-height: 1.6;
  color: #1a687f;
  margin-top: -8px;
}
#teacher .contents .block .txbox .box {
  border-left: 10px solid #1a687f;
  padding: 0 0 8px 17px;
}
#teacher .contents .block .txbox .box .title {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 27px;
  line-height: 1.4;
  color: #1a687f;
  margin-bottom: 10px;
}
#teacher .contents .block .txbox .box .text {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 400;
  font-size: 16px;
  line-height: 1.8125;
  color: #000;
  max-width: 572px;
}
#teacher .contents .block:not(:last-child) {
  margin-bottom: 75px;
}
@media (max-width: 999px) {
  #teacher {
    margin-bottom: 140px;
  }
  #teacher h2 {
    margin-bottom: 70px;
  }
  #teacher .top {
    margin-bottom: 140px;
  }
  #teacher .top .head {
    font-size: 40px;
    padding: 10px;
  }
  #teacher .contents .block .txbox .name {
    font-size: 40px;
  }
  #teacher .contents .block .txbox .name small {
    font-size: 20px;
  }
  #teacher .contents .block .txbox .box .title {
    font-size: 20px;
  }
  #teacher .contents .block .txbox .box .text {
    font-size: 14px;
  }
  #teacher .contents .block:not(:last-child) {
    margin-bottom: 60px;
  }
}
@media (max-width: 767px) {
  #teacher {
    margin-bottom: 100px;
  }
  #teacher h2 {
    margin-bottom: 60px;
  }
  #teacher .top {
    flex-direction: column;
    row-gap: 30px;
    margin-bottom: 100px;
  }
  #teacher .top .head {
    font-size: 30px;
    padding: 10px;
  }
  #teacher .contents .block:not(:has(a)) {
    flex-direction: column;
    align-items: center;
    row-gap: 10px;
  }
  #teacher .contents .block a {
    flex-direction: column;
    align-items: center;
    row-gap: 10px;
  }
  #teacher .contents .block .image {
    width: min(400px, 100% - 20px);
  }
  #teacher .contents .block .image img {
    border-radius: 30px;
  }
  #teacher .contents .block .txbox {
    padding: 0 10px;
    width: 100%;
  }
  #teacher .contents .block .txbox .name {
    font-size: 30px;
  }
  #teacher .contents .block .txbox .name small {
    font-size: 18px;
  }
  #teacher .contents .block .txbox .box {
    border-left-width: 7px;
  }
  #teacher .contents .block .txbox .box .title {
    font-size: 18px;
  }
  #teacher .contents .block .txbox .box .text {
    font-size: 12px;
  }
  #teacher .contents .block:not(:last-child) {
    margin-bottom: 40px;
  }
}

/* ----------------------------------------------
contact
------------------------------------------------- */
#contact {
  background: url(../images/contact-bg.webp) repeat top center/cover;
  position: relative;
  padding: 78px 10px 143px;
  margin-bottom: 69px;
}
#contact::before, #contact::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 25px;
  background-color: #42210b;
}
#contact::before {
  top: 0;
}
#contact::after {
  bottom: 0;
}
#contact .head {
  text-align: center;
  margin-bottom: 65px;
}
#contact .head h2 {
  font-family: "acumin-variable", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  font-size: 77px;
  line-height: 1.6;
  color: #754c24;
  margin-bottom: 35px;
}
#contact .head h2 small {
  display: block;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 38px;
  line-height: 1.6;
  color: #603813;
  margin-top: -11px;
}
#contact .head .text {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 27px;
  line-height: 1.9259259259;
  color: #42210b;
  margin-bottom: 63px;
}
#contact .head .line-btn a {
  margin: 0 auto;
}
#contact .contact {
  width: min(100%, 1280px);
  margin: 0 auto;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 33px;
  margin-bottom: 30px;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td {
  padding: 16px 42px;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td input[type=text],
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td input[type=tel],
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td input[type=email],
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td textarea,
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td select {
  border: unset;
  padding: 5px;
  width: 100%;
  outline: none;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 700;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #754c24;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td.question {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 500;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #886239;
  text-align: center;
  align-content: center;
  white-space: nowrap;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) {
  background-color: #fff;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 500;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #754c24;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question):has(input[type=radio]) {
  background: unset;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) .content {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 42px;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) .content input[type=radio] {
  width: 21px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #fff;
  border: unset;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) .content input[type=radio]:checked {
  position: relative;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) .content input[type=radio]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 6px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #754c24;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) .content .box {
  display: flex;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) textarea {
  min-height: 230px;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable .form-group.captcha {
  margin-top: 20px;
  text-align: center;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable .form-group.captcha label.form-label {
  font-size: 14px;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable .form-group.captcha > div:nth-of-type(1) {
  margin-top: 10px;
  margin-bottom: 10px;
}
#contact .contact .miniSurveyView table.formBlockSurveyTable .form-group.captcha > div:nth-of-type(2) input {
  border: 1px solid #e4e4e4;
  outline: none;
  padding: 5px;
  width: 100%;
  max-width: 190px;
}
#contact .contact .miniSurveyView .privacy {
  margin-bottom: 79px;
}
#contact .contact .miniSurveyView .privacy .title {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 400;
  font-size: 19px;
  line-height: 1.6;
  letter-spacing: 0.161em;
  color: #231815;
  text-align: center;
  margin-bottom: 22px;
}
#contact .contact .miniSurveyView .privacy .txbox {
  background-color: #fff;
  width: min(100% - 20px, 900px);
  margin: 0 auto;
  max-height: 255px;
  overflow-y: auto;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 400;
  font-size: 16px;
  line-height: 1.875;
  color: #000;
  padding: 14px 26px 35px;
  margin-bottom: 55px;
}
#contact .contact .miniSurveyView .privacy .check {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 500;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #42210b;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  padding-right: 41px;
}
#contact .contact .miniSurveyView .privacy .check input[type=checkbox] {
  width: 30px;
  aspect-ratio: 1/1;
}
#contact .contact .miniSurveyView input[type=submit] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 535px;
  height: 65px;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 500;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0.2em;
  color: #fff;
  background-color: #754c24;
  cursor: pointer;
  margin: 0 auto;
  border-radius: 10px;
}
#contact .contact .miniSurveyView input[type=submit]:after {
  display: none;
}
@media (max-width: 999px) {
  #contact {
    padding: 60px 10px 80px;
    margin-bottom: 50px;
  }
  #contact .head {
    margin-bottom: 50px;
  }
  #contact .head h2 {
    font-size: 60px;
  }
  #contact .head h2 small {
    font-size: 30px;
  }
  #contact .head .text {
    font-size: 22px;
    margin-bottom: 50px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable {
    border-spacing: 0 20px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td {
    padding: 10px;
    border-bottom-width: 20px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td input[type=text],
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td input[type=tel],
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td input[type=email],
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td textarea,
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td select {
    font-size: 20px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td.question {
    font-size: 18px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) {
    font-size: 20px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) .content {
    gap: 5px 20px;
  }
  #contact .contact .miniSurveyView .privacy {
    margin-bottom: 60px;
  }
  #contact .contact .miniSurveyView .privacy .title {
    font-size: 17px;
    margin-bottom: 15px;
  }
  #contact .contact .miniSurveyView .privacy .txbox {
    font-size: 14px;
    margin-bottom: 40px;
  }
  #contact .contact .miniSurveyView .privacy .check {
    font-size: 16px;
  }
  #contact .contact .miniSurveyView input[type=submit] {
    width: 480px;
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  #contact {
    padding: 40px 10px 50px;
    margin-bottom: 40px;
  }
  #contact .head {
    margin-bottom: 20px;
  }
  #contact .head h2 {
    font-size: 40px;
  }
  #contact .head h2 small {
    font-size: 24px;
  }
  #contact .head .text {
    font-size: 14px;
    margin-bottom: 30px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable {
    border-spacing: 0 15px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td {
    display: block;
    width: 100%;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td input[type=text],
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td input[type=tel],
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td input[type=email],
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td textarea,
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td select {
    font-size: 18px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td.question {
    font-size: 16px;
    border-bottom-width: 5px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) {
    font-size: 18px;
    border-bottom-width: 30px;
  }
  #contact .contact .miniSurveyView table.formBlockSurveyTable tr:not(.captchatr) td:not(.question) .content {
    gap: 5px 15px;
  }
  #contact .contact .miniSurveyView .privacy {
    margin-bottom: 40px;
  }
  #contact .contact .miniSurveyView .privacy .title {
    font-size: 16px;
    margin-bottom: 10px;
  }
  #contact .contact .miniSurveyView .privacy .txbox {
    margin-bottom: 20px;
    padding: 10px 10px 30px;
  }
  #contact .contact .miniSurveyView input[type=submit] {
    width: 280px;
    font-size: 18px;
  }
}/*# sourceMappingURL=index.css.map */