@charset "UTF-8";
#wrapper {
	overflow: clip;
}
.container__w1200--p36 {
	width: 100%;
	max-width: 1272px;
	padding-inline: 36px;
	margin-inline: auto;
}
.container__w1200--p24 {
	width: 100%;
	max-width: 1248px;
	padding-inline: 24px;
	margin-inline: auto;
}
.container__w1200--p0 {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}
.container__w928--p0 {
	width: 100%;
	max-width: 928px;
	margin-inline: auto;
}
.dpn {
	display: none;
}
.dpi--801,
.dpb--801,
.dpb--1200 {
	display: none !important;
}
.fd--row-r {
	flex-direction: row-reverse;
}

/*	header
-------------------------------------------------------------------*/
.header {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	background: #FFF;
}
.header__catch {
	color: #FFF;
	font-size: 12px;
	background: #41BAA8;
	text-align: center;
	height: 24px;
	line-height: 24px;
}
.header__head {
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.header__title--anchor {
	display: block;
	width: 149px;
	height: 29px;
	background: url(../../img/logo-hanmo.png) center center no-repeat;
	background-size: contain;
	text-indent: -9999px;
}
.header__contact {
	display: flex;
}
.header__tel--anchor {
	display: none;
}
.header__contact--anchor {
	display: block;
	width: 52px;
	height: 52px;
	background: #41BAA8 url(../../img/ico-header-mail-sp.png) center center no-repeat;
	background-size: 32.81px;
	text-indent: -9999px;
}
.fixed-menu {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}
.fixed-menu__list {
	display: flex;
	height: 60px;
	justify-content: center;
}
.fixed-menu__list--anchor {
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	background: #FFF;
}
.fixed-menu__list--line {
	width: 34.67%;
	max-width: 130px;
}
.fixed-menu__list--tel {
	width: 33.33%;
	max-width: 125px;
}
.fixed-menu__list--free {
	width: 33.33%;
	max-width: 125px;
}
.fixed-menu__list--insta {
	width: 66px;
}
.fixed-menu__list--tiktok {
	width: 66px;
}
.fixed-menu__list--line .fixed-menu__list--anchor {
	border: #48B26C 2px solid;
	font-size: 18px;
	font-weight: 700;
	color: #48B26C;
	line-height: 1.167;
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column-gap: 12px;
}
.fixed-menu__list--line .fixed-menu__list--anchor::before {
	content: "";
	display: block;
	width: 38.41px;
	height: 36.59px;
	background: url(../../img/ico-side-LINE-normal.png) center center no-repeat;
	background-size: contain;
}
.fixed-menu__list--tel .fixed-menu__list--anchor {
	border: #66C6E3 2px solid;
	font-size: 18px;
	font-weight: 700;
	color: #66C6E3;
	line-height: 1;
	width:100%;
}
.fixed-menu__list--tel .fixed-menu__list--anchor .icon--tel {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column-gap: 6px;
}

.fixed-menu__list--tel .fixed-menu__list--anchor .icon--tel::before {
	content: "";
	display: block;
	width: 32.15px;
	height: 32.15px;
	background: url(../../img/ico-side-tel-normal.png) center center no-repeat;
	background-size: contain;
}
.fixed-menu__list--tel .fixed-menu__list--anchor .time {
	font-size: 12px;
	display: inline-block;
}
.fixed-menu__list--free .fixed-menu__list--anchor {
	border: #E9637D 2px solid;
	font-size: 16px;
	font-weight: 700;
	color: #E9637D;
	line-height: 1;
	width: 100%;
	display: block;
	padding-block: 5px;
}
.fixed-menu__list--free .fixed-menu__list--anchor .icon--tel {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column-gap: 6px;
}
.fixed-menu__list--free .fixed-menu__list--anchor .here {
	font-size: 12px;
}

.fixed-menu__list--free .fixed-menu__list--anchor .icon--tel::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background: url(../../img/ico-side-zero-normal.png) center center no-repeat;
	background-size: contain;
}
.fixed-menu__list--free .fixed-menu__list--anchor .time {
	font-size: 12px;
	display: inline-block;
}
.fixed-menu__list--insta .fixed-menu__list--anchor {
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(../../img/ico-side-instagram.png),url(../../img/bg-insta.png);
	background-position: center center,center,center;
	background-repeat: no-repeat,no-repeat;
	background-size: 43.51px, cover;
	text-indent: -9999px;
}
.fixed-menu__list--tiktok .fixed-menu__list--anchor {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #000 url(../../img/ico-side-ticktok.png) center center no-repeat;
	background-size: 40.66px;
	text-indent: -9999px;
}
/*ドロワーメニュー改*/
.drawer__btn {
    position: relative;
    bottom: 0;
    right: 0;
    z-index: 10002;
    width: 52px;
    height: 52px;
    background-color: #FFC1CE;
    border: none;
    overflow: hidden;
    cursor: pointer;
}
.drawer__btn div {
	font-size: 1rem;
	text-align: center;
	padding-top: 5px;
	letter-spacing: 0.05em;
}
.drawer__btn span {
    display: block;
    width: 50%;
    height: 4px;
    background-color: #FFF;
    position: absolute;
    top: 68%;
    left: 50%;
    transition: 0.3s;
}
.drawer__btn span:nth-of-type(1) {
    transform: translate(-50%, -21px);
}
.drawer__btn span:nth-of-type(2) {
    transform: translate(-50%, -11px);
}
.drawer__btn span:nth-of-type(3) {
    transform: translate(-50%, -1px);
}
.drawer__btn.active span:nth-of-type(1) {
    transform: translate(-50%, -10px) rotate(45deg);
}
.drawer__btn.active span:nth-of-type(2) {
    transform: translate(100%, -11px);
    opacity: 0;
}
.drawer__btn.active span:nth-of-type(3) {
    transform: translate(-50%, -10px) rotate(-45deg);
}
.drawer__menu {
    position: fixed;
    top: 76px;
    right: 0;
    z-index: 10001;
    width: 100%;
    height: 440px;
    overflow-y: auto;
    transition: 0.3s;
    transform: translateX(100%);
    opacity: 0;
}
.drawer__menu.active {
    transform: translateX(0);
    opacity: 1;
}
.drawer__bg {
    position: fixed;
    top: 76px;
    left: 0;
    z-index: 10000;
    width: 100%;
    height: 266px;
    background: transparent linear-gradient(180deg, #FFC1CE 0%, #F1C67B 49%, #F2819F 100%) 0% 0% no-repeat padding-box;
    transition: 0.3s;
    transform: translateX(100%);
    opacity: 1;
    cursor: pointer;
}
.drawer__bg.active {
    transform: translateX(0);
    opacity: 1;
}
.drawer-menu {
	padding-top: 25px;
}
.drawer-menu__item {
	padding: 20px 36px;
}
.drawer-menu__anchor {
	color: #242424;
}

.header-menu__wrapper {
	background: #FFC1CE;
}
.header-menu {
	display: flex;
	justify-content: center;
}
.header-menu__item {
	border-right: #E9637D 1px solid;
	width: 100%;
}
.header-menu__item:first-child {
	border-left: #E9637D 1px solid;
}
.header-menu__anchor {
	line-height: 1.5;
	padding: 6px;
	display: block;
	padding-block: 15px;
	text-align: center;
}
.header-menu__anchor:hover {
	font-weight: 700;
	background: transparent linear-gradient(260deg, #FFC1CE 0%, #F1C67B 49%, #F2819F 100%) 0% 0% no-repeat;
}








/* breadcrumb
-------------------------------------------------------------------*/
.breadcrumbs {
	padding-block: 10px 60px;
}
.breadcrumbs__list {
	list-style-type: none;
}
.breadcrumbs__item {
	color: #868686;
	font-size: 14px;
	display: inline-block;
}
.breadcrumbs__anchor {
	color: #868686;
}
.breadcrumbs__item + .breadcrumbs__item::before {
	display: inline-block;
	content: "";
	width: 5px;
	height: 11px;
	background: url(../../img/arrow-bread.png) center center no-repeat;
	background-size: contain;
	margin-left: 10px;
	margin-right: 10px;
	white-space: normal;
}
.breadcrumbs__item:last-child {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: calc(100% - 120px);
	vertical-align: middle;
}

/* article
-------------------------------------------------------------------*/
.bg-logo {
	display: inline-block;
	text-indent: -9999px;
	width: 8em;
	height: 1.8em;
	background: url(../../img/logo-hanmo.png) center center no-repeat;
	background-size: contain;
}
.btn__contact--inner {
	text-align: center;
}
.btn__contact--anchor {
	display: block;
	background: #FFF;
	border: #41BAA8 2px solid;
	border-radius: 200px;
	color: #41BAA8;
	font-weight: 700;
	padding: 9px;
	max-width: 560px;
	margin-inline: auto;
}
.btn__contact--anchor:hover {
	background: #41BAA8;
	color: #FFF;
}
.top-bnr__contact {
	padding-block: 40px;
	text-align: center;
}
.top-bnr__contact--anchor {
	position: relative;
	padding-bottom: 35.484%;
	display: block;
}
.top-bnr__contact--anchor:hover {
	opacity: 1;
}
.top-bnr__contact--anchor:hover img {
	opacity: 1;
}
.top-bnr__contact--anchor .normal,
.top-bnr__contact--anchor .hover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
}
.top-bnr__contact--anchor .hover {
	opacity: 0;
}
.top-bnr__contact--anchor .hover:hover {
	opacity: 1;
}
.top-bnr__contact--anchor .normal:hover {
	opacity: 0;
}
.top-course__title {
	text-align: center;
	font-size: 21px;
	font-weight: 700;
	color: #41BAA8;
	margin-bottom: 40px;
	letter-spacing: 0.05em;
}

/* タブの切り替え */
#panels section .tab__panel-box--inner {

}
label.panel-label {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  cursor: pointer;
}

