:root {
  --header_h: 70px;
}
header {
	width: 100%;
	height: var(--header_h);
	position: fixed;
	top: 0;
	left: 0;
	z-index: var(--z_header);
}
.header_inner {
	width: 95%;
	max-width: 1340px;
}
.header_left_area {
	width: 28%;
	max-width: 300px;
}
.header_right_area {
	width: 70.5%;
}
.header_right_menu_area {
	width: 51%;
}
.header_right_btn_area {
	width: 41.5%;
}
.header_right_btn {
	width: 13.1944vw;
	min-width: 190px;
}
.header_right_menu_link {
	font-size: 16px;
}
.sp_menu_link {
	font-size: 20px;
}
.hero_section_top {
	padding-top: 1.5em;
}
.wpSubmitBtn.heroTop, .wpSubmitBtn.contact {
	margin-top: 1.125rem;
}
.hero_section_bottom {
	margin: 4.5em auto 3em;
}
.case_circle.one {
	top: auto;
	bottom: -12.5em;
}
.p-case {
	padding: 10em 0 6em;
}
.p-case button {
	border: none;
}
.p-case__li_label {
	background-color: #8BB924;
}
.p-case__li_heading {
	color: #8BB924;
	font-weight: 800;
	letter-spacing: 0.04em;
}
.p-case__li_text {
	color: #333333;
}
.c-case_modal {
	font-weight: 400;
	letter-spacing: 0em;
}
.c-case_modal a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
.c-case_modal span {
	display: inline-block;
	letter-spacing: inherit;
}
.c-case_modal__cont img {
	display: inline-block;
	width: 100%;
	height: auto;
}
.c-case_modal__heading img {
	width: 184px;
}
.contact_banner_button_icon img {
	width: 50%;
	margin: auto;
}

.function_section {
	padding: 16em 0 16em;
}
.function_circle {
	position: absolute;
}
.function_circle.one {
	top: 5.5em;
}
.function_circle.two {
	top: -5em;
}
.function_circle.three {
	width: 21.52%;
	height: 21.52%;
	top: -6em;
	left: -1em;
	z-index: 100;
}
.info_section_back_obj {
	position: absolute;
	width: 100%;
	bottom: -7em;
	z-index: 1;
}

@media screen and (min-width: 960px) {
	.p-case {
		padding: 10em 0 6em;
	}
	.p-case__li_heading {
		font-size: 18px;
		font-size: 1.125rem;
		font-weight: 800;
		line-height: 1.5;
	}
	.c-case_modal {
		--header_h: 70px;
	}
}

@media screen and (max-width: 959px) {
	.header_inner {
		width: 92%;
		height: 60px;
	}
	.header_left_area {
		width: 80px;
	}
	.header_right_hb_menu {
		height: 2px;
	}
	.header_right_btn {
		width: 82.0512vw;
		min-width: 320px;
	}
	.hero_section_top {
		padding-top: 40px;
	}
	.wpSubmitBtn.heroTop, .wpSubmitBtn.contact {
		margin-top: 1.125rem;
	}
	.hero_section_bottom {
		margin: 0 auto;
		padding: 1.5em 0 1.5em;
		background: #fff;
	}
	.hero_section_center_text_area {
		margin: 16px auto;
	}
	.contact_banner_wrapper {
		gap: 2em;
	}
	.choosing_section_contents_text_area.reason3 {
		margin-bottom: 2.5em;
	}
	.choosing_section {
		padding-bottom: 3.5em;
	}
	.case_circle.one {
		display: none;
	}
	.p-case {
		padding: 5em 0;
	}
	.p-case__sec_ttl {
		margin: 2em 0;
	}
	.p-case__li_heading {
		letter-spacing: 0.02em;
	}
	.function_section {
		padding: 3.5em 0 16em;
	}
	.info_section_back_obj {
		bottom: -2em;
	}
	.function_circle.two {
		width: 55%;
		top: -4.5em;
		right: -4.5em;
	}
	.function_circle.one {
		width: 22%;
		height: 22%;
		top: 0;
		right: 5em;
	}
	.function_circle.three {
		width:39%;
		height: 39%;
		top: -4em;
		left: -1em;
	}
	.c-case_modal__heading img {
		width: 118px;
	}
	.contact_banner_button_icon img {
		width: 46%;
	}
}

