@charset "UTF-8";

#voice-head {
	margin-top: 12px;
}

/*冒頭*/
.obligation-main {
	background: #fff;
	position: relative;
	margin-bottom: 30px;
	padding-top: 2.5%;
	z-index: -2;
}
.obligation-main-bgtop {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}
.obligation-main h1 {
	background: #ea5504;
	padding: 10px;
	font-size: 6vw;
	line-height: 1.3;
	letter-spacing: 2px;
	text-align: center;
	color: #fff;
	margin-bottom: 15px;
	z-index: 99;
}
.obligation-main-copy {
	text-align: center;
	font-size: 5vw;
	letter-spacing: 1px;
	color: #2f3030;
	line-height: 1.5;
	font-weight: bold;
}
.obligation-main-copy span {
	font-size: 6vw;
	color: #ea5504;
}
.obligation-main-left {
	width: 25%;
	position: absolute;
	left: 1%;
	bottom: 0;
}
.obligation-main-right {
	width: 29%;
	position: absolute;
	right: 1%;
	bottom: 0;
}

/*イントロ*/
.obligation-intro {
	width: 95%;
	margin: 0 auto;
}
.obligation-intro p {
	width: 90%;
	margin: 0 auto 30px;
	font-size: 4vw;
	line-height: 1.6;
}
.obligation-intro-matome {
	background: #e0ebe7;
	padding: 1px 4%;
	margin-bottom: 30px;
}
.obligation-intro-matome h2 {
	font-size: 4.5vw;
	letter-spacing: 1px;
	color: #d66533;
	border-bottom: 1px dotted #898989;
	padding-left: 10%;
	padding-bottom: 10px;
	margin-bottom: 12px!important;
	position: relative;
}
.obligation-intro-matome h2::before {
	content: '';
	width: 34px;
	height: 26px;
	background: url(../img/obligation_matome-ttl.png);
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
}
.obligation-intro-matome ul {
	margin: 0;
	padding-left: 7%;
}
.obligation-intro-matome ul li {
	display: block;
	margin-bottom: 15px;
	font-size: 3.8vw;
	position: relative;
}
.obligation-intro-matome ul li::before {
	content: '';
	width: 21px;
	height: 18px;
	background: url(../img/obligation_matome-check.png);
	background-size: cover;
	position: absolute;
	top: 2px;
	left: -7%;
}


/*加入義務化 質問＆回答部分*/
.obligation-all {
	background: #fffbee;
	padding-bottom: 1px;
}
.obligation-box {
	margin-bottom: 55px;
}
.obligation-ttl {
	background: #ea5504;
	padding: 3px 3% 0 6%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}
