@charset "UTF-8";
@import url(normalize.css);
@import url(reset.css);
@import url(hack.css);

body {font-family: "Noto Sans JP", serif; letter-spacing: 0.12em;}
@media screen and (max-width:768px) {
	body {font-family: "Noto Sans JP", serif; overflow-x: hidden;}
}

@media screen and (min-width:768px) and ( max-width:1024px) {
}

@media screen and (min-width:768px) {
	.sp {display:none !important;}
	.pc {}
}

@media screen and (max-width:768px) {
	.sp {}
	.pc {display:none !important;}
}

.Mg70Bottom {
	margin-bottom: 70px;
}

img {vertical-align: middle;}


header {
	width: 100%;
	height: 100%;
	height: 100vh;
	background: url("../images/bg.png") center bottom no-repeat;
	background-size: cover;
	position: relative;
}

.header_leaf1 {
	width: 50%;
	height: 50%;
	background: url("../images/left_leaf.png") top left no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

.header_leaf2 {
	width: 50%;
	height: 50%;
	background: url("../images/right_leaf.png") top right no-repeat;
	background-size: contain;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.header_photo1 {
	width: 20%;
	height: 30%;
	background: url("../images/header_photo1.png") top left no-repeat;
	background-size: contain;
	position: absolute;
	left: 10%;
	top: 7%;
	z-index: 2;
}

.header_photo2 {
	width: 20%;
	height: 30%;
	background: url("../images/header_photo2.png") top right no-repeat;
	background-size: contain;
	position: absolute;
	right: 10%;
	top: 7%;
	z-index: 2;
}

.header_photo3 {
	width: 20%;
	height: 30%;
	background: url("../images/header_photo3.png") bottom left no-repeat;
	background-size: contain;
	position: absolute;
	left: 10%;
	bottom: 7%;
	z-index: 2;
}

.header_photo4 {
	width: 20%;
	height: 30%;
	background: url("../images/header_photo4.png") bottom right no-repeat;
	background-size: contain;
	position: absolute;
	right: 10%;
	bottom: 7%;
	z-index: 2;
}

@media screen and (max-width:768px) {
	.header_photo1 {
		width: 45%;
		height: 40%;
		background: url("../images/header_photo1.png") top left no-repeat;
		background-size: contain;
		position: absolute;
		left: 2%;
		top: 7%;
		z-index: 2;
	}

	.header_photo2 {
		width: 45%;
		height: 40%;
		background: url("../images/header_photo2.png") top right no-repeat;
		background-size: contain;
		position: absolute;
		right: 2%;
		top: 7%;
		z-index: 2;
	}

	.header_photo3 {
		width: 45%;
		height: 40%;
		background: url("../images/header_photo3.png") bottom left no-repeat;
		background-size: contain;
		position: absolute;
		left: 2%;
		bottom: 7%;
		z-index: 2;
	}

	.header_photo4 {
		width: 45%;
		height: 40%;
		background: url("../images/header_photo4.png") bottom right no-repeat;
		background-size: contain;
		position: absolute;
		right: 2%;
		bottom: 7%;
		z-index: 2;
	}
}

.header_text {
	width: 20%;
	height: 20%;
	background: url("../images/header_text.png") bottom right no-repeat;
	background-size: contain;
	position: absolute;
	right: 32%;
	bottom: 9%;
	z-index: 3;
}

@media screen and (max-width:768px) {
	.header_text {
		width: 30%;
		height: 30%;
		background: url("../images/header_text.png") bottom right no-repeat;
		background-size: contain;
		position: absolute;
		right: 35%;
		bottom: 24%;
		z-index: 3;
	}
}

.logo {
	width: 50%;
	position: absolute;
	z-index: 3;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
	text-align: center;
}

.logo img {
	width: 100%;
	max-width: 700px;
}

@media screen and (max-width:768px) {
	.logo {
		width: 100%;
		position: absolute;
		z-index: 3;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		text-align: center;
		padding: 0 40px;
		box-sizing: border-box;
	}

	.logo img {
		width: 100%;
		max-width: 700px;
	}
}

.manu {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
	transition: all 0.5s ease;
	transform: translateY(-20px);
}

@media screen and (max-width:768px) {
	.manu {display: none;}
}

.manu.fixed {
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10;
	background: rgba(255,255,255,0.85);
	opacity: 1;
	transform: translateY(0);
}

.manu_list {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding-top: 35px;
	transition: padding 0.3s ease;
}

.manu.fixed .manu_list {
	padding-top: 20px;
	padding-bottom: 20px;
}

.manu_list p {
	width: auto;
	padding: 0 25px 0 25px;
	box-sizing: border-box;
}

.manu_list p a {
	color: #fff;
	font-weight: 500;
}

.manu.fixed .manu_list p a {
	color: #000;
	font-weight: 500;
}

/*------------------------ドロワーメニュー------------------------*/
nav {display: none;}

@media screen and (max-width:768px) {
	nav {
		width:75%;
		height:100%;
		min-height:120px;
		box-sizing:border-box;
		padding:0;
		position:fixed;
		display:none;
		top:0;
		right: 0;
		z-index:14000;
		background: #F0FAFF;
	}

	.nav_BOX {
		width: 100%;
		height: auto;
		float: left;
		box-sizing: border-box;
		padding: 90px 30px 30px 30px;
		text-align: left;
	}

	.nav_list {
		width: 100%;
		height: auto;
		float: left;
		margin-bottom: 30px;
		padding-bottom: 10px;
		border-top: 1px solid #ccc;
	}

	.nav_list li {
		width: 100%;
		height: auto;
		float: left;
		font-weight: 500;
		font-size: 1.1em;
		line-height: 1.4em;
		padding: 10px;
		box-sizing: border-box;
		border-bottom: 1px solid #ccc;
	}
	
	.nav_list li::before {
		content: "〉";
		color: #2C85C8;
	}

	.nav_list li span {
		font-size: 0.8em;
		font-weight: 400;
	}

	#navToggle {
		position:fixed; /*bodyに対しての絶対位置指定です*/
		right:10px;
		top:10px;
		width:30px;
		height:30px;
		cursor:pointer;
		z-index:15000;
		padding:15px;
		background: #F0FAFF;
		border-radius: 100px;
		}
	#navToggle div {position:relative} /*spanの絶対位置指定の親にします*/
	#navToggle span {
		display:block;
		position:absolute; /*#navToggle div に対して*/
		width:100%;
		border-bottom:solid 3px #2C85C8;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out}
	#navToggle span:nth-child(1) {top:3px}
	#navToggle span:nth-child(2) {top:13px}
	#navToggle span:nth-child(3) {top:23px}

	.openNav #navToggle span:nth-child(1) {
		top: 11px;
		-webkit-transform:rotate(-45deg);
		-moz-transform:rotate(-45deg);
		transform:rotate(-45deg);
		border-bottom:solid 3px #2C85C8;
		}
	.openNav #navToggle span:nth-child(2){
		top: 11px;
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(45deg);
		transform:rotate(45deg);
		border-bottom:solid 3px #2C85C8;
		}

	.openNav #navToggle span:nth-child(3) {
		top: 11px;
		-webkit-transform:rotate(-45deg);
		-moz-transform:rotate(-45deg);
		transform:rotate(-45deg);
		border-bottom:solid 3px #2C85C8;
		}

	.openNav nav {
		display:block !important;
	}

}
/*------------------------ドロワーメニュー------------------------*/

