@charset "UTF-8";

.pc_vis {
    display: inline-block !important;
}
.sp_vis {
    display: none !important;
}

a:hover .hover_snap, 
a:hover .hover_fade {
	opacity: 1;
}

sup {
	vertical-align: text-top;
	font-size: 0.8rem;
	padding-right: 0.2em;
}

.makubetsu_pabusapo {
	margin-top: 20px;
	padding-bottom: 100px;
	font-family: "Noto Sans JP", serif;
	font-weight: 500;
	font-feature-settings: "palt";
	color: #333;
	background-color: #FCFBDE;
}
.makubetsu_pabusapo * {
	box-sizing: border-box;
}
.makubetsu_pabusapo .img, 
.makubetsu_pabusapo figure {
	text-align: center;
	line-height: 0;
}

@media screen and (max-width: 767px) {
.makubetsu_pabusapo {
	margin-top: 0;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 60px;
}
}

.makubetsu_pabusapo .hero {
	overflow: hidden;
}
.makubetsu_pabusapo .hero_inner {
	position: relative;
	height: 510px;
}
.makubetsu_pabusapo .main_title {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1920px;
	max-width: none;
	transform: translate(-50%, -50%);
}
.makubetsu_pabusapo .main_title img {
	width: 100%;
	height: auto;
	display: block;
}

@media screen and (max-width: 1340px) {
.makubetsu_pabusapo .hero {
	overflow: visible;
}
.makubetsu_pabusapo .hero_inner {
	height: auto;
}
.makubetsu_pabusapo .main_title {
	position: static;
	width: 100%;
	max-width: none;
	transform: translate(0, 0);
}
}

@media screen and (max-width: 767px) {
.makubetsu_pabusapo .hero {
	margin-left: -20px;
	margin-right: -20px;
}
}

.makubetsu_pabusapo .menu {
	padding: 50px 40px;
	background: url("makubetsu_pabusapo_bg01.png") repeat center center / 8px 8px;
}
.makubetsu_pabusapo .menu_inner {
	max-width: 1260px;
	margin: 0 auto;
}
.makubetsu_pabusapo .menu_list {
	display: flex;
  	flex-wrap: wrap;
	gap: 20px;
}
.makubetsu_pabusapo .menu_list li {
	flex: 0 1 calc((100% - 20px * 3) / 4);
	display: flex;
	align-items: center;
}
.makubetsu_pabusapo .menu_list a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}

@media screen and (max-width: 767px) {
.makubetsu_pabusapo .menu {
	margin-left: -20px;
	margin-right: -20px;
	padding: clamp(30px * 0.5, calc(30 / 767 * 100vw), 30px) clamp(35px * 0.5, calc(35 / 767 * 100vw), 35px);
}
.makubetsu_pabusapo .menu_list {
	gap: clamp(20px * 0.5, calc(20 / 767 * 100vw), 20px) clamp(15px * 0.5, calc(15 / 767 * 100vw), 15px);
}
.makubetsu_pabusapo .menu_list li {
	flex: 0 1 calc((100% - clamp(15px * 0.5, calc(15 / 767 * 100vw), 15px)) / 2);
}
}

.makubetsu_pabusapo h2 {
	margin-bottom: 30px;
	font-size: 1.875rem;
	font-weight: 900;
	text-align: center;
	line-height: 1.2;
	color: #329246;
}
.makubetsu_pabusapo h2 em {
	width: 200px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
	padding: 5px 10px;
	font-family: 'メイリオ', 'Noto Sans JP';
	font-size: 1.5625rem;
	font-weight: bold;
	line-height: 1.2;
	color: #369B4F;
	background-color: #FFE100;
	border-radius: 10px;
	display: block;
}
.makubetsu_pabusapo h2 strong {
	font-size: 2.5rem;
	font-weight: 900;
}
.makubetsu_pabusapo h3 {
	position: relative;
	margin-bottom: 25px;
	text-align: center;
	line-height: 0;
	z-index: 1;
}
.makubetsu_pabusapo h3 span {
	display: inline-block;
}
.makubetsu_pabusapo h3::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto 0;
	width: 100%;
	height: 3px;
	background-color: #369B4F;
	display: block;
	z-index: -1;
}

