/* base */

html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 62.5%;
}

*,
::before,
::after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

body {
	color: #666666;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
}

.wrapper {
	overflow: hidden;
}

a {
	-webkit-transition: all 0.5s ease-in 0s;
	color: inherit;
	text-decoration: none;
	transition: all 0.5s ease-in 0s;
}

img {
	vertical-align: bottom;
}

li {
	list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 300;
}

/* component */

.inner {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
}

.br--sp {
	display: none;
}

.section-ttl {
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	align-items: center;
	color: #1d386d;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-family: Calibri;
	font-size: 2.8rem;
	font-style: italic;
	font-weight: lighter;
	justify-content: center;
	letter-spacing: 0.1em;
	line-height: 3.14;
	text-align: center;
}

.section-ttl::before,
.section-ttl::after {
	background: url(../img/common/line.png) no-repeat center center;
	content: "";
	height: 8px;
	width: 110px;
}

.section-ttl--light::before,
.section-ttl--light::after {
	background: url(../img/common/line-light.png) no-repeat center center;
}

.section-ttl::before {
	margin-right: 1.5%;
}

.section-ttl::after {
	-webkit-transform: rotate(180deg);
	margin-left: 1.5%;
	transform: rotate(180deg);
}

/* header */

.header {
	background-color: #FFFFFF;
	height: 80px;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

.header-inner {
	-ms-flex-align: center;
	-ms-flex-pack: justify;
	-webkit-align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 80px;
	justify-content: space-between;
	position: relative;
}

.header-logo a {
	display: block;
}

.header-logo img {
	width: 100%;
}

.header-menu {
	-ms-flex-align: center;
	-ms-flex-pack: end;
	-webkit-align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-end;
	padding: 0;
}

.header-menu-item a {
	color: #1d386d;
	display: block;
	font-size: 1.6rem;
	line-height: 80px;
	outline: none;
	padding: 0 19px;
	position: relative;
}

.header-menu-item a::after {
	-webkit-transform: translateX(-50%);
	-webkit-transition: all 0.5s ease-in 0s;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #1d386d;
	bottom: 18px;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	transition: all 0.5s ease-in 0s;
	width: 0;
}

.header-menu-item a:hover {
	color: #0096bb;
	text-decoration: none;
}

.header-menu-item a:hover::after {
	border-top: 8px solid #0096bb;
}

/*トグルボタンのスタイルを指定*/

.toggle {
	cursor: pointer;
	display: none;
	height: 30px;
	position: relative;
	width: 38px;
	z-index: 3;
}

.toggle.active {
	top: -5px;
}

.toggle span {
	-webkit-transition: .35s ease-in-out;
	border-bottom: solid 2px #1d386d;
	display: block;
	left: 6px;
	position: absolute;
	transition: .35s ease-in-out;
	width: 24px;
}

.toggle span:nth-child(1) {
	top: 7px;
}

.toggle span:nth-child(2) {
	top: 14px;
}

.toggle span:nth-child(3) {
	top: 21px;
}

.toggle.active span:nth-child(1) {
	-webkit-transform: rotate(-45deg);
	left: 6px;
	top: 18px;
	transform: rotate(-45deg);
}

.toggle.active span:nth-child(2),
.toggle.active span:nth-child(3) {
	-webkit-transform: rotate(45deg);
	top: 18px;
	transform: rotate(45deg);
}

.drawer {
	background: rgba(255, 255, 255, 0.9);
	display: none;
	height: 100vh;
	width: 100%;
}

.drawer-menu-item {
	border-bottom: 1px solid #cccccc;
	margin: 0 -16px;
	padding: 18px 17px;
}

.drawer-menu-item a {
	-ms-flex-align: center;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	color: #1d386d;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	outline: none;
}

.drawer-menu-item a::before {
	-webkit-transition: all 0.5s ease-in 0s;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #1d386d;
	content: "";
	height: 0;
	margin: 3px 8px 0 0;
	transition: all 0.5s ease-in 0s;
	width: 0;
}

.drawer-menu-item a:hover {
	color: #0096bb;
	text-decoration: none;
}

.drawer-menu-item a:hover::before {
	border-top: 6px solid #0096bb;
}

/* swiper.cssをカスタマイズ*/

.swiper-container {
	z-index: 0;
}

.swiper-wrapper {
	height: auto !important;
}

.swiper-button-prev,
.swiper-button-next {
	-webkit-transition: all 0.5s ease-in 0s;
	border-radius: 50%;
	height: 28px;
	transition: all 0.5s ease-in 0s;
	width: 28px;
}

.swiper-button-prev::before,
.swiper-button-next::before {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	content: "";
	height: 8px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 8px;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	content: "";
}

.swiper-button-prev {
	left: 0;
}

.swiper-button-prev::before {
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	margin-left: 5%;
}

.swiper-button-next {
	right: 0;
}

.swiper-button-next::before {
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	margin-left: -3%;
}

.about .swiper-button-prev,
.about .swiper-button-next {
	background-color: #1d386d;
	margin-top: -72px;
}

.about .swiper-button-prev:hover,
.about .swiper-button-next:hover {
	background-color: #4a608a;
}

.voice .swiper-button-prev,
.voice .swiper-button-next {
	background-color: #0096bb;
}

.voice .swiper-button-prev:hover,
.voice .swiper-button-next:hover {
	background-color: #33abc9;
}

#swiper-pagination-about {
	bottom: 0px;
	margin-left: -5px;
	padding: 18px 0;
	position: relative;
}