.header_img {
	width: 100%;
	height: 180px;
	background: url("../images/header_img.png") center center no-repeat;
	background-size: cover;
}

@media screen and (max-width:768px) {
	.header_img {
		width: 100%;
		height: 90px;
		background: url("../images/header_img.png") center center no-repeat;
		background-size: cover;
	}
}

.main {
	width: 100%;
	position: relative;
}

.section1 {
	width: 100%;
	background: url("../images/bg2.png") center center no-repeat;
	background-size: cover;
	padding: 80px 0;
}

.section2 {
	width: 100%;
	background: #F0FAFF;
	padding: 50px 0;
}

.section_box {
	width: 100%;
	max-width: 1160px;
	box-sizing: border-box;
	padding: 0 30px;
	margin: 0 auto;
}

.title1 {
	width: 100%;
	margin-bottom: 30px;
	font-weight: 700;
	font-size: 1.6em;
	line-height: 1.4em;
	color: #2C85C8;
}

.title2 {
	width: 100%;
	margin-bottom: 0;
	font-weight: 700;
	font-size: 1.4em;
	line-height: 1.4em;
	color: #2C85C8;
}

.title2 span {
	font-size: 1.4em;
}

@media screen and (max-width:768px) {
	.m_text {
		text-align: left;
	}
}

