@charset "utf-8";

/*
html5doctor.com Reset Stylesheet
v1.6.2
*/

/*要素のフォントサイズやマージン・パディングをリセットしています*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	/*font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";*/
	font-family: "Meiryo", "メイリオ", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
}

html {
	scroll-behavior: smooth;
}

b {
	font-weight: bold;
}

.pnone {
	display: none;
}


/*行の高さをフォントサイズと同じにしています*/
body {
	line-height: 160%;
	font-size: 14px;
	color: #333;
	min-width: 1200px;
	opacity: 0;
}

/*追加　bodyにクラス付けてフェードさせる*/
body.is-loaded {
	opacity: 1;
	transition: opacity .6s ease-out;
}

/* スクロールの幅の設定 */
html::-webkit-scrollbar {
	width: 15px;
	height: 10px;
}

/* スクロールの背景の設定 */
html::-webkit-scrollbar-track {
	border-radius: 5px;
	box-shadow: 0 0 4px #aaa inset;
}

/* スクロールのつまみ部分の設定 */
html::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background: #59B200;
}


@media (max-width: 1200px) {
	/* 横幅が1200px以下の場合に適用するスタイル */

	img {
		max-width: 1200px !important;
	}

}



/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
article,
aside,
details,
figcaption,
figure,
main,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
	margin: 0;
	padding: 0;
}

/*ulのマーカー（行頭記号）を表示しないようにしています*/
ul,
ol {
	list-style: none;
}

/*引用符の表示が出ないようにしています*/
blockquote,
q {
	quotes: none;
}

/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

/*テキストに打ち消し線が付くようにしています*/
del {
	text-decoration: line-through;
}

/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

/*縦方向の揃え位置を中央揃えに指定しています*/
input,
select {
	vertical-align: middle;
}

/*画像の下に微妙なスペースが空かなくしています*/
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}

address {
	font-style: normal;
	font-weight: normal;
}

@media (min-width: 751px) {
	.snone {
		display: none;
	}
}

/************PCの時に電話番号を無効************************************/

@media (min-width: 751px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}



/***************************************************************************/
.hidden {
	display: none;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.left {
	text-align: left;
}

.f10 {
	font-size: 10px !important;
}

.f11 {
	font-size: 11px !important;
}

.f12 {
	font-size: 12px !important;
}

.f13 {
	font-size: 13px !important;
}

.f14 {
	font-size: 14px !important;
}

.f15 {
	font-size: 15px !important;
}

.f16 {
	font-size: 16px !important;
}

.f17 {
	font-size: 17px !important;
}

.f18 {
	font-size: 18px !important;
}

.f19 {
	font-size: 18px !important;
}

.f20 {
	font-size: 20px !important;
}

.f25 {
	font-size: 25px !important;
}

.f30 {
	font-size: 30px !important;
}

.red {
	color: #FF4C4C;
}

.green {
	color: #59B200;
}

.blue {
	color: #0066E5;
}

/***************************************************************************/


#pan {
	display: flex;
	width: 1100px;
	margin: auto;
	padding-top: 15px;
	padding-bottom: 15px;
}

#pan li a {
	text-decoration: none;
	color: #525252;
}

#pan li a:hover {
	text-decoration: underline;
}

#pan li {
	color: #525252;
}

ol#pan>li:before {
	content: "»";
	padding-right: 10px;
	padding-left: 10px;
}

ol#pan>li:first-child:before {
	content: none;
}


/************************************************************************/

header {
	width: 1100px;
	margin: auto;
	padding-top: 15px;
	margin-bottom: 15px;
}

header #header_rap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header #header_boxs {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

header #formbox ul {
	display: flex;
	position: relative;
	overflow: hidden;
}

header #formbox ul li {
	margin-right: 25px;

}

header #formbox ul li a:hover {
	opacity: 0.8;
}

@keyframes shiny {
	0% {
		left: -20%;
	}

	10% {
		left: 120%;
	}

	100% {
		left: 120%;
	}
}

header #formbox ul::after {
	content: '';
	position: absolute;
	top: -10%;
	left: -20%;
	width: 40px;
	height: 100%;
	transform: scale(2) rotate(20deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);

	/* アニメーション */
	animation-name: shiny;
	animation-duration: 3s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}


header #header_rap dl {
	text-align: center;
	color: #59B200;
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-weight: 500;
	font-style: normal;
}

header #header_rap dt {
	font-size: 16px;
}

header #header_rap dd a {
	font-size: 30px;
	color: #59B200;
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-weight: 700;
	font-style: normal;
	background: url("../img/header_tell.jpg") left 0 no-repeat;
	padding-left: 40px;
	display: block;
}

header #header_rap dd {
	padding-top: 5px;
	padding-bottom: 5px;
}

header #header_rap dd small {
	font-size: 14px;

}

#keyimg {
	height: 445px;
}

#keyimg .box_rap {
	width: 1100px;
	margin: auto;
	padding-top: 150px;
}

