@charset "utf-8";
/* CSS Document */
.ja{
	font-family: "Noto Sans JP", sans-serif;
}
.ja-zenkaku{
	font-family: "Zen Kaku Gothic Antique", sans-serif;
}
.min{
	font-family: "Zen Old Mincho", serif;
}
.en{
	font-family:"Times New Roman", Times, "serif";
}


/*** ------------------------------------------------------------------------------ 

home

-----------------------------------------------------------------------------  ***/
#home{
	position: relative;
}
#home::before{
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	content: '';
	width: 100%;
	height: 25%;
	background: #FFF7E8;
}



/*** ------------------------------------------------------------------------------ 

visual

-----------------------------------------------------------------------------  ***/
#visual{
	position: relative;
}
#visual #mv-txt{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 4;
	width: 100%;
	text-align: center;
}
#visual #mv-img01{
	width: 100%;
	text-align: center;
}
#visual #mv-img02{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	text-align: center;
}
#visual #mv-img03{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 100%;
	text-align: center;
}


#visual #mv-txt,
#visual #mv-img01,
#visual #mv-img02,
#visual #mv-img03{
	opacity: 0;
}
#visual #mv-img03{
	animation: mv-ani 0.8s cubic-bezier(0.32, 0.1, 0, 1) 0.2s forwards;
}
#visual #mv-img02{
	animation: mv-ani 0.8s cubic-bezier(0.32, 0.1, 0, 1) 0.4s forwards;
}
#visual #mv-img01{
	animation: mv-ani 0.8s cubic-bezier(0.32, 0.1, 0, 1) 0.6s forwards;
}
#visual #mv-txt{
	animation: mv-ani 0.8s cubic-bezier(0.32, 0.1, 0, 1) 0.8s forwards;
}
@keyframes mv-ani{
	0%{
		transform: translateY(50px);
		opacity: 0;
	}
	100%{
		transform: translate(0);
		opacity: 1;
	}
}



/*** ------------------------------------------------------------------------------ 

sec-about

-----------------------------------------------------------------------------  ***/
#sec-about{
	padding: 5% 0 0;
}
#sec-about .fl-box{
	display: flex;
	margin: 0 0 45px;
}
#sec-about .fl-box .tit-cont{
	width: 43%;
}
#sec-about .fl-box .tit-cont .ja{
	font-size: 3.2rem;
	line-height: 1.4;
}
#sec-about .fl-box .text{
	width: 57%;
}
#sec-about .fl-box .text .txt01{
	font-size: 1.4rem;
	padding: 28px 0 0;
}
#sec-about .list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#sec-about .list .list-item{
	width: calc(100% / 5 - 18px);
}
#sec-about .list .list-item .img{
	margin: 0 0 5px;
}
#sec-about .list .list-item .img img{
	border-radius: 30px;
}
#sec-about .list .list-item .tit{
	color: var(--color_brown);
	font-size: 1.6rem;
	font-weight: 500;
}
@media (max-width:768px){
	#sec-about .fl-box{
		display: block;
		margin: 0 0 30px;
	}
	#sec-about .fl-box .tit-cont{
		width: 100%;
		margin: 0;
	}
	#sec-about .fl-box .text{
		width: 100%;
	}
	#sec-about .list .list-item{
		width: calc(100% / 2 - 7px);
		margin: 0 0 15px;
	}
}



/*** ------------------------------------------------------------------------------ 

sec-vision

-----------------------------------------------------------------------------  ***/
#sec-vision{
	background: url("../img/vision-bg.png") no-repeat center bottom;
}
#sec-vision .inner_in{
	padding: 100px 20px 115px;
	background: url("../img/vision-img.png") no-repeat right center;
}
#sec-vision .box{
	width: 440px;
}
#sec-vision .box .headline .ja{
	font-size: clamp(3.2rem, 3.5vw, 4.0rem);
	line-height: 1.5;
}
#sec-vision .box .catch{
	margin: 30px 0;
	font-size: clamp(1.6rem, 2.0vw, 2.3rem);
	font-weight: 500;
	line-height: 1.5;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	color: #41261D;
	letter-spacing: 0.055vw;
}
#sec-vision .box .img{
	display: none;
}
#sec-vision .box .txt01{
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.05vw;
	margin: 0 0 40px;
	text-align: justify;
	text-justify: inter-ideograph;
}
#sec-vision .box .btn a{
	letter-spacing: 0.1vw;
}
@media (max-width:920px){
	#sec-vision{
		position: relative;
		background: none;
	}
	#sec-vision::after{
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		content: '';
		width: 100%;
		height: 60%;
		background: url("../img/vision-bg-sp.png") no-repeat center top / 100% auto;
	}
	#sec-vision .inner_in{
		padding: 60px 20px;
		background: none;
	}
	#sec-vision .box .catch{
		margin: 10px 0 -40px;
		position: relative;
	}
	#sec-vision .box{
		width: 100%;
	}
	#sec-vision .box .img{
		display: block;
		text-align: center;
	}
	#sec-vision .box .txt01{
		margin: 35px 0 0;
	}
	#sec-vision .box .btn{
		display: none;
	}
}



