@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header,
footer,
nav,
section,
aside,
article {
	display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
	border: none;
}

ul,
ol,
li {
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check {
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear {
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit] {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}

/* !Clearfix
---------------------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}

.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}

* html .clearfix {
	height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
	overflow-y: scroll;
	font-size: 62.5%;
}

/*** タブレット 751px ~ 1630px***/
@media screen and (min-width: 751px) and (max-width: 1920px) {
	html {
		font-size: calc(100vw / 192);
	}
}

/*** スマホ 320px ~ 750px***/
@media screen and (max-width: 750px) {
	html {
		font-size: calc(100vw / 37.5);
	}
}

body {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6rem;
	-webkit-text-size-adjust: none;
	line-height: 1.5;
	font-weight: normal;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.font_eng {
	font-family: "Lato", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.font_roboto {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-style: italic;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
	color: #000;
	text-decoration: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	a {
		transition: all 0.5s;
	}

	a:hover {
		opacity: .7;
		text-decoration: none;
	}

	.op {
		transition: opacity 0.5s ease-out;
	}

	.op:hover {
		opacity: .7;
		text-decoration: none;
	}

	a[href^="tel:"] {
		cursor: default;
		pointer-events: none;
	}
}

.is-hide {
	display: none;
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	position: relative;
	overflow: hidden;
	padding-top: 11.3rem;
}

.inner02,
.inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	z-index: 3;
	max-width: 163rem;
	padding: 0 5rem;
}

.inner02 {
	max-width: 109rem;
}

/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 99;
	width: 100%;
	max-width: 100%;
	background: #fff;
}

.header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-left: 10rem;
}

.header-logo {
	width: 34rem;
}

@media screen and (min-width: 751px) and (max-width: 1630px) {
	.header-inner {
		padding-left: 5rem;
	}
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/* !global navigation
---------------------------------------------------------- */
.nav_list {
	display: flex;
	grid-gap: 7.2rem;
}

.nav_list a {
	font-size: 2.4rem;
	line-height: 2.33;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 11.3rem;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}

.nav_list a.parentA {
	padding-right: 3rem;
	background: url(../img/common/sub_close.svg)no-repeat right center;
	background-size: 2rem auto;
	opacity: 1 !important;
}

@media screen and (min-width: 751px) {
	.nav_list a.header_contact {
		color: #fff;
		padding-right: 5.2rem;
		width: 30rem;
		background: url(../img/common/mail_white.svg)no-repeat right 5rem center #E60013;
		background-size: 5rem auto;
		font-weight: bold;
	}
}

.parentLi {
	position: relative;
}

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

.subBox:before {
	content: '';
	position: absolute;
	left: 50%;
	top: 2%;
	z-index: 1;
	transform: translateX(-50%);
	width: 1.8rem;
	height: 1.2rem;
	background: url(../img/common/before_sub.svg)no-repeat top center;
	background-size: auto 100%;
}

.subBox a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 6.5rem;
	padding: 0 3rem 0 5.4rem;
	background: url(../img/common/sub_arrow.svg)no-repeat left 3rem center;
	background-size: 1rem auto;
}

.subLi {
	background: #F5F5F5;
}

.subLi+.subLi {
	border-top: 1px solid #D3D3D3;
}

.btn_fixed {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 7.4rem;
	z-index: 85;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	border-radius: 1rem 0 0 1rem;
	box-shadow: 0 .3rem 1.5rem rgba(0, 0, 0, .17);
	overflow: hidden;
}

.btn_fixed a {
	padding: 2rem 0;
	writing-mode: tb-rl;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5rem;
	letter-spacing: .1em;
	font-weight: 500;
	background: #fff;
}

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

@media screen and (min-width: 751px) and (max-width: 1630px) {
	.btn_fixed {
		width: 4.5rem;
	}
}

/*** hover ***/
@media screen and (min-width: 751px) {
	.nav_list a:hover {
		color: #E60013;
		opacity: 1;
	}

	.nav_list a.header_contact:hover {
		color: #fff;
		opacity: .6;
	}

	.nav_list a.parentA:hover {
		background: url(../img/common/sub_open.svg)no-repeat right center;
		background-size: 2rem auto;
	}

	.parentLi:hover .subBox {
		opacity: 1;
		pointer-events: auto;
	}

	.btn_fixed a:hover {
		opacity: 1;
		background: #585656;
		color: #fff;
	}
}

/* !breadcrumb
---------------------------------------------------------- */
/*** hover ***/
/* !main Visual
---------------------------------------------------------- */
/*** hover ***/
/* !teaser
---------------------------------------------------------- */
.teaser_hd {
	padding: 5.6rem 0 4.2rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.teaser_hd .eng {
	font-size: 5.5rem;
	line-height: 1.2;
	letter-spacing: .07em;
	color: #E60013;
	text-transform: uppercase;
	overflow: hidden;
	transform: translate(-100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

.teaser_hd .jap {
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: .05em;
	color: #585656;
	overflow: hidden;
	transform: translate(-100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

.teaser_hd .jap font,
.teaser_hd .eng font {
	display: block;
	transform: translate(100%, 0);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

.teaser_hd.animated .eng,
.teaser_hd.animated .jap,
.teaser_hd.animated .eng font,
.teaser_hd.animated .jap font {
	transform: translate(0, 0);
}

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

/*** hover ***/
/* !contents
---------------------------------------------------------- */
/*** hover ***/
/* !page Top
---------------------------------------------------------- */
.page-top {
	position: absolute;
	right: 10rem;
	top: 9rem;
	z-index: 1;
	width: 12.3rem;
}

/*** hover ***/
/* !footer
---------------------------------------------------------- */
.footer_contact {
	background: url(../img/common/bg_contact.jpg)no-repeat center center;
	background-size: cover;
	padding: 15rem 0;
	position: relative;
	z-index: 86;
}

.footer_contact_dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer_contact_dl dt {
	color: #fff;
}

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

.footer_contact_dl dd {
	display: flex;
	grid-gap: 2.2rem;
}

.footer_contact_dl .item {
	border-radius: 1rem;
	background: #fff;
	padding: 4.6rem 3rem 5.8rem;
	width: 47rem;
}

.footer_contact_dl .ttl {
	font-size: 2.3rem;
	font-weight: bold;
	text-align: center;
	padding-bottom: 2.4rem;
	border-bottom: .2rem solid #C6C6C6;
}

.footer_contact_tel {
	margin-top: 2.8rem;
}

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

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

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

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

.footer_contact_email_icon {
	width: 6.5rem;
}

.footer_contact_email .btn_link01 {
	font-size: 1.6rem;
	font-weight: bold;
	height: 7rem;
}

#footer {
	position: relative;
	overflow: hidden;
	z-index: 86;
	background: #EFEFEF;
	padding: 20rem 0 12.7rem;
}

.footer-inner {
	display: flex;
	justify-content: space-between;
}

.footer_logo {
	width: 66rem;
	margin-bottom: 7rem;
}

.footer_addr {
	display: flex;
}

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

.footer_addr dt {
	width: 13.7rem;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .05em;
}

.footer_addr dd {
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: .05em;
}

.footer_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 2.8rem 4rem;
	margin: 6.5rem 0 13.5rem;
}

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

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

.footer_box_img {
	width: 39rem;
}

.footer_box_txt {
	position: absolute;
	right: 18rem;
	bottom: 2rem;
	z-index: 1;
	font-size: 4.3rem;
	line-height: 7.5rem;
	font-weight: bold;
	letter-spacing: .05em;
}

.footer_box_txt font {
	display: block;
	font-size: 6.4rem;
}

#copyright {
	position: absolute;
	right: 1.2em;
	bottom: 0;
	z-index: 1;
	transform: rotate(90deg);
	transform-origin: right bottom;
	font-size: 1.8rem;
	color: #E60013;
	letter-spacing: .07em;
}

/*** hover ***/
/*common*/
.btn_link01 {
	display: inline-flex;
	justify-content: space-between;
	align-items: center;
	height: 5.8rem;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 0.07em;
	padding: 0 1.8rem 0 2.5rem;
	color: #fff;
	background: #E60013;
	transition: all 0.5s;
}

.btn_link01_icon {
	display: grid;
	aspect-ratio: 1 / 1;
	background-color: #fff;
	border-radius: 50%;
	height: 3.2rem;
	width: 3.2rem;
	min-width: 3.2rem;
	overflow: hidden;
	transition-duration: .5s;
	margin-left: 2.5rem;
}

.btn_link01_icon font {
	grid-area: 1 / 1;
	background: url(../img/common/arrow_btn01.svg)no-repeat center center;
	background-size: cover;
	border-radius: 50%;
	transition-duration: .5s;
}

.btn_link01 .btn_link01_icon font:last-of-type {
	transform: translate(-100%, 0);
}

.hd_medium {
	margin-bottom: 3.5rem;
}

.hd_medium .eng {
	display: block;
	font-size: 6.5rem;
	line-height: 1.2;
	letter-spacing: .07em;
	color: #E60013;
	text-transform: uppercase;
}

.hd_medium .jap {
	display: inline-block;
	font-size: 2.7rem;
	line-height: 1.44;
	font-weight: bold;
	color: #898989;
}

.hd_medium.white span {
	color: #fff !important;
	font-weight: bold;
}

.img_box {
	display: block;
	position: relative;
	width: 100%;
	padding-top: 66%;
	overflow: hidden;
}

.img_box img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	object-fit: cover;
	transition: 0.4s ease-out;
}

.btn_link02 {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 23rem;
	height: 5.5rem;
	background: url(../img/common/arrow_btn02.svg)no-repeat right 2.5rem center #3E3E3E;
	background-size: 1.8rem auto;
	padding-right: 1rem;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
}

/*** hover ***/
@media screen and (min-width: 960px) {

	input.btn_link01:hover,
	a.btn_link01:hover {
		opacity: 1;
	}

	a.btn_link01:hover .btn_link01_icon {
		transform: translateX(20%);
	}

	a.btn_link01:hover .btn_link01_icon font:first-of-type {
		transform: translate(100%, 0%);
	}

	a.btn_link01:hover .btn_link01_icon font:last-of-type {
		transform: translate(0%, 0%);
	}

	a:hover .img_box img {
		transform: scale(1.1);
	}

	a.link_underline,
	.link_underline a {
		position: relative;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
	}

	a.link_underline:hover,
	.link_underline a:hover {
		text-decoration: none;
		opacity: 1 !important;
	}

	a.link_underline:after,
	.link_underline a:after {
		content: "";
		display: block;
		width: 0;
		height: 1px;
		position: absolute;
		right: 0;
		bottom: 0;
		pointer-events: none;
		background: currentColor;
		-webkit-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
	}

	a.link_underline:hover:after,
	.link_underline a:hover:after {
		width: 100%;
		right: auto;
		left: 0;
	}
}

/*news*/
.news_wrap {
	padding: 0rem 0 20rem;
}

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

.news_categ a {
	height: 3.8rem;
	font-size: 1.7rem;
	letter-spacing: .05em;
	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: flex;
	align-items: flex-start;
	padding: 3.2rem 11.6rem 3.2rem 0;
	opacity: 1 !important;
	position: relative;
}

.news_list a:before {
	content: '';
	position: absolute;
	right: 2.7rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	width: 3.4rem;
	height: 3.4rem;
	border-radius: 50%;
	background: url(../img/common/arrow_news.svg)no-repeat;
	background-size: 100% auto;
	box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .16);
	transition: all 0.5s;
}

.news_list .date {
	font-family: "Roboto", sans-serif;
	font-style: italic;
	font-weight: 300;
	font-size: 1.4rem;
	letter-spacing: .07em;
	width: 10rem;
}

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

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

.news_list .categ_span {
	min-width: 11.5rem;
}

.news_list .cont {
	width: calc(100% - 21.5rem);
}

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

.news_list .txt {
	font-size: 1.6rem;
	line-height: 1.5;

	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	.news_list a:hover .ttl {
		color: #E60013;
	}

	.news_list a:hover:before {
		background: url(../img/common/arrow_news_hover.svg)no-repeat;
		background-size: 100% auto;
		box-shadow: none;
	}

	.news_categ a:hover {
		border-color: #FFBEBE;
		background-color: #FFBEBE;
		opacity: 1;
	}
}

/* !wp-pagenavi
---------------------------------------------------------- */
.wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 2rem;
	width: 100%;
	margin: 9.6rem auto 0;
	position: relative;
	padding: 0;
	text-align: center;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
	display: none;
}

.wp-pagenavi a,
.wp-pagenavi span {
	border: 0;
	padding: 0;
	margin: 0;
}

.wp-pagenavi a,
.wp-pagenavi .current {
	width: 4.8rem;
	height: 4.8rem;
	border-radius: 50%;
	font-size: 1.9rem;
	line-height: 1.5;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .5s;
	color: #191919;
	background: #F5F5F5;
}

.wp-pagenavi a:hover,
.wp-pagenavi .current {
	color: #fff;
	background: #585656;
	opacity: 1;
}

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

/*news_detail*/
.news_detail_wrap {
	padding-bottom: 18rem;
}

.detail_box {
	background: #FAFAFA;
	padding: 9rem 22rem;
}

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

.detail_top .date {
	font-size: 1.9rem;
	letter-spacing: .07em;
}

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

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

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

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

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

/*contact*/
.contact_wrap {
	padding: 2rem 0 18rem;
}

.contact_box {
	background: #FAFAFA;
	padding: 9rem 16rem 15rem;
}

.contactTable {
	width: 100%;
}

.contactTable th,
.contactTable td {
	font-size: 2rem;
	padding: 1.3rem 0;
}

.contactTable th {
	font-weight: bold;
	text-align: left;
	letter-spacing: 0.1em;
	width: 37.5rem;
}

.contactTable th span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 3.6rem;
	height: 2rem;
	letter-spacing: 0;
	color: #fff;
	background: #E60013;
	font-size: 1.2rem;
	letter-spacing: .1em;
	font-weight: bold;
	margin-left: 2rem;
	vertical-align: middle;
}

