@charset "utf-8";
/* CSS Document */

@import url('https://use.fontawesome.com/releases/v5.6.3/css/all.css');

/* サイズ別非表示設定 ------------------------------------------------------------*/
@media (min-width: 993px) {
	.tb, .sptb, .sp { display: none!important; }
}
@media (max-width: 992px) and (min-width: 769px) {
	.pc, .sp { display: none!important; }
}
@media (max-width: 768px) {
	.pc, .pctb, .tb { display: none!important; }
}
@media (max-width: 768px) and (min-width: 577px) {
	.ssp { display: none!important; }
}
@media (max-width: 576px) {
	.pctbsp { display: none!important; }
}




/* 基本設定 ---------------------------------------------------------------------------*/
html { font-size: 62.5%; }
body {
	color: #333;
	width: 100%;
	min-width: 360px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: .05em;
}
* { box-sizing: border-box; }
img { width: 100%; }
ul { list-style: none; }
li,p { transform: rotate(0.05deg); }
table { width: 100%; }
th,td {
	vertical-align: middle;
	padding: 16px;
	border: 1px solid #aaa;
	transform: rotate(0.05deg);
}
.wrap { overflow: hidden; }
.flexbox { display: flex; }
.content {
	width: 85%;
	margin: 0 auto 96px;
	padding: 40px 0;
}


/*タイトルの設定 ---------------*/
h1,h2,h3 {
	font-weight: bold;
	text-align: center;
	letter-spacing: .2em;
	margin-bottom: .6em;
	transform: rotate(0.05deg);
}
h1 {
	font-size: 3.2rem;
	color: #fff;
	background-position: 70% 70%;
	background-size: cover;
	padding-top: 2.4em;
	padding-bottom: 2.4em; }
h2 {
	font-size: 3rem;
	color: #07ad00;
}
h3 {
	font-size: 2.5rem;
	color: #f38f00;
}


/* リンクの設定 ---------------*/
a,a:visited {
	text-decoration: none;
	color: inherit;
}
a.text-link {
	text-decoration: underline;
	color: #07ad00;
	transform: rotate(0.05deg);
}


/* 電話番号 ---------------*/
.tel_no {
	color: #f38f00;
	font-size: 2.5rem;
	margin-right: 1.7rem;
	font-weight: 900;
	position: relative;
}
.tel_no::before {
	content: "\f2a0";
	width: 24px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1.1em;
	text-align: right;
	display: inline-block;
	vertical-align: bottom;
	margin-right: 10px;
}
/* 992px以上の時、電話番号リンク非表示 */
@media (min-width: 992px) {
	a.tel { pointer-events: none; }
}


/*ボタン ---------------*/
.btn a {
	display: block;
	background: #f38f00;
	color: #fff;
	font-weight: bold;
	border-radius: 40px;
	padding: 12px 32px 12px 24px;
	position: relative;
}
.btn a::before {
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1.8rem;
	position: absolute;
	right: 7%;
	top: 50%;
	transform: translateY(-50%);
}






/* ヘッダー　---------------------------------------------------------------------------*/
header { background: #fff; }
header .header_top {
	width: 85%;
	max-width: 1360px;
	min-width: 920px;
	margin: 0 auto;
	padding: 8px 0;
}


/* ロゴ ---------------*/
header .logo p {
	font-size: .9em;
	line-height: 1.3;
}
header .logo img { width: 370px; }


/* ナビ ---------------*/
header #wrapper { border-bottom: 8px solid #07ad00; }
header #global-navi {
	width: 85%;
	max-width: 1360px;
	min-width: 920px;
	margin: 0 auto;
	position: relative;
}
header #global-navi ul { justify-content: space-between; }
header #global-navi ul li { width: 19.5%; }
header #global-navi ul li a {
	display: block;
	padding: 1rem .5rem;
	text-align: center;
	font-weight: bold;
	text-shadow: 0 2px 4px #00000055;
	background: #69bd7b;
	color: #fff;
	border: 4px solid #69bd7b;
	border-bottom: none;
	border-radius: 15px 15px 0 0;
}
header #global-navi ul li a:hover {
	background: #45af40;
	border-color: #45af40;
}
header #global-navi ul li.now a {
	background: #07ad00;
	border-color: #07ad00;
	text-shadow: none;
}