#swiper-pagination-about .swiper-pagination-bullet {
	background: #1d386d;
	height: 10px;
	margin: 0 10px;
	opacity: .4;
	width: 10px;
}

#swiper-pagination-about .swiper-pagination-bullet-active {
	opacity: 1;
	position: relative;
}

#swiper-pagination-voice {
	bottom: 0px;
	margin-left: -5px;
	padding: 10px 0;
	position: relative;
}

#swiper-pagination-voice .swiper-pagination-bullet {
	background: #0096bb;
	height: 10px;
	margin: 0 10px;
	opacity: .4;
	width: 10px;
}

#swiper-pagination-voice .swiper-pagination-bullet-active {
	opacity: 1;
	position: relative;
}

.swiper-container-autoheight .swiper-wrapper {
	-ms-flex-align: stretch !important;
	-webkit-align-items: stretch !important;
	-webkit-box-align: stretch !important;
	align-items: stretch !important;
}

/* mv */

.mv {
	background: url(../img/mv/mv.jpg) no-repeat center center/cover;
	height: 100%;
	padding: 196px 0 144px;
}

.mv-content {
	display: inline-block;
}

.mv-ttl {
	margin-bottom: 40px;
}

.mv-ttl img {
	width: 100%;
}

.appeal-list {
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
}

/* about */

.about {
	letter-spacing: 0.05em;
	line-height: 1.66;
	padding: 50px 0 120px;
	position: relative;
	text-align: center;
}

.about-ttl {
	margin-bottom: 10px;
}

.about-subttl--pc {
	display: block;
	width: 100%;
}

.about-subttl--sp {
	display: none;
}

.about-txt {
	margin-bottom: 70px;
}

.about-slideshow {
	padding: 0 4%;
	position: relative;
	z-index: 5;
}

.profile {
	background-color: #1d386d;
	color: #FFFFFF;
	height: 100%;
	letter-spacing: 0.05em;
	padding: 5px;
}

.profile-img-pic {
	width: 100%;
}

.profile-content {
	font-size: 1.4rem;
	line-height: 1.71;
	padding: 10px 0;
}

.profile-ttl {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.66;
	margin-bottom: 4px;
}

.profile-role {
	margin-bottom: 2px;
}

.profile-history {
	margin-bottom: 10px;
}

.profile-blog {
	border: solid 1px #FFFFFF;
	border-radius: 30px;
	display: block;
	margin-bottom: 2px;
	padding: 3px;
}

.profile-blog:hover {
	background-color: #4a608a;
}

.profile-blog-wrap {
	padding: 0 13%;
}

/* service */

.service {
	text-align: center;
}

.service-ttl {
	margin-bottom: 12px;
}

.service-subttl {
	margin-bottom: 76px;
}

.service-subttl--pc {
	display: block;
	margin: 0 auto;
}

.service-subttl--sp {
	display: none;
}

.service-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 60px;
}

.service-bg--primary {
	background: url(../img/service/service-bg1.png) no-repeat center center/cover;
	margin: 0 calc(50% - 50vw);
	padding: 48px calc(50vw - 50%);
	width: 100vw;
}

.service-bg--secondary {
	background: url(../img/service/service-bg2.jpg) no-repeat bottom center/cover;
	margin: -228px calc(50% - 50vw) 0;
	padding: 0 calc(50vw - 50%);
	position: relative;
	width: 100vw;
}

.primary {
	-webkit-box-shadow: 1.5px 2.6px 6px 0 rgba(0, 0, 0, 0.3);
	background-color: #FFFFFF;
	border: solid 5px #f4c403;
	box-shadow: 1.5px 2.6px 6px 0 rgba(0, 0, 0, 0.3);
	letter-spacing: 0.05em;
	position: relative;
	width: 30%;
	z-index: 10;
}

.primary-ttl {
	background-color: #f4c403;
	border: 1px solid #f4c403;
	color: #FFFFFF;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.07;
	margin-bottom: 23px;
	outline: 1px solid #f4c403;
	padding: 6px 0 10px;
}

.primary-txt {
	font-size: 1.7rem;
	line-height: 1.64;
	padding: 0 4% 45px;
	text-align: justify;
}

.primary-img {
	height: 64px;
	width: 64px;
}

.primary-img-wrap {
	margin-bottom: 16px;
}

_:-ms-lang(x)::-ms-backdrop,
.primary-ttl {
	outline: none;
}

.secondary {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	letter-spacing: 0.05em;
	width: 70%;
}

.secondary-item {
	background-color: #FFFFFF;
}

.secondary-item:first-child {
	border-right: solid 5px #1d386d;
}

