@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.mv{
	position:relative;
	text-align:center;
}

.mv .btn{
	position:absolute;
	left:0;
	right:0;
	bottom:15%;
	width:80%;
	margin:0 auto;
}

.trouble{
	padding:60px 20px;
	background:url(../img/top/trouble-bg.jpg) no-repeat center center;
	background-size:cover;
}

.m-tit{
	text-align:center;
	font-size: clamp(10px, 5.5vw, 26px);
	font-weight:700;
	line-height:1.5;
	padding:0 0 25px 0;
	background:url(../img/common/tit-bg.png) no-repeat bottom center;
	background-size:contain;
}

.trouble ul{
	padding:20px 10px 30px 10px;
}

.trouble ul li{
	margin:0 0 20px 0;
	font-size: clamp(10px, 4vw, 18px);
	font-weight:600;
	line-height:1.4;
	padding:0 0 0 10%;
	background:url(../img/top/trouble-ico.png) no-repeat left 10%;
	background-size:6%;
}

.trouble ul li:last-child{
	margin:0;
}

.trouble .txt{
	padding:0 20px;
}

.attract{
	padding:60px 20px;
	background:url(../img/top/attract-bg.jpg) no-repeat center center;
	background-size:cover;
}

.attract h2{
	font-size: clamp(10px, 5vw, 24px);
	font-weight:600;
	text-align:center;
}

.attract h2 span{
	color:#DD0000;
	font-weight:700;
}

.m-txt{
	padding:20px 20px 0 20px;
	line-height:1.8;
	font-size: clamp(10px, 4vw, 18px);
	font-weight:500;
}

.m-txt span{
	font-weight:700;
}

.red{
	color:#DD0000;
}

.insourcing{
	padding:60px 20px;
	background:url(../img/top/insourcing-bg.jpg) no-repeat top center;
	background-size:cover;
}

.insourcing .box-in{
	margin:30px 0 0 0;
}

.insourcing .box-in h3{
	font-size: clamp(10px, 5vw, 24px);
	border-radius: 10px 10px 0px 0px;
	padding:20px 10px;
	font-weight:700;
	text-align:center;
	color:#fff;
	background: linear-gradient(#44c1d8 0%, #267482 100%);
}

.insourcing .box-in .txt-box{
	padding:0 20px 20px 20px;
	background:#FFED8D;
	border-radius:0 0 10px 10px;
	position:relative;
}

.insourcing .box-in .txt-box .arrow{
	position:absolute;
	bottom:-25px;
	left:0;
	right:0;
	width:53px;
	margin:0 auto;
}

.insourcing .box-in .txt-box ul li{
	padding:20px 0;
	border-bottom:2px dotted #267482;
}

.insourcing .box-in .txt-box ul li:last-child{
	border-bottom:none;
}

.insourcing .box-in .txt-box ul li dl dt{
	width:110px;
	margin:0 auto;
	position:relative;
	text-align:center;
	border-radius:4px;
	color:#fff;
	font-weight:600;
	background:#666666;
	line-height:1.6;
	font-size: clamp(10px, 4vw, 17px);
	padding:2px 0 3px 0;
}

.insourcing .box-in .txt-box ul li dl:nth-child(2) dt{
	background:#F25A03;
}

.insourcing .box-in .txt-box ul li dl dt:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #666666 transparent transparent;
	translate: -50% 100%;
}

.insourcing .box-in .txt-box ul li dl:nth-child(2) dt:after {
	border-color: #F25A03 transparent transparent;
}

.insourcing .box-in .txt-box ul li dl dd{
	line-height:1.8;
	padding:10px 0;
	font-size: clamp(10px, 4vw, 17px);
}

.insourcing .box-in .txt-box ul li dl:nth-child(2) dd{
	font-weight:700;
}

.insourcing .box-in .txt-box ul li dl:nth-child(2) dd span{
	color:#DD0000;
}

.insourcing .txt{
	font-size: clamp(10px, 5vw, 20px);
	line-height:1.7;
	font-weight:700;
	padding:30px 10px 0 10px;
}

