@charset "utf-8";
/* CSS Document */
.background-yama {
	position: relative;
	background-image: 
		url("../image/background-yama-pc.png"),
		url("../image/background-yama-pc.png");
	background-repeat: 
		no-repeat,
		no-repeat;
	height: 
		2015px,
		2015px;
	background-position: 
		left -1236px top 0px,
		right -1236px top 2515px;
}
.section-top-image-contact {
  position: fixed;
  left: 90px;
  bottom: 40px;
  transition: 1s;
  opacity: 0.7;
}
.section-top-image-contact:hover {
  opacity: 1;
}
.section-top-image-contact-sp {
  display: none;
}
.section-top-image-facebook {
  position: fixed;
  bottom: 160px;
  left: 100px;
  transition: 1s;
  opacity: 0.7;
}
.section-top {
  margin: 250px 208px 0;
}
.section-top h3 {
    font-size: 1.4rem;
    text-align: left;
	margin-bottom: 15px;
}
.section-top h3 a {
	margin: 30px 15px;
}
.section-top ul {
  list-style: none;
  display: flex;
  justify-content: center;
}
.section-top-pc-text {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  letter-spacing: 0.4em;
  font-size: 1.8rem;
  font-weight: 500;
  writing-mode: vertical-rl;
  margin: 108px 90px 40px 0;
}
.section-top-sp-text {
	display: none;
}
.section-top-image-left {
  min-width: 563px;
  min-height: 491px;
  width: 100%;
}
.section-top h1 {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  letter-spacing: 0.4em;
  font-size: 3.6rem;
  writing-mode: vertical-rl;
  margin: 20px 0 0 10px;
}
@media(max-width: 1023px) {
  .section-top-image-facebook {
    position: absolute;
    bottom: 70px;
    left: 20px;
    width: 10%;
  }
.section-top {
  margin: 125px 20px 0;
	position: relative;
}
.section-top h3 {
  font-size: 1.3rem;
  margin-bottom: 20px;           
}
.section-top-sp-text {
	display: block;
  font-size: 1.3rem;
  margin: -30px 0 0 20px;
	text-align: left;
}
.section-top-pc-text {
	display: none;
}
.section-top-image-left {
	width: 100%;
	min-width: 270px;
	min-height: 235px;
	margin: 0 0 30px 0;
}
.section-top h1 {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  letter-spacing: 0.2em;
  font-size: 2.2rem;
  writing-mode: vertical-rl;
  margin: 5px 0 0 5px;
}
	.section-top-icon {
		width: 80%;
		margin: 0 5px;
	}	
}
.section-main {
	margin: 130px 0;
	text-align: left;
}
.section-main h3 {
	font-size: 1.8rem;
	margin: 0 208px  40px;
}
.section-main ul {
	font-size: 1.8rem;
	margin: 0 208px 70px 238px;
}
.section-main h1 {
	font-size: 2.8rem;
	text-align: center;
	margin: 0 208px 50px;
}
.section-main-background {
	position: relative;
	background-color: #f3e9b8;
	background-repeat: no-repeat;
	background-position-x: center; 
	width: 71%;
	margin: 0 auto;
	border-radius: 100px;
	padding: 130px 200px 1px;
}
form {
margin: 0 auto ;	
}
.hana-img-pc {
	position: absolute;
	top: 0;
	right: -5px;
}
.hana-img-sp {
	display: none;
}
.section-main-background h4 {
	text-align: right;
	color: red;
}
.form {
	margin: 0 auto 30px;
	text-align: center;
}
.label {
	font-size: 1.8rem;
    text-align: left;
	width: 100%;
}
.label span {
	color: red;
	margin-left: 5px;
}
input#name,input#mail,input#remail,input#tel {
	width: 100%;
	height: 40px;
	border-radius: 10px;
	border: none;
	background-color: #FFFFFF;
}
textarea#address {
	width: 100%;
	height: 80px;
	border-radius: 10px;
	border: none;
	background-color: #FFFFFF;
}
.form-address-text {
	text-align: left;
	margin-bottom: 20px;
}
textarea#massage {
	width: 100%;
	height: 380px;
		border-radius: 10px;
	border: none;
	background-color: #FFFFFF;
}
.form-radio {
	width: 100%;
    text-align: left;
}

.radiobutton label {
	padding: 0 0 0 24px;	/* ラベルの位置 */
	line-height: 20px;		/* ボタンのサイズに合わせる */
	display: inline-block;
	cursor:	pointer;
	position: relative;
	margin-right: 20px;
}
.radiobutton label:before {
	content: '';
	width: 20px;		/* ボタンの横幅 */
	height: 20px;		/* ボタンの縦幅 */
	position: absolute;
	top: 0;
	left: 0px;
	background-color: #FFFFFF;
	border-radius: 50%;
	border: 1px solid #0F643F;
}
.radiobutton input[type="radio"] {
	display: none;
	margin-right: 10px;
}
.radiobutton input[type="radio"]:checked + label:after {
	content: '';
	width: 12px;		/* マークの横幅 */
	height: 12px;		/* マークの縦幅 */
	position: absolute;
	top: 4px;
	left: 4px;
	background-color: #0F643F;
	border-radius: 50%;
}

