/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

br.small {
	display: inline;
}
br.large {
	display: none;
}
img.small {
	display: block;
}
img.large {
	display: none;
}
span.no-small {
	display: none;
}
span.no-large {
	display: inline;
}



/* --------------------------------------------------------------------------------
page
-------------------------------------------------------------------------------- */

div#page {
	padding-top: 80px;
}
div.information {
	text-align: center;
}
div.information p {
	justify-content: center;
}
div.information p span:not(:last-child)::after {
	display: inline-block;
	content: "／";
}
div.information p span.address,
div.information p span.close {
	width: 100%;
}
div.information p span.address::after,
div.information p span.fax::after {
	display: none;
}
p.button-default a {
	width: 320px;
}
p.button-default span.arrow {
	right: 20px;
}
p.button-small a {
	width: 100px;
}
p.button-small a:has(.arrow) {
	padding-right: 20px;
}
p.button-small span.arrow {
	right: 5px;
}
p.button-line a {
	width: calc(100% - 60px);
	padding-left: 40px;
}
p.button-line i.icon {
	left: 20px;
}
*.scroll.fade-slide-left {
	transform: translate(0px, 0px);
}
*.scroll.fade-slide-right {
	transform: translate(0px, 0px);
}

/* home
-------------------------------------------------------------------------------- */

div#page {
	padding-top: 0px;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

body.admin-bar header#header *#logo,
body.admin-bar header#header p#button-menu {
	top: 0px;
}
header#header *#logo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	height: 70px;
	left: 0px;
	top: 0px;
	padding-left: 10px;
}
header#header *#logo svg {
	width: calc(247px * 0.8375);
	height: calc(61px * 0.8375);
}
header#header p#button-menu {
  width: 50px;
  height: 50px;
  right: 10px;
	top: 10px;
}
header#header p.button-contact {
	width: calc(100% - 20px);
	left: 10px;
	top: auto;
	bottom: 10px;
}
body.admin-bar header#header p.button-contact {
	top: auto;
}
header#header p.button-contact a {
	width: 100%;
	height: 40px;
	border-radius: 20px;
}
header#header div#menu {
	transform: translateX(100%);
}
div.menu-header header#header div#menu {
	transform: translateX(0%);
}
header#header div#menu div.inner-menu {
	width: auto;
	padding: 110px 15px 90px 15px;
}
header#header div#menu nav#navi div.list {
	display: block;
	margin-right: 0px;
}
header#header div#menu nav#navi div.list div.row {
	margin: 0px 0px 15px 0px;
}
header#header div#menu nav#navi div.list div.row ul li {
	display: block;
	text-align: center;
	font-size: 1.125rem;
}
header#header div#menu nav#navi div.list div.row ul li:not(:last-child) {
	margin-bottom: 15px;
}
header#header div#menu nav#navi div.list div.row ul li a::before {
	display: none;
}
header#header div#menu p.privacy-policy {
	text-align: center;
}
header#header div#menu div.sns ul {
	justify-content: center;
}



/* --------------------------------------------------------------------------------
cover
-------------------------------------------------------------------------------- */

body.admin-bar div#cover,
body.admin-bar div#space-cover {
	height: 100svh;
}
body.admin-bar div#cover {
	top: 0px;
}
div#cover div#trigger-cover {
	bottom: 40px;
}
div#cover p.symbol {
	width: calc(460px * 0.5);
}
div#cover div.list div.row div.text {
	left: 30px;
	bottom: 100px;
	margin-right: -30px;
}
div#cover div.list div.row div.text p.logo img {
	width: calc(280px * 0.5);
}
div#cover div.list div.row div.text h2 {
	font-size: 2rem;
	line-height: 2.75rem;
}
div#cover p.scroll {
	right: 10px;
	bottom: 15px;
	font-size: 0.75rem;
	line-height: 0.75rem;
}
div#cover p.scroll a {
	height: 60px;
}
div#cover p.scroll a::before {
	height: 25px;
}
div#cover p.scroll a::after {
	height: 15px;
}
div#cover p.scroll span {
	top: 20px;
}
div#cover p.scroll span::before {
	height: 15px;
	top: -20px;
}



/* --------------------------------------------------------------------------------
title
-------------------------------------------------------------------------------- */