.country{
	padding:60px 20px;
	background:url(../img/top/country-bg.jpg) no-repeat top center;
	background-size:cover;
}

.country .box-in{
	border-radius:10px;
	border:4px solid #D4AF37;
	padding:20px;
	background:rgba(255,255,255,0.8);
	text-align:center;
	margin:20px 0;
}

.country .box-in h3{
	font-size: clamp(10px, 5vw, 20px);
	line-height:1.7;
	font-weight:700;
}

.country .box-in dl{
	padding:10px 0 0 0;
}

.country .box-in dl dt{
	width:11%;
	margin:0 auto 5px;
}

.country .box-in dl dd{
	font-size: clamp(10px, 5vw, 24px);
	line-height:1.4;
	font-weight:700;
}

.country .txt{
	font-size: clamp(10px, 5vw, 24px);
	line-height:1.4;
	font-weight:700;
	color:#DD0000;
	padding:0 30px;
}

.chance{
	padding:60px 20px;
	background:#F2F2F2;
	position:relative;
	text-align:center;
}

.chance:after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background:url(../img/top/chance-bg.png) no-repeat top center;
	background-size:cover;
	z-index:1;
}

.chance h2{
	position:relative;
	z-index:2;
}

.chance ul{
	border-radius:10px;
	border:4px solid #D6938D;
	padding:20px 30px;
	margin:20px 0;
	text-align:left;
}

.chance ul li{
	position:relative;
	z-index:2;
	padding:0 0 0 8%;
	font-size: clamp(10px, 4.5vw, 21px);
	font-weight:700;
	margin:5px 0;
}

.chance ul li span{
	width: 5%;
	position:absolute;
	left:0;
	top:20%;
	display:block;
}

.chance ul li span:after{
	content:"";
	display:block;
	width: 100%;
	padding-top: 100%;
	border-radius:50%;
	background: linear-gradient(#d4af37 0%, #d00 100%);
}

.chance .txt{
	font-size: clamp(10px, 5vw, 24px);
	line-height:1.4;
	font-weight:700;
	text-align:left;
	display:inline-block;
	position:relative;
	z-index:2;
	color:#DD0000;
}

.salon{
	padding:60px 20px;
	background:#F9F9F9;
	position:relative;
}

.salon:after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:0;
	height: 120px;
	background:url(../img/top/salon-bg.png) no-repeat top center;
	background-size:contain;
}

.salon h2{
	position:relative;
	z-index:2;
}

.m-tit02{
    padding: 8% 0 25px 0;
    background: url(../img/common/tit-bg.png) no-repeat bottom center,url(../img/common/tit-ico.png) no-repeat top center;
    background-size: contain,25%;
	color:#7C652C;
}

.salon .img{
	padding:20px 0 0 0;
}

.web{
	background:#F9F9F9;
	padding:0 20px;
}

.web .txt{
	font-size: clamp(10px, 4vw, 18px);
	line-height:1.4;
	font-weight:700;
	padding:20px 0;
	text-align:center;
}

.web .txt span{
	font-size: clamp(10px, 5vw, 24px);
	color:#DD0000;
}

.web .txt02{
	font-size: clamp(10px, 5vw, 20px);
	line-height:1.5;
	font-weight:700;
	padding:20px 0 0 0;
	color:#DD0000;
}

.marketing{
	padding:60px 20px 0 20px;
	background:url(../img/top/marketing-bg.jpg) no-repeat 0 40% #F9F9F9;
	background-size:100%;
	position:relative;
}

.marketing .txt{
	font-size: clamp(10px, 5vw, 20px);
	line-height:1.6;
	font-weight:700;
	padding:20px;
}

/* CONTACT
-------------------------------------------------------------------*/
.contact{
	padding:0 20px 60px 20px;
	background:#F9F9F9;
}

.contact h2{
	text-align:center;
	padding:0 0 5px 0;
	font-size: clamp(10px, 6vw, 26px);
	color:#267482;
	border-bottom:4px solid #D4AF37;
	line-height:1.6;
	font-weight:700;
	margin:0 15px;
}

.contact h3{
	text-align:center;
	padding:20px 0;
	font-size: clamp(10px, 5vw, 24px);
	line-height:1.4;
	font-weight:700;
}

