@charset "UTF-8";

#page_content{
	margin-top:100px;
}

.education_cont{
	width:95%;
	max-width: 1065px;
	margin:0 auto 150px;
}

.monthbox{
	display: flex;
	justify-content: space-between;
	margin-top:20px;
}

.monthbox .leftbox{
	width:120px;
	position: relative;
}

.monthbox .leftbox::after{
	width:120px;
	position: relative;
}

.monthbox .leftbox .inbox{
	width:100px;
	height: 100px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	font-size: 2rem;
	background:#fff;
	position: relative;
	z-index: 2;
}

.monthbox.co_green .leftbox .inbox{
	border:2px solid #aacc03;
	color:#aacc03;
}

.monthbox.co_blue .leftbox .inbox{
	border:2px solid #54c2f0;
	color:#54c2f0;
}

.monthbox.co_darkgreen .leftbox .inbox{
	border:2px solid #00a199;
	color:#00a199;
}

.monthbox .leftbox::after{
	content: "";
	width: 2px;
	height: calc(100% - 5px);
	position: absolute;
	top:5px;
	left:calc(50px - 1px);
	display: block;
	background:#aacc03;
}

.monthbox.co_green .leftbox::after{
	background:#aacc03;
}

.monthbox.co_blue .leftbox::after{
	background:#54c2f0;
}

.monthbox.co_darkgreen .leftbox::after{
	background:#00a199;
}

.monthbox .leftbox span{
	display: inline-block;
    vertical-align: middle;
    color:#aacc03;
    line-height: 1;
    width: 20px;
    height: 20px;
    transform: translateX(-25%) rotate(135deg);
	position:absolute;
	bottom:3px;
	left:calc(50px - 5px);
	z-index: 2;
}

.monthbox.co_green .leftbox span{
    color:#aacc03;
}

.monthbox.co_blue .leftbox span{
    color:#54c2f0;
}

.monthbox.co_darkgreen .leftbox span{
    color:#00a199;
}

.monthbox .leftbox span::before,.monthbox .leftbox span::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
  transition: all 0.3s;
}

.monthbox .leftbox span::before {
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
}

.monthbox .leftbox span::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 2px;
}

.monthbox .leftbox .inbox em{
	font-size: 1.6em;
	margin-right: 0.1em;
}

.monthbox .flexbox{
	width:calc(100% - 120px);
	margin-bottom: 30px;
}

.monthbox .flexbox.mb0{
	margin-bottom: 0;
}

.monthbox .flexbox .box{
	margin-top:50px;
	border-radius: 20px;
	background:#f5f5f0;
	padding:40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}

.monthbox .flexbox .box .txbox{
	width:calc(100% - 310px);
}

.monthbox .flexbox .txbox .bubble{
	position: absolute;
	z-index: 2;
	margin-bottom: 30px;
	top:calc(-40px - -20px);
}

.monthbox .flexbox .txbox .bubble span{
	font-size: 1.6rem;
	color:#fff;
	font-weight: 600;
	border-radius: 9999px;
	background:#00a199;
	padding:15px 25px;
	min-width: 150px;
	text-align: center;
	position: relative;
	display: inline-block;
	pointer-events: none;
}

.monthbox .flexbox .txbox .bubble span::after{
	content: "";
	width:14px;
	height: 14px;
	position: absolute;
	background:#00a199;
	top:100%;
	left: calc(50px - 7px);
	clip-path: polygon(100% 0, 0 0, 0 100%);
}

.monthbox.co_green .flexbox .txbox .bubble span,
.monthbox.co_green .flexbox .txbox .bubble span::after{
	background:#aacc03;
}

.monthbox.co_blue .flexbox .txbox .bubble span,
.monthbox.co_blue .flexbox .txbox .bubble span::after{
	background:#54c2f0;
}

.monthbox .flexbox .txbox p.tl{
	font-size: 2.4rem;
	letter-spacing: 0.025em;
	font-weight: 500;
	color:#00a199;
	line-height: 1.875em;
	margin-bottom: 0.4em;
}

.monthbox.co_green .flexbox .txbox p.tl{
	color:#aacc03;
}


.monthbox.co_blue .flexbox .txbox p.tl{
	color:#54c2f0;
}