.contactTable th span.required {
	background: #E60013;
}

.contactTable input[type=text],
.contactTable input[type=tel],
.contactTable input[type=email],
.contactTable select,
.contactTable textarea {
	width: 100%;
	height: 7rem;
	border-radius: 0;
	border: 0;
	padding: 0 3rem;
	font-size: 2rem;
	letter-spacing: 0.1em;
	font-weight: 400;
	border: 1px solid #D9D9D9;
	background: #fff;
	color: #333;
}

.contactTable select {
	width: 33rem;
	background: url(../img/common/select.svg) no-repeat right 2.5rem center #fff;
	background-size: auto 1rem;
	padding: 0 5rem 0 3rem;
}

.contactTable textarea {
	display: block;
	resize: none;
	min-height: 29rem;
	padding: 2rem 3rem;
}

textarea::-webkit-input-placeholder {
	color: #898989;
}

textarea::-moz-input-placeholder {
	color: #898989;
}

textarea::-ms-input-placeholder {
	color: #898989;
}

input::-webkit-input-placeholder {
	color: #898989;
}

input::-moz-input-placeholder {
	color: #898989;
}

input::-ms-input-placeholder {
	color: #898989;
}

.p-postal-code {
	max-width: 23.6rem !important;
}

.zipTxt {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #FF6795;
	color: #fff;
	border-radius: 2rem;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 0 1.2rem;
	height: 3.3rem;
	margin-left: 4rem;
}

