

/*  第1弾目  */



#m_maga{
	position:fixed;
	z-index:9999;
}

#m_maga .m_maga_bk{
	content:"";
	position:fixed;
	top:0;
	left:0;
	background:rgba(0,0,0,.6);
	width:100%;
	height:100%;
}


.m_maga_content{
	position: fixed;
	z-index:9999;
	top:50%;
	left:50%;
	width:880px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	border:4px solid #00A796;
	background:#fff;
	overflow: hidden;
	background-color:#fff;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	}



.m_maga_close{
	position:fixed;
	z-index: 999;
	top:10px;
	right:10px;
	width:34px;
	height:34px;
	background:#fff;
	cursor: pointer;
	border-radius: 333px;
	-webkit-border-radius: 333px;
	-moz-border-radius: 333px;
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.m_maga_close:after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:14px;
	height:2px;
	background:#000000;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	
}


.m_maga_close:before{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:2px;
	height:14px;
	background:#000000;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.m_maga_left{
	width:40%;
	padding:40px;
	background-image:url(asset/img/common/m_maga_bk.png);
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;

}


.m_maga_right{
	width:65%;
	padding:40px;
	background-color:#F4F4F4;
}



.m_maga_left_wrap{
	position:relative;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
    top: 50%;
}


.m_maga_title{
	position:relative;
}


.m_maga_title p{
	font-size:26px;
	font-weight:bold;
	text-align:center;
}

.m_maga_title span{
	position: absolute;
	top: -72px;
	right: -65px;
	width: 90px;
}

.m_maga_note{
	margin-top:10px;
}

.m_maga_note p{
	font-size:14px;
	font-weight:bold;
	text-align:center;
}

.m_maga_illust{
	margin-top:40px;
}

.contact_box{
	margin-bottom:10px;
}

.contact_box .title{
	margin-bottom: 5px;
}

.contact_box .title p{
	font-size:12px;
	font-weight: 500;
}


.contact_box .title span{
	font-size:10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background:#00A896;
	color:#fff;
	padding:2px 7px;
	line-height:0%;
	margin-left:10px;
}

.contact_box input::placeholder {
	font-size:14px;
	color:#B7B7B7;
}

.contact_box .submit{
	text-align:center;
}

.contact_box input{
	font-size:14px;
}


.btn-from input[type="button"], .btn-from input[type="submit"] {
	-webkit-appearance: none;
	appearance: none;
	padding: 0;
	font-family: inherit;
	cursor: pointer;
	background-color: transparent;
	border: none;
	color:#fff;
	font-size: 2rem;
	font-weight: 700;
}

.btn-from p{
	line-height: 100%;
}

.btn-from .wpcf7-spinner {
	display: none!important;
}


.contact_box input[type="submit"] {
	text-align:center;
    cursor: pointer;
    border: none;
    color: #fff;
	font-size: 14px;
	font-weight:bold;
    outline: none;
	width: 80%;
    background: #00A796;
    padding: 20px 0;
    border: 2px solid #00A796;
    border-radius: 333px;
    -webkit-border-radius: 333px;
    -moz-border-radius: 333px;
    -webkit-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    -moz-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    -ms-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    -o-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    transition: 0.4s cubic-bezier(.42, 0, .58, 1);
}

.contact_box.acceptance{
	text-align:center;
	margin-top:20px;
	margin-bottom:20px;
		font-size:12px;
}

.contact_box.acceptance p{
	font-size:12px;
	font-weight: 500;
}

.contact_box.acceptance a{
	font-size:12px;
	border-bottom:1px solid #2C2C2C;
	color:#2C2C2C;
}


.contact_box.acceptance a span{
	width: 13px;
	display: inline-block;
	vertical-align: 2px;
	margin-left: 4px;
}

.contact_box .wpcf7-spinner {
	display: none;
}

.inquiry_btns .wpcf7-spinner{
	display: none;
}


.contact_box .wpcf7-not-valid-tip {
	font-size:12px;
	font-weight: 500;
	position: absolute;
	right: 0;
	top: -27px;
}


.wpcf7-response-output{
	display:none;
}

.contact_box .wpcf7-list-item {
    margin: 0 0 0 0;
}

.contact_box label {
    margin: 0 0 0 0;
}

.submit input:disabled {
  opacity: .6;
}



.n_btn {
    position: relative;
}


.n_btn input{
	width: 400px;
    height: 67px;
    margin: 0 10px;
    border-radius: 99px;
    border: none;
    outline: none;
    background-color: #878787;
    transition: var(--transition);
    cursor: pointer;
    position: relative;
}

.n_btn.send input{
	background-color: #aabab5;
}


.n_btn .n_btn_label{
	pointer-events: none;
	font-size: 2rem;
	font-weight: 700;
	color:#fff;
	position:absolute;
	width:100%;
	text-align:center;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.n_btn.pre .n_btn_label:before {
	display: inline-block;
	vertical-align: 2px;
    content: "";
    width: 19.7px;
    height: 9.08px;
    background-image: url(asset/img/common/icon_btn_arrow_form_b.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    margin-right: 0.6em;
    transition: var(--transition);
}

.n_btn.send .n_btn_label:after {
	display: inline-block;
	vertical-align: 2px;
    content: "";
    width: 19.7px;
    height: 9.08px;
    background-image: url(asset/img/common/icon_btn_arrow_form.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    margin-left: 0.6em;
    transition: var(--transition);
}


.n_btn:hover .n_btn_label:before, .n_btn:hover .n_btn_label:after {
  animation: formbtn-b 1.5s infinite;
}

.n_btn.send input:hover {
  background-color: rgba(170, 186, 181, 0.8);
}

.n_btn.pre input:hover {
  background-color: rgba(136, 136, 136, 0.8);
}

















.thanks{
	padding-bottom:150px;
}

.thanks_title p{
	font-size:20px;
	font-weight:bold;
}

.thanks_note{
	margin-top:20px;
}

.thanks_note p{
	font-size:16px;
	font-weight:500;
}

.btn_back{
	text-align:center;
	margin-top:60px;
}

.btn_back a{
	font-size:16px;
	font-weight:500;
}












/*  第2弾目  */




#inquiry .inquiry_form input[type=email],#inquiry .inquiry_form input[type=tel] {
    font-size: 1.6rem;
    border: solid 1px var(--k);
    border-radius: 5px;
    padding: 0.75em 1.25em;
}


#inquiry .wpcf7-not-valid-tip {
	margin-top:10px;
	font-size: 14px;
	}


.contact_acceptance{
	text-align:center;
	margin-top: 180px;
	font-size: 16px;
}

.new_inquiry .inquiry_btns{
	margin-top:30px;
}

.new_inquiry .inquiry_btns input[type="submit"] {
	width: 530px;
    height: 67px;
    margin: 0 10px;
    border-radius: 99px;
    border: none;
    outline: none;
	background-color: #00A796;
	border: 2px solid #00A796;
    transition: var(--transition);
    cursor: pointer;
    position: relative;
}

.new_inquiry .inquiry_btns input[type="submit"]:disabled {
	opacity: .6;
	cursor: not-allowed;
}


.new_inquiry .wpcf7-response-output {
    display: block;
}

#inquiry.new_inquiry .inquiry {
    padding: 0 0 0px;
}

#inquiry.new_inquiry main{
	padding-bottom:180px;
}


