@charset "utf-8";

/* intro */
#intro{
	background: url("../img/intro_bg.jpg") no-repeat top center;
	background-size: cover;
	padding: 50px 0 0;
}
header{
	text-align: center;
}
.sitettl{
	background: url("../img/bird_img01.png") no-repeat left bottom;
	display: inline-block;
	font-size: 24px;
	letter-spacing: 0.15em;
	min-height: 72px;
	padding:0 120px;
	margin-bottom: 50px;
	color:#1375da;
}
.sitettl strong{
	font-size: 42px;
	font-weight: 500;
	display: block;
	width: 100%;
	text-align: center;
	line-height: 100%;
}
.intro_mainimage{
	border: 4px solid #FFF;
	border-radius: 10px;
	margin-bottom: 25px;
	overflow: hidden;
}
.intro_text{
	margin-bottom: 20px;
}
.intro_text p{
	font-size: 18px;
	line-height: 200%;
}
#intro .inner{
	padding-bottom: 30px;
}
#intro .inner::after{
	background: url("../img/bird_img02.png") no-repeat;
	background-size: cover;
	content: "";
	display: block;
	width: 100px;
	height: 103px;
	position: absolute;
	right: 18%;
	bottom: -26px;
}

/* nav */
nav{
	max-width: 860px;
	margin: 0 auto;
	padding-top: 15px;
}
nav ul{
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
}
nav li{
	display: inline-block;
	width: 19%;
	max-width: 116px;
	aspect-ratio: 116 / 207;
	transition: 0.5s;
	position: relative;
}
nav li:hover{
	opacity: 0.8;
}
nav li:nth-child(1){
	background: url("../img/balloon_bg01.png") no-repeat top center;
	background-size: 100% auto;
	margin-left: 2%;
	animation:float01 2.4s ease-in-out infinite;
}
nav li:nth-child(2){
	background: url("../img/balloon_bg02.png") no-repeat top center;
	background-size: 100% auto;
	margin-left: -2%;
	animation:float02 2.2s ease-in-out infinite;
}
nav li:nth-child(3){
	background: url("../img/balloon_bg03.png") no-repeat top center;
	background-size: 100% auto;
	margin-left: -2%;
	animation:float03 2.6s ease-in-out infinite;
}
nav li:nth-child(4){
	background: url("../img/balloon_bg04.png") no-repeat top center;
	background-size: 100% auto;
	margin-right: -1%;
	animation:float04 2.4s ease-in-out infinite;
}
nav li:nth-child(5){
	background: url("../img/balloon_bg05.png") no-repeat top center;
	background-size: 100% auto;
	margin-left: 6%;
	animation:float05 2.8s ease-in-out infinite;
}
nav li a{
	color: #FFF;
	padding: 30px 10px;
	display: block;
	letter-spacing: 0.05em;
	text-align: center;
	text-decoration: none;
}
nav li:nth-child(3) a{
	color: #333;
}

/* feature */
#feature{
	background: url("../img/feature_bg.jpg") no-repeat top center;
	background-size: cover;
	padding: 80px 0;
}
#feature .section_head h2 strong{
	color: #1375da;
	border-bottom: 2px solid #1375da;
}
.feature_container{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-size: 18px;
}
.feature_container .feature_title h3{
	font-size: 28px;
}
.feature_container .feature_title{
	margin-bottom: 30px;
}
.feature_container .feature_group_contents .feature_title{
	background: url("../img/feature_contentsbg01.png") no-repeat center center;
	background-size: auto 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 240px;
}
.feature_group_contents,.feature_indiv_contents{
	width: 48%;
}
.feature_container .feature_indiv_contents .feature_title{
	background: url("../img/feature_contentsbg02.png") no-repeat center center;
	background-size: auto 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 240px;
}
.plus_icon{
	display: block;
	margin-top: 105px;
	width: 3.8%;
	height: auto;
	aspect-ratio: 1 / 1;
}
.feature_container .feature_group_contents li{
	font-size: 16px;
	position: relative;
	padding-left: 1.25em;
	margin-bottom: 10px;
	line-height: 180%;
}
.feature_indiv_inner p {
	line-height: 180%;
}
.feature_container .feature_group_contents li::before{
	color: #72c397;
	content: "●";
	position: absolute;
	left: 0;
}
.feature_img{
	margin-top: 30px;
}

