@charset "UTF-8";
/* 下層ページ共通 */
/*.sec_ttl {
	position:relative;
	width:100%;
	height:33vh;
	overflow:hidden;
}


.sec_ttl h2 {
	display:inline-block;
	font-size:4rem;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:500;
	color:#fff;
	position:absolute;
	left:50px;
	top:50%;
}*/


/* 下層ページ共通 */
.sec_ttl {
	position: relative;
	width: 100%;
	height: 33vh;
	min-height: 280px;
	overflow: hidden;
	padding: calc(33vh * 0.55) 50px 70px;
	display: flex;
	align-items: flex-start;
}

.sec_ttl h2 {
	display: block;
	font-size: clamp(3rem, 2.1rem + 1.4vw, 4rem);
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	color: #fff;
	position: relative;
	left: auto;
	top: auto;
	z-index: 5;
	line-height: 1.3;
	max-width: min(70%, 14em);
}


@media all and (min-width: 1025px) and (max-height: 820px) {
.sec_ttl {
	height: 300px;
	min-height: 300px;
	padding-top: 165px;
}

.sec_ttl h2 {
	font-size: 3.2rem;
}
}


@media all and (max-width:1024px) {
.sec_ttl {
	height: 38vh;
	min-height: 180px;
	padding: calc(38vh * 0.55) 30px 45px;
}

.sec_ttl h2 {
	font-size: clamp(2.6rem, 2.1rem + 1.2vw, 3.6rem);
	max-width: 85%;
}	
}

@media all and (min-width: 769px) and (max-height: 900px) {
.sec_ttl {
	height: 350px;
	min-height: 350px;
	padding-top: 170px;
}

.sec_ttl h2 {
	font-size: clamp(3rem, 2.2rem + 1vw, 3.8rem);
}
}


@media all and (max-width:768px) {
.sec_ttl {
	height: 30vh;
	min-height: 180px;
	padding: calc(30vh * 0.55) 30px 45px;
}

.sec_ttl h2 {
	font-size: clamp(2.6rem, 2.1rem + 1.2vw, 3.6rem);
	max-width: 85%;
}
}


@media all and (max-width:560px) {
.sec_ttl {
	height: 26vh;
	min-height: 150px;
	padding: calc(26vh * 0.55) 20px 36px;
}

	.sec_ttl h2 {
	font-size: clamp(2.4rem, 2rem + 1vw, 3rem);
	max-width: 90%;
}
}

.sec_ttl.aboutus {
	background:url("../images/ttl_aboutus.jpg") no-repeat center center;
	background-size:cover;
}

.sec_ttl.school_top,.sec_ttl.school01,.sec_ttl.school02,.sec_ttl.school03,.sec_ttl.school04 {
	background:url("../images/ttl_schoolTop.jpg") no-repeat center center;
	background-size:cover;
}

.sec_ttl.company {
	background:url("../images/ttl_company.jpg") no-repeat center center;
	background-size:cover;
}

.sec_ttl.contact {
	background:url("../images/ttl_contact.jpg") no-repeat center center;
	background-size:cover;
}

.sec_ttl.news {
	background:url("../images/ttl_news.jpg") no-repeat center center;
	background-size:cover;
}


.waveyObject {
	width:100%;
	position:absolute;
	bottom:0;
	left:0;
	z-index:4;
}


.waveyObject img {
	width:100%;
}


/* =================================
下層ページ共通タイトル
================================= */

/* h3 : セクションタイトル */
.sub_container h3{
	font-size:2.6rem;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:500;
	color:#6a3906;
	margin:0 0 30px;
	padding-bottom:12px;
	border-bottom:3px solid #32b16c;
	display:inline-block;
}

.sub_container h3.ttl_h3 {
	font-size:2.6rem;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:500;
	color:#6a3906;
	margin:0 0 30px;
	display:inline-block;
	border:none;
}

/* h4 : ブロックタイトル */
.sub_container h4{
	font-size:2.3rem;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:500;
	color:#6a3906;
	margin:0 0 20px;
	padding-left:16px;
	border-left:6px solid #32b16c;
}

.sub_container h4.ttl_h4 {
	font-size:2.3rem;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:500;
	color:#6a3906;
	margin:0 0 20px;
	border:none;
}

.sub_container h4.ttl_h4-2 {
	font-size:2.3rem;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:500;
	color:#6a3906;
	margin:0 0 20px;
	padding:0 0 0 60px;
	border:none;
	position:relative;
}

.sub_container h4.ttl_h4-2::before {
	content:attr(data-number);
	display:inline-block;
	font-size:3rem;
	font-weight:600;
	color:#FFF;
	background-color:mediumblue;
	text-align:center;
	width:50px;
	height:50px;
	position:absolute;
	top:-5px;
	left:0;
	border-radius: 50%;
	padding:0;
	line-height:1.5;
}

/* h5 : 小見出し */
.sub_container h5{
	font-size:1.9rem;
	font-weight:600;
	color:#6a3906;
	margin:0 0 15px;
	padding-bottom:6px;
	border-bottom:1px dashed #d8cbb9;
}

/* h6 : 補助タイトル */
.sub_container h6{
	font-size:1.6rem;
	font-weight:600;
	color:#8a6b45;
	margin:0 0 10px;
	letter-spacing:0.03em;
}

@media all and (max-width:560px){

.sub_container h3{
	font-size:2.4rem;
	margin-bottom:25px;
}
	
.sub_container h3.ttl_h3 {
	font-size:2.4rem;
	margin-bottom:25px;	
}

.sub_container h4{
	font-size:2rem;
	margin:10px 0 18px;
}
	
.sub_container h4.ttl_h4,
.sub_container h4.ttl_h4-2 {
	font-size:2rem;
	margin:10px 0 18px;
}

.sub_container h5{
	font-size:1.7rem;
	margin:10px 0 12px;
}

.sub_container h6{
	font-size:1.5rem;
}
}


