@charset "utf-8";
/*
 * smp.css
 *
 *  version --- 1.0
 *  updated --- 2024/10/24
 */

/*** 非スマホ 751px ~ ***/
@media screen and (min-width: 751px) {
	.is-sp {
		display: none !important;
	}
}

@media only screen and (max-width : 750px) {
	.is-pc {
		display: none !important;
	}
}

/* !wrapper
---------------------------------------------------------- */
@media screen and (max-width: 750px) {
	#wrapper {
		padding: 5rem 0 0;
	}

	.inner02,
	.inner {
		padding: 0 2rem;
	}
}

/* !header
---------------------------------------------------------- */
@media screen and (max-width: 750px) {
	.header-inner {
		height: 5rem;
		padding: 0 2rem;
	}

	.header-logo {
		width: 17.5rem;
		position: relative;
		z-index: 999;
	}

	.btn-menu {
		position: fixed;
		right: 0;
		top: 0;
		z-index: 9999;
		cursor: pointer;
		width: 5rem;
		height: 5rem;
		background: #E60013;
	}

	/*ボタン内側*/
	.btn-menu span {
		display: inline-block;
		transition: all .5s;
		position: absolute;
		left: 1.5rem;
		height: .2rem;
		width: 2rem;
		border-radius: .4rem;
		background: #fff;
	}

	.btn-menu span:nth-of-type(1) {
		top: 1.8rem;
	}

	.btn-menu span:nth-of-type(2) {
		top: 50%;
		transform: translateY(-50%);
	}

	.btn-menu span:nth-of-type(3) {
		bottom: 1.7rem;
	}

	.is-active.btn-menu span:nth-of-type(1) {
		transform: translateY(.7rem) rotate(45deg);
	}

	.is-active.btn-menu span:nth-of-type(2) {
		opacity: 0;
	}

	.is-active.btn-menu span:nth-of-type(3) {
		transform: translateY(-.6rem) rotate(-45deg);
	}


	/* !g-navi
	---------------------------------------------------------- */
	#g-navi {
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100vh;
		z-index: 110;
		box-sizing: border-box;
		padding: 7.6rem 2rem 8rem;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s, right .3s;
		background: #fff;
	}

	#g-navi.is-active {
		opacity: 1;
		pointer-events: auto;
	}

	.nav_list {
		flex-direction: column;
		grid-gap: 0;
		border-top: 1px solid #DBDBDB;
	}

	.nav_list li {
		border-bottom: 1px solid #DBDBDB;
	}

	.nav_list a {
		font-size: 1.4rem;
		line-height: 1.5;
		font-weight: bold;
		letter-spacing: 0.08em;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		height: 4.8rem;
		border-bottom: 0;
	}

	.nav_list a.parentA {
		background: none;
		padding: 0;
	}

	.subBox {
		opacity: 1;
		pointer-events: auto;
		transition: opacity .5s;
		display: none;
		position: static;
		left: 50%;
		top: 100%;
		z-index: 1;
		transform: translateX(0%);
		white-space: nowrap;
		padding: 0 0 3rem;
	}

	.subBox:before {
		content: none;
	}

	.subBtn {
		position: absolute;
		right: 0;
		top: 0;
		z-index: 2;
		width: 4.7rem;
		height: 4.7rem;
		background: url(../img/common/sub_close_sp.svg)no-repeat right center;
		background-size: 1.7rem auto;
		cursor: pointer;
	}

	.subBtn.open {
		background: url(../img/common/sub_close_sp.svg)no-repeat right center;
		background-size: 1.7rem auto;
	}

	.subLi {
		background: none;
		border: 0 !important;
	}

	.subLi+.subLi {
		margin-top: 1.2rem;
	}

	.nav_list .subBox a {
		font-size: 1.2rem;
		font-weight: 500;
		height: auto;
		background: none;
		padding-left: 0;
	}

	.nav_copy {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 6.3rem;
		font-size: 1.1rem;
		letter-spacing: .1em;
		background: #EFEFEF;
	}

	.btn_fixed {
		z-index: 88;
		position: fixed;
		right: 0;
		left: 0;
		top: auto;
		bottom: 0;
		background: #fff;
		transform: none;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		width: auto;
		border-radius: 0;
		display: none;
	}

	.btn_fixed a {
		writing-mode: horizontal-tb;
		font-size: 1.4rem;
		line-height: 1.33;
		padding: 1rem 1rem;
		height: 5.8rem;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.btn_fixed a+a {
		border: 0;
		border-left: 1px solid #D8D8D8;
	}
}

/* !teaser
---------------------------------------------------------- */
@media only screen and (max-width : 750px) {
	.teaser_hd {
		padding: 4.6rem 0 2rem;
	}

	.teaser_hd .eng {
		font-size: 3rem;
		line-height: 1.2;
		letter-spacing: .05em;
		margin-right: -1rem;
	}

	.teaser_hd .jap {
		font-size: 1.7rem;
	}

	.teaser_img .img_box {
		padding-top: 18.4rem;
	}
}