/*住所・TEL・営業時間 ---------------*/
header .right.flexbox {
	justify-content: end;
	align-items: flex-end;
	width: 100%;
	height: 84px;
	font-size: 1.5rem;
	position: absolute;
	right: 0;
	bottom: calc(100% + 8px);
}
header .right .add-tel { margin-right: 3% }
header .right .add {
	line-height: 1.3;
	padding-left: 34px;
	position: relative;
}
header .right .add::before {
	content: "";
	width: 25px;
	height: 25px;
	background: url(../images/icon_map.png) center / contain no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
header .right .tel_no {
	margin-right: 0;
	font-size: 2.2rem;
	line-height: 1.4;
}
header .right .open_hour {
	border: 1px solid;
	background: #fff;
	line-height: 1.4;
	font-size: 1.2rem;
}
header .right .open_hour .ttl {
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
	background: #333;
	margin-right: .5rem;
}
header .right .open_hour .time {
	padding: .3rem .5rem;
	display: block;
	letter-spacing: 0;
}




/* フッター ---------------------------------------------------------------------------*/
footer .fotter_top {
	padding-top: 4px;
	background: #fff;
	border-top: 5px solid #07ad00;
	border-bottom: 2px solid #07ad00;
}
footer .logo { text-align: center; }
footer .logo p { font-size: .9em; }
footer .logo img { width: 280px; }


/* ナビ ---------------*/
footer .fotter_middle {
	background: linear-gradient(#f6fff6 20%, #c6f3c5 100%);
}
footer .fotter_middle .content {
	justify-content: center;
	flex-wrap: wrap;
	gap: 56px 4%;
	margin-bottom: 0;
	padding: 64px 0;
}
footer .fotter_middle .subnav {
	width: 200px;
	transition: .3s all;
}
footer .fotter_middle .subnav .ttl {
	margin-bottom: 4px;
	padding: 0 8px;
	background: #fff;
	border-bottom: 1px dashed;
	color: #07ad00;
	font-size: 1.05em;
	font-weight: bold;
}
footer .fotter_middle .subnav li {
	margin-left: 8px;
	font-size: .9em;
}
footer .fotter_middle .subnav.item05 {
	width: 100%;
	text-align: center;
}
footer .fotter_middle .subnav li::before {
	content: "\f0da";
	font-family: "Font Awesome 5 Free";
  font-weight: 900;
	display: inline-block;
	margin-right: .5rem;
}
footer .fotter_middle .subnav.item05 .btn a {
	max-width: 280px;
	margin: 0 auto 8px;
	transition: .3s all;
}
footer .fotter_middle .subnav.item05 li {
	display: inline-block;
	transition: .3s all;
}
footer .fotter_middle .subnav:not(.item05):hover,
footer .fotter_middle .subnav.item05 .btn:hover,
footer .fotter_middle .subnav.item05 li:hover { translate: 0 3px; }


/* コピーライト ---------------*/
footer .copy {
	padding: 8px 16px 16px;
	background: #07ad00;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1.3;
	text-align: center;
}

/* ページトップ ---------------*/
#pagetop {
	width: 80px;
	transition: 0.2s ease 0s;
	position: fixed;
	bottom: 5.5%;
	right: 2%;
	z-index: 999;
}
#pagetop:hover {
	transform: translateY(-10px);
	transition: 0.2s ease 0s;
}
#pagetop a { display: block; }





/* トップページ ---------------------------------------------------------------------------*/
#toppage .mv {
	width: 100%;
	background: linear-gradient(#f6fff6 0%, #c6f3c5 60%);
	position: relative;
}
#toppage .mv .bottom-img {
	position: absolute;
	bottom: -16px;
}
#toppage .mv .inner {
	justify-content: center;
	align-items: center;
	gap: 16px 2%;
	width: 92%;
	min-width: 920px;
	margin-bottom: 0;
	padding: 40px 0 144px;
	position: relative;
	z-index: 9;
}
#toppage .mv .mv-text {
	width: 424px;
	margin-top: -16px;
}
#toppage .mv-title .sml-ttl {
	padding-left: 2%;
	font-weight: bold;
	font-size: calc(1vw + .8em);
}
#toppage .mv-title .text-img {
	width: 100%;
	margin-top: 8px;
	margin-bottom: 16px;
}
#toppage .mv .summary {
	margin-left: 2%;
	font-size: .9em;
	text-align: justify;
}
#toppage .mv .mv-img {
	width: calc(98% - 424px);
	max-width: 720px;
	position: relative;
}
#toppage .mv .mv-img .mv-main { width: 100%; }
#toppage .mv .mv-img .mv-parts {
	width: 30%;
	max-width: 200px;
	min-width: 112px;
	position: absolute;
	z-index: 10;
}
#toppage .mv .mv-img .mv-parts.parts01 {
	top: -6%;
	left: 0;
	scale: -1 1;
}
#toppage .mv .mv-img .mv-parts.parts02 {
	bottom: 20%;
	right: -5%;
}


