@charset "UTF-8";


/*//////////////// 共通 //////////////////*/
main .container {
	max-width: 1140px;
}

main {
	letter-spacing: 0;
}

.text-black {
	color: #222;
}

.text-bold {
	font-weight: 700;
}

.line-height-1_6 {
	line-height: 1.65rem;
}

.mv-under {
	position: relative;
}

.mv-under .title {
    position: absolute;
    left: 0%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
	width: 100%;
	display: block;
	letter-spacing: 0.05rem;
}

.mv-under .title h1 {
	color: #222;
	font-family: 'Noto Sans JP', sans-serif;	
	font-size: 1.65rem;
	font-weight: 700;
	letter-spacing: 0;
	text-align: center;
	margin-bottom: 0.25rem;
}

.mv-under .title h2 {
	font-size: 1rem;
	margin-bottom: 0;
	text-align: center;
	color: #222;
	font-family: 'Lato', sans-serif;
	font-weight: 900;	
}

@media (min-width: 576px) {
	.mv-under .title h1 {
		font-size: 2.0rem;
		margin-bottom: 0.5rem;
	}
}

@media (min-width: 768px) {	
	.mv-under .title h1 {
		font-size: 2.4rem;
	}
}

@media (min-width: 992px) {
	.mv-under .title h1 {
		font-size: 2.6rem;
	}
}

@media (min-width: 1200px) {
	.mv-under .title h1 {
		font-size: 2.8rem;
	}
	
	.mv-under .title h2 {
		font-size: 1rem;
	}
}

@media (min-width: 1400px) {
	.mv-under .title h1 {
		font-size: 3.2rem;
	}
	
	.mv-under .title h2 {
		font-size: 1.1rem;
	}
}

main .sup {
	font-size: 0.85rem;
	line-height: 1.5em;
	letter-spacing: 0;
}


/*//////////////// セクション1 //////////////////*/
.sec1 {
	background-image: url("../images/commitment/support/img01_sp.jpg");
	background-repeat: no-repeat;
	background-size: 100%;
	padding-top: 0.5rem !important;
}

.sec1 .title {
	width: 100%;
	text-align: center;
}

.sec1 .icon1 {
	width: 55px;
	display: inline-block;
	margin-right: 5px;
	vertical-align: -1.2rem;
	margin-left: -6%;
}

.sec1 .title h1 {
	width: auto;
	display: inline;
	font-size: 1.35rem;
	text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
}