/* service */
#service{
	background: url("../img/service_bg.jpg") no-repeat top center;
	background-size: cover;
	padding: 80px 0;
}
#service .section_head h2 strong{
	color: #da7f13;
	border-bottom: 2px solid #da7f13;
}
.service_container{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.service_flexcontents{
	width: 47%;
}
.service_contents{
	position: relative;
	padding-left: 1.25em;
	margin-bottom: 20px;
}
.service_contents p{
	line-height: 180%;
}
.service_contents h3{
	font-size: 18px;
}
.service_contents::before{
	font-size: 18px;
	color: #da7f13;
	display: block;
	position: absolute;
	left: 0;
}
.step01::before{content: "❶";}
.step02::before{content: "❷";}
.step03::before{content: "❸";}
.step04::before{content: "❹";}
.step05::before{content: "❺";}
.step06::before{content: "❻";}

.readtext{
	text-align: center;
	font-size: 18px;
	margin-bottom: 30px;
	line-height: 180%;
}
.pricetext::before{content: "●";}
.price_contents{
	text-align: center;
	margin-top: 50px;
}
.price_contents table{
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	max-width: 800px;
	margin: 0 auto;
}
.price_contents table th,.price_contents table td{
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	font-size: 16px;
	padding: 10px;
	width: 50%;
}
.price_contents table td span{
	font-size: 14px;
}
.price_contents table th{
	background: #fff3e5;
	text-align: center;
}
.price_contents table td{
	background: #FFF;
}

/* business */
#business{
	background: url("../img/business_bg.jpg") no-repeat top center;
	background-size: cover;
}
.business_wapper{
	background: url("../img/business_bottomimg.png") repeat-x bottom left;
	padding: 80px 0 230px;
}
#business .section_head h2 strong{
	color: #27af0c;
	border-bottom: 2px solid #27af0c;
}
.business_contents{
	text-align: center;
	margin: 50px 0;
}
.business_contents table{
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	max-width: 800px;
	margin: 0 auto;
}
.business_contents table th,.business_contents table td{
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	font-size: 16px;
	padding: 10px;
}
.business_contents table td span{
	font-size: 14px;
}
.business_contents table th{
	background: #e0f9db;
	text-align: center;
}
.business_contents table td{
	background: #FFF;
}

/* program */
.program_contents{
	text-align: center;
	margin: 50px 0;
}
.program_contents ul{
	display: flex;
	justify-content: center;
}
.program_contents li:nth-child(1){
	margin-right:20px;
}
.program_contents li.markttl{
  background: url("../img/pdf_i.svg") left center no-repeat;
  color: #A59D7D;
  font-size: 18px;
  display: flex;
  height: 30px;
  align-items: center;
  padding-left: 42px;
  margin-bottom: 20px;
  animation-name: fadeInDown;animation-delay: 0.6s;
}

