@charset "UTF-8";
.header-logo h1 {
  margin:0;
  padding:0;
}


/****************** メインイメージ ******************/
.toppage-main {
  position: relative;
  width: 100%;
  padding-top: 43.48%; /* 高さを幅に対して確保（アスペクト比） */
  overflow: hidden;
}
.toppage-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #cce7f6 url('../img/toppage/main/main-12.png') center center/80% auto no-repeat;
}

/* メインコピー */
.toppage-copy {
  position: absolute;
  top: 2vw;
  left: 45%;
  transform: translateX(-50%);
  width: 50%;
  z-index: 1;
  display: flex;
  flex-direction: column;
}
.toppage-copy .main-title {
  width: 100%;
}
.sub-text {
  font-size: 1.4vw;
  line-height: 1vw;
  margin: 0.5vw 0 0 0;
  font-weight: 900;
  padding: 0;
  text-align: center;
}
.sub-text::before {
  display:none;
}

/* 女性と男性イラスト */
.illust-woman {
  width: 22vw;
  position: absolute;
  top: 4vw;
  right: 8vw;
}
.illust-man {
  width: 18vw;
  position: absolute;
  bottom: 3vw;
  right: 17vw;
}

/* サービス紹介ムービー */
.movie-area {
  position: absolute;
  bottom: 3vw;
  left: 5vw;
  width: 20vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #FEE89D;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  font-size: 1.25vw;
}

/* 動画背景 */
.movie-inner {
  position: relative;
  text-align: center;
  width: 80%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  top: 0;
}
.movie-inner b {
  font-size: 1.2vw;
}
.movie-text {
  font-weight: bold;
  white-space: pre-line;
  font-size: 1vw;
  padding: 0 2em 0 2em;
  background: url( "../img/toppage/main/main-11.svg" ) top center / 80% auto no-repeat;
  margin: 0;
}
.movie-link {
  display: flex;
  margin: 0 auto;
  width: 100%;
  justify-content: center;
}
.movie-link img {
  width: 90%;
  border-radius: 6px;
}

/* ３つのアイコン */
.icon-area {
  position: absolute;
  top: 32vh;
  left: 32vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2vw;
  z-index: 3;
  width: 26vw;
}
.icon-box {
  flex: 1;
  text-align: center;
  position: relative;
}
.icon-box img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.icon-box p {
  margin-top: 1.75vh;
  font-size: 1vw;
  font-weight: bold;
  color: #fff;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
}
.icon-box:nth-child(1) p,.icon-box:nth-child(3) p {
  line-height: 2.3em;
}
.icon-box:nth-child(2) p {
  line-height: 1.4em;
  font-size: 1.1vw;
  margin-top: 1.9vh;
}
.icon-box p span {
  font-size: 3vw;
  font-weight: 700;
  display: block;
}
.icon-box:nth-child(1) p span,.icon-box:nth-child(3) p span {
  display:inline-block
}

/* 価格エリア */
.price-area {
  position: absolute;
  bottom: 5vw;
  left: 45vw;
  transform: translateX(-50%);
  z-index: 4;
  text-align: center;
  width: 30vw;
}
.price-area span {
  font-size: 1vw;
  display: block;
  margin: 12vh auto 0 auto;
  font-weight: 700;
  color: #e74264;
  letter-spacing: 0;
}
.price-text {
    background: url( "../img/toppage/main/main-7.svg" ) top center / 80% auto no-repeat;
  font-size: 2vw;
  font-weight: bold;
  display: inline-block;
  width: 100%;
  margin-bottom: 1vw;
}
.campaign-btn,a.red_but {
  display: inline-block;
  background: #e74264;
  color: #fff;
  padding: 0.6em 1.2em;
  border-radius: 50px;
  font-size: 1.5vw;
  text-decoration: none;
  margin-bottom: 0.3em;
  font-weight: bold;
}
.guarantee-text {
  font-size: 1vw;
  font-weight: bold;
}
@media screen and (max-width: 1199px) {
.toppage-copy {
  transform: none;
  left: 5vw;
    width: 60%;
}
.sub-text {
  font-size: 2vw;
  line-height: 1.4vw;
}
.icon-area {
  position: absolute;
  top: 16vh;
}
.icon-box p,.icon-box:nth-child(2) p {
  margin-top: 0;
}
}