.p-case .contact_banner_wrapper {
  position: relative;
  -webkit-box-pack: center;
  justify-content: center;
  gap: 45px;
  width: 100%;
  max-width: 1000px;
  margin: 2.5em auto 4em;
  background-color: #DCF1AD;
  border-radius: 20px;
  padding: 45px 30px 35px;
  z-index: auto;
}
.p-case .contact_banner_wrapper::before {
  content: "";
  width: 100%;
  height: 50px;
  border-radius: 20px;
  background-color: transparent;
  background-image: radial-gradient(circle, #B1E63B 2px, transparent 2px);
  background-position: 0 0;
  background-size: 8px 8px;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-15px);
  z-index: 0;
}
.p-case .contact_banner_wrapper::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background-color: #DCF1AD;
	z-index: 1;
}
.p-case .contact_banner_button_left, .contact_banner_button_right {
  max-width: 350px;
}

@media screen and (max-width: 959px) {
  .p-case .contact_banner_wrapper {
    align-items: center;
    margin: 4em auto 2em;
    padding: 45px 30px 35px;
  }
  .p-case .contact_banner_wrapper::before {
    z-index: -2;
  }
}

@media screen and (max-width: 420px) {
  .p-case .contact_banner_wrapper {
    align-items: center;
    margin: 2.5em auto 2em;
    padding: 10.7142vw 7.1428vw 8.3333vw;
    gap: 2em;
  }
  .p-case .contact_banner_button {
    font-size: 3.8095vw;
  }
  .p-case .contact_banner_button_icon {
    width: 80.9523vw;
    height: 22.6190vw;
  }
  .p-case .contact_banner_button_icon.left:after {
    font-size: 2.8571vw;
  }
}

/*--------------------------------------------------------*/
/*  announce_section                                      */
/*--------------------------------------------------------*/
.announce_section {
	width: 100%;
	background: #E8F4CD;
	margin-top: 70px;
}
.announce_inner {
	width: 95%;
	max-width: 1100px;
	padding: 15px 0;
	margin: 0 auto;
	text-align: center;
}
.announce_list {
	display: inline-flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: auto;
}
.announce_list dt {
	width: 180px;
	padding: 15px 20px;
	font-size: 13px;
	font-weight: 500;
	color: #333333;
	text-align: left;
	border-right: 1px solid #D5D5D5;
}
.announce_list dt .exclamation {
	position: relative;
}
.announce_list dt .exclamation::before {
	position: absolute;
	content: "";
	top: 0;
	left: -24px;
	width: 19px;
	height: 19px;
	background: url(../images/common/icon__exclamation-circle.png) no-repeat;
	background-size: cover;
}
.announce_list dd {
	width: auto;
	flex: 1;
	padding: 15px 20px;
	font-size: 15px;
	font-weight: 700;
	text-align: left;
	color: #000;
}
.announce_list dd a {
	position: relative;
	color: #000;
	text-decoration: underline;
}
.announce_list dd a::after {
	position: absolute;
	content: "";
	top: 0;
	right: -28px;
	width: 16px;
	height: 16px;
	background: url(../images/common/icon__link_brank.png) no-repeat;
	background-size: cover;
}

@media screen and (max-width: 959px) {
	.announce_section {
		margin-top: 60px;
	}
	.announce_inner {
		padding: 7px 0;
	}
	.announce_list {
		flex-flow: column;
		width: 100%;
	}
	.announce_list dt {
		width: 100%;
		padding: 0;
		padding-left: 24px;
		font-size: 11px;
		text-align: center;
		border-right: none;
	}
	.announce_list dt .exclamation::before {
		left: -20px;
		width: 16px;
		height: 16px;
	}
	.announce_list dd {
		width: 100%;
		padding: 0 24px 0 0;
		font-size: 13px;
		text-align: center;
	}
	.announce_list dd a {
		position: relative;
		color: #000;
		text-decoration: underline;
	}
	.announce_list dd a::after {
		position: relative;
		display: inline-block;
		right: -20px;
	}
}


