@charset "UTF-8";


/************************************************/
/*****************フォーム内容*******************/
/***********************************************/

.formItem span.wpcf7-list-item{margin-left: 0;}

.form_contents
{
	padding-bottom: 1em;
	box-sizing:border-box;
	
	max-width: 700px;
	width: 100%;
}
.form_contents._2
{
	padding-top: 0em;
	padding-bottom: 0em;
}

#contact
{
	box-sizing: border-box;
}

#contactFormWrapper, .sentMessage
{
	margin: 0 auto;
	padding: 3em;
	margin-bottom: 5em;
	max-width: 900px;
}

#formContainer{margin-top: 5em;}

.formItem
{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	-webkit-align-items: flex-start;
	align-items: flex-start;
	
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

input, textarea, option, select
{
	box-sizing:border-box;
	padding: .5em;
	font-size: 1em;
	border:1px solid rgb(230,230,230);
}
input[type="text"]:focus{outline: 0; background-color: rgb(250, 250, 250)}
textarea:focus{outline: 0; background-color: rgb(250, 250, 250)}
textarea{width: 100%;}

#formContainer .form_contents
{
	box-sizing:border-box;
	padding: 0 2em;
	border-left: 0px solid rgb(200, 200, 200);
	margin-left: -1px;
}

.q-title
{
	box-sizing:border-box;
	display:block;
	width: 11em;
	padding-right: 1em;
/*	font-family: Gen-B, 'Hiragino Sans W6', 'ヒラギノ角ゴ Pro W6', HiraKakuPro-W6, 'ヒラギノ角ゴ ProN W6', HiraKakuProN-W6, YuGothicB, '游ゴシック  Bold', meiryo, sans-serif;
	font-weight: 500;*/
}
label.q-title{border-right: 0px solid rgb(200, 200, 200);}

#formContainer .form_contents .q-title._s
{
	padding: 0;
	border-right-width: 0px;
}
#formContainer .form_contents._d div{margin-top: 1em;}

.q-short{width:50%}
.q-large{width: 100%;}
.q-textArea{height:10em;}
.form{display:block;}
span.req{color: rgb(238, 120, 0);}
.noReq{display: none;}
.q-title .smallerText{letter-spacing:0;}
.q-smaller{font-size:.9em; margin-left:15px;}
.q-caution
{
	font-size:.8em;
}

.q-radio{display:inline; margin-right:5px;}

.statement
{
	position: relative;
	box-sizing:border-box;
	margin-bottom:1em;
	border:1px solid rgb(150,150,150);
	height:10em;
	overflow: auto;
	width: 100%;
}
.statement div{padding: 1em;}
.statement div .strongText
{
	margin-top: 1em;
}

.privacyWrapper{margin-top: 1em;}
.privacyWrapper .q-title{margin-bottom: 1em;}
#privacyArea{margin-right: 1em;}
#privacyArea + span
{
	display: inline-block;
	color: rgb(0, 0, 0);
}

#sendDate
{
	font-weight: bold; margin-top: 2em; text-align: center; border: 1px solid; padding: .5em;
	color: black;
	-moz-border-radius: .5em;
	-webkit-border-radius: .5em;
	border-radius: .5em;
}


.submitBtWrapper{margin-top: 3em;}

#sendFormBt
{
	cursor: pointer;
	box-sizing:border-box;
	color: white;
	display:inline-block;
	margin-top: 2em;
	padding: .5em 4em;
	font-family: Gen-B, 'Hiragino Sans W6', 'ヒラギノ角ゴ Pro W6', HiraKakuPro-W6, 'ヒラギノ角ゴ ProN W6', HiraKakuProN-W6, YuGothicB, '游ゴシック  Bold', meiryo, sans-serif;
	font-weight: 500;
	background-color: rgb(61, 151, 56);
	border: 1px solid rgb(61, 151, 56);
	
	box-shadow: 0 0 0 rgba(0,0,0,0);
	border-radius: 0;
	border: 1px solid #ccc;
	text-shadow: -1px 1px 0 rgba(255,255,255,0);
	
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#sendFormBt:hover
{
	color: rgb(61, 151, 56);
	background-color: rgb(255, 255, 255);
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing
{
	border: 2px solid rgb(238, 120, 0);
	color: rgb(238, 120, 0);
	text-align: center;
}
span.wpcf7-not-valid-tip
{
	color: rgb(238, 120, 0);
}

/************************************************/
/*******************アクセス*********************/
/***********************************************/

#access{z-index:1;}
#access .dotCircle
{
	position: absolute;
	left: -5%;
	top: 0%;
	bottom: auto;
}

#access .titleWrapper
{
	position: relative;
	box-sizing:border-box;
	padding: 0 2em;
	margin: 1em auto;
	
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	
	-webkit-justify-content: space-between;
	justify-content: space-between;
	
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
#access .titleWrapper .addWrapper
{
	padding: 5em 0;

	flex: 1;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;

	-webkit-justify-content: center;
	justify-content: center;

	font-family: Gen-B, 'Hiragino Sans W6', 'ヒラギノ角ゴ Pro W6', HiraKakuPro-W6, 'ヒラギノ角ゴ ProN W6', HiraKakuProN-W6, YuGothicB, '游ゴシック  Bold', meiryo, sans-serif;
	font-weight: 500;
}

#access .addWrapper div, #access .addWrapper a, #access .addWrapper p
{
	box-sizing: border-box;
	text-align: center;
}

.addWrapper p
{
	margin-bottom: .5em;
}

.addWrapper p.studio
{
	font-size: 2em;
	color: rgb(205, 190, 0);
}

.rootBtWrapper
{
	position:relative;
	box-sizing:border-box;
	padding: 0 1.5em;
	margin: 0 auto;
	max-width: 1000px;
	margin-top: 2em;
}
#rootBt
{
	text-align: center;
}

#access .addWrapper a.tel
{
	display: inline-block;
	position: relative;
	font-size: 1.5rem;
	padding-left: 1.25em;
	margin: .5em 0;
	line-height: 1;
	color: inherit;
	text-decoration: none;
}
#access .addWrapper a.tel:before
{
	content: "";
	display: block;
	position:absolute;
	left: 0;
	top: 0;
	background-color: rgb(205, 190, 0);
	border: 2px solid rgb(205, 190, 0);
	box-sizing: border-box;
	border-radius: 50%;
	width: 1em;
	height: 1em;
	background-size: contain;
	background-position: 50% 50%;
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}
.svg #access .addWrapper .tel:before{background-image: url(../_img/tel.svg)}
.no-svg #access .addWrapper .tel:before{background-image: url(../_img/tel.png)}

#access .addWrapper a.tel:hover:before
{
	border-color: rgb(105, 171, 219);
	background-color: rgb(105, 171, 219);
}

#access .addWrapper .add p{line-height: 1.5;}

#access .mapWrapper
{
	position: relative;
	box-sizing:border-box;
	margin-top: 4em;
}

.mapNum{position:absolute; width:75px; height:90px; background-repeat:no-repeat; background-position: 50% 50%;}
.svg .mapNum{background-image: url(../_img/flagBg.svg);}
.no-svg .mapNum{background-image: url(../_img/flagBg.png);}

#map
{
	position: relative;
}

#map_canvas .logo
{
	position: relative;
	display: block;
	left:50%;
	margin-left: -20px;
	margin-top: 10px;
	margin-bottom: 5px;
	width:70px;
}

#map_canvas
{
	height: 100vh;
	box-sizing:border-box;
	border-width: 1px 0;
	border-style: solid;
	border-color: rgb(200, 200, 200);
/*	border-radius: 25px 25px 0 0;*/
}

/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// MEDIA SCREEN /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

@media screen and (min-width: 650px)
{
	#formContainer .form_contents{flex: 1;}
	.formItem
	{
		transform:translateY(.75em);
		margin-bottom: 3em;
	}
}

@media screen and (max-width: 650px)
{
	.subTitle{padding-left: 3em;}

	#contactFormWrapper{padding-left: 5em;}
	
	.formItem
	{
		width: 100%;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: flex-start;
		align-items: flex-start;
		margin-bottom: 2em;
	}
	
	.postList
	{
		border-top-width: 0px;
	}
	
	.q-short{width:100%}
	
	.q-title
	{
		width: 100%;
		padding: 1em 0em;
		padding-right: 0em;
	}
	label.q-title
	{
		border-right-width: 0;
	}
	#formContainer .form_contents
	{
		padding: 0em;
		padding-bottom: 2em;
		width: 100%;
		border-left-width: 0;
		border-bottom: 1px solid rgb(200, 200, 200);
	}
	.statement{width: 100%;}
}