/* アニメーション　---------------*/
.fuwafuwa {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  background: url(../img/ico-apple.svg) no-repeat center center / 60px auto;
  display: inline-block;
  transition: 1.5s ease-in-out;
  width: 70px;
  height: 70px;
  margin-top: 15px;
}
 
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}




/*TOP：見学・説明会について　---------------*/
#kokuchi {
	padding-bottom: 144px;
	position: relative;
}
#kokuchi .bottom-img {
	position: absolute;
	bottom: -8px;
}
#kokuchi .content {
	width: 92%;
	max-width: 920px;
	margin-bottom: 0;
	padding: 64px 80px;
	background: url(../images/bg-stripes.png) top / 32px repeat;
	background-color: #fff;
	border-radius: 24px;
	position: relative;
}
#kokuchi .inner {
	padding: 32px 8%;
	background: #fffeee;
	border-radius: 16px;
}
#kokuchi h2 {
	margin-bottom: 16px;
	letter-spacing: 0.1em;
}
#kokuchi .text { text-align: center; }
#kokuchi .text .sml { font-size: 0.85em; }
#kokuchi .text ul {
	width: 100%;
	padding: 24px 32px;
	margin: 24px 0 32px;
	background: #fff;
	border: 4px solid #f38f00;
  border-radius: 4px;
	text-align: left;
}
#kokuchi .text li {
	margin-bottom: 8px;
	padding-left: 2rem;
	line-height: 1.5;
	position: relative;
}
#kokuchi .text li:last-child { margin-bottom: 0; }
#kokuchi .text li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
#kokuchi .kokuchi-btn-area { margin-top: 24px; }
#kokuchi .text .btn a {
	width: 280px;
	margin: 1rem auto 0;
}
#kokuchi .image {
	width: 30%;
	max-width: 240px;
	position: absolute;
	bottom: 16px;
}
#kokuchi .image.image01 { left: -24px; }
#kokuchi .image.image02 { right: -24px; }



/*TOP：施設紹介　---------------*/
.shisetsu {
	background: linear-gradient(#f6fff6 40%, #c6f3c5 100%);
	position: relative;
}
.shisetsu .bottom-img {
	position: absolute;
	bottom: -8px;
}
.shisetsu .content {
	min-width: 760px;
	margin-bottom: 0;
	padding: 0 0 224px;
}
.shisetsu .strong {
	width: 100%;
	max-width: 840px;
	margin: 0 auto 40px;
	padding: 16px 20px;
	border-radius: 8px;
	background: #fff;
	text-align: center;
	color: #f38f00;
	font-size: 1.9rem;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: .1px;
	position: relative;
}
.shisetsu .strong::before,
.shisetsu .strong::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 8px;
	border: 1px solid #F38f00;
	position: absolute;
}
.shisetsu .strong::before {
	top: -4px;
	left: -4px;
}
.shisetsu .strong::after {
	top: 4px;
	left: 4px;
}
.shisetsu .sengen {
	width: 90%;
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 48px;
}
.shisetsu .sengen li {
	text-align: justify;
	letter-spacing: .75px;
	line-height: 2;
	padding: .5rem 2% .5rem 4.2rem;
	border-bottom: 1px dashed #888;
	position: relative;
}
.shisetsu .sengen li::before {
	content: "\f058";
	font-family: "Font Awesome 5 Free";
  font-weight: 900;
	font-size: 2.5rem;
	color: #07ad00;
	position: absolute;
	left: 1%;
	top: -5%;
}
.shisetsu .motto {
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px 2%;
	width: 95%;
	max-width: 1200px;
	margin: 0 auto;
}
.shisetsu .motto li {
	width: 49%;
	box-shadow: 2px 2px 8px #00000055;
}
.shisetsu .motto li img { display: block; }
.shisetsu .motto li.w_100 { width: 100%; }