/* !footer
---------------------------------------------------------- */
@media only screen and (max-width : 750px) {
	.footer_contact {
		background: url(../img/common/bg_contact_sp.jpg)no-repeat center center;
		background-size: cover;
		padding: 5rem 0 6.4rem;
	}

	.footer_contact_dl {
		display: block;
	}

	.footer_contact_dl_txt {
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: .1em;
		text-shadow: 0 0 3rem #000;
	}

	.footer_contact_dl dd {
		margin-top: 2.4rem;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 1rem;
	}

	.footer_contact_dl .item {
		border-radius: 1rem;
		background: #fff;
		padding: 2rem 5rem 2.5rem;
		width: auto;
	}

	.footer_contact_dl .ttl {
		font-size: 1.4rem;
		padding-bottom: 1.4rem;
		border-bottom: .2rem solid #C6C6C6;
	}

	.footer_contact_tel {
		margin-top: 1.5rem;
	}

	.footer_contact_tel .tel_link {
		padding-left: 5.1rem;
		background: url(../img/common/tel.svg)no-repeat left center;
		background-size: 3.4rem auto;
		display: flex;
		flex-direction: column;
	}

	.footer_contact_tel .number {
		font-size: 2rem;
		line-height: 1.1;
		font-weight: bold;
		letter-spacing: .04em;
	}

	.footer_contact_tel .time {
		font-size: .7rem;
		font-weight: 300;
	}

	.footer_contact_email {
		margin-top: 1.7rem;
		display: flex;
		justify-content: center;
		align-items: center;
		grid-gap: 1.2rem;
	}

	.footer_contact_email_icon {
		width: 3.4rem;
	}

	.footer_contact_email .btn_link01 {
		font-size: 1.1rem;
		font-weight: bold;
		height: 3.7rem;
		white-space: nowrap;
	}

	#footer {
		padding: 5rem 0 3.5rem;
	}

	.footer-inner {
		display: block;
	}

	.footer_logo {
		width: 26.5rem;
		margin-bottom: 3rem;
	}

	.footer_addr {
		display: block;
	}

	.footer_addr+.footer_addr {
		margin-top: 1.4rem;
	}

	.footer_addr dt {
		width: auto;
		font-size: 1.5rem;
		margin-bottom: .5rem;
	}

	.footer_addr dd {
		font-size: 1.2rem;
		line-height: 1.25;
	}

	.footer_list {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 1.6rem;
		margin: 3rem 0 0;
	}

	.footer_list a {
		font-size: 1.5rem;
		font-weight: bold;
		letter-spacing: .07em;
	}

	.footer_box {
		display: flex;
		justify-content: flex-end;
		position: relative;
		display: none;
	}

	.footer_box_img {
		width: auto;
	}

	.footer_box_txt {
		position: absolute;
		right: 2rem;
		bottom: 2rem;
		font-size: 2.2rem;
		line-height: 1.33;
	}

	.footer_box_txt font {
		font-size: 3.2rem;
	}

	#copyright {
		position: static;
		transform: none;
		font-size: .6rem;
		text-align: left;
		margin-top: 1.8rem;
	}

	.page-top {
		right: 2rem;
		top: auto;
		bottom: 3.5rem;
		width: 6.4rem;
		z-index: 9;
	}
}

@media only screen and (max-width : 750px) {

	/*common*/
	.btn_link01 {
		height: 4.7rem;
		font-size: 1.4rem;
		padding: 0 1.1rem 0 1.5rem;
	}

	.btn_link01_icon {
		height: 2.5rem;
		width: 2.5rem;
		min-width: 2.5rem;
		margin-left: 1.5rem;
	}

	.btn_link02 {
		width: 16.3rem;
		height: 4rem;
		background: url(../img/common/arrow_btn02.svg)no-repeat right 1.8rem center #3E3E3E;
		background-size: 1.3rem auto;
		font-size: 1.4rem;
		padding-right: 2rem;
	}

	.hd_medium {
		margin-bottom: 2.5rem;
	}

	.hd_medium .eng {
		font-size: 5rem;
		line-height: 1.2;
	}

	.hd_medium .jap {
		font-size: 1.4rem;
		line-height: 1.44;
	}
}

/*news*/
@media only screen and (max-width : 750px) {
	.news_wrap {
		padding: 5rem 0;
	}

	.categ_select {
		width: 10.7rem;
		height: 2.6rem;
		padding: 0 2.6rem 0 1.3rem;
		font-size: 1.4rem;
		background: url(../img/common/select.svg) no-repeat right 1.3rem center #FFBEBE;
		background-size: 1rem auto;
		border: 0;
		border-radius: 0;
		margin-bottom: 1rem;
	}

	.news_categ {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 1rem;
		margin-bottom: 2.5rem;
	}

	.news_categ a {
		height: 3rem;
		font-size: 1.4rem;
		letter-spacing: .02em;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #fff;
		border: 1px solid #E0E0E0;
	}

	.news_categ a.is_active {
		pointer-events: none;
		border-color: #FFBEBE;
		background-color: #FFBEBE;
	}

	.news_list li {
		border-bottom: 1px solid #D5D5D5;
	}

	.news_list a {
		display: block;
		align-items: flex-start;
		padding: 2.5rem 0;
		opacity: 1 !important;
		position: relative;
		font-size: 1rem;
	}

	.news_list a:before {
		top: 2.2rem;
		transform: none;
		right: 0;
		width: 2.1rem;
		height: 2.1rem;
		background: url(../img/common/arrow_news.svg)no-repeat;
		background-size: 100% auto;
		box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .16);
	}

	.news_list .date {
		font-size: 1rem;
		letter-spacing: .07em;
		margin-bottom: .5rem;
		width: auto;
		display: inline-block;
	}

	.categ_span {
		display: flex;
		grid-gap: 1rem;
	}

	.categ_span span {
		font-size: .9rem;
		font-weight: 500;
		letter-spacing: .05em;
		color: #E60013;
		border: 1px solid #E60013;
		padding: 0 .7rem;
	}

	.news_list .categ_span {
		font-size: .9rem;
		display: inline-flex;
		width: auto;
		min-width: auto;
		padding: 0;
		margin-left: 1rem;
		margin-bottom: 1rem;
	}

	.news_list .cont {
		width: auto;
	}

	.news_list .ttl {
		font-size: 1.6rem;
		line-height: 1.33;
		font-weight: bold;
		margin-bottom: 1rem;
		display: block;
		transition: color 0.5s;
	}

	.news_list .txt {
		font-size: 1.4rem;
		line-height: 1.5;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}

	/* !wp-pagenavi
	---------------------------------------------------------- */
	.wp-pagenavi {
		grid-gap: 1.2rem;
		width: 100%;
		margin: 3.5rem auto 0;
	}

	.wp-pagenavi a,
	.wp-pagenavi .current {
		width: 3.1rem;
		height: 3.1rem;
		font-size: 1.2rem;
		line-height: 1.5;
	}

	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {
		font-family: "Noto Sans JP", sans-serif;
		font-style: normal;
		font-size: 2rem;
		line-height: 1;
		width: auto;
		color: #191919 !important;
		background: none !important;
	}
}


