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


@import url(../styles2017/common_pc.css);
@import url(../styles2017/common_sp.css) only screen and (max-width: 760px);


/*
@import url(seminar_pc.css);
@import url(seminar_sp.css) only screen and (max-width: 760px);
*/


/* ---------------------------------------------------------
	form
------------------------------------------------------------ */


	/* input text */
	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"] {
		display			: block;
		width			: 100%;
		height			: 34px;
		line-height		: 20px;
		box-sizing		: border-box;
		margin			: 0;
		padding			: 5px;
		border			: 2px solid #bbb;
		background		: #ffffff;
		-webkit-appearance	: none;
		border-radius		: 5px;
	}
	input[type="text"]::-webkit-input-placeholder,
	input[type="password"]::-webkit-input-placeholder,
	input[type="email"]::-webkit-input-placeholder,
	input[type="tel"]::-webkit-input-placeholder { color: #ccc; }

	input[type="text"]:-ms-input-placeholder,
	input[type="password"]:-ms-input-placeholder,
	input[type="email"]:-ms-input-placeholder,
	input[type="tel"]:-ms-input-placeholder      { color: #ccc; }

	input[type="text"]::-moz-placeholder,
	input[type="password"]::-moz-placeholder,
	input[type="email"]::-moz-placeholder,
	input[type="tel"]::-moz-placeholder           { color: #ccc; }

	input[type="text"]:focus,
	input[type="password"]:focus,
	input[type="email"]:focus,
	input[type="tel"]:focus {
		outline			: 0;
		border-color	: #b8193f;
	}


	/* textarea */
	textarea {
		display			: block;
		width			: 100%;
		height			: 200px;
		box-sizing		: border-box;
		margin			: 0;
		padding			: 5px;
		border			: 2px solid #bbb;
		border-radius		: 5px;

		background		: #ffffff;
		-webkit-appearance	: none;
	}
	textarea::-webkit-input-placeholder { color: #ccc; }
	textarea:-ms-input-placeholder      { color: #ccc; }
	textarea::-moz-placeholder          { color: #ccc; }
	textarea:focus {
		outline			: 0;
		border-color	: #b8193f;
	}


	/* radio button */
	input[type="radio"]{
		display: none;
	}

	label{
		display			: block;
		position		: relative;
		cursor			: pointer;
		margin			: 0 0 0 20px;
		padding			: 0 20px;
		line-height		: 34px;
	}

	label:before{
		position		: absolute;
		content			: "";
		top				: 50%;
		left			: -10px;
		width			: 14px;
		height			: 14px;
		margin-top		: -10px;
		background		: #ffffff;
		border			: 3px solid #bdc3c7;
		border-radius	: 50%;
	}

	input[type="radio"]:checked + label:after {
		position		: absolute;
		content			: "";
		top				: 50%;
		left			: -4px;
		width			: 8px;
		height			: 8px;
		margin-top		: -4px;
		border-radius	: 50%;
		background		: #b8193f;
	}


	input[type="text"].inp-error,
	input[type="password"].inp-error,
	input[type="email"].inp-error,
	input[type="tel"].inp-error,
	textarea.inp-error,
	input[type="radio"].inp-error {
		background		: #ffeeee;
	}




/* =========================================================
	for PC
============================================================ */



	.contactPage {
		margin		: 0 0 0 10px;
		padding		: 0 0 40px;
		zoom		: 1;

		background-color	: #ffffff;
		background-image	: url(img/contact/header.jpg);
		background-position	: right top;
		background-repeat	: no-repeat;
	}
	.contactPage:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }

	.contactPage a         { color:#231815; text-decoration:underline; }
	.contactPage a:visited { color:#444444; text-decoration:underline; }
	.contactPage a:hover   { color:#e82583; text-decoration:underline; }


	.contactPage > header {
		display			: block;
		position		: relative;
		margin			: 0;
		padding			: 100px 0 50px 40px;
/*		background		: #ffffff url(img/contact/header.jpg) right center no-repeat; */
/*		color			: #b8193f; */
		font-weight		: normal;
	}

	.contactPage > header > h1 {
		margin			: 0;
		padding			: 0;
		font-size		: 18pt;
		font-weight		: bold;
		font-family	: "Yu Mincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	}

	.contactPage > header > p strong {
		font-size		: 12pt;
		font-weight		: bold;
	}

	.contactPage > .contactBlock {
		display				: block;
		position			: relative;
		margin				: 30px 0 0 0;
		padding				: 0;
		background		: #ffffff;
	}

	.contactPage > .contactBlock > header {
		margin				: 0;
		padding				: 15px 0;
		border-top			: 1px solid #b8193f;
		border-bottom		: 1px solid #b8193f;

		background: #fbf0f4; /* Old browsers */
		background: -moz-linear-gradient(left, #ffffff 30%, #fff2f6 100%);
		background: -webkit-linear-gradient(left, #ffffff 30%,#fff2f6 100%);
		background: linear-gradient(to right, #ffffff 30%,#fff2f6 100%);
	}

	.contactPage > .contactBlock > header h1 {
		margin				: 0 0 0 10px;
		padding				: 0 0 0 40px;

		line-height			: 25px;
		font-size			: 14pt;
		font-family			: "Yu Mincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
		font-weight			: bold;
		background-position	: left center;
		background-repeat	: no-repeat;
	}

	.contactPage > .contactBlock > header p {
		margin				: 20px 20px 0 20px;
	}



/* -----------------------------------------------
	電話でお問い合わせ
-------------------------------------------------- */



	.contactPage > #tel {
		display			: block;
		position		: relative;
		float			: left;
		width			: 39%;
		margin			: 40px 0 0 40px;
		padding			: 0;
	}

	.contactPage > #tel > header h1 {
		background-image	: url(img/contact/tel_r.png);
	}

	.contactPage > #tel .catch {
		font-size		: 11pt;
		margin			: 30px 0 0 0;
		padding			: 0;
	}


	.contactPage > #tel .telto {
		margin			: 20px 0 0 30px;
		padding			: 0;
	}

	.contactPage > #tel .telto dl {
		margin			: 0;
		padding			: 0;
	}

	.contactPage > #tel .telto dl dt {
		clear			: left;
		float			: left;
		margin			: 0;
		padding			: 3px 0 10px 0;
	}

	.contactPage > #tel .telto dl dd {
		margin			: 0;
		padding			: 0 0 10px 0;
		line-height		: 1;
	}

	.contactPage > #tel .telto dl dd a {
		font-size		: 20pt;
		font-family		: 'Bookman Old Style', Serif;
		font-style		: italic;
		text-decoration	: none;
		color			: #b8193f;
	}


	.contactPage > #tel .cautions {
		margin			: 20px 0 0 0;
		padding			: 0;
		font-size		: 9pt;
	}

	.contactPage > #tel .cautions ul {
		margin			: 0;
		padding			: 0;
	}

	.contactPage > #tel .cautions ul li {
		margin			: 0;
		padding			: 0 0 0 1em;
		list-style-type	: none;
		text-indent		: -1em;
	}
	.contactPage > #tel .cautions ul li:before {
		content			: '※';
	}