/*TOP：お知らせ　---------------*/
.topinfo { position: relative; }
.topinfo .bottom-img {
	position: absolute;
	bottom: -8px;
}
.topinfo .content {
	max-width: 1120px;
	margin-bottom: 0;
	padding: 0 0 144px;
	position: relative;
	z-index: 5;
}
.topinfo .memo-area {
	background: #fff;
	margin-bottom: 0;
	padding: 32px 5% 24px;
	border-radius: 16px;
	border: 4px solid #07ad00;
}
.topinfo .memo-area.file-link {
	margin-top: 24px;
	padding-top: 24px;
	padding-bottom: 24px;
	font-size: .9em;
}
.topinfo h2 {
	margin: 0 auto 16px;
	background: #07ad00;
	color: #fff;
	font-size: 1.8em;
}
.topinfo iframe {
	width: 100%;
	height: 296px;
}
.topinfo .file-link .link-item01 {
	margin-bottom: 16px;
	color: #07ad00;
	font-weight: bold;
}
.topinfo .file-link .link-item01 a {
	display: block;
	margin-left: 1em;
	text-indent: -1.2em;
}
.topinfo .file-link .link-item01 a::before {
	content: "◆";
	margin-right: .2em;
}
.topinfo .file-link .link-item02 a { color: #333; }


/*TOP：アクセス　---------------*/
.access { background: linear-gradient(#f6fff6 40%, #fff 100%); }
.access .content {
	align-items: center;
	flex-wrap: wrap;
	gap: 16px 5%;
	margin-bottom: 0;
	padding-bottom: 160px;
}
.access .inner { width: 480px; }
.access h2 {
	padding-left: 4px;
	text-align: left;
}
.access tr { border-bottom: 1px dashed #aaa; }
.access th,
.access td {
	border: none;
	padding: 8px;
	text-align: left;
	vertical-align: top;
}
.access th { width: 100px; }
.access td { width: calc(100% - 100px); }
.access .map-area {	width: calc(95% - 480px); }
.access iframe {
	width: 100%;
	height: 400px;
	box-shadow: 3px 3px 6px #aaa;
}






/* サービス・料金 ---------------------------------------------------------------------------*/
#service h1 { background-image: url(../images/mv_service.jpg); }
#service .shien {
	width: 60%;
	min-width: 750px;
	padding-bottom: 0;
}
#service .shien table { margin-bottom: 40px; }
#service .shien td {
	vertical-align: top;
	padding: .5em 1em;
	font-weight: bold;
	width: 50%;
}
#service .shien td i {
	color: #f38f00;
	margin-right: .3em;
}
#service .shien td span {
	font-size: .8em;
	font-weight: normal;
	display: inline-block;
}
#service .shien .shubetsu th {
	width: 30%;
	background: #ffdfb1;
}
#service .shien .shubetsu td {
	width: 70%;
	font-weight: normal;
	font-size: .95em;
	vertical-align: middle;
}
#service .shien p { text-align: center; }
#service .flow { background: linear-gradient(#f6fff6 20%, #c6f3c5 100%) }
#service .flow .content {
	margin-bottom: 40px;
	padding-top: 72px;
	padding-bottom: 88px;
}
#service .flow dl {
	padding: 24px 5% 32px;
	background: #fff;
	border-radius: 6px 6px 2px 2px;
	text-align: center;
}
#service .flow dt {
	font-size: 1.3em;
	font-weight: bold;
	color: #f38f00;
}
#service .flow dd { margin-top: .9rem; }
#service .flow dd + dd { margin-top: 40px; }
#service .flow .arrow {
	margin: 0 auto 64px;
	color: #07ad00;
	border-bottom: 2px solid;
	position: relative;
}
#service .flow .arrow:after {
	content: "";
	position: absolute;
	top: 0;
	right: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 32px 124px 0 124px;
	border-color: #07ad00 transparent transparent transparent;
	margin-left: -124px;
}

#service .day_flow { width: 75%; }
#service .day_flow .hattatsushien,
#service .day_flow .dayservice {
	flex-wrap: wrap;
	gap: 24px 2%;
}
#service .day_flow .hattatsushien { margin-bottom: 6rem; }
#service .day_flow h3 {
	width: 100%;
	margin-bottom: 0;
}
#service .day_flow .flex-item {
	width: 49%;
}
#service .day_flow tr { border-bottom: 1px solid #aaa; }
#service .day_flow th,
#service .day_flow td {
	font-weight: bold;
	line-height: 1.7;
	vertical-align: top;
}
#service .day_flow th {
	width: 25%;
	background: #c6f3c5;
	white-space: nowrap;
}
#service .day_flow tr:first-child th {
	padding-top: .4rem;
	padding-bottom: .4rem;
	background: #07ad00;
	color: #fff;
}
#service .day_flow td { width: 75%; }
#service .day_flow td span {
	font-weight: normal;
	font-size: .9em;
	display: inline-block;
}
#service .day_flow td i {
	margin-right: .5em;
	font-size: .8em;
}