div#title {
	padding-top: 110px;
}
div#title:has(.image) {
	padding-top: 70px;
}
div#title p.image {
	height: 240px;
	margin-bottom: 40px;
}
div#title h1,
div#title h1 span {
	display: block;
}
div#title h1 {
	width: calc(100% - 60px);
}
div#title h1 span {
	padding-right: 0px;
}



/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */

main section div.inner-section {
	width: auto;
	padding: 80px 30px;
}
main section header.common {
	margin-bottom: 60px;
}
main section header.common h1 {
	font-size: 2.25rem;
	line-height: 3.25rem;
}
main section header.common div.button-wrapper {
	display: block;
}
main section header.common div.button-wrapper p.button-default:not(:last-child) {
	margin: 0px 0px 20px 0px;
}
main section#summary h2 {
	font-size: 1.75rem;
	line-height: 2.75rem;
	margin-bottom: 40px;
}
main section#point div.inner-section {
	width: auto;
}
main section#point div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#point div.list div.row p.image {
	margin: 0px -30px;
}
main section#point div.list div.row div.number-headline {
	display: block;
	position: relative;
	z-index: 1;
	margin-top: -40px;
}
main section#point div.list div.row div.number-headline h3 {
	width: auto;
	margin-right: -30px;
}
main section#menu-misc div.list {
	display: block;
	margin-right: 0px;
}
main section#menu-misc div.list div.row {
	width: auto;
	margin-right: 0px;
}
main section#menu-misc div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#menu-misc div.list div.row a {
	padding: 10px;
}
h2.headline {
	font-size: 1.5rem;
	line-height: 2.5rem;
	margin-bottom: 60px;
}
main div.list-category {
	margin: 0px -30px 60px -30px;
}
main article.common {
	width: auto;
	margin-bottom: 80px;
}
main article.common header {
	margin-bottom: 60px;
}
main article.common header h1 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main article.common header h1:not(:last-child),
main article.common header h2:not(:last-child) {
	margin-bottom: 60px;
}
main article.common header h1 span.new {
	font-size: 1.25rem;
	margin-right: 5px;
}
main article.common header p.image {
	margin: 0px -30px;
}
main article.common div.body:not(:last-child) {
	margin-bottom: 60px;
}
main div#pager {
	margin-top: 80px;
}

/* home
-------------------------------------------------------------------------------- */

main section#home-news div.inner-section {
	display: block;
}
main section#home-news header {
	width: auto;
	margin-bottom: 40px;
}
main section#home-news div.list-news {
	width: auto;
}
main section#home-news p.button-default {
	left: auto;
	right: 30px;
	top: 100px;
}
main section#home-concept div.inner-section,
main section#home-method div.inner-section {
	padding-top: 0px;
}
main section#home-concept div.image-text,
main section#home-method div.image-text {
	width: auto;
}
main section#home-concept div.image-text {
	margin-left: 0px;
}
main section#home-concept div.image-text p.image,
main section#home-method div.image-text p.image {
	width: auto;
	height: 280px;
	margin: 0px -30px 20px -30px;
}
main section#home-concept div.image-text p.image {
	margin-left: -30px;
}
main section#home-concept div.image-text div.text,
main section#home-method div.image-text div.text {
	position: static;
	width: auto;
	height: auto;
	top: auto;
	padding-top: 0px;
	background-color: transparent;
}
main section#home-concept div.image-text div.text {
	left: auto;
	padding-right: 0px;
}
main section#home-concept div.image-text div.text p.label,
main section#home-method div.image-text div.text p.label {
	position: static;
	top: auto;
	margin-bottom: 20px;
}
main section#home-concept div.image-text div.text p.label {
	left: auto;
}
main section#home-concept div.image-text div.text h2,
main section#home-method div.image-text div.text h2 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section#home-concept div.image-text div.text p.more,
main section#home-method div.image-text div.text p.more {
	display: block;
}
main section#home-concept div.image-text div.text p.more a,
main section#home-method div.image-text div.text p.more a {
	padding-right: 0px;
}
main section#home-method div.image-text p.image a::before {
	width: calc(320px * 0.5);
	height: calc(41px * 0.5);
	left: 20px;
	top: 20px;
}
main section#home-method div.image-text div.text {
	right: auto;
	padding-left: 0px;
}
main section#home-method div.image-text div.text p.label {
	right: auto;
}
main section#home-works div.list-works {
	margin-bottom: 60px;
}
main section#home-effort div.list {
	margin: 0px -20px -40px 0px;
}
main section#home-effort div.list div.row {
	width: calc(50% - 20px);
	margin: 0px 20px 40px 0px;
}
main section#home-effort div.list div.row p.image {
	margin-bottom: 10px;
}