#inquiry.new_inquiry .wpcf7 form .wpcf7-response-output {
    margin:0;
	padding:0;
	margin-top:20px;
	border: none;
	text-align:center;
}



.contact_acceptance {
    margin-top: 0px;
}



.contact_acceptance a {
	color:#2c2c2c;
	border-bottom: 1px solid #2C2C2C;
}

.contact_acceptance a span {
    width: 13px;
    display: inline-block;
    vertical-align: 2px;
    margin-left: 4px;
}



.cta.request_btn a{
	background-color: #B8B5AB;
}


.cta.request_btn a:hover{
	background-color: #626564;
}


.btn04 {
	font-size: clamp(7rem, 9vw, 11rem);
}



/*

.ft_banner{
	position:absolute;
	bottom:35px;
	right:35px;
	width:350px;
}


.hero_scroll {
    bottom: 220px;
    z-index: 2;
}


*/










.sp_img{
display:none!important;
}





@media screen and (max-width: 768px) {
	
	
	
	.sp_img{
		display:block!important;
	}
	
	.pc_img{
		display:none!important;
	}
	
	
	
	
	
	.m_maga_content {
		position: fixed;
		z-index: 9999;
		width: 85%;
		display: block;
		overflow: visible;
		align-items: stretch;
		border: 2px solid #00A796;
		border-radius: 20px;
		-webkit-border-radius: 20px;
		-moz-border-radius: 20px;
	}
	
	
	
	.m_maga_left {
		width: 100%;
		padding: 20px 30px 0;
		background-image: none;
	}
	
	
	.m_maga_left_wrap {
    transform: none;
    -webkit-transform: none;
    -moz-transform: none;
    -o-transform: none;
    -ms-transform:none;
}
	
	.m_maga_title span {
		position: absolute;
		top: 25px;
		right: -45px;
		width: 64px;
	}
	
	.m_maga_close {
		background: #EAEAEA;
	}
	
	.m_maga_title p {
		font-size: 18px;
	}
	
	.m_maga_note p {
		font-size: 12px;
	}
	
	
	.m_maga_mm {
		display: flex !important;
		justify-content: space-between;
		margin-top: 10px;
	}
	
	.m_maga_note {
		margin-top: 2px;
	}
	
	.m_maga_mm > div{
		padding:2px 4px;
		width:32%;
		border-radius: 8px;
		-webkit-border-radius: 8px;
		-moz-border-radius: 8px;
	}
	
	.m_maga_mm > div:nth-child(1){
		background:#59C4F1;
	}
		
	.m_maga_mm > div:nth-child(2){
		background:#F7AD00;
	}
		
	.m_maga_mm > div:nth-child(3){
		background:#EA5C60;
	}
	
	.m_maga_mm > div p{
		font-size:13px;
		font-weight:bold;
		text-align:center;
		color:#fff;
	}
	
	.m_maga_right {
		width: 100%;
		padding: 15px 18px 10px;
		background-color: transparent;
	}
	
	.contact_box .title {
		margin-bottom: 3px;
	}
	
	.contact_box .wpcf7-not-valid-tip {
		top: -24px;
	}
	
	
	.contact_box.acceptance {
    margin-top: 15px;
    margin-bottom: 15px;
}
	
	.contact_box input[type="submit"] {
		font-size: 14px;
		width: 100%;
		padding: 15px 0;
	}
	
	.contact_box input[type=text], .contact_box input[type=tel], .contact_box input[type=email], .contact_box input[type=password], .contact_box select, .contact_box textarea {
			padding: .8rem 1rem;
	}
	
	.contact_box input::placeholder {
		font-size:12px;
	}
	
	
	.mailconfirm .h01 span {
		font-size: 34px;
	}

	
	#thanks .h01 span{
		font-size: 34px;
	}
	
	#thanks-pamphlet .h01 span{
		font-size: 34px;
	}
	
	#inquiry .h01 span{
		font-size: 34px;
	}
	
	#thanks .hero-ul {
		padding: 55px 0 50px;
	}
	
	#inquiry .hero-ul {
		padding: 55px 0 50px;
	}
	
	#thanks-pamphlet .hero-ul {
		padding: 55px 0 50px;
	}
	
	
	
	
	.thanks_title p {
		font-size: 16px;
	}
	
	
	.thanks_note p {
		font-size: 14px;
	}
	
	
	.n_btn {
		width: 100%;
		padding: 0 20px;
	}
	
	.n_btn.pre {
		margin-bottom:15px;
	}
	
	.n_btn input {
		width: 100%;
		height: 50px;
		margin:0;
	}
	
	.n_btn .n_btn_label {
		font-size: 1.6rem;
	}
	
	
	
	
	.new_inquiry .inquiry_btns input[type="submit"] {
		width: 100%;
	}
	
	
	
	
	
	
}
	
	
	
	
	
	@media screen and (max-width: 375px) {
		
		
		
		.m_maga_left {
			padding: 10px 20px 0;
		}
		
		
		.m_maga_note p {
			font-size: 11px;
		}
		
		.m_maga_mm {
			margin-top: 10px;
		}
		
		.m_maga_right {
			padding: 10px 18px;
		}
		
		
		
		.m_maga_mm > div p {
			font-size: 11px;
		}
		
		.contact_box {
			margin-bottom: 5px;
		}
		
		
		.contact_box.acceptance {
			margin-top: 10px;
			margin-bottom: 10px;
		}
		
		.m_maga_note {
			margin-top: 5px;
		}
		
		.m_maga_title span {
			top: 30px;
			width: 62px;
		}
		
		.contact_box .title {
			margin-bottom: 2px;
		}
		
		.contact_box .title p {
			font-size: 11px;
		}
		
		
		.contact_box .wpcf7-not-valid-tip {
			font-size: 11px;
			top: -18px;
		}
		
		
		
		.contact_box input[type=text], .contact_box input[type=tel], .contact_box input[type=email], .contact_box input[type=password], .contact_box select, .contact_box textarea {
			padding: .5rem .6rem;
		}
		
		.contact_box input[type="submit"] {
			font-size: 12px;
			padding: 10px 0;
		}
		
		
		.contact_box input::placeholder {
			font-size:11px;
		}
	
	
	
	
	
	
	
	
	
	
	
}