/* パンくず */
.sec_breadcrumb {
	width:96%;
	max-width:1400px;
	margin:0 auto;
	padding:20px 0 50px;
	font-size:1.3rem;
}


.sec_breadcrumb li {
	display:inline-block;
	padding:0 40px 0 0;
	position:relative;
}


.sec_breadcrumb li::after {
	content:"";
	display:block;
	width:7px;
	height:7px;
	border-top:1px solid #AAA;
	border-right:1px solid #AAA;
	position:absolute;
	top:50%;
	right:20px;
	transform:rotate(45deg) translateY(-50%);
}


.sec_breadcrumb li:last-child::after {
	display:none;
}


.sec_breadcrumb li a {
	color:#6a3906;
}

/* コンテンツボディ */
.sub_container {
	width:96%;
	max-width:1400px;
	margin:0 auto;
	padding:30px 0 150px;
	font-size:1.6rem;
}

@media all and (max-width:560px) {
.sub_container {
	width:96%;
	max-width:1400px;
	margin:0 auto;
	padding:15px 0 70px;
	font-size:1.6rem;
}	
}


/* =================================
お知らせ
================================= */
.sec_news {
	width:100%;
	padding:100px 0;
	position:relative;
	overflow:hidden;
	font-size:1.8rem;
}

.bg_news01 {
	width:18.2%;
	max-width:350px;
	position:absolute;
	bottom:-6%;
	left:-2%;
	z-index:-1
}


.sec_news01 img {
	width:100%;
}


.bg_news02 {
	width:39.8%;
	max-width:765px;
	position:absolute;
	bottom:-12%;
	right:-12%;
	z-index:-2;
}


.sec_news02 img {
	width:100%;
}


@media all and (max-width:768px) {
.bg_news01 {
	width:24.2%;
	max-width:350px;
	position:absolute;
	bottom:-3%;
	left:-3%;
	z-index:-1
}
	
.bg_news02 {
	width:45.8%;
	max-width:765px;
	position:absolute;
	bottom:-6%;
	right:-13%;
	z-index:-2;
}
}


@media all and (max-width:560px) {
.bg_news01 {
	width:34.2%;
	max-width:350px;
	position:absolute;
	bottom:-2%;
	left:-3%;
	z-index:-1
}
	
.bg_news02 {
	width:55.8%;
	max-width:765px;
	position:absolute;
	bottom:-3%;
	right:-14%;
	z-index:-2;
}
}


.content_news {
	width:96%;
	max-width:1400px;
	margin:0 auto;
}

.list_article {
	width:100%;
	overflow:hidden;
	margin:0 auto 70px;
}


.list_article li {
	width:23.5%;
	float:left;
	margin:0 2% 0 0;
	padding:0 0 20px;
	min-height:420px;
}


.list_article li:nth-child(4) {
	width:23.5%;
	float:left;
	margin:0;
}

@media all and (max-width:1024px) {
.list_article li {
	width:48%;
	float:left;
	margin:0 4% 20px 0;
	padding:0 0 20px;
	min-height:360px;
}

.list_article li:nth-child(even) {
	width:48%;
	float:left;
	margin:0 0 20px;
}	
}


@media all and (max-width:560px) {
.list_article {
	width:100%;
	overflow:hidden;
	margin:0 auto 30px;
}
	
.list_article li {
	width:48%;
	float:left;
	margin:0 4% 20px 0;
	padding:0 0 20px;
	min-height:320px;
}
}


.list_article li a {
	display:block;
	color:#6a3906;
}

.block_thumb {
    width:100%;
    position:relative;
    background:#F1F2F2;
	border-radius: 20px;
	overflow:hidden;
	margin:0 0 15px;
}


.block_thumb::before {
    padding-top:75%;
    content:"";
    display:block;
}


.block_thumb img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:contain;
}


.date_cat {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	margin:0 0 10px;
}


.postedDate {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:600;
}


.cat_news {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#ea68a2;
	padding:5px 20px;
	border-radius: 20px;
}


.cat_events {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#00b7ee;
	padding:5px 20px;
	border-radius: 20px;
}


.cat_blog {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#32b16c;
	padding:5px 20px;
	border-radius: 20px;
}


.cat_class {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#f39800;
	padding:5px 20px;
	border-radius: 20px;
}


.cat_school {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#19cfba;
	padding:5px 20px;
	border-radius: 20px;
}


@media all and (max-width:560px) {
.cat_news {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#ea68a2;
	padding:5px 15px;
	border-radius: 20px;
}


.cat_events {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#00b7ee;
	padding:5px 15px;
	border-radius: 20px;
}
	
.cat_blog {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#32b16c;
	padding:5px 15px;
	border-radius: 20px;
}


.cat_class {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#f39800;
	padding:5px 15px;
	border-radius: 20px;
}


.cat_school {
	display:inline-block;
	font-size:1.2rem;
	color:#FFF;
	background:#19cfba;
	padding:5px 15px;
	border-radius: 20px;
}
}

/* =================================
お知らせ一覧ページネーション
================================= */
.pagination_news{
	margin: 70px auto 0;
}

.pagination_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:12px;
}

.pagination_item{
	min-width:58px;
	height:58px;
}

.pagination_item a,
.pagination_item span{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
	padding:0 18px;
	border-radius:18px;
	background:#fff;
	border:1px solid #e6dccf;
	box-shadow:0 4px 10px rgba(0,0,0,.06);
	color:#6a3906;
	font-size:1.6rem;
	font-weight:500;
	font-family:"Zen Maru Gothic", sans-serif;
	transition:all .3s ease;
}

.pagination_item a:hover{
	background:#32b16c;
	border-color:#32b16c;
	color:#fff;
	opacity:1;
	transform:translateY(-2px);
}