/* -----------------------------------------------
	フォームでお問い合わせ
-------------------------------------------------- */


	.contactPage > #form {
		display			: block;
		position		: relative;
		float			: right;
		width			: 49%;
		margin			: 40px 40px 0 0;
		padding			: 0;
	}
	#contactCheckPage > #form,
	#contactThanksPage > #form {
		float			: none;
		margin			: 40px auto 0;
	}

	.contactPage > #form > header h1 {
		background-image	: url(img/contact/form_r.png);
	}


	.contactPage > #form .catch {
		margin			: 0;
		padding			: 20px 20px 0 0;
		font-size		: 11pt;
	}
	.contactPage > #form .catch strong {
		color			: #b8193f;
	}

	.contactPage > #form .caution {
		margin			: 0;
		padding			: 0 20px 0 20px;
		color			: #ff0000;
		font-weight		: bold;
	}

	/* Input form */
	.contactPage > #form .inputs {
		display			: block;
		position		: relative;
		margin			: 0;
		padding			: 0;
	}

	.contactPage > #form .inputs .row {
		display			: block;
		position		: relative;
		margin			: 0;
//border:1px solid #ff0000;
	}

	.contactPage > #form .inputs .row h3 {
		margin			: 0;
		padding			: 0;
		text-align		: left;
		font-size		: 12pt;
		border-bottom	: 1px solid #f9d7e1;
	}

	.contactPage > #form .inputs .row dl {
		display			: block;
		margin			: 0;
		padding			: 0;
	}

	.contactPage > #form .inputs .row dl dt {