.form dl{
	padding:0 0 15px 0;
}

.form dl dt{
	font-size: clamp(14px, 4vw, 18px);
	line-height:1.4;
	font-weight:600;
	display:inline-block;
	position:relative;
	margin:0 0 10px 0;
}

.form dl dt:before{
	content:"■";
	color:#D4AF37;
	padding:0 5px 0 0;
}

.form dl dt.hissu:after{
	content:"必須";
	font-size:12px;
	position:absolute;
	right:-50px;
    top: 50%;
    transform: translateY(-50%);
	background:#FEF0F0;
	padding:3px 5px;
	font-weight:400;
	color:#DD0000;
}

.form input, .form textarea {
	width: 100%;
	font-size: 16px;
	line-height: 1.6;
	padding: 15px;
	font-family: "Shippori Mincho B1", serif;
	background: #fff;
	box-sizing:border-box;
	border: 1px solid #D4AF37;
	border-radius:5px;
}

.form ::placeholder {
	color: #BBB7AC !important;
	font-size:13px;
}

.form textarea{
	height:120px;
}

.contact .privacy {
    margin: 20px 10px 40px 10px;
	height:270px;
    box-sizing: border-box;
    padding: 20px 30px;
    overflow: auto;
    font-size: 12px;
	font-weight:400;
    border: 1px solid #D6D6D6;
    border-radius: 1px;
}

.contact .privacy h3 {
    font-weight: 500;
    line-height: 1.6;
    font-size: 13px;
	padding:0 0 10px 0;
	text-align:center;
}

.contact .privacy p{
	padding:0 0 10px 0;
}

.check{
	text-align:center;
	padding:0 0 40px 0;
}

.check .wpcf7-list-item-label {
	position: relative;
	cursor: pointer;
}

.check input[type=checkbox] {
	display: none;
}

.check input[type=checkbox] + span {
	display: inline-block;
	position: relative;
	padding:0 0 0 28px;
	font-size: 14px;
	line-height: 1.4;
	cursor: pointer;
}

.check input[type=checkbox] + span::before {
	content: "";
	position: absolute;
	width: 18px;
	aspect-ratio: 1/1;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
	margin:0 auto;
	background: #fff;
	border-radius:3px;
	border: 1px solid #D4AF37;
}

.check input[type=checkbox] + span::after {
	content: "";
	position: absolute;
	width: 10px;
	aspect-ratio: 1/1;
    top: 50%;
    transform: translateY(-50%);
	left: 4px;
	background: url(../img/common/check-solid.svg) no-repeat center center;
	background-size: contain;
	opacity: 0;
	transition: 0.3s;
}

.check input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.conbtn input[type=submit] ,
.m-btn a{
	line-height: 90px;
	height: 90px;
	border-radius: 57.5px;
	background: linear-gradient(#ff8c00 0%, #e07b00 100%);
	box-shadow: 0px 4px 0px #b36200;	
	width: 100%;
	color: #fff;
	font-size: clamp(10px, 5vw, 24px);
	font-weight: 700;
	display: block;
	position: relative;
	font-family: "Shippori Mincho B1", serif;
	border: none;
	cursor: pointer;
	margin:0 auto;
	width:90%;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
    padding: 5px 0 0 0;
    font-weight: 600;
}

/* THANKS/404
-------------------------------------------------------------------*/
.thanks_area{
	padding:80px 20px 140px 20px;
	text-align:center;
	background:#fff;
}

.thanks_area h1{
	font-size: clamp(10px, 5vw, 24px);
	line-height:1.6;
	padding:30px 0;
	border-bottom:1px solid #E8EBEC;
	margin:0 auto;
	font-weight:600;
}

.thanks_area .txt{
	font-size: clamp(10px, 3vw, 16px);
	line-height:2em;
	padding:50px 0;
	font-weight:500;
}

.thanks_area .m-btn{
	padding:0 0 20px 0;
}

.thanks_area .m-btn.col01 a{
	background:#0CD408;
	box-shadow: 0px 4px 0px #059202;
}