.obligation-ttl h2 {
	width: 67%;
	margin: 0;
	font-size: 4.8vw;
	line-height: 1.4;
	color: #fff;
}
.obligation-ttl-img {
	width: 32%;
}
.obligation-point {
	width: 90%;
	margin: 0 auto 40px;
}
.obligation-point h3 {
	display: inline-block;
	font-size: 3.7vw;
	line-height: 1;
	color: #2f3030;
	background: #fff134;
	border-radius: 7px;
	padding: 9px 15px 6px;
	margin: 0;
}
.obligation-point-txt {
	display: block;
	font-size: 4.3vw;
	font-weight: bold;
	color: #ea5504;
	background: #fff;
	border-radius: 7px;
	border: 2px solid #ea5504;
	padding: 8px 15px 6px;
}
.obligation-bike {
	width: 90%;
	margin: 0 auto 40px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: top;
}
.obligation-bike-img {
	width: 30%;
}
.obligation-bike-txt {
	width: 60%;
	background: #fff;
	border-radius: 20px;
	padding: 20px 4% 20px 5%;
	filter: drop-shadow(0px 0px 2px #ccc);
	position: relative;
}
.obligation-bike-txt::before {
	content: '';
	position: absolute;
	width: 22px;
	height: 35px;
	clip-path: polygon(1% 2%, 100% 100%, 100% 29%);
	background-color: #fff;
	top: 80px;
	left: -7%;
	z-index: 10;
}
.obligation-bike-txt p,
.obligation-ans-txt p {
	font-size: 3.5vw;
	line-height: 1.4;
	margin: 0;
	color: #323333;
}
.obligation-bike-txt p span {
	color: #d4372e;
	font-weight: bold;
	background:linear-gradient(transparent 66%, #ff6 60%);
}
.obligation-ans {
	width: 90%;
	margin: 0 auto 40px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: top;
}
.obligation-ans-txt {
	width: 60%;
	background: #fff;
	border-radius: 20px;
	padding: 20px 4% 20px 5%;
	filter: drop-shadow(0px 0px 2px #ccc);
	position: relative;
}
.obligation-ans-txt::before {
	content: '';
	position: absolute;
	width: 22px;
	height: 35px;
	clip-path: polygon(0 36%, 100% 0, 0 100%);
	background-color: #fff;
	top: 80px;
	right: -7%;
	z-index: 10;
}
#obligation03 .obligation-ans-txt::before {
	position: absolute;
	top: 48px;
	right: -7%;
}
#obligation04 .obligation-ans-txt::before {
	position: absolute;
	top: 48px;
	right: -7%;
}
#obligation05 .obligation-ans-txt::before {
	position: absolute;
	top: 48px;
	right: -7%;
}
.obligation-ans-img {
	width: 25%;
}
.obligation-info {
	width: 84%;
	margin: 0 auto 55px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: top;
	padding: 15px 3%;
	background: #eff5f3;
	border: 2px solid #0c276c;
	border-radius: 18px;
}
.obligation-info-img {
	width: 12%;
}
.obligation-info p {
	width: 86%;
	font-size: 3.5vw;
	line-height: 1.5;
	margin: 0;
	color: #2f3030;
}
.obligation-info p span {
	color: #d4372e;
	font-weight: bold;
	background: linear-gradient(transparent 66%, #ff6 60%);
}
.obligation-btngd {
	display: block;
	width: 90%;
	margin: 0 auto 20px;
	font-size: 3.3vw;
	text-align: center;
	position: relative;
}
.obligation-btngd a {
	display: block;
	background-image: linear-gradient(0deg,rgba(255,214,0,1),rgba(255,247,150,1));
	padding: 12px 0;
	border-radius: 10px;
	color: #323333;
	box-shadow: 3px 3px 3px #ccc;
	text-decoration: none;
}
.obligation-btngd:after {
	content: '';
	width: 10px;
	height: 10px;
	border-right: 3px solid #323333;
	border-bottom: 3px solid #323333;
	transform: rotate(-45deg);
	position: absolute;
	top: 16px;
	right: 16px;
}
.obligation-btngd2 {
	display: block;
	width: 90%;
	margin: 0 auto 20px;
	font-size: 4.4vw;
	text-align: center;
	position: relative;
}
.obligation-btngd2 a {
	display: block;
	background-image: linear-gradient(0deg,rgba(255,214,0,1),rgba(255,247,150,1));
	padding: 12px 0;
	border-radius: 10px;
	color: #323333;
	box-shadow: 3px 3px 3px #ccc;
	text-decoration: none;
}
.obligation-btngd2:after {
	content: '';
	width: 10px;
	height: 10px;
	border-right: 3px solid #323333;
	border-bottom: 3px solid #323333;
	transform: rotate(-45deg);
	position: absolute;
	top: 20px;
	right: 2%;
}
#obligation02 .obligation-info,
#obligation03 .obligation-info {
	margin: 0 auto 15px;
}
.obligation-info-caution {
	width: 83%;
	margin: 0 auto 20px;
	font-size: 2.7vw;
	line-height: 1.8;
	padding-left: 7%;
	position: relative;
}
.obligation-info-caution:before {
	content: '';
	width: 22px;
	height: 22px;
	background: url(../img/caution_y.png);
	background-size: cover;
	position: absolute;
	top: 2px;
	left: 0;
}
.obligation-info-caution2 {
	width: 90%;
	margin: 0 auto 20px;
	font-size: 2.7vw;
	line-height: 1.8;
}
.obligation-info-link {
	width: 86%;
	margin: 0 auto;
	padding-left: 4%;
	position: relative;
	font-size: 4vw;
}
.obligation-info-link a {
	text-decoration: none;
	color: #2f6db3;
}
.obligation-info-link:before {
	content: '▶︎';
	font-size: 3vw;
	position: absolute;
	top: 5px;
	left: 2px;
}
.obligation-area {
	width: 90%;
	margin: 0 auto 30px;
	background: #fff;
}
.obligation-area h3 {
	background: #f0d289;
	font-size: 4.3vw;
	line-height: 1.4;
	color: #323333;
	padding: 12px 6%;
}
.obligation-area-inner {
	padding: 5px 4% 15px;
}
.obligation-area-img {
	margin-bottom: 20px;
}
.obligation-area-detail {
	border: 1px solid #211815;
	margin-bottom: 12px;
}
.obligation-area-detail h4 {
	margin: 0;
	font-size: 3.8vw;
	font-weight: normal;
	color: #2f3030;
	text-align: center;
	padding: 6px 0;
	border-bottom: 1px solid #211815;
}
#obligation-area-detail1 h4 {
	background: #f1c8b3;
}
#obligation-area-detail2 h4 {
	background: #f6eec2;
}
.obligation-area-detail p {
	font-size: 3vw;
	line-height: 1.4;
	margin: 7px 2.5%;
}
.obligation-area-caption {
	font-size: 2.8vw;
	text-align: right;
}