/* access */
#access{
	background: url("../img/access_bg.jpg") no-repeat top center;
	background-size: 100% auto;
	padding: 80px 0 40px;
}
#access .section_head h2 strong{
	color: #ef1361;
	border-bottom: 2px solid #ef1361;
}
.access_map{
	margin-bottom: 40px;
}
.access_map iframe{
	width: 100%;
	min-height: 400px;
	margin-bottom: 30px;
}
.access_info p{
	text-align: center;
	margin-bottom: 10px;
}
.access_route{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.access_route .route{
	width: 30%;
	margin-bottom: 30px;
	font-size: 14px;
	position: relative;
}
.routeimg{
	margin-bottom: 10px;
}
.rarw::after{
	background: url("../img/route_arw.png") no-repeat;
	width: 26px;
	height: 39px;
	content: "";
	display: block;
	position: absolute;
	right: -40px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.access_bottom{
	text-align: center;
	margin-top: 30px;
}
.access_bottom p:last-child{
	font-size: 18px;
	margin-top: 10px;
}

/* contact */
#contact{
	background: url("../img/contact_bg.jpg") no-repeat top center;
	background-size: 100% auto;
	padding: 80px 0 100px;
}
#contact .inner{
	max-width: 800px;
}
#contact .section_head h2 strong{
	color: #940ccd;
	border-bottom: 2px solid #940ccd;
}
#contact .section_head p{
	margin-top: 10px;
}
.contact_tel{
	margin: 20px 0 50px;
	font-size: 36px;
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: 0.025em;
}
.contact_tel::before{
	background: url("../img/icon_tel.svg") no-repeat;
	width: 34px;
	height: 34px;
	content: "";
	display: block;
	margin-right: 8px;
	margin-bottom: -3px;
}
.contact_tel a{
	color: #000;
	text-decoration: none;
	pointer-events: none
}
.contact_form table{
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	margin: 0 auto 25px;
}
.contact_form table th,.contact_form table td{
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	font-size: 16px;
	padding: 10px;
}
.contact_form table td span{
	font-size: 14px;
}
.contact_form table th{
	background: #f3d7ff;
	text-align: center;
	vertical-align: middle;
	width: 200px;
}
.contact_form table td{
	background: #FFF;
}
.contact_form input[type="text"],.contact_form input[type="tel"],.contact_form input[type="email"],.contact_form input[type="number"]{
	font-family: YakuHanMP, "Zen Maru Gothic","Zen Old Mincho", sans-serif;
	padding: 6px;
}
.contact_form select{
	padding: 4px;
}
.contact_form input.input_m{
	min-width: 50%;
}
.contact_form input.input_l{
	min-width: 90%;
}
.contact_form input.input_zip{
	width: 90px;
}
.contact_form input.input_mail{
	min-width: 65%;
}
.contact_form input.input_age{
	width: 50px;
}
.contact_form .forminbox input{
	margin-bottom: 8px;
}
.contact_form #ck02{
	margin-left: 20px;
}
.contact_form textarea{
	min-width: 90% !important;
	height: 84px !important;
}
.contact_form textarea,.contact_form input,.contact_form select{
	background: #FFF !important;
	font-size: 16px;
}
.policy_area{
	border: 1px solid #333;
	background: #FFF;
	height: 200px;
	overflow: auto;
	margin-bottom: 30px;
}
.policy_wap{
	padding: 20px;
}
.policy_wap .policy_ttl{
	font-size: 16px;
	margin-bottom: 20px;
}
.policy_wap p{
	font-size: 14px;
	margin-bottom: 20px;
}
.contact_form .sendbtn_area{
	text-align: center;
}
.contact_form .sendbtn{
	font-family: YakuHanMP, "Zen Maru Gothic","Zen Old Mincho", sans-serif;
	background: #940ccd !important;;
	border: 1px solid #333;
	color: #FFF;
	display: flex;
	font-size: 16px;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 230px;
	height: 50px;
	margin: 0 auto;
	transition: 0.5s;
}
.contact_form .sendbtn:hover{
	opacity: 0.8;
}
.sns{
	width: 100%;
	margin:2em auto;
}
.sns p{
	font-size:18px;
	text-align:center;
	margin-bottom:1em;
}
.sns p.read{
	font-size:14px;
	margin-bottom:1em;
}
.sns p img{
	width:20px;
	margin-right:0.5em;
}
.sns iframe{
	text-align:center;
}