/*** ------------------------------------------------------------------------------ 

sec-business

-----------------------------------------------------------------------------  ***/
#sec-business{
	background: var(--main_color);
	padding: 125px 0 
}
#sec-business .fl-box{
	display: flex;
	align-items: center;
	margin: 0 0 60px;
}
#sec-business .fl-box .en{
	width: 380px;
	font-size: clamp(4.0rem, 5.5vw, 6.0rem);
	font-weight: normal;
	font-family:"Times New Roman", Times, "serif";
	color: #fff;
	letter-spacing: 0.35vw;
	line-height: 1.5;
}
#sec-business .fl-box .ja{
	width:calc(100% -  380px);
	font-size: clamp(1.8rem, 2.0vw, 2.0rem);
	font-weight: 600;
	font-family: "Zen Old Mincho", serif;
	color: #fff;
	letter-spacing: 0.2vw;
	line-height: 1.2;
}
#sec-business .list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#sec-business .list .list-item{
	width: calc(100% / 4 - 30px);
}
#sec-business .list .list-item .txt01{
	color: #fff;
	font-size: 1.4rem;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0.05vw;
	margin: 1.5em 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
}
@media (max-width:768px){
	#sec-business{
		padding: 70px 0;
		position: relative;
	}
	#sec-business .fl-box{
		display: block;
		margin: 0 0 10px;
	}
	#sec-business .fl-box .en{
		width: 100%;
	}
	#sec-business  .fl-box .ja{
		position: absolute;
		left: 28px;
		top: 140px;
		width: 40px;
	    writing-mode: vertical-rl;
        text-orientation: upright;
		line-height: 1.5;
		letter-spacing: 1.0vw;
	}
	#sec-business .list{
		display: block;
		padding: 0 0 0 60px;
	}
	#sec-business .list .list-item{
		width: 100%;
		margin: 0 0 40px;
	}
	#sec-business .list .list-item .img{
		text-align: center;
	}
}