#keyimg .box_rap .box {
	width: 380px;
	background: rgba(255, 255, 255, 0.8);
	padding: 20px;
	height: 160px;
}

#keyimg .box_rap .box .f20 {
	font-size: 20px;
	color: #59B200;
	font-weight: bold;
	margin-bottom: 15px;
	padding-left: 10px;
	padding-right: 10px;
}

#keyimg .box_rap .box h1 {
	font-size: 30px;
	border-bottom: 1px solid #59B200;
	color: #333;
	padding-bottom: 10px;
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 15px;
}

#keyimg .box_rap .box .f16 {
	font-size: 16px;
	line-height: 150%;
	padding-left: 10px;
	padding-right: 10px;
}

nav {
	border-top: 1px solid #ddd;
	padding-top: 15px;
	padding-bottom: 15px;
	position: absolute;
	z-index: 10;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.5);
}

nav ul {
	width: 1100px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	border-right: 1px solid #ddd;
}

nav ul li {
	border-left: 1px solid #ddd;
	width: 100%;
}

nav ul li a {
	display: block;
	text-align: center;
	font-size: 14px;
	color: #333;
	text-decoration: none;
	line-height: 125%;
	padding-top: 10px;
	padding-bottom: 10px;
	position: relative;
}

nav ul li a .f12 {
	font-size: 12px;
	/*font-weight: bold;*/
	letter-spacing: -1px;
}

nav ul li a:hover {
	color: #59B200;
	/*color: #1E8EFF;*/
}


nav ul li a::after {
	content: '';
	display: block;
	height: 1px;
	width: 80%;
	background: #59B200;
	/*background:  #1E8EFF;*/
	position: absolute;
	bottom: 0;
	left: 10%;
	transform: scale(0, 1);
	transition: .3s;
}

nav ul li a:hover::after {
	transform: scale(1, 1);
}


.setcourse {
	background: #F1F0E9;
	padding-top: 25px;
	padding-bottom: 25px;
}

.setcourse h3 {
	width: 1100px;
	margin: auto;
	border-left: 10px solid #8CC11F;
	padding-left: 15px;
	font-size: 30px;
	line-height: 60px;
	font-weight: normal;
	margin-bottom: 10px;
}

.setcourse p {
	width: 1100px;
	margin: auto;
	font-size: 18px;
	padding-left: 15px;
	margin-bottom: 25px;
}

.setcourse ul {
	width: 1100px;
	margin: auto;
	display: flex;
	justify-content: space-between;
}


.tell_box {
	/*background: #F1F0E9;*/
	padding-top: 50px;
	padding-bottom: 50px;
	margin-bottom: 50px;
}

.tell_box ul {
	display: flex;
	width: 1100px;
	margin: auto;
	justify-content: space-between;
	position: relative;
	overflow: hidden;
}

.tell_box ul::after {
	content: '';
	position: absolute;
	top: -10%;
	left: -20%;
	width: 40px;
	height: 100%;
	transform: scale(2) rotate(20deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);

	/* アニメーション */
	animation-name: shiny;
	animation-duration: 5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}



.tell_box ul li a:hover {
	opacity: 0.8;
}


/*************料金表*********************/

#price_list table {
	width: 1100px;
	border: 1px solid #ddd;
	border-bottom: 0;
}

#price_list th {
	background: #8CC11F;
	color: #fff;
	font-size: 18px;
	line-height: 200%;
	vertical-align: middle;
	font-weight: normal;
	width: 230px;
	border-right: 1px solid #ddd;
}

#price_list th:first-child {
	background: #8CC11F;
	color: #fff;
	font-size: 18px;
	line-height: 200%;
	vertical-align: middle;
	font-weight: normal;
	width: 230px;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

#price_list td {
	padding: 50px;
	border: 1px solid #ddd;
	border-top: 0;
	border-left: 0;
	vertical-align: middle;
	font-size: 18px;
	text-align: center;
}

#price_list tr:nth-child(1) td:nth-child(2) {
	padding: 50px;
	border: 1px solid #ddd;
	border-top: 0;
	border-left: 0;
	vertical-align: middle;
	font-size: 18px;
	text-align: center;
	padding-left: 550px;
}

#price_list td b {
	font-size: 20px;
}

#price_list td span {
	display: inline-block;
	margin-top: 15px;
	padding: 5px;
}

#price_list td.green span {
	border: 1px solid #59B200;
	border-radius: 10px;
}

#price_list td.blue span {
	border: 1px solid #0066E5;
	border-radius: 10px;
}

#price_list td.red span {
	border: 1px solid #FF4C4C;
	border-radius: 10px;
}


#price_list td dl,
#price_list td ul {
	text-align: left;
}

#price_list td li {
	font-size: 20px;
	line-height: 180%;
}

#price_list td dt {
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 5px;
	margin-bottom: 15px;
}

#price_list td .blue dt {
	border-bottom: 1px solid #0085B2;
	width: 250px;
}

#price_list td dd {
	font-size: 16px;
	line-height: 180%;
}