#panel-1-ctrl:checked ~ #panels #panel-2 .tab__panel-box--inner {
  display: none;
}

#panel-2-ctrl:checked ~ #panels #panel-1 .tab__panel-box--inner {
  display: none;
}
#panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 {
  pointer-events: none;
  cursor: default;
}

#panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 {
  pointer-events: none;
  cursor: default;
}

ul#tabs-list {
  display: flex;
  justify-content: center;
}
ul#tabs-list li {
  display: flex;
  text-align: center;
  position: relative;
}
ul#tabs-list li label.panel-label {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
ul#tabs-list li label.panel-label::after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 100%;
  height: 0;
}
.panel-radios {
  display: none;
}


.tab__menu {
  display: flex;
  align-items: flex-end; /* メニューを下揃え&高さを調整 */
  justify-content: center;
}
.tab__menu-item {
  width: 155px;
  text-align: center;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  cursor: pointer;
  transition: all .3s; /* アニメーション */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  height: 48px;
}
.tab__menu-item--risu {
	background: #FFF;
	border: #EC6E88 2px solid;
	color: #EC6E88;
	grid-column-gap: 5px;
}
.tab__menu-item--risu .panel-label::before {
	content: "";
	display: block;
	width: 33.37px;
	height: 30.81px;
	background: url(../../img/ico-risu.png) center center no-repeat;
	background-size: contain;
}
.tab__menu-item--isu {
	background: #FFF;
	border: #66E3AE 2px solid;
	color: #66E3AE;
	grid-column-gap: 5px;
}
.tab__menu-item--isu .panel-label::before {
	content: "";
	display: block;
	width: 21.84px;
	height: 34.48px;
	background: url(../../img/ico-chair.png) center center no-repeat;
	background-size: contain;
}
/* タブ切り替えのスタイル */
#panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1,
.tab__menu-item--risu:hover {
	background: transparent linear-gradient(256deg, #FFE760 0%, #FF509A 100%) 0% 0% no-repeat padding-box;
	color: #FFF;
	border: none;
}
#panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 .panel-label::before,
.tab__menu-item--risu .panel-label:hover::before {
	background: url(../../img/ico-risu-active.png) center center no-repeat;
	background-size: contain;
}
#panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2,
.tab__menu-item--isu:hover {
	background: transparent linear-gradient(90deg, #66E3AE 0%, #FFEE26 100%) 0% 0% no-repeat padding-box;
	color: #FFF;
	border: none;
}
#panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 .panel-label::before,
.tab__menu-item--isu .panel-label:hover::before {
	background: url(../../img/ico-chair-active.png) center center no-repeat;
	background-size: contain;
}
/* タブパネル */
.tab__panel-box--inner {
	padding-block: 40px;
}
.tab__panel-box001 {
	background: #FFEEEE;
/*  display: none;*/
}

.tab__panel-box002 {
	background: #FFFEEE;
/*  display: none;*/
}

/* is-showがついている時のスタイル */
.tab__panel-box.is-show {
/*  display: block;*/
}

.head01 {
	font-size: 18px;
	font-weight: 700;
	color: #41BAA8;
	border-bottom: #242424 1px solid;
	padding-bottom: 12px;
	margin-bottom: 12px;
	line-height: 1;
}
.bg--white {
	background: #FFF!important;
}

.swiper-pagination {
	display: flex;
	justify-content: center;
	grid-column-gap: 47px;
	bottom: 36px!important;
}
.swiper-pagination-bullet {
	width: 18px!important;
	height: 18px!important;
	background: #888 !important;
	opacity: 1!important;
}
.swiper-pagination-bullet-active {
	transform: none!important;
	background: #13B785!important;
}
/*	footer
-------------------------------------------------------------------*/
.footer {
	background: #41BAA8;
	color: #FFF;
	font-weight: 700;
	text-align: center;
}
/* ボタンの初期スタイル（非表示状態） */
#topbutton {
  display: none;
  position: fixed;
  bottom: 70px;
  right: 12px;
  z-index: 10000;
  width: 60px;
  height: 60px;
}

/* ボタンのアニメーションスタイル */
#topbutton {
  opacity: 0; /* 初期は不透明度を0に設定 */
  transform: translateY(20px); /* 初期位置を下に設定 */
}