/* concept
-------------------------------------------------------------------------------- */

main section#concept header {
	margin-bottom: 60px;
}
main section#concept div.list {
	display: block;
	margin: 0px;
}
main section#concept div.list div.row {
	width: auto;
	margin: 0px;
}
main section#concept div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}

/* news
-------------------------------------------------------------------------------- */

main div.list-news div.row,
main div.list-news div.row div.headline-category {
	display: block;
	flex-wrap: wrap;
	align-items: center;
}
main div.list-news div.row p.created {
	width: auto;
	transform: translateY(0px);
}
main div.list-news div.row div.headline-category {
	width: auto;
}
main div.list-news div.row div.headline-category h3 {
	margin-bottom: 10px;
}

/* works
-------------------------------------------------------------------------------- */

main div.list-works {
	display: block;
	margin: 0px;
}
main div.list-works div.row {
	width: auto;
	margin: 0px;
}
main div.list-works div.row:not(:last-child) {
	margin-bottom: 60px;
}
main article.works div.image {
	margin-bottom: 80px;
}

/* method
-------------------------------------------------------------------------------- */

main section#structure div.inner-section {
	width: auto;
}
main section#structure div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#structure div.list div.row p.diagram {
	margin: 0px -30px 40px -30px;
	padding: 0px;
}
main section#structure div.list div.row:nth-child(1) p.diagram {
	padding: 20px 40px;
}
main section#structure div.list div.row:nth-child(1) p.diagram span:nth-child(1) {
	width: 100%;
	max-width: 300px;
	padding-bottom: 12.5%;
}
main section#structure div.list div.row:nth-child(1) p.diagram span:nth-child(2) {
	width: 100%;
	max-width: 450px;
}
main section#structure div.list div.row:nth-child(1) p.diagram span:nth-child(1) img {
	transform: scale(2.25);
}
main section#structure div.list div.row:nth-child(1) p.diagram span i {
	font-size: 0.75rem;
	line-height: 1rem;
}
main section#structure div.list div.row:nth-child(1) p.diagram span:nth-child(2) i:nth-of-type(1) {
	right: 71.5%;
	bottom: 14.5%;
}
main section#structure div.list div.row:nth-child(4) p.diagram span img {
	width: 100%;
	margin: -7.5% 0px -5% 0px;
}
main section#feature div.voice,
main section#feature div.concept-movie {
	margin-bottom: 80px;
}
main section#feature div.voice {
	margin: 0px -30px;
}
main section#feature div.voice p.button-voice a {
	width: calc(100% - 60px);
	height: 280px;
}
main section#feature div.voice p.button-voice span.text i.main {
	font-size: 1.5rem;
}
main section#feature div.voice p.button-voice span.text i.description {
	text-align: justify;
}
main section#feature div.voice p.button-voice span.arrow {
	top: 82.5px;
}
main section#feature div.concept-movie {
	width: auto;
}
main section#feature div.certification {
	margin: 0px -30px;
	padding: 80px 0px;
}
main section#feature div.certification div.body {
	width: calc(100% - 60px);
}
main section#feature div.certification div.body p.image {
	margin-bottom: 60px;
}
main section#feature div.certification div.body p.description {
	font-weight: 500;
}
main section#faq div.list div.row {
	padding: 20px 20px 20px 35px;
}
main section#faq div.list div.row::before {
	width: 15px;
	height: 15px;
	left: 5px;
	top: 27.5px;
}
main section#faq div.list div.row h3,
main section#faq div.list div.row p.answer {
	padding-left: 45px;
}

/* voice
-------------------------------------------------------------------------------- */