.kukaku_box {
	width: 100%;
	padding: 0 50px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 50px;
}

@media screen and (max-width:768px) {
	.kukaku_box {
		width: 100%;
		padding: 0 0;
		box-sizing: border-box;
		position: relative;
		margin-bottom: 50px;
	}
}

.kukaku_area {
  position: relative;
  width: 100%;
  aspect-ratio: 28/25;
}

.kukaku {
	position: absolute;
	inset: 0;
	background: url("../images/kukaku.svg") no-repeat center/contain;
	z-index: 1;
}

.seiyaku {
	background-image: url("../images/seiyaku.svg");
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 2;
}

.seiyaku01 {
  top: 16%;
  left: 32%;
  width: 9%;
  height: 9%;
}

.seiyaku02 {
  top: 27%;
  left: 32%;
  width: 9%;
  height: 9%;
}

.seiyaku03 {
  top: 38%;
  left: 32%;
  width: 9%;
  height: 9%;
}

.seiyaku04 {
  top: 49%;
  left: 32%;
  width: 9%;
  height: 9%;
}

.seiyaku05 {
  top: 60%;
  left: 32%;
  width: 9%;
  height: 9%;
}

.seiyaku06 {
  top: 16%;
  left: 48.5%;
  width: 9%;
  height: 9%;
}

.seiyaku07 {
  top: 27%;
  left: 48.5%;
  width: 9%;
  height: 9%;
}

.seiyaku08 {
  top: 38%;
  left: 48.5%;
  width: 9%;
  height: 9%;
}

.seiyaku09 {
  top: 49%;
  left: 48.5%;
  width: 9%;
  height: 9%;
}

.seiyaku10 {
  top: 60%;
  left: 48.5%;
  width: 9%;
  height: 9%;
}

.seiyaku11 {
  top: 16%;
  left: 68%;
  width: 9%;
  height: 9%;
}

.seiyaku12 {
  top: 28%;
  left: 68%;
  width: 9%;
  height: 9%;
}

.seiyaku13 {
  top: 39.5%;
  left: 68%;
  width: 9%;
  height: 9%;
}

.seiyaku14 {
  top: 50.5%;
  left: 68%;
  width: 9%;
  height: 9%;
}

.seiyaku15 {
  top: 61.5%;
  left: 68%;
  width: 9%;
  height: 9%;
}

.seiyaku16 {
  top: 16%;
  left: 84%;
  width: 9%;
  height: 9%;
}

.seiyaku17 {
  top: 29%;
  left: 84%;
  width: 9%;
  height: 9%;
}

.seiyaku18 {
  top: 41%;
  left: 84%;
  width: 9%;
  height: 9%;
}

.seiyaku19 {
  top: 52.5%;
  left: 84%;
  width: 9%;
  height: 9%;
}

.seiyaku20 {
  top: 64.5%;
  left: 84%;
  width: 9%;
  height: 9%;
}

.seiyaku21 {
  top: 76.5%;
  left: 68%;
  width: 9%;
  height: 9%;
}

.seiyaku22 {
  top: 76.5%;
  left: 84%;
  width: 9%;
  height: 9%;
}

.in_title1 {
	width: 100%;
	margin-bottom: 10px;
	font-size: 1.3em;
	font-weight: 600;
	text-align: left;
}

.in_title1::before {
	content: "■";
	color: #2C85C8;
}

.kukaku_list {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 50px;
}

.kukaku_list .in_box {
	width: 32%;
	margin-right: 2%;
}

.kukaku_list .in_box:nth-child(3n) {
	margin-right: 0;
}