.secondary-item:first-child .secondary-item-txt {
	padding: 0 6% 26px;
}

.secondary-item-ttl {
	background-color: #1d386d;
	color: #FFFFFF;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 25px;
	outline: 2px solid #1d386d;
	padding: 0 0 5px;
}

.secondary-item-txt {
	font-size: 1.6rem;
	line-height: 1.62;
	padding: 0 6% 26px;
	text-align: justify;
}

.secondary-item-img {
	margin: 0 auto 15px;
}

.secondary-item-img img {
	height: auto;
	width: 61px;
}

.reason {
	-webkit-box-shadow: 1.5px 2.6px 6px 0 rgba(0, 0, 0, 0.3);
	background: url(../img/service/service-reason-bg.png) no-repeat top right/cover;
	box-shadow: 1.5px 2.6px 6px 0 rgba(0, 0, 0, 0.3);
	color: #FFFFFF;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	letter-spacing: 0.05em;
	padding: 20px 2% 20px 3%;
	position: relative;
	z-index: 10;
}

.reason-ttl {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.25;
	margin-bottom: 26px;
}

.reason-txt {
	font-size: 1.8rem;
	line-height: 1.66;
	text-align: left;
}

.reason-wrap {
	padding: 16px 2% 0 0;
}

.reason-img-wrap {
	width: 74%;
}

.reason-img-wrap img {
	width: 100%;
}

.genre {
	padding: 70px 0 77px;
}

.genre-ttl {
	bottom: -193px;
	position: relative;
}

.genre-wrap {
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 15px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 215px 0 20px;
	padding: 83px 4% 40px;
	width: 100%;
}

.category {
	min-width: 0;
	padding: 14px 25px 25px;
	position: relative;
	z-index: 5;
}

.category::before {
	-webkit-transform: translateX(-50%);
	border-radius: 50%;
	content: "";
	height: 80px;
	left: 50%;
	position: absolute;
	top: -42px;
	transform: translateX(-50%);
	width: 80px;
	z-index: -1;
}