.monthbox .flexbox .slidebox{
	width:280px;
}

.monthbox .flexbox .slidebox .slick-list{
	border-radius: 10px;
	overflow: hidden;
}

.monthbox .flexbox .flow{
	display: flex;
	justify-content: space-between;
	gap:15px;
	margin-top:20px;
}

.monthbox .flexbox .flow .fbox{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding:15px 30px 15px 15px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.7em;
	text-align: center;
	background:#cceceb;
	clip-path: polygon(0% 0%, calc(100% - 25px) 0%, 100% 50%, calc(100% - 25px) 100%, 0% 100%);
}

.monthbox .flexbox .flow .fbox:last-child{
	padding:15px;
	clip-path: polygon(0% 0%, 100% 0%, 100% 50%, 100% 100%, 0% 100%);
}

.monthbox .flexbox .flow .fbox span{
	font-weight: 600;
	font-size: 1.6rem;
	color:#00a199;
}


ul.business_list_tx{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 100px;
}

ul.business_list_tx.border{
	border-top:1px solid #dadada;
	padding:40px 0;
}

ul.business_list_tx.border + .business_list_tx.border{
	border-bottom:1px solid #dadada;
}

ul.business_list_tx li{
	width:calc((100% - 30px) / 2);
	margin-bottom: 0.5em;
}

ul.business_list_tx.border li{
	width:50%;
	border-right:1px solid #dadada;
	padding:0 40px 0 0;
}

ul.business_list_tx.border li:nth-child(even){
	border-right:none;
	padding:0 0 0 40px;
}

ul.business_list_tx.w100 li{
	width:100%;
}

ul.business_list_tx.flexbox li{
	width:calc((100% - min(8vw,80px)) / 3);
	margin-bottom: 0.5em;
}

ul.business_list_tx.flexbox li figure{
	aspect-ratio : 326 / 240;
	border-radius: 10px;
	overflow: hidden;
}

ul.business_list_tx.flexbox li figure{
	aspect-ratio : 326 / 240;
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 20px;
}

ul.business_list_tx.flexbox .tl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1em;
}

ul.business_list_tx.flexbox .tl span{
	font-size: 1.4rem;
	font-weight: 600;
	color:#fff;
	background:#00a199;
	border-radius: 9999px;
	padding:0.7em 1em;
}

.scroll_cont{
	margin-top:40px;
}

.education_bgbox{
	margin-top:50px;
	border-radius: 20px;
	padding:20px 30px;
	background:#f5f5f0;
}

.education_bgbox .tl{
	font-size: 1.6rem;
	font-weight: 600;
	color:#aacc03;
	letter-spacing: 0.05em;
	line-height: 1.7em;
	margin-bottom: 0.5em;
}

.education_bgbox dl{
	display: flex;
	align-items: center;
}

.education_bgbox dl dt{
	width:50px;
	font-weight: 600;
	font-size: 1.6rem;
	color:#aacc03;
}

.education_bgbox dl dd{
	width:auto;
}

.education_bgbox dl dd ul.g_dot_list li span{
	color:#aacc03;
	font-weight: 600;
}

.education_bgbox dl dd ul.g_dot_list li::before{
	background:#aacc03;
}

.education_flexbox{
	display: flex;
	justify-content: space-between;
	padding-top:50px;
	margin-top:50px;
	border-top:1px solid #dadada;
}

.education_flexbox figure{
	width:330px;
	border-radius: 10px;
	overflow: hidden;
}

.education_flexbox .txbox{
	width:calc(100% - 330px - 30px);
}

.common_arrow_btn span::after{
  	border-top: 1px solid #54c2f0;
  	border-right: 1px solid #54c2f0;
}

