@charset "utf-8";
/* ------ TOPs ------ */
body .wrapper {
 padding-top: 126px;
}
/*メイン*/
.l_top_main {
 width: 100%;
 overflow: hidden;
 margin: 0 auto 0 auto;
 position: relative;
 background: url("../images/index/bg_main_pc.jpg") no-repeat center center;
 background-size: cover;
}
/* ===============================
  Swiper 共通
=============================== */
/* wrapper */
.l_top_main .swiper {
 width: 100%;
 height: 580px;
}
.l_top_main .swiper-wrap {
 width: 1000px;
 margin: 0 auto;
 padding: 25px 0 30px 0;
 ;
 height: 580px;
}
.l_top_main .swiper-wrapper {
 display: flex;
}
.l_top_main .swiper-slide {
 width: 100%;
}
.l_top_main .swiper-slide img {
 width: 100%;
 display: block;
}
.l_top_main .swiper-slide a:hover {
 opacity: 1 !important;
}

/* ページネーション見た目（任意） */
.swiper-pagination-main {
 position: absolute;
 bottom: 15px !important;
 text-align: center;
}
.swiper-pagination-bullet {
 width: 12px;
 height: 12px;
 opacity: 1;
 background: #fff;
 border: #ccc 1px solid;
}
.swiper-pagination-bullet-active {
 background: #702e30;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
 margin: 0 10px !important;
}

@media screen and (max-width: 767px) {
	body .wrapper {
 padding-top: 67px;
}
	.l_top_main {
 width: 100%;
 overflow: hidden;
 margin: 0 auto 0 auto;
 position: relative;
 background: url("../images/index/bg_main_sp.jpg") no-repeat center center;
 background-size: cover;
}
	
	.l_top_main .swiper {
 width: 100%;
 height: 99.3vw;
}
.l_top_main .swiper-wrap {
 width: 100%;
 margin: 0 auto;
 padding: 6vw 0 6vw 0;
 ;
 height: 99.3vw;
}
.l_top_main .swiper-wrapper {
 display: flex;
}
.l_top_main .swiper-slide {
 width: 100%;
}
.l_top_main .swiper-slide img {
 width: 100%;
 display: block;
}
.l_top_main .swiper-slide a:hover {
 opacity: 1 !important;
}
	
	/* ページネーション見た目（任意） */
.swiper-pagination-main {
 position: absolute;
 bottom: 11vw !important;
 text-align: center;
}
.swiper-pagination-bullet {
 width: 7px;
 height: 7px;
 opacity: 1;
 background: #fff;
 border: #ccc 1px solid;
}
.swiper-pagination-bullet-active {
 background: #702e30;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
 margin: 0 7px !important;
}
	
}



/* PC / SP */
.br_pc {
 display: block !important;
}
.br_sp {
 display: none !important;
}
@media (max-width:768px) {
 .br_pc {
  display: none !important;
 }
 .br_sp {
  display: block !important;
 }
}