#price_list td .red dt {
	border-bottom: 1px solid #FF4C4C;
	width: 310px;
	position: relative;
}

#price_list td .red dt span {
	width: 55px;
	height: 21px;
	display: block;
	color: #fff;
	font-size: 11px;
	position: absolute;
	right: -75px;
	top: 0px;
	background: #FF7373;
	text-align: center;
	line-height: 21px;
}

/*************************************************/

#footer_tell_box {
	background: #F1F0E9;
	padding-top: 50px;
	padding-bottom: 50px;
}

#footer_tell_box ul {
	display: flex;
	width: 1100px;
	margin: auto;
	justify-content: space-between;
	position: relative;
	overflow: hidden;
}

#footer_tell_box ul::after {
	content: '';
	position: absolute;
	top: -10%;
	left: -20%;
	width: 40px;
	height: 100%;
	transform: scale(2) rotate(20deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);

	/* アニメーション */
	animation-name: shiny;
	animation-duration: 5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}




#footer_tell_box ul li a:hover {
	opacity: 0.8;
}

footer {
	background: #F1F0E9;
}

footer #footer_title {
	background: #eee;
	border-top: 1px solid #bbb;
	padding-top: 10px;
	padding-bottom: 10px;
}

footer #footer_title p {
	width: 1075px;
	margin: auto;
	line-height: 45px;
	font-size: 23px;
	padding-left: 25px;
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-weight: 500;
	font-style: normal;
}

footer #footer_title p img {
	padding-right: 15px;
}

footer #footer_title p span {
	padding-left: 15px;
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-weight: 500;
	font-style: normal;
}

footer .bg {
	background: #fff;
	padding-bottom: 100px;
}

footer .bg #footer_rap01 {
	width: 1100px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	padding-top: 30px;
}

footer .bg #footer_rap02 {
	width: 800px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 30px;
	background: url("../img/footer_img01.jpg") 800px 15px no-repeat;
	padding-right: 300px;
}

footer #footer_rap02 dl,
footer #footer_rap01 dl {
	width: 250px;
	overflow: hidden;
}

footer #footer_rap02 dl {
	margin-bottom: 25px;
}

footer #footer_rap02 dt,
footer #footer_rap01 dt {
	color: #53A600;
	border-bottom: 1px solid #bbb;
	margin-bottom: 10px;
	height: 28px;
	line-height: 28px;
	font-size: 18px;
	padding-left: 10px;
}

footer #footer_rap02 dd,
footer #footer_rap01 dd {
	width: 50%;
	float: left;
	margin-bottom: 5px;
}

footer #footer_rap02 dd a,
footer #footer_rap01 dd a {
	color: #333;
	text-decoration: none;
	font-size: 14px;
}

footer #footer_rap02 dd a:hover,
footer #footer_rap01 dd a:hover {
	text-decoration: underline;
}

footer #copy {
	display: block;
	background: #8CC11F;
	height: 50px;
	text-align: center;
	font-size: 14px;
	color: #fff;
	line-height: 50px;
}

footer #footer_rap03 {
	width: 950px;
	margin: auto;
	display: flex;
	padding-top: 45px;
	padding-bottom: 45px;
}

footer #footer_rap03 .box01 {
	border-right: 1px solid #ddd;
	text-align: center;
	padding-right: 70px;
	padding-top: 25px;
	padding-bottom: 25px;
}

footer #footer_rap03 .box01 dt {
	margin-bottom: 30px;
}

footer #footer_rap03 .box01 dt a {
	font-size: 23px;
	color: #333;
	text-decoration: none;
}

footer #footer_rap03 .box01 dl {
	margin-bottom: 30px;
}

footer #footer_rap03 .box01 dd {
	color: #59B200;
	font-size: 18px;
	margin-bottom: 10px;
}

footer #footer_rap03 .box01 dd a {
	color: #59B200;
	font-size: 30px;
	background: url("../img/header_tell.jpg") left center no-repeat;
	padding-left: 40px;
	font-weight: bold;
}

footer #footer_rap03 .box01 ul {
	display: flex;
	width: 300px;
	margin: auto;
	justify-content: space-between;
}

footer #footer_rap03 .box02 {
	padding-left: 150px;
	padding-top: 15px;
}

footer #footer_rap03 .box02 ul {
	display: flex;
	flex-flow: column wrap;
	height: 250px;
	padding-right: 25px;
}

footer #footer_rap03 .box02 li {
	list-style-type: square;
	margin-bottom: 5px;
	padding-right: 30px;
}

footer #footer_rap03 .box02 li ul {
	padding-left: 15px;
	padding-top: 10px;
	display: block;
	height: auto;
}

footer #footer_rap03 .box02 li li {
	list-style-type: disc;
}

footer #footer_rap03 .box02 li a {
	color: #333;
	font-size: 14px;
	text-decoration: none;
}

footer #footer_rap03 .box02 li a:hover {
	text-decoration: underline;
}