@media screen and (max-width:768px) {
	.kukaku_list .in_box {
		width: 100%;
		margin-right: 0;
	}

	.kukaku_list .in_box:nth-child(3n) {
		margin-right: 0;
	}
}

.sub_title_list {
	width: 100%;
	background: #5FACE6;
	display: flex;
	flex-wrap: wrap;
	padding: 2px 5px;
	box-sizing: border-box;
	margin-bottom: 10px;
}

.sub_title_list li:nth-child(1) {
	width: 25%;
	text-align: center;
	color: #fff;
}

.sub_title_list li:nth-child(2) {
	width: 37.5%;
	text-align: center;
	color: #fff;
}

.sub_title_list li:nth-child(3) {
	width: 37.5%;
	text-align: center;
	color: #fff;
}

@media screen and (max-width:768px) {
	.kukaku_list .in_box:nth-child(2) .sub_title_list {
		display: none;
	}
	
	.kukaku_list .in_box:nth-child(3) .sub_title_list {
		display: none;
	}
}

.kukaku_mainlist {
	width: 100%;
	background: #fff;
	display: flex;
	flex-wrap: wrap;
	padding: 2px 5px;
	box-sizing: border-box;
	margin-bottom: 7px;
	position: relative;
}

.kukaku_mainlist li:nth-child(1) {
	width: 25%;
	text-align: center;
	color: #000;
}

.kukaku_mainlist li:nth-child(2) {
	width: 37.5%;
	text-align: center;
	color: #000;
}

.kukaku_mainlist li:nth-child(3) {
	width: 37.5%;
	text-align: center;
	color: #000;
}

.kukaku_mainlist.seiyakuzumi::after {
	content: "成約済";
	width: 100%;
	height: 100%;
	padding: 2px 5px;
	box-sizing: border-box;
	background: rgba(252,0,0,0.85);
	color: #fff;
	position: absolute;
	left: 0;
	top: 0;
}

.in_title2 {
	width: 100%;
	margin-bottom: 10px;
	font-size: 1.1em;
	font-weight: 600;
	text-align: left;
	color: #2C85C8;
}

.in_title2::before {
	content: "●";
	color: #2C85C8;
}

.in_list {
	width: 100%;
	margin-bottom: 50px;
}

.in_list li {
	width: 100%;
	text-align: left;
	margin-left: 1em;
	text-indent: -1em;
}


.in_text {
	width: 100%;
	margin-bottom: 50px;
	text-align: left;
}

.link {
	text-decoration: underline;
}

@media screen and (max-width:768px) {
	.link {
		text-decoration: underline;
		overflow-wrap: break-word;
	}
}

.in_wbox {
	width: 100%;
	background: #fff;
	margin-top: 50px;
	padding: 20px;
	box-sizing: border-box;
}