.slick-dots{
	padding-top:10px !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.slick-dots li
{
    width: 8px !important;
    height: 8px !important;
    margin: 0 5px !important;
}
.slick-dots li button
{
    width: 8px !important;
    height: 8px !important;
}
.slick-dots li button
{
	width: 8px !important;
    height: 8px !important;
}
.slick-dots li.slick-active button
{
	width: 8px !important;
    height: 8px !important;
}

@media screen and (max-width:750px) {
#page_content{
	margin-top:70px;
}

.education_cont{
	width:90%;
	max-width: 1065px;
	margin:0 auto 70px;
}

.monthbox{
	display: flex;
	justify-content: space-between;
	margin-top:20px;
}

.monthbox .leftbox{
	width:60px;
	position: relative;
}

.monthbox .leftbox::after{
	width:60px;
	position: relative;
}

.monthbox .leftbox .inbox{
	width:60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	font-size: 1.8rem;
	background:#fff;
	position: relative;
	z-index: 2;
}

.monthbox.co_green .leftbox .inbox{
	border:2px solid #aacc03;
	color:#aacc03;
}

.monthbox.co_blue .leftbox .inbox{
	border:2px solid #54c2f0;
	color:#54c2f0;
}

.monthbox.co_darkgreen .leftbox .inbox{
	border:2px solid #00a199;
	color:#00a199;
}

.monthbox .leftbox::after{
	content: "";
	width: 2px;
	height: calc(100% - 5px);
	position: absolute;
	top:5px;
	left:calc(30px - 1px);
	display: block;
	background:#aacc03;
}

.monthbox.co_green .leftbox::after{
	background:#aacc03;
}

.monthbox.co_blue .leftbox::after{
	background:#54c2f0;
}

.monthbox.co_darkgreen .leftbox::after{
	background:#00a199;
}

.monthbox .leftbox span{
	display: inline-block;
    vertical-align: middle;
    color:#aacc03;
    line-height: 1;
    width: 20px;
    height: 20px;
    transform: translateX(-25%) rotate(135deg);
	position:absolute;
	bottom:3px;
	left:calc(30px - 5px);
	z-index: 2;
}

.monthbox.co_green .leftbox span{
    color:#aacc03;
}

.monthbox.co_blue .leftbox span{
    color:#54c2f0;
}

.monthbox.co_darkgreen .leftbox span{
    color:#00a199;
}

.monthbox .leftbox span::before,.monthbox .leftbox span::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
  transition: all 0.3s;
}

.monthbox .leftbox span::before {
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
}

.monthbox .leftbox span::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 2px;
}

.monthbox .leftbox .inbox em{
	font-size: 1.6em;
	margin-right: 0.1em;
}

.monthbox .flexbox{
	width:calc(100% - 60px);
	margin-bottom: 30px;
}

.monthbox .flexbox.mb0{
	margin-bottom: 0;
}

.monthbox .flexbox .box{
	margin-top:40px;
	border-radius: 15px;
	background:#f5f5f0;
	padding:20px 20px 20px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	flex-direction: column;
}
	
.monthbox .flexbox .box:first-child{
	margin-top:60px;
}

.monthbox .flexbox .box .txbox{
	width:100%;
}

.monthbox .flexbox .txbox .bubble{
	position: absolute;
	z-index: 2;
	margin-bottom: 30px;
	top:calc(-40px - -20px);
}

.monthbox .flexbox .txbox .bubble span{
	font-size: 1.2rem;
	color:#fff;
	font-weight: 600;
	border-radius: 9999px;
	background:#00a199;
	padding:12px 15px;
	min-width: 100px;
	text-align: center;
	position: relative;
	display: inline-block;
	pointer-events: none;
}

.monthbox .flexbox .txbox .bubble span::after{
	content: "";
	width:14px;
	height: 14px;
	position: absolute;
	background:#00a199;
	top:calc(100% - 1px);
	left: calc(50px - 7px);
	clip-path: polygon(100% 0, 0 0, 0 100%);
}

.monthbox.co_green .flexbox .txbox .bubble span,
.monthbox.co_green .flexbox .txbox .bubble span::after{
	background:#aacc03;
}

.monthbox.co_blue .flexbox .txbox .bubble span,
.monthbox.co_blue .flexbox .txbox .bubble span::after{
	background:#54c2f0;
}

.monthbox .flexbox .txbox p.tl{
	font-size: 1.8rem;
	letter-spacing: 0.025em;
	font-weight: 500;
	color:#00a199;
	line-height: 1.875em;
	margin-bottom: 0.4em;
}
	
.monthbox .flexbox .txbox .bubble + .tl{
	margin-top:20px;
}

.monthbox.co_green .flexbox .txbox p.tl{
	color:#aacc03;
}