/* スマホ対応 */
@media screen and (max-width: 767px){
section {
  padding: 0 !important;
}
a.red_but {
  font-size: 5vw;
}
  .toppage-main {
    position: relative;
    width: 100%;
    padding-top: 0;
    overflow: hidden;
    min-height: 220vw;
  }
.toppage-bg {
  background: #cce7f6 url('../img/toppage/main/main-12.png') top left -30%/200% auto repeat-y;
}
  .toppage-inner {
    position: static;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }

.sub-text {
  font-size: 3vw;
  position: static;
  line-height: 2vw;
}
.toppage-copy {
  position: static;
  transform: none;
  width: 90%;
  margin: 0 auto;
}
.toppage-copy .main-title {
  width: 100%;
  position: static;
}
 .illust-woman {
    width: 38vw;
    top: 39vw;
    right: 4vw;
    z-index: 2;
  }
  .illust-man {
    width: 32vw;
    bottom: 95vw;
    right: 0;
    left: 2vw;
	z-index: 2;
  }
  .movie-area {
    position: static;
        margin: 13em auto 2em auto;
    width: 60vw;
    min-width: 200px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .movie-inner {
    height: auto !important;
  }
.movie-text {
	font-size: 3.5vw;
	background: url( "../img/toppage/main/main-11.svg" ) top center / 80% auto no-repeat;
	padding: 0 9vw;
}
.movie-inner b {
  font-size: 3vw;
}
.icon-area {
  position: static;
  width: 80%;
  margin: 2em auto 0 auto;
  transform: none;
  height: auto !important;
}
.icon-box p {
  margin-top: 2vw !important;
  font-size: 3vw;
}
.icon-box:nth-child(2) p {
  font-size: 3vw;
  margin-top: 5.2vw;
}
.icon-box p span {
  font-size: 9vw;
}
.price-area {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  width: 100%;
  margin: 0 auto;
  height: auto !important;
}
 .price-text {
    background: url( "../img/toppage/main/main-7.svg" ) top center / 100% auto no-repeat;
    display: inline-block;
    padding: 0.5vw 5vw 3vw 5vw;
    position: static;
    transform: none;
    font-size: 8vw;
	width: 80%;
  }
  .price-area span {
    font-size: 3.5vw;
    margin: 1.5vw auto 0 auto !important;
  }
.campaign-btn {
  font-size: 5vw;
}
.guarantee-text {
  font-size: 4vw;
}
}
/****************** 見出しの設定 ******************/
section h2 {
  position: relative;
  display: inline-block;
  font-size: 2.3vw;
  font-weight: bold;
  line-height: 1.2;
  padding: 0 0.6em 0.4em;
  z-index: 1;
  margin-bottom: 0.5em;
  font-weight: 900;
  letter-spacing: 0.2vw;
}
section h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;              /* 文字の真下に */
  width: 100%;
  height: 0.4em;          /* マーカーの高さ */
  background: #e74264;
  z-index: -1;
  clip-path: polygon(
    8px 0,
    100% 0,
    calc(100% - 8px) 100%,
    0 100%
  );
}
section h3 {
  font-size: 1.8vw;
  line-height: 1.2;
  font-weight: 800;
  white-space: pre-line;
  margin-bottom:1em;
}
@media screen and (max-width: 1199px) {
section h2 {
  font-size: 4vw;
}
section h3 {
  font-size: 3vw;
}
}
@media screen and (max-width: 767px){
section {
  padding: 0;
}
section h2 {
  font-size: 5.5vw;
}
section h3 {
  font-size: 4.5vw;
  margin: 2vw auto 4vw auto;
}
}
/****************** 講師紹介 ******************/
.sec01_slider .slider-img {
  padding:1vw;
  text-align:center;
}
.sec01_slider .slider-img a {
  padding:1vw;
  background:#4abaa4;
  border-radius:10px;
  text-decoration: none;
  color:#000;
  line-height:1.4em;
  height: 25vw;
  display: flex;
  flex-direction: column;     /* 縦並びに */
  justify-content: flex-start; /* 上揃え */
  align-items: center;        /* 横方向中央揃え */
}
.sec01_slider .slider-img img {
  border-radius:10px;
  object-fit:cover;
  height:14vw;
  width: 100%;
  background-color: #fff;
}
.sec01_slider .slider-img h4 {
  font-size:1.2vw;
  margin-top:0.5em;
}
.sec01_slider .teacher-fri {
  font-size: 0.7vw;
  line-height: 1.5em;
  margin-bottom:0.5em;
}
.sec01_slider .teacher-cont,.sec01_slider .teacher-works {
  text-align:left;
  font-weight: bold;
  font-size:0.75vw;
  line-height: 1.3em;
  letter-spacing: 0em;
  display: block;
  width: 100%;
}
.sec01_slider .teacher-info {
  display: flex;
  flex-direction: column;     /* 縦並びに */
  justify-content: flex-start; /* 上揃え */
  align-items: center;        /* 横方向中央揃え */
}
	