.sec1 .icon2 {
	width: 40%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.sec1 h2 {
	color: #0071ba;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.5em;
	text-align: justify;
}

.sec1 .box {
	border: 3px dashed #f05a24;
	border-radius: 16px;
	padding: 0.8rem;
}

.sec1 .box p {
	color: #f05a24;
	font-size: 1.1rem;
	font-weight: 700;
	text-align: center;
}

.sec1 .yajirushi {
	width: 50px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 576px) {	
	.sec1 .icon1 {
		margin-left: -8%;
	}
	
	.sec1 .icon2 {
		width: 35%;
	}
}

@media (min-width: 768px) {	
	.sec1 {
		background-image: url("../images/commitment/support/img01_pc.jpg");
		padding-bottom: 50px;
	}

	.sec1 .icon1 {
		width: 65px;
		margin-right: 10px;
		margin-left: -7%;
	}

	.sec1 .title h1 {
		font-size: 1.7rem;
	}

	.sec1 .icon2 {
		width: 180px;
	}
	
	.sec1 h2 {
		color: #0071ba;
		font-size: 1.4rem;
		line-height: 1.6em;
	}	

	.sec1 p {
		text-shadow:0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff;		
	}
	
	.sec1 .box {
		width: 400px !important;
		padding: 1.5rem;
	}	
}

@media (min-width: 992px) {	
	.sec1 {
		background-size: cover;
	}

	.sec1 .icon1 {
		width: 75px;
		margin-left: -7%;
	}

	.sec1 .title h1 {
		font-size: 1.8rem !important;
	}
	
	.sec1 h2 {
		font-size: 1.6rem;
	}	

	.sec1 .icon2 {
		width: 190px;
	}
}

@media (min-width: 1200px) {	
	.sec1 {
		padding-bottom: 70px;
	}

	.sec1 .title h1 {
		font-size: 2rem !important;
	}
	
	.sec1 .icon2 {
		width: 220px;
	}
}

@media (min-width: 1500px) {	
	.sec1 {
		padding-bottom: 80px;
	}
}


/*//////////////// セクション2 //////////////////*/
.sec2 {
	background-image: url("../images/commitment/support/img02_sp.jpg");
	background-repeat: no-repeat;
	background-size: 100%;
}

.sec2 .img03 {
	width: 25%;
	display: block;
	position: absolute;	
	top: -2rem;
	left:-7%;
}

.sec2 .heading1 {
	width: 80%;
	display: block;	
	position: absolute;
	left: 15%;
	top: 0;
}

.sec2 .title {
	height: 3.2rem;
	border-bottom: 4px solid #0071BA;
}

.sec2 .box {
	background-color: #fff;
	padding-top: 1.5rem;
}

.sec2 .box .title2 .img04 {
	position: absolute;
	left: -6%;
	bottom: 0;
	width: 37%;
}

.sec2 .box .title2 h2 {
	background-image: url("../images/commitment/support/heading_bg.svg");
	background-repeat: no-repeat;
	background-size: 100%;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	height: 5rem;
	padding-top: 1rem;
}

.sec2 .box .title2 h2 img {
	width: 1.7rem;
	display: inline-block;
	margin-right: 0.2rem;
	vertical-align: -0.2rem;	
}

.sec2 .box .img07 {
	position: absolute;
	width: 43%;
	bottom: -1rem;
	left: -14%;
}

@media (max-width: 767px) {
	.sec2 .box .support .free {
		position: relative;
		display: inline-block;
		padding: 0.75rem;
		width: 100%;
		background: #FFF;
		border: solid 3px #75A521;
		border-radius: 12px;
		box-sizing: border-box;
		box-shadow: 1.5px 1.5px 0px #75A521;
	}

	.sec2 .box .support .free:before {
		content: "";
		position: absolute;
		bottom: -24px;
		left: 50%;
		margin-left: -15px;
		border: 12px solid transparent;
		border-top: 12px solid #FFF;
		z-index: 2;
	}

	.sec2 .box .support .free:after {
		content: "";
		position: absolute;
		bottom: -30px;
		left: 50%;
		margin-left: -17px;
		border: 14px solid transparent;
		border-top: 14px solid #75A521;
		z-index: 1;
	}
	
	.sec2 .box .support .free h2 {
		text-align: center;
		font-size: 1.4rem;
		font-weight: 700;
	}
	
	.sec2 .box .support .free h2 span {
		font-size: 1.4em;
		color: #f05a24;
		font-weight: 900;
	}	
}

.sec2 .px-4_1 {
	padding-left: 2rem;
	padding-right: 2rem;
}

.sec2 .box .support h3 {
	background-color: #75a521;
	padding: 1rem;
	padding-top: 0.75rem;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 700;
	color: #fff;
}

.sec2 .box .support h3 span {
	font-family: 'Noto Serif JP', serif;
	font-size: 1.4em;
	font-weight: 900;
	color: #fffdae;
}

.sec2 .nofree h3 {
	font-size: 1.3rem;
	font-weight: 700;
	border-bottom: 1px solid #222;
	padding-bottom: 0.3rem;	
}

.sec2 .nofree .cont {
	font-weight: 500;
	font-size: 1.15rem;
	color: #222;
}

.list-1 {
	border: 2px solid #754c24;
	padding:1.5rem  1.25rem;
	position: relative;
}

.list-1 h4 {
	color: #754c24;
	position: absolute;
	top: -1rem;
	background-color: #fff;
	padding: 0 0.5rem;
	font-size: 1.3rem;
	font-weight: 700 !important;
	border-bottom: 0;
}

.list-1 p {
	line-height: 1.65em;
}

.list-1 ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.list-1 ul li {
	font-weight: 500;
	line-height: 1.6em;
	border-bottom: 1px dashed #ccc;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	padding-left: 1rem;
	text-indent: -1rem;
}

.list-1 ul li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

@media (min-width: 480px) {
	.sec2 .title {
		height: 3.8rem;
	}
	
	.sec2 .title2 {
		height: 6rem;
	}	
}	
	
@media (min-width: 576px) {
	.sec2 .img03 {
		width: 22%;
		top: -3rem;
		left:0;
	}

	.sec2 .heading1 {
		width: 70%;
		left: 20%;
	}

	.sec2 .title {
		height: 4.5rem;
		width: 520px;
		margin-left: auto;
		margin-right: auto;
	}

	.sec2 .box {
		padding-top: 1.75rem;
	}

	.sec2 .box .title2 {
		height: 8rem
	}

	.sec2 .box .title2 .img04 {
		left: 2%;
		width: 30%;
	}

	.sec2 .box .title2 h2 {
		background-size: 70%;
		background-position: center;
		font-size: 1.8rem;
		height: 7rem;
		padding-top: 2rem;
	}

	.sec2 .box .title2 h2 img {
		width: 2rem;
		margin-right: 0.4rem;
		vertical-align: -0.32rem;	
	}

	.sec2 .box .img07 {
		width: 180px;
		bottom: -1rem;
		left: -4%;
	}

	.sec2 .img05 {
		width: 90%;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	
	.sec2 .box .support h3 span {
		font-size: 1.5em;
	}

	.sec2 .nofree h3 {
		padding-bottom: 0.5rem;	
	}

	.list-1 {
		padding:2rem  1.75rem;
	}

	.list-1 h4 {
		top: -0.9rem;
	}

	.list-1 ul li {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
}

@media (min-width: 768px) {
	.sec2 {
		background-image: url("../images/commitment/support/img02_pc.jpg");
	}	
	.sec2 .img03 {
		left:-2%;
	}

	.sec2 .title {
		height: 5.5rem;
		width: 600px;
		margin-left: auto;
		margin-right: auto;
	}

	.sec2 .box {
		padding-top: 2rem;
	}

	.sec2 .box .title2 {
		width: 620px;
		height: 8.5rem;
		margin-left: auto;
		margin-right: auto;
	}

	.sec2 .box .img07 {
		width: 180px;
		bottom: -1.5rem;
		left: 0;
	}
	
	.sec2 .img05 {
		width: 560px;
	}	

	.sec2 .support {
		position: relative;
	}
	
	.sec2 .box .support h3 {
		background-color: #fff;
		padding: 1.5rem;
		text-align: left;
		padding-top: 1rem;
		font-size: 1.3rem;
	}	

	.sec2 .b1 {
		background-image: url("../images/commitment/support/heading_bg2.svg");
		background-repeat: no-repeat;
		background-size: 100%;
	}
	
	.sec2 .b2 {
		background-image: url("../images/commitment/support/heading_bg3.svg");
		background-repeat: no-repeat;
		background-size: 100%;
	}
	
	.sec2 .b3 {
		background-image: url("../images/commitment/support/heading_bg4.svg");
		background-repeat: no-repeat;
		background-size: 330px;
		background-position: bottom center;
		padding-top: 2.5rem !important;
	}	
	
	.sec2 .box .support h3 span {
		font-size: 1.5em;
	}

	.sec2 .box .support .free {
		position: absolute;
		left: 50%;
		top: 0%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		border-radius: 50%;
		background-color: #fff;		
		width: 210px;
		height: 210px;
		display: flex;
		align-items: center;
		box-shadow: 2px 2px 0 #75A521;
	}
	
	.sec2 .box .support .free h2 {
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.7em;
		width: 100%;
	}
	
	.sec2 .box .support .free h2 span {	
		font-size: 1.75em;
		font-weight: 900;
		color: #f05a24;
	}
	
	.sec2 .nofree h3 {
		font-size: 1.4rem;
	}

	.list-1 {
		padding:2.0rem;
	}

	.list-1 h4 {
		font-size: 1.4rem;
	}

	.list-1 ul li {
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}
}

@media (min-width: 992px) {
	.sec2 .title {
		height: 6rem;
		width: 700px;
	}

	.sec2 .box {
		padding: 2.4rem 2rem;
		padding-top: 3.5rem;
	}

	.sec2 .box .title2 {
		width: 700px;
		height: 9rem;
	}

	.sec2 .box .title2 .img04 {
		left: -4%;
		width: 35%;
	}
	
	.sec2 .box .title2 h2 {
		font-size: 2rem;
	}

	.sec2 .box .title2 h2 img {
		width: 2.2rem;
		margin-right: 0.5rem;	
	}	
	
	.sec2 .box .img07 {
		width: 220px;
		bottom: -5rem;
		left: -6%;
	}
	
	.sec2 .img05 {
		width: 100%;
	}
	
	.sec2 .box .support {
		max-width: 940px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.sec2 .box .support h3 {
		font-size: 1.4rem;
		padding-top: 1.4rem;
	}

	.sec2 .box .support .free {
		width: 260px;
		height: 260px;
		box-shadow: 3px 3px 0 #75A521;
		top: -1.5%;
	}
	
	.sec2 .box .support .free h2 {
		font-size: 1.6rem;
	}
	
	.sec2 .box .support .free h2 span {	
		font-size: 1.8em;
	}
	
	.sec2 .nofree h3 {
		font-size: 1.6rem;
	}
	
	.sec2 .nofree .cont {
		font-size: 1.1rem;
	}	

	.list-1 {
		padding:2.4rem;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}

	.list-1 h4 {
		font-size: 1.6rem;
		margin-top: -0.2rem;
	}

	.list-1 ul li {
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}
	
	.sec2 .wrap {
		max-width: 920px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.sec2 .b3 {
		padding-top: 3.2rem !important;
		background-size: 370px;
	}
}

@media (min-width: 1200px) {
	.sec2 .box .img07 {
		bottom: -3rem;
	}
	

	
}


/*//////////////// セクション3 //////////////////*/
.sec3 {
	background-color: #f0f0f0;
}

.sec3 .box {
	background-color: #fff;
	padding: 1.5rem 1.25rem;
}

.sec3 .box .title2 .img08 {
	position: absolute;
	left: -13%;
	bottom: 0;
	width: 39%;
}

.sec3 .box .title2 h2 {
	background-image: url("../images/commitment/support/heading_bg.svg");
	background-repeat: no-repeat;
	background-size: 100%;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	height: 5.5rem;
	padding-top: 1rem;
}

.sec3 .box .title2 h2 img {
	width: 1.7rem;
	display: inline-block;
	margin-right: 0.2rem;
	vertical-align: -0.2rem;	
}

.sec3 .read {
	background-color: #f2f2f2;
	padding: 1.25rem 1rem;
}

.sec3 .paint h3 {
	background-image: url("../images/commitment/support/heading_bg5.svg");
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	height: 3.0rem;
	text-align: center;
	font-size: 1.25rem;
	font-weight: 700;
	color: #fff;
	padding-top: 0.7rem;
}

.sec3 .paint span {
	width: auto;
	display: inline-block;
	margin-right: 0.3rem;
	border: 1px solid #222;
	padding: 0 0.4rem;
	font-size: 0.9rem;
}

@media (min-width: 480px) {	
	.sec3 .title2 {
		height: 6.2rem;
	}
	
	.sec3 .paint h3 {
		background-size: 100%;
		height: 3.5rem;
		padding-top: 1.0rem;
	}	
}	

@media (min-width: 576px) {
	.sec3 .box {
		padding: 1.75rem;
	}

	.sec3 .box .title2 {
		height: 8rem
	}

	.sec3 .box .title2 .img08 {
		left: 2%;
		width: 30%;
	}

	.sec3 .box .title2 h2 {
		background-size: 70%;
		background-position: center;
		font-size: 1.8rem;
		height: 7rem;
		padding-top: 2rem;
	}

	.sec3 .box .title2 h2 img {
		width: 2rem;
		margin-right: 0.4rem;
		vertical-align: -0.32rem;	
	}

	.sec3 .read {
		background-color: #f2f2f2;
		padding: 1.25rem 1rem;
	}

	.sec3 .paint h3 {
		background-size: 400px;
		height: 5.0rem;
		font-size: 1.35rem;
		padding-top: 1.5rem;
	}
}

@media (min-width: 768px) {
	.sec3 .box {
		padding: 2rem;
	}

	.sec3 .box .title2 {
		width: 620px;
		height: 8.5rem;
		margin-left: auto;
		margin-right: auto;
	}

	.sec3 .box .title2 .img08 {
		left: -7%;
	}
	
	.sec3 .box .title2 .img09 {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 27%;
	}	

	.sec3 .box .title2 h2 {
		background-size: 70%;
		background-position: center;
		font-size: 1.8rem;
		height: 7rem;
		padding-top: 2rem;
	}

	.sec3 .box .title2 h2 img {
		width: 2rem;
		margin-right: 0.4rem;
		vertical-align: -0.32rem;	
	}

	.sec3 .read {
		background-color: #f2f2f2;
		padding: 1.25rem 1rem;
	}

	.sec3 .paint h3 {
		background-size: 400px;
		height: 5.0rem;
		font-size: 1.35rem;
		padding-top: 1.5rem;
	}
}

@media (min-width: 992px) {
	.sec3 .box {
		padding: 3.5rem 2.4rem;
	}
	
	.sec3 .box .title2 {
		width: 700px;
		height: 9rem;
	}

	.sec3 .box .title2 .img08 {
		left: -7%;
	}
	
	.sec3 .box .title2 .img09 {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 27%;
	}	

	.sec3 .box .title2 h2 {
		font-size: 2rem;
	}

	.sec3 .box .title2 h2 img {
		width: 2.2rem;
		margin-right: 0.5rem;
	}
	
	.sec3 .paint h3 {
		background-size: 460px;
		height: 5.0rem;
		font-size: 1.35rem;
		padding-top: 1.5rem;
	}	
}


@media (min-width: 1200px) {
	.sec3 .paint h3 {
		background-size: 550px;
		height: 5.0rem;
		font-size: 1.35rem;
		padding-top: 1.5rem;
	}
}

/*//////////////// セクション4 //////////////////*/
.sec4 .bg {
	background-image: url("../images/commitment/support/img11_sp.jpg");
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: bottom center;
}

.sec4 .bg p {
	padding-bottom: 35%;
}

@media (min-width: 480px) {
	.sec4 .bg p {
		width: 75%;
	}
}

@media (min-width: 576px) {
	.sec4 .bg p {
		width: 64%;
		padding-bottom: 30%;
	}
}

@media (min-width: 700px) {
	.sec4 .bg p {
		width: 70%;
		padding-top: 4%;
		padding-bottom: 33%;
	}
}

@media (min-width: 768px) {
	.sec4 .bg {
		background-image: url("../images/commitment/support/img11_md.jpg");
	}
	
	.sec4 .bg p {
		width: 100%;
		padding-top: 1rem;
		padding-bottom: 25%;
		padding-left: 10% !important;
	}
	
	.sec4 .container {
		padding-left: 4%;
		padding-right: 4%;
	}
}

@media (min-width: 992px) {	
	.sec4 .bg p {
		width: 100%;
		padding-left: 0 !important;
	}
}

@media (min-width: 1200px) {
	.sec4 .bg {
		background-image: url("../images/commitment/support/img11_pc.jpg");
	}
	
	.sec4 .bg p {
		padding-bottom: 22%;
	}	
}

@media (min-width: 1300px) {
	.sec4 .bg p {
		padding-bottom: 24%;
	}
}

@media (min-width: 1400px) {
	.sec4 .bg p {
		padding-bottom: 28%;
	}
}

@media (min-width: 1600px) {
	.sec4 .bg p {
		padding-bottom: 32%;
	}
}

@media (min-width: 1700px) {
	.sec4 .bg p {
		padding-bottom: 34%;
	}
}