.formAgree {
	padding-top: 3rem;
}

.formAgree .formCheckbox label {
	font-weight: bold;
}

.formAgree a {
	border-bottom: 1px solid currentColor;
}

.formAgree .formCheckbox label span {
	font-size: 1.8rem;
	line-height: 2;
	font-weight: 400;
	letter-spacing: 0;
}

.formAgree .formCheckbox label span:before {
	top: .6rem;
	border-radius: 50%;
}

.formAgree .formCheckbox label span:after {
	border-radius: 50%;
	top: 1.1rem;
}

.formButton {
	margin-top: 10rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	grid-gap: 2rem;
}

.formButton .btn_form {
	width: 45rem;
	height: 10.5rem;
	border-radius: 0;
	font-size: 2.7rem;
	letter-spacing: 0.03em;
	font-weight: bold;
	color: #fff;
	border: 0;
	box-shadow: none;
	position: relative;
	z-index: 9;
	background: #3E3E3E;
	transition: opacity .5s;
}

@media screen and (min-width: 751px) {
	.formButton .btn_form:hover {
		opacity: .7;
	}
}

.formButton .disabled {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: .5;
	pointer-events: none;
}

.formCheckbox,
.formCheckbox .wpcf7-radio,
.formCheckbox,
.formCheckbox .wpcf7-checkbox {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	grid-gap: 2rem 5rem;
	padding: 1rem 0;
}

.flex_wrap .wpcf7-radio,
.flex_wrap .wpcf7-checkbox {
	flex-direction: row;
}

.formCheckbox label,
.formCheckbox label {
	display: flex;
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 500;
	color: #272727;
	position: relative;
}

.formCheckbox label input[type="radio"],
.formCheckbox label input[type="checkbox"] {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	opacity: 0;
}

.formRadio label span {
	position: relative;
	z-index: 2;
	display: inline-block;
}

.formRadio label span:before {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	height: 100%;
	border-radius: .5rem;
	background: #CECECE;
	content: '';
	z-index: -1;
}

.formRadio label input[type="radio"]:checked+span:before {
	background: #fff;
}

.formCheckbox label {
	width: 100%;
}

.flex_wrap {
	flex-direction: row;
}

.flex_wrap label {
	width: auto;
	min-width: 17rem;
}

.formCheckbox label span {
	position: relative;
	z-index: 2;
	padding-left: 4.2rem;
	display: inline-block;
}

.formCheckbox label span:before {
	position: absolute;
	left: 0;
	top: .2rem;
	width: 2.7rem;
	height: 2.7rem;
	border-radius: 0;
	background: #fff;
	border: 1px solid #191919;
	content: '';
	z-index: 1;
}

.formCheckbox label span:after {
	position: absolute;
	left: .5rem;
	top: .7rem;
	width: 1.7rem;
	height: 1.7rem;
	background: #E60013;
	content: '';
	z-index: 2;
	opacity: 0;
}

.formCheckbox label input[type="radio"]:checked+span:after,
.formCheckbox label input[type="checkbox"]:checked+span:after {
	opacity: 1;
}

.wpcf7-list-item {
	margin: 0;
}

.wpcf7-not-valid-tip {
	color: #dc3232;
	font-size: 1em;
	font-weight: normal;
	display: block;
	white-space: nowrap;
}

/*social*/
.frame01,
.frame02,
.frame03 {
	position: relative
}

.frame01:before,
.frame01:after,
.frame02:before,
.frame02:after,
.frame03:before,
.frame03:after {
	display: block;
	z-index: 9;
	position: absolute;
	width: .66rem;
	height: 0;
	background: #d7000f;
	content: '';
	pointer-events: none;
	transition: all .5s cubic-bezier(.25, .46, .45, .94)
}

.frame01:before,
.frame02:before,
.frame03:before {
	top: 0;
	left: 0
}

.frame01:after,
.frame02:after,
.frame03:after {
	right: 0;
	bottom: 0
}

.frame01__child:before,
.frame01__child:after,
.frame02__child:before,
.frame02__child:after,
.frame03__child:before,
.frame03__child:after {
	display: block;
	z-index: 9;
	position: absolute;
	width: 0;
	height: .66rem;
	background: #d7000f;
	content: '';
	pointer-events: none;
	transition: all .5s cubic-bezier(.25, .46, .45, .94)
}

.frame01__child:before,
.frame02__child:before,
.frame03__child:before {
	top: 0;
	left: 0
}

.frame01__child:after,
.frame02__child:after,
.frame03__child:after {
	right: 0;
	bottom: 0
}

.frame02:before,
.frame02:after,
.frame02__child:before,
.frame02__child:after {
	background: #0AFF00;
}

.zoom01 {
	overflow: hidden;
	will-change: transform;
	position: relative;
}

.zoom01__child {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: scale(1);
	transition: all .5s cubic-bezier(.25, .46, .45, .94)
}