.in_wbox_area {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.link_pdf {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 15px;
	display: inline-block;
	background: #F7F7F7;
	position: relative;
	padding: 13px 0 13px 70px;
	box-sizing: border-box;
	text-align: left;
	font-size: 0.9em;
}

.link_pdf:nth-child(3n) {
	margin-right: 0;
}

.link_pdf::before {
	content: "";
	width: 50px;
	height: 100%;
	background: url("../images/pdf.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
}

@media screen and (max-width:768px) {
	.link_pdf {
		width: 100%;
		margin-right: 0;
		margin-bottom: 15px;
		display: inline-block;
		background: #F7F7F7;
		position: relative;
		padding: 13px 0 13px 70px;
		box-sizing: border-box;
		text-align: left;
		font-size: 0.9em;
	}

	.link_pdf:nth-child(3n) {
		margin-right: 0;
	}

	.link_pdf::before {
		content: "";
		width: 50px;
		height: 100%;
		background: url("../images/pdf.svg") center center no-repeat;
		background-size: contain;
		position: absolute;
		left: 0;
		top: 0;
	}
}

.link_text {
	width: 66%;
	padding: 13px 0 13px 0;
	box-sizing: border-box;
	text-align: left;
	font-size: 0.9em;
}

@media screen and (max-width:768px) {
	.link_text {
		width: 100%;
		padding: 13px 0 13px 0;
		box-sizing: border-box;
		text-align: left;
		font-size: 0.9em;
	}
}

.section3 {
	width: 100%;
	background: #fff;
	padding: 100px 0;
}

.photo_area {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.photo_area .photo {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 20px;
	text-align: left;
}

.photo_area .photo:nth-child(3n) {
	margin-right: 0;
}

@media screen and (max-width:768px) {
	.photo_area .photo {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
		text-align: left;
	}

	.photo_area .photo:nth-child(3n) {
		margin-right: 0;
	}
}

.photo_area .photo img {
	width: 100%;
	margin-bottom: 5px;
}

.photo_area .photo span {
	width: 100%;
	display: inline-block;
	font-size: 0.9em;
}

.section4 {
	width: 100%;
	background: #fff;
	display: flex;
	flex-wrap: wrap;
}

.banner {
	width: 50%;
}

@media screen and (max-width:768px) {
	.banner {
		width: 100%;
		margin-bottom: 20px;
	}
}

.banner .imgbox {
	width: 100%;
	margin-bottom: 5px;
}

.banner .imgbox img {
	width: 100%;
}

.banner .textbox {
	width: 100%;
	text-align: left;
	padding: 0 30px;
	box-sizing: border-box;
}

@media screen and (max-width:768px) {
	.banner .textbox {
		width: 100%;
		text-align: center;
		padding: 0 30px;
		box-sizing: border-box;
	}
}

.section5 {
	width: 100%;
	background: #fff;
	padding: 100px 0;
}

.access_box {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	background: #F0FAFF;
	align-items: center;
	justify-content: center;
}

.access_map {
	width: 50%;
}

@media screen and (max-width:768px) {
	.access_map {
		width: 100%;
	}
}

.access_map iframe {
	width: 100%;
	aspect-ratio: 9 / 9;
	height: auto;
}

.access_textbox {
	width: 50%;
	padding: 50px;
	box-sizing: border-box;
	text-align: left;
}

@media screen and (max-width:768px) {
	.access_textbox {
		width: 100%;
		padding: 30px;
		box-sizing: border-box;
		text-align: left;
	}
}

.access_textbox h4 {
	font-size: 1.3em;
	font-weight: 600;
	color: #2C85C8;
	line-height: 1.4em;
	margin-bottom: 30px;
}

.section6 {
	width: 100%;
	background: #F7F7F7;
	padding: 100px 0;
}

.contact_title {
	width: 100%;
	text-align: left;
	position: relative;
	padding: 0 0 0 70px;
	box-sizing: border-box;
	margin-bottom: 20px;
}

.contact_title .required {
	position: absolute;
	left: 0;
	top: 0;
	font-style: normal;
	padding: 2px 10px;
	box-sizing: border-box;
	background: #F5C156;
	color: #fff;
	font-size: 0.8em;
}

.contact_title .any {
	position: absolute;
	left: 0;
	top: 0;
	font-style: normal;
	padding: 2px 10px;
	box-sizing: border-box;
	background: #707070;
	color: #fff;
	font-size: 0.8em;
}

.contact_box {
	width: 100%;
	text-align: left;
	margin-bottom: 40px;
}

.contact_box label {
	margin-right: 20px;
}

.contact_box label:last-child {
	margin-right: 0;
}

.contact_inbox {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.contact_inbox_left {
	width: 25%;
	margin-right: 3%;
}

.contact_inbox_center {
	width: 25%;
	margin-right: 3%;
}

.contact_inbox_right {
	width: 44%;
}

@media screen and (max-width:768px) {
	.contact_inbox_left {
		width: 100%;
		margin-right: 0;
	}

	.contact_inbox_center {
		width: 100%;
		margin-right: 0;
	}

	.contact_inbox_right {
		width: 100%;
	}
}

.form1 {
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	border: 1px solid #999;
}

.form_sub {
	width: 1005;
	display: inline-block;
	margin-top: 5px;
}

.contact_privacy {
	width: 100%;
	text-align: center;
	margin-bottom: 40px;
}

.contact_privacy input {
	margin-right: 15px;
}

.contact_privacy a {
	color: #106AB5;
	text-decoration: underline;
}

.contact_bottan {
	width: 100%;
}

.contact_bottan input {
	background: #F5C156;
	border: none;
	padding: 15px 85px;
	box-sizing: border-box;
	font-size: 1.2em;
	font-weight: 600;
	color: #fff;
}

footer {
	width: 100%;
	background: #2C85C8;
	padding: 25px 0;
	box-sizing: border-box;
}

.footer_title {
	width: 100%;
	color: #fff;
	font-size: 1.4em;
	font-weight: 600;
	margin-bottom: 10px;
}

.footer_text1 {
	width: 100%;
	color: #fff;
	line-height: 1.2em;
}

.footer_text2 {
	width: 100%;
	color: #fff;
	line-height: 1.2em;
	font-size: 1.2em;
	font-weight: 700;
	margin-bottom: 25px;
}

.footer_text3 {
	width: 100%;
	color: #fff;
	line-height: 1.2em;
	font-size: 0.9em;
}

.fadein-box {
  opacity: 0;
  transition: opacity 1s ease;
}

.fadein-box.show {
  opacity: 1;
}

.fade-in {
  opacity: 0;
  transform: translateY(20px); /* 下から少し上に移動させる */
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

/*---フォーム用---*/

.contact-form {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

#contact_details-field {
	width: 100%;
	text-align: left;
	margin-bottom: 50px;
}

#contact_details-field .form-label {
	width: 100%;
	padding: 0 0 0 60px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 20px;
}

#contact_details-field .form-label .must {
	display: none;
}

#contact_details-field .form-label::after {
	content: "必須";
	position: absolute;
    left: 0;
    top: 0;
    font-style: normal;
    padding: 2px 10px;
    box-sizing: border-box;
    background: #F5C156;
    color: #fff;
    font-size: 0.8em;
}

#contact_details-field .form-element {
	width: 100%;
}

#contact_details-field .form-element ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

#contact_details-field .form-element ul li {
	margin-right: 20px;
}