#sec-business .box{
	background: #FCF6F1;
	margin: 80px 0 120px;
	padding: 80px 100px;
	border-radius: 180px;
}
#sec-business .box .headline{
	text-align: center;
	margin: 0 0 45px;
}
#sec-business .box .flow{
	display: flex;
	justify-content: center;
}
#sec-business .box .flow .flow-item{
	background: #fff;
	padding: 15px;
	border-radius: 10px;
	position: relative;
}
#sec-business .box .flow .flow-item:nth-child(1){
	width: 340px;
	margin: 0 20px 0 0;
}
#sec-business .box .flow .flow-item:nth-child(2){
	width: 177px;
	margin: 0 20px 0 0;
}
#sec-business .box .flow .flow-item:nth-child(3){
	width: 177px;
	margin: 0 20px 0 0;
}
#sec-business .box .flow .flow-item:nth-child(4){
	width: 177px;
	margin: 0 20px 0 0;
}
#sec-business .box .flow .flow-item:nth-child(5){
	width: 177px;
	margin: 0 20px 0 0;
}
#sec-business .box .flow .flow-item:nth-child(6){
	width: 74px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#sec-business .box .flow .flow-item:nth-child(6) img{
	width: 22px;
}
#sec-business .box .flow .flow-item::before{
	position: absolute;
	right: -30px;
	top: 50%;
	z-index: 2;
	content: '';
	transform: translateY(-50%);
	width:0;
	height:0;
	border-style:solid;
	border-width: 22px 0 22px 36px;
	border-color: transparent transparent transparent #2B8A3F;
}
#sec-business .box .flow .flow-item:last-child::before{
	content: none;
}
#sec-business .box .flow .flow-item .tit{
	display: none;
}
#sec-business .box .flow .flow-item .txt01{
	font-size: 1.2rem;
	line-height: 1.9;
	letter-spacing: 0.05vw;
}
#sec-business .box .msg{
	text-align: center;
	font-weight: 500;
	margin: 60px 0 30px;
	letter-spacing: 0.05vw;
}
#sec-business .box .btn a{
	margin: 0 auto;
	letter-spacing: 0.1vw;
}
@media (max-width:1200px){
	#sec-business .box{
		margin: 80px 0 105px;
		padding: 60px 20px 80px;
		border-radius: 70px;
	}
}
@media (max-width:1000px){
	#sec-business .box{
		margin: 80px 0 105px;
		border-radius: 60px;
	}
}
@media (max-width:850px){
	#sec-business .box .flow{
		display: block;
	}
	#sec-business .box .flow .flow-item{
		padding: 15px 10px;
		display: flex;
		align-items: center;
	}
	#sec-business .box .flow .flow-item:nth-child(1){
		width: 100%;
		margin: 0 0 25px;
		display: block;
	}
	#sec-business .box .flow .flow-item:nth-child(2){
		width: 100%;
		margin: 0 0 25px;
	}
	#sec-business .box .flow .flow-item:nth-child(3){
		width: 100%;
		margin: 0 0 25px;
	}
	#sec-business .box .flow .flow-item:nth-child(4){
		width: 100%;
		margin: 0 0 25px;
	}
	#sec-business .box .flow .flow-item:nth-child(5){
		width: 100%;
		margin: 0 0 25px;
	}
	#sec-business .box .flow .flow-item:nth-child(6){
		width: 100%;
		margin: 0;
		display: block;
		text-align: center;
	}
	#sec-business .box .flow .flow-item:nth-child(6) .img{
		display: none;
	}
	#sec-business .box .flow .flow-item:nth-child(6) .text{
		width: 100%;
	}
	#sec-business .box .flow .flow-item::before{
		position: absolute;
		right: inherit;
		left: 50%;
		top: inherit;
		bottom: 0;
		z-index: 2;
		content: '';
		transform: translate(-50%, 70%);
		width:0;
		height:0;
		border-style:solid;
		border-width: 30px 22px 0 22px;
		border-color: #2B8A3F transparent transparent transparent;
	}
	#sec-business .box .flow .flow-item .img{
		width: 150px;
	}
	#sec-business .box .flow .flow-item:nth-child(1) .img{
		width: 100%;
		margin: 0 0 15px;
	}
	#sec-business .box .flow .flow-item .text{
		width: calc(100% - 150px);
		padding: 0 5px 0 20px;
		box-sizing: border-box;
	}
	#sec-business .box .flow .flow-item:nth-child(1) .text{
		width: 100%;
		padding: 0 0 10px;
	}
	#sec-business .box .flow .flow-item .tit{
		display: block;
		font-size: 1.8rem;
		font-weight: 600;
	}
	#sec-business .box .flow .flow-item:nth-child(1) .text .tit{
		text-align: center;
		margin: 0 0 15px;
	}
	#sec-business .box .flow .flow-item:nth-child(1) .text .tit span{
		margin: 0 30px 0 25px;
		display: inline-block;
	}
	#sec-business .box .msg{
		margin: 35px 0;
		font-size: 1.8rem;
		font-weight: 600;
		line-height: 1.5;
	}
}

#sec-business  h3{
	text-align: center;
	font-size: clamp(2.8rem, 3.0vw, 3.2rem);
	font-family: "Zen Old Mincho", serif;
	color: #fff;
	margin: 0 0 45px;
	line-height: 1.75;
}
#sec-business .point{
	display: flex;
	justify-content: space-between;
	padding: 0 50px;
}
#sec-business .point .point-item{
	width: calc(100% / 2 - 80px);
}
#sec-business .point .point-item .tit{
	font-size: clamp(2.0rem, 2.5vw, 2.6rem);
	font-family: "Zen Old Mincho", serif;
	color: #fff;
	letter-spacing: 0.05vw;
	position: relative;
	padding: 5px 0 10px 75px;
}
#sec-business .point .point-item .tit::before{
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	width: 61px;
	height: 61px;
}
#sec-business .point .point-item:nth-child(1) .tit::before{
	background: url("../img/point01.svg") no-repeat center center / 61px auto;
}
#sec-business .point .point-item:nth-child(2) .tit::before{
	background: url("../img/point02.svg") no-repeat center center / 61px auto;
}
#sec-business .point .point-item .img{
	text-align: center;
}
#sec-business .point .point-item .text p{
	color: #fff;
	margin: 0 0 1.0em;
	font-weight: 300;
}
#sec-business .point .point-item .text p:last-of-type{
	margin: 0;
}