/*
		clear			: left;
		float			: left;
*/
		width			: 9em;
		margin			: 0;
		padding			: 10px 0 0;
		font-weight		: bold;
/*		text-align		: right; */
		line-height		: 30px;
	}
	.contactPage > #form .inputs .row dl dt strong {
		color			: #b8193f;
	}


	.contactPage > #form .inputs .row dl dd {
		margin			: 0;
/*		padding			: 10px 0 0 9.5em; */
		padding			: 0;
	}

	.contactPage > #form .inputs .row dl dd ul {
		margin			: 0;
		padding			: 0;
		zoom			: 1;
		border			: 2px solid #bbb;
		border-radius		: 5px;
		background		: #f8f8f8;
	}
	.contactPage > #form .inputs .row dl dd ul:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }

	.contactPage > #form .inputs .row dl dd ul.inp-error {
		background		: #ffeeee;
	}

	.contactPage > #form .inputs .row dl dd ul li {
		float			: left;
		margin			: 0;
		padding			: 0;
		list-style-type	: none;
	}


	/* Input Check */
	.contactPage > #form .checks dl {
		display			: block;
		position		: relative;
		margin			: 20px 0 0;
		padding			: 0;
		zoom			: 1;
		border-bottom	: 1px solid #f9d7e1;
	}
	.contactPage > #form .checks dl:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }


	.contactPage > #form .checks dl dt {
		clear			: left;
		float			: left;
		width			: 10em;
		margin			: 0;
		padding			: 10px 0;
		font-weight		: bold;
		text-align		: right;
	}
	.contactPage > #form .checks dl dt strong {
		color			: #b8193f;
	}


	.contactPage > #form .checks dl dd {
		margin			: 0;
		padding			: 10px 0 10px 11em;
		border-top		: 1px solid #f9d7e1;
	}



	/* Thanks */
	.contactPage > #form .thanks {
		margin			: 0;
		padding			: 100px 20px;
		text-align		: center;
	}



	/* NEXT, PREV Buttons */
	.contactPage .btns {
		display			: block;
		position		: relative;
		margin			: 15px 0 0 0;
		padding			: 0 0 20px;
		overflow		: hidden;
	}

	.contactPage .btns ul {
		display			: block;
		position		: relative;
		margin			: 0;
		padding			: 0;
	}

	.contactPage .btns ul li {
		display			: block;
		position		: relative;
		margin			: 10px 0 0 0;
		padding			: 0;
	}

	.contactPage .btns ul li a,
	.contactPage .btns ul li input[type='submit'] {
		display			: block;
/*		width			: 150px; */
		width			: 100%;
		height			: 44px;
		line-height		: 40px;
		text-align		: center;
		font-weight		: bold;
		color			: #c6476c;
		border			: 2px solid #c6476c;
		background		: #ffffff;
		text-decoration	: none;
		-webkit-appearance	: none;
		font-size		: 12pt;
		box-sizing		: border-box;
	}

	.contactPage .btns ul li a.prevbtn,
	.contactPage .btns ul li input[type='submit'].prevbtn {
		color			: #999999;
		border			: 2px solid #999999;
	}

	.contactPage .btns ul li a:hover,
	.contactPage .btns ul li input[type='submit']:hover {
		color			: #ffffff;
		border			: 2px solid #c6476c;
		background		: #c6476c;
		text-decoration	: none;
	}


	.inp-namae   { ime-mode:active; }
	.inp-kana    { ime-mode:active; }
	.inp-email   { ime-mode:inactive; }
	.inp-card    { ime-mode:active; }
	.inp-comment { ime-mode:active; }



	/* Calendar ---------------------------------- */

	.contactPage > #contactCal {
		display			: block;
		position		: relative;
		float			: left;
		width			: 39%;
		margin			: 40px 0 0 40px;
		padding			: 0 0 20px;

		background		: #ffffff;
		border			: 1px solid #b8193f;
	}

	.contactPage > #contactCal > header {
		margin				: 0;
		padding				: 40px 40px 0 40px;
	}

	.contactPage > #contactCal > header h1 {
		margin				: 0;
		padding				: 0;

		line-height			: 25px;
		font-size			: 14pt;
		font-family			: "Yu Mincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
		font-weight			: bold;
		background-position	: left center;
		background-repeat	: no-repeat;
	}



	#contactCal .tables {
		display			: block;
		position		: relative;
		margin			: 0 40px;
		padding			: 0 0 0 0;
		zoom			: 1;
	}
	#contactCal .tables:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }

	#contactCal .tables table {
		position		: relative;