@media screen and (min-width: 751px) {

	a:hover .frame01:before,
	a:hover .frame01:after,
	.frame01:hover:before,
	.frame01:hover:after,
	.frame02:hover:before,
	.frame02:hover:after,
	.frame03:hover:before,
	.frame03:hover:after {
		height: 100%;
	}


	a:hover .frame01 .frame01__child:before,
	a:hover .frame01 .frame01__child:after,
	.frame01:hover .frame01__child:before,
	.frame01:hover .frame01__child:after,
	.frame01:hover .frame02__child:before,
	.frame01:hover .frame02__child:after,
	.frame01:hover .frame03__child:before,
	.frame01:hover .frame03__child:after,
	.frame02:hover .frame01__child:before,
	.frame02:hover .frame01__child:after,
	.frame02:hover .frame02__child:before,
	.frame02:hover .frame02__child:after,
	.frame02:hover .frame03__child:before,
	.frame02:hover .frame03__child:after,
	.frame03:hover .frame01__child:before,
	.frame03:hover .frame01__child:after,
	.frame03:hover .frame02__child:before,
	.frame03:hover .frame02__child:after,
	.frame03:hover .frame03__child:before,
	.frame03:hover .frame03__child:after {
		width: 100%;
	}

	.zoom01:hover .zoom01__child {
		transform: scale(1.03)
	}
}

.zoom01__child img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.social_wrap {
	padding: 18.6rem 0 26rem;
}

.social_box {
	padding: 10rem 11rem 16rem;
}

.social_box_jap {
	font-size: 4.5rem;
	font-weight: bold;
	letter-spacing: .1em;
}

.social_box_eng {
	font-size: 1.8rem;
	color: #E60013;
	letter-spacing: .05em;
}

.social_box_ttl {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.8;
	margin: 3rem 0;
}

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

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

.social_box_link {
	margin-top: 6rem;
}

.social_box_link img {
	width: 46.8rem;
}

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

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

.flex_box {
	display: flex;
	justify-content: space-between;
}

.flex_box_left {
	width: 22%;
}

.flex_box_right {
	width: 78%;
}

.strengths_point {
	font-size: 23.9rem;
	line-height: 1;
	font-style: normal;
	font-weight: bold;
	letter-spacing: -.05em;
	color: #EBEBEB;
	position: relative;
	top: -.1em;
}

.strengths_cont {
	position: relative;
}

.strengths_cont:after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 9;
	width: 4.6rem;
	background: #E60013;
}

.strengths_ttl {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 9;
	background: #fff;
	padding: 3.5rem 4rem 0 0;
	font-size: 3.8rem;
	font-weight: bold;
	line-height: 1.45;
	letter-spacing: 0.05em;
}

.red_font {
	color: #E60013;
}

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

.strengths_txt {
	margin-top: 3.5rem;
	font-size: 1.8rem;
	font-weight: 300;
	line-height: 1.94;
}

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

.strengths_txt b {
	display: block;
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: bold;
	margin-bottom: 2rem;
}

.strengths_txt font {
	font-weight: 500;
}

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

.company_wrap .flex_box_left {
	width: 26%;
}

.company_wrap .flex_box_right {
	width: 74%;
}

.hd_small .jap {
	display: block;
	font-size: 4.4rem;
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: .05em;
	margin-bottom: 1.4rem;
}

.hd_small .eng {
	display: block;
	font-size: 1.8rem;
	letter-spacing: .05em;
	color: #E60013;
}

.hd_small:after {
	content: '';
	margin-top: 3.5rem;
	width: 5rem;
	height: .5rem;
	background: #E60013;
	display: block;
}

.company_table {
	width: 100%;
	border-top: 1px solid #C3C3C3;
}

.company_table th,
.company_table td {
	font-size: 1.8rem;
	line-height: 1.66;
	border-bottom: 1px solid #C3C3C3;
	padding: 2rem 3rem;
}

.company_table th {
	padding: 2rem 2.3rem;
	width: 21.7rem;
	font-weight: bold;
	background: #FAFAFA;
	vertical-align: middle;
	text-align: left;
}

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

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

.company_table td b:before {
	content: '';
	width: 1.4rem;
	height: 1.4rem;
	margin-right: .4rem;
	background: #E60013;
}

.company_table dl {
	display: flex;
}

.company_table dt {
	width: 17rem;
}

.target_link {
	text-decoration: underline;
	padding-right: 2.6rem;
	background: url(../img/common/target_link.svg)no-repeat right center;
	background-size: auto 1.5rem;
}

.company_sec02 {
	padding-top: 15rem;
}

.company_list {
	display: flex;
	flex-wrap: wrap;
}

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

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

.company_list .ttl span {
	width: 4.5rem;
	font-size: 2rem;
	font-weight: 300;
	letter-spacing: .07em;
	color: #000000;
}

.company_list .txt {
	font-size: 1.8rem;
	line-height: 1.94;
}

@media screen and (min-width: 751px) {
	.target_link:hover {
		opacity: 1;
		text-decoration: none;
	}

	.company_list li:nth-of-type(odd) {
		padding: 5rem 5rem 5rem 0;
	}

	.company_list li:nth-of-type(even) {
		padding: 5rem 0 5rem 5rem;
		border-left: 1px solid #C3C3C3;
	}

	.company_list li:nth-of-type(5) {
		width: 100%;
		padding: 5rem 0;
	}

	.company_list li:nth-of-type(1),
	.company_list li:nth-of-type(2) {
		padding-top: 0;
	}
}

.company_sec03 {
	padding-top: 15rem;
}

.message_name {
	display: flex;
	align-items: center;
	margin: 0 0 4rem 0;
	grid-gap: 2.5rem;
}

.message_name p {
	font-size: 2.5rem;
	font-weight: 500;
	letter-spacing: .05em;
}

.message_name span {
	font-size: 4rem;
	font-weight: 900;
	letter-spacing: .05em;
	position: relative;
	top: -.1em;
}

.message_name font {
	color: #A3A3A3;
	font-size: 1.5rem;
	letter-spacing: .2em;
	text-transform: uppercase;
}

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

.hd01 {
	background: #F5F5F5;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: .1em;
	display: flex;
	align-items: center;
	grid-gap: 2.6rem;
	border-left: .7rem solid #E60013;
	padding: 1rem 1rem 1rem 2.6rem;
	margin-bottom: 2.5rem;
}

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

.common_txt {
	font-size: 1.8rem;
	line-height: 1.94;
}

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

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

.number_list li {
	font-size: 2.2rem;
	line-height: 2.1;
	font-weight: 500;
	padding-left: 4.7rem;
	position: relative;
}

.number_list span {
	font-size: 2rem;
	width: 2.9rem;
	height: 2.9rem;
	position: absolute;
	left: 0;
	top: 1.2em;
	transform: translateY(-50%);
	border-radius: 50%;
	color: #fff;
	background: #E60013;
	display: flex;
	justify-content: center;
	align-items: center;
}