/*お辞儀*/
#obligation-info {
	margin: 40px 0;
}
.obligation-info-img {
	width: 20%;
	margin: 0 auto;
	z-index: 0;
}
.obligation-info-txt {
	position: relative;
	width: 84%;
	margin: 0 auto;
	background: #fff;
	border: 3px solid #dc713c;
	border-radius: 20px;
	padding: 25px 4%;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.35);
}
.obligation-info-txt:after {
	position: absolute;
	top: -14px;
	left: 38%;
	content: '';
	width: 12px;
	height: 15px;
	background: url(../img/voice-fukidashi.png);
	background-size: cover;
}
.obligation-info-txt p {
	margin-bottom: 25px;
	font-size: 3.6vw;
	line-height: 1.6;
}

ul.btn-foot {
	list-style-type: none;
	width: 95%;
	margin: 0 auto;
	padding: 0;
}
ul.btn-foot li {
	display: block;
	margin-bottom: 20px;
	text-align: left;
	font-size: 4vw;
}
ul.btn-foot li a {
	display: block;
	background: #fff;
	border: 1px solid #d66533;
	padding: 12px 2%;
	color: #d66533;
	text-decoration: none;
	position: relative;
}
ul.btn-foot li a:after {
	position: absolute;
	right: 15px;
	top: 50%;
	content: '';
	width: 8px;
	height: 8px;
	border-right: 3px solid #ea5504;
	border-top: 3px solid #ea5504;
	transform: translateY(-65%);
	rotate: 45deg;
}

.site-footer24 {
	background: #f3f3f3;
	text-align: center;
	padding: 30px 0 80px;
}
.site-footer24 .logo {
	width: 30%;
	margin: 0 auto 18px;
}
.copyright {
	font-size: 2.7vw;
}

#foot-fixbtn {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 99999;
}
#foot-fixbtn ul {
	list-style-type: none;
	width: 95%;
	margin: 0 auto;
	padding: 0;
	display: table;
}
#foot-fixbtn ul li {
	display: table-cell;
	padding: 10px 0;
}
#foot-fixbtn ul li a {
	text-decoration: none;
}
.ffb-icon {
	width: 40%;
	margin: 0 auto 5px;
}
.ffb-txt {
	text-align: center;
	font-size: 3vw;
	font-weight: bold;
	color: #dc713c;
}


.btn-box {
	background: #f7f8f8;
	padding: 40px 0 20px;
}
.btn-box p {
	width: 90%!important;
	margin-left: auto;
	margin-right: auto;
}