#fee .h1 {
	background: url(../images/mv_fee.jpg) 70% 70%;
	background-size: cover;
	padding: 2.4em;
	font-size: 2em;
	color: #fff;
}
#fee p {
	margin-bottom: 1em;
	text-align: center;
}
#fee h3 {
	margin-top: 2rem;
	margin-bottom: 0;
	font-size: 1.2em;
}
#fee .jikofutan {
	width: 65%;
	margin: 4rem auto 0;
}
#fee table {
	border-collapse: separate;
	border-spacing: 0 16px;
}
#fee th,
#fee td {
	padding-right: 1em;
	padding-left: 1em;
}
#fee th {
	background: #07ad00;
	color: #fff;
	text-align: left;
	line-height: 1.4;
}
#fee td { text-align: right; }



/* 求人情報 ---------------------------------------------------------------------------*/
#recruit h1 { background-image: url(../images/mv_recruit.jpg); }
#recruit .content {
	width: 60%;
	min-width: 320px;
}
#recruit h3 {
	text-align: left;
	font-size: 1.1em;
	color: #07ad00;
}
#recruit table { margin-bottom: 4rem; }
#recruit th {
	width: 112px;
	text-align: center;
	font-weight: bold;
	background: #ffdfb1;
	white-space: nowrap;
}
#recruit td {
	width: calc(100% - 112px);
	vertical-align: top;
}
#recruit p {
	font-size: 1.2em;
	color: #f38f00;
	font-weight: bold;
	text-align: center;
}



/* お問い合わせ ---------------------------------------------------------------------------*/
#toi-form h1 { background-image: url(../images/mv_form.jpg); }
#toi-form .summary {
	line-height: 1.4;
	text-align: center;
}
#toi-form .summary .tel {
	display: inline-block;
	margin-top: 16px;
}

#toi-form #form-tbl {
	max-width: 720px;
	margin-top: 40px;
	margin-right: auto;
	margin-left: auto;
}
#toi-form table { margin-bottom: 40px; }
#toi-form th {
	text-align: left;
	width: 208px;
	line-height: 1.2;
}
#toi-form td { width: calc(100% - 208px); }

#toi-form.main th,
#toi-form.main td {
	border: none;
	vertical-align: middle;
}
#toi-form.main th {
	padding-left: 0;
	padding-right: 60px;
}
#toi-form.main td { padding: 0; }
#toi-form input[type="text"],
#toi-form textarea {
	width: 100%;
	font-size: 16px;
	border: none;
	border: 1px solid #aaa;
	border-radius: 3px;
	padding: .5em;
}
#toi-form textarea {
	height: 120px;
	margin-top: 16px;
}
#toi-form span.red {
	display: inline-block;
	width: 38px;
	background: #f38f00;
	padding: 4px;
	font-size: 1.2rem;
	color: #fff;
	line-height: 1.2;
	position: absolute;
	text-align: center;
	right: 16px;
	top: 50%;
	translate: 0 -50%;
}
#toi-form td.check_policy {
	padding-top: 24px;
	text-align: center;
}
#toi-form .check_policy span.red {
	margin-right: 8px;
	position: unset;
	translate: 0;
}
#toi-form .check_policy a {
	border-bottom: 1px solid;
	color: #f38f00;
}
#toi-form .btn { text-align: center; }
#toi-form input[type="submit"] {
	margin-bottom: 8px;
	padding: 1rem 6rem;
	background: #07ad00;
	color: #fff;
}


/* 送信確認・エラー・サンクスページ ---------------*/
#toi-form.conf { min-height: 90vh; }
#toi-form.conf .msg {
	color: #f38f00;
	font-weight: bold;
}
#toi-form.conf.thanks .text {
	margin-top: 15vh;
}

#toi-form input[type="button"],
#toi-form.conf .btn a {
	background: #d9d9d9;
	margin-bottom: 8px;
	padding: 1rem 6rem;
}

#toi-form.conf.thanks input[type="button"],
#toi-form.conf.thanks .btn a {
	max-width: 256px;
	margin: 5vh auto 0;
	padding: 1.2rem 5rem 1.2rem 4rem;
	background: #f38f00;
}





/* プライバシーポリシー ------------------------------------------------------------*/
#policy { font-size: .95em; }
#policy h1 { background-image: url(../images/mv_policy.jpg); }
#policy .content {
	width: 88%;
	max-width: 800px;
	margin-bottom: 48px;
}
#policy p {
	text-align: justify;
}
#policy .summary {
	margin-bottom: 24px;
}
#policy ul {
	border: 1px solid #aaa;
	padding: 40px 32px 16px 56px;
}
#policy li {
	list-style-type: lower-latin;
	margin-bottom: 24px;
	text-align: justify;
}
#policy .date {
	margin-top: 16px;
	text-align: right;
}