@media (max-width:1000px){
	#sec-business .point .point-item{
		width: calc(100% / 2 - 40px);
	}
}
@media (max-width:900px){
	#sec-business .point .point-item{
		width: calc(100% / 2 - 20px);
	}
}
@media (max-width:768px){
	#sec-business .point{
		display: block;
		padding: 0;
	}
	#sec-business .point .point-item{
		width: 100%;
		margin: 0 0 70px;
	}
	#sec-business .point .point-item:last-child{
		margin: 0;
	}
	#sec-business .point .point-item .tit{
		font-size: 2.6rem;
		padding: 5px 0 10px 75px;
	}
}


/*** ------------------------------------------------------------------------------ 

sec-message

-----------------------------------------------------------------------------  ***/
#sec-message {
	padding: 160px 0 120px;
}
#sec-message .fl-box{
	display: flex;
}
#sec-message .fl-box .img-box{
	width: 348px;
}
#sec-message .fl-box .img-box .img img{
	border-radius: 20px;
}
#sec-message .fl-box .img-box .txt02{
	text-align: right;
	font-size: clamp(1.6rem, 1.75vw, 1.8rem);
	font-weight: 600;
	margin: 1.0em 0 0;
}
#sec-message .fl-box .text{
	width: calc(100% - 348px);
	padding: 0 8% 0 0;
}
#sec-message .fl-box .text .en{
	font-size: clamp(5.0rem, 5.5vw, 6.0rem);
	font-weight: bold;
	color: var(--main_color);
	letter-spacing: 0.2vw;
	line-height: 1.5;
	margin: 0 0 15px;
}

#sec-message .fl-box .text .catch{
	font-size: clamp(2.0rem, 2.25vw, 2.4rem);
	font-weight: 900;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.1vw;
	line-height: 1.5;
	margin: 0 0 30px;
}
#sec-message .fl-box .text .txt01{
	margin: 0 0 1.0em;
	font-size: 1.4rem;
	line-height: 1.5;
}
@media (max-width:768px){
	#sec-message {
		padding: 60px 0 60px;
	}
	#sec-message .fl-box{
		display: block;
	}
	#sec-message .fl-box .img-box{
		width: 100%;
	}
	#sec-message .fl-box .img-box .txt02{
		text-align: left;
		font-size: 2.0rem;
	}
	#sec-message .fl-box .text{
		width: 100%;
		padding: 0;
		margin: 0 0 70px;
	}
}


/*** ------------------------------------------------------------------------------ 

sec-philosophy

-----------------------------------------------------------------------------  ***/
#sec-philosophy{
	padding: 0;
}
#sec-philosophy .fl-box{
	background: var(--color_beige);
	padding: 100px;
	border-radius: 70px;
	display: flex;
}
#sec-philosophy .fl-box .box01{
	width: 435px;
}
#sec-philosophy .fl-box .box01 .en{
	font-size: clamp(5.0rem, 5.5vw, 6.0rem);
	font-weight: bold;
	color: var(--main_color);
	letter-spacing: 0.2vw;
	line-height: 1.5;
	margin: 0 0 15px;
}
#sec-philosophy .fl-box .box01 .catch{
	font-size: clamp(2.0rem, 2.25vw, 2.4rem);
	font-weight: bold;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.1vw;
	line-height: 1.7;
	margin: 0;
}
#sec-philosophy .fl-box .box02{
	width: calc(100% - 435px);
}
#sec-philosophy .fl-box .box02 ul li{
	border-bottom: 1px solid #C8B6A7;
	padding: 17px 0;
	font-size: 1.4rem;
}
#sec-philosophy .fl-box .box02 ul li span{
	color: var(--main_color);
	margin: 0 10px 0 0;
}
@media (max-width:768px){
	#sec-philosophy .fl-box{
		padding: 60px 30px 80px;
		border-radius: 30px;
		display: block;
	}
	#sec-philosophy .fl-box .box01{
		width: 100%;
	}
	#sec-philosophy .fl-box .box01 .catch{
		margin: 0 0 20px;
	}
	#sec-philosophy .fl-box .box02{
		width: 100%;
	}
	#sec-philosophy .fl-box .box02 ul li span{
		font-size: 1.5rem;
		display: block;
		margin: 0 0 5px;
	}
}


