@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.btn a{
	display:block;
}

.img{
	line-height:0;
}

.mv{
	margin-top:-2%;
	position:relative;
	z-index:2;
}


.worries{
	padding:0 10px;
}

.worries h2{
	margin:-7% 0 0 0;
	line-height:0;
}

.worries h3{
	font-size: clamp(12px, 4.5vw, 22px);
	text-align:center;
	color:#fff;
	padding:10px 0 0 0;
}

.free{
	padding:0 10px;
	position:relative;
}

.free .link-box{
	position:absolute;
	text-align:center;
	left:0;
	right:0;
	top:52%;
	font-size: clamp(8px, 3.3vw, 16px);
}

.free .link-box p{
	position:relative;
	display:inline-block;
	font-size: clamp(8px, 3vw, 14px);
}

.free .link-box p:after{
	content:"→";
	position:absolute;
	right:-10%;
	top:0;
	transform: rotate(-45deg);
}

.free .link-box p a{
	color:#2D6ADD;
}

.free .img{
	margin:-15% auto 0;
	width:75%;
	box-shadow: 0px 6px 8px rgba(38, 116, 130, 0.64);
	border-radius: 4px 4px 0px 0px;
}

.case{
	padding:20px 20px 30px 20px;
	background:#7C652C;
	text-align:center;
	position:relative;
	z-index:2;
	color:#fff;
}

.case h2{
	padding:0 20px;
}

.case h3{
	font-size: clamp(12px, 4.1vw, 20px);
	position:relative;
	z-index:2;
}

.case h3 span{
	color:#F8FF4B;
}

.case .txt{
	margin:-18% 0;
}

.case .txt02{
	font-size: clamp(8px, 3.5vw, 16px);
	padding:0 0 10px 0;
}

.case .txt03{
	font-size: clamp(8px, 4vw, 19px);
	color:#F8FF4B;
}

.plan{
	text-align:center;
}

.plan h2{
	line-height:0;
}

.plan .box{
	padding:0 20px;
}

.plan .box .kome{
	font-size: clamp(5px, 2.5vw, 12px);
	padding:10px 0;
}

.plan .box-in{
	margin:0 0 10px 0;
}

.plan .box-in h3{
	margin:0 auto -12%;
	width:20%;
}

.plan .box-in h4{
	font-size: clamp(12px, 5vw, 24px);
	border-radius: 10px 10px 0px 0px;
	background: linear-gradient(#f8ff4b 0%, #d8de47 100%);
	color:#2F9AAD;
	line-height:1.4;
	padding:6% 0;
}

.plan .box-in .txt-box{
	background:#fff;
	padding:10px 10px 20px 10px;
	position:relative;
}

.plan .box-in .txt-box:after{
	content:"";
	border-style: solid;
	border-right: 13px solid transparent;
	border-left: 13px solid transparent;
	border-top: 13px solid #ffffff;
	border-bottom: 0;
	position:absolute;
	width:26px;
	left:0;
	right:0;
	margin:0 auto;
	bottom:-13px;
	z-index:2;
}

.plan .box-in .txt-box h5{
	font-size: clamp(8px, 3.5vw, 16px);
	line-height:1.6;
	color:#fff;
	display:inline-block;
	padding:0 20px;
	background:#43BFD6;
	border-radius:12px;
}

.plan .box-in .txt-box p{
	padding:5px 0 10px 0;
	font-size: clamp(8px, 3.5vw, 16px);
	color:#34220A;
}

.plan .box-in .txt-box p span{
	font-size: clamp(8px, 2.5vw, 13px);
}

.plan .box-in .txt-box02{
	padding:10px 20px 20px 20px;
	background:#AA724F;
	box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3);
	border-radius:0 0 10px 10px;
}

.plan .box-in .txt-box02 h6{
	font-size: clamp(12px, 4.1vw, 20px);
	color:#F8FF4B;
	padding:10px 0 5px 0;
}

.plan .box-in .txt-box02 p{
	font-size: clamp(8px, 3.5vw, 16px);
	color:#fff;
}

.why h2{
	line-height:0;
}

.possible{
	padding:30px 20px 20px 20px;
	text-align:center;
}

.possible .box{
	border-radius: 0px 60px;
	background: #f9f9f9;
	box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3);
	padding:50px 0;
}

.possible .box .txt{
	font-size: clamp(12px, 4.1vw, 20px);
	line-height:2;
}

.possible .box .txt span{
	color:#7C652C;
}

.possible .box .txt em{
	color:#DD0000;
}

.possible .box .txt02{
	font-size: clamp(12px, 3.9vw, 19px);
	line-height:2;
	color:#DD0000;
}

.possible .circle{
	margin:-12% auto 0;
	width:69%;
}

.possible .b-txt{
	line-height:0;
	margin:0 -20px;
}

.about{
	padding:20px 20px 30px 20px;
	background:#2F9AAD;
	position:relative;
	z-index:2;
}

.about .box{
	background:#206B77;
	padding:0 15px 15px 15px;
}

.about .box h2{
	color:#fff;
	font-size: clamp(12px, 4.1vw, 20px);
	margin:0 -15px;
	background:#267482;
	padding:30px 0;
	text-align:center;
}

.about .box-in{
	background:#fff;
	padding:30px 30px 40px 30px;
	color:#267482;
}

.about .box-in p{
	font-size: clamp(8px, 3.3vw, 17px);
	line-height:2;
}

.about .box-in .col01{
	color:#7C652C;
}

.about .box-in .col02{
	color:#DD0000;
}

.about .box-in .col03{
	color:#4376D6;
}

.about .box-in .txt02{
	font-size: clamp(8px, 4.3vw, 22px);
	line-height:1.6;
}


/* CONTACT
-------------------------------------------------------------------*/
.contact{
	background:#2F9AAD;
	margin:-15% 0 0 0;
}

.contact .ico{
	width:25%;
	margin:0 auto -12%;
	position:relative;
	z-index:2;
}

.contact .tit-box{
	position:relative;
	background:#267482;
	border-radius:40px 40px 0 0;
	padding:60px 20px 40px 20px
}

.contact .tit-box h2{
	font-size: clamp(8px, 5.5vw, 28px);
	color:#F8FF4B;
	text-align:center;
	padding:0 0 10px 0;
}

.contact .tit-box .txt{
	color:#fff;
	font-size: clamp(12px, 4.1vw, 20px);
	padding:0 20px;
	line-height:1.8;
}

.contact .form-box{
	position:relative;
	background:#FFFBED;
	padding:60px 30px 40px 30px;
}

.contact .form-box .arrow{
	position:absolute;
	left:0;
	right:0;
	top:0;
	width:40%;
	margin:0 auto;
	line-height:0;
}

.contact .form-box h3{
	font-size: clamp(8px, 5.7vw, 30px);
	color:#267482;
	text-align:center;
	padding:0 0 30px 0;
}

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

.form dl dt{
	font-size: 16px;
	line-height:1.4;
	display:inline-block;
	position:relative;
	margin:0 0 10px 0;
}

.form dl dt:before{
	content:"■";
	color:#7C652C;
	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 Antique", sans-serif;
	background: #fff;
	box-sizing:border-box;
	border: 1px solid #267482;
	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;
    border: 1px solid #D6D6D6;
    border-radius: 1px;
	background:#F2F2F2;
}

.contact .privacy h4{
    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 #267482;
}

.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);
	display: block;
	position: relative;
	font-family: "Shippori Antique", sans-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;
}

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

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