.pagination_item.current span{
	background:#32b16c;
	border-color:#32b16c;
	color:#fff;
	box-shadow:0 4px 12px rgba(50,177,108,.22);
}

.pagination_item.prev,
.pagination_item.next{
	min-width:96px;
}

.pagination_item.disabled span{
	background:#f3efe8;
	border-color:#e6dccf;
	color:#b8aa99;
	box-shadow:none;
	cursor:default;
}

@media all and (max-width:560px){

.pagination_news{
	margin:50px auto 0;
}

.pagination_list{
	flex-wrap:nowrap;
	gap:6px;
	justify-content:center;
}

.pagination_item{
	min-width:36px;
	height:36px;
}

.pagination_item a,
.pagination_item span{
	padding:0 8px;
	border-radius:10px;
	font-size:1.3rem;
}

.pagination_item.prev,
.pagination_item.next{
	min-width:52px;
}

}



/* =================================
お知らせ詳細
================================= */
.info_article {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	margin:0 0 10px;
	font-size:1.4rem;
}

.postedDate {
	width:8em;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:600;
}

.icon_category {
	width:calc(100% - 10em);
}

.icon_category ul {
	width:100%;
	display:inline-block;
	text-align:right;
}

.icon_category ul li {
	display:inline-block;
}

.ttl_article {
	font-size:1.6rem;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:600;
}

.img_thumb {
	width:100%;
	position:relative;
    background:#DDD;
	margin:0 0 10px;
}

.img_thumb::before {
    padding-top:75%;
    content:"";
    display:block;
}


.img_thumb img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:contain;
}

.pagination-container {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

.pagination {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 8px;
  align-items: center;
}

.page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
  box-sizing: border-box;
  border-radius: 5px;
  background-color: #fff;
  color: #000;
  border: 1px solid #000;
  transition: all 0.3s ease;
}

.page-link:hover {
  background-color: orange;
  border-color: orange;
  color: #fff;
}

.page-link.is-active {
  background-color: orange;
  border-color: orange;
  color: #fff;
  cursor: default;
}

.page-link.prev,
.page-link.next {
  font-size: 12px;
  letter-spacing: 0.05em;
}

.page-ellipsis {
  color: #000;
  font-weight: bold;
  padding: 0 5px;
}

.ttl_article_detail {
	width:100%;
	font-size:2.3rem !important;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:600;
	padding:0 0 15px !important;
	border-bottom:1px solid #CCC !important;
	margin:0 0 15px !important;
}


/* =================================
ブログ記事本文
================================= */
.article_body{
	line-height:1.9;
	color:#333;
	font-size:1.6rem;
}

/* ---------- h1 ---------- */

.article_body h1{
	font-size:2.6rem;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:600;
	color:#6a3906;
	margin:0 0 40px;
	padding-bottom:14px;
	border-bottom:4px solid #32b16c;
}

/* ---------- h2 ---------- */

.article_body h2{
	font-size:2.4rem;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:600;
	color:#6a3906;
	margin:60px 0 25px;
	padding-left:18px;
	border-left:6px solid #32b16c;
}

/* ---------- h3 ---------- */

.article_body h3{
	width:100%;
	font-size:2.2rem;
	font-weight:600;
	color:#6a3906;
	margin:45px 0 20px;
	padding-bottom:8px;
	border-bottom:2px dashed #d8cbb9;
}

/* ---------- h4 ---------- */

.article_body h4{
	font-size:2rem;
	font-weight:600;
	color:#6a3906;
	margin:35px 0 15px;
	position:relative;
	padding-left:18px;
	border:none;
}

.article_body h4::before{
	content:"";
	width:10px;
	height:10px;
	background:#32b16c;
	border-radius:50%;
	position:absolute;
	left:0;
	top:0.7em;
}

/* ---------- h5 ---------- */

.article_body h5{
	font-size:1.8rem;
	font-weight:600;
	color:#6a3906;
	margin:30px 0 12px;
}

/* ---------- h6 ---------- */

.article_body h6{
	font-size:1.6rem;
	font-weight:600;
	color:#8a6b45;
	margin:25px 0 10px;
	letter-spacing:0.03em;
}


/* =================================
リスト
================================= */

/* ul */

.article_body ul{
	margin:20px 0 25px;
	padding:0;
}

.article_body ul li{
	position:relative;
	padding-left:18px;
	margin-bottom:10px;
}

.article_body ul li::before{
	content:"";
	width:6px;
	height:6px;
	background:#32b16c;
	border-radius:50%;
	position:absolute;
	left:0;
	top:0.7em;
}

/* ol */

.article_body ol{
	counter-reset: article-number;
	margin:20px 0 25px 0;
	padding:0;
}

.article_body ol li{
	list-style:none;
	position:relative;
	padding-left:34px;
	margin-bottom:12px;
	counter-increment: article-number;
}

.article_body ol li::before{
	content: counter(article-number) ".";
	position:absolute;
	left:0;
	top:0;
	color:#32b16c;
	font-weight:600;
}

/* ネストリスト */

.article_body li ul,
.article_body li ol{
	margin-top:10px;
}


/* 画像 */
.article_body img {
	display: block;
    max-width: 100%;
    height: auto;
    margin:2em auto;
    vertical-align: bottom;
}

.article_body p {
	font-size:1.6rem;
}

.article_body a {
	color:#00b7ee;
	border-bottom:1px dashed #00b7ee;
}

.post-navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  width: 100%;
  max-width: 800px;
  margin: 50px auto;
  padding: 0 10px;
}

.nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 70px;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  border-radius: 5px;
  transition: all 0.3s ease;
  background-color: #32b16c;
  color: #fff;
  border: 1px solid #32b16c;
}

.nav-link.list {
  background-color: orange;
  border-color: orange;
}