/*** ------------------------------------------------------------------------------ 

sec-company

-----------------------------------------------------------------------------  ***/
#sec-company{
	padding: 110px 0;
}
#sec-company .headline{
	text-align: center;
	margin: 0 0 80px;
}
#sec-company .headline .en{
	font-size: clamp(1.8rem, 2.25vw,  2.4rem);
	margin: 0 0 10px
}
#sec-company .headline .ja{
	font-size: clamp(2.5rem, 3.25vw,  3.5rem);
	font-weight: bold;
	font-family: "Zen Old Mincho", serif;;
	color: #000;
}
#sec-company table{
	width: 100%;
	border-spacing: 0;
}
#sec-company table tr th{
	width: 243px;
	font-size: 1.8rem;
	color: var(--main_color);
	border-bottom: 1px solid #C8B6A7;
	padding: 30px 15px 30px 30px;
	box-sizing: border-box;
	vertical-align: top;
}
#sec-company table tr td{
	width: clamp(100% - 243px);
	font-size: 1.8rem;
	border-bottom: 1px solid #C8B6A7;
	padding: 30px 15px 30px 0;
	box-sizing: border-box;
}
#sec-company table tr:last-of-type th,
#sec-company table tr:last-of-type td{
	border-bottom: none;
}
#sec-company table tr td .fl-box{
	display: flex;
}
#sec-company table tr td .fl-box .box01{
	width: 180px;
}
#sec-company table tr td .fl-box .box02{
	width: 133px;
}
#sec-company .googlemap{
	margin: 40px 0 0;
}
@media (max-width:768px){
	#sec-company{
		padding: 70px 0;
	}
	#sec-company .headline{
		text-align: center;
		margin: 0 0 30px;
	}
	#sec-company table{
		width: 100%;
		border-spacing: 0;
	}
	#sec-company table tr th{
		float: left;
		width: 100%;
		border-bottom: none;
		padding: 20px 0 0px 0;
	}
	#sec-company table tr td{
		float: left;
		width: 100%;
		padding: 5px 0 20px;
	}
	#sec-company table tr td .fl-box .box01{
		width: 140px;
	}
	.googlemap {
		position: relative;
		width: 100%;
		height: 0;
		padding-top: 75%;
	}
	.googlemap iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}