/*-------------
PC向け（680px以上）
-------------*/
@media only screen and (min-width: 680px) {
	.sp-only {
		display: none!important;
	}
	#voice-head {
		margin-top: 0;
	}
	
	/*冒頭*/
	.obligation-main {
		width: 1000px;
		position: relative;
		margin: 0 auto 30px;
		padding-top: 30px;
		z-index: -2;
	}
	.obligation-main-bgtop {
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
	}
	.obligation-main h1 {
		padding: 10px;
		font-size: 36px;
		letter-spacing: 2px;
		margin-bottom: 25px;
		z-index: 99;
	}
	.obligation-main-copy {
		font-size: 33px;
		letter-spacing: 1px;
		line-height: 1.3;
	}
	.obligation-main-copy span {
		font-size: 44px;
	}
	.obligation-main-left {
		width: 170px;
		position: absolute;
		left: 1%;
		bottom: 0;
	}
	.obligation-main-right {
		width: 190px;
		position: absolute;
		right: 1%;
		bottom: 0;
	}
	
	/*イントロ*/
	.obligation-intro {
		width: 1000px;
		margin: 0 auto;
	}
	.obligation-intro p {
		width: 100%;
		margin: 0 auto 30px;
		font-size: 22px;
		line-height: 1.6;
	}
	.obligation-intro-matome {
		padding: 1px 30px 15px 30px;
		margin-bottom: 30px;
	}
	.obligation-intro-matome h2 {
		font-size: 28px;
		letter-spacing: 1px;
		border-bottom: 1px dotted #898989;
		padding-left: 50px;
		padding-bottom: 10px;
		margin-bottom: 15px!important;
		position: relative;
	}
	.obligation-intro-matome h2::before {
		content: '';
		width: 34px;
		height: 26px;
		background: url(../img/obligation_matome-ttl.png);
		background-size: cover;
		position: absolute;
		top: 7px;
		left: 0;
	}
	.obligation-intro-matome ul {
		margin: 0;
		padding-left: 45px;
	}
	.obligation-intro-matome ul li {
		margin-bottom: 15px;
		font-size: 20px;
		position: relative;
	}
	.obligation-intro-matome ul li::before {
		content: '';
		width: 21px;
		height: 18px;
		background: url(../img/obligation_matome-check.png);
		background-size: cover;
		position: absolute;
		top: 4px;
		left: -37px;
	}
	
	/*加入義務化 質問＆回答部分*/
	.obligation-all {
		padding-bottom: 1px;
	}
	.obligation-box {
		margin-bottom: 45px;
	}
	.obligation-ttl {
		padding: 3px 5% 0 10%;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 30px;
	}
	.obligation-ttl h2 {
		width: 80%;
		margin: 0;
		font-size: 30px;
		line-height: 1.4;
		color: #fff;
	}
	.obligation-ttl-img {
		width: 13%;
	}
	.obligation-point {
		width: 1000px;
		margin: 0 auto 40px;
	}
	.obligation-point h3 {
		display: inline-block;
		font-size: 20px;
		border-radius: 7px;
		padding: 9px 15px 6px;
		margin: 0;
	}
	.obligation-point-txt {
		display: block;
		font-size: 24px;
		border-radius: 7px;
		border: 2px solid #ea5504;
		padding: 12px 25px 10px;
	}
	.obligation-bike {
		width: 1000px;
		margin: 0 auto 40px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		align-items: top;
	}
	.obligation-bike-img {
		width: 30%;
	}
	.obligation-bike-txt {
		width: 60%;
		background: #fff;
		border-radius: 20px;
		padding: 20px 30px 20px 30px;
		filter: drop-shadow(0px 0px 2px #ccc);
		position: relative;
	}
	.obligation-bike-txt::before {
		content: '';
		position: absolute;
		width: 36px;
		height: 52px;
		clip-path: polygon(1% 2%, 100% 100%, 100% 29%);
		background-color: #fff;
		top: 80px;
		left: -34px;
		z-index: 10;
	}
	.obligation-bike-txt p,
	.obligation-ans-txt p {
		font-size: 20px;
		line-height: 1.4;
		margin: 0;
	}
	.obligation-bike-txt p span {
		background:linear-gradient(transparent 66%, #ff6 60%);
	}
	.obligation-ans {
		width: 900px;
		margin: 0 auto 40px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		align-items: center;
	}
	.obligation-ans-txt {
		width: 75%;
		border-radius: 20px;
		padding: 20px 30px 20px 30px;
		filter: drop-shadow(0px 0px 2px #ccc);
		position: relative;
	}
	.obligation-ans-txt::before {
		content: '';
		position: absolute;
		width: 30px;
		height: 48px;
		clip-path: polygon(0 36%, 100% 0, 0 100%);
		background-color: #fff;
		top: 80px;
		right: -28px;
		z-index: 10;
	}
	#obligation03 .obligation-ans-txt::before {
		position: absolute;
		top: 11px;
		right: -28px;
	}
	#obligation04 .obligation-ans-txt::before {
		position: absolute;
		top: 16px;
		right: -28px;
	}
	#obligation05 .obligation-ans-txt::before {
		position: absolute;
		top: 11px;
		right: -28px;
	}
	.obligation-ans-img {
		width: 15%;
	}
	.obligation-info {
		width: 940px;
		margin: 0 auto 55px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		align-items: top;
		padding: 20px 30px;
		border: 2px solid #0c276c;
		border-radius: 20px;
	}
	.obligation-info-img {
		width: 12%;
	}
	.obligation-info p {
		width: 86%;
		font-size: 21px;
		line-height: 1.5;
		margin: 0;
	}
	.obligation-info p span {
		background: linear-gradient(transparent 66%, #ff6 60%);
	}
	.obligation-btngd {
		display: block;
		width: 600px;
		margin: 0 auto 20px;
		font-size: 20px;
		position: relative;
	}
	.obligation-btngd a {
		display: block;
		background-image: linear-gradient(0deg,rgba(255,214,0,1),rgba(255,247,150,1));
		padding: 12px 0;
		border-radius: 10px;
		box-shadow: 3px 3px 3px #ccc;
	}
	.obligation-btngd:after {
		content: '';
		width: 10px;
		height: 10px;
		border-right: 3px solid #323333;
		border-bottom: 3px solid #323333;
		transform: rotate(-45deg);
		position: absolute;
		top: 21px;
		right: 16px;
	}
	.obligation-btngd2 {
		display: block;
		width: 700px;
		margin: 0 auto 20px;
		font-size: 20px;
		position: relative;
	}
	.obligation-btngd2 a {
		display: block;
		background-image: linear-gradient(0deg,rgba(255,214,0,1),rgba(255,247,150,1));
		padding: 12px 0;
		border-radius: 10px;
		box-shadow: 3px 3px 3px #ccc;
	}
	.obligation-btngd2:after {
		content: '';
		width: 10px;
		height: 10px;
		border-right: 3px solid #323333;
		border-bottom: 3px solid #323333;
		transform: rotate(-45deg);
		position: absolute;
		top: 21px;
		right: 16px;
	}
	#obligation02 .obligation-info,
	#obligation03 .obligation-info {
		margin: 0 auto 15px;
	}
	.obligation-info-caution {
		width: 890px;
		margin: 0 auto 20px;
		font-size: 17px;
		line-height: 1.8;
		padding-left: 0;
		position: relative;
	}
	.obligation-info-caution:before {
		content: '';
		width: 22px;
		height: 22px;
		background: url(../img/caution_y.png);
		background-size: cover;
		position: absolute;
		top: 3px;
		left: -30px;
	}
	.obligation-info-caution2 {
		width: 900px;
		margin: 0 auto 20px;
		font-size: 18px;
		line-height: 1.8;
	}
	.obligation-info-link {
		width: 900px;
		margin: 0 auto;
		padding-left: 0;
		position: relative;
		font-size: 22px;
	}
	.obligation-info-link a {
	}
	.obligation-info-link:before {
		content: '▶︎';
		font-size: 22px;
		position: absolute;
		top: 0;
		left: -24px;
	}
	.obligation-area {
		width: 1000px;
		margin: 0 auto 30px;
	}
	.obligation-area h3 {
		font-size: 30px;
		line-height: 1.4;
		padding: 12px 30px;
	}
	.obligation-area-inner {
		padding: 5px 40px 15px;
	}
	.obligation-area-img {
		margin-bottom: 25px;
	}
	.obligation-area-detail {
		border: 1px solid #211815;
		margin-bottom: 12px;
	}
	.obligation-area-detail h4 {
		margin: 0;
		font-size: 24px;
		padding: 6px 0;
		border-bottom: 1px solid #211815;
	}
	.obligation-area-detail p {
		font-size: 26px;
		line-height: 1.4;
		margin: 15px 30px;
	}
	.obligation-area-caption {
		font-size: 18px;
		text-align: right;
	}
	
	/*お辞儀*/
	#obligation-info {
		margin: 40px 0;
	}
	.obligation-info-img {
		width: 120px;
		margin: 0 auto;
		z-index: 0;
	}
	.obligation-info-txt {
		position: relative;
		width: 860px;
		margin: 0 auto;
		border: 3px solid #dc713c;
		border-radius: 20px;
		padding: 15px 20px;
		box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.35);
	}
	.obligation-info-txt:after {
		position: absolute;
		top: -14px;
		left: 38%;
		content: '';
		width: 12px;
		height: 15px;
		background: url(../img/voice-fukidashi.png);
		background-size: cover;
	}
	.obligation-info-txt p {
		margin-bottom: 10px;
		font-size: 18px;
		line-height: 1.6;
	}
	
	.btn-box {
		padding: 40px 0 20px;
	}
	.btn-box p {
		width: 400px!important;
		margin-left: auto;
		margin-right: auto;
	}
	
	.site-footer24 {
		padding: 30px 0 140px;
	}
	.site-footer24 .logo {
		width: 150px;
		margin: 0 auto 15px;
	}
	.copyright {
		font-size: 12px;
	}
	
	#foot-fixbtn {
		position: fixed;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 600px;
		z-index: 99999;
	}
	#foot-fixbtn ul {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		display: table;
	}
	#foot-fixbtn ul li {
		display: table-cell;
		padding: 15px 0;
	}
	#foot-fixbtn ul li a {
		text-decoration: none;
	}
	.ffb-icon {
		width: 40%;
		margin: 0 auto 5px;
	}
	.ffb-txt {
		font-size: 16px;
	}
	
}