.blue_link {
	color: #0065BC;
	text-decoration: underline;
}

.blue_link:hover {
	text-decoration: none;
	opacity: 1;
}

.compliance_wrap .company_table th {
	width: 33.5rem;
}

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

.compliance_item_hd {
	font-size: 2rem;
	line-height: 1.5;
	font-weight: bold;
	margin-bottom: 1rem;
}

.compliance_list li {
	padding-left: 1.9rem;
	position: relative;
}

.compliance_list li:before {
	content: '';
	width: 1rem;
	height: 1rem;
	position: absolute;
	left: 0;
	top: 1em;
	transform: translateY(-50%);
	border-radius: 50%;
	background: currentColor;
}

/*intermediaries*/
.intermediaries_box {
	background: #FAFAFA;
	padding: 13.5rem 1.5rem;
}

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

.hd_small.no_line:after {
	content: none;
}

.intermediaries_txt {
	font-size: 2rem;
	line-height: 1.75;
	font-weight: 500;
	text-align: center;
}

.intermediaries_btn {
	margin-top: 5.3rem;
	text-align: center;
}

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

.intermediaries_btn a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 65rem;
	max-width: 100%;
	height: 12.7rem;
	font-size: 2.5rem;
	font-weight: bold;
	letter-spacing: .05em;
	color: #fff;
}

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

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

/*residents*/
#purchase #wrapper,
#owners #wrapper,
#residents #wrapper {
	overflow: visible;
}

.anchor_wrap {
	position: sticky;
	top: 11.3rem;
	padding: 1rem 0;
	background: #fff;
	z-index: 9;
}

.anchor_list {
	display: flex;
	justify-content: space-between;
	grid-gap: 3rem;
}

.anchor_list li {
	width: 100%;
}

.anchor_wrap a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 6.3rem;
	border: 1px solid #707070;
	font-size: 1.8rem;
	font-weight: 500;
	background: url(../img/common/arrow_anchor.svg)no-repeat right 2rem center;
	background-size: 2.6rem auto;
}

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

.contact_fixed_box {
	border-radius: 1rem 1rem 0 0;
	background: #FCF2F2;
	position: relative;
	height: 9.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 2.3rem;
}

.contact_fixed_img {
	display: flex;
	align-items: flex-end;
	width: 66rem;
	height: 100%;
}

.contact_fixed_btn {
	display: flex;
	grid-gap: 2rem;
}

.contact_fixed_btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 25rem;
	height: 5rem;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .05em;
	color: #fff;
	border-radius: 3rem;
	background: url(../img/common/tel_fixed.svg)no-repeat left 3.7rem center #3E3E3E;
	background-size: 2.6rem auto;
	padding-left: 3.6rem;
}

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

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

.hd_dot {
	font-size: 2rem;
	line-height: 1.5;
	font-weight: bold;
	display: flex;
	align-items: center;
	grid-gap: 1.5rem;
	margin-bottom: 1.5rem;
}

.hd_dot:before {
	content: '';
	width: 2.1rem;
	height: 2.1rem;
	background: #E60013;
}

.residents_wrap {
	padding: 0 0 22.7rem;
}

.residents_sec01 {
	padding-top: 15.5rem;
}

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

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

.residents_item .company_table th {
	padding: 2rem 3.3rem;
	font-weight: 500;
	background: none;
}

.residents_item .company_table td {
	padding: 2rem 0;
}

.residents_item .company_table .note {
	font-size: 1.6rem;
	line-height: 1.875;
	margin-top: .5rem;
	color: #E60013;
}

.faq_list dl {
	position: relative;
	z-index: 2;
	background: #F5F5F5;
}

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

.faq_list dl dt {
	display: flex;
	align-items: center;
	min-height: 9.2rem;
	padding: 1rem 2rem 1rem 7.8rem;
	background: url(../img/common/faq_open.svg)no-repeat left 3rem center;
	background-size: 2.5rem auto;
	position: relative;
	z-index: 2;
	cursor: pointer;
	font-size: 2rem;
	line-height: 1.5;
	font-weight: bold;
}

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

.faq_list dl dd {
	display: none;
	padding: 0 6.8rem 4.8rem;
}

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

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

.faq_q {
	position: relative;
	padding-left: 3.7rem;
	font-size: 1.8rem;
	line-height: 3rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
}

.faq_a {
	position: relative;
	padding-left: 3.7rem;
	font-size: 1.6rem;
	line-height: 3rem;
	font-weight: 400;
}

.faq_a:before,
.faq_q:before {
	content: 'A.';
	font-size: 2.2rem;
	font-weight: bold;
	position: absolute;
	top: 1.5rem;
	left: 0;
	transform: translateY(-50%);
}

.faq_q:before {
	color: #E60013;
	content: 'Q.';
}

.residents_btn {
	display: flex;
	flex-direction: column;
	grid-gap: 2.3rem;
	margin-top: 3.3rem;
}

.residents_btn a {
	min-width: 22.8rem;
}

.btn_link01.btn_pdf {
	background: #3E3E3E;
}

.btn_pdf .btn_link01_icon {
	background: none;
	border-radius: 0;
}

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

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

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

.properties_list a {
	display: block;
	height: 100%;
	opacity: 1;
	background: #fff;
	padding: 2.5rem 2.2rem;
}

.properties_list .img_box {
	border-radius: 1rem;
	padding-top: 68.3%;
}

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

.intro_list dl {
	display: flex;
	font-size: 1.4rem;
	margin-top: .8rem;
}

.intro_list dt {
	width: 4em;
	font-weight: bold;
}

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

.intro_list dd:before {
	content: '：';
	position: absolute;
	left: 0;
	top: 0;
}

.properties_wrap .property_btn {
	display: flex;
}

.properties_wrap .property_btn .btn_link01 {
	display: inline-flex;
	justify-content: space-between;
	align-items: center;
	height: 40px;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.07em;
	color: rgb(255, 255, 255);
	padding: 0 1.8rem 0 2.5rem;
	background: rgb(230, 0, 19);
	transition: .5s;
	margin: 50px auto 0;
}

.properties_wrap .btn_link01_icon {
	height: 20px;
	width: 20px;
	min-width: 20px;
	margin-left: 2.5rem;
}

/*------------------------
    管理物件詳細ページ
------------------------*/
#post-properties {
	max-width: 163rem;
	width: 100%;
	margin: 0 auto;
	padding: 6rem 8rem;
	background: #FAFAFA;
}

#post-properties .type span {
	display: inline-flex;
	color: #fff;
	background: #E60013;
	font-size: 1.3rem;
	letter-spacing: .07em;
	padding: .1rem .5rem;
	margin: 0 0 2rem;
}