/*** ------------------------------------------------------------------------------ 

sec-contact

-----------------------------------------------------------------------------  ***/
#sec-contact{
	background: var(--color_beige);
	padding: 125px 0 115px;
	line-height: 1.5;
	font-size: 1.4rem;
}
#sec-contact .headline{
	text-align: center;
	margin: 0 0 70px;
}
#sec-contact .headline .en{
	font-size: 2.4rem;
	margin: 0 0 10px
}
#sec-contact .headline .ja{
	font-size: clamp(2.2rem, 3.25vw,  3.5rem);
	font-weight: bold;
	font-family: "Zen Old Mincho", serif;
	color: #000;
}
#sec-contact .tel-box{
	max-width: 904px;
	margin: 0 auto 100px;
	padding: 30px 10px 40px;
	background: #fff;
	text-align: center;
}
#sec-contact .tel-box .tit{
	font-size: clamp(1.4rem, 2.0vw,  2.0rem);
	font-weight: bold;
	margin: 0 0 1.0em;
	line-height: 1.0;
}
#sec-contact .tel-box .number{
	line-height: 1.0;
	margin: 0 0 1.25em;
}
#sec-contact .tel-box .number a{
	font-size: 4.5rem;
	font-weight: bold;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	color: #009821;
	line-height: 1.0;
	letter-spacing: 0.1vw;
}
@media (min-width:769px){
	#sec-contact .tel-box .number a{
		pointer-events: none;
	}
}
#sec-contact .tel-box .txt-s{
	font-size: clamp(1.3rem, 2.0vw,  1.9rem);
	margin: 0;
}
#sec-contact table{
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
}
#sec-contact table tr th{
	width: 270px;
	font-size: 1.7rem;
	padding: 45px 20px 24px;
	vertical-align: top;
}
#sec-contact table tr th .req{
	color: var(--main_color);
}
#sec-contact table tr td{
	width: calc(100% - 270px);
	padding: 24px 0;
	font-size: 1.7rem;
	vertical-align: top;
}
#sec-contact table tr td input[type=text],
#sec-contact table tr td input[type=tel],
#sec-contact table tr td input[type=email]{
	width: 100%;
	outline: none;
	border: none;
	padding: 20px 25px;
	font-size: 1.7rem;
	border-radius: 4px;
	box-shadow: none;
}
#sec-contact table tr td input[type=text]:focus,
#sec-contact table tr td input[type=tel]:focus,
#sec-contact table tr td input[type=email]:focus{
	background: #f0f0f0;
}
#sec-contact table tr td input:-webkit-autofill {
    box-shadow: 0 0 0 1000px white inset;
}
#sec-contact ::placeholder {
  color: rgba(0,0,0,0.3);
}
#sec-contact table tr td textarea{
	width: 100% !important;
	height: 324px !important;
	outline: none;
	border: none;
	padding: 20px 25px;
	font-size: 1.7rem;
	border-radius: 4px;
	box-shadow: none;
	box-sizing: border-box;
}
#sec-contact table tr td textarea:focus{
	background: #f0f0f0;
}
#sec-contact table tr td .radio-box{
	padding: 20px 0 25px;
}
#sec-contact form#mailformpro label.mfp_not_checked{
	border: none;
	padding: 0;
}
#sec-contact table tr td .radio-box label{
	margin: 0 20px 0 0;
}
#sec-contact form#mailformpro label.mfp_checked{
	padding: 0;
	border: none;
	background: none;
	box-shadow: none;
}
#sec-contact .note{
	font-size: 1.4rem;
	text-align: center;
	line-height: 2.3;
	margin: 75px 0 0;
}
#sec-contact .privacy-box{
	max-width: 1160px;
	margin: 80px auto 60px;
	padding: 35px 45px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 8px;
}
#sec-contact .privacy-box .tit{
	text-align: center;
	font-size: 2.0rem;
	font-weight: 500;
	color: var(--main_color);
	margin: 0 0 1.0em;
}
#sec-contact .privacy-box dl{
	height: 167px;
	overflow-y: scroll;
	margin: 0;
	padding: 10px 20px 10px 0;
}
#sec-contact .privacy-box dl dt{
	width: auto;
	font-size: 1.4rem;
	font-weight: bold;
	margin: 0 0 5px;
	text-align: left;
	float: none;
	padding: 0;
	border-top: none;
}
#sec-contact .privacy-box dl dd{
	width: auto;
	font-size: 1.4rem;
	margin: 0 0 1.75em;
	padding: 0;
	line-height: 1.9;
	border-top: none;
}
#sec-contact .privacy-box dl dd:last-of-type{
	margin: 0;
}
#sec-contact .agree{
	text-align: center;
	font-size: 1.7rem;
	margin: 0 0 60px;
}
#sec-contact .btn-area{
	display: flex;
	justify-content: center;
}
#sec-contact .btn-area button{
	border: 1px solid var(--main_color);
	background: var(--main_color);
	color: #fff;
	max-width: 300px;
	width: 100%;
	padding: 20px 25px;
	margin: 0 10px 10px;
	font-size: 1.8rem;
	border-radius: 40px;
	cursor: pointer;
	transition: 0.3s;
	text-shadow: none;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}