@media screen and (min-width: 769px){
}
@media screen and (max-width: 768px){
	#intro{
		padding: 30px 0 0;
	}
	.sitettl {
		background: url("../img/bird_img01.png") no-repeat left bottom;
		background-size: 70px auto;
		display: inline-block;
		font-size: 15px;
		min-height: 36px;
		padding: 0 80px;
		margin:0 10px 30px;
	}
	.sitettl strong {
		font-size: 28px;
	}
	.intro_text p {
		font-size: 15px;
		line-height: 180%;
	}
	/* nav */
	nav ul {
		margin: 0 -2%;
	}
	nav li{
		width: 19%;
	}
	nav li:nth-child(1),nav li:nth-child(2),nav li:nth-child(3),nav li:nth-child(4),nav li:nth-child(5){
		margin: 0 0.5%;
	}
	nav li a{
		padding: 15px 6px 10px;
		font-size: 15px;
		line-height: 120%;
		letter-spacing: 0;
	}
	nav li:nth-child(3) a{
		color: #333;
	}
	#intro .inner::after {
		width: 50px;
		height: 52px;
	}
	/* feature */
	#feature{
		padding: 40px 0;
	}
	.feature_group_contents, .feature_indiv_contents {
		width: 100%;
	}
	.feature_container .feature_group_contents .feature_title {
		min-height: 120px;
	}
	.feature_container .feature_title h3 {
		font-size: 20px;
	}
	.plus_icon {
		margin:20px auto;
		width: 50px;
	}
	.feature_container .feature_indiv_contents .feature_title {
		min-height: 120px;
	}
	.feature_container .feature_group_contents li{
		font-size: 15px;
		line-height: 180%;
	}
	.feature_indiv_inner p{
		font-size: 15px;
		line-height: 180%;
	}
	.feature_img {
		margin-top: 20px;
	}
	/* service */
	#service {
		padding: 40px 0;
	}
	.service_flexcontents {
		width: 100%;
	}
	.service_container {
		margin-bottom: 30px;
	}
	.service_contents p{
		font-size: 15px;
		line-height: 180%;
	}
	.service_contents h3{
		font-size: 16px;
	}
	.readtext{
		font-size: 15px;
		text-align: left;
		line-height: 180%;
	}
	.pricetext .note{
		font-size: 14px;
	}
	.price_contents{
		margin-top: 0;
	}
	.price_contents table th,.price_contents table td{
		font-size: 14px;
	}
	
	/* business */
	.business_wapper {
		background: url("../img/business_bottomimg.png") repeat-x bottom left;
		background-size: auto 94px;
		padding: 40px 0 115px;
	}
	.business_contents {
		margin: 20px 0 50px;
	}
	.business_contents table th,.business_contents table td{
		font-size: 14px;
		vertical-align: middle;
	}
	
	/* program */
	.program_contents {
		margin: 20px 0;
	}
	.program_contents ul{
		display: unset;
	}
	.program_contents li{
		font-size: 1em;
	}
	.program_contents li:nth-child(1){
		margin-right:unset;
		margin-bottom:20px;
	}
	.program_contents li.markttl{
		font-size: unset;
	}
	
	
	/* access */
	#access {
		padding: 40px 0 20px;
	}
	.access_route .route {
		width: 46%;
		margin-bottom: 20px;
	}
	.access_route .route{
		font-size: 13px;
	}
	.access_info p{
		font-size: 14px;
	}
	.rarw::after {
		display: none;
	}
	.route:nth-child(odd)::after {
		background: url("../img/route_arw.png") no-repeat;
		background-size: 13px auto;
		width: 13px;
		height: 20px;
		content: "";
		display: block;
		position: absolute;
		right: -22px;
		top: 0;
		bottom: 0;
		margin: auto 0;
	}
	
	/* contact */
	#contact {
		padding: 40px 0 50px;
	}
	.contact_form table th, .contact_form table td{
		width: 100%;
		display: block;
	}
	.contact_form input.input_m,.contact_form input.input_l,.contact_form input.input_mail,.contact_form textarea {
		min-width: 100%;
	}
	.contact_tel a{
		pointer-events:auto;
	}
	.sns p.read{
		line-height: 180%;
	}
}

@keyframes float01 {
	0%   { transform: translateY(10px); }
	50%  { transform: translateY(0px); }
	100% { transform: translateY(10px); }
}
@keyframes float02 {
	0%   { transform: translateY(-10px); }
	50%  { transform: translateY(-20px); }
	100% { transform: translateY(-10px); }
}
@keyframes float03 {
	0%   { transform: translateY(8px); }
	50%  { transform: translateY(-2px); }
	100% { transform: translateY(8px); }
}
@keyframes float04 {
	0%   { transform: translateY(6px); }
	50%  { transform: translateY(-4px); }
	100% { transform: translateY(6px); }
}
@keyframes float05 {
	0%   { transform: translateY(-5px); }
	50%  { transform: translateY(-15px); }
	100% { transform: translateY(-5px); }
}