/* ===============================
  Point
=============================== */
.l_top_point {
 padding: 50px 0;
}
.l_top_point_detail {}
.m_top_point {
 background: #f4eaea;
 padding: 20px 0;
 margin-bottom: 10px;
}
.m_top_point_inner {
 width: 1000px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
}
.m_top_point_tbox {
 width: 540px;
 text-align: left;
 padding-top: 22px;
}
.m_top_point_img {
 width: 404px;
}
.m_top_point_pttl {
 width: 180px;
 margin-bottom: 15px;
}
.m_top_point_ttl {
 font-size: 28px;
 font-weight: 700;
 color: #8d1e16;
 margin-bottom: 15px;
 padding-left: 30px;
 letter-spacing: 1px;
}
.m_top_point_ttl strong {
 position: relative;
 display: inline-block;
 z-index: 1;
}
.m_top_point_ttl strong::after {
 content: "";
 position: absolute;
 left: 0;
 bottom: 7px; /* 文字からの距離（調整可） */
 width: 100%;
 height: 9px;
 background: #e5cccd;
 z-index: -1;
}
.m_top_point_txt {
 font-size: 17px;
 line-height: 1.8;
 padding-left: 30px;
}
@media screen and (max-width: 767px) {
	
	.l_top_point {
 padding: 6vw 0;
}
.m_top_point {
 padding: 4.5vw 0;
 margin-bottom: 5.3vw;
}
.m_top_point_inner {
 width: auto;
 margin: 0 auto;
 display: block;
}
.m_top_point_tbox {
 width: 93vw;
 text-align: left;
 padding-top: 0;
	margin-bottom: 6vw;
}
.m_top_point_img {
 width: 93vw;
	margin: 0 auto;
}
.m_top_point_pttl {
 width: 33vw;
 margin-bottom: 5.3vw;
}
.m_top_point_ttl {
 font-size: 5.6vw;
 margin-bottom: 4vw;
 padding-left: 6vw;
 letter-spacing: 1px;
}
.m_top_point_ttl strong {
 position: relative;
 display: inline-block;
 z-index: 1;
}
.m_top_point_ttl strong::after {
 content: "";
 position: absolute;
 left: 0;
 bottom: 7px; /* 文字からの距離（調整可） */
 width: 100%;
 height: 6px;
 background: #e5cccd;
 z-index: -1;
}
.m_top_point_txt {
 font-size: 3.46vw;
 line-height: 1.8;
 padding-left: 6vw;
}
	
	
	
}
/* ===============================
  Plan
=============================== */
.l_top_plan {}
.m_top_plan {
 margin-bottom: 40px;
}
.m_top_plan_inner {
 display: flex;
 position: relative;
 height: 435px;
}
.m_top_plan2 .m_top_plan_inner {
 justify-content: flex-end;
}
.m_top_plan_img {
 width: 50%;
 height: 435px;
}
.m_top_plan_tbox {
 width: 650px;
 background: #fff;
 border: #d9d9d9 1px solid;
 border-radius: 20px;
 padding: 40px 65px;
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(calc(-50% + 145px), -50%);
 text-align: left;
}
.m_top_plan2 .m_top_plan_tbox {
 position: absolute;
 right: 50%;
 top: 50%;
 transform: translate(calc(-50% - 145px), -50%);
 text-align: left;
}
.m_top_plan1 .m_top_plan_img {
 background: url("../images/index/img_plan_1_pc.jpg") no-repeat center center;
 background-size: cover;
}
.m_top_plan2 .m_top_plan_img {
 background: url("../images/index/img_plan_2_pc.jpg") no-repeat center center;
 background-size: cover;
 order: 2;
}
.m_top_plan3 .m_top_plan_img {
 background: url("../images/index/img_plan_3_pc.jpg") no-repeat center center;
 background-size: cover;
}
.m_top_plan_ttl {
 font-size: 34px;
 font-family: "ta-oonishi", sans-serif;
 font-weight: 300;
 font-style: normal;
 letter-spacing: -2px;
 margin-bottom: 25px;
 line-height: 1.5;
}
.m_top_plan_ttl strong {
 position: relative;
 display: inline-block;
 z-index: 1;
}
.m_top_plan_ttl strong::after {
 content: "";
 position: absolute;
 left: 0;
 bottom: 5px; /* 文字からの距離（調整可） */
 width: 100%;
 height: 9px;
 background: #e5cccd;
 z-index: -1;
}
.m_top_plan_list {}
.m_top_plan_list li {
 font-size: 17px;
 position: relative;
 padding: 5px 0 10px 44px;
 font-weight: 500;
}
.m_top_plan_list li::after {
 content: "";
 position: absolute;
 left: 0px;
 top: 50%;
 transform: translateY(-50%);
 width: 28px;
 height: 26px;
 background: url("../images/common/ic_chk.png") no-repeat center / contain;
}
.m_top_plan_txt {
 font-size: 17px;
 font-weight: 500;
 font-feature-settings: "palt";
 letter-spacing: 1px;
}
.m_top_plan_txt strong {
 color: #8d1e16;
}
@media screen and (max-width: 767px) {
	
	.m_top_plan {
 margin-bottom: 8.4vw;
}
.m_top_plan_inner {
 display: block;
 position: relative;
 height: auto;
	padding-bottom: 52.6vw;
		height: 112vw;
}

.m_top_plan_img {
 width: 100%;
 height: 63vw;
	position: absolute;
	bottom: 0;
}
.m_top_plan_tbox {
 width: 87.4vw;
 background: #fff;
 border: #d9d9d9 1px solid;
 border-radius: 15px;
 padding: 5.6vw 0 5.6vw 0;
 position: absolute;
 left: 50%;
 top: 0;
 transform: translate(-50%, 0);
 text-align: left;
}
.m_top_plan2 .m_top_plan_tbox {
 position: absolute;
 left: 50%;
 top: 0;
 transform: translate(-50%, 0);
 text-align: left;
}
.m_top_plan1 .m_top_plan_img {
 background: url("../images/index/img_plan_1_sp.jpg") no-repeat center center;
 background-size: cover;
}
.m_top_plan2 .m_top_plan_img {
 background: url("../images/index/img_plan_2_sp.jpg") no-repeat center center;
 background-size: cover;
 order: 2;
}
.m_top_plan3 .m_top_plan_img {
 background: url("../images/index/img_plan_3_sp.jpg") no-repeat center center;
 background-size: cover;
}
.m_top_plan_ttl {
 font-size: 5.6vw;
 letter-spacing: -2px;
 margin-bottom: 6.6vw;
 line-height: 1.5;
	text-align: center;
}
.m_top_plan_ttl strong {
 position: relative;
 display: inline-block;
 z-index: 1;
}
.m_top_plan_ttl strong::after {
 content: "";
 position: absolute;
 left: 0;
 bottom: 5px; /* 文字からの距離（調整可） */
 width: 100%;
 height: 9px;
 background: #e5cccd;
 z-index: -1;
}
.m_top_plan_list {
	padding-left: 6.7vw;
	}
.m_top_plan_list li {
 font-size: 3.5vw;
 position: relative;
 padding: 0.6vw 0 1vw 7.6vw;
 font-weight: 500;
 font-feature-settings: "palt";
}
.m_top_plan_list li::after {
 content: "";
 position: absolute;
 left: 0px;
 top: 0.9vw;
 transform:none;
 width: 5.3vw;
 height: 4.9vw;
 background: url("../images/common/ic_chk.png") no-repeat center / contain;
}
.m_top_plan_txt {
 font-size: 3.5vw;
 font-weight: 500;
 font-feature-settings: "palt";
 letter-spacing: 1px;
	padding-left: 6.7vw;
}
.m_top_plan_txt strong {
 color: #8d1e16;
}
	
	
}
/* ===============================
  l_contact
=============================== */
.l_contact {
 padding: 80px 0;
 background: linear-gradient(to right, #d2a4a6 0%, #bc696c 100%);
}
.l_contact_inner {
 width: 1000px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
}
.m_contact_img {
 width: 222px;
}
.m_contact_tbox {
 width: 740px;
 text-align: left;
}
.m_contact_txt {
 font-size: 22px;
 font-weight: 700;
 color: #fff;
 margin-bottom: 25px;
 line-height: 1.8;
 padding-top: 35px;
}
.m_contact_link {
 display: flex;
 justify-content: space-between;
}

.m_contact_link li a:hover{opacity: 1;}
.m_contact_link li:first-child a {
 font-size: 18px;
 font-weight: 700;
 position: relative;
 background: #54ac31;
 color: #fff;
 border-radius: 20px;
 width: 357px;
 height: 57px;
 padding-left: 46px;
 display: flex;
 justify-content: center;
 align-items: center;
}

.m_contact_link li:first-child a:hover {
background: #6adc3d;
	opacity: 1;
}




.m_contact_link li:first-child a::after {
 content: "";
 position: absolute;
 left: 30px;
 top: 50%;
 transform: translateY(-50%);
 width: 34px;
 height: 34px;
 background: url("../images/common/ic_line.png") no-repeat center / contain;
}
.m_contact_link li:last-child a {
  font-size: 18px;
  font-weight: 700;
  position: relative;
  background: #fff;
  color: #8d1e16;
  border-radius: 20px;
  width: 357px;
  height: 57px;
  padding-left: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s ease, color 0.3s ease;
}

/* hover時 */
.m_contact_link li:last-child a:hover {
  background: #8d1e16;
  color: #fff;
}

/* アイコン共通 */
.m_contact_link li:last-child a::before,
.m_contact_link li:last-child a::after {
  content: "";
  position: absolute;
  left: 62px;
  top: 50%;
  transform: translateY(-50%);
  width: 41px;
  height: 35px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: opacity 0.3s ease;
}

/* 通常アイコン */
.m_contact_link li:last-child a::before {
  background-image: url("../images/common/ic_contact.png");
  opacity: 1;
}

/* hover用アイコン */
.m_contact_link li:last-child a::after {
  background-image: url("../images/common/ic_contact_w.png");
  opacity: 0;
}

/* hover時のアイコン切替 */
.m_contact_link li:last-child a:hover::before {
  opacity: 0;
}

.m_contact_link li:last-child a:hover::after {
  opacity: 1;
}

@media screen and (max-width: 767px) {
	.l_contact {
 padding: 5.3vw 0 10vw 0;
 background: linear-gradient(to right, #d2a4a6 0%, #bc696c 100%);
}
.l_contact_inner {
 width: auto;
 margin: 0 auto;
 display: block;
}
.m_contact_img {
 width: 29vw;
	margin: 0 auto 0 auto;
}
.m_contact_tbox {
 width: 88vw;
 text-align: left;
	margin: 0 auto;
}
.m_contact_txt {
 font-size: 4.26vw;
 margin-bottom: 4.8vw;
 line-height: 1.6;
	padding: 4vw 1.5vw 0 1.5vw;
}
.m_contact_link {
 display: block;
}
	
	.m_contact_link li + li{
		margin-top: 4vw;
	}
.m_contact_link li:first-child a {
 font-size: 4.26vw;
 font-weight: 700;
 position: relative;
 background: #54ac31;
 color: #fff;
 border-radius: 20px;
 width: 100%;
 height: 13vw;
 padding-left: 10vw;
 display: flex;
 justify-content: center;
 align-items: center;
}
.m_contact_link li:first-child a::after {
 content: "";
 position: absolute;
 left: 8vw;
 top: 50%;
 transform: translateY(-50%);
 width: 8vw;
 height: 8vw;
 background: url("../images/common/ic_line.png") no-repeat center / contain;
}
.m_contact_link li:last-child a {
 font-size: 4.3vw;
 font-weight: 700;
 position: relative;
 background: #fff;
 color: #8d1e16;
 border-radius: 20px;
 width: 100%;
 height: 13vw;
 padding-left: 11vw;
 display: flex;
 justify-content: center;
 align-items: center;
}
.m_contact_link li:last-child a::after {
 content: "";
 position: absolute;
 left: 15vw;
 top: 50%;
 transform: translateY(-50%);
 width: 7.46vw;
 height: 6.66vw;
 background: url("../images/common/ic_contact.png") no-repeat center / contain;
}


/* アイコン共通 */
.m_contact_link li:last-child a::before,
.m_contact_link li:last-child a::after {
  content: "";
  position: absolute;
  padding-left: 6.6vw;
  top: 50%;
  transform: translateY(-50%);

	left: 18.5vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: opacity 0.3s ease;
}
	
	/* hover用アイコン */
.m_contact_link li:last-child a::after {
  background-image: url("../images/common/ic_contact_w.png");
  opacity: 0;
}
	
	
}
/* ===============================
  voice
=============================== */
.l_top_voice {
 padding-top: 60px;
}
.l_top_voice_detail {
 width: 1000px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 margin-bottom: 80px;
}
.m_top_voice {
 width: 315px;
 border-radius: 20px;
 border: #dadada 1px solid;
 padding: 30px 28px;
 text-align: center;
}
.m_top_voice_ttl {
 font-size: 16px;
 font-weight: 700;
 color: #753736;
 margin-bottom: 25px;
 line-height: 1.6;
 font-feature-settings: "palt";
}
.m_top_voice_img {
 margin-bottom: 20px;
}
.m_top_voice_name {
 font-size: 14px;
 font-weight: 700;
 text-align: left;
}
.m_top_voice_name strong {
 font-size: 20px;
 font-weight: 700;
 display: inline-block;
 margin-right: 15px;
}
@media screen and (max-width: 767px) {
	
	.l_top_voice {
 padding-top: 10vw;
}
.l_top_voice_detail {
 width: 88vw;
 margin: 0 auto;
 display: block;
 margin-bottom: 8vw;
}
.m_top_voice {
 width: auto;
 border-radius: 20px;
 border: #dadada 1px solid;
 padding: 6vw 8vw;
 text-align: center;
	margin-bottom: 5.3vw;
}
.m_top_voice_ttl {
 font-size: 4.26vw;
 font-weight: 700;
 color: #753736;
 margin-bottom: 4.5vw;
 line-height: 1.6;
 font-feature-settings: "palt";
	text-align: left;
}
.m_top_voice_img {
 margin-bottom: 5.3vw;
}
.m_top_voice_name {
 font-size: 3.4vw;
}
.m_top_voice_name strong {
 font-size: 4.8vw;
 font-weight: 700;
 display: inline-block;
 margin-right: 15px;
}
	
	
}
/* ===============================
  メッセージ
=============================== */
.l_top_msg {
 background: #f4eaea;
}
.l_top_msg_inner {
 width: 1000px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
}
.l_top_msg_tbox {
 width: 628px;
 padding: 43px 0 0 0;
 text-align: left;
}
.top_msg_img {
 width: 327px;
 padding: 24px 0 40px 0;
}
.ttl_msg {
 margin-bottom: 20px;
 font-size: 20px;
 font-weight: 700;
 display: flex;
 align-items: center;
}
.ttl_msg img {
 width: 190px;
 height: auto;
 display: inline-block;
 margin-right: 25px;
}
.top_msg_ttl {
 padding: 0 0 0 30px;
 font-size: 22px;
 font-weight: 700;
 color: #753736;
 margin-bottom: 20px;
 line-height: 1.6;
}
.top_msg_txt {
 padding: 0 0 0 30px;
 font-size: 16px;
 margin-bottom: 25px;
 line-height: 1.8;
}
.top_msg_name {
 padding: 0 0 0 30px;
 font-size: 16px;
 margin-bottom: 30px;
 line-height: 1.6;
 font-weight: 700;
}
.top_msg_name strong {
 font-size: 16px;
 line-height: 1.6;
 font-weight: 700;
 color: #753736;
}
@media screen and (max-width: 767px) {

.l_top_msg_inner {
 width: auto;
 margin: 0 auto;
 display: block;
	padding-bottom: 6.7vw;
}
.l_top_msg_tbox {
width: auto;
 padding: 5.3vw 0 0 0;
 text-align: left;
}
.top_msg_img {
 width: 74vw;
 padding: 0 0 0 0;
	margin: 0 auto;
}
.ttl_msg {
 margin-bottom: 4vw;
 font-size: 3.5vw;
 font-weight: 700;
 display: flex;
 align-items: center;
}
.ttl_msg img {
 width: 33vw;
 height: auto;
 display: inline-block;
 margin-right: 3.3vw;
}
.top_msg_ttl {
 padding: 0 0 0 30px;
 font-size: 5.6vw;
 font-weight: 700;
 color: #753736;
 margin-bottom: 20px;
 line-height: 1.4;
}
.top_msg_txt {
 width: auto;
 padding: 0 6vw;
 font-size: 3.5vw;
	margin: 0 auto 6vw auto;
 line-height: 1.8;
	font-feature-settings: "palt";
}
.top_msg_name {
 padding: 0 0 0 6vw;
 font-size: 3.5vw;
 margin-bottom: 8vw;
}
.top_msg_name strong {
 font-size: 3.5vw;
 line-height: 1.6;
}
	
}
/* ===============================
  講師紹介
=============================== */
.l_top_instructor {
 padding-top: 60px;
 margin-bottom: 160px;
}
.l_top_instructor .swiper-wrap {
 width: 1000px;
 margin: 0 auto;
	 position: relative;
}
.l_top_instructor .swiper-container-instructor .swiper-slide {
 width: 276px;
 border-radius: 20px;
 border: #d9d9d9 1px solid;
 padding: 20px;
 text-align: left;
}
.top_instructor_name {
 font-size: 20px;
 font-weight: 500;
 margin-top: 15px;
 margin-bottom: 10px;
}
.top_instructor_txt {
 font-size: 15px;
 line-height: 1.8;
}
/* スライドはみ出し防止（最重要） */
.swiper-container-instructor {
 overflow: hidden;
}

.l_top_instructor .swiper-container-instructor {
 max-width: 860px;
 margin: 0 auto;
 overflow: hidden; /* ← 前後スライドを完全に隠す */
}


/* ===============================
  ナビ矢印
================================ */
.instructor-prev, .instructor-next {
 width: 48px;
 height: 48px;
 background-size: contain;
 background-repeat: no-repeat;
 background-position: center;
 top: 50%;
 transform: translateY(-50%);
	transition: all 0.5s 0s ease;
}
.instructor-prev {
 background-image: url("../images/common/btn_back.png");
 left: 0;
}
.instructor-next {
 background-image: url("../images/common/btn_next.png");
 right: 0;
}

.instructor-prev:hover {
	opacity: 0.7;
 background-image: url("../images/common/btn_back.png");
 left: 0;
}
.instructor-next:hover {
		opacity: 0.7;
 background-image: url("../images/common/btn_next.png");
 right: 0;
}


/* Swiperデフォルト矢印を消す */
.swiper-button-prev::after, .swiper-button-next::after {
 display: none;
}
/* ===============================
  SP
================================ */
@media screen and (max-width: 767px) {
	
	.l_top_instructor {
 padding-top: 10vw;
 margin-bottom: 14vw;
}
.l_top_instructor .swiper-wrap {
 width: 88vw;
 margin: 0 auto;
	 position: relative;
}
.l_top_instructor .swiper-container-instructor .swiper-slide {
 width: 276px;
 border-radius: 15px;
 border: #d9d9d9 1px solid;
 padding: 6.6vw;
 text-align: left;
}
.top_instructor_name {
 font-size: 5vw;
 font-weight: 500;
 margin-top: 6.6vw;
 margin-bottom: 4.3vw;
}
.top_instructor_txt {
 font-size: 3.5vw;
 line-height: 1.8;
	margin-top: 0;
}
/* スライドはみ出し防止（最重要） */
.swiper-container-instructor {
 overflow: hidden;
}

.l_top_instructor .swiper-container-instructor {
 max-width: 79vw;
 margin: 0 auto;
 overflow: hidden; /* ← 前後スライドを完全に隠す */
}

/* ===============================
  ナビ矢印
================================ */
.instructor-prev, .instructor-next {
 width: 40px;
 height: 40px;
 background-size: contain;
 background-repeat: no-repeat;
 background-position: center;
 top: 50%;
 transform: translateY(-50%);
}
.instructor-prev {
 background-image: url("../images/common/btn_back.png");
 left: 0;
}
.instructor-next {
 background-image: url("../images/common/btn_next.png");
 right: 0;
}
/* Swiperデフォルト矢印を消す */
.swiper-button-prev::after, .swiper-button-next::after {
 display: none;
}
	
	


}