/*		float			: left; */
		width			: 100%;
		margin			: 20px 0 0;
		padding			: 0;
		table-layout	: fixed;
		border-collapse	: collapse;
		border-spacing	: 0;
		box-sizing		: border-box;
	}

	/*カレンダー表示修正用*/
	#contactCal .tables table:nth-child(4) {
			display: none;
		}

	#contactCal .tables table caption {
		font-size		: 12pt;
		font-family		: "Bookman Old Style", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-style		: italic;
		text-align		: left;
	}

	#contactCal .tables table tr td {
		font-size		: 12pt;
		font-family		: "Bookman Old Style", serif;
		font-style		: italic;
		text-align		: center;
		font-weight		: normal;
		line-height		: 1;
		padding			: 3px 0;
	}
	#contactCal .tables table tr td.sat     { color:#0660bc; }
	#contactCal .tables table tr td.sun,
	#contactCal .tables table tr td.holiday { color:#e05680; }
	#contactCal .tables table tr td.closed  { color:#ffffff; /* font-weight:700; */ background-color:#e05680;  }


	#contactCal .tables table thead tr td {
		font-size		: 10pt;
	}


	#contactCal .tables .hol  {
		display			: block;
		position		: absolute;
		right			: 0;
		top				: -20px;
		width			: 30%;
		margin			: 0;
		padding			: 0;
		text-align		: center;
		color			: #ffffff;
		background-color	: #e05680;
	}

	#contactCal .tables .hol span {
		font-size		: 12pt;
		font-family		: "Bookman Old Style", serif;
		font-style		: italic;
		font-weight		: 700;
		padding			: 0 5px 0 0;
	}

	#contactCal .comment {
		margin			: 20px 40px 0;
	}