main div.list-voice {
	display: block;
	margin: 0px;
}
main div.list-voice div.row {
	width: auto;
	margin: 0px;
}
main div.list-voice div.row:not(:last-child) {
	margin-bottom: 60px;
}
main article.voice div.image {
	margin-bottom: 80px;
}

/* financing-plan
-------------------------------------------------------------------------------- */

main section#financing-plan div.block {
	margin-left: -30px;
	margin-right: -30px;
}
main section#financing-plan div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#financing-plan div.block div.header {
	display: block;
	height: auto;
	padding: 20px;
}
main section#financing-plan div.block div.header p.icon {
	position: static;
	left: auto;
	top: auto;
	margin: 0px auto 10px auto;
}
main section#financing-plan div.block div.header div.text h2 {
	font-size: 1.5rem;
}
main section#financing-plan div.block div.header div.text p.description {
	text-align: justify;
}
main section#financing-plan div#financing-plan-01.block div.list div.row {
	padding: 20px;
}
main section#financing-plan div#financing-plan-01.block div.list div.row ul.bullet {
	margin-bottom: 10px;
}
main section#financing-plan div#financing-plan-01.block div.list div.row p.button-default {
	justify-content: flex-end;
	position: static;
	right: auto;
	top: auto;
}
main section#financing-plan div#financing-plan-02.block div.flow,
main section#financing-plan div#financing-plan-02.block div.type {
	margin-bottom: 60px;
	padding: 0px 30px;
}
main section#financing-plan div#financing-plan-02.block div.flow div.list {
	display: block;
}
main section#financing-plan div#financing-plan-02.block div.flow div.list div.row {
	width: auto;
	height: auto;
	padding: 60px 20px 20px 20px;
}
main section#financing-plan div#financing-plan-02.block div.flow div.list div.row:first-child {
	width: auto;
	padding: 40px 20px 20px 20px;
}
main section#financing-plan div#financing-plan-02.block div.flow div.list div.row:last-child {
	width: auto;
	padding-bottom: 40px;
}
main section#financing-plan div#financing-plan-02.block div.flow div.list div.row:not(:first-child)::before {
	width: 100%;
	height: 40px;
	clip-path: polygon(0% 0%, 100% 00%, 50% 100%);
}
main section#financing-plan div#financing-plan-02.block div.flow div.list div.row div.text {
	text-align: center;
}
main section#financing-plan div#financing-plan-02.block div.type div.list {
	display: block;
	margin-right: 0px;
}
main section#financing-plan div#financing-plan-02.block div.type div.list div.row {
	width: auto;
	margin-right: 0px;
}
main section#financing-plan div#financing-plan-02.block div.type div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#financing-plan div#financing-plan-02.block div.adviser {
	display: block;
	padding: 40px 30px;
}
main section#financing-plan div#financing-plan-02.block div.adviser p.illust {
	width: calc(301px * 0.75);
	margin: 0px auto 20px auto;
}
main section#financing-plan div#financing-plan-02.block div.adviser p.description {
	width: auto;
}

/* real-estate
-------------------------------------------------------------------------------- */

main div.list-real-estate div.row {
	display: block;
	padding: 20px;
}
main div.list-real-estate div.row div.text {
	width: auto;
	margin-bottom: 40px;
}
main div.list-real-estate div.row div.text div.headline div.category {
	width: 100%;
	margin: 0px 0px 5px 0px;
}
main div.list-real-estate div.row div.text div.headline p.area {
	width: 100%;
}
main div.list-real-estate div.row p.image {
	width: auto;
}
main section#real-estate div.block {
	margin-left: -30px;
	margin-right: -30px;
}
main section#real-estate div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#real-estate div.block div.header {
	display: block;
	height: auto;
	padding: 20px;
}
main section#real-estate div.block div.header p.icon {
	position: static;
	left: auto;
	top: auto;
	margin: 0px auto 10px auto;
}
main section#real-estate div.block div.header div.text h2 {
	font-size: 1.5rem;
}

/* company
-------------------------------------------------------------------------------- */