/*news_detail*/
@media only screen and (max-width : 750px) {
	.news_detail_wrap {
		padding-bottom: 7rem;
	}

	.detail_box {
		margin: 0 -2rem;
		padding: 4.5rem 2rem 4rem;
	}

	.detail_top {
		display: flex;
		align-items: center;
		grid-gap: 2rem;
		font-size: 1.4rem;
	}

	.detail_top .date {
		font-size: 1.4rem;
	}

	.detail_top .categ_span span {
		font-size: 1.4rem;
	}

	.detail_ttl {
		font-size: 1.9rem;
		font-weight: bold;
		margin: 1.3rem 0 2.6rem;
	}

	.detail_cont {
		font-size: 1.4rem;
		line-height: 2;
	}

	.detail_cont p+p {
		padding-top: 1.5em;
	}

	.detail_btn {
		margin-top: 4rem;
		text-align: center;
	}
}

/*contact*/
@media only screen and (max-width : 750px) {
	.contact_wrap {
		padding: 0;
	}

	.contact_box {
		padding: 4.6rem 2rem 5rem;
		margin: 0 -2rem;
	}

	.contact_note {
		font-size: 1.4rem;
		font-weight: 500;
		text-align: center;
		letter-spacing: .12em;
		line-height: 1.6;
		margin-bottom: 2.5rem;
	}

	.contactTable th {
		display: block;
		width: auto;
		padding: 0 0 1rem;
		font-size: 1.4rem;
		line-height: 1.33;
		grid-gap: 1rem;
	}

	.contactTable td {
		display: block;
		font-size: 1.4rem;
		padding: 0 0 2rem;
	}

	.contactTable input[type=text],
	.contactTable input[type=tel],
	.contactTable input[type=email],
	.contactTable select,
	.contactTable textarea {
		width: 100%;
		height: 4.8rem;
		padding: 0 2rem;
		font-size: 1.4rem;
	}

	.contactTable select {
		background: url(../img/common/select.svg) no-repeat right 1rem center #fff;
		background-size: auto .8rem;
		padding: 0 2rem 0 1.5rem;
	}

	.contactTable textarea {
		display: block;
		resize: none;
		min-height: 17rem;
		padding: 1rem 1.5rem;
	}

	.contactTable td.half_td,
	.birth_box {
		grid-gap: 1rem;
	}

	.formRadio label,
	.formCheckbox label {
		font-size: 1.5rem;
	}

	.formButton {
		margin-top: 3rem;
	}

	.contactTable th span {
		width: 3.5rem;
		height: 1.8rem;
		margin-left: 1rem;
	}

	.formCheckbox,
	.formCheckbox .wpcf7-radio,
	.formRadio .wpcf7-radio,
	.formRadio,
	.formCheckbox .wpcf7-checkbox {
		grid-gap: 1rem 2rem;
		padding: 0;
	}

	.formCheckbox label span {
		padding-left: 2.2rem;
	}

	.formCheckbox label span:before {
		top: .3rem;
		width: 1.7rem;
		height: 1.7rem;
	}

	.formCheckbox label span:after {
		left: .3rem;
		top: .6rem;
		width: 1.1rem;
		height: 1.1rem;
	}

	.formAgree {
		padding-top: 0;
	}

	.formAgree .formCheckbox label span {
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.formAgree .formCheckbox label span:after {
		top: .9rem;
	}

	.formButton .btn_form {
		width: 16.3rem;
		max-width: 100%;
		height: 3.9rem;
		font-size: 1.4rem;
		letter-spacing: 0.03em;
	}

	/*social*/
	.social_wrap {
		padding: 4.5rem 0 5.5rem;
	}

	.social_box {
		padding: 0;
	}

	.social_box_jap {
		font-size: 2.5rem;
		letter-spacing: .1em;
	}

	.social_box_eng {
		font-size: 1rem;
	}

	.social_box_eng:after {
		content: '';
		display: block;
		background: #E60013;
		margin: 2rem 0 2.6rem;
		width: 3rem;
		height: .3rem;
	}

	.social_box_ttl {
		font-size: 1.6rem;
		line-height: 2.1875;
		margin: 2rem 0;
	}

	.social_img {
		margin: 2rem 0;
	}

	.social_box_txt {
		font-size: 1.4rem;
		line-height: 2;
	}

	.social_box_txt p+p {
		margin-top: 1.5em;
	}

	.social_box_link {
		margin-top: 2.5rem;
	}

	.social_box_link img {
		width: 33.5rem;
		max-width: 100%;
	}

	/*strengths*/
	.strengths_wrap {
		padding: 5rem 0;
	}

	.strengths_item+.strengths_item {
		margin-top: 3.5rem;
	}

	.flex_box {
		position: relative;
		display: block;
		justify-content: space-between;
	}

	.flex_box_left {
		width: auto;
	}

	.flex_box_right {
		width: auto;
	}

	.strengths_img img {
		height: 20rem;
		object-fit: cover;
	}

	.strengths_point {
		font-size: 8.6rem;
		line-height: 1.33;
		color: #EBEBEB;
		text-align: center;
		position: absolute;
		left: .2em;
		top: -1rem;
		z-index: 11;
	}

	.strengths_cont:after {
		width: 1.2rem;
	}

	.strengths_ttl {
		z-index: 10;
		position: absolute;
		padding: .6rem 1.5rem .6rem 0;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.31;
		letter-spacing: 0.02em;
	}

	.red_font {
		color: #E60013;
	}

	.strengths_ttl font {
		font-size: 1.1rem;
		font-weight: 500;
	}

	.strengths_txt {
		margin-top: 1.5rem;
		font-size: 1.4rem;
		font-weight: 300;
		line-height: 1.785;
	}

	.strengths_txt p+p {
		margin-top: 2.5rem;
	}

	.strengths_txt b {
		font-size: 1.6rem;
		line-height: 1.5;
		margin-bottom: 1rem;
	}

	/*company*/
	.company_wrap {
		padding: 4.5rem 0;
	}

	.company_wrap .flex_box_left {
		width: auto;
	}

	.company_wrap .flex_box_right {
		width: auto;
	}

	.hd_small .jap {
		font-size: 2.5rem;
		margin-bottom: .2rem;
	}

	.hd_small .eng {
		font-size: 1rem;
	}

	.hd_small:after {
		margin: 2.5rem 0 3.5rem;
		width: 3rem;
		height: .3rem;
	}

	.company_table th,
	.company_table td {
		font-size: 1.3rem;
		line-height: 1.92;
		border: 1px solid #C3C3C3;
		padding: 1.3rem .75rem;
	}

	.company_table th {
		font-size: 1.3rem;
		line-height: 1.2;
		padding: 1.7rem .75rem;
		width: 10.8rem;
		vertical-align: top;
	}

	.company_table td p+p {
		margin-top: 2rem;
	}

	.company_table td b {
		display: flex;
		align-items: center;
		font-weight: bold;
	}

	.company_table td b:before {
		width: 1.2rem;
		height: 1.2rem;
		margin-right: .4rem;
	}

	.company_table dl {
		display: flex;
	}

	.company_table dt {
		width: 12.5rem;
		min-width: 12.5rem;
	}

	.target_link {
		padding-right: 2rem;
		background: url(../img/common/target_link.svg)no-repeat right center;
		background-size: auto 1.2rem;
	}

	.company_sec02 {
		padding-top: 5rem;
	}

	.company_list {
		display: flex;
		flex-wrap: wrap;
		margin-top: -2.5rem;
	}

	.company_list li {
		width: 100%;
		border-bottom: 1px solid #C3C3C3;
		padding: 2.5rem 0;
	}

	.company_list .ttl {
		display: flex;
		align-items: center;
		font-size: 1.7rem;
		font-weight: bold;
		color: #E60013;
		margin-bottom: 2rem;
	}

	.company_list .ttl span {
		width: 3rem;
		font-size: 1.4rem;
	}

	.company_list .txt {
		font-size: 1.4rem;
		line-height: 2;
	}

	.company_sec03 {
		padding-top: 5rem;
	}

	.message_img {
		margin: 0 -2rem;
	}

	.message_name {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 2rem 0;
		grid-gap: .5rem 1rem;
	}

	.message_name p {
		font-size: 1.4rem;
	}

	.message_name span {
		font-size: 2rem;
		top: -.1em;
	}

	.message_name font {
		font-size: .7rem;
		letter-spacing: .2em;
	}

	.message_item+.message_item {
		margin-top: 2.5rem;
	}

	.hd01 {
		font-size: 1.6rem;
		grid-gap: 1.6rem;
		border-left: .7rem solid #E60013;
		padding: .7rem 1rem .7rem 1.2rem;
		margin-bottom: 1.5rem;
	}

	.hd01 font {
		font-size: 1.4rem;
		font-weight: 400;
		letter-spacing: .05em;
	}

	.common_txt {
		font-size: 1.4rem;
		line-height: 1.785;
	}

	.common_txt p+p {
		margin-top: 1.5em;
	}

	/*compliance*/
	.company_table+.common_txt,
	.common_txt+.company_table,
	.common_txt+.number_list {
		margin-top: 1.5em;
	}

	.number_list li {
		font-size: 1.4rem;
		line-height: 1.785;
		font-weight: 500;
		padding-left: 4rem;
		position: relative;
	}

	.number_list li+li {
		margin-top: 2.4rem;
	}

	.number_list span {
		font-size: 1.3rem;
		width: 2.2rem;
		height: 2.2rem;
		top: 1.1em;
	}

	.company_sec01 .company_table td,
	.company_sec01 .company_table th {
		width: auto;
		display: block;
		border: 0;
		border-bottom: 1px solid #D1D1D1;
	}

	.company_sec01 .company_table td {
		padding-top: 1.2rem;
	}

	.company_sec01 .company_table th {
		padding-bottom: 0;
		background: none;
		border-bottom: 0 solid #D1D1D1;
	}

	.company_sec03 .company_table td {
		vertical-align: middle;
	}

	.company_sec03 .company_table th {
		width: 10rem;
	}

	.compliance_item+.compliance_item {
		padding-top: 2rem;
		margin-top: 2rem;
		border-top: 1px solid #C3C3C3;
	}

	.compliance_item_hd {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}

	.compliance_list li {
		padding-left: 2rem;
	}

	.compliance_list li:before {
		width: .8rem;
		height: .8rem;
		top: 1em;
	}

	/*intermediaries*/
	.intermediaries_box {
		padding: 4.5rem 2rem;
	}

	.hd_small.no_line {
		margin-bottom: 4rem;
	}

	.intermediaries_txt {
		font-size: 1.4rem;
		line-height: 1.785;
		text-align: left;
	}

	.intermediaries_btn {
		margin-top: 2.5rem;
	}

	.intermediaries_btn li+li {
		margin-top: 1.2rem;
	}

	.intermediaries_btn a {
		height: 5.4rem;
		font-size: 1.4rem;
		padding-right: 0;
	}

	.intermediaries_btn a.btn_login {
		background: url(../img/common/btn_login.svg)no-repeat right 1.3rem center #E60013;
		background-size: 2rem auto;
	}

	.intermediaries_btn a.btn_download {
		background: url(../img/common/btn_download.svg)no-repeat right 1.8rem center #3E3E3E;
		background-size: 2rem auto;
	}

	/*residents*/
	.js-select {
		max-width: 20rem;
		position: relative;
	}

	.js-select-text {
		display: flex;
		align-items: center;
		height: 2.6rem;
		padding: 0 1.3rem;
		font-size: 1.4rem;
		background: url(../img/common/select.svg) no-repeat right 1.3rem center #FFBEBE;
		background-size: 1rem auto;
		border: 0;
		border-radius: 0;
		margin-bottom: 3.3rem;
	}

	.js-select ul {
		padding: 0;
		margin: 0;
		position: absolute;
		left: 0;
		top: 100%;
		z-index: 1;
		width: 100%;
		display: none;
	}

	.anchor_wrap {
		top: 0;
		left: 0;
		z-index: 11;
		position: relative;
	}

	.anchor_list {
		display: block;
	}

	.anchor_list li {
		width: 100%;
	}

	.anchor_wrap a {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		height: 2.6rem;
		padding: 0 1.3rem;
		font-size: 1.4rem;
		background: #fff;
		border: 0;
		border-radius: 0;
		border-top: 1px solid #DBDBDB;
	}

	.contact_fixed {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 85;
	}

	.contact_fixed .inner {
		padding: 0;
	}

	.contact_fixed_box {
		border-radius: 1rem 1rem 0 0;
		background: #FCF2F2;
		position: relative;
		height: 16.4rem;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		grid-gap: .8rem;
		padding: 0 2rem;
	}

	.contact_fixed_img {
		display: flex;
		align-items: flex-end;
		width: 30.7rem;
		height: auto;
	}

	.contact_fixed_btn {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: .5rem;
	}

	.contact_fixed_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 16.5rem;
		max-width: 100%;
		height: 3.1rem;
		font-size: 1.3rem;
		font-weight: 500;
		letter-spacing: .05em;
		color: #fff;
		border-radius: 3rem;
		background: url(../img/common/tel_fixed.svg)no-repeat left 2.3rem center #3E3E3E;
		background-size: 1.6rem auto;
		padding-left: 1.6rem;
	}

	.contact_fixed_btn a.btn_chat {
		background: url(../img/common/chat_fixed.svg)no-repeat left .6rem center #E60013;
		background-size: auto 1.6rem;
		font-size: 1.2rem;
		font-weight: bold;
	}

	.contact_fixed_close {
		position: absolute;
		right: 1.8rem;
		top: 1.8rem;
		z-index: 1;
		width: 4.2rem;
		cursor: pointer;
	}

	.hd_dot {
		font-size: 1.6rem;
		line-height: 1.5;
		grid-gap: 1rem;
		margin-bottom: 1rem;
	}

	.hd_dot:before {
		width: 1.2rem;
		height: 1.2rem;
	}

	.residents_wrap {
		padding: 0 0 5rem;
	}

	.residents_sec01 {
		padding-top: 0;
	}

	.residents_item+.residents_item {
		margin-top: 3rem;
	}

	.residents_item .company_table {
		margin: 2rem 0;
	}

	.residents_item .company_table th {
		padding: 2.4rem 0;
		font-weight: bold;
		background: none;
		font-size: 1.4rem;
	}

	.residents_item .company_table td {
		padding: 0 0 2.4rem;
		font-size: 1.4rem;
	}

	.residents_item .company_table .note {
		font-size: 1.2rem;
		line-height: 1.875;
		margin-top: .5rem;
	}

	.faq_list dl {
		margin: 0 -2rem;
	}

	.faq_list dl+dl {
		margin-top: 1.5rem;
	}

	.faq_list dl dt {
		min-height: 9rem;
		padding: 1rem 1rem 1rem 4.8rem;
		background: url(../img/common/faq_open.svg)no-repeat left 1.5rem center;
		background-size: 2rem auto;
		font-size: 1.6rem;
		line-height: 1.5;
	}

	.faq_list dl dt.is_active {
		background: url(../img/common/faq_close.svg)no-repeat left 1.5rem center;
		background-size: 2rem auto;
	}

	.faq_list dl dd {
		padding: 0 1.5rem 1.5rem;
	}

	.faq_list .item {
		background: #FFFFFF;
		padding: 2.5rem 3rem;
	}

	.faq_list .item+.item {
		margin-top: 1.5rem;
	}

	.faq_q {
		padding-left: 3rem;
		font-size: 1.4rem;
		line-height: 2rem;
		font-weight: 500;
		margin-bottom: 1rem;
	}

	.faq_a {
		padding-left: 3rem;
		font-size: 1.4rem;
		line-height: 2rem;
		font-weight: 400;
	}

	.faq_a:before,
	.faq_q:before {
		top: 1rem;
		font-size: 1.6rem;
	}

	.residents_btn {
		grid-gap: 1.3rem;
		margin-top: 2rem;
	}

	.residents_btn a {
		width: 20.6rem;
		height: 5.2rem;
	}

	.btn_pdf .btn_link01_icon font {
		border-radius: 0;
		background: url(../img/common/btn_pdf.svg)no-repeat center center;
		background-size: auto 2.3rem;
	}

	/*properties*/
	.properties_wrap {
		padding: 5rem 0;
		background: #FAFAFA;
	}

	.properties_list {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 1.5rem;
	}

	.properties_list a {
		padding: 2.3rem 2rem;
	}

	.properties_list .ttl {
		font-size: 1.7rem;
		letter-spacing: .05em;
		margin: 1.2rem 0 0;
	}

	.intro_list dl {
		display: flex;
		font-size: 1.2rem;
		margin-top: 1rem;
	}

	.intro_list dt {
		width: 4em;
	}

	.intro_list dd {
		width: calc(100% - 4em);
		padding-left: 1em;
	}

	/*owners*/
	.owners_wrap {
		padding: 0;
	}

	.owners_swiper {
		margin-top: 3rem;
	}

	.owners_swiper .swiper-slide {
		max-width: 33.5rem;
		width: 33.5rem;
		margin-right: 2.6rem;
	}

	.owners_swiper .swiper-pagination {
		position: absolute;
		right: 0;
		top: -6rem;
		transition: .3s opacity;
		transform: translate3d(0, 0, 0);
		z-index: 10;
		font-size: 1.4rem;
		line-height: 2;
		letter-spacing: 0;
		font-weight: 500;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 1.5rem;
		border: 1px solid #707070;
		border-radius: 3rem;
	}

	.owners_swiper .swiper-button-next,
	.owners_swiper .swiper-button-prev {
		width: 4rem;
		height: 4rem;
	}

	.owners_swiper .swiper-button-prev,
	.owners_swiper .swiper-rtl .swiper-button-next {
		bottom: -9.4rem;
	}

	.owners_swiper .swiper-button-next,
	.owners_swiper .swiper-rtl .swiper-button-prev {
		left: 6rem;
		bottom: -9.4rem;
	}

	.owners_swiper .swiper-horizontal>.swiper-scrollbar,
	.owners_swiper .swiper-scrollbar.swiper-scrollbar-horizontal {
		left: 0;
		bottom: -3rem;
		width: 100%;
	}

	.owners_sec01 {
		padding: 5rem 0;
		margin-top: 0;
		background: #FAFAFA;
		overflow: hidden;
	}

	.owners_sec01_btn {
		text-align: right;
		margin-top: 5rem;
	}

	.owners_sec02_item {
		margin-top: 2rem;
		padding: 4rem 3rem;
	}

	.owners_sec02_item_point {
		font-size: 1.2rem;
		letter-spacing: .05em;
		margin-bottom: 1.8rem;
	}

	.owners_sec02_item dl {
		display: flex;
		justify-content: space-between;
		flex-direction: column-reverse;
		grid-gap: 2rem;
	}

	.owners_sec02_item dt {
		width: auto;
		margin-bottom: 1rem;
	}

	.owners_sec02_item dd {
		width: auto;
	}

	.owners_sec02_item .ttl {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.52;
		color: #E60013;
		margin-bottom: 2.5rem;
		margin-right: -1rem;
	}

	.owners_sec02_item .txt {
		font-size: 1.4rem;
		line-height: 1.875;
	}

	.owners_sec02_item ul {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 2rem;
		margin-top: 2rem;
	}

	.owners_sec02_item li {
		border: 1px solid #D3D3D3;
		background: #fff;
		padding: 2.5rem 2rem;
	}

	.owners_sec02_item .img {
		margin-top: 1.5rem;
	}

	.owners_sec03_item {
		padding: 4rem 1rem;
	}

	.owners_sec03_item+.owners_sec03_item {
		margin-top: 2rem;
	}

	.owners_sec03_item_ttl {
		font-size: 2.2rem;
		font-weight: bold;
		letter-spacing: .05em;
		margin-bottom: 2.5rem;
	}

	.owners_sec03_item dl {
		display: flex;
		justify-content: space-between;
		flex-direction: column-reverse;
		grid-gap: 2rem;
	}

	.owners_sec03_item dt {
		width: auto;
		margin-bottom: 1.5rem;
	}

	.owners_sec03_item dd {
		width: auto;
	}

	.owners_sec03_item li {
		padding-left: 2rem;
		font-size: 1.4rem;
		line-height: 1.8;
		position: relative;
	}

	.owners_sec03_item li:before {
		content: '';
		position: absolute;
		top: .9em;
		left: 0;
		display: block;
		width: 1rem;
		height: 1px;
		background: currentColor;
	}

	.owners_sec04 {
		padding: 5rem 0;
	}

	.owners_sec04_item {
		display: block;
		justify-content: space-between;
		padding-left: 6rem;
		position: relative;
	}

	.owners_sec04_item+.owners_sec04_item {
		margin-top: 1.8rem;
	}

	.owners_sec04_step {
		width: auto;
		position: static;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-direction: row;
		grid-gap: 2rem;
		padding: 0 0 2rem;
	}

	.owners_sec04_step span {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 7.6rem;
		height: 2.8rem;
		border-radius: 2rem;
		background: #E60013;
		color: #fff;
		font-size: 1.3rem;
		letter-spacing: 0.05em;
	}

	.owners_sec04_step font {
		font-size: 2rem;
		font-weight: bold;
		letter-spacing: 0.05em;
		color: #191919;
	}

	.owners_sec04_step:before {
		content: '';
		position: absolute;
		z-index: -1;
		left: 0;
		top: 0;
		width: 2.7rem;
		height: calc(100% + 1.8rem);
		background: url(../img/owners/bg_step01_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.owners_sec04_item:nth-of-type(2) .owners_sec04_step:before {
		background: url(../img/owners/bg_step02_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.owners_sec04_item:nth-of-type(3) .owners_sec04_step:before {
		background: url(../img/owners/bg_step03_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.owners_sec04_item:nth-of-type(4) .owners_sec04_step:before {
		background: url(../img/owners/bg_step04_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.owners_sec04_item:nth-of-type(5) .owners_sec04_step:before {
		background: url(../img/owners/bg_step05_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.owners_sec04_item:nth-of-type(6) .owners_sec04_step:before {
		background: url(../img/owners/bg_step06_sp.png)no-repeat bottom center;
		background-size: 100% 100%;
		height: 100%;
	}

	.owners_sec04_dl {
		width: auto;
		background: none;
		padding: 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column-reverse;
		grid-gap: 1.8rem;
	}

	.owners_sec04_item:nth-of-type(even) .owners_sec04_dl {
		background: none;
	}

	.owners_sec04_dl dt {
		width: auto;
		text-align: center;
		margin-bottom: 0;
	}

	.owners_sec04_dl dd {
		width: auto;
		font-size: 1.4rem;
		line-height: 1.785;
	}

	.owners_sec04_dl dd font {
		font-weight: 500;
	}

	/*report*/
	.report_wrap {
		padding: 5rem 0;
	}

	.report_categ {
		display: flex;
		align-items: center;
		grid-gap: 1.6rem;
		margin-bottom: 4rem;
	}

	.report_categ span {
		font-size: 1.4rem;
		font-weight: 500;
	}

	.report_categ select {
		width: 15.2rem;
		height: 3.2rem;
		border-radius: 0;
		font-size: 1.2rem;
		font-weight: 500;
		border: 1px solid #707070;
		background: url(../img/common/select_categ.svg) no-repeat right 1.5rem center;
		background-size: auto 1.8rem;
		padding: 0 5rem 0 1.4rem;
	}

	.report_list {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 3rem;
	}

	.report_list span {
		font-size: 1.2rem;
		padding: .2rem 1rem;
		margin-right: 1rem;
	}

	.report_list .ttl {
		font-size: 1.5rem;
		margin: .6rem 0 2.4rem;
	}

	.report_list .frame01 {
		height: 24.1rem;
	}

	/*purchase*/
	.purchase_wrap {
		padding: 0;
	}

	.purchase_sec01 {
		padding: 5rem 0 0;
		background: #FAFAFA;
	}

	.purchase_sec02 {
		padding: 5rem 0 3rem;
	}

	.purchase_list {
		margin-top: 2rem;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 1.5rem;
	}

	.purchase_list li {
		padding: .6rem .6rem 1.5rem;
		border-radius: .5rem;
	}

	.purchase_sec03 .purchase_list li {
		background: #FAFAFA;
	}

	.purchase_list .img_box {
		border-radius: .5rem;
		padding-top: 68.75%;
		margin-bottom: 1rem;
	}

	.purchase_list .type {
		font-size: 1rem;
	}

	.purchase_list .type span {
		display: inline-flex;
		color: #fff;
		background: #E60013;
		font-size: 1rem;
		letter-spacing: .07em;
		padding: .1rem .5rem;
	}

	.purchase_list .ttl {
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1.42;
		margin-top: .5rem;
	}

	.purchase_sec03 {
		padding: 5rem 0;
	}

	.purchase_sec03_img01 {
		text-align: center;
		margin-top: 1.7rem;
	}

	.purchase_dl {
		display: flex;
		justify-content: space-between;
		flex-direction: column-reverse;
		grid-gap: 1.5rem;
	}

	.purchase_dl dt {
		width: auto;
		margin-bottom: 0;
	}

	.purchase_dl dd {
		width: auto;
	}

	.dot_list li {
		font-size: 1.4rem;
		line-height: 2.4;
		padding-left: 1.8rem;
		position: relative;
	}

	.dot_list li:before {
		content: '';
		position: absolute;
		left: 0;
		top: 1.2em;
		transform: translateY(-50%);
		width: 1.2rem;
		height: 1.2rem;
		background: #E60013;
	}

	/*top*/
	#main-visual .inner {
		padding: 0 2rem;
	}

	.mv_copy {
		display: none;
		width: 3rem;
		font-size: 1.2rem;
	}

	.mv_slick_item .img_box {
		padding-top: calc(100vh - 6.8rem - 5.8rem);
	}

	.mv_slick .slick-dots {
		display: none !important;
		width: 2rem;
		left: 1.5rem;
		bottom: 3rem;
	}

	.mv_slick .slick-dots li {
		width: 2rem;
		height: 2rem;
	}

	.mv_slick .slick-dots li button {
		width: .5rem;
		height: .5rem;
	}

	.mv_slick .slick-dots li button:before {
		width: 2rem;
		height: 2rem;
	}

	.mv_cont {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 11;
		background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .6));
		padding-bottom: 3rem;
	}

	.mv_ttl {
		font-size: 2.5rem;
		line-height: 1.15;
		text-shadow: 0 0 3rem #000;
	}

	.mv_ttl font {
		font-size: 4.3rem;
	}

	.mv_txt {
		font-size: 1.4rem;
		line-height: 1.785;
		text-shadow: 0 0 1.5rem #000;
		margin: 1.2rem 0;
	}

	.slick_wrap .progresses {
		width: calc(100% - 9vrem);
	}

	.mv_sns {
		grid-gap: .5rem;
	}

	.mv_sns li {
		width: 2.8rem;
	}

	.top_news {
		padding: 3rem 0 4.5;
		background: #FAFAFA;
	}

	.top_news .news_list li:last-of-type {
		border-bottom: 1px solid #D5D5D5;
	}

	.top_news_btn {
		text-align: right;
		margin-top: 2.75rem;
	}

	.top_about {
		padding-top: 4.2rem;
	}

	.top_about_dl {
		display: block;
		justify-content: space-between;
		margin-right: 0;
	}

	.top_about_dl dt {
		width: auto;
		margin-bottom: 2rem;
	}

	.top_about_dl dd {
		width: auto;
	}

	.top_about_dl .ttl {
		font-size: 2.2rem;
		line-height: 1.63;
		font-weight: 900;
		letter-spacing: 0.05em;
		margin-bottom: 2rem;
	}

	.top_about_dl .ttl font {
		color: #E60013;
	}

	.top_strengths {
		padding: 5rem 0;
	}

	.top_strengths_btn {
		position: static;
		margin-top: 2.4rem;
		text-align: right;
		padding: 0 2rem;
	}

	.top_strengths_list {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		background: url(../img/top/bg_strengths_sp.jpg)no-repeat center center;
		background-size: cover;
		margin-top: 4rem;
	}

	.top_strengths_list li+li {
		border-top: 1px solid rgba(255, 255, 255, .5);
		border-left: 0;
	}

	.top_strengths_list a {
		display: block;
		opacity: 1;
		padding: 1rem 2rem 5rem;
		min-height: 21rem;
		color: #fff;
		text-align: center;
	}

	.top_strengths_list .point img {
		height: 14.3rem;
	}

	.top_strengths_list .txt {
		font-size: 1.5rem;
		font-weight: 500;
		line-height: 1.6;
		margin-top: -5.6rem;
		text-shadow: 0 0 2rem #000000;
	}

	.top_services {
		padding: 4rem 0 6rem;
		background: #F7F7F7;
	}

	.top_services_item {
		margin-top: 3rem;
	}

	.top_services_item dl+dl {
		margin-top: 5.3rem;
	}

	.top_services_item dl {
		display: block;
		justify-content: space-between;
		align-items: center;
	}

	.top_services_item dt {
		width: auto;
		padding: 0 0 0 2.5rem;
		position: relative;
	}

	.top_services_item dt:before {
		left: 0;
		bottom: -2rem;
		z-index: -1;
		width: 25.8rem;
		height: 17.1rem;
		background: #D6D6D6;
	}

	.top_services_item dd {
		width: auto;
		padding: 0;
		margin-top: 3rem;
	}

	.top_services_item .img_box {
		padding-top: 60%;
	}

	.top_services_item .img_box:before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		z-index: 11;
		width: 5rem;
		height: 5rem;
		background: #E60013;
	}

	.transform_eng {
		position: absolute;
		left: 0;
		top: -1.2em;
		transform: rotate(90deg);
		transform-origin: right bottom;
		transform-origin: left bottom;
		font-size: 1rem;
		line-height: 1.2;
		letter-spacing: .2em;
		white-space: nowrap;
		color: #919191;
	}

	.top_services_hd {
		border-left: .5rem solid #D3D3D3;
		padding-left: 1rem;
		display: flex;
		flex-direction: column;
		margin-bottom: 2rem;
	}

	.top_services_hd .jap {
		font-size: 2.5rem;
		font-weight: bold;
		color: #E60013;
		letter-spacing: .05em;
	}

	.top_services_hd .eng {
		font-size: 1rem;
		line-height: 1.22;
		letter-spacing: .07em;
	}

	.top_services_item .ttl {
		font-size: 1.6rem;
		font-weight: 900;
		letter-spacing: .05em;
		margin-bottom: 1.5rem;
	}

	.top_services_btn {
		margin-top: 2rem;
		max-width: 49.3rem;
		display: flex;
		flex-wrap: wrap;
		grid-gap: 1.5rem 2.4rem;
	}

	.top_services_btn li {
		width: calc(50% - 1.2rem);
	}

	.top_services_btn li.big_li {
		width: 100%;
	}

	.btn_link03 {
		display: inline-flex;
		align-items: center;
		padding: 0 4.5rem 0 1.5rem;
		width: 100%;
		height: 3.7rem;
		background: url(../img/top/arrow_btn03.svg)no-repeat right 1.5rem center #FFFFFF;
		background-size: 1.2rem auto;
		padding-right: 1rem;
		color: #2B2B2B;
		font-size: 1.4rem;
		font-weight: bold;
		letter-spacing: .05em;
		box-shadow: 0 .5rem 1.5rem rgba(147, 0, 0, .2);
	}

	.top_social {
		padding: 3rem 0;
	}

	.top_social .inner {
		max-width: 145.7rem;
	}

	.top_social_box a {
		display: block;
		height: 18.6rem;
		opacity: 1;
		box-shadow: 0 2rem 4rem rgba(47, 47, 47, .16);
		background: url(../img/top/bg_social_sp.png)no-repeat center center #F5F5F5;
		background-size: cover;
		color: #191919;
		text-shadow: 0 0 2rem #fff;
	}

	.top_social_box .cont {
		position: absolute;
		width: 20rem;
		right: 0;
		top: 55%;
		transform: translateY(-50%);
		z-index: 9;
		padding: 0 1rem;
	}

	.top_social_box .ttl {
		font-size: 2rem;
		font-weight: 500;
		letter-spacing: .1em;
	}

	.top_social_box .ttl:after {
		content: '';
		display: block;
		width: 3rem;
		height: .2rem;
		background: #E60013;
		margin: 1rem 0;
	}

	.top_social_box .ttl span {
		display: inline-flex;
		position: relative;
	}

	.top_social_box .ttl span:after {
		content: '';
		position: absolute;
		left: calc(100% + 1.7rem);
		top: 50%;
		z-index: 1;
		transform: translateY(-50%);
		width: 3.1rem;
		height: 3.1rem;
		background: url(../img/top/arrow_social.svg)no-repeat;
		background-size: 100% auto;
	}

	.top_social_box .txt {
		font-size: 1.2rem;
		line-height: 2;
		font-weight: 300;
	}

	.anchor_link span {
		top: -5rem;
	}

	/*0624*/
	.purchase_sec01_ttl {
		font-size: 1.8rem;
		font-weight: 500;
		margin-bottom: 1.4rem;
	}

	.purchase_sec01_btn {
		margin-top: 2rem;
	}

	.purchase_sec01_list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 2rem;
		margin-top: 2.5rem;
	}

	.purchase_sec01_list .icon {
		text-align: center;
	}

	.purchase_sec01_list .txt {
		margin-top: 1.5rem;
		font-size: 1.4rem;
		line-height: 1.66;
	}

	/*application_form*/
	.application_form_wrap .flex_wrap label {
		min-width: auto;
	}

	.location_wrap {
		display: flex;
		flex-direction: column;
		grid-gap: 1rem;
	}

	.location_wrap select {
		max-width: 15rem;
		margin-bottom: 1rem;
	}

	.location_wrap input {
		max-width: 100%;
	}

	.contactTable .small_input {
		max-width: 11rem;
	}

	.form_span {
		font-size: 1.4rem;
		font-weight: 400;
		margin: 0 .7rem;
	}

	.form_scale {
		margin-top: 2rem;
	}

	/*report_detail*/
	.report_detail_wrap {
		padding: 0 0 7rem;
	}

	.report_detail_top {
		grid-gap: 1rem;
		margin-bottom: 1.5rem;
	}

	.report_detail_top .date {
		font-size: 1.2rem;
		padding: .2rem 1rem;
		margin-right: 1rem;
	}

	.report_detail_top .ttl {
		font-size: 1.8rem;
		line-height: 1.33;
	}

	.report_detail_btn {
		margin-top: 2.5rem;
	}

	/*report_detail*/
	.agency-flow .agency_sec04_item {
		display: block;
		justify-content: space-between;
		padding-left: 6rem;
		position: relative;
	}

	.agency-flow .agency_sec04_item+.agency_sec04_item {
		margin-top: 1.8rem;
	}

	.agency-flow .agency_sec04_step {
		width: auto;
		position: static;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-direction: row;
		grid-gap: 2rem;
		padding: 0 0 2rem;
	}

	.agency-flow .agency_sec04_step span {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 7.6rem;
		height: 2.8rem;
		border-radius: 2rem;
		background: #E60013;
		color: #fff;
		font-size: 1.3rem;
		letter-spacing: 0.05em;
	}

	.agency-flow .agency_sec04_step font {
		font-size: 2rem;
		font-weight: bold;
		letter-spacing: 0.05em;
		color: #191919;
	}

	.agency-flow .agency_sec04_step:before {
		content: '';
		position: absolute;
		z-index: -1;
		left: 0;
		top: 0;
		width: 2.7rem;
		height: calc(100% + 1.8rem);
	}

	.agency-flow .agency_sec04_item:nth-of-type(1) .agency_sec04_step:before {
		background: url(../img/agency/bg_step01_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.agency-flow .agency_sec04_item:nth-of-type(2) .agency_sec04_step:before {
		background: url(../img/agency/bg_step02_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.agency-flow .agency_sec04_item:nth-of-type(3) .agency_sec04_step:before {
		background: url(../img/agency/bg_step03_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.agency-flow .agency_sec04_item:nth-of-type(4) .agency_sec04_step:before {
		background: url(../img/agency/bg_step04_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.agency-flow .agency_sec04_item:nth-of-type(5) .agency_sec04_step:before {
		background: url(../img/agency/bg_step05_sp.png)no-repeat center center;
		background-size: 100% 100%;
	}

	.agency-flow .agency_sec04_item:nth-of-type(6) .agency_sec04_step:before {
		background: url(../img/agency/bg_step06_sp.png)no-repeat bottom center;
		background-size: 100% 100%;
		height: 100%;
	}

	.agency-flow .agency_sec04_dl {
		width: auto;
		background: none;
		padding: 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column-reverse;
		grid-gap: 1.8rem;
	}

	.agency-flow .agency_sec04_item:nth-of-type(even) .agency_sec04_dl {
		background: none;
	}

	.agency-flow .agency_sec04_dl dt {
		width: auto;
		text-align: center;
		margin-bottom: 0;
	}

	.agency-flow .agency_sec04_dl dd {
		width: auto;
		font-size: 1.4rem;
		line-height: 1.785;
	}

	.agency-flow .agency_sec04_dl dd font {
		font-weight: 500;
	}
}