@charset "UTF-8";
/*
Theme Name: LP-ex
Description: LP専用テーマ
*/

/**** font ****/
	@font-face {
	  font-family: "Yu Gothic";
	  src: local("Yu Gothic Medium");
	  font-weight: 100;
	}
	@font-face {
	  font-family: "Yu Gothic";
	  src: local("Yu Gothic Medium");
	  font-weight: 200;
	}
	@font-face {
	  font-family: "Yu Gothic";
	  src: local("Yu Gothic Medium");
	  font-weight: 300;
	}
	@font-face {
	  font-family: "Yu Gothic";
	  src: local("Yu Gothic Medium");
	  font-weight: 400;
	}
	@font-face {
	  font-family: "Yu Gothic";
	  src: local("Yu Gothic Bold");
	  font-weight: bold;
	}
	@font-face {
	  font-family: "Helvetica Neue";
	  src: local("Helvetica Neue Regular");
	  font-weight: 100;
	}
	@font-face {
	  font-family: "Helvetica Neue";
	  src: local("Helvetica Neue Regular");
	  font-weight: 200;
	}

/**** リセットCSS ****/
	html, body, div, span, applet, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	a, abbr, acronym, address, big, cite, code,
	del, dfn, em, img, ins, kbd, q, s, samp,
	small, strike, strong, sub, sup, tt, var,
	b, u, i, center,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	article, aside, canvas, details, embed,
	figure, figcaption, footer, header, hgroup,
	menu, nav, output, ruby, section, summary,
	time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-style: normal;
		font-weight: normal;
		font-size:100%;
		vertical-align: baseline;
	}
	article, aside, details, figcaption, figure,
	footer, header, hgroup, menu, main, nav, section {
	  display: block;
	}
	blockquote, q {
	  quotes: none;
	}
	blockquote:before, blockquote:after,
	q:before, q:after {
	  content: '';
	  content: none;
	}
	input, textarea {
	  margin: 0;
	  padding: 0;
	}
	ol, ul, li {
	  list-style: none;
	}
	table {
	  border-collapse: collapse;
	  border-spacing: 0;
	}
	caption, th {
	  text-align: left;
	}
	a:focus {
	  outline: none;
	}
	button,
	input:not([type="radio"]),
	optgroup,
	select,
	textarea {
		margin: 0;
		-moz-appearance: none;
		-webkit-appearance: none;
		appearance: none;
	}
	select::-ms-expand {
		display: none;
	}
	button {
		overflow: visible;
	}
	button,
	select {
		text-transform: none;
	}
	button,
	html input[type="button"],
	input[type="reset"],
	input[type="submit"] {
		-webkit-appearance: none;
		cursor: pointer;
	}
	button[disabled],
	html input[disabled] {
		cursor: default;
	}
	button::-moz-focus-inner,
	input::-moz-focus-inner {
		border: 0;
		padding: 0;
	}
	input {
		line-height: normal;
	}
	input[type="checkbox"],
	input[type="radio"] {
		box-sizing: border-box;
		padding: 0;
	}
	input[type="number"]::-webkit-inner-spin-button,
	input[type="number"]::-webkit-outer-spin-button {
		height: auto;
	}
	input[type="search"] {
		-webkit-appearance: textfield;
	}
	input[type="search"]::-webkit-search-cancel-button,
	input[type="search"]::-webkit-search-decoration {
		-webkit-appearance: none;
	}
	input[type="text"], input[type="password"], textarea, select {
		outline: 0;
		margin: 0;
	}
	input[type="radio"], input[type="checkbox"], input[type="file"] {
		margin: 0;
	}
	input[type="radio"], input[type="checkbox"], label {
		cursor: pointer;
	}
	input[type=number]::-webkit-inner-spin-button,
	input[type=number]::-webkit-outer-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}
	textarea {
		width: 100%;
	}

	a,
	area,
	button,
	[role="button"],
	input:not([type=range]),
	label,
	select,
	summary,
	textarea {
	  -ms-touch-action: manipulation;
	      touch-action: manipulation;
	}

/******************** 共通部分 ********************/
	*, *:before, *:after {
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	html {
		overflow-x:hidden;
		height:100%;
		font-size: 62.5%; /* 10px */
	}
	body {
		height:100%;
		color: #333;
		font-size: 1.3em; /* 13px */
		line-height: 1;
		font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
		-webkit-text-size-adjust: 100%;
		word-wrap:break-word;
	}
	.serif {
		font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGP明朝B", serif, Arial;
		font-feature-settings : "pkna";
	}

	#main {
		height:100%;
	}
	a {
		color:#333;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	img {
		width: 100%;
		height: auto;
		vertical-align: bottom;
	}

	.flex{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.google_map {
		position: relative;
		width: 100%;
		height: 0;
		overflow: hidden;
		padding-top: 56.25%;
	}
	.google_map iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}


