@charset "UTF-8";
/* CSS Document */ :root {
  --b1: #00479D;
  --b2: #2467B7;
  --g: #7EBF41;
  --black: #231815;
}
html {
  font-size: 62.5%;
}
body {
  font-family: 'Noto Sans CJK JP', 'Noto Sans JP', sans-serif;
  color: var(--black);
  font-size: 1.6rem;
  font-weight: 400;
  font-feature-settings: "palt";
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: clip;
  letter-spacing: 0.05em;
  background-color: #FFFBEB;
}
.sp-br {
  display: none;
}
p {
  line-height: 1.9;
  letter-spacing: 0.06em;
}
a {
  letter-spacing: 0.06em;
  line-height: 1.5;
}
img {
  max-width: 100%;
  height: auto;
  border-style: none;
  vertical-align: top;
}
.img100 {
  width: 100%;
}
ul {
  list-style-type: none;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
address {
  font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-weight: 700;
}
mark {
  background: linear-gradient(transparent 60%, #F5EFB0 40%);
  color: var(--m);
  font-weight: 700;
}
.btn01 {
  min-width: 297px;
  height: 80px;
  background-color: var(--b1);
  color: #fff;
  border-radius: 80px;
  display: flex;
  align-items: center;
  padding: 0 60px 0 30px;
  width: fit-content;
  position: relative;
  transition: 0.2s;
  font-weight: 700;
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
  margin: 0 auto;
  &::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    background: url("../images/arrow-circle-right.svg") no-repeat;
    width: 44px;
    height: 44px;
    transition: 0.2s;
  }
  &:hover {
    background-color: var(--g);
    &::after {
      transform: translateY(-50%) rotate(-45deg);
    }
  }
}
/*アニメーション動き */
.fade_up {
  opacity: 0;
  transform: translate(0px, 120px);
  transition-duration: 2s;
}
.left_in {
  opacity: 0;
  transform: translate(-100px, 0px);
  transition-duration: 2s;
  transition-delay: 0.2s;
}
.right_in {
  opacity: 0;
  transform: translate(100px, 0px);
  transition-duration: 2s;
  transition-delay: 0.2s;
}
.mv {
  opacity: 1.0;
  transform: translate3d(0, 0, 0);
}
@media (orientation: portrait) {
  .sub_anime {
    animation: fadeUp 2s ease 1.2s 1 normal forwards;
    opacity: 0;
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(70px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*スマホメニュー消す*/
.mobile {
  display: none;
}
#panel {
  display: none;
}
/*////////////////ヘッダーフッター/////////////*/
.head {
  width: 96%;
  margin: 2% 1.5% 0 2.5%;
  display: flex;
  justify-content: space-between;
}
.logo {
  width: clamp(150px, 14.5vw, 300px);
}
.menu {
  display: inline-flex;
  justify-content: space-between;
  align-items: flex-start;
}
.menu__single {
  margin-right: clamp(10px, 1.2vw, 20px);
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-feature-settings: normal;
  background-color: #fff;
  border: 1px solid var(--black);
  transition: 0.2s;
  position: relative;
}
.menu__single:last-of-type {
  margin-right: 0;
}
.menu__single a {
  letter-spacing: 0.15em;
  color: var(--b1);
  display: block;
  padding: 1.8em 0.3em 0.7em;
}
.menu__single a:hover {
  color: var(--p);
}
.menu__single:after {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 50%;
  transform: translateX(-50%);
  width: 1em;
  height: 1em;
  background-color: var(--b1);
  border-radius: 50%;
}
.menu__single:hover {
  background-color: var(--g);
  color: #fff;
}
.footer-skew {
  color: #fff;
  background-color: var(--b2);
  padding: 18% 7.5% 20px;
  clip-path: polygon(0 0, 100% 7.55vw, 100% 100%, 0% 100%);
}
.footer-wrapper {
  margin-top: clamp(80px, 15vw, 220px);
}
.foot_boy {
  margin: 0 0 -3.1vw 30%;
  display: block;
  width: 16.78vw;
}
.footer-content {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15%;
}
.footer-logo {
  margin-bottom: 45px;
  display: block;
}
.footer-info {
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}
.phone-button {
  background-color: #fff;
  color: var(--b1);
  display: flex;
  align-items: center;
  padding: 18px 40px 18px 15px;
  border-radius: 100px;
  width: 297px;
  gap: 15px;
}
.phone-number {
  font-size: 2.4rem;
  font-weight: 700;
  display: block;
  line-height: 1;
  white-space: nowrap;
}
.phone-hours {
  font-size: 1.2rem;
  line-height: 1;
}
.footer-nav a {
  color: #fff;
}
.foot_menu_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 2em 1.2em;
  margin-bottom: 2em;
}
.foot_menu {
  display: flex;
  gap: 1.2em;
}
.foot_menu_single {
  position: relative;
  white-space: nowrap;
  a::before {
    content: '●';
    color: var(--g);
    margin-right: 3px;
  }
  &:hover a {
    color: var(--g);
  }
}
.foot_menu_privacy {
  position: relative;
  text-align: right;
  a::before {
    content: '●';
    color: var(--g);
    margin-right: 3px;
  }
  &:hover a {
    color: var(--g);
  }
}
.copy {
  font-size: 1.2rem;
  text-align: center;
}
.line_btn {
  background-color: var(--g);
  color: #fff;
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 15px 18px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  transition: 0.2s;
  &:hover {
    background-color: var(--b1);
  }
}
/*/////////////////トップページ///////////////////////*/
.top_hero {
  display: flex;
  justify-content: space-between;
  margin: clamp(36px, 4.5vw, 90px) 0 max(10vw, 100px) 5%;
}
.hero_textbox {
  width: 49%;
  padding-top: 4.2vw;
  position: relative;
}
.hero_pic {
  width: 46%;
  animation: rightIn 1.5s ease 0.5s 1 normal forwards;
  opacity: 0;
  img {
    border-radius: max(1.5vw, 10px) 0 0 max(1.5vw, 10px);
  }
}
@keyframes rightIn {
  0% {
    opacity: 0;
    transform: translateX(100px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes leftIn {
  0% {
    opacity: 0;
    transform: translateX(-100px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.catch_copy {
  font-weight: 900;
  font-size: max(1.35vw + 0.90rem, 2.20rem);
  color: var(--b1);
  margin-bottom: 6.8vw;
  animation: leftIn 1.8s ease 0.5s 1 normal forwards;
  opacity: 0;
}
.catch_bigtext {
  display: block;
  border: 1px solid var(--b1);
  width: fit-content;
  padding: 0.7% 2%;
  font-size: max(3.23vw + 0.40rem, 3.50rem);
  letter-spacing: 0.1em;
  font-feature-settings: normal;
  margin: 0.2em 0;
  span {
    color: var(--g);
  }
}
.sub_copy_box {
  animation: fadeUp 1.8s ease 1.2s 1 normal forwards;
  opacity: 0;
}
.hero_sub_copy_wrap {
  display: flex;
  margin-bottom: 15px;
  gap: 1em;
}
.hero_sub_copy {
  background-color: var(--b1);
  color: #fff;
  padding: 5px 10px;
  line-height: 1.5;
  font-weight: 700;
}
.fukidasi {
  position: absolute;
  top: -4.7vw;
  right: 0;
  width: max(25%, 100px);
  animation: fadeIn 1.8s ease 2s 1 normal forwards;
  opacity: 0;
  img {
    width: 100%;
  }
}
.fukidasi_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  font-size: max(1.2cqw, 1.2rem);
  text-align: center;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1.5;
  color: var(--b1);
}
.top01 {
  width: min(85%, 1440px);
  margin: 0 auto max(11vw, 80px);
}
.top_news_wrap {
  margin: max(3%, 20px) 0 max(7%, 30px);
}
.top_news_li {
  border-bottom: 1px solid var(--b1);
  margin-bottom: max(3%, 30px);
  padding-bottom: 15px;
}
.top_topic_list {
  display: flex;
  align-items: center;
  color: var(--black);
}
.top_eyecatch {
  width: max(15%, 150px);
  aspect-ratio: 4/3;
  overflow: clip;
  border-radius: 10px;
  z-index: 1;
}
.top_eyecatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 1s;
}
.top_news_li:hover .top_eyecatch img {
  transform: scale(1.1);
  filter: brightness(0.6);
}
.top_news_text {
  margin-left: 3%;
  width: 82%;
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
}
.top_list_date {
  display: block;
  margin-bottom: 5px;
}
.com_title {
  color: var(--b1);
  font-size: clamp(2.80rem, 1.25vw + 1.60rem, 4.00rem);
  line-height: 1.4;
}
.en_title {
  color: var(--g);
  display: block;
  font-size: clamp(1.20rem, 0.42vw + 0.80rem, 1.60rem);
  letter-spacing: 0;
}
.top02 {
  width: min(85%, 1280px);
  margin: 0 auto max(12vw, 80px);
}
.top02_title {
  text-align: center;
}
.text_green {
  color: var(--g);
  margin: 0 0 0 5px;
  display: inline-block;
  font-size: 1.4em;
}
.top02_inner {
  margin: min(4%, 55px) 0 clamp(45px, 6%, 100px);
}
.three_box {
  background-color: #fff;
  border: 1px solid #707070;
  border-radius: 20vw;
  padding: 5% 12%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: min(4%, 50px);
}
.three_pic {
  width: 15%;
}
.three_textbox {
  width: 81.97%;
}
.three_title {
  font-size: clamp(2.40rem, 0.63vw + 1.80rem, 3.00rem);
  color: var(--b1);
  margin-bottom: 0.5em;
}
.three_text {
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
}
.top03 {
  display: flex;
  margin: 0 2.5% max(15vw, 80px) 0;
  position: relative;
  overflow-x: clip;
}
.top03_pic {
  width: 33.6%;
  margin-right: 5%;
  img {
    border-radius: 0 max(1.5vw, 10px) max(1.5vw, 10px) 0;
  }
}
.top03_textbox {
  padding-top: 5%;
  .btn01 {
    margin: 0;
  }
}
.top03_listwrap {
  margin: max(7%, 20px) 0 max(12%, 35px);
}
.top03_list {
  border: 1px solid var(--b1);
  padding: 0.7em 1em 0.7em 75px;
  font-weight: 700;
  color: var(--b1);
  font-size: max(0.63vw + 1.80rem, 2.40rem);
  margin-bottom: 20px;
  width: fit-content;
  position: relative;
  &::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    background: url("../images/check-circle.svg") no-repeat;
    width: 44px;
    height: 44px;
  }
}
.girl01 {
  position: absolute;
  bottom: 3%;
  right: 5%;
  width: 8.5vw;
}
.top04 {
  width: min(85%, 1536px);
  margin: 0 auto max(12vw, 80px);
  padding: 0 5% 5% 0;
  position: relative;
}
.top04_inner {
  padding: 7% 5%;
  border-radius: clamp(30px, 4vw, 75px);
  border: 1px solid var(--b1);
  background-color: #fff;
  box-shadow: var(--b2) min(5cqw, 96px) min(5cqw, 96px);
}
.formula {
  display: flex;
  align-items: center;
  margin: 6% 0;
  gap: min(1vw, 20px);
}
.formula_text {
  background-color: #FFFBEB;
  border-radius: 20px;
  padding: 0.9em 0.7em;
  border: 1px solid var(--b1);
  font-size: clamp(2.20rem, 1.88vw + 0.40rem, 4.00rem);
  font-weight: 700;
  color: var(--b1);
  letter-spacing: 0.05em;
}
.kakeru {
  font-size: clamp(2.20rem, 1.88vw + 0.40rem, 4.00rem);
  font-weight: 700;
  color: var(--b1);
}
.equal {
  font-size: clamp(2.20rem, 1.88vw + 0.40rem, 4.00rem);
  font-weight: 700;
  color: var(--b1);
}
.formula_circle {
  color: #fff;
  font-weight: 700;
  background-color: var(--g);
  width: min(14vw, 270px);
  height: min(14vw, 270px);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(3.00rem, 3.54vw + -0.40rem, 6.40rem);
  position: relative;
  &::after {
    content: '';
    position: absolute;
    bottom: 10%;
    right: -20%;
    background: url("../images/arrow_up.svg") no-repeat;
    background-size: 100%;
    width: 57%;
    height: 39%;
  }
}
.top04_message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: max(10%, 50px);
}
.top04_pic {
  width: 21%;
  img {
    border-radius: 10px;
  }
}
.top04_text {
  width: 75%;
  font-size: clamp(1.60rem, 0.63vw + 1.00rem, 2.20rem);
}
.top05 {
  width: min(85%, 1440px);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.top05_textbox {
  max-width: 800px;
  .btn01 {
    margin: 0;
  }
}
.top05_text {
  margin: max(8%, 20px) 0 15%;
}
.top05_table_wrap {
  width: 54%;
  margin-left: 5%;
}
.open_table {
  width: 100%;
  border: 1px solid var(--b1);
}
.open_table th, .open_table td {
  padding: 20px 10px;
  text-align: center;
  border: 1px solid var(--b1);
  line-height: 1.4;
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
  width: 12%;
  background-color: #fff;
}
.open_table thead th {
  background-color: var(--g);
  color: #fff;
}
.open_table tbody tr :first-child {
  width: 28%;
  min-width: 8em;
  background: none;
}
.pen {
  position: absolute;
  left: -3%;
  top: 65%;
  width: min(7.7vw, 148px);
}
/*/////////////サブページタイトル/////////////*/
.sub_page_title {
  border: 2px solid var(--b1);
  margin: max(4vw, 60px) auto max(12vw, 80px);
  background-color: #fff;
  width: fit-content;
  min-width: 300px;
  padding: 0.6em 1em;
  font-size: max(1.25vw + 1.60rem, 2.80rem);
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--b1);
  box-shadow: var(--b2) 1cqw 1cqw;
}
/*/////////////about/////////////*/
.about01 {
  width: min(85%, 1440px);
  margin: 0 auto max(12vw, 80px);
}
.greet_text {
  margin: max(2.5vw, 20px) 0 0;
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
  span {
    color: var(--g);
    font-weight: 700;
  }
}
.greet_pic {
  float: right;
  width: 30%;
  margin: 0 0 1.2em 1.2em;
  border-radius: clamp(10px, 1vw, 20px);
}
.about01_greet {
  border-radius: clamp(30px, 4vw, 75px);
  border: 1px solid var(--b1);
  background-color: #fff;
  margin-bottom: max(5vw, 40px);
  padding: min(7.3%, 106px) min(5.5%, 80px);
}
.about01_pic {
  display: flex;
  justify-content: space-between;
}
.about01_pic_left {
  width: 53%;
  img {
    border-radius: clamp(15px, 2cqw, 30px);
  }
}
.about01_pic_right {
  width: 45%;
  padding-top: 10%;
  img {
    border-radius: clamp(15px, 2cqw, 30px);
  }
}
.about02 {
  margin-bottom: max(10vw, 80px);
}
.about02_illust {
  display: block;
  margin: 0 auto 60px;
}
.about02_inner {
  background-color: var(--b2);
  padding-bottom: 7%;
}
.abou02_title {
  color: var(--b1);
  font-size: clamp(2.80rem, 1.25vw + 1.60rem, 4.00rem);
  border: 1px solid var(--b1);
  width: fit-content;
  background-color: #FFFBEB;
  padding: 0.2em 0.5em;
  margin: 0 auto 80px;
  transform: translateY(-50%);
  span {
    color: var(--g);
  }
}
.about02_box {
  width: min(85%, 1440px);
  margin: 0 auto max(8%, 120px);
  display: flex;
  justify-content: space-between;
  border-left: 10px solid var(--g);
  &:last-of-type {
    margin-bottom: 0;
  }
}
.tuyomi_title {
  writing-mode: vertical-rl;
  color: #fff;
  letter-spacing: 0.2em;
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
  margin: 0 5% 0 0.5%;
  span {
    font-size: clamp(4.00rem, 3.75vw + 0.40rem, 7.60rem);
    margin-top: 0.1em;
    letter-spacing: 0.25em;
  }
}
.tuyomi_textbox {
  width: 84.58%;
}
.tuyomi_text {
  color: #fff;
  line-height: 1.6;
  margin-bottom: 15px;
}
.tuyomi_list_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2cqw, 30px);
}
.tuyomi_list {
  background-color: #fff;
  border-radius: clamp(10px, 1vw, 20px);
  padding: 10% 15%;
  min-height: 210px;
}
.tuyomi_list_title {
  color: var(--g);
  font-size: clamp(2.00rem, 0.21vw + 1.80rem, 2.20rem);
  display: flex;
  justify-content: center;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
.yowami_list {
  background-color: #fff;
  border-radius: clamp(10px, 1vw, 20px);
  max-width: 800px;
  padding: 3% 2%;
  margin-bottom: 20px;
  &:last-of-type {
    margin-bottom: 0;
  }
}
.five {
  color: var(--g);
  font-size: 2em;
}
.about03 {
  width: min(85%, 1440px);
  margin: 0 auto;
}
.about03_text {
  max-width: 800px;
  margin: max(3%, 20px) 0 max(10%, 30px);
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
  span {
    color: var(--b1);
    font-weight: 700;
  }
}
.location {
  position: relative;
}
.about_address {
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
}
.map {
  background-color: #fff;
  border-radius: clamp(10px, 1.2vw, 20px);
  aspect-ratio: 16/9;
  padding: 3%;
  border: 1px solid var(--b1);
  position: relative;
  iframe {
    width: 100%;
    height: 100%;
    border-radius: clamp(10px, 1.2vw, 20px);
  }
}
.map_illust {
  position: absolute;
  bottom: 95%;
  right: 15%;
  width: 7.7%;
}
/*/////////////lesson/////////////*/
.lesson01 {
  margin: 0 0 max(15vw, 80px) 12.5%;
}
.lesson01_inner {
  margin-top: clamp(30px, 4vw, 80px);
  display: flex;
  justify-content: space-between;
}
.lesson01_textbox {
  width: 58%;
}
.lesson01_pic {
  width: 37%;
  img {
    border-radius: clamp(20px, 4vw, 30px) 0 0 clamp(20px, 4vw, 30px);
  }
}
.lesson01_box {
  margin-bottom: max(5%, 30px);
}
.lesson01_box_title {
  border-radius: 10px;
  background-color: var(--b1);
  color: #fff;
  font-size: clamp(2.00rem, 0.83vw + 1.20rem, 2.80rem);
  padding: 0.4em 0.6em;
  width: fit-content;
  margin: 0 0 -0.8em 3%;
  position: relative;
  z-index: 2;
}
.lesson01_box_text {
  background-color: #fff;
  border-radius: clamp(15px, 2vw, 25px);
  border: 1px solid var(--b1);
  padding: 5% 3%;
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
}
.lesson02 {
  margin: 0 12.5% clamp(80px, 15vw, 210px) 0;
  display: flex;
  position: relative;
}
.lesson02_pic {
  width: 37%;
  margin-right: 5%;
  img {
    border-radius: 0 clamp(20px, 4vw, 30px) clamp(20px, 4vw, 30px) 0;
  }
}
.lesson02_textbox {
  max-width: 778px;
  width: 58%;
  padding-top: 10%;
}
.lesson02_text {
  margin: 40px 0;
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
}
.timetable_wrap {
  margin-bottom: 8%;
}
.timetable_wrap .open_table td {
  color: var(--b1);
}
.timetable_wrap .open_table tbody tr :first-child {
  color: var(--black);
}
.timetable_info {
  margin-top: 10px;
}
.lesson02_sub_section {
  margin-bottom: 50px;
}
.lesson02_sub_title {
  color: var(--g);
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
  margin-bottom: 5px;
}
.lesson_illust {
  position: absolute;
  left: 100%;
  top: -10%;
  width: 8.4vw;
}
.fee_wrap {
  width: min(85%, 1280px);
  margin: 0 auto;
}
.enter_fee_wrap {
  margin: 50px 0 80px;
}
.enter_fee {
  display: flex;
  align-items: center;
  gap: 1em;
  margin-bottom: 10px;
}
.fee_title {
  border-radius: 30px;
  background-color: var(--g);
  color: #fff;
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
  padding: 10px 1.2em;
  width: fit-content;
}
.enter_price {
  font-weight: 700;
  font-size: 3rem;
}
.price_table {
  width: 100%;
  border: 1px solid var(--b1);
}
.price_table th, .price_table td {
  padding: 20px 10px;
  text-align: center;
  border: 1px solid #c9c9c9;
  line-height: 1.4;
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
  width: 20%;
  background-color: #fff;
}
.price_table thead th {
  background-color: var(--b1);
  color: #fff;
}
.price_table tbody tr :first-child {
  min-width: 4em;
  background-color: #F7F7F8;
}
.price_tax {
  text-align: right;
  line-height: 1.2;
  margin-bottom: 3px;
}
.price_table_info {
  margin-top: 10px;
}
.price_wrap {
  margin-bottom: max(7%, 50px);
}
.price_sub_content {
  margin-bottom: max(3%, 30px);
  h4 {
    color: var(--g);
    font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
    margin-bottom: 5px;
  }
  &:last-of-type {
    margin-bottom: 0;
  }
}
.fee01 {
  margin-bottom: max(12vw, 80px);
}
.fee02 {
  margin-bottom: max(12vw, 80px);
  .com_title {
    text-align: center;
  }
}
.fee02_inner {
  background-color: #fff;
  border-radius: clamp(30px, 4vw, 75px);
  border: 1px solid var(--b1);
  padding: 7% 5%;
  margin-top: 30px;
}
.fee02_box {
  .formula_circle {
    width: min(14vw, 240px);
    height: min(14vw, 240px);
  }
  &:first-of-type {
    margin-bottom: min(8%, 90px);
  }
}
.fee02_text {
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
}
.fee02_title {
  color: var(--b1);
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
  margin-bottom: 10px;
}
.fee03_text {
  margin: clamp(20px, 3%, 40px) 0;
}
.promise {
  color: var(--b1);
  font-weight: 700;
  margin-bottom: 20px;
  text-indent: -1em;
  padding-left: 1em;
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
}
/*////////////////////////お問い合わせ///////////////////////////*/
.contact-button {
  background-color: var(--b1);
  color: #fff;
  display: flex;
  align-items: center;
  padding: 18px 40px 18px 15px;
  border-radius: 100px;
  width: 297px;
  gap: 15px;
  transition: 0.2s;
  &:hover {
    background-color: var(--g);
    svg path {
      fill: var(--g);
    }
  }
  &:last-of-type {
    background-color: var(--g);
    padding-left: 22px;
    &:hover {
      background-color: var(--b1);
    }
  }
}
.contact01 {
  display: flex;
  justify-content: center;
  gap: min(2vw, 36px);
  margin-bottom: max(6vw, 60px);
}
.contact_line {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.contact_wrap {
  width: min(90%, 900px);
  margin: 0 auto max(8vw, 60px);
}
.formWrap {
  width: 100%;
  position: relative;
}
.input_wrap {
  margin-bottom: 20px;
}
.require {
  position: relative;
}
.require::after {
  content: "";
  position: absolute;
  left: calc(100% + 10px);
  top: calc(50% + 1px);
  transform: translateY(-50%);
  width: 17px;
  height: 17px;
  background-color: var(--g);
  border-radius: 50%;
}
.input_title {
  font-weight: 400;
}
.input {
  width: 100%;
  height: 56px;
  padding: 5px 16px;
  font-size: 16px;
  margin-top: 15px;
  border-radius: 0;
  border: var(--b1) 1px solid;
}
.name_wrap {
  margin-bottom: 50px;
}
#textbox {
  height: 180px;
  font-size: 16px;
  border: var(--b1) 1px solid;
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color: #b9b9b9;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #b9b9b9;
}
::placeholder { /* Others */
  color: #b9b9b9;
}
.mail_info {
  font-size: 1.4rem;
  margin-bottom: 20px;
  line-height: 1;
  padding-left: 17px;
  position: relative;
  &::after {
    content: "";
    position: absolute;
    left: 0;
    top: calc(50% + 1px);
    transform: translateY(-50%);
    width: 17px;
    height: 17px;
    background-color: var(--g);
    border-radius: 50%;
  }
}
.sumit_wrap {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  &::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    background: url("../images/arrow-circle-right.svg") no-repeat;
    width: 44px;
    height: 44px;
    transition: 0.2s;
  }
  &:hover::after {
    transform: translateY(-50%) rotate(-45deg);
  }
}
.submit_btn {
  width: 257px;
  height: 80px;
  padding: 0 60px 0 30px;
  border: none;
  border-radius: 80px;
  display: flex;
  text-align: left;
  background-color: var(--b1);
  align-items: center;
  letter-spacing: 0.05em;
  color: white;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: 'Noto Sans CJK JP', 'Noto Sans JP', sans-serif;
  transition: 0.2s;
  &:hover {
    background-color: var(--g);
  }
}
.mail_title {
  padding-left: 10px;
  border-left: 5px solid var(--g);
  margin-bottom: max(7%, 35px);
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
}
/*用件プルダウン*/
.selectdiv {
  position: relative;
  max-width: 300px;
  height: 56px;
}
.selectdiv select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  max-width: 350px;
  width: 100%;
  height: 56px;
  background: url("../images/icon_sellect.svg") no-repeat 95% center;
  padding: 0px 0px 0px 16px;
  font-size: 14px;
  line-height: 1.75;
  border: var(--b1) 1px solid;
  -ms-word-break: normal;
  word-break: normal;
  background-color: #FFF;
  border-radius: 0;
  margin-top: 15px;
}
.mail_textbox {
  font-size: 1.4rem;
  margin-bottom: 60px;
}
/*////////////////////////NEWS LIST///////////////////////////*/
.newslist_wrap {
  margin: 0 auto max(10%, 80px);
  width: min(85%, 1440px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3.2vw, 60px)
}
.newslist_li {
  border-bottom: 1px solid var(--b1);
  padding-bottom: 15px;
}
.topic_list {
  display: flex;
  align-items: center;
  color: var(--black);
}
.news_eyecatch {
  width: max(28%, 150px);
  aspect-ratio: 4/3;
  overflow: clip;
  border-radius: 10px;
  z-index: 1;
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.2s;
  }
}
.news_text {
  margin-left: 3%;
  width: 69%;
  font-size: clamp(1.60rem, 0.21vw + 1.40rem, 1.80rem);
}
.newslist_li:hover .news_eyecatch img {
  transform: scale(1.1);
  filter: brightness(0.6);
}
/*ページャー*/
.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination .page-numbers {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--black);
}
.pagination .current {
  background: var(--b1);
  border-radius: 50%;
  color: #fff;
}
.pagination .prev, .pagination .next {
  background: transparent;
  box-shadow: none;
}
.pagination .dots {
  background: transparent;
  box-shadow: none;
}
.topic_title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  white-space: normal !important;
  word-break: break-all;
}
/*////////////////////////お知らせ記事///////////////////////////*/
.news {
  width: min(90%, 1000px);
  margin: max(4vw, 60px) auto 0;
  border: 1px solid var(--b1);
  padding: min(10%, 80px) min(5%, 50px) min(10%, 80px);
  background-color: #fff;
  border-radius: clamp(30px, 4vw, 75px);
}
.news_head {
  margin-bottom: max(5%, 20px);
}
.news_title {
  font-size: clamp(2.00rem, 2.25vw + 0.50rem, 3.00rem);
  margin-bottom: 0.7em;
  padding-bottom: 0.5em;
  border-bottom: 2px solid var(--b1);
  color: var(--b1);
}
.news_date {
  font-size: 1.4rem;
  margin-right: 1em;
}
.post_eyecatch img {
  margin-bottom: max(6%, 40px);
  width: 100%;
}
.post {
  margin-bottom: max(15%, 30px);
}
.post img, .post iframe, .post embed, .post object, .post video {
  max-width: 100%;
  height: auto;
}
.post h2 {
  font-size: clamp(1.80rem, 1.13vw + 1.05rem, 2.40rem);
  margin: max(6%, 50px) 0 max(3%, 15px);
  position: relative;
  padding-left: 13px;
  color: var(--b1);
}
.post h2:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: var(--g);
}
.post h3 {
  font-size: clamp(1.60rem, 0.75vw + 1.10rem, 2.00rem);
  margin: max(5%, 40px) 0 max(2%, 10px);
  padding-bottom: 0.3em;
  position: relative;
}
.post h3:after {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #939393;
  position: absolute;
  bottom: 0;
  left: 0;
  border-left: 5em solid var(--b1);
}
.post h4, .post h5, .post h6 {
  font-size: clamp(1.60rem, 0.75vw + 1.10rem, 2.00rem);
  margin: max(5%, 40px) 0 max(1%, 10px);
}
.post p {
  margin-bottom: 1em;
}
.post a {
  color: var(--m);
}
.post figure {
  margin: max(7%, 40px) 0;
}
.post ul {
  list-style-type: square;
  list-style-position: outside;
  line-height: 1.5;
  margin: 0 0 20px 1.2em;
}
.post ol {
  list-style-position: outside;
  line-height: 1.5;
  margin: 0 0 20px 1.2em;
}
.post li {
  margin-bottom: 10px;
}
.privacy_post {
  width: min(90%, 1000px);
  margin: 0 auto;
}
.thanks {
  margin: clamp(200px, 10.00vw + 154px, 346px) auto clamp(80px, 10.00vw + 32px, 224px);
  width: min(85%, 1000px);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.thanks_title{
  margin-bottom: 2em;
}
.thanks_p2 {
  margin-bottom: 80px;
}