@charset "utf-8";
/* CSS Document */
.form-box .box-wrap .box .encontact{
margin:0 auto 30px 0;
}
/* ---------- main ---------- */
.main-wrap{
	padding-left: 40px;
	padding-right: 40px;
}
.link_wrap {
	display: flex;
	justify-content: center; 
	gap: 5px;
	flex-wrap: wrap;
}

.link_wrap a {
	display: flex;
	align-items: center;
	justify-content: center; 
	gap: 8px;
	font-size: 14px;
	border: 1px solid #ADAAAA;
	padding: 3px 45px;
	text-align: center; 
	transition: all 0.3s;
	height: 54px;
}
.link_wrap .a2{
	padding: 3px 20px;
}
.cate2{
	position: relative;
}
.cate2::after,
.cate3::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 1px;
	background-color: #A2A2A2;
}
.cate .titlebox h2 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: 100%;
	color: #222;
}
.cate .titlebox h2::before,
.cate .titlebox h2::after {
	content: "";
	height: 1px;
	width: 20px;
	background-color: #222;
}
.cate2 .imgbox {
	gap: 30px;
	height: 300px;
}
.cate2 .circle-bg {
	width: 230px;
	height: 230px;
	border-radius: 50%;
	background-color: #e0e0e0; 
	overflow: visible;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.cate2 .titile{
	width: auto;
	text-align: left;
}
.cate2 img{
	width: 100%;
	height: 120%;
	object-fit: cover;
	display: block;
	position: absolute;
	top: -48px;
}
.cate3 .item-wrap {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    padding: 0 0px; 
    box-sizing: border-box;
}


.cate3 .item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 20px 0;
	align-items: flex-start;
}
.cate3 .item:not(:last-child){
	 border-bottom: 1px solid #ADAAAA;
}

.cate3 .map iframe {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    border: 0;
    display: block;
}
/* ---------- form ---------- */
.form-box .box-wrap{
	max-width: 520px;
}
.form-box .box-wrap .box h3{
	display: flex;
	width: 100%;
	position: relative;
	justify-content: space-between;
	line-height: normal;
	padding-bottom: 5px;
}
.form-box .box-wrap .box.required-box{
	padding-bottom: 30px;
}
.form-box .box-wrap .box.required-box h3::after{
	content: "必須";
	right: 10px;
	top: 50%;
	transform: translateY(-2px);
	background-color: #C70C0C;
	border-radius: 3px;
	color: #fff;
	margin-left: 20px;
	font-size: 14px;
	padding: 4px 20px;
	font-weight: 500;
}
.form-box .box-wrap .box .inputbox{
	width: 100%;
}
.form-box .box-wrap .box .inputbox > input,.form-box .box-wrap .box .inputbox textarea,.form-box .box-wrap .box .itemwrap input{
	background-color: #fff;
	border-radius: 0px;
	width: 100%;
	box-sizing: border-box;
	padding: 15px;
	border: 1px solid #E4E4E4;
}
.form-box .box-wrap .box .inputbox input::placeholder,.form-box .box-wrap .box .inputbox textarea::placeholder{
	color: #333333;
	font-size: 15px;
}
.form-box .box-wrap .box .inputbox textarea{
	height: 300px;
}
.form-box .box-wrap .box .inputbox .check-wrap{
	justify-content: flex-start;
	gap: 30px;
}
.form-box .box-wrap .box .inputbox .check-wrap .check-box{
	gap: 10px;
}
.form-box .box-wrap .box .inputbox .check-wrap .check-box input{
}
.form-box .box-wrap .box .itemwrap input{
	max-width: 80px;
}
.radio-wrap {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-top: 10px;
}

.radio-wrap .label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.radio-wrap input[type="radio"] {
	accent-color: #0077aa; 
	width: 18px;
	height: 18px;
}

.send,.check-area{
	text-align: center;
}
.privacy-bt{
	cursor: pointer;
}
.send .send-bt button{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
	opacity: 0;
	cursor: pointer;
}
.send .send-bt{
	position: relative;
}

.send .icon {
    width: 21px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: 1px solid #E8E8E8;
}
.send .icon img{
	width: 16px;
	transition: ease 0.3s;
margin-left: -18px;
}
.send:hover .icon img{
  transform: translateX(5px);
}
.privacypolicy{
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	box-sizing: border-box;
	padding: 100px 100px;
	background-color: rgba(33, 124, 159, 0.9);
	color: #ffffff;
	z-index: 99999;
	overflow: auto;
}
.privacypolicy .box-wrap{
	padding-top: 10px;
	gap: 20px;
}

.privacypolicy .box-wrap .box:not(:last-of-type){
	margin-bottom: 80px;
}
.privacypolicy .box-wrap a{
	display: inline-block;
	opacity: 1;
	transition: ease 0.3s;
}
.privacypolicy .box-wrap a:hover{
	opacity: 0.5;
}
.privacypolicy .box-wrap p{
	color: #fff!important;
}
.privacypolicy .close-bt{
	position: fixed;
	top: 20px;
	right: 20px;
	width: 60px;
	height: 60px;
	background-color: rgba(33, 124, 159, 0.9);
	transition: ease 0.3s;
	cursor: pointer;
}
.privacypolicy .close-bt:hover{opacity: 0.6}
.privacypolicy .close-bt::before,.privacypolicy .close-bt::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 42px;
	height: 3px;
	background-color: #ffffff;
}
.privacypolicy .close-bt::before{
	transform: translate(-50%,-50%) rotate(45deg);
}

.privacypolicy .close-bt::after{
	transform: translate(-50%,-50%) rotate(-45deg);
}
.privacypolicy .box-wrap .box h3{
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 10px;
	padding-bottom: 5px;
	border-bottom: 2px solid #ffffff;
	color: #fff!important;
}
.privacypolicy .box-wrap .box p a{
	color: #fff!important;
}
	.send,.check-area{
		margin-left: 0px;
	}
	
	.privacypolicy{
padding: clamp(40px, 10vw, 100px) clamp(20px, 5vw, 50px);
	}
	.privacypolicy .box-wrap{
		padding-left: 30px;
		padding-top: 50px;
	}
	.privacypolicy .box-wrap .box h3{
		font-size: 18px;
	}
	.privacypolicy p{
		font-size: 14px;
	}
	.privacypolicy .close-bt{
		top: 20px;
		right: 20px;
		width: 50px;
		height: 50px;
	}
	.privacypolicy .close-bt::before,.privacypolicy .close-bt::after{
		width: 36px;
		height: 2px;
	}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.cate2 .imgbox{
		padding-top: 50px;
		margin-bottom: 100px;
	}
	.link_wrap a {
		width: 250px;
	}
.main-wrap {
    padding-left: 5px;
    padding-right: 5px;
  }
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