.nav-link:hover {
  background-color: #fff;
  color: #3ca337;
  border-color: #3ca337;
}

.nav-link.list:hover {
  background-color: #fff;
  color: orange;
  border-color: orange;
}

.material-symbols-outlined {
  font-size: 20px;
}

.nav-text {
  margin: 0 5px;
}

@media (max-width: 480px) {
  .post-navigation {
    gap: 10px;
  }
  
  .nav-text {
    font-size: 11px;
  }
  
  .nav-link {
    height: 45px;
    padding: 0 5px;
  }
}



/* =================================
遊LABOについて
================================= */
/* 特徴 */
.list_feature {
	counter-reset: number;
}

.list_feature > li {
	counter-increment: number;
	position:relative;
	width:100%;
	border-radius: 30px;
	padding:2em 2em 3em 8em;
	background:#ecf7fd;
	margin:0 0 30px;
}

.list_feature > li::before {
	content:"0"counter(number);
	position:absolute;
	top:-5px;
	left:20px;
	font-size:3rem;
	color:#FFF;
	font-weight:bold;
	padding:35px 20px 20px;
	background:forestgreen;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
}

.list_feature > li h3 {
	border:none;
}

.list_point {
	background:#FFF;
	padding:2em;
	border-radius: 20px;
	box-shadow: 0 5px 12px rgba(0,0,0,.06);
	margin:0 0 30px;
}

.list_point > li {
	padding:10px 0 10px 30px;
	position:relative;
}

.list_point > li::before {
	font-family: 'Material Symbols Outlined';
	content:"\e5ca";
	font-size:2.4rem;
	font-weight:600;
	position:absolute;
	color:seagreen;
	top:3px;
	left:0;
}

@media all and (max-width:560px) {
.list_feature > li {
	counter-increment: number;
	position:relative;
	width:100%;
	border-radius: 30px;
	padding:1em 1em 2em;
	background:#ecf7fd;
	margin:0 0 30px;
}

.list_feature > li::before {
	content:"0"counter(number);
	position:absolute;
	top:-5px;
	left:20px;
	font-size:2.5rem;
	color:#FFF;
	font-weight:bold;
	padding:35px 10px 20px;
	background:forestgreen;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
}
	
.list_feature > li h3 {
	border:none;
	padding-left:3.5em;
	font-size:2rem;
}
	
.list_point {
	background:#FFF;
	padding:1.5em;
	border-radius: 20px;
	box-shadow: 0 5px 12px rgba(0,0,0,.06);
	margin:0 0 30px;
}
}


/* 1日の流れ */
.sec_timetable{
	margin: 0 0 50px;
}

.daily_flow{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

.daily_flow li{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	padding: 15px 20px;
	margin: 0 0 34px;
	background: #fff;
	border: 1px solid #eee3d7;
	border-radius: 20px;
	box-shadow: 0 5px 12px rgba(0,0,0,.06);
}

/* li間の下向き三角矢印 */
.daily_flow li::after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 16px solid #32b16c;
	position: absolute;
	left: 50%;
	bottom: -25px;
	transform: translateX(-50%);
}

/* 最後のliは矢印なし */
.daily_flow li:last-child::after{
	display: none;
}

.flow_time{
	width: 24%;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 1.8rem;
	font-weight: 600;
	color: #32b16c;
	line-height: 1.5;
}

.flow_content{
	width: 72%;
}

.flow_main{
	font-size: 1.8rem;
	font-weight: 600;
	color: #6a3906;
	line-height: 1.6;
	margin: 0 0 8px;
}

.flow_sub{
	font-size: 1.4rem;
	color: #999;
	line-height: 1.8;
	margin: 0;
}

@media all and (max-width:768px){
	.daily_flow li{
		padding: 20px;
		margin: 0 0 30px;
	}

	.flow_time{
		width: 100%;
		font-size: 1.8rem;
		margin: 0 0 10px;
	}

	.flow_content{
		width: 100%;
	}

	.flow_main{
		font-size: 1.8rem;
	}

	.daily_flow li::after{
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 14px solid #32b16c;
		bottom: -22px;
	}
}

@media all and (max-width:560px){
	.daily_flow li{
		padding: 16px 14px;
		margin: 0 0 26px;
		border-radius: 16px;
	}

	.flow_time{
		font-size: 1.6rem;
	}

	.flow_main{
		font-size: 1.6rem;
		margin: 0 0 6px;
	}

	.flow_sub{
		font-size: 1.4rem;
		line-height: 1.7;
	}

	.daily_flow li::after{
		border-left: 9px solid transparent;
		border-right: 9px solid transparent;
		border-top: 12px solid #32b16c;
		bottom: -20px;
	}
}

/* 料金表テーブル */
.sec_price_table{
	margin: 0 0 50px;
}

.price_table_wrap{
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: 24px;
	box-shadow: 0 5px 15px rgba(0,0,0,.08);
	border: 1px solid #eee3d7;
	background: #fff;
}

.price_table{
	width: 100%;
	min-width: 600px;
	border-collapse: collapse;
	table-layout: fixed;
	background: #fff;
	font-size: 1.6rem;
}

.price_table th,
.price_table td{
	padding: 20px 16px;
	border-bottom: 1px solid #eee3d7;
	text-align: center;
	vertical-align: middle;
	color: #6a3906;
	word-break: break-word;
}

.price_table thead th{
	background: #f6efe3;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 600;
}

.price_table tbody td{
	background: #fff;
}

@media all and (max-width:560px){
	.price_table{
		font-size: 1.4rem;
	}

	.price_table th,
	.price_table td{
		padding: 16px 10px;
	}
}




/* =================================
店舗情報
================================= */
/* 店舗情報テーブル */
.shop_table_wrap{
	width:100%;
	margin:0 0 40px;
	border-radius:24px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 5px 15px rgba(0,0,0,.08);
	border:1px solid #eee3d7;
}