/* ===============================================
	for SP Responsive
================================================== */



	@media only screen and (max-width: 760px) {



		.contactPage {
			margin		: 0;
			background-position	: right -50px top;
		}

		.contactPage > header {
			margin			: 0;
			padding			: 120px 5% 0;
			background-position	: center center;
		}

		.contactPage > header > h1 {
			font-size		: 14pt;
		}

		.contactPage > .contactBlock {
			margin				: 50px 0 0 0;
			padding				: 0;
			box-shadow			: 0px 0px 0px 0px #ffffff;
			-moz-box-shadow		: 0px 0px 0px 0px #ffffff;
			-webkit-box-shadow	: 0px 0px 0px 0px #ffffff;
		}



	/* -------------------------------------------
		ブロック共通
	---------------------------------------------- */



		.contactPage > .contactBlock > header {
		}

		.contactPage > .contactBlock > header h1 {
			font-size		: 12pt;
		}



	/* ------------------------------------------
		電話でお問い合わせ
	--------------------------------------------- */



		.contactPage > #tel {
			width			: auto;
			float			: none;
			margin			: 30px 10px 0;
			padding			: 0;
		}


		.contactPage > #tel .catch,
		.contactPage > #tel .telto,
		.contactPage > #tel .cautions {
			float			: none;
			width			: auto;
			margin			: 30px 10px 0;
			padding			: 0;
		}



	/* ------------------------------------------
		フォームでお問い合わせ
	--------------------------------------------- */



		.contactPage > #form,
		#contactCheckPage > #form,
		#contactThanksPage > #form {
			width			: auto;
			float			: none;
			margin			: 30px 10px 0;
			padding			: 0;
		}

		.contactPage > #form .catch {
			margin			: 30px 10px 0;
			padding			: 0;
		}

		.contactPage > #form .caution {
			margin			: 5px 10px 0;
			padding			: 0;
		}

		/* Input form */
		.contactPage > #form .inputs {
			display			: block;
			position		: relative;
			margin			: 0;
			padding			: 0;
		}

		.contactPage > #form .inputs .row {
			display			: block;
			position		: relative;
			margin			: 0 10px;
		}

		.contactPage > #form .inputs .row h3 {
		}

		.contactPage > #form .inputs .row dl {
			display			: block;
			width			: auto;
			margin			: 10px 0 0 0;
			padding			: 0;
		}

		.contactPage > #form .inputs .row dl dt {
			float			: none;
			width			: auto;
			margin			: 0;
			padding			: 0;
			text-align		: left;
			line-height		: 1.5;
		}

		.contactPage > #form .inputs .row dl dd {
			margin			: 0;
			padding			: 0;
		}

		.contactPage > #form .inputs .row dl dd ul li {
			float			: none;
		}



		/* Input Check */
		.contactPage > #form .checks dl {
			margin			: 30px 10px 0;
			padding			: 0;
		}

		.contactPage > #form .checks dl dt {
			float			: none;
			width			: auto;
			padding			: 10px 0 0 0;
			text-align		: left;
			border-top		: 1px solid #f9d7e1;
		}

		.contactPage > #form .checks dl dd {
			margin			: 0;
			padding			: 10px 0 10px 2em;
			border-top		: 0;
		}



		/* Thanks */
		.contactPage > #form .thanks {
			padding			: 100px 10px;
		}



		/* NEXT, PREV Buttons */
		.contactPage .btns {
			margin			: 30px 10px 0;
			overflow		: visible;
		}

		.contactPage .btns ul {
			float			: none;
			left			: auto;
		}

		.contactPage .btns ul li {
			float			: none;
			left			: auto;
			margin			: 10px 0 0;
			padding			: 0;
		}

		.contactPage .btns ul li a,
		.contactPage .btns ul li input[type='submit'] {
			display			: block;
			width			: 100%;
			margin			: 0 auto;
			box-sizing		: border-box;
		}



		/* Calendar ---------------------------------- */

		.contactPage > #contactCal {
			float			: none;
			width			: auto;
			margin			: 30px 20px 0;
			padding			: 0 0 20px;
		}

		.contactPage > #contactCal > header {
			margin				: 0;
			padding				: 20px 20px 0 20px;
		}


		.contactPage > #contactCal > header h1 {
			line-height			: 25px;
			font-size			: 14pt;
		}

		#contactCal .tables {
			margin			: 0 20px;
		}

		#contactCal .comment {
			margin			: 20px 20px 0;
		}
	}