.category::after {
	-webkit-transform: translateX(-50%);
	content: "";
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.category.category--kodate {
	background: url(../img/service/service-genre-kodate-bg.png);
	width: 44%;
}

.category.category--kodate .category-item {
	color: #1d386d;
	width: calc(100% / 3 - 9% * 2 / 3);
}

.category.category--kodate::before {
	background: url(../img/service/service-genre-kodate-bg.png);
}

.category.category--kodate::after {
	background: url(../img/service/service-genre-kodate.svg) no-repeat center center/contain;
	height: 29px;
	top: -29px;
	width: 43px;
}

.category.category--mansion,
.category.category--land {
	width: 30%;
}

.category.category--mansion .category-item,
.category.category--land .category-item {
	width: calc(100% / 2 - 13% * 1 / 2);
}

.category.category--mansion {
	background: url(../img/service/service-genre-mansion-bg.png);
	color: #2973a2;
}

.category.category--mansion::before {
	background: url(../img/service/service-genre-mansion-bg.png);
}

.category.category--mansion::after {
	-webkit-transform: translateX(-50%);
	background: url(../img/service/service-genre-mansion.svg) no-repeat center center/contain;
	content: "";
	height: 36px;
	left: 50%;
	position: absolute;
	top: -31px;
	transform: translateX(-50%);
	width: 21px;
}

.category.category--land {
	background: url(../img/service/service-genre-land-bg.png);
	color: #0096bb;
}

.category.category--land::before {
	background: url(../img/service/service-genre-land-bg.png);
}

.category.category--land::after {
	-webkit-transform: translateX(-50%);
	background: url(../img/service/service-genre-land.svg) no-repeat center center/contain;
	content: "";
	height: 26px;
	left: 50%;
	position: absolute;
	top: -26px;
	transform: translateX(-50%);
	width: 32px;
}

.category-ttl {
	color: #FFFFFF;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.25;
	margin-bottom: 18px;
}

.category-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.category-item {
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	align-items: center;
	background-color: #FFFFFF;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 2.8rem;
	justify-content: center;
	letter-spacing: 0.05em;
	line-height: 1;
	padding: 30px;
}

/* flow */

.flow {
	padding-top: 28px;
}

.flow-ttl {
	margin-bottom: 14px;
}

.flow-subttl {
	margin-bottom: 53px;
	text-align: center;
}

.flow-wrap {
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
	position: relative;
	width: 100vw;
}

.flow-bg {
	background: url(../img/flow/flow-bg.jpg) no-repeat bottom center/cover;
	margin: 0 calc(50% - 50vw);
	padding: 311px calc(50vw - 50%) 108px;
	position: relative;
	top: -6px;
	width: 100vw;
	z-index: -1;
}

.steps {
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	padding: 0 8% 187px;
	position: relative;
	z-index: 5;
}

.step {
	width: 50%;
}

.step::after {
	content: "";
	position: absolute;
	z-index: -1;
}

.step:first-child {
	position: relative;
}

.step:nth-child(odd) .step-meta {
	position: relative;
}

.step:nth-child(even) .step-meta {
	position: relative;
}

.step:nth-child(2) {
	position: relative;
}

.step:nth-child(3) {
	position: relative;
}

.step:nth-child(4) {
	position: relative;
}

.step-no {
	position: absolute;
	top: -19px;
}

.step-content {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 1.66;
}

.step-ttl {
	color: #0096bb;
	font-weight: bold;
	margin-right: 25px;
	text-align: center;
}

.step-img {
	margin-bottom: 13px;
	width: 62%;
}

.step-img-pic {
	width: 100%;
}

.consult {
	text-align: center;
}

.consult-wrap {
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 15px;
	margin-bottom: 37px;
	padding: 35px 4% 45px;
	position: relative;
	z-index: 10;
}

.consult-ttl {
	margin-bottom: 23px;
}

.questions {
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}

.question {
	background-color: #1d386d;
	color: #FFFFFF;
	letter-spacing: 0.05em;
	line-height: 1.66;
	margin-bottom: 33px;
	padding: 16px;
	position: relative;
	position: relative;
	width: calc(100% / 3 - 2% * 2 / 3);
	z-index: 10;
}

.question::after {
	z-index: -1;
}

.question:nth-child(3n+2)::after {
	-webkit-transform: translateX(-50%);
	border-left: 22px solid transparent;
	border-right: 22px solid transparent;
	border-top: 43px solid #1d386d;
	bottom: -24px;
	content: "";
	height: 0;
	left: 50%;
	margin: 0;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.info {
	background: url(../img/flow/flow-info-bg.png) no-repeat 28% center/cover;
	border: solid 1px #0096bb;
	letter-spacing: 0.05em;
	line-height: 1.66;
	padding: 23px 4%;
	position: relative;
	text-align: center;
	z-index: 5;
}

.info::before {
	color: #FFFFFF;
	content: "INFORMATION";
	font-family: Calibri;
	font-size: 2.4rem;
	font-style: italic;
	font-weight: lighter;
	left: 14px;
	letter-spacing: 0.1em;
	line-height: 3.75;
	position: absolute;
	top: -18px;
}

/* voice */

.voice {
	letter-spacing: 0.05em;
	line-height: 1.66;
	padding: 77px 0 90px;
	position: relative;
}

.voice-inner {
	position: relative;
}

.voice-subttl {
	margin-bottom: 60px;
	padding-top: 6px;
}

.voice-subttl--pc {
	display: block;
	margin: 0 auto;
}

.voice-subttl--sp {
	display: none;
}

.voice-txt {
	margin: -5px auto 74px;
	width: 630px;
}

.voice-slideshow {
	padding: 0 4%;
	position: relative;
	z-index: 5;
}

.review {
	-ms-flex-align: start;
	-webkit-align-items: flex-start;
	-webkit-box-align: start;
	align-items: flex-start;
	background: url(../img/voice/voice-review-bg.png) center center/cover;
	color: #FFFFFF;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	padding: 15px 2% 32px;
}

.review-txt {
	padding-top: 5px;
}

.review-person {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 2.14;
	text-align: right;
}

.review-img {
	width: 33%;
}

.review-img img {
	width: 100%;
}

.review-container {
	height: 100%;
}

.review-info {
	-ms-flex-align: center;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	color: #1d386d;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	white-space: nowrap;
}

.review-info-wrap {
	-ms-flex-align: center;
	-ms-flex-wrap: wrap;
	-webkit-align-items: center;
	-webkit-box-align: center;
	-webkit-flex-wrap: wrap;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	font-size: 2.4rem;
	line-height: 1.25;
	margin-bottom: 20px;
}

.review-info-wrap::after {
	background: #1d386d;
	content: "";
	height: 4px;
	margin-top: 7px;
	width: 100%;
}

.review-info-tag {
	background: #1d386d;
	border-radius: 4px 0 0 4px;
	color: #FFFFFF;
	display: inline-block;
	height: 40px;
	line-height: 40px;
	padding: 0 15px;
	position: relative;
}

.review-info-tag::before {
	border: 20px solid transparent;
	border-left-color: #1d386d;
	border-right-width: 0;
	content: '';
	display: block;
	height: 0;
	position: absolute;
	right: -20px;
	top: 0;
	width: 0;
}

.review-info-content {
	padding-left: 28px;
}

/* mission */

.mission {
	background: url(../img/mission/mission-bg.jpg) no-repeat center center/cover;
	color: #FFFFFF;
	padding: 91px 0 88px;
}

.mission-upper {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 48px;
}

.mission-below {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.mission-img {
	position: relative;
}

.mission-img-pic {
	position: relative;
	width: 100%;
	z-index: 10;
}

.mission-img::after {
	border: solid 5px #FFFFFF;
	content: "";
	height: 100%;
	left: 19%;
	opacity: .4;
	position: absolute;
	top: 6%;
	width: 90%;
}

.mission-ttl {
	color: #FFFFFF;
	margin-bottom: 27px;
}

.mission-txt {
	letter-spacing: 0.05em;
	line-height: 1.83;
}

/* company */

.company {
	background-color: #1d386d;
	color: #FFFFFF;
	padding: 103px 0 80px;
}

.company-inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.detail {
	border-bottom: 1px solid #FFFFFF;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding: 10px 0;
}

.detail:first-child {
	border-top: 1px solid #FFFFFF;
}

.detail-ttl {
	width: 27%;
}

.detail-txt {
	-ms-flex: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
}

.map {
	position: relative;
	width: 50%;
}

.map::before {
	content: "";
	display: block;
	height: 0;
	padding-top: 65%;
}

.map iframe {
	border: 0px;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

/* footer */

.footer {
	background-color: #1d386d;
	color: #FFFFFF;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 2;
	padding-bottom: 10px;
	text-align: center;
}

@media (min-width: 450px) and (max-width: 750px) {

.info {
	background: url(../img/flow/flow-info-bg-sp.png) no-repeat right 20%/cover;
}

}

@media (min-width: 751px) {

.header {
	-webkit-box-shadow: 1px 1.7px 5px 0 rgba(0, 0, 0, 0.15);
	box-shadow: 1px 1.7px 5px 0 rgba(0, 0, 0, 0.15);
}

.drawer {
	display: none;
}

.mv-ttl {
	width: 661px;
}

.about::before {
	background: url(../img/common/shape-bg1.svg) no-repeat center center/contain;
	content: "";
	height: 458px;
	position: absolute;
	right: 0;
	top: -140px;
	width: 336px;
}

.about::after {
	background: url(../img/common/shape-bg2.svg) no-repeat center center/contain;
	bottom: -178px;
	content: "";
	height: 470px;
	left: 0;
	position: absolute;
	width: 327px;
}

.about-subttl {
	margin: 0 auto 55px;
	max-width: 790px;
	width: 100%;
}

.service-bg--secondary::before {
	background: url(../img/service/service-bg-triangle.png) no-repeat top center/cover;
	content: "";
	height: 235px;
	left: 0;
	position: absolute;
	top: -1px;
	width: 100%;
}

.primary {
	-webkit-transform: scaleY(1.1);
	transform: scaleY(1.1);
}

.primary-img {
	-webkit-transform: scaleX(1.1);
	transform: scaleX(1.1);
}

.secondary-item {
	border-bottom: solid 5px #1d386d;
	border-top: solid 5px #1d386d;
	width: calc(100% / 3);
}

.secondary-item + .secondary-item {
	border-right: solid 5px #1d386d;
}

.category-list {
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.category:not(:last-child) {
	margin: 0 3% 0 0;
}

.category.category--kodate .category-item:not(:last-child) {
	margin: 0 9% 0 0;
}

.category.category--mansion .category-item:not(:last-child),
.category.category--land .category-item:not(:last-child) {
	margin: 0 13% 0 0;
}

.category-item {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	height: 180px;
	writing-mode: vertical-rl;
}

.flow-wrap::before {
	background: url(../img/common/shape-bg1.svg) no-repeat center center/contain;
	content: "";
	height: 458px;
	position: absolute;
	right: 0;
	top: -168px;
	width: 336px;
}

.flow-wrap::after {
	background: url(../img/common/shape-bg2.svg) no-repeat center center/contain;
	bottom: -105px;
	content: "";
	height: 470px;
	left: -30px;
	position: absolute;
	width: 327px;
}

.flow-bg::before {
	background: url(../img/flow/flow-bg-triangle.png) no-repeat top center/cover;
	content: "";
	height: 241px;
	left: 0;
	position: absolute;
	top: -1px;
	width: 100%;
}

.step:first-child::after {
	background: url(../img/flow/flow-line1.svg) repeat top center;
	height: 272px;
	right: -159px;
	top: 76px;
	width: 83%;
}

.step:nth-child(odd) .step-meta {
	padding-left: 7%;
}

.step:nth-child(even) .step-meta {
	padding-left: 7%;
}

.step:nth-child(2) {
	bottom: -230px;
	right: -117px;
}

.step:nth-child(2)::after {
	background: url(../img/flow/flow-line2.svg) repeat top center;
	height: 272px;
	left: -275px;
	top: 76px;
	width: 83%;
}

.step:nth-child(3) {
	bottom: -80px;
}

.step:nth-child(3)::after {
	background: url(../img/flow/flow-line3.svg) repeat top center;
	height: 272px;
	right: -139px;
	top: 68px;
	width: 83%;
}

.step:nth-child(4) {
	bottom: -313px;
	right: -112px;
}

.step-content {
	width: 325px;
}

.questions {
	margin-bottom: 15px;
}

.question:not(:nth-child(3n)) {
	margin-right: 2%;
}

.question:nth-child(3n+1)::after {
	-webkit-transform: translateX(-50%);
	-webkit-transform: rotate(-30deg);
	border-left: 19px solid transparent;
	border-right: 13px solid transparent;
	border-top: 44px solid #1d386d;
	bottom: -27px;
	content: "";
	height: 0;
	left: 45%;
	margin: 0;
	position: absolute;
	transform: translateX(-50%);
	transform: rotate(-30deg);
	width: 0;
}

.question:nth-child(3n)::after {
	-webkit-transform: translateX(-50%);
	-webkit-transform: rotate(30deg);
	border-left: 25px solid transparent;
	border-right: 10px solid transparent;
	border-top: 42px solid #1d386d;
	bottom: -22px;
	content: "";
	height: 0;
	left: 40%;
	margin: 0;
	position: absolute;
	transform: translateX(-50%);
	transform: rotate(30deg);
	width: 0;
}

.voice::before {
	background: url(../img/common/shape-bg1.svg) no-repeat center center/contain;
	content: "";
	height: 458px;
	position: absolute;
	right: 0;
	top: -175px;
	width: 336px;
}

.voice::after {
	background: url(../img/common/shape-bg2.svg) no-repeat center center/contain;
	bottom: -112px;
	content: "";
	height: 470px;
	left: -79px;
	position: absolute;
	width: 327px;
}

.review-wrap {
	-ms-flex: 1 1 0px;
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 0;
	flex: 1 1 0;
	padding-left: 2%;
}

.review-info {
	margin-right: 3%;
}

.review-info:last-child {
	-ms-flex: 1 1 0px;
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 0;
	flex: 1 1 0;
}

.review-info-tag::after {
	background-color: #1d386d;
	content: "";
	height: 40px;
	position: absolute;
	right: 0;
	top: 0;
	width: 3px; /*IEでのブラウザ表示時隙間対策*/
}

.mission-img {
	margin-right: 9%;
	padding-left: 3%;
	width: 35%;
}

.mission-ttl-wrap {
	-ms-flex-order: 2;
	-webkit-box-ordinal-group: 3;
	-webkit-order: 2;
	order: 2;
	padding-top: 50px;
}

.mission-txt:not(:last-child) {
	margin-bottom: 31px;
}

.mission-content {
	width: calc(100% / 2 - 6% / 2);
}

.mission-content:not(:last-child) {
	margin-right: 6%;
}

.details {
	padding-right: 4%;
	width: 50%;
}

}

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

.about::before {
	height: 654px;
	width: 480px;
}

.about::after {
	height: 654px;
	width: 467px;
}

.flow-wrap::before {
	height: 654px;
	top: -218px;
	width: 480px;
}

.flow-wrap::after {
	bottom: -79px;
	height: 670px;
	width: 467px;
}

.voice::before {
	height: 654px;
	top: -246px;
	width: 480px;
}

.voice::after {
	bottom: -140px;
	height: 654px;
	left: -3px;
	width: 467px;
}

}

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

.step:first-child::after {
	right: -145px;
	top: 83px;
}

.step:nth-child(2)::after {
	left: -263px;
	top: 74px;
	width: 92%;
}

.step:nth-child(3)::after {
	right: -130px;
	top: 69px;
}

}

@media (max-width: 1010px) {

.inner { /* innerサイズ下回る場合（10pxはバッファ） */
	padding: 0 16px;
}

}

@media (max-width: 900px) {

.step:nth-child(even) .step-content {
	padding-right: 25%;
}

.info::before {
	font-size: 2rem;
}

}

@media (max-width: 750px) {

body {
	font-size: 1.4rem;
}

.inner {
	padding: 0 32px;
}

.br--pc {
	display: none;
}

.br--sp {
	display: block;
}

.section-ttl {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 2.2;
}

.section-ttl::before,
.section-ttl::after {
	height: 4px;
	width: 60px;
}

.header {
	height: 50px;
}

.header-inner {
	-webkit-box-shadow: 1px 1.7px 5px 0 rgba(0, 0, 0, 0.15);
	box-shadow: 1px 1.7px 5px 0 rgba(0, 0, 0, 0.15);
	height: 50px;
}

.header-logo {
	height: auto;
	width: 48px;
}

.header-nav {
	display: none;
}

.toggle {
	display: block;
}

.swiper-button-prev,
.swiper-button-next {
	height: 20px;
	width: 20px;
}

.swiper-button-prev::before,
.swiper-button-next::before {
	height: 6px;
	width: 6px;
}

.about .swiper-button-prev {
	left: -2px;
}

.about .swiper-button-next {
	right: -2px;
}

.about .swiper-button-prev,
.about .swiper-button-next {
	margin-top: -49px;
}

.voice .swiper-button-prev {
	left: -12px;
}

.voice .swiper-button-next {
	right: -12px;
}

#swiper-pagination-about {
	padding: 7px 0;
	text-align: center;
}

#swiper-pagination-voice {
	padding: 10px 0;
	text-align: center;
}

.mv {
	background: url(../img/mv/mv-sp.jpg) no-repeat center center/cover;
	padding: 122px 0 36px;
}

.mv-content {
	width: 100%;
}

.mv-ttl {
	margin-bottom: 15px;
}

.appeal {
	margin: 0 auto;
	width: 57%;
}

.appeal-item img {
	width: 100%;
}

.about {
	padding: 13px 0 22px;
}

.about-ttl {
	margin-bottom: 7px;
}

.about-subttl {
	margin: 0 auto 27px;
	width: 78%;
}

.about-subttl--pc {
	display: none;
}

.about-subttl--sp {
	display: block;
	width: 100%;
}

.about-txt {
	margin-bottom: 27px;
	text-align: left;
}

.about-slideshow {
	padding: 0 8%;
}

.profile {
	letter-spacing: 0.025em;
}

.profile-ttl {
	font-size: 1.9rem;
	line-height: 1.47;
	margin-bottom: 7px;
}

.profile-role {
	font-size: 1.4rem;
	line-height: 1.46;
}

.profile-history {
	font-size: 1.3rem;
	line-height: 1.69;
}

.profile-blog {
	font-size: 1.4rem;
	letter-spacing: 0.025em;
	line-height: 1.6;
}

.service-ttl {
	margin-bottom: 9px;
}

.service-subttl {
	margin: 0 auto 33px;
	width: 75%;
}

.service-subttl--pc {
	display: none;
}

.service-subttl--sp {
	display: block;
	width: 100%;
}

.service-wrap {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
	margin-bottom: 41px;
}

.service-bg--primary {
	padding: 20px calc(50vw - 50%);
}

.service-bg--secondary {
	margin: -83px calc(50% - 50vw) 0;
}

.service-bg--secondary::before {
	background: url(../img/service/service-bg-triangle-sp.png) no-repeat bottom center/cover;
	content: "";
	height: 105px;
	left: 0;
	position: absolute;
	top: -1px;
	width: 100%;
}

.primary {
	width: 100%;
}

.primary-ttl {
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 16px;
	padding: 3px 0 9px;
}

.primary-txt {
	font-size: 1.5rem;
	line-height: 1.70;
	padding: 0 6% 22px;
}

.primary-img-wrap {
	margin-bottom: 11px;
}

.primary-img {
	height: 55px;
	width: 55px;
}

.secondary {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
	padding: 0 5.5%;
	width: 100%;
}

.secondary-item {
	border: solid 5px #1d386d;
	width: 100%;
}

.secondary-item-ttl {
	font-size: 1.8rem;
	line-height: 0.83;
	margin-bottom: 14px;
	padding: 12px 0 16px;
}

.secondary-item-txt {
	font-size: 1.4rem;
	line-height: 1.6;
	padding: 0 6% 18px;
}

.secondary-item-img img {
	height: 43px;
	width: 47px;
}

.reason {
	background: url(../img/service/service-reason-bg-sp.png) repeat top center/cover;
}

.reason {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.reason-ttl {
	font-size: 2rem;
	line-height: 0.75;
	margin-bottom: 16px;
}

.reason-txt {
	font-size: 1.5rem;
	line-height: 1.66;
}

.reason-wrap {
	padding: 8px 2% 19px;
}

.reason-img-wrap {
	min-height: 0%;
	padding: 0 3%;
	width: 100%;
}

.genre {
	padding: 58px 0 20px;
}

.genre-ttl {
	bottom: -62px;
	margin: 0 auto 5px;
	width: 87%;
}

.genre-ttl img {
	width: 100%;
}

.genre-wrap {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
	margin: 70px 0 20px;
	padding: 52px 5% 21px;
}

.category {
	padding: 5px 30px 11px;
}

.category:not(:last-child) {
	margin-bottom: 38px;
}

.category::before {
	height: 64px;
	top: -32px;
	width: 64px;
}

.category.category--kodate {
	width: 100%;
}

.category.category--kodate .category-item {
	width: 100%;
}

.category.category--kodate::after {
	height: 36px;
	width: 36px;
}

.category.category--mansion,
.category.category--land {
	width: 100%;
}

.category.category--mansion .category-item,
.category.category--land .category-item {
	width: 100%;
}

.category-ttl {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 1.66;
	margin-bottom: 7px;
}

.category-list {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.category-item {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 0.55;
	margin-bottom: 9px;
	padding: 15px;
}

.flow {
	padding-top: 19px;
}

.flow-ttl {
	margin-bottom: 8px;
}

.flow-subttl {
	margin: 0 auto 38px;
	width: 57%;
}

.flow-subttl img {
	width: 100%;
}

.flow-wrap {
	margin: 0 calc(50% - 50vw) -22px;
}

.flow-bg::before {
	background: url(../img/flow/flow-bg-triangle-sp.png) no-repeat bottom center/cover;
	content: "";
	height: 105px;
	left: 0;
	position: absolute;
	top: -1px;
	width: 100%;
}

.flow-bg {
	background-position-x: 30%;
	padding: 123px calc(50vw - 50%) 41px;
}

.steps {
	padding: 0;
}

.step {
	-ms-flex-align: center;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}

.step:not(:last-child) {
	margin-bottom: 18px;
}

.step-meta {
	width: 46%;
}

.step:nth-child(odd) .step-meta {
	padding-right: 3%;
}

.step:nth-child(even) .step-meta {
	-ms-flex-order: 2;
	-webkit-box-ordinal-group: 3;
	-webkit-order: 2;
	order: 2;
	padding-left: 3%;
}

.step:nth-child(even) .step-content {
	-ms-flex-order: 1;
	-webkit-box-ordinal-group: 2;
	-webkit-order: 1;
	order: 1;
	padding-right: 0;
}

.step-no {
	top: -12px;
	width: 34%;
}

.step-no img {
	width: 100%;
}

.step-content {
	-ms-flex: 1 1 0px;
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 0;
	flex: 1 1 0;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

.step-ttl {
	text-align: left;
}

.step-img {
	width: 100%;
}

.consult-wrap {
	margin-bottom: 19px;
	padding: 19px 3% 13px;
}

.consult-ttl {
	margin-bottom: 13px;
}

.consult-ttl img {
	width: 100%;
}

.consult-img {
	margin: 0 auto;
	width: 32%;
}

.consult-img img {
	width: 100%;
}

.questions {
	margin-bottom: 5px;
}

.question {
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	line-height: 1.58;
	margin-bottom: 13px;
	padding: 10px 1%;
	width: 100%;
}

.question::after {
	-webkit-transform: translateX(-50%);
	border-left: 22px solid transparent;
	border-right: 22px solid transparent;
	border-top: 43px solid #1d386d;
	bottom: -9px;
	content: "";
	height: 0;
	left: 50%;
	margin: 0;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.question:nth-child(3n+2)::after {
	-webkit-transform: translateX(-50%);
	border-left: 22px solid transparent;
	border-right: 22px solid transparent;
	border-top: 43px solid #1d386d;
	bottom: -9px;
	content: "";
	height: 0;
	left: 50%;
	margin: 0;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.info {
	padding: 23px 4% 50px;
}

.info::before {
	font-size: 2rem;
	left: 18px;
	letter-spacing: 0.1em;
	line-height: 2.2;
	top: 0;
}

.info-txt {
	position: relative;
	text-align: left;
	top: 30px;
}

.voice {
	padding: 12px 0 14px;
}

.voice-ttl {
	margin-bottom: 3px;
}

.voice-subttl {
	margin: 0 auto 28px;
	width: 68%;
}

.voice-subttl--pc {
	display: none;
}

.voice-subttl--sp {
	display: block;
	width: 100%;
}

.voice-txt {
	margin: 0 auto 29px;
	width: 100%;
}

.voice-slideshow {
	padding: 0 4%;
}

.review {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
	padding: 15px 5% 20px;
}

.review-wrap {
	width: 100%;
}

.review-txt {
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	line-height: 1.53;
	margin-bottom: 6px;
}

.review-person {
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	line-height: 1.16;
}

.review-img {
	margin-bottom: 8px;
	min-height: 0%;
	width: 100%;
}

.review-info {
	width: 100%;
}

.review-info:not(:last-child) {
	margin-bottom: 5px;
}

.review-info-wrap {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
	font-size: 1.5rem;
	line-height: 0.88;
	margin-bottom: 12px;
}

.review-info-wrap::after {
	margin-top: 10px;
}

.review-info-tag {
	height: 26px;
	line-height: 26px;
	padding: 0 6px;
}

.review-info-tag {
	-ms-flex-item-align: start;
	-webkit-align-self: flex-start;
	align-self: flex-start;
}

.review-info-tag::before {
	border: 13px solid transparent;
	border-left-color: #1d386d;
	border-right-width: 0;
	right: -13px;
}

.review-info-content {
	padding-left: 22px;
}

.mission {
	padding: 0 0 46px;
}

.mission-subttl {
	margin: 0 auto;
	width: 62%;
}

.mission-subttl img {
	width: 100%;
}

.mission-upper {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
	margin-bottom: 45px;
	padding-top: 20px;
}

.mission-below {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.mission-img {
	min-height: 0%;
	padding: 0 12%;
	width: 100%;
}

.mission-img img {
	width: 100%;
}

.mission-img::after {
	height: 100%;
	left: 17%;
	top: 5%;
	width: 78%;
}

.mission-ttl {
	margin-bottom: 6px;
}

.mission-ttl-wrap {
	margin-bottom: 31px;
	min-height: 0%;
}

.mission-txt {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

.mission-content {
	width: 100%;
}

.mission-content:last-child .mission-txt:last-of-type {
	margin-bottom: 15px;
}

.mission-sign {
	margin-left: auto;
	width: 58%;
}

.mission-sign-img {
	width: 100%;
}

.company {
	padding: 37px 0 40px;
}

.company-inner {
	-ms-flex-direction: column;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.details {
	margin-bottom: 34px;
	width: 100%;
}

.detail {
	padding: 9px 0;
}

.map {
	width: 100%;
}

.map::before {
	padding-top: 96%;
}

.footer {
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	line-height: 1.58;
	padding-bottom: 16px;
}

}

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

.mission-txt {
	margin-bottom: 26px;
}

}

@media (max-width: 450px) {

.info {
	background: url(../img/flow/flow-info-bg-sp.png) no-repeat right top/cover;
}

}