.shop_table{
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
	font-size:1.6rem;
	background:#fff;
}

.shop_table th,
.shop_table td{
	padding:20px 24px;
	border-bottom:1px solid #eee3d7;
	text-align:left;
	vertical-align:top;
}

.shop_table tr:last-child th,
.shop_table tr:last-child td{
	border-bottom:none;
}

.shop_table th{
	width:28%;
	background:#fdf9e4;
	color:#6a3906;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:500;
}

.shop_table td{
	width:72%;
	background:#fff;
	color:#6a3906;
	word-break:break-word;
}

.shop_table td a{
	color:#32b16c;
	text-decoration:underline;
	text-underline-offset:3px;
}

.shop_table td a:hover{
	opacity:.7;
}

@media all and (max-width:768px){
	.shop_table th{
		width:32%;
	}

	.shop_table td{
		width:68%;
	}

	.shop_table th,
	.shop_table td{
		padding:15px 15px !important;
	}
}

@media all and (max-width:560px){
	.shop_table,
	.shop_table tbody,
	.shop_table tr,
	.shop_table th,
	.shop_table td{
		display:block;
		width:100%;
	}

	.shop_table tr{
		border-bottom:1px solid #eee3d7;
	}

	.shop_table tr:last-child{
		border-bottom:none;
	}

	.shop_table th,
	.shop_table td{
		border-bottom:none;
		padding:12px 14px;
	}

	.shop_table th{
		background:#fdf9e4;
		font-size:1.5rem;
		padding-bottom:8px;
	}

	.shop_table td{
		font-size:1.5rem;
		padding-top:0;
		padding-bottom:14px;
	}
}

/* google maps */
.block_map {
	width:100%;
	border-radius: 20px;
	overflow:hidden;
	position: relative;
	padding-top: 56.25%;
	height: 0;
}


.block_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


/* 店舗写真ギャラリー */
.sec_shop_gallery{
	margin: 0 0 50px;
}

.shop_gallery{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px 2%;
}

.shop_gallery li{
	width: 23.5%;
	border-radius: 20px;
	overflow: hidden;
	background: #f6f5f1;
	box-shadow: 0 5px 12px rgba(0,0,0,.08);
}