.section-main-button-text {
	margin: 80px auto 20px;
	text-align: left;
}
	input[type="submit"] {
	display: block;
	text-align: center;
	width: 400px;
	height: 70px;
	margin: 100px auto 80px;
	background: url("../image/button.png");
	background-repeat: no-repeat;
	background-position: center;
  border:none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	color: #D7B101;		
	}
 
@media(max-width: 1023px) {
	.section-main {
	margin: 65px 0;
}
.section-main h3 {
	font-size: 1.6rem;
	margin: 0 20px 33px;
}
.section-main ul {
	font-size: 1.6rem;
	margin: 0 20px 40px 40px;
}
.section-main h1 {
	font-size: 2.5rem;
	margin: 0 auto 30px;
}
.section-main-background {
	width: 90%;
    margin: 0 auto;
    border-radius: 80px;
	padding: 100px 10px 60px;	
	}
	.hana-img-pc {
display: none;
}
.hana-img-sp {
display: block;
    position: absolute;
    top: -1px;
    right: -1px;
    width: 35%;
    max-width: 150px;
}
.section-main-background h4 {
display: none;
}
	input#name,input#mail,input#remail,input#tel {
    height: 30px;
	}	
.form-address-text {
	margin-bottom: 35px;
}
textarea#massage {
	height: 250px;
}
.section-main-button-text {
	margin: 65px auto 20px;
}
.section-main-background h4 {
font-size: 1.4rem;
	margin: 0px 20px 0 0;
}
	.form {
		 max-width: 400px;
	}
.label {
	font-size: 1.6rem;
   margin-bottom: 10px;
}
	input[type="submit"] {
    border-radius: 50px;
    width: 320px;
    height: 50px;
    margin: 70px auto;	
	}
}
.section-main-button-pc {
  margin: 0 auto;
  max-width: 1024px;
	text-align: center;
	margin-top: 100px;
}
.section-main-button-pc img {
  width: 90%;
}
.section-main-button-sp {
	display: none;
}
@media(max-width: 600px) {
	.section-main-button-sp {
	display: block;
		margin-top: 65px;
  max-width: 900px;
		text-align: center;
}
	.section-main-button-sp img {
		width: 85%;
	}
	.section-main-button-pc {
		display: none;
	}
} 

/*フォームメーラーここから*/
.contents { 
	background-color: transparent;
		border-radius: 0.35rem;
		border: none; 
	box-sizing: border-box; 
	box-shadow: 0 0 0rem rgba(0, 0, 0, 0);
	margin: 0 auto;
	padding: 0;
 }

.legend { 
	color: #0F643F; 
    margin-bottom: 5px;
	text-align: left;
	font-size: 1.8rem;
	font-weight: 500;
}
.required .legend:after {
    content: "必須";
    background: #e53935;
    color: #ffffff;
    padding: .25rem .35rem;
    border-radius: 0.35rem;
    font-size: .65rem;
    margin-left: .5rem;
    vertical-align: baseline;
    white-space: nowrap;
}
.contents.efo-on input.form-control[type=text]:invalid, .contents.efo-on input.form-control[type=email]:invalid, .contents.efo-on input.form-control[type=tel]:invalid, .contents.efo-on textarea.form-control:invalid, .contents.efo-on select:invalid, .contents.efo-on .form-label-radio-checkbox.invalid, .contents.efo-on .form-control-file:invalid {
	background-color: #FFFFFF;
	border-color: transparent; 
	box-shadow: 0 0 0 0 0;
	color: #0F643F; 
	height: 40px;
}
.form-control { 
	font-size: 1.6rem; 
	line-height: 1.4; 
	color: #616161;
	border-radius: 10px;
}
.was-validated input.form-control[type=text]:valid, .was-validated input.form-control[type=email]:valid, .was-validated input.form-control[type=tel]:valid, .was-validated textarea.form-control:valid, .was-validated select:valid, .was-validated .form-label-radio-checkbox.valid:not(.form-matrix-option), .was-validated .form-control-file:valid {
	border-color: #B07E10 !important; 
	box-shadow: 0 0 0 0 #B07E10 !important; 
}
.form-label-radio-checkbox:not(.form-matrix-option), .form-control-file { 
	padding: 0 0 0 10px;
}
.form-label-radio-checkbox {
	background-color: transparent !important;
}
.form-label-radio-checkbox input[type=radio]:not(.form-matrix-option) { 
	border-color: #0F643F;
}
.was-validated .form-label-radio-checkbox.valid:not(.form-matrix-option){
	background-color: transparent !important;
	border-color: transparent !important;
	margin-bottom: 10px !important;
}
.form-label-radio-checkbox input[type=radio]:not(.form-matrix-option):checked {
	background-color: #0F643F;
	margin-bottom: 10px !important;
}
.form-text {
	color: #0F643F;
	margin-bottom: 40px;
	font-size: 1.6rem;
}
.form-fieldset {
	margin-bottom: 20px;
}
.powered {
	margin-top: 0;
	background-color: #F3E9B8;
}
.btn-default:hover {
	background-color: transparent;
	border: none;
}
.form-label-radio-checkbox:not(.form-matrix-option), .form-control-file {
	border: none;
}
.form-group form-fieldgroup {
	margin: 0 auto;
}
.invalid-feedback {
	font-size: 1.2rem;
}

@media(min-width:1024px) {
.powered {
    padding: 0 10px 70px 10px;
}
	.form-group:last-child {
		margin: 0 30px !important;
	}
}