@media (min-width:769px){
	#sec-contact .btn-area button:hover{
		background: #fff;
		color: var(--main_color);
	}	
}
@media (max-width:768px){
	#sec-contact{
		padding: 60px 0 75px;
	}
	#sec-contact .headline{
		margin: 0 0 35px;
	}
	#sec-contact .headline .en{
		margin: 0 0 35px;
	}
	#sec-contact .tel-box{
		margin: 0 auto 40px;
		padding: 30px 5px;
	}
	#sec-contact .tel-box .number a{
		font-size: 3.4rem;
		text-decoration: none;
	}
	#sec-contact table tr th{
		float: left;
		width: 100%;
		padding: 15px 0 0;
	}
	#sec-contact table tr td{
		float: left;
		width: 100%;
		padding: 5px 0 15px;
	}
	#sec-contact .note{
		margin: 30px 0 0;
		text-align: left;
	}
	#sec-contact .privacy-box{
		max-width: 1160px;
		margin: 50px auto;
		padding: 40px 20px;
	}
	#sec-contact .privacy-box dl{
		height: 290px;
		padding: 0 10px 0 0;
	}
	#sec-contact .agree{
		margin: 0 0 50px;
	}
	#sec-contact .mfp_element_all{
		max-width: 100%;
	}
}

/* 確認画面 */
#sec-contact #mfp_phase_confirm h4{
	font-size: clamp(2.4rem, 3.25vw, 3.5rem);
	font-weight: bold;
	font-family: "Zen Old Mincho", serif;
	margin: 0 0 1.0em;
}
#sec-contact #mfp_phase_confirm table{
	width: 100%;
	max-width: 1160px;
	margin: 0 auto 100px;
}
#sec-contact #mfp_phase_confirm table tr th{
	width: 270px;
	font-size: 1.7rem;
	padding: 25px 10px 25px 25px;
	border-bottom: 1px solid #C8B6A7;
	background: none;
}
#sec-contact #mfp_phase_confirm table tr td{
	width: calc(100% - 270px);
	padding: 25px 0;
	font-size: 1.7rem;
	border-bottom: 1px solid #C8B6A7;
	background: none;
}
#sec-contact table#mfp_confirm_table tr.mfp_achroma,
#sec-contact table#mfp_confirm_table tr.mfp_colored{
	background: none;
}
#sec-contact #mfp_phase_confirm #mfp_button_send{
	border: 1px solid var(--main_color);
	background: var(--main_color);
	color: #fff;
	max-width: 300px;
	width: 100%;
	padding: 20px 25px;
	margin: 0 10px 10px;
	font-size: 1.8rem;
	font-weight: bold;
	border-radius: 40px;
	cursor: pointer;
	transition: 0.3s;
	text-shadow: none;
}
#sec-contact #mfp_phase_confirm #mfp_button_cancel{
	border: 1px solid #888;
	background: #888;
	color: #fff;
	max-width: 300px;
	width: 100%;
	padding: 20px 25px;
	margin: 0 10px 10px;
	font-size: 1.8rem;
	font-weight: bold;
	border-radius: 40px;
	cursor: pointer;
	transition: 0.3s;
	text-shadow: none;
}
@media (min-width:769px){
	#sec-contact #mfp_phase_confirm #mfp_button_send:hover{
		background: #fff;
		color: var(--main_color);
	}
	#sec-contact #mfp_phase_confirm #mfp_button_cancel:hover{
		opacity: 0.6;
	}
}
@media (max-width:768px){
	#sec-contact #mfp_phase_confirm table{
		margin: 0 auto 50px;
	}
	#sec-contact #mfp_phase_confirm table tr th{
		float: left;
		width: 100%;
		padding: 15px 0 0;
		border-top: none;
		border-bottom: none;
	}
	#sec-contact #mfp_phase_confirm table tr td{
		float: left;
		width: 100%;
		border-top: none;
		padding: 5px 0 15px;
	}
	#sec-contact #mfp_phase_confirm #mfp_button_send{
		margin: 0 10px 20px;
	}
}


/* 完了画面 */
body.thanks #sec-contact h4{
	font-size: clamp(2.4rem, 3.25vw, 3.5rem);
	font-weight: bold;
	font-family: "Zen Old Mincho", serif;
	margin: 185px 0 1.0em;
	text-align: center;
}
body.thanks #sec-contact .thanks-msg{
	font-size: clamp(1.6rem, 2.0vw, 2.0rem);
	font-family: "Zen Old Mincho", serif;
	text-align: center;
	padding: 0 0 150px;
	line-height: 2.0;
}

@media (max-width:768px){
	body.thanks #sec-contact h4{
		margin: 90px 0 1.0em;
	}
	body.thanks #sec-contact .thanks-msg{
		text-align: left;
		padding: 0 0 75px;
	}
}