/*--------------------------------------------------------*/
/*  infoSection                                           */
/*--------------------------------------------------------*/
.info_section {
	position: relative;
	width: 100%;
	padding: 6em 0 5em;
	background: #fff;
}
.info_inner {
	position: relative;
	width: 95%;
	max-width: 1100px;
	padding: 50px;
	margin: 3em auto 0;
	background: #FAFAFA;
	border-radius: 30px;
	z-index: 2;
}
.info_list {
	display: grid;
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.info_list .info_item {
	width: 100%;
}
.info_list .info_item a {
	position: relative;
	display: block;
	width: 100%;
	padding: 25px 100px 30px 60px;
	background: #fff;
	border-radius: 12px;
}

.info_list .info_item a.target_brank::after{
	position: absolute;
	content: "";
	top: calc(50% - 12px);
	right: 25px;
	width: 24px;
	height: 24px;
	background: url(../images/common/icon__link_arrow.png) no-repeat;
	background-size: cover;
}
.info_list .info_item .info_item-header {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.info_list .info_item time {
	margin-right: 15px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	color: #9FD427;
}
.info_list .info_item .info_category {
	height: 21px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
	color: #fff;
	background: #9FD427;
	border-radius: 12px;
}
.info_list .info_item .info_item-body {
	margin-top: 15px;
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .05em;
	color: #333333;
}

@media screen and (max-width: 959px) {
	.info_section {
		padding: 3em 0 4em;
	}
	.info_section .contents_title.useful {
		margin-bottom: 2.3em;
	}
	.info_inner {
		width: 91.28%;
		padding: 1.9em 0.7em;
		margin: 2.3em auto 0;
		border-radius: 2em;
	}
	.info_list {
		gap: 1.25rem;
	}
	.info_list .info_item a {
		padding: 0.9em 2.2em 1.25em 1.25em;
		border-radius: 12px;
	}

	.info_list .info_item a.target_brank::after{
		top: calc(50% - 9px);
		right: 14px;
		width: 18px;
		height: 18px;
	}
	.info_list .info_item time {
		margin-right: 15px;
		font-size: 12px;
	}
	.info_list .info_item .info_category {
		height: 19px;
		padding: 0 10px;
		font-size: 10px;
		border-radius: 12px;
	}
	.info_list .info_item .info_item-body {
		margin-top: 0.65em;
		font-size: 12px;
		line-height: 1.83;
	}
}



/*--------------------------------------------------------*/
/*  marquee                                               */
/*--------------------------------------------------------*/
.p-marquee {
	max-width: 1920px;
	padding: 0 0 0.5em;
	margin: 0 auto;
	overflow: hidden;
	background: #fff;
}
.p-marquee img {
	display: inline-block;
	width: 100%;
	max-width: 100%;
	height: auto;
	font: initial;
	font-style: italic;
	vertical-align: middle;
}
.p-marquee__container {
	display: flex;
	flex-wrap: nowrap;
}
/*--
.p-marquee__list {
	list-style: none;
	flex-shrink: 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 5px;
	padding-left: 5px;
	animation: loop 44s linear infinite;
}
--*/
.p-marquee__list{
	list-style: none;
	flex-shrink: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px;
	width: 100%;
	padding-left: 5px;
}

.p-marquee__img {
	flex-shrink: 0;
	width: 108px;
	aspect-ratio: 178/53;
}

@media screen and (min-width: 960px) {
	.p-marquee {
		padding: 18px 0;
	}
	.p-marquee__list {
		gap: 10px;
		padding-left: 10px;
	}
	.p-marquee__img {
		width: 178px;
	}
}

@keyframes loop {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}



/*--------------------------------------------------------*/
/*! _main*/
/*--------------------------------------------------------*/
.l-main__inner {
  width: 100%;
  max-width: 1260px;
  padding: 0 20px;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .l-main__inner {
    padding: 0 30px;
  }
}

/*--------------------------------------------------------*/
/* _utility-index
/*--------------------------------------------------------*/
/*--------------------------------------------------------*/
/* _utility
/*--------------------------------------------------------*/
.u-pc_only {
  display: none;
}
@media screen and (min-width: 960px) {
  .u-pc_only {
    display: block;
  }
}

@media screen and (min-width: 960px) {
  .u-sp_only {
    display: none;
  }
}

.u-ttu {
  text-transform: uppercase;
}

.u-ttc {
  text-transform: capitalize;
}