.shop_gallery li img{
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

@media all and (max-width:560px){
	.shop_gallery{
		gap: 12px 4%;
	}

	.shop_gallery li{
		width: 48%;
		border-radius: 14px;
	}
}



/* =================================
遊LABOスクールとは
================================= */
.school_table_wrap{
	width:100%;
	margin:0 0 20px;
	border-radius:24px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 5px 15px rgba(0,0,0,.08);
	border:1px solid #eee3d7;
}

.school_table{
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
	font-size:1.6rem;
	background:#fff;
}

.school_table th,
.school_table td{
	padding:20px 24px;
	border-bottom:1px solid #eee3d7;
	text-align:left;
	vertical-align:top;
}

.school_table tr:last-child th,
.school_table tr:last-child td{
	border-bottom:none;
}

.school_table th{
	width:20%;
	color:#6a3906;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:500;
}

.school_table td{
	width:80%;
	background:#fff;
	color:#6a3906;
	word-break:break-word;
}

.school_table td a{
	color:#32b16c;
	text-decoration:underline;
	text-underline-offset:3px;
}

.school_table td a:hover{
	opacity:.7;
}

@media all and (max-width:768px){
	.school_table th{
		width:32%;
	}

	.school_table td{
		width:68%;
	}

	.school_table th,
	.school_table td{
		padding:15px 15px !important;
	}
}

@media all and (max-width:560px){
	.school_table,
	.school_table tbody,
	.school_table tr,
	.school_table th,
	.school_table td{
		display:block;
		width:100%;
	}

	.school_table tr{
		border-bottom:1px solid #eee3d7;
	}

	.school_table tr:last-child{
		border-bottom:none;
	}

	.school_table th,
	.school_table td{
		border-bottom:none;
		padding:12px 14px;
	}

	.school_table th{
		font-size:1.5rem;
		padding-bottom:8px;
	}

	.school_table td{
		font-size:1.5rem;
		padding-top:0;
		padding-bottom:14px;
	}
}


a.btn_course {
	display:inline-block;
	padding:1.5em 5em;
	border-radius: 20px;
	background-color:mediumblue;
	color:#FFF;
}



/* =================================
コース紹介ページ
================================= */

.sec_program_detail{
	width:100%;
}

/* メインビジュアル */
.program_mv{
	width:100%;
	border-radius:30px;
	overflow:hidden;
	margin:0 0 40px;
	background:#f6f5f1;
	position:relative;
}

.program_mv::before{
	content:"";
	display:block;
	padding-top:56.25%;
}

.program_mv img{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	object-fit:cover;
}

.program_heading{
	margin:0 0 50px;
	text-align:center;
}

.program_name_en{
	font-size:1.4rem;
	letter-spacing:.15em;
	color:#32b16c;
	font-weight:600;
	margin:0 0 10px;
}

.program_name{
	font-size:4rem;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:600;
	color:#6a3906;
	line-height:1.4;
}

.program_block{
	margin:0 0 90px;
}

.program_intro,
.program_summary_main{
	font-size:1.7rem;
	line-height:2;
}

/* 概要 */
.program_summary{
	background:#fdf9e4;
	border-radius:30px;
	padding:40px 4%;
	box-shadow:0 5px 15px rgba(0,0,0,.06);
}

.program_meta{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:35px 0 0;
	gap:20px 2%;
}

.program_meta_item{
	width:49%;
	background:#fff;
	border-radius:20px;
	padding:24px 24px 24px 72px;
	position:relative;
	border:1px solid #eee3d7;
	min-height:120px;
}

.program_meta_item::before{
	font-family:'Material Symbols Outlined';
	font-size:34px;
	line-height:1;
	color:#32b16c;
	position:absolute;
	top:24px;
	left:24px;
}

.program_meta_item.icon_age::before{
	content:"school";
}

.program_meta_item.icon_schedule::before{
	content:"schedule";
}

.program_meta_label{
	font-size:1.4rem;
	font-weight:600;
	color:#32b16c;
	margin:0 0 8px;
}

.program_meta_text{
	font-size:1.7rem;
	font-weight:500;
	color:#6a3906;
	line-height:1.8;
}

/* 特徴 */
.program_features{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:24px 2%;
}

.program_features li{
	width:49%;
	display:flex;
	flex-wrap:wrap;
	align-items:stretch;
	background:#fdf9e4;
	border-radius:24px;
	overflow:hidden;
	border:1px solid #eee3d7;
	box-shadow:none;
	position:relative;
}

.feature_image{
	width:38%;
	position:relative;
	background:#f6f5f1;
}

.feature_image::before{
	content:"";
	display:block;
	padding-top:100%;
}

.feature_image img{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	object-fit:cover;
}

.feature_text{
	width:62%;
	padding:26px 22px 22px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.feature_text h4{
	margin:0 0 12px !important;
	padding-left:0 !important;
	border-left:none !important;
	font-size:2.1rem !important;
	line-height:1.5;
}

.feature_text h4::before{
	display:none !important;
}

.feature_text p{
	font-size:1.5rem;
	line-height:1.9;
	margin:0;
}

/* 3つ以上ある時に最後1つだけでも見栄えが崩れにくい */
.program_features li:only-child{
	width:100%;
}

@media all and (max-width:1024px){
	.program_features li{
		width:49%;
	}

	.feature_image{
		width:40%;
	}

	.feature_text{
		width:60%;
		padding:22px 18px 20px;
	}

	.feature_text h4{
		font-size:1.9rem !important;
	}
}

@media all and (max-width:768px){
	.program_features li{
		width:100%;
		border-radius:20px;
	}

	.feature_image{
		width:36%;
	}

	.feature_text{
		width:64%;
		padding:20px 16px 18px;
	}

	.feature_text h4{
		font-size:1.8rem !important;
		margin:0 0 10px !important;
	}

	.feature_text p{
		font-size:1.4rem;
		line-height:1.8;
	}
}

@media all and (max-width:560px){
	.program_features{
		gap:16px 0;
	}

	.program_features li{
		width:100%;
		display:block;
		border-radius:16px;
	}

	.program_features li::before{
		font-size:1rem;
		padding:5px 10px;
		border-bottom-right-radius:12px;
	}

	.feature_image{
		width:100%;
	}

	.feature_image::before{
		padding-top:62%;
	}

	.feature_text{
		width:100%;
		padding:16px 12px 16px;
	}

	.feature_text h4{
		font-size:1.7rem !important;
	}

	.feature_text p{
		font-size:1.4rem;
	}
}

/* コース・料金 */
.course_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:28px 2%;
}

.course_card{
	width:49%;
	background:#fff;
	border-radius:24px;
	overflow:hidden;
	box-shadow:0 5px 15px rgba(0,0,0,.08);
	border:1px solid #eee3d7;
}

.course_thumb{
	width:100%;
	position:relative;
	background:#f6f5f1;
}

.course_thumb::before{
	content:"";
	display:block;
	padding-top:56%;
}

.course_thumb img{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	object-fit:cover;
}

.course_body{
	padding:22px 20px 24px;
}

.course_name{
	margin:0 0 15px !important;
	font-size:2.2rem !important;
}

.course_meta_table{
	margin:0 0 18px;
	border-top:1px solid #eee3d7;
}

.course_meta_row{
	display:flex;
	flex-wrap:wrap;
	border-bottom:1px solid #eee3d7;
}

.course_meta_head{
	width:24%;
	background:#fdf9e4;
	color:#6a3906;
	font-size:1.4rem;
	font-weight:600;
	padding:12px 10px;
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
}

.course_meta_data{
	width:76%;
	padding:12px 14px;
	font-size:1.4rem;
	line-height:1.8;
}

.course_price{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:12px 2%;
}

.price_box{
	width:49%;
	background:#f6f5f1;
	border-radius:16px;
	padding:14px 10px;
	text-align:center;
}

.price_label{
	font-size:1.3rem;
	color:#32b16c;
	font-weight:600;
	margin:0 0 5px;
}

.price_value{
	font-size:2.2rem;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:600;
	color:#6a3906;
	line-height:1.4;
}

/* FAQ */
.faq_list{
	max-width:1000px;
	margin:0 auto;
}

.faq_item{
	margin:0 0 14px;
	border-radius:20px;
	overflow:hidden;
	border:1px solid #eee3d7;
	background:#fff;
	box-shadow:0 4px 10px rgba(0,0,0,.05);
}

.faq_question{
	width:100%;
	border:none;
	background:#fff;
	padding:22px 65px 22px 20px;
	text-align:left;
	position:relative;
	cursor:pointer;
	display:flex;
	align-items:flex-start;
	gap:14px;
}

.faq_question::before,
.faq_question::after{
	content:"";
	position:absolute;
	right:24px;
	top:50%;
	width:16px;
	height:2px;
	background:#32b16c;
	transition:transform .3s ease, opacity .3s ease;
}

.faq_question::before{
	transform:translateY(-50%);
}

.faq_question::after{
	transform:translateY(-50%) rotate(90deg);
}

.faq_item.is-open .faq_question::after{
	transform:translateY(-50%) rotate(0deg);
	opacity:0;
}

.faq_q,
.faq_a{
	width:34px;
	height:34px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:600;
	flex-shrink:0;
}

.faq_q{
	background:#32b16c;
	color:#fff;
}

.faq_a{
	background:#f19149;
	color:#fff;
}

.faq_q_text{
	font-size:1.7rem;
	font-weight:500;
	color:#6a3906;
	line-height:1.7;
	padding-top:2px;
}

.faq_answer{
	display:none;
	border-top:1px solid #eee3d7;
	background:#fdfcf8;
}

.faq_answer_inner{
	display:flex;
	align-items:flex-start;
	gap:14px;
	padding:20px;
}

.faq_a_text{
	font-size:1.5rem;
	line-height:1.9;
	color:#6a3906;
	padding-top:4px;
}

/* レスポンシブ */
@media all and (max-width:1024px){
	.program_features li{
		width:48.5%;
	}

	.course_card{
		width:48.5%;
	}
}

@media all and (max-width:768px){
	.program_mv{
		border-radius:20px;
		margin:0 0 30px;
	}

	.program_heading{
		margin:0 0 40px;
	}

	.program_name{
		font-size:3.2rem;
	}

	.program_block{
		margin:0 0 70px;
	}

	.program_summary{
		padding:28px 20px;
		border-radius:24px;
	}

	.program_meta_item{
		width:100%;
		padding:20px 20px 20px 64px;
		min-height:auto;
	}

	.program_meta_item::before{
		top:20px;
		left:20px;
		font-size:30px;
	}

	.program_features li,
	.course_card{
		width:100%;
	}

	.course_meta_head{
		width:28%;
	}

	.course_meta_data{
		width:72%;
	}

	.faq_question{
		padding:18px 55px 18px 16px;
	}

	.faq_question::before,
	.faq_question::after{
		right:18px;
	}

	.faq_q_text{
		font-size:1.6rem;
	}

	.faq_answer_inner{
		padding:18px 16px;
	}
}

@media all and (max-width:560px){
	.program_name_en{
		font-size:1.2rem;
		margin:0 0 8px;
	}

	.program_name{
		font-size:2.6rem;
	}

	.program_intro,
	.program_summary_main{
		font-size:1.5rem;
		line-height:1.9;
	}

	.program_meta{
		margin:25px 0 0;
	}

	.program_meta_item{
		padding:16px 16px 16px 56px;
		border-radius:16px;
	}

	.program_meta_item::before{
		top:16px;
		left:16px;
		font-size:28px;
	}

	.program_meta_label{
		font-size:1.3rem;
		margin:0 0 6px;
	}

	.program_meta_text{
		font-size:1.5rem;
	}

	.feature_text{
		padding:18px 14px 20px;
	}

	.feature_text p{
		font-size:1.4rem;
		line-height:1.8;
	}

	.course_body{
		padding:18px 14px 18px;
	}

	.course_name{
		font-size:2rem !important;
	}

	.course_meta_head{
		width:30%;
		font-size:1.3rem;
		padding:10px 8px;
	}

	.course_meta_data{
		width:70%;
		font-size:1.3rem;
		padding:10px 10px;
	}

	.price_box{
		padding:12px 8px;
		border-radius:14px;
	}

	.price_label{
		font-size:1.2rem;
	}

	.price_value{
		font-size:1.9rem;
	}

	.faq_item{
		border-radius:16px;
	}

	.faq_question{
		gap:10px;
		padding:15px 48px 15px 12px;
	}

	.faq_q,
	.faq_a{
		width:30px;
		height:30px;
		font-size:1.4rem;
	}

	.faq_q_text{
		font-size:1.5rem;
		line-height:1.7;
	}

	.faq_answer_inner{
		gap:10px;
		padding:15px 12px;
	}

	.faq_a_text{
		font-size:1.4rem;
		line-height:1.8;
	}
}

/* =================================
無料体験CTA
================================= */

.sec_trial_cta{
	margin: 90px 0 0;
}

.trial_cta_inner{
	position: relative;
	padding: 50px 4%;
	border-radius: 30px;
	background: linear-gradient(135deg, #fdf9e4 0%, #e9f7e8 100%);
	border: 1px solid #eee3d7;
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
	overflow: hidden;
}

.trial_cta_inner::before{
	content: "";
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: rgba(50,177,108,.10);
	position: absolute;
	top: -70px;
	right: -60px;
}

.trial_cta_inner::after{
	content: "";
	width: 160px;
	height: 160px;
	border-radius: 50%;
	background: rgba(241,145,73,.12);
	position: absolute;
	bottom: -50px;
	left: -40px;
}

.trial_cta_head,
.trial_cta_body{
	position: relative;
	z-index: 2;
}

.trial_cta_head{
	text-align: center;
	margin: 0 0 30px;
}

.trial_cta_en{
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .15em;
	color: #32b16c;
	margin: 0 0 10px;
}

.trial_cta_title{
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: none !important;
	display: block !important;
	font-size: 4rem !important;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700 !important;
	color: #6a3906;
	line-height: 1.4;
}

.trial_cta_title::after{
	display: none !important;
}

.trial_cta_text{
	font-size: 1.8rem;
	font-weight: 500;
	color: #6a3906;
	line-height: 1.8;
	margin: 0;
}

.trial_cta_list{
	max-width: 760px;
	margin: 0 auto 30px;
	padding: 24px 28px;
	background: rgba(255,255,255,.75);
	border-radius: 24px;
	border: 1px solid #eee3d7;
}

.trial_cta_list li{
	position: relative;
	padding: 0 0 0 28px;
	margin: 0 0 12px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8;
	color: #6a3906;
}

.trial_cta_list li:last-child{
	margin-bottom: 0;
}

.trial_cta_list li::before{
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #32b16c;
	position: absolute;
	left: 0;
	top: .7em;
}

.trial_cta_action{
	text-align: center;
}

.trial_cta_subtitle{
	display: inline-block;
	margin: 0 0 20px !important;
	padding: 10px 50px !important;
	border: none !important;
	border-radius: 999px;
	background: #fff;
	color: #32b16c !important;
	font-size: 1.8rem !important;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700 !important;
}

.trial_cta_subtitle::before{
	display: none !important;
}

.trial_cta_buttons{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px 2%;
}

.trial_btn{
	width: 32%;
	min-height: 84px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 18px 16px;
	border-radius: 20px;
	color: #fff;
	font-size: 1.8rem;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 600;
	text-align: center;
	box-shadow: 0 6px 14px rgba(0,0,0,.12);
	transition: transform .3s ease, opacity .3s ease, box-shadow .3s ease;
}

.trial_btn:hover{
	opacity: 1;
	transform: translateY(-3px);
	box-shadow: 0 10px 18px rgba(0,0,0,.14);
}

.trial_btn_icon{
	width: 26px;
	height: 26px;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}

.trial_btn_line{
	background-color: #06C755;
	color: #fff;
}

.trial_btn_line .trial_btn_icon{
	width: 28px;
	height: 28px;
	background-image: url("../images/base/LINE_Brand_icon.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;
}

.trial_btn_web{
	background: #32b16c;
}

.trial_btn_tel{
	background: #f19149;
	font-size:2.4rem;
}

.trial_btn_text{
	line-height: 1.5;
}

@media all and (max-width:1024px){
	.trial_btn{
		width: 48.5%;
	}
}

@media all and (max-width:768px){
	.sec_trial_cta{
		margin: 70px 0 0;
	}

	.trial_cta_inner{
		padding: 36px 20px;
		border-radius: 24px;
	}

	.trial_cta_title{
		font-size: 3rem !important;
	}

	.trial_cta_text{
		font-size: 1.6rem;
	}

	.trial_cta_list{
		padding: 18px 16px;
		border-radius: 20px;
	}

	.trial_cta_list li{
		font-size: 1.5rem;
		padding-left: 22px;
	}

	.trial_cta_subtitle{
		font-size: 1.6rem !important;
		padding: 8px 18px !important;
	}

	.trial_btn{
		width: 100%;
		min-height: 72px;
		font-size: 1.6rem;
		border-radius: 16px;
	}
}

@media all and (max-width:560px){
	.trial_cta_en{
		font-size: 1.2rem;
		margin-bottom: 8px;
	}

	.trial_cta_title{
		font-size: 2.5rem !important;
		margin-bottom: 10px !important;
	}

	.trial_cta_text{
		font-size: 1.5rem;
		line-height: 1.7;
	}

	.trial_cta_list{
		margin-bottom: 24px;
	}

	.trial_cta_list li{
		font-size: 1.4rem;
		line-height: 1.7;
	}

	.trial_btn{
		min-height: 64px;
		padding: 14px 12px;
		font-size: 1.5rem;
	}

	.trial_btn_icon{
		font-size: 2.1rem;
	}
}





/* お問い合わせフォーム */
.contact_form{
	max-width:900px;
	margin:0 auto;
}

.form_row{
	display:flex;
	flex-wrap:wrap;
	border-bottom:1px solid #ddd;
	padding:20px 0;
}

.form_label{
	width:30%;
	font-weight:500;
	padding-top:12px;
}

/* ラジオ行だけ中央寄せ */
.form_row_radio{
	align-items:center;
}

.form_row_radio .form_label{
	padding-top:0;
}

.form_row_radio .form_input{
	padding-top:0;
}

.form_input{
	width:70%;
}

/* テキスト系入力だけに適用する */
.form_input input[type="text"],
.form_input input[type="email"],
.form_input input[type="tel"],
.form_input select,
.form_input textarea{
	width:100%;
	padding:12px;
	border:1px solid #ccc;
	border-radius:8px;
	font-size:1.6rem;
	font-family:"Noto Sans JP", sans-serif;
	background:#fff;
	color:#6a3906;
}

/* ラジオボタンエリア */
.form_input .radio{
	display:inline-flex;
	align-items:center;
	margin:0 25px 0 0;
	cursor:pointer;
	font-size:1.6rem;
}

.form_input .radio input[type="radio"]{
	width:auto;
	margin:0 8px 0 0;
	padding:0;
	border:none;
	accent-color:#32b16c;
	transform:scale(1.2);
	vertical-align:middle;
}

.form_input textarea{
	resize:vertical;
}

.required_mark{
	display:inline-block;
	background:#ea68a2;
	color:#fff;
	font-size:1.1rem;
	padding:3px 8px;
	border-radius:10px;
	margin-left:10px;
	line-height:1.4;
	vertical-align:middle;
}

.privacy_area{
	margin-top:40px;
}

.privacy_text{
	width:100%;
	height:20em;
	overflow-y:scroll;
	border:1px solid #ccc;
	padding:20px;
	background:#fff;
	margin-bottom:20px;
	border-radius:8px;
}

.privacy_text h4{
	font-size:2rem;
	margin:0 0 15px;
	font-family:"Zen Maru Gothic", sans-serif;
	font-weight:500;
}

.privacy_text h5{
	font-size:1.7rem;
	margin:20px 0 10px;
	font-weight:600;
}

.privacy_check{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:1.6rem;
	cursor:pointer;
}

.privacy_check input[type="checkbox"]{
	accent-color:#32b16c;
	transform:scale(1.2);
}

.btn_submit{
	margin-top:30px;
	background:#32b16c;
	color:#fff;
	border:none;
	padding:20px 60px;
	font-size:1.8rem;
	border-radius:20px;
	cursor:pointer;
}

.btn_submit:disabled{
	background:#aaa;
	cursor:not-allowed;
}

@media (max-width:768px){

	.form_label{
		width:100%;
		margin-bottom:10px;
		padding-top:0;
	}

	.form_input{
		width:100%;
	}

	.form_input .radio{
		display:flex;
		margin:0 20px 10px 0;
	}
}