#post-properties .entry-title {
	font-size: 4rem;
	line-height: 1;
	margin: 0 0 6rem;
}

#post-properties .property-info {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 8rem;
}

#post-properties .property-info_box {
	width: 50%;
	padding: 0 5% 0 0;
}

#post-properties .entry-content {
	font-size: 1.8rem;
	margin: 0 0 2rem;
}

#post-properties .detail-thumb {
	width: 50%;
}

#post-properties .detail-thumb img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

#post-properties .detail-info {
	font-size: 1.8rem;
}

#post-properties .detail-info-margin {
	margin: 0 0 4rem;
}

#post-properties .detail-info dl {
	display: flex;
	padding: 18px 0;
	border-bottom: solid 1px #c3c3c3;
}

#post-properties .detail-info dl:last-child {
	border-bottom: unset;
}

#post-properties .detail-info dt {
	width: 125px;
	font-weight: bold;
}

#post-properties .detail-info dd {
	width: calc(100% - 125px);
}

#post-properties .property-info_ttl {
	font-size: 2.3rem;
	font-weight: bold;
	line-height: 1;
	padding: 12px 26px;
	background: #ebebeb;
	position: relative;
}

#post-properties .property-info_ttl::before {
	content: "";
	position: absolute;
	width: 7px;
	height: 100%;
	background: #E60013;
	top: 0;
	left: 0;
}

#post-properties .property-map {
	padding: 3rem 0 0;
}

#post-properties .property-map iframe {
	width: 100%;
}

/*** タブレット 751px ~ 1630px***/
/*** スマホ ~ 750px***/
@media screen and (max-width: 767px) {
	#post-properties {
		padding: 38px 20px 66px;
	}

	#post-properties .type span {
		font-size: 12px;
		margin: 0 0 14px;
	}

	#post-properties .entry-title {
		font-size: 22px;
		margin: 0 0 20px;
	}

	#post-properties .property-info {
		flex-direction: column-reverse;
		margin: 0 0 25px;
	}

	#post-properties .property-info_box {
		width: 100%;
	}

	#post-properties .entry-content {
		font-size: 14px;
		margin: 0 0 7px;
	}

	#post-properties .detail-thumb {
		width: 100%;
		margin: 0 0 26px;
	}

	#post-properties .detail-thumb img {
		width: 100%;
	}

	#post-properties .detail-info {
		font-size: 14px;
	}

	#post-properties .detail-info dl {
		padding: 13px 0;
	}

	#post-properties .property-info_ttl {
		font-size: 16px;
		padding: 10px 20px;
	}

	#post-properties .detail-info-margin {
		margin: 0 0 25px;
	}
}

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

.owners_swiper {
	overflow: visible;
	margin-top: 5.6rem;
	display: block !important;
}

.owners_swiper.slick_flex .swiper-wrapper {
	display: flex;
	justify-content: center;
	padding-bottom: 0;
}

.owners_swiper .swiper-slide {
	max-width: 37.3rem;
	width: 37.3rem;
	margin-right: 2.6rem;
	height: auto;
}

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

.owners_swiper .swiper-button-next,
.owners_swiper .swiper-button-prev {
	position: absolute;
	top: auto;
	bottom: 0;
	width: 4.9rem;
	height: 4.9rem;
	margin-top: 0;
	z-index: 10;
}

.owners_swiper .swiper-button-next.swiper-button-disabled,
.owners_swiper .swiper-button-prev.swiper-button-disabled {
	opacity: .35;
	cursor: auto;
	pointer-events: none;
}

.owners_swiper .swiper-button-next.swiper-button-hidden,
.owners_swiper .swiper-button-prev.swiper-button-hidden {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}

.owners_swiper .swiper-button-prev,
.owners_swiper .swiper-rtl .swiper-button-next {
	left: 0;
	right: auto;
	bottom: -11.5rem;
	background: url(../img/common/swiper_prev.svg)no-repeat;
	background-size: auto 100%;
	transition: opacity .5s;
}

.owners_swiper .swiper-button-prev:hover,
.owners_swiper .swiper-rtl .swiper-button-next:hover {
	opacity: .7;
}

.owners_swiper .swiper-button-prev:after,
.owners_swiper .swiper-rtl .swiper-button-next:after {
	content: none;
}

.owners_swiper .swiper-button-next,
.owners_swiper .swiper-rtl .swiper-button-prev {
	left: 6.6rem;
	right: auto;
	bottom: -11.5rem;
	background: url(../img/common/swiper_next.svg)no-repeat;
	background-size: auto 100%;
	transition: opacity .5s;
}

.owners_swiper .swiper-button-next:hover,
.owners_swiper .swiper-rtl .swiper-button-prev:hover {
	opacity: .7;
}

.owners_swiper .swiper-button-next:after,
.owners_swiper .swiper-rtl .swiper-button-prev:after {
	content: none;
}

.owners_swiper .swiper-button-lock {
	display: none
}

.owners_swiper .swiper-horizontal>.swiper-scrollbar,
.owners_swiper .swiper-scrollbar.swiper-scrollbar-horizontal {
	left: 16rem;
	bottom: -9rem;
	height: .3rem;
	width: 70%;
}

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

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

.owners_sec02_item {
	margin-top: 4rem;
	background: #FAFAFA;
	padding: 4rem 4.5rem;
}

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