.monthbox.co_blue .flexbox .txbox p.tl{
	color:#54c2f0;
}

.monthbox .flexbox .slidebox{
	width:100%;
	margin-top:20px;
}

.monthbox .flexbox .slidebox .slick-list{
	border-radius: 10px;
	overflow: hidden;
}

.monthbox .flexbox .flow{
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	gap:10px;
	margin-top:20px;
}

.monthbox .flexbox .flow .fbox{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding:15px 15px 30px 15px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.7em;
	text-align: center;
	background:#cceceb;
	clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 25px), 50% 100%, 0 calc(100% - 25px));
}

.monthbox .flexbox .flow .fbox:last-child{
	padding:15px;
	clip-path: polygon(0% 0%, 100% 0%, 100% 50%, 100% 100%, 0% 100%);
}

.monthbox .flexbox .flow .fbox span{
	font-weight: 600;
	font-size: 1.6rem;
	color:#00a199;
}


ul.business_list_tx{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: column;
	margin-bottom: 70px;
	gap:30px;
}

ul.business_list_tx.border{
	border-top:1px solid #dadada;
	padding:40px 0;
}

ul.business_list_tx.border + .business_list_tx.border{
	border-bottom:1px solid #dadada;
}

ul.business_list_tx li{
	width:calc((100% - 30px) / 2);
	margin-bottom: 0.5em;
}

ul.business_list_tx.border li{
	width:50%;
	border-right:1px solid #dadada;
	padding:0 40px 0 0;
}

ul.business_list_tx.border li:nth-child(even){
	border-right:none;
	padding:0 0 0 40px;
}

ul.business_list_tx.w100 li{
	width:100%;
}

ul.business_list_tx.flexbox li{
	width:100%;
	margin-bottom: 0.5em;
}

ul.business_list_tx.flexbox li figure{
	aspect-ratio : 326 / 240;
	border-radius: 10px;
	overflow: hidden;
}

ul.business_list_tx.flexbox li figure{
	aspect-ratio : 326 / 240;
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 20px;
}

ul.business_list_tx.flexbox .tl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1em;
}

ul.business_list_tx.flexbox .tl span{
	font-size: 1.4rem;
	font-weight: 600;
	color:#fff;
	background:#00a199;
	border-radius: 9999px;
	padding:0.7em 1em;
}

.scroll_cont{
	margin-top:40px;
}

.education_bgbox{
	margin-top:20px;
	border-radius: 15px;
	padding:20px 20px;
	background:#f5f5f0;
}

.education_bgbox .tl{
	font-size: 1.6rem;
	font-weight: 600;
	color:#aacc03;
	letter-spacing: 0.05em;
	line-height: 1.7em;
	margin-bottom: 0.5em;
}

.education_bgbox dl{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}

.education_bgbox dl dt{
	width:100%;
	font-weight: 600;
	font-size: 1.6rem;
	color:#aacc03;
	margin-bottom: 10px;
}

.education_bgbox dl dd{
	width:auto;
}

.education_bgbox dl dd ul.g_dot_list li span{
	color:#aacc03;
	font-weight: 600;
}

.education_bgbox dl dd ul.g_dot_list li::before{
	background:#aacc03;
}

.education_flexbox{
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	padding-top:30px;
	margin-top:30px;
	border-top:1px solid #dadada;
}

.education_flexbox figure{
	width:100%;
	border-radius: 10px;
	overflow: hidden;
	order:-1;
	margin-bottom: 20px;
}

.education_flexbox .txbox{
	width:100%;
}

.common_arrow_btn span::after{
  	border-top: 1px solid #54c2f0;
  	border-right: 1px solid #54c2f0;
}

.slick-dots{
	padding-top:10px !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.slick-dots li
{
    width: 8px !important;
    height: 8px !important;
    margin: 0 5px !important;
}
.slick-dots li button
{
    width: 8px !important;
    height: 8px !important;
}
.slick-dots li button
{
	width: 8px !important;
    height: 8px !important;
}
.slick-dots li.slick-active button
{
	width: 8px !important;
    height: 8px !important;
}
	
.scroll_cont{
	padding-bottom: 20px;
}
	
.scroll_cont figure{
	width:600px;
}
}