/******************** フォーム ********************/
	.contact_form .note {
		font-size:.9em;
	}
	.contact_form input,
	.contact_form select,
	.contact_form textarea {
		display:block;
		overflow:hidden;
		width: 100%;
		padding: 0 .8em;
		border: 1px solid #ccc;
		background:#fff;
		color:#111;
		font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
	}
	.contact_form input,
	.contact_form select {
		height:3em;
		line-height:3em;
		vertical-align:middle;
	}
	.contact_form textarea {
		padding: .5em .8em;
		line-height:1.6;
	}
	.contact_form input:placeholder-shown,
	.contact_form input::-webkit-input-placeholder,
	.contact_form textarea:placeholder-shown,
	.contact_form textarea:placeholder-shown::-webkit-input-placeholder {
		color:#ccc;
	}
	.contact_form .date select,
	.contact_form .age input,
	.contact_form .number select {
		display:inline-block;
		width:auto;
	}
	.contact_form .upload input {
		border:none;
	}
	.contact_form .age input {
		width:6em;
		margin-right:.5em;
	}
	.contact_form dt {
		margin:1.5em 0 .5em;
		font-size:1.15em;
	}
	/*.contact_form dt::before {
		content:"\f111";
		margin-right:.3em;
		color: #333;
		font-weight:normal;
		font-size:inherit;
		font-family: FontAwesome;
	}*/
	.contact_form dt.required::after {
		content:"必須";
		display:inline-block;
		height: 1.5em;
		margin-left:.5em;
		padding:0 .4em;
		background:#333;
		color:#fff;
		font-size:.8em;
		line-height:1.5;
	}
	.contact_form dd {
		margin-bottom:.3em;
	}
	.submit_btn {
		margin:2em auto;
		padding-left:16px;
		text-align:center;
	}
	.submit_btn input {
		display: inline-block;
		width:auto;
		min-width:160px;
		height:50px;
		padding:0 2em;
		border: none;
		background:#F3A757;
		color:#fff;
		font-size:1.15em;
		text-decoration:none;
		line-height:50px;
		letter-spacing:1px;
	}
	.contact_form {
		margin-bottom:3em;
	}
	.contact_form dd.select {
		position: relative;
	}
	.contact_form dd.select::after {
		content:"\f0d7";
		position: absolute;
		top: 50%;
		right: 1em;
		margin-top: -.5em;
		color: inherit;
		font-weight:normal;
		font-size:inherit;
		font-family: FontAwesome;
	}
	.contact_form .radio span.wpcf7-list-item {
		margin-right: 1em;
	}

	.contact_form input[type="date"] {
		width: 10em;
	}
	.contact_form input[type="radio"] {
		display: inline-block;
		width: auto;
		margin: 0 .5em;
		vertical-align: middle;
	}

	.contact_form .radio.checkbox input {
		display: inline-block;
		width: auto;
		height: auto;
		margin: 0 .5em;
		vertical-align: middle;
		line-height: normal;
		-webkit-appearance: radio;
	}

	div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
		border-color: #F3A757;
	}
	span.wpcf7-not-valid-tip {
		margin-top: .3em;
		color: #F3A757;
	}

	@media screen and (min-width: 769px) {
		.contact_form {
			width: 640px;
			margin:0 auto 4em;
		}
		.submit_btn input:hover {
			filter: alpha(opacity=70 finishopacity=70);
			-moz-opacity: 0.7;
			opacity: 0.7;
		}
		.submit_btn input {
			min-width:240px;
			height:60px;
			font-size:18px;
			line-height:60px;
		}

		.contact_form input[type="date"] {
			width: 12em;
		}
	}



/********** 404ページ *********
	#error_404 {
		padding: 2.5em 0;
	}
	#error_404 .txt {
		margin-top:10vh;
		font-size:1.3em;
		text-align:center;
	}
	#error_404 .back {
		margin-top: 2em;
		text-align:center;
	}

	@media screen and (min-width: 769px) {
		#error_404 {
			padding: 5em;
		}
		#error_404 .txt {
			font-size:2em;
		}
	}

*/

/********** フッター **********/
#footer {
	padding: 2em 0;
	background: #111;
	color: #fff;
	text-align: center;
}
#footer .nav {
	margin-bottom: 1em;
}
#footer .nav li {
	margin-bottom: .5em;
}
#footer a {
	color: #fff;
}