#contact_name-field {
	width: 100%;
	text-align: left;
	margin-bottom: 50px;
}

#contact_name-field .form-label {
	width: 100%;
	padding: 0 0 0 60px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 20px;
}

#contact_name-field .form-label .must {
	display: none;
}

#contact_name-field .form-label::after {
	content: "必須";
	position: absolute;
    left: 0;
    top: 0;
    font-style: normal;
    padding: 2px 10px;
    box-sizing: border-box;
    background: #F5C156;
    color: #fff;
    font-size: 0.8em;
}

#contact_name-field .form-element {
	width: 100%;
}

#contact_name-field .form-element input {
	width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
}

#contact_tel-field {
	width: 100%;
	text-align: left;
	margin-bottom: 50px;
}

#contact_tel-field .form-label {
	width: 100%;
	padding: 0 0 0 60px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 20px;
}

#contact_tel-field .form-label .must {
	display: none;
}

#contact_tel-field .form-label::after {
	content: "必須";
	position: absolute;
    left: 0;
    top: 0;
    font-style: normal;
    padding: 2px 10px;
    box-sizing: border-box;
    background: #F5C156;
    color: #fff;
    font-size: 0.8em;
}

#contact_tel-field .form-element {
	width: 100%;
}

#contact_tel-field .form-element input {
	width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
}

#contact_mail-field {
	width: 100%;
	text-align: left;
	margin-bottom: 50px;
}

#contact_mail-field .form-label {
	width: 100%;
	padding: 0 0 0 60px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 20px;
}

#contact_mail-field .form-label .must {
	display: none;
}

#contact_mail-field .form-label::after {
	content: "必須";
	position: absolute;
    left: 0;
    top: 0;
    font-style: normal;
    padding: 2px 10px;
    box-sizing: border-box;
    background: #F5C156;
    color: #fff;
    font-size: 0.8em;
}

#contact_mail-field .form-element {
	width: 100%;
}

#contact_mail-field .form-element input {
	width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
}

#contact_age-field {
	width: 25%;
	margin-right: 5%;
	text-align: left;
	margin-bottom: 50px;
}