/* スライダーの左右矢印 */
.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  font-size: 50px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  background:none !important;
}
.slick-prev {
  left: -2.8vw !important;
}
.slick-next {
  right: -3vw !important;
}
.slick-prev:before, .slick-next:before {
  font-size: 50px !important;
  color: #4abaa4 !important;
  background: rgba(0,0,0,0) !important;
  opacity: 1 !important;
  line-height: 1.5;
}
.slick-prev:hover,
.slick-next:hover {
  background: rgba(0,0,0,0.8);
}
@media screen and (max-width: 1199px) {
.slick-prev {
  left: -7vw !important;
}
.slick-next {
  right: -7vw !important;
}
.sec01_slider .slider-img h4 {
  font-size:2vw;
}
.sec01_slider .teacher-fri {
  font-size: 0.9vw;
}
.sec01_slider .teacher-cont,.sec01_slider .teacher-works {
  font-size:1.2vw;
}
.sec01_slider .slider-img a {
  height: 28vw;
}	
}
@media screen and (max-width: 767px){
.sec01_slider,.sec02_slider {
  width: 80%;
  margin: 0 auto;
}
.sec01_slider .slider-img a {
  padding: 3vw;
  height:auto;
}
.sec01_slider .slider-img img {
  height: 50vw !important;
}
.sec01_slider .slider-img h4 {
  font-size:4.5vw;
}
.sec01_slider .teacher-fri {
  font-size: 2vw;
}
.sec01_slider .teacher-cont,.sec01_slider .teacher-works {
  font-size:2.5vw;
}
.slick-prev,
  .slick-next {
    font-size: 25px;
    width: 25px;
    height: 25px;
  }

  .slick-prev:before,
  .slick-next:before {
    font-size: 25px !important;
  }

  .slick-prev {
  left: -10.5vw !important;
  }

  .slick-next {
  right: -8.5vw !important;
  }
}
/****************** sec02ライブ講義 ******************/
.Sec_02 {
  padding:0;
}
.Sec_02 h2::before {
  display:none;
}
.Sec_02 .slick-slide a img {
  padding:1vw;
  border-radius: 30px;
}
@media screen and (max-width: 1199px) {
.Sec_02 .slick-slide a img {
  border-radius: 20px;
}
}
@media screen and (max-width: 767px){
.Sec_02 .slick-slide a img {
  border-radius: 10px;
}
}
/****************** sec03やさビが大事にしているもの ******************/
.Sec_03 .section_inner {
  position:relative;
  padding: 0 0 3em 0;
}
.yasabi_po {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 900px;
  margin: 2em auto;
}
.yasabi_po .po_inner {
  flex: 1 1 0;
  background-size: 90% auto;
  background-repeat: no-repeat;
  background-position: top center;
  color: #fff;
  padding: 4vw 0;
}
.yasabi_po .item1 {
  background-image: url("../img/toppage/sec05/bg1.svg");
}
.yasabi_po .item2 {
  background-image: url("../img/toppage/sec05/bg2.svg");
}
.yasabi_po .po_after {
  flex: 0 0 10%;
  background: url("../img/toppage/sec05/after.svg") top center / 90% auto no-repeat;
  aspect-ratio: 1 / 1;
}
.yasabi_po div b {
  font-size: 2vw;
  font-family: "ads-akari", sans-serif;
  font-weight: 400;
  margin: 0 auto 1vh auto;
  display: block;
}
.yasabi_po div h3 {
  font-size: 3vw;
  font-weight: 500;
  display: block;
  margin-bottom: 0.5vh;
}
.yasabi_po div p {
  white-space: pre-line;
  font-weight: bold;
  font-size: 1.2vw;
}
img.item1_img,img.item2_img {
  position:absolute;
}
img.item1_img {
  width:20%;
  bottom:0;
}
img.item2_img {
  width:25%;
  right: 5vw;
  bottom:-2vw;
}
@media screen and (max-width: 1199px) {
.yasabi_po {
  width: 100%;
}
.yasabi_po .po_inner {
  padding: 1.2vw 0 5vw 0;
}
.yasabi_po div b {
  font-size: 3vw;
}
.yasabi_po div h3 {
  font-size: 4vw;
}
.yasabi_po div p {
  font-size: 1.7vw;
}
img.item1_img {
  width: 30%;
}
img.item2_img {
  width: 35%;
  right: -6vw;
}
}
@media screen and (max-width: 767px){
.yasabi_po {
  display: block;
  margin:0;
}
.yasabi_po .po_inner {
    width: 90%;
    padding: 5vw 0 20vw 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
.yasabi_po div b {
  font-size: 6vw;
  margin: 0.5em auto 0.7em auto;
}
.yasabi_po div h3 {
  font-size: 7.5vw;
}
.yasabi_po div p {
  font-size: 4vw;
}
.yasabi_po .po_after {
  display: none;
}
img.item1_img {
  width: 40%;
  top: 88vw;
  left:2vw;
  right:0;
  bottom:0;
}
img.item2_img {
  width: 55%;
  right: -6vw;
  bottom: 20vw;
}
}
/****************** sec04選ばれる理由 ******************/
.Sec_04,.Sec_06 {
  margin:0;
}
.Sec_04 .section_inner,.Sec_06 .section_inner {
  margin: 3em auto;
  position: relative;
  width: 100%;
  padding: 4em;
}
.Sec_04 h2,.Sec_06 h2{
  background: url("../img/toppage/sec06/h2_bg.svg") center center / 100% auto no-repeat;
  letter-spacing: 0.08em;
  font-weight: 500;
  padding: 3vw;
  position: absolute;
  left: 15vw;
  top: -3vw;
}
.Sec_04 h2 span,.Sec_06 h2 span {
  display: inline-block;
  transform: rotate(-9deg);
  color:#fff;
}
.Sec_04 h2:before,.Sec_06 h2:before{
  display:none !important;
}
.Sec_04 h3 {
  background: url("../img/toppage/sec06/h3_bg.svg") top center / 100% auto no-repeat;
  display: inline-block;
  padding: 0.3em 1.2em;
  font-size: 2.5vw;
  margin: 0;
}
.Sec_04 ul {
  width: 1000px;
  margin: 1em auto 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 2em; /* li の間隔を調整 */
}

.Sec_04 ul li {
  flex: 1;
  text-align: center;
}
.Sec_04 ul li .li_inner {
  border-radius: 20px;
  padding: 2em;
  color: #fff;
  background: url("../img/toppage/sec06/yajirushi.png") top left 5% / 20% auto no-repeat;
  position: relative;
  height: 19vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.Sec_04 ul li:nth-child(1) .li_inner,
.Sec_04 ul li:nth-child(3) .li_inner {
  background-color: #4ab9a4;
}
.Sec_04 ul li:nth-child(2) .li_inner {
  background-color: #73abda;
}
.Sec_04 ul li .li_inner::before {
  position: absolute;
  top: 0;
  left: 1.75vw;
  font-weight: bold;
  font-size: 2vw;
}
.Sec_04 ul li:nth-child(1) .li_inner::before {
  content:"１";
  color:#4ab9a4;
}
.Sec_04 ul li:nth-child(2) .li_inner::before {
  content:"２";
  color:#73abda;
}
.Sec_04 ul li:nth-child(3) .li_inner::before {
  content:"３";
  color:#4ab9a4;
}
.Sec_04 ul .li_inner b {
  font-size: 1.5vw;
  display: block;
  width: 80%;
  margin-left: 20%;
  text-align: left;
}
.Sec_04 ul .li_inner h4,.Sec_04 ul .li_inner p  {
  white-space:pre-line;
}
.Sec_04 ul .li_inner h4 {
  font-size: 2vw;
  margin: 1vw 0;
}
.Sec_04 ul .li_inner p {
  font-size: 1vw;
}
@media screen and (max-width: 1199px) {
.Sec_04,.Sec_06 {
  padding: 1em 0;
}
.Sec_04 h2,.Sec_06 h2 {
  padding: 5vw;
  left: 5vw;
  top: -6vw;
}
.Sec_04 h3 {
  font-size: 4vw;
}
.Sec_04 ul {
  width: 100%;
}
.Sec_04 ul li .li_inner {
  border-radius: 10px;
  padding: 2em 0.5em;
  height: 25.5vw;
}
.Sec_04 ul li .li_inner::before {
  left: 2.5vw;
}
.Sec_04 ul .li_inner b {
  font-size: 2.2vw;
}
.Sec_04 ul .li_inner h4 {
  font-size: 3vw;
  line-height: 1.3em;
}
.Sec_04 ul .li_inner p {
  font-size: 1.5vw;
}
}

@media screen and (max-width: 767px){
.Sec_04 .section_inner,.Sec_06 .section_inner  {
  margin: 0 auto;
  padding: 4em 2em;
}
  .Sec_04 h2,.Sec_06 h2 {
    padding: 5vw 10vw;
    font-size: 7vw;
  }
  .Sec_04 h3 {
    font-size: 6vw;
  }
.Sec_04 ul {
  display: block;
  width: 80%;
  margin: 1em auto 0 auto;
}
.Sec_04 ul li {
  margin-bottom: 0;
}
.Sec_04 ul li:last-child {
  margin-bottom: 0;
}
 .Sec_04 ul li .li_inner {
    border-radius: 10px;
    padding: 1.5em 0.5em;
    height: auto;
  }
.Sec_04 ul li .li_inner::before {
  left: 5.6vw;
  font-size: 6vw;
}
.Sec_04 ul .li_inner b {
  font-size: 5.5vw;
  width: 80%;
  margin-left: 25%;
}
.Sec_04 ul .li_inner h4 {
  font-size: 8vw;
  margin: 2.5vw 0;
}
.Sec_04 ul .li_inner p {
  font-size: 3.5vw;
}
}
/****************** sec05やさビで楽しめるコンテンツ ******************/
.Sec_05 {
  position:static;
  clear:both;
}
.Sec_05 h2 {
  display: inline-flex;      /* 中身の幅に合わせる */
  align-items: center;       /* 縦中央揃え */
  gap: 0.5em;                /* テキストと画像の間隔 */
  font-size: 2.5vw;
  margin: 0 auto;            /* センター寄せ */
}
.Sec_05 h2 img {
  height: 2em;
  width: auto;
  vertical-align: middle;
  margin-bottom: 0.3em;
}
.Sec_05 .sec05_cont {
  width: 1000px;
  margin: 3vw auto 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px 0;
}
.Sec_05 .innner_cont {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.Sec_05 .innner_cont .li_inner {
  height: 15vw;
  width: 60%;
  text-align: center;
  display: block;
  height: 25vw;
  padding: 0;
  position: relative;
}
.Sec_05 .innner_cont .contimg {
  width: 40%;
}

/* 奇数行 → 左テキスト・右画像 */
.Sec_05 .innner_cont:nth-child(odd) {
  flex-direction: row; /* デフォルト：左から右 */
}
.Sec_05 .innner_cont:nth-child(odd) .li_inner {
  background: url("../img/toppage/sec07/bg01.svg") top center / 80% auto no-repeat;
  padding: 2vw 0;
}

/* 偶数行 → 右テキスト・左画像 */
.Sec_05 .innner_cont:nth-child(even) {
  flex-direction: row-reverse; /* 右から左に並べる */
}
.Sec_05 .innner_cont:nth-child(even) .li_inner {
  background: url("../img/toppage/sec07/bg02.svg") top center / 80% auto no-repeat;
}
/* 3コ目微調整 */
.Sec_05 .innner_cont:nth-child(3) .li_inner {
  padding: 1vw 0;
}
/* 4コ目微調整 */
.Sec_05 .innner_cont:nth-child(4) .li_inner {
  padding: 2.5vw 0;
}
.Sec_05 .innner_cont h3 {
  margin: 0 0 0.5em;
  display: inline-flex;          
  align-items: flex-end;       /* 下ぞろえ */
  gap: 0.5em;                 
  font-size: 1.5vw;    
letter-spacing: 0;  
}
.Sec_05 .innner_cont h3::before {
  content: "";
  display: inline-block;
  width: 3em;
  height: 3em;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  flex-shrink: 0;
  transform: scale(1.1);       /* 文字に対して110%に拡大 */
  transform-origin: bottom;
  margin-right: -0.4em;
}
.Sec_05 .innner_cont:nth-child(4) span {
  display:block;
}


.Sec_05 .innner_cont:nth-child(1) h3::before {
  background-image: url("../img/toppage/sec07/point1.svg")!important;
}
.Sec_05 .innner_cont:nth-child(2) h3::before {
  background-image: url("../img/toppage/sec07/point2.svg")!important;
}
.Sec_05 .innner_cont:nth-child(3) h3::before {
  background-image: url("../img/toppage/sec07/point3.svg")!important;
}
.Sec_05 .innner_cont:nth-child(4) h3::before {
  background-image: url("../img/toppage/sec07/point4.svg")!important;
}
.Sec_05 .innner_cont:nth-child(5) h3::before {
  background-image: url("../img/toppage/sec07/point5.svg")!important;
}
.pc01img,.pc02img,.spimg,.supportimg{
  display:block;
  margin: 0 auto;
}	
.pc01img,.pc02img{
  width:50%;
}
.spimg {
  width: 23%;
}
.supportimg{
  width:55%;
}
.preimg {
  width: 50%;
  margin: 1vw auto 0 auto;
  display: block;
}
.baloon01,.baloon02,.baloon03 {
  width: 10vw;
  height: 10vw;
  position: absolute;
  display: flex;                /* フレックスボックスで */
  justify-content: center;      /* 横中央 */
  align-items: center;          /* 縦中央 */
  text-align: center;           /* 複数行なら中央寄せ */
  white-space: pre-line;
  font-size: 0.85vw;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.4em;
}	
.baloon01 {
  background: url("../img/toppage/sec07/baloon01.svg") top center / 100% auto no-repeat;
  bottom: 6vw;
  right: 0
}
.baloon02 {
  background: url("../img/toppage/sec07/baloon02.svg") top center / 100% auto no-repeat;
  bottom: 6vw;
  left: 0
}
.baloon03 {
  background: url("../img/toppage/sec07/baloon03.svg") top center / 100% auto no-repeat;
  bottom: 3vw;
  right: -10vw;
  width: 22vw;
  height: 8.4vw;
  text-align: left;
  padding-left: 2vw;
  font-size: 0.8vw;
}
.Sec_05 .innner_cont p {
  background: url("../img/toppage/sec07/pbg.svg") bottom center / 100% auto no-repeat;
  display: inline-block;
  text-align: center;
  white-space: pre-line;
  font-weight: bold;
  letter-spacing: 0;
  font-size: 0.9vw;
  line-height: 1.2em;
  padding: 0 2vw;
}
.Sec_05 .innner_cont:nth-child(3) p {
  font-size: 1.2vw;
}
.icon01_img,.icon02_img,.icon03_img,.icon04_img,.icon05_img {
  position: absolute;
  width: 5.5vw;
}
.icon01_img {
  top: -3vw;
  right: 0;
}
.icon02_img {
  top: -3vw;
  left: 0;
}
.icon03_img {
  top: -1vw;
  left: -3vw;
}
.icon04_img {
  top: 3vw;
  left: 37vw;
}
.icon05_img {
  top: -2vw;
  right: 2vw;
  transform: rotate(-20deg);
  transform-origin: center center;
}
@media screen and (max-width: 1199px) {
.Sec_05 .section_inner{
  width:100%;
}
.Sec_05 .sec05_cont {
  width: 90%;
}
.Sec_05 .innner_cont .li_inner {
  height: 35vw;
}
.Sec_05 .innner_cont h3 {
  font-size: 2.5vw;
}
.Sec_05 .innner_cont p {
  font-size: 1.3vw;
  padding: 0 4vw;
}
.Sec_05 .innner_cont:nth-child(3) p {
  font-size: 1.6vw;
}
.baloon01, .baloon02, .baloon03 {
  width: 15vw;
  height: 15vw;
  font-size: 1.3vw;
}
.baloon01, .baloon02 {
  bottom: 8vw;
}
.baloon03 {
  bottom: 8vw;
  width: 30vw;
  height: 11.7vw;
  font-size: 1.1vw;
}
.icon01_img, .icon02_img, .icon03_img, .icon04_img, .icon05_img {
  width: 6.5vw;
}
.icon04_img {
  left: 50vw;
}
}

@media screen and (max-width: 767px){
.Sec_05 h2 {
  font-size: 4vw;
  margin-bottom: 1.5em;
}
.Sec_05 .sec05_cont,.Sec_05 .innner_cont {
  display: block;
}
.Sec_05 .innner_cont .li_inner {
  width: 100%;
  height: auto;
  min-height: auto;
  padding: 2vw 0 0 0;
  margin-top: 0;
}
  .Sec_05 .sec05_cont {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
.Sec_05 .innner_cont .contimg {
  width: 50%;
  display: block;
}
.Sec_05 .innner_cont:nth-child(odd) .contimg,.Sec_05 .innner_cont:nth-child(even) .contimg{
  display: block;
  margin: -6em 0 0 0;
}
  .Sec_05 .innner_cont h3 {
    font-size: 5vw;
  }
  .Sec_05 .innner_cont h3::before {
    width: 12vw;
    height: 12vw;
  }
  .baloon01, .baloon02, .baloon03 {
    width: 25vw;
    height: 25vw;
    font-size: 2vw;
  }
  .baloon03 {
    width: 38vw;
    height: 15.5vw;
    font-size: 1.5vw;
    right: 0;
  }
  .Sec_05 .innner_cont p,.Sec_05 .innner_cont:nth-child(3) p {
    font-size: 3vw;
    padding: 0 8vw;
	margin-bottom: 0.5em;
  }
  .icon01_img, .icon02_img, .icon03_img, .icon04_img, .icon05_img {
    width: 10vw;
  }
  .icon04_img {
    left: inherit;
    bottom: 20vw;
    top: initial;
    right: 20vw;
  }
}
/****************** sec06使い方 ******************/
.Sec_06 h2 {
  background: url("../img/toppage/sec08/h2_bg.svg") center center / 100% auto no-repeat;
  padding: 5vw;
  top: -5vw;
}
.Sec_06 ul {
  width: 800px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 4em; /* 任意。隙間が欲しければ調整 */
  padding: 0;
  list-style: none;
  position:relative;
}
.Sec_06 ul li {
  width: calc(50% - 2em);
  background: url("../img/toppage/sec08/bg.svg") top center / 100% auto no-repeat;
  box-sizing: border-box;
  padding: 4vw 3vw 2vw 3vw;
  position: relative;
      min-height: 26vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.Sec_06 .case_img {
  position:absolute;
  top:0.5vw;
  left:-2vw;
  width:30%;
}
.Sec_06 .photo_img {
  width:90%;
    margin: 0 auto 0.5em auto;
}
.Sec_06 h3 {
  font-size: 1vw;
  white-space: pre-line;
  margin-bottom: 0.4em;
  line-height: 1.2em;
}
.Sec_06 ul li:nth-child(1) h3,.Sec_06 ul li:nth-child(4) h3 {
  color:#e74264;
}
.Sec_06 ul li:nth-child(2) h3,.Sec_06 ul li:nth-child(3) h3 {
  color:#73abda;
}
.Sec_06 p {
  font-size: 0.7vw;
  font-weight: bold;
  line-height: 1.2em;
  text-align: left;
  letter-spacing: 0;
}
@media screen and (max-width: 1650px) {
.Sec_06 ul li {
    min-height: 27vw;
}
.Sec_06 p {
  font-size: 0.8vw;
}
}
@media screen and (max-width: 1550px) {
.Sec_06 ul li {
    min-height: 31vw;
}
}
@media screen and (max-width: 1550px) {
.Sec_06 ul li {
    min-height: 35vw;
}
.Sec_06 h3 {
  font-size: 1.1vw;
}
.Sec_06 p {
  font-size: 0.9vw;
}
}
@media screen and (max-width: 1199px) {
.Sec_06 ul {
  width: 80%;
}
.Sec_06 ul li {
    min-height: 37vw;
}
.Sec_06 h3 {
  font-size: 1.3vw;
}
.Sec_06 p {
  font-size: 1vw;
}
}
@media screen and (max-width: 767px){
 .Sec_06 h2 {
    padding: 15vw;
    top: -15vw;
  }
.Sec_06 ul {
  display: block;
  width: 70%;
}
.Sec_06 ul li {
  width: 100%;
  padding: 10vw 6vw 8vw 6vw;
  min-height: 75vw;
}
.Sec_06 .photo_img {
  margin: 0 auto 0.2em auto;
  width: 90%;
}
.Sec_06 .case_img {
  left: -4vw;
  width: 40%;
}
  .Sec_06 h3 {
    font-size: 3vw;
  }
  .Sec_06 p {
    font-size: 2.1vw;
  }
}
/****************** sec07ユーザーの声 ******************/
.Sec_07 ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2%; /* アイテム間の余白（必要に応じて調整） */
  justify-content: space-between;
  max-width: 100%;
  padding: 0;
  margin: 2vw auto 0 auto;
  list-style: none;
}
.Sec_07 ul li {
  width: 23%; /* 100 ÷ 4列 − gap分 */
  box-sizing: border-box;
  margin-bottom: 2em; /* 下の段との余白 */
}
.Sec_07 .voice_inner {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  _border: solid 1px #ccc;
  box-shadow: 0 0px 5px var(--swl-color_shadow);
}
.Sec_07 .voice_inner a {
  color:#555;
  text-decoration:none;
}
.Sec_07 .voice_inner img {
  height: 15vw;
  object-fit: cover;
  width: 100%;
}
.Sec_07 .voice_content {
  padding: 1em;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.Sec_07 .voice_syu {
  background: #F73F67;
  color: #fff;
  padding: 0.1em 0.7em;
  font-size: 0.9vw;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  align-self: flex-start;     /* ←追加 */
  max-width: fit-content; 
}
.Sec_07 b.voice_title {
  font-size: 1.1vw;
  margin: 0.5em 0;
  display: block;
  line-height: 1.3em;
}
.Sec_07 p.voice_gai {
  font-size: 0.9vw;
}
.Sec_07　a.red_but {
  padding: 0.6em 2em;
}
@media screen and (max-width: 1199px) {
.Sec_07 .voice_content {
  padding: 0vw 1vw 1vw 1vw;
}
.Sec_07 .voice_syu {
  border-radius: 3px;
}
}

@media screen and (max-width: 767px){
.Sec_07 ul {
  display: block;
  margin: 4vw auto 0 auto;
  width: 90%;
}
.Sec_07 ul li {
  width: 100%;
}
.Sec_07 .voice_inner img {
  height: 45vw;
}
  .Sec_07 .voice_content {
    padding: 0vw 3vw 3vw 3vw;
  }
.Sec_07 .voice_syu {
  font-size: 3vw;
}
.Sec_07 b.voice_title {
  font-size: 4vw;
}
.Sec_07 p.voice_gai {
  font-size: 3.5vw;
}
}
/****************** sec08他サービスとの違い ******************/
.Sec_08 h3 {
  margin: 2vw 0 0 0;
  font-size: 1.4vw
}
.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* スムーズスクロール（iOS対応） */
  width: 100%;
}
.scroll-hint {
  display: none;
}
.comparison-table {
  width: 90%;
  border-collapse: collapse;
  text-align: center;
  font-size: 1vw;
  margin: 2vw auto 0 auto;
  min-width: 800px;
}
.comparison-table th, .comparison-table td {
  border: 2px solid #fff;
  vertical-align: middle;
  padding: 0.5em 1em;
}
.comparison-table tr.head_bg {
  background-color: #73abda;
}
.comparison-table tr:nth-child(1),.comparison-table tr:nth-child(3),.comparison-table tr:nth-child(5) {
  background-color: #c2e5f8;
}
.comparison-table tr:nth-child(2),.comparison-table tr:nth-child(4){
  background-color: #e4f3fb;
}
.comparison-table tr.head_bg {
  background-color: #73abda;
  color: #fff;
}
/* 1列目文字色 */
.comparison-table td:first-child,
.comparison-table th:first-child {
  color: #23648e;
  font-size: 1.2vw;
}
/* 2列目（やさび列） */
.comparison-table tr:first-child th:nth-child(2) {
  background-color: #eb7189;
}
.comparison-table tr:nth-child(1) td:nth-child(2),
.comparison-table tr:nth-child(3) td:nth-child(2),
.comparison-table tr:nth-child(5) td:nth-child(2) {
  background-color: #f3aebf;
}
.comparison-table tr:nth-child(2) td:nth-child(2),
.comparison-table tr:nth-child(4) td:nth-child(2) {
  background-color: #f8d0dd;
}
@media screen and (max-width: 1199px) {
.Sec_08 h3 {
  font-size: 2vw;
}
.comparison-table {
  width: 100%;
}
}

@media screen and (max-width: 767px){
.Sec_08 h3 {
  font-size: 3.5vw;
}
.scroll-hint {
  display: block;
  text-align: center;
  font-size: 3vw;
}
.comparison-table {
  font-size: 3vw;
}
.comparison-table td:first-child, .comparison-table th:first-child {
  font-size: 3.5vw;
}
}
/****************** sec09期間限定キャンペーン中 ******************/
.Sec_09 h2 {
  background: url("../img/toppage/sec11/h2_bg.svg") center center / 100% auto no-repeat;
  color:#e84163;
  padding: 1vw 5vw;
  margin-top:1em;
}
.Sec_09 h2::before {
  display:none;
}
.Sec_09 h3 {
  margin: 0 auto 1.5vw auto;
}
.Sec_09 strong {
  color: #e84163;
  font-size: 2.5vw;
  font-weight: 900;
}
.Sec_09 strong span {
  font-size: 5vw;
  display: inline-block;
  margin: 0 0.5vw;
}
/* ul li に SVG アイコン表示 */
.Sec_09 ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 40%;
  font-weight: 900;
  font-size: 1.3vw;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;

}
.Sec_09 ul li {
  position: relative;
  padding-left: 2em;
  margin-bottom: 0.5em;
  line-height: 1.6;
}
.Sec_09 ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.2em; /* テキストとアイコンの縦位置調整 */
  width: 1.2em;
  height: 1.2em;
  background: url("../img/toppage/sec11/ico.svg") no-repeat center center / contain;
}

/* .bottom_flex：2カラム等幅レイアウト */
.bottom_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  width: 60%;
  margin: 2vw auto 0 auto;
}
.bottom_flex > div {
  flex: 1 1 48%;
  box-sizing: border-box;
}
.bottom_flex > div a.red_but {
  font-size: 2vw;
  padding: 0.6em 2em;
  margin-top: 1em;
}
.bottom_flex > div:first-child p {
  font-weight: 900;
  font-size: 1.4vw;
}
/* 2個目のdivに背景画像 */
.bottom_flex > div:last-child {
  background: url("../img/toppage/sec11/divbg.svg") center center / 100% auto no-repeat;
  font-weight: bold;
  white-space: pre-line;
  padding: 0 2vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.bottom_flex > div:last-child p {
  color: #fff;
  font-size: 1.3vw;
}
@media screen and (max-width: 1199px) {
.Sec_09 strong {
  font-size: 3vw;
}
.Sec_09 strong span {
  font-size: 7vw;
}
.Sec_09 ul {
  width: 60%;
  font-size: 2vw;
}
.bottom_flex {
  width: 90%;
}
.bottom_flex > div a.red_but {
  font-size: 3vw;
}
.bottom_flex > div:first-child p,.bottom_flex > div:last-child p {
  font-size: 2vw;
}
}

@media screen and (max-width: 767px){
.Sec_09 .section_inner {
    width: 90%;
  }
.Sec_09 h2 {
  padding: 1vw 9vw;
}
  .Sec_09 strong {
    font-size: 5vw;
  }
 .Sec_09 strong span {
    font-size: 10vw;
  }
  .Sec_09 ul {
    width: 90%;
    font-size: 3.5vw;
  }
  .bottom_flex {
    display: block;
  }
  .bottom_flex > div a.red_but {
    font-size: 6vw;
  }
  .bottom_flex > div:first-child p, .bottom_flex > div:last-child p {
    font-size: 4.5vw;
  }
.bottom_flex > div:last-child {
  margin-top: 3vw;
  padding: 5.2vw 0;
}
}

/****************** sec10よくある質問 ******************/
.Sec_10 h2::before {
  display: none;
}
.Sec_10 .accordion-content {
  display: none;
}
.Sec_10 .accordion {
  width: 50%;
  margin: 0 auto;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;

}
.Sec_10 .accordion-header {
  position: relative;
  background-color: #FFF;
  padding: 1vw 4vw 1vw 2vw; /* 右スペース広めに */
  margin: 1.5vw 0 0;
  transition: background 0.3s ease;
  cursor: pointer;
  border-radius: 10px;
  font-weight: 900;
  font-size: 1.2vw;
}
/* 丸背景（固定） */
.Sec_10 .accordion-header::after {
  content: '';
  background-color: #73abda;
  border-radius: 50%;
  width: 2.2em;
  height: 2.2em;
  position: absolute;
  top: 50%;
  right: 1vw;
  transform: translateY(-50%);
}
/* アイコン（回転 & 完全中央揃え） */
.Sec_10 .accordion-header::before {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.2em;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 1vw;
  width: 1.8em;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s ease;
  z-index: 1;
}
/* 開いたときにアイコンだけ回転 */
.Sec_10 .accordion-header.active::before {
  transform: translateY(-50%) rotate(180deg);
}
/* 本文 */
.Sec_10 .accordion-content {
  background-color: #FFF;
  padding: 1.5vw;
  margin-top: 0.5vw;
  border-radius: 10px;
  font-size: 1vw;
}
/* hover */
.Sec_10 .accordion-header:hover {
  background-color: #F2F2F2;
}
@media screen and (max-width: 1199px) {
.Sec_10 .accordion {
  width: 80%;
}
.Sec_10 .accordion-header {
  font-size: 2vw;
  padding: 1.5vw 4vw 1.5vw 2vw;
}
.Sec_10 .accordion-content {
  font-size: 1.5vw;
}
}

@media screen and (max-width: 767px){
.Sec_10 .accordion {
  width: 100%;
}
.Sec_10 .accordion-header {
  border-radius: 5px;
  font-size: 4vw;
  padding: 3vw 4vw 1.5vw 3vw;
  margin: 3vw 0 0;
}
.Sec_10 .accordion-content {
  padding: 3vw;
  margin-top: 1vw;
  border-radius: 5px;
  font-size: 3.5vw;
}
}
/************************************ 超大型（4K）モニター用 ************************************/
@media screen and (min-width: 3820px) {
  .section_inner {
    width: 3600px !important;
  }

  /****************** 講師紹介 ******************/
  .sec01_slider .teacher-fri {
    margin: 0.5vw auto;
  }

  /****************** sec03やさビが大事にしているもの ******************/
  .yasabi_po {
    width: 1500px;
  }
  .yasabi_po .po_inner {
    padding: 3vw 0;
  }

  /****************** sec04選ばれる理由 ******************/
  .Sec_04 ul {
    width: 2300px;
  }

  /****************** sec05やさビで楽しめるコンテンツ ******************/
  .Sec_05 .sec05_cont {
    width: 1800px;
  }

  /****************** sec06使い方 ******************/
  .Sec_06 ul {
    width: 1550px;
  }
}


/************************************ 特例大型モニターサイズ指定 ************************************/
@media screen and (min-width: 1920px) {
  .section_inner {
    width: 1800px;
  }
  /****************** 講師紹介 ******************/
  .sec01_slider .slider-img h4 {
    font-size: 1vw;
  }
  .sec01_slider .teacher-cont,
  .sec01_slider .teacher-works {
    font-size: 0.6vw;
  }
.sec01_slider .slider-img {
  padding:0.5vw;
}
.sec01_slider .slider-img img {
  height:10vw !important;
}

.sec01_slider .slider-img a {
  padding:0.5vw;
  height:18vw !important;
}
  /****************** sec06使い方 ******************/
  .Sec_06 ul li {
    min-height: 20vw;
  }
  .Sec_06 p {
    font-size: 1.1vw;
  }

  /****************** sec03やさビが大事にしているもの ******************/
  .yasabi_po .po_inner {
    padding: 3vw 0;
  }
  .yasabi_po div b {
    font-size: 1.3vw;
  }
  .yasabi_po div h3 {
    font-size: 1.8vw;
  }
  .yasabi_po div p {
    font-size: 0.8vw;
  }
  img.item1_img {
    width: 10vw;
    bottom: 0;
  }
  img.item2_img {
    right: 15vw;
    width: 12vw;
  }

  /****************** sec04選ばれる理由 ******************/
  .Sec_04 ul {
    width: 1500px;
  }

  /****************** sec06使い方 ******************/
  .Sec_06 ul {
    width: 1100px;
  }

  /****************** sec09期間限定キャンペーン中 ******************/
  .bottom_flex > div:last-child p {
    padding-top: 1vw;
  }
}


/************************************ 中型モニターサイズ指定 ************************************/
@media screen and (max-width: 1300px) {
  .Sec_05 .innner_cont:nth-child(2n+1) .li_inner {
    background: url("../img/toppage/sec07/bg01.svg") top center / 70% auto no-repeat;
  }
}