body.company main section#summary div.inner-section,
main section#company div.inner-section {
	width: auto;
}
body.company main section#summary p.image {
	margin: 0px -30px 60px -30px;
}
main section#company div.president,
main section#company div.list {
	margin-bottom: 80px;
}
main section#company div.inner-section {
	padding: 0px 30px;
}
main section#company div.president p.image {
	width: 160px;
}
main section#company div.president p.name {
	width: calc(100% - 200px);
}
main section#company div.list div.row {
	display: block;
	padding: 20px 0px;
}
main section#company div.list div.row p.label {
	width: auto;
	margin-bottom: 10px;
}
main section#company div.list div.row p.body {
	width: auto;
}
main section#company div.map {
	margin: 0px -30px;
}
main section#company div.map iframe {
	height: 360px;
}

/* form
-------------------------------------------------------------------------------- */

main section.form div.inner-section {
	width: auto;
}
main section.form div.header {
	margin-bottom: 80px;
}
main section.form div.form div.component-wrapper {
	margin-bottom: 60px;
}
main section.form div.form div.component {
	display: block;
}
main section.form div.mw_wp_form_preview div.form div.component {
	padding: 20px 0px;
}
main section.form div.form div.component p.label {
	display: block;
	width: auto;
	height: auto;
	margin-bottom: 10px;
}
main section.form div.form div.component p.label span.require {
	right: 0px;
}
main section.form div.form div.component div.body {
	width: auto;
}
main section.form div.form div.component-radio-horizontal div.body,
main section.form div.form div.component-checkbox-horizontal div.body {
	display: block;
}
main section.form div.form div.component-radio div.body span.mwform-radio-field,
main section.form div.form div.component-checkbox div.body span.mwform-checkbox-field {
	min-width: 0px;
}
main section.form div.form div.agreement {
	justify-content: center;
	width: auto;
	margin: 0px 0px 60px 0px;
}
main section.form div.form div.agreement span.error {
	text-align: center;
}
main section.form div.form div.action {
	display: block;
	padding-left: 0px;
}
main section.form div.form div.action input[type=button],
main section.form div.form div.action input[type=submit],
main section.form div.form div.action button {
	margin-left: auto;
	margin-right: auto;
}
main section.form div.form div.action input[type=button]:not(:last-child),
main section.form div.form div.action input[type=submit]:not(:last-child),
main section.form div.form div.action button:not(:last-child) {
	margin: 0px auto 20px auto;
}
main section#application div.mw_wp_form {
	margin-bottom: 80px;
}

/* privacy-policy
-------------------------------------------------------------------------------- */

main section#privacy-policy div.inner-section {
	width: auto;
}
main section#privacy-policy div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}



/* --------------------------------------------------------------------------------
footer
-------------------------------------------------------------------------------- */

footer#footer div.kids,
footer#footer p.button-contact,
footer#footer div.line {
	margin-bottom: 60px;
}
footer#footer div.kids div.image-text {
	display: block;
	width: auto;
}
footer#footer div.kids div.image-text p.image {
	width: auto;
}
footer#footer div.kids div.image-text div.text {
	width: auto;
	padding: 30px;
}
footer#footer div.kids div.image-text div.text h3 {
	margin-right: -30px;
}
footer#footer p.button-contact {
	text-align: left;
}
footer#footer p.button-contact a {
	width: calc(100% - 60px);
	padding-left: 100px;
}
footer#footer p.button-contact img {
	width: calc(101px * 0.875);
	left: auto;
	right: calc(50% + 50px);
	top: calc(50% - calc(calc(107px* 0.875) * 0.5));
}
footer#footer p.button-contact span.text i.sub {
	font-size: 0.875rem;
	line-height: 1.375rem;
}
footer#footer p.button-contact span.text i.main {
	font-size: 1.5rem;
}
footer#footer p.button-contact span.arrow {
	top: auto;
	bottom: 20px;
}
footer#footer div.line {
	padding: 80px 0px 40px 0px;
}
footer#footer div.line p.description {
	width: calc(100% - 60px);
	max-width: 480px;
	text-align: left;
	margin: 0px auto 40px auto;
}
footer#footer div.line p.illust {
	width: calc(156px * 0.75);
	left: calc(50% + 40px);
	bottom: 120px;
}
footer#footer div.logo-information {
	display: block;
}
footer#footer div.logo-information p.logo {
	margin: 0px auto 20px auto;
}