@media screen and (max-width:768px) {
	#contact_age-field {
		width: 100%;
		margin-right: 0;
		text-align: left;
		margin-bottom: 50px;
	}
}

#contact_age-field .form-label {
	width: 100%;
	padding: 0 0 0 60px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 20px;
}

#contact_age-field .form-label .must {
	display: none;
}

#contact_age-field .form-label::after {
	content: "必須";
	position: absolute;
    left: 0;
    top: 0;
    font-style: normal;
    padding: 2px 10px;
    box-sizing: border-box;
    background: #F5C156;
    color: #fff;
    font-size: 0.8em;
}

#contact_age-field .form-element {
	width: 100%;
}

#contact_age-field .form-element input {
	width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
}

#contact_spouse-field {
	width: 20%;
	margin-right: 5%;
	text-align: left;
	margin-bottom: 50px;
}

@media screen and (max-width:768px) {
	#contact_spouse-field {
		width: 100%;
		margin-right: 0;
		text-align: left;
		margin-bottom: 50px;
	}
}

#contact_spouse-field .form-label {
	width: 100%;
	padding: 0 0 0 60px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 20px;
}

#contact_spouse-field .form-label .must {
	display: none;
}

#contact_spouse-field .form-label::after {
	content: "必須";
	position: absolute;
    left: 0;
    top: 0;
    font-style: normal;
    padding: 2px 10px;
    box-sizing: border-box;
    background: #F5C156;
    color: #fff;
    font-size: 0.8em;
}

#contact_spouse-field .form-element {
	width: 100%;
}

#contact_spouse-field .form-element ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

#contact_spouse-field .form-element ul li {
	margin-right: 20px;
}

#contact_region-field {
	width: 45%;
	text-align: left;
	margin-bottom: 50px;
}

@media screen and (max-width:768px) {
	#contact_region-field {
		width: 100%;
		text-align: left;
		margin-bottom: 50px;
	}
}

#contact_region-field .form-label {
	width: 100%;
	padding: 0 0 0 60px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 20px;
}

#contact_region-field .form-label::after {
	content: "任意";
	position: absolute;
    left: 0;
    top: 0;
    font-style: normal;
    padding: 2px 10px;
    box-sizing: border-box;
    background: #707070;
    color: #fff;
    font-size: 0.8em;
}

#contact_region-field .form-element {
	width: 100%;
}

#contact_region-field .form-element input {
	width: 100%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
}

#contact_question-field {
	width: 100%;
	text-align: left;
	margin-bottom: 50px;
}

#contact_question-field .form-label {
	width: 100%;
	padding: 0 0 0 60px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 20px;
}

#contact_question-field .form-label::after {
	content: "任意";
	position: absolute;
    left: 0;
    top: 0;
    font-style: normal;
    padding: 2px 10px;
    box-sizing: border-box;
    background: #707070;
    color: #fff;
    font-size: 0.8em;
}

#contact_question-field .form-element {
	width: 100%;
}

#contact_question-field .form-element textarea {
	width: 100%;
	min-height: 160px;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #999;
}

#contact_privacy-field {
	width: 100%;
	text-align: center;
	margin-bottom: 50px;
}

#contact_privacy-field .form-label {
	display: none;
}

#contact_privacy-field .form-element {
	width: 100%;
	text-align: center;
}

#contact_privacy-field .form-element a {
	text-decoration: underline;
	color: #0597FF;
}

.contact-form-submit {
	width: 100%;
	text-align: center;
}

.contact-form-submit input {
	width: 100%;
	max-width: 300px;
	background: #F5C156;
    border: none;
    padding: 15px 85px;
    box-sizing: border-box;
    font-size: 1.2em;
    font-weight: 600;
    color: #fff;
}

.field_value {
	width: 100%;
	display: inline-block;
	background: #fff;
	padding: 10px 20px;
	box-sizing: border-box;
	text-align: left;
}

.field_error {
	width: 100%;
	display: inline-block;
	padding: 10px 0;
	box-sizing: border-box;
	text-align: left;
	color: #ff0000;
}

.contact_link {
	width: auto;
	padding: 10px 20px;
	display: inline-block;
	background: #333;
	color: #fff;
}