.owners_sec02_item dl {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.owners_sec02_item dt {
	width: 44.4rem;
}

.owners_sec02_item dd {
	width: calc(100% - 44.4rem - 4.8rem);
}

.owners_sec02_item .ttl {
	font-size: 2.3rem;
	font-weight: bold;
	line-height: 1.52;
	color: #E60013;
	margin-bottom: 1.5rem;
}

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

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

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

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

.owners_sec03_item {
	background: #FAFAFA;
	padding: 7.2rem 5.2rem;
}

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

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

.owners_sec03_item dl {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.owners_sec03_item dt {
	width: 46.5rem;
}

.owners_sec03_item dd {
	width: calc(100% - 46.5rem - 3rem);
}

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

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

.owners_sec04 {
	padding: 15rem 0 25rem;
}

.owners_sec04_item {
	display: flex;
	justify-content: space-between;
}

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

.owners_sec04_step {
	width: 26rem;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	grid-gap: 1.5rem;
	padding-top: 4rem;
}

.owners_sec04_step span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 8.6rem;
	height: 3rem;
	border-radius: 2rem;
	background: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}

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

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

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

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

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

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

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

.owners_sec04_dl {
	width: calc(100% - 26rem - 1.8rem);
	background: #F5F5F5;
	padding: 2.2rem 4rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
}

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

.owners_sec04_dl dt {
	width: 22.7rem;
}

.owners_sec04_dl dd {
	width: calc(100% - 22.7rem - 3rem);
	font-size: 1.8rem;
	line-height: 2;
}

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

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

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

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

.report_categ select {
	width: 21.6rem;
	height: 6.3rem;
	border-radius: 0;
	font-size: 1.8rem;
	font-weight: 500;
	border: 1px solid #707070;
	background: url(../img/common/select_categ.svg) no-repeat right 2.1rem center;
	background-size: auto 2.6rem;
	padding: 0 6rem 0 2rem;
}

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

.report_list a {
	opacity: 1;
	display: block;
}

.report_list span {
	display: inline-flex;
	font-size: 1.8rem;
	letter-spacing: .07em;
	padding: .2rem 1rem;
	border: 1px solid #3E3E3E;
	margin-right: 1.7rem;
	transition: all .5s;
}

.report_list .ttl {
	font-size: 2.4rem;
	font-weight: bold;
	margin: .8rem 0 3rem;
	transition: color .5s;
}

.report_list .frame01 {
	height: 34.5rem;
	overflow: hidden;
}

@media screen and (min-width: 751px) {
	.report_list a:hover .report_categ_span {
		background: #585656;
		color: #fff;
	}

	.report_list a:hover .ttl {
		color: #E60013;
	}
}

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

.purchase_sec01 {
	padding: 13rem 0;
}

.purchase_sec02 {
	background: #FAFAFA;
	padding: 12rem 0 19rem;
}

.purchase_list {
	margin-top: 6.4rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 2.3rem;
}

.purchase_list li {
	background: #fff;
	padding: 2.5rem 2rem;
}

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

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

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

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

.purchase_sec03 {
	padding: 15rem 0;
}

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

.purchase_sec03_img01 img {
	width: 96.6rem;
}

.purchase_dl {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.purchase_dl dt {
	width: 44.4rem;
}

.purchase_dl dd {
	width: calc(100% - 44.4rem - 2rem);
}

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

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

/*top*/
#main-visual {
	color: #fff;
	overflow: hidden;
	position: relative;
}

#main-visual .inner {
	max-width: 177rem;
	padding: 0 12rem;
}

.mv_copy {
	background: #E60013;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 12;
	width: 10rem;
	height: 100%;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: .07em;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mv_copy span {
	transform: rotate(90deg);
	transform-origin: center;
	white-space: nowrap;
}

.mv_slick_item {
	opacity: 1 !important;
}

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

.mv_slick_item img {
	clip-path: inset(0 0 0 100%);
	transform: scale(1.1);
	z-index: 1;
	transition-delay: 2s;
}

.slick-current.mv_slick_item img {
	transition-delay: 0s;
	transition: clip-path 1s ease-out, transform 1s;
	clip-path: inset(0 0 0% 0);
	transform: scale(1);
	z-index: 2;
}

.mv_slick .slick-dots {
	width: 3.3rem;
	left: 5rem;
	bottom: 6.2rem;
	top: auto;
	right: auto;
	transform: translate(-50%, 0%);
	display: block;
	z-index: 13;
}

.mv_slick .slick-dots li {
	width: 3.3rem;
	height: 3.3rem;
	display: flex;
	justify-content: center;
	align-items: center;
	float: none;
	margin: 0;
}

.mv_slick .slick-dots li button {
	width: .9rem;
	height: .9rem;
	background: #fff;
	border-radius: 50%;
	padding: 0;
	opacity: .6;
}

.mv_slick .slick-dots li button:before {
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 3.3rem;
	height: 3.3rem;
	background: none;
	border-radius: 50%;
	border: 1px solid #fff;
	opacity: 0;
}

.mv_slick .slick-dots li.slick-active button,
.mv_slick .slick-dots li button:hover {
	opacity: 1;
}

.mv_slick .slick-dots li button:hover:before {
	background: none;
}

.mv_slick .slick-dots li.slick-active button:before {
	background: none;
	opacity: 1;
}

.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: 10rem;
}

.mv_ttl {
	font-size: 11.1rem;
	line-height: 1.15;
	font-weight: bold;
	text-shadow: 0 0 6rem #000;
}

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

.mv_txt {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.75;
	text-shadow: 0 0 3rem #000;
	margin: 2rem 0;
}

.mv_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.slick_wrap .progresses {
	width: calc(100% - 18rem);
}

.slick_wrap .progress {
	width: 100%;
	height: .3rem;
	background: #FFFFFF;
}

.slick_wrap .progress .bar {
	display: block;
	width: 0%;
	height: 100%;
	background: #E60013;
}

.mv_sns {
	display: flex;
	align-items: center;
	grid-gap: 1rem;
}

.mv_sns li {
	width: 4.8rem;
}

.top_news {
	padding: 10rem 0 8rem;
	background: #FAFAFA;
}

.top_news .news_list li:last-of-type {
	border-bottom: 0;
}

.top_about {
	padding-top: 20rem;
}

.top_about_dl {
	display: flex;
	justify-content: space-between;
	margin-right: -9rem;
}

.top_about_dl dt {
	width: 64.4rem;
}

.top_about_dl dd {
	width: calc(100% - 64.4rem - 3rem);
}

@media screen and (min-width: 751px) and (max-width: 1630px) {
	.top_about_dl {
		margin-right: -4rem;
	}
}

.top_about_dl .ttl {
	font-size: 4.9rem;
	line-height: 1.4;
	font-weight: 900;
	letter-spacing: 0.02em;
	margin-bottom: 2.5rem;
}

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

.top_strengths {
	padding-top: 17rem;
}

.top_strengths_btn {
	position: absolute;
	right: 5rem;
	top: 7.5rem;
	z-index: 2;
}

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

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

.top_strengths_list a {
	display: block;
	opacity: 1;
	padding: 5.4rem 3rem;
	min-height: 48.5rem;
	color: #fff;
	text-align: center;
}

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

.top_strengths_list .txt {
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.6;
	margin-top: -9.2rem;
	text-shadow: 0 0 4rem #000000;
}

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

.top_services_item {
	margin-top: 6rem;
}

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

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

.top_services_item dt {
	width: 50%;
	padding: 0 0 0 5rem;
	position: relative;
}

.top_services_item dt:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: -4.6rem;
	z-index: -1;
	width: 58.5rem;
	height: 38.7rem;
	background: #D6D6D6;
}

.top_services_item dd {
	width: calc(50% - 1rem);
	padding: 0 6rem;
}

.top_services_item .img_box {
	padding-top: 82rem;
}

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

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

.top_services_hd {
	border-left: 1.5rem solid #D3D3D3;
	padding-left: 3rem;
	display: flex;
	flex-direction: column;
	margin-bottom: 4rem;
}

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

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

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

.top_services_btn {
	margin-top: 4rem;
	max-width: 49.3rem;
	display: flex;
	flex-wrap: wrap;
	grid-gap: 2.9rem 3.4rem;
	margin-bottom: 4rem;
}

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

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

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