@media screen and (max-width: 767px) {
.makubetsu_pabusapo h2 {
	margin-bottom: 30px;
	font-size: 1.25rem;
}
.makubetsu_pabusapo h2 em {
	width: 150px;
	padding: 5px 10px;
	font-size: 1.25rem;
}
.makubetsu_pabusapo h2 strong {
	font-size: 1.75rem;
}
.makubetsu_pabusapo h3 {
	margin-bottom: 25px;
}
.makubetsu_pabusapo h3::before {
	height: 2px;
}
.makubetsu_pabusapo h3 img {
	max-width: calc(423px * 0.8);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
}

.makubetsu_pabusapo .dot_list.condition_list {
	margin-bottom: 70px;
}
.makubetsu_pabusapo .dot_list li {
	position: relative;
	padding-left: 1.25em;
	font-size: 1.125rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}
.makubetsu_pabusapo .dot_list.condition_list li + li {
	margin-top: 15px;
}
.makubetsu_pabusapo .dot_list li::before {
	content: "";
	position: absolute;
	top: 12px;
	left: 0;
	width: 12px;
	height: 12px;
	background-color: #359A4E;
	border-radius: 50%;
	display: block;
}
.makubetsu_pabusapo .note_list {
	padding: 0;
	margin: 0;
	list-style: none;
	counter-reset: note;
}
.makubetsu_pabusapo .note_list li {
	position: relative;
	font-size: 1rem;
	padding-left: 2.25em;
	line-height: 2.0;
	letter-spacing: 0.08em;
}
/*
.makubetsu_pabusapo .note_list li:first-child::before {
	content: "※";
	position: absolute;
	left: 0;
}
*/
.makubetsu_pabusapo .note_list li::before {
	counter-increment: note;
	content: "※" counter(note);
	position: absolute;
	left: 0;
}
.makubetsu_pabusapo .num_list {
	margin-top: 10px;
}
.makubetsu_pabusapo .num_list li {
	position: relative;
	padding-left: 1.5em;
	font-size: 1.125rem;
	line-height: 2.0;
	letter-spacing: 0.08em;
}
.makubetsu_pabusapo .dot_list.condition_list .num_list li + li {
	margin-top: 0;
}
.makubetsu_pabusapo .num_list li::before {
	display: none;
}
.makubetsu_pabusapo .num_list li b {
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (max-width: 767px) {
.makubetsu_pabusapo .dot_list.condition_list {
	margin-bottom: 60px;
}
.makubetsu_pabusapo .dot_list li {
	font-size: 1rem;
}
.makubetsu_pabusapo .dot_list li::before {
	top: 10px;
	width: 10px;
	height: 10px;
}
.makubetsu_pabusapo .note_list li {
	font-size: 0.875rem;
}
.makubetsu_pabusapo .num_list li {
	font-size: 1rem;
}
}

.makubetsu_pabusapo .about {
	padding: 90px 40px 50px;
}
.makubetsu_pabusapo .about_inner {
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .about_box {
	padding: 60px 40px;
	background-color: #FFF;
	border: 5px solid #369B4F;
	border-radius: 10px;
}
.makubetsu_pabusapo .about_box_inner {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .about figure {
	margin-top: 30px;
	margin-bottom: 10px;
	text-align: center;
	line-height: 0;
}

@media screen and (max-width: 767px) {
.makubetsu_pabusapo .about {
	padding: 60px 0 40px;
}
.makubetsu_pabusapo .about_box {
	padding: 30px 20px 40px;
	border: 3px solid #369B4F;
}
.makubetsu_pabusapo .about figure {
	margin-top: 30px;
	margin-bottom: 10px;
}
}

.makubetsu_pabusapo .condition {
	padding: 50px 40px;
}
.makubetsu_pabusapo .condition_inner {
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .condition_box {
	padding: 60px 40px;
	background-color: #FFF;
	border: 5px solid #369B4F;
	border-radius: 10px;
}
.makubetsu_pabusapo .condition_box_inner {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .condition_row {
	position: relative;
	margin-bottom: 60px;
	display: flex;
  	flex-wrap: wrap;
	gap: 30px 25px;
}
.makubetsu_pabusapo .condition_row::after {
	content: "";
	position: absolute;
	right: 30px;
	bottom: 0;
	width: 246px;
	height: 250px;
	background: url("makubetsu_pabusapo_pic07.png") no-repeat center center / contain;
	display: block;	
}
.makubetsu_pabusapo .condition_col {
	padding: 30px 10px 20px;
	background-color: #FCFBDE;
	border-radius: 10px;
	flex: 0 1 calc((100% - 25px * 2) / 3);
}
.makubetsu_pabusapo .condition h4 {
	margin-bottom: 15px;
	font-size: 1.5625rem;
	font-weight: 900;
	text-align: center;
	color: #34994D;
	display: flex;
	justify-content: center;
	align-items: center;
}
.makubetsu_pabusapo .condition h4 b {
	width: 43px;
	height: 43px;
	margin-left: 10px;
	font-size: 1.25rem;
	color: #FFF;
	background-color: #34994D;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.makubetsu_pabusapo .condition figure {
	margin-bottom: 10px;
	text-align: center;
}
.makubetsu_pabusapo .condition p {
	max-width: 260px;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.125rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}
.makubetsu_pabusapo .condition p b {
	color: #329449;
}
.makubetsu_pabusapo .condition_btn {
	text-align: center;
	line-height: 0;
}

@media screen and (max-width: 767px) {
.makubetsu_pabusapo .condition {
	padding: 30px 0;
}
.makubetsu_pabusapo .condition_box {
	padding: 30px 20px 40px;
	border: 3px solid #369B4F;
}
.makubetsu_pabusapo .condition_row {
	margin-bottom: 60px;
	gap: 25px 20px;
}
.makubetsu_pabusapo .condition_row::after {
	right: 20px;
	width: clamp(246px * 0.5, calc(246 * 0.8 / 767 * 100vw), 246px * 0.8);
	height: clamp(250px * 0.5, calc(250 / 767 * 100vw), 250px);
}
.makubetsu_pabusapo .condition_col {
	padding: 20px 10px;
	flex: 0 1 calc((100% - 25px) / 2);
}
.makubetsu_pabusapo .condition h4 {
	margin-bottom: 10px;
	font-size: 22px;
}
.makubetsu_pabusapo .condition h4 b {
	width: 35px;
	height: 35px;
	margin-left: 5px;
	font-size: 1.375rem;
}
.makubetsu_pabusapo .condition figure {
	margin-bottom: 10px;
}
.makubetsu_pabusapo .condition p {
	max-width: 260px;
	font-size: 1rem;
}
.makubetsu_pabusapo .condition_btn {
	max-width: calc(601px * 0.8);
	margin-left: auto;
	margin-right: auto;
}
}

@media screen and (max-width: 500px) {
.makubetsu_pabusapo .condition_row {
	margin-bottom: calc(40px + calc((250px * 0.5) + 20px));
	gap: 25px 20px;
}
.makubetsu_pabusapo .condition_row::after {
	right: 0;
	bottom: calc(((250px * 0.5) + 20px) * -1);
	width: calc(246px * 0.5);
	height: calc(250px * 0.5);
}
.makubetsu_pabusapo .condition_col {
	padding: 20px 20px 25px;
	flex: 0 1 100%;
}
.makubetsu_pabusapo .condition p {
	max-width: inherit;
}
}

.makubetsu_pabusapo .flow {
	padding: 40px 40px;
}
.makubetsu_pabusapo .flow_inner {
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .flow_box {
	padding: 60px 40px;
	background-color: #FFF;
	border: 5px solid #369B4F;
	border-radius: 10px;
}
.makubetsu_pabusapo .flow_box_inner {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .flow_col {
	min-height: 180px;
	padding: 20px 40px;
	background-color: #FCFBDE;
	border-radius: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.makubetsu_pabusapo .flow_col + .flow_col {
	margin-top: 20px;
}
.makubetsu_pabusapo .flow_col_inner {
	width: 100%;
	max-width: 886px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.makubetsu_pabusapo .flow_info {
	display: flex;
	align-items: center;
}
.makubetsu_pabusapo .flow_num {
	margin-right: 15px;
}
.makubetsu_pabusapo .flow_txt {
}
.makubetsu_pabusapo .flow_col h4 {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.08em;
}
.makubetsu_pabusapo .flow_col p {
	margin-top: 10px;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.08em;
}
.makubetsu_pabusapo .flow_col p.note_txt {
	padding-left: 1.0em;
	text-indent: -1.0em;
}
.makubetsu_pabusapo .flow_col figure {
	margin-left: auto;
}
.makubetsu_pabusapo .flow_arw {
	text-align: center;
	line-height: 0;
}
.makubetsu_pabusapo .flow_btn {
	margin-top: 40px;
	text-align: center;
	line-height: 0;
}
.makubetsu_pabusapo .flow_btn a {
	display: block;
	line-height: 0;
}
.makubetsu_pabusapo .flow_end_txt {
	margin-top: 30px;
	font-size: 1.125rem;
	text-align: center;
	line-height: 2.0;
	letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
.makubetsu_pabusapo .flow {
	padding: 40px 0;
}
.makubetsu_pabusapo .flow_box {
	padding: 30px 20px 40px;
	border: 3px solid #369B4F;
}
.makubetsu_pabusapo .flow_col {
	min-height: 180px;
	padding: 30px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.makubetsu_pabusapo .flow_col + .flow_col {
	margin-top: 20px;
}
.makubetsu_pabusapo .flow_col_inner {
	width: 100%;
	display: block;
}
.makubetsu_pabusapo .flow_num {
	display: none;
}
.makubetsu_pabusapo .flow_col h4 {
	position: relative;
	padding-left: calc(70px * 0.8);
	font-size: 1.125rem;
}
.makubetsu_pabusapo .flow_col h4::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: calc(60px * 0.8);
	height: calc(55px * 0.8);
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
}
.makubetsu_pabusapo .flow_col h4.flow_title01::before {
	background-image: url("makubetsu_pabusapo_ico01.png");
}
.makubetsu_pabusapo .flow_col h4.flow_title02::before {
	background-image: url("makubetsu_pabusapo_ico02.png");
}
.makubetsu_pabusapo .flow_col h4.flow_title03::before {
	background-image: url("makubetsu_pabusapo_ico03.png");
}
.makubetsu_pabusapo .flow_col p {
	margin-top: 20px;
	font-size: 0.875rem;
}
.makubetsu_pabusapo .flow_col figure {
	margin-top: 20px;
}
.makubetsu_pabusapo .flow_arw {
	width: calc(226px * 0.8);
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .flow_btn {
	max-width: calc(601px * 0.8);
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .flow_end_txt {
	margin-top: 30px;
	font-size: 1rem;
	text-align: left;
}
}

.makubetsu_pabusapo .faq {
	padding: 50px 40px 0;
}
.makubetsu_pabusapo .faq_inner {
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .faq_box {
	float: none;
	width: 100%;
	margin: 0;
	padding: 60px 40px;
	background-color: #FFF;
	border: 5px solid #369B4F;
	border-radius: 10px;
}
.makubetsu_pabusapo .faq_box_inner {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.makubetsu_pabusapo .faq_acdn + .faq_acdn {
	margin-top: 20px;
}
.makubetsu_pabusapo .acdn_title {
	position: relative;
	margin-bottom: 0;
	padding: 15px 50px 15px 60px;
	font-size: 1.5625rem;
	font-weight: bold;
	line-height: 1.4;
	background-color: #E6F0B4;
	border: 3px solid #C1DB4A;
	border-radius: 10px;
    cursor: pointer;
	transition: ease-in-out .5s;
}
.makubetsu_pabusapo .acdn_title::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 22px;
	margin: 0;
	width: 28px;
	height: 25px;
	background: url("makubetsu_pabusapo_ico04.png") no-repeat center center / contain;
	display: block;
}
.makubetsu_pabusapo .acdn_title::after {
	content: "";
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
	width: 20px;
	height: 20px;
	margin: auto 0;
	background: url("makubetsu_pabusapo_ico06.png") no-repeat center center / contain;
}
.makubetsu_pabusapo .acdn_title.active::after {
	background: url("makubetsu_pabusapo_ico07.png") no-repeat center center / contain;
}
.makubetsu_pabusapo .acdn_content {
	position: relative;
	padding: 10px 50px 10px 60px;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2.0;
	letter-spacing: 0.08em;
	background-color: #FFF;
	border: 3px solid #FFF;
	display: none;
}
.makubetsu_pabusapo .acdn_content::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 22px;
	margin: 0;
	width: 28px;
	height: 19px;
	background: url("makubetsu_pabusapo_ico05.png") no-repeat center center / contain;
	display: block;
}

@media screen and (max-width: 767px) {
.makubetsu_pabusapo .faq {
	padding: 40px 0 0;
}
.makubetsu_pabusapo .faq_box {
	padding: 30px 20px 40px;
	border: 3px solid #369B4F;
}
.makubetsu_pabusapo .faq_acdn + .faq_acdn {
	margin-top: 20px;
}
.makubetsu_pabusapo .acdn_title {
	padding: 15px calc(50px * 0.8) 15px calc(60px * 0.8);
	font-size: 1.125rem;
	border: 2px solid #C1DB4A;
}
.makubetsu_pabusapo .acdn_title::before {
	top: 18px;
	left: calc(22px * 0.8);
	width: calc(28px * 0.8);
	height: calc(25px * 0.8);
}
.makubetsu_pabusapo .acdn_title::after {
	right: calc(22px * 0.8);
	width: calc(20px * 0.8);
	height: calc(20px * 0.8);
}
.makubetsu_pabusapo .acdn_content {
	padding: 10px 0 10px calc(60px * 0.8);
	font-size: 1rem;
	border: 2px solid #FFF;
}
.makubetsu_pabusapo .acdn_content::before {
	top: 18px;
	left: calc(22px * 0.8);
	width: calc(28px * 0.8);
	height: calc(19px * 0.8);
}
}

.makubetsu_pabusapo .contact {
	clear: both;
	max-width: 980px;
	margin: 100px auto;
	padding: 50px 40px;
	background-color: #FFF;
	border-radius: 10px;
}
.makubetsu_pabusapo .contact_inner {
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.makubetsu_pabusapo .contact_txt {
	width: 470px;

}
.makubetsu_pabusapo .contact h4 {
	margin-bottom: 10px;
	font-size: 1.875rem;
	font-weight: 900;
	color: #329246;
}
.makubetsu_pabusapo .contact p {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2.0;
	letter-spacing: 0.08em;
}


@media screen and (max-width: 767px) {
.makubetsu_pabusapo .contact {
	margin: 60px auto;
	padding: 30px 20px 40px;
}
.makubetsu_pabusapo .contact_inner {
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
	display: block;
}
.makubetsu_pabusapo .contact_txt {
	width: auto;
	margin-bottom: 20px;
}
.makubetsu_pabusapo .contact h4 {
	margin-bottom: 10px;
	font-size: 1.5625rem;
	text-align: center;
}
.makubetsu_pabusapo .contact p {
	font-size: 1rem;
}
.makubetsu_pabusapo .contact_btn {
	max-width: calc(601px * 0.8);
	margin-left: auto;
	margin-right: auto;
}
}


@media print {
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .sp_menu_panel,
  .page_top {
    display: none;
  }
  .makubetsu_pabusapo .main_title img {
    width: 100%;
  }
}