/*** hover ***/
@media screen and (min-width: 751px) {
	.nav_copy {
		display: none;
	}

	.btn_link03:hover {
		opacity: 1;
		color: #fff;
		background: url(../img/common/arrow_btn02.svg)no-repeat right 2.5rem center #E60013;
		background-size: 1.8rem auto;
	}

	.top_services_item dl:nth-of-type(even) {
		flex-direction: row-reverse;
	}

	.top_services_item dl:nth-of-type(even) dt {
		padding: 0 5rem 0 0;
	}

	.top_services_item dl:nth-of-type(even) .transform_eng {
		left: calc(100% - 1.2em);
	}

	.top_services_item dl:nth-of-type(even) .img_box:before {
		left: auto;
		right: 0;
	}

	.top_services_item dl:nth-of-type(even) dt:before {
		left: auto;
		right: 0;
	}

}

.top_social {
	padding: 20rem 0;
}

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

.top_social_box a {
	display: block;
	height: 37rem;
	opacity: 1;
	box-shadow: 0 3rem 4rem rgba(47, 47, 47, .16);
	background: url(../img/top/bg_social.png)no-repeat center center #F5F5F5;
	background-size: cover;
}

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

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

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

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

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

.top_social_box .txt {
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 300;
}

.properties-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	max-width: 960px;
	width: 90%;
	margin: 0 auto 100px;
}

.properties-list li {
	max-width: 25%;
}

@media screen and (max-width: 767px) {
	.properties-list li {
		max-width: 50%;
	}
}

a.frame01__child,
a.frame01 {
	display: block;
	opacity: 1;
}

.anchor_link {
	position: relative;
}

.anchor_link span {
	position: absolute;
	top: -11.3rem;
}

.wpcf7-spinner {
	position: absolute;
}

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

.purchase_sec01_btn {
	margin-top: 3.5rem;
}

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

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

.purchase_sec01_list .icon img {
	width: 25.6rem;
	max-width: 100%;
}

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

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

.location_wrap {
	display: flex;
	justify-content: space-between;
}

.location_wrap select {
	max-width: 21.3rem;
	margin-right: 2rem;
}

.location_wrap input {
	max-width: calc(100% - 21.3rem - 2rem);
}

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

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

.form_scale {
	margin-top: 2rem;
}

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

.report_detail_top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	grid-gap: 2rem 4.4rem;
	margin-bottom: 10rem;
}

.report_detail_top .date {
	display: inline-flex;
	font-size: 2.4rem;
	letter-spacing: .07em;
	padding: .2rem 1.4rem;
	border: 1px solid #3E3E3E;
}

.report_detail_top .ttl {
	font-size: 4rem;
	font-weight: bold;
}

.report_detail_btn {
	margin-top: 7rem;
	text-align: center;
}

.btn_link01.is_black {
	background: #3E3E3E;
}

.btn_link01.is_black .btn_link01_icon font {
	background: url(../img/common/arrow_btn01_black.svg)no-repeat center center;
	background-size: cover;
}

.cpm_btn {
	margin: 20px 0 50px;
}

.agency_sec02 {
	padding: 24rem 0 0;
}

.agency-lists {
	display: flex;
	justify-content: space-evenly;
	padding: 4rem 0;
}

.agency-lists .agency-point {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: 30%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border: solid 1px #ccc;
	border-radius: 50%;
}

.agency-lists .agency-point .agency-point_box {
	text-align: center;
}

.agency-lists .agency-point .agency-point_num {
	font-size: 2rem;
	margin-bottom: 3.2rem;
}

.agency-lists .agency-point .agency-point_red {
	color: #E60013;
	font-size: 2.5rem;
	font-weight: bold;
}

.agency-lists .agency-point .agency-point_txt {
	font-size: 1.8rem;
	font-weight: bold;
}

.agency-flow_ttl {
	font-size: 2.4rem;
	font-weight: bold;
	padding: 5rem 0 4rem;
}

.agency-flow .agency_sec04_item {
	display: flex;
	justify-content: space-between;
}

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

.agency-flow .agency_sec04_item:last-child {
	overflow: hidden;
}

.agency-flow .agency_sec04_step {
	width: 26rem;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	grid-gap: 1.5rem;
	padding-top: 4rem;
}

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

.agency-flow .agency_sec04_step font {
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
}

.agency-flow .agency_sec04_step:before {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 24.2rem;
}

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

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

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

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

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

.agency-flow .agency_sec04_dl {
	width: calc(100% - 26rem - 1.8rem);
	background: #F5F5F5;
	padding: 2.2rem 4rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
}

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

.agency-flow .agency_sec04_dl dt {
	width: 22.7rem;
}

.agency-flow .agency_sec04_dl dd {
	width: calc(100% - 22.7rem - 3rem);
	font-size: 1.8rem;
	line-height: 2;
}

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

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

@media screen and (max-width: 767px) {
	.agency_sec02 {
		padding: 8rem 0 0;
	}

	.agency-lists {
		padding: 2rem 0;
	}

	.agency-lists .agency-point {
		width: 32%;
	}

	.agency-lists .agency-point .agency-point_num {
		font-size: 10px;
		margin-bottom: 10px;
	}

	.agency-lists .agency-point .agency-point_red {
		font-size: 14px;
	}

	.agency-lists .agency-point .agency-point_txt {
		font-size: 10px;
	}
}

@media screen and (max-width: 500px) {
	.agency-lists .agency-point .agency-point_num {
		font-size: 10px;
		margin-bottom: 5px;
	}

	.agency-lists .agency-point .agency-point_red {
		font-size: 10px;
	}

	.agency-lists .agency-point .agency-point_txt {
		font-size: 10px;
	}
}

.top_services .achievement {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 49.3rem;
}

.top_services .achievement .achievement-item {
	width: 30%;
	box-shadow: 0 .5rem 1.5rem rgba(147, 0, 0, .2);
	text-align: center;
	padding: 3%;
	background: #fff;
}

.top_services .achievement .achievement-item h2 {
	font-size: 1.8rem;
	border-bottom: solid 0.2rem #E60013;
	position: relative;
	padding: 0 0 1rem;
	margin: 0 0 3rem;
}

.top_services .achievement .achievement-item h2::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 1.6rem 1.2rem 0 1.2rem;
	border-color: #e60013 transparent transparent;
	translate: -50% 100%;
}

.top_services .achievement .achievement-item h2::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 1.43rem 1.08rem 0 1.08rem;
	border-color: #fff transparent transparent;
	translate: -50% 100%;
}

.top_services .achievement .achievement-item p {
	font-size: 2.4rem;
	font-weight: bold;
}

@media screen and (max-width: 750px) {
	.top_services .achievement .achievement-item h2 {
		font-size: 1.2rem;
	}

	.top_services .achievement .achievement-item p {
		font-size: 1.6rem;
	}
}