/* General element styling --------------------------------------------- */

@font-face {
	font-family: 'HGSGothicM';
	src: url('fonts/HGSGothicM.woff') format('woff'),
		url('fonts/HGSGothicM.woff2') format('woff2');
	font-weight: 400;
}
html {
	margin: 0;
	padding: 0;
	scroll-behavior: smooth;
	overflow-x: hidden;
}

body {
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 32px;
	color: #000;
	font-weight: 400;
	overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5 {
	font-weight: 500;
	margin: 0 0 20px;
}

img {
	max-width: 100%;
}

button {
	cursor: pointer;
}

html {
	scroll-behavior: smooth;
}

/* General re-usable styling ------------------------------------------- */

.am-container {
	width: calc(100% - 0px);
	margin: 0 auto;
	max-width: 1440px;
}

.am-container.style2 {
	max-width: 1000px;
}

.am-container.style3 {
	max-width: 1200px;
}

.am-container.style5 {
	width: calc(100% - 120px);
}

.am-container.bg-grey {
	background: #F5F5F5;
}

.am-flex {
	display: flex;
}

.am-flex.wrap {
	flex-wrap: wrap;
}

.am-flex.between {
	justify-content: space-between;
}

.am-flex.center {
	justify-content: center;
}

.am-flex.vert-center {
	align-items: center;
}

.am-flex.vert-stretch {
	align-items: stretch;
}

.am-flex.vert-fl-end {
	align-items: flex-end;
}

.am-col1 {
	width: calc(100% / 12);
}

.am-col2 {
	width: calc(100% / 12 * 2);
}

.am-col3 {
	width: calc(100% / 12 * 3);
}

.am-col4 {
	width: calc(100% / 12 * 4);
}

.am-col5 {
	width: calc(100% / 12 * 5);
}

.am-col6 {
	width: calc(100% / 12 * 6);
}

.am-col7 {
	width: calc(100% / 12 * 7);
}

.am-col8 {
	width: calc(100% / 12 * 8);
}

.am-col9 {
	width: calc(100% / 12 * 9);
}

.am-col10 {
	width: calc(100% / 12 * 10);
}

.am-col11 {
	width: calc(100% / 12 * 11);
}

.am-col11 {
	width: 100%;
}

.am-hide {
	display: none;
}

.am-center {
	text-align: center;
}

.am-modal__min-btn {
	border: unset;
	background: unset;
	margin: 0 auto;
	display: block;
}

dialog.am-modal__max {
	width: 100%;
	height: 100%;
	border: unset;
	background: #0003;
}

.am-modal__max-cont {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: #FFF;
	width: calc(100% - 80px);
	height: calc(100% - 120px);
	padding: 20px;
	border-radius: 10px
}

.am-modal__max-pix {
	width: calc(100% - 100px);
	height: calc(100% - 150px);
	overflow: auto;
	padding: 50px;
	box-shadow: 0 0 10px #8888 inset;
	border: 1px solid #888;
}

.am-modal__max-pix>img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	margin: auto;
	/* 	cursor: zoom-in; */
}

.am-modal__max-pix.zoom>img {
	width: auto;
	height: auto;
	max-width: 200vw;
	max-height: 200vh;
	/* 	cursor: zoom-out; */
}

.am-modal__max-close.lp-btn {
	margin: 10px auto;
	display: block;
	padding: 10px;
	min-width: 140px;
}

.am-modal__max-close.lp-btn::after {
	content: unset;
}

.am-bg-layout {
    position: relative;
}

.am-bg-pix {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
}

.am-bg-pix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	display: block;
}

.am-bg-cont {
    position: relative;
    z-index: 1;
}

.am-bg-layout.style2 .am-bg-pix {
    position: relative;
	top: unset;
	left: unset;
	height: auto;
}

.am-bg-layout.style2 .am-bg-pix > img {
    width: 100%;
    height: auto;
    object-fit: cover;
	display: block;
}

.am-bg-layout.style2 .am-bg-cont {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translatey(-50%);
	height: auto;
}

.am-sp {
	display: none;
}

.am-pc {
	display: block;
}

/* SP menu btn ---------------------------------------------*/
.hdr__menu-btn {
	position: absolute;
	top: calc(120px / 2);
	right: 15px;
	border: 2px solid #000;
	background: transparent;
	width: 50px;
	height: 50px;
	transform: translateY(-50%);
	display:none;
}

.hdr__menu-btn-icon {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.hdr__menu-btn-icon::before,
.hdr__menu-btn-icon::after,
.hdr__menu-btn-icon>span {
	content: "";
	width: 30px;
	height: 2px;
	background: #000;
	display: block;
	margin: 8px 0;
	transition: 0.5s ease;
	opacity: 1;
}

header.hdr__menu--show {
	height: 100vh;
	overflow: auto;
}

.hdr__ftr.ftr__cont {
    display: none;
}
/* SP menu btn END ---------------------------------------------*/


/* Benec : General styling ---------------------------- */
body {
    background: #f5f5f5;
	line-height: 1.5;
}

main, footer {
    background: #eae9e8;
	max-width: 1440px;
	margin: 0 auto;
	box-shadow: 0 0 200px #8888;
	border: 1px solid #8888;
	border-width: 0 1px;
}

main {
    padding: 0 0 150px;
}

.bnc-scroll {
	font-size: calc((300 / 1440) * 100vw);;
	line-height: 1;
	color: #dfdbd9;
	white-space: nowrap;
	margin: -40px 0 0;
	font-weight: 700;
}

.bnc-title {
    margin: 0 0 2.22vw 4.86vw;
}

.bnc-title .en {
    display: block;
    font-size: 16px;
}

.bnc-title .jp {
    font-size: 36px;
	line-height: 1.4;
}

.bnc-btn {
    border: 1px solid #707070;
    color: #000;
    padding: 10px 0;
    text-decoration: none;
    display: block;
    text-align: center;
	position: relative;
}

/* .bnc-btn:hover::before {
    content: "";
    background: #FFF;
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    left: -1px;
    top: -1px;
    z-index: 1;
	animation: tracer 2s infinite linear;
} */

/* @keyframes tracer {
	from {
		top: -1px;
		left: -1px;
		width: 40px;
		height: 10px;
	}
	46% {
		top: -1px;
		left: calc(100% - 10px + 1px);
		width: 10px;
		height: 20px;
	} 
	50% {
		top: calc(100% - 10px + 1px);
		left: calc(100% - 10px + 1px);
		width: 40px;
		height: 10px;
	}
	96% {
		top: calc(100% - 10px + 1px);
		left: -1px;
		width: 10px;
		height: 20px;
	}
} */

.bnc-btn:hover {
	animation: tracer 2s infinite linear;
}

@keyframes tracer {
	0% {
		clip-path: polygon(0 10px, 5px 5px, 5px 5px, 10px 0, 100% 0, 100% 100%, 0 100%);
	}
	22.5% {
		clip-path: polygon(0 0, calc(50% - 10px) 0, 50% 10px, calc(50% + 10px) 0, 100% 0, 100% 100%, 0 100%);
	}
	45% {
		clip-path: polygon(0 0, calc(100% - 10px) 0, calc(100% - 10px) 10px, calc(100% - 10px) 10px, 100% 10px, 100% 100%, 0 100%);
	}
	50% {
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 5px) calc(100% - 5px), calc(100% - 5px) calc(100% - 5px), calc(100% - 10px) 100%, 0 100%);
	}
	72.5% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, calc(50% + 10px) 100%, 50% calc(100% - 10px), calc(50% - 10px) 100%, 0 100%);
	}
	95% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 10px 100%, 10px calc(100% - 10px), 10px calc(100% - 10px), 0 calc(100% - 10px));
	}
	100% {
		clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%, 0 10px, 5px 5px, 5px 5px);
	}
}

.hdr-logo.lower-page > .hdr-logo__subtext {
    color: #000;
}

.hdr-layout .hdr-logo.lower-page img {
    filter: invert(1);
}

.hdr-layout .hdr-logo.lower-page img.logo-icon {
    filter: unset;
}

.ftr-menu li a {
    color: #000;
    text-decoration: none;
}

@media screen and (min-width: 1441px) {
    .bnc-scroll {
        font-size: 300px;
    }
	
	.bnc-title {
		margin: 0 0 32px 70px;
	}
}

@media screen and (min-width: 767px) {
	.bnc-title {
		margin: 0 20px;
	}
}

@media screen and (max-width: 767px) {
	.am-sp {
		display: block;
	}

	.am-pc {
		display: none;
	}
	
	body {
		font-size: 14px;
	}
	
	header.hdr-layout.hdr-show .hdr-logo__subtext {
		color: #fff;
	}
	
	.hdr-layout.hdr-show .hdr-logo.lower-page > .hdr-logo__subtext {
		color: #fff;
	}
	
	header.hdr-layout.hdr-show > img {
		filter: none;
	}
	
	.hdr-layout .lower-page .hdr-logo__subtext {
		color: #000;
	}

	.hdr-layout .lower-page .hdr-logo__link {
		filter: invert(1);
	}
	
	.hdr-layout.hdr-show .lower-page .hdr-logo__link {
		filter: none;
	}
	
	.hdr-layout .hdr-logo.lower-page img {
		filter: none;
	}
	
	header.hdr-layout.hdr-show .hdr-logo.lower-page img.logo-icon {
		filter: invert(1);
	}
}
/* Benec : General styling END ---------------------------- */


/* Header ---------------------------- */

.hdr-layout {
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
	z-index: 3;
}

.hdr-container {
    position: absolute;
    width: 100%;
}

.hdr-logo {
    position: absolute;
    left: 4.5vw;
    top: 0.5vw;
    width: auto;
    display: flex;
    align-items: flex-end;
}

.hdr-logo__subtext {
    font-size: 14px;
    white-space: nowrap;
    display: block;
    line-height: 1.5;
    margin: 0 0 -3px 30px;
    color: #FFF;
}

.hdr-logo__subtext > img {
    filter: invert(1);
    width: 15px;
    height: auto;
    transform: translate(0px, -9px);
}

.hdr-logo__link {
    display: block;
    width: 16.7vw;
}

.hdr-navi {
    position: absolute;
    right: 1vw;
    top: 3.1vw
}

.hdr-show .hdr-logo {
	filter: unset;
}

@media screen and (min-width: 1441px) {
    .hdr-logo {
        left: 70px;
    }

    .hdr-logo__link {
        width: 240px;
    }

    .hdr-navi {
        top: 45px;
        right: 15px;
    }
}

/* Header END ---------------------------- */


/* Top page : header-menu START ---------------------------- */
.hdr-navi__menu-list li {
    list-style: none;
	margin: 5px 0;
}

.hdr-navi__menu-list li a {
    color: #505050;
    text-decoration: none;
}

.hdr-navi__menu-list li a:hover {
    font-weight: 700;
}

li.hdr-navi__menu-item.active a {
    color: #000;
}

.hdr-navi__menu-list li a > .en {
    display: none;
}

ul.hdr-navi__menu-list {
	padding: 0;
}

.hdr-navi__menu-title {
    border-bottom: 1px solid #707070;
}

.hdr-navi__contact-item {
    background-color: #707070;
    color: #fff;
    padding: 16.5px 17.5px;
    border-radius: 30px;
    line-height: 1;
    width: fit-content;
    display: none;
}

span.def.txt1 {
    display: none;
}

.hdr-navi__contact-item > i {
    margin: 0 10px 0 0;
}

.hdr-navi__contact-item.mail {
	display: block;
}

.hdr-navi__menu {
    border-left: 1px solid #707070;
    padding: 0 0 0 1.04vw;
    margin: 2.08vw 0 0;
}

.hdr-navi__btn {
	display: none;	
}

.active {
    font-weight: 700;
    font-size: 18px;
	color: #000;
}

.hdr-navi__contact a {
	text-decoration: none;
}

@media screen and (min-width: 1441px) {
	.hdr-navi__menu {
		padding: 0 0 0 15px;
		margin: 30px 0 0;
	}
}

@media screen and (max-width: 767px) {
	.hdr-navi {
		position: unset;
	}

	.hdr-navi__contact {
		position: fixed;
		bottom: 0;
		left: 0;
		display: flex;
		width: calc(100% - 20px);
		padding: 10px;
		margin: unset;
		background: #2d2d2d;
		justify-content: space-between;
		order: 1;
	}

	.hdr-show .hdr-navi__contact {
	    position: unset;
	    display: block;
	    margin: auto 0 0;
	}

	.hdr-navi__btn {
		display: block;
		position: absolute;
		color: #000;
		right: 20px;
		top: 15px;
		font-size: 10px;
	}

	.hdr-navi__btn-cont::before,
	.hdr-navi__btn-cont::after {
		content: "";
		width: 30px;
		height: 1px;
		background: #000;
		display: block;
		order: 1;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: 0.5s ease;
	}

	.hdr-navi__btn-cont::before {
		top: 14px;
	}

	.hdr-navi__btn-cont > span {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		line-height: 1;
		top: 0;
		transition: 0.5s ease;
	}

	.hdr-navi__btn-cont {
		display: block;
		width: 30px;
		height: 30px;
		position: relative;
	}

	.hdr-navi__btn-cont::after {
		top: 22px;
	}

	.hdr-container {
		position: unset;
		background: transparent;
		transition: background 0.5s ease;
	}

	.hdr-layout {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
		max-width: 100vw;
		z-index: 10;
	}

	.hdr-navi__menu {
		margin: 30px 45px 0;
		padding: 0;
		border-left: unset;
	}

	.hdr-logo__link {
		width: 37.5vw;
	}

	.hdr-logo__subtext {
		font-size: 2vw;
	}

	.hdr-logo {
		position: unset;
		padding: 30px 30px 0 30px;
		margin: 0;
	}

	.hdr-navi {
		position: unset;
		padding: 0;
		display: flex;
		flex-direction: column;
		min-height: 0;
		max-height: 0;
		overflow-y: hidden;
		transition: 0.5s ease;
	}

	.hdr-navi__menu-title {
		display: none;
	}

	ul.hdr-navi__menu-list {
		display: flex;
		flex-wrap: wrap;
	}

	.hdr-navi__menu-list li a {
		color: #605f65;
		display: block;
		position: relative;
		padding: 0 0 0 12px;
	}

	.hdr-navi__menu-list li {
		color: #FFF;
		width: 50%;
		margin: 0 0 30px;
	}

	.hdr-navi__menu-list li a > .en {
		color: #FFF;
		display: block;
		line-height: 1;
		font-size: 10px;
	}

	.hdr-navi__menu-item > a::before {
		content: "・";
		font-size: 20px;
		position: absolute;
		left: -10px;
		color: #FFF;
		top: -2px;
	}
	
	.hdr-navi__contact-item,
	.hdr-navi__contact-item.mail {
		display: flex;
		background: #FFF;
		color: #000;
		border-radius: 0;
		width: calc((110vw / 4));
		padding: 10px 7px;
		order: 1;
		font-size: 12px;
		margin: 0 0 0 10px;
		align-items: center;
		justify-content: center;
	}

	.hdr-navi__contact-item.phone {
		order: 0;
		flex-wrap: wrap;
		width: calc((135vw / 4));
		margin: 0;
	}

	.hdr-navi__contact-item > .txt1 {
	    font-size: 12px;
	    font-weight: bold;
	}
	
	.hdr-navi__contact-item.phone > i {
	    margin: 0 2px 0 0;
	}
	
	.hdr-navi__contact-item.phone > .txt2 {
	    font-size: 10px;
	}

	.hdr-navi__contact-item .menu {
	    display: none;
	}
	
	.hdr-navi__contact-item .def {
	    display: block;
	}
	
	.hdr-show .hdr-navi__contact-item,
	.hdr-show .hdr-navi__contact-item.mail {
		display: flex;
		width: 100%;
		padding: unset;
		text-align: center;
		border-radius: unset;
		color: #000;
		background: #FFF;
		margin: 0 0 10px;
		height: 100px;
		justify-content: center;
		align-items: center;
	}

	.hdr-show .hdr-navi__contact-item .def {
	    display: none;
	}
	
	.hdr-show  .hdr-navi__contact-item .menu {
	    display: block;
	}
	
	.hdr-show .hdr-navi__contact-item > i {
	    font-size: 30px;
	}
	
	.hdr-show .hdr-navi__contact-item > .menu {
	    font-size: 16px;
	}
	
	.hdr-show .hdr-navi__contact-item.phone {
	    position: relative;
	    padding: 10px 0;
	    height: calc(100px - 20px);
	}
	
	.hdr-show .hdr-navi__contact-item.phone > i {
	    position: absolute;
	    left: 50%;
	    top: 52%;
	    transform: translate(-125px, -50%);
	}
	
	.hdr-show .hdr-navi__contact-item.phone .menu.txt1 {
	    width: 100%;    
	}
	
	.hdr-show .hdr-navi__contact-item.phone .menu.txt3 {
	    width: 100%;
	    font-size: 24px;
	    font-weight: bold;
	}
	
	.hdr-show .hdr-navi__contact-item.phone .menu.txt2 {
	    font-size: 12px;
	}
	
	/* SP button click */
	header.hdr-show .hdr-navi__btn-cont > span {
		opacity: 0;
	}

	header.hdr-show .hdr-navi__btn-cont::before {
		top: 50%;
		transform: translate(-50%, -50%) rotate(225deg);
		transition: 0.5s ease;
	}

	header.hdr-show .hdr-navi__btn-cont::after {
		top: 50%;
		transform: translate(-50%, -50%) rotate(-225deg);
	}

	header.hdr-show .hdr-navi {
	    min-height: calc(100vh - 80px);
	    max-height: 1000px;
	}
	
	header.hdr-show .hdr-container {
	    background: #2d2d2d;
	}
	
	header.hdr-show .hdr-navi__btn-cont::before,
	header.hdr-show .hdr-navi__btn-cont::after {
	    background: #FFF;
	}
	
	li.hdr-navi__menu-item.active a {
		color: #605f65;
	}
	
	span.def.txt1 {
		display: block;
	}
}

/* Top page : header-menu END ---------------------------- */


/* Common : lower page's banner ---------------------------- */
.bnr-lowpg .bnr-container {
    height: 680px;
}

.bnr-lowpg .bnr-title {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.bnr-lowpg .bnr-content {
    position: absolute;
    right: 70px;
    bottom: 0;
    width: 430px;
}

.bnr-lowpg .bnr-content .bnr-content__subtitle {
    font-weight: bold;
    font-size: 24px;
    display: block;
    margin: 0 0 20px;
}

.bnr-lowpg .bnr-breadcrumb {
    position: absolute;
    left: 1vw;
    bottom: 0;
	color: #505050;
}

.bnr-lowpg .bnr-title .en {
    font-size: 160px;
    color: #dfdbd9;
}

.bnr-lowpg .bnr-title .jp {
    position: absolute;
    left: 70px;
    bottom: 46px;
    font-weight: bold;
    color: #58575c;
}

.bnr-breadcrumb .homepg {
    margin: 0 20px 0 0;
}

span.breadcrumb-arrow {
    margin: 0 20px 0 0;
}

.bnr-lowpg {
    margin: 0 0 50px;
}

@media screen and (min-width: 1441px) {
	.bnr-lowpg .bnr-breadcrumb {
		left: 70px;
	}
}
/* Common : lower page's banner END ---------------------------- */


/* Top page : Loader ---------------------------- */
.bnc-loader {
    position: fixed;
    background: #2b2b2b;
    width: 100%;
    height: 100%;
    max-height: 0vh;
    z-index: 3;
    opacity: 0;
    transition: opacity 1s 1s ease, max-height 0s 2s ease;
}

.bnc-loader.loading {
    position: fixed;
    background: #2b2b2b;
    width: 100%;
    height: 100%;
    max-height: 100vh;
    z-index: 3;
    opacity: 1;
}

.bnc-loader__content {
    position: absolute;
    left: 50%;
    top: 50%;
    width: auto;
    height: 100%;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translate(-50%, -50%);
    transition: 0.5s ease;
}

.bnc-loader .bnc-loader__content {
    max-height: 100px;
    opacity: 1;
}

.bnc-loader.loading .bnc-loader__content {
    max-height: 0;
    opacity: 0;
}



.bnc-loader__content .hdr-logo {
    position: relative;
    top: unset;
    left: unset;
}
/* Top page : Loader END ---------------------------- */


/* Top page : banner ---------------------------- */

.bnr-container {
    width: 100%;
    position: relative;
    height: calc(35vw + 300px);
}

.bnr-anm {
    position: absolute;
    height: auto;
	z-index: 1;
}

.bnr-anm.pix1 {
    width: 51vw;
    top: 10px;
    left: 10px;
}

.bnr-anm.pix2 {
    width: 38.2vw;
    bottom: 0;
    right: 10px;
}

.bnr-anm.txt1 {
    top: 41.7vw;
}

.bnr-anm.bnc-scroll {
    bottom: 30vw;
    left: 51.4vw;
	z-index: 0;
	font-weight: 700;
}

.bnr-anm.txt1 {
    margin: 0 0 0 3.47vw;
}

.banner-desc {
    display: block;
    font-size: 16px;
    font-weight: 400;
	margin: 10px 0 0;
}

@media screen and (min-width: 1441px) {
	.bnr-container {
	    height: 800px;
	}
    .bnr-anm.pix1 {
        width: 740px;
    }
    
    .bnr-anm.pix2 {
        width: 550px;
    }
    
    .bnr-anm.txt1 {
        top: 600px;
    }

    .bnr-anm.bnc-scroll {
        bottom: 430px;
        left: 740px;
    }
	
	.bnr-anm.txt1 {
		margin: 0 0 0 50px;
	}
}

@media screen and (max-width: 767px) {
	.bnr-anm.pix1 {
		width: calc(320 / 400 * 100vw);
		height: calc(390 / 400 * 100vw);
	}

	.bnr-anm.pix1 > img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.bnr-anm.txt1.bnc-title {
		top: unset;
		margin: 50px 0 0 20px;
	}

	.bnr-anm {
		position: relative;
	}

	.bnr-container {
		height: auto;
	}

	.bnc-title .jp {
		font-size: 24px;
		line-height: 1;
		font-weight: bold;
		max-width: 260px;
		display: block;
	}
	
	.am-sp {
		display: none;
	}

	.bnr-anm.pix2 {
		margin: 60px 10px 0 auto;
		width: calc(320 / 400 * 100vw);
		right: 0;
	}
	
	.bnr-anm.scroll {
		display: none;
	}
}
/* Top page : banner END ---------------------------- */


/* Top page : intro ---------------------------- */
section#intro {
    padding: 50px 0 0;
}

.intro-container__abs {
    width: 100%;
    position: relative;
    padding: 1px 0;
}

.intro-content {
    margin: 15.3vw 0 7vw 9.7vw;
    width: calc(100% - 9.7vw);
	padding: 0;
    height: 52.08vw;
    background: #FFF;
    text-align: right;
	display: flex;
	flex-direction: column;
}

.intro-content__txt {
    width: calc((520 / 1440) * 100vw);
    margin: auto 7vw auto auto;
    text-align: left;
}

.intro-content__txt > .bnc-title {
    margin: unset;
}

.intro-content__txt .bnc-txt {
    line-height: 1.5;
}

.intro-anm {
    position: absolute;
    height: auto;
}

.intro-anm > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.intro-anm.pix1 {
    top: 0;
    left: calc((70 / 1440) * 100vw);
    width: calc((590 / 1440) * 100vw);
    height: calc((530 / 1440) * 100vw);
    z-index:4;
}

.intro-anm.pix2 {
    top: calc((440 / 1440) * 100vw);
    left: calc((340 / 1440) * 100vw);
    width: calc((390 / 1440) * 100vw);
    height: calc((365 / 1440) * 100vw);
    z-index:3;
}

.intro-anm.pix3 {
    top: calc((770 / 1440) * 100vw);
    left: calc((200 / 1440) * 100vw);
    width: calc((300 / 1440) * 100vw);
    height: calc((300 / 1440) * 100vw);
    z-index:2;
}

.intro-content__txt .en {
    display: block;
    font-size: 16px;
    line-height: 100%;
    margin: 0 0 30px;
}

#intro .intro-anm.pix2.aos-fade-up.aos-init.aos-animate {
    z-index: 6;
}

#intro .intro-anm.pix3.aos-fade-up.aos-init.aos-animate {
    z-index: 7;
}

@media screen and (min-width: 1441px) {
    .intro-content {
        margin: 220px 0 100px 140px;
        width: calc(100% - 140px);
        height: 750px;
    }
    
    .intro-content__txt {
        width: 520px;
        margin: auto 100px auto auto;
    }
    
    .intro-anm.pix1 {
        top: 0;
        left: 70px;
        width: 590px;
        height: 530px;
    }
    
    .intro-anm.pix2 {
        top: 440px;
        left: 340px;
        width: 390px;
        height: 365px;
    }
    
    .intro-anm.pix3 {
        top: 770px;
        left: 200px;
        width: 300px;
        height: 300px;
    }
}

@media screen and (max-width: 767px) {
	.bnr-anm.scroll {
		display: none;
	}

	section#intro {
		padding: 65px 0 0;
	}

	.intro-anm {
		position: relative;
		order: 1;
	}

	.intro-content {
		position: relative;
		margin: 0 auto;
		height: auto;
		width: calc(100% - 40px);
		display: block;
		background: unset;
	}

	.intro-content__txt {
		width: 100%;
	}

	.intro-container__abs {
		display: flex;
		flex-direction: column;
	}

	.intro-anm.pix1 {
		margin: 100px 0 0 10px;
		left: unset;
		top: unset;
		width: calc(330 / 400 * 100vw);
		height: calc(290 / 400 * 100vw);
	}

	.intro-anm.pix2 {
		margin: calc(-45 / 400 * 100vw) 10px 0 auto;
		top: unset;
		left: unset;
		right: 0;
		width: 215px;
		height: 220px;
	}

	.intro-anm.pix3 {
		width: calc(170 / 400 * 100vw);
		height: calc(170 / 400 * 100vw);
		top: unset;
		left: unset;
		margin: calc(-20 / 400 * 100vw) 0 0 calc(85 / 400 * 100vw);
	}

	.intro-scroll {
		font-size: 150px;
		margin: -40px 0 0;
		line-height: normal;
	}
}
/* Top page : intro END ---------------------------- */


/* Top page : about ---------------------------- */

.about-container {
    padding: 13.89vw 0 13.89vw;
    overflow-x: hidden;
}

.about-title.bnc-title {
    width: calc((640 - 70) / 1440 * 100vw);
    position: absolute;
    top: calc(300 / 1440 * 100vw);
    transform: translateY(-100%);
}

.about-content__layout {
    position: relative;
    width: 100%;
}

.about-content1, .about-content2, .about-content3 {
    z-index: 1;
}

.about-content__cont {
    padding: 1px 0;
    position: relative;
    z-index: 1;
    overflow-x: hidden;
}

.about-anm {
    width: 100%;
    background: #FFF;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;	
	transform: translate(-13.89vw, 22.22vw);
	height: calc(100% - 9.72vw - 22.22vw);
}

.about-anm > .pix1,
.about-anm > .pix2 {
    position: absolute;
    top: 50%;
}

.about-anm > .pix1 {
    left: 200px;
    width: 820px;
    height: auto;
    transform: translateY(-50%);
}

.about-anm > .pix2 {
    transform: unset;
    width: 500px;
    height: auto;
    left: unset;
    right: 0;
}

.about-content1 {
    margin: 22.22vw 0 0;
    width: calc(640 / 1440 * 100%);
}

.about-content1__cont {
    margin: 6.94vw 0 0 5.55vw;
}

.about-content__cont {
    padding: 1px 0;
    position: relative;
    z-index: 1;
    overflow-x: hidden;
}

.about-content2 {
    width: calc(800 / 1440 * 100%);
}

.about-pix {
    width: calc(100% - 10px);
    margin: 0 10px 15.28vw 0;
    position: relative;
    z-index: 2;
}

.about-strength {
    list-style: none;
    padding: 0;
    width: fit-content;
    margin: 0 0 0 auto;
}

.about-strength__item {
    background: #f2f0ef;
    padding: 10px;
    margin: 0 0 16px;
}

.about-strength__item-num {
    display: block;
}

.about-strength__item-txt {
    display: block;
    font-size: 32px;
    font-weight: bold;
}

.about-strength__item-txt > img {
    width: 15px;
    height: 15px;
    transform: translateY(-20px);
	margin: 0 0 0 2px;
}

.about-strength__item:nth-child(1) {
    transform: translateX(calc(-3.47vw * 0));
}
.about-strength__item:nth-child(2) {
    transform: translateX(calc(-3.47vw * 1));
}
.about-strength__item:nth-child(3) {
    transform: translateX(calc(-3.47vw * 2));
}

.about-content3 {
    transform: translateX(calc(100 / 1440 * 100vw));
    width: 100%;
}

.about-gal {
    display: flex;
    flex-wrap: wrap;
}

.about-gal__item {
    width: 33.33vw;
    height: calc(0.648 * 33.33vw);
    position: relative;
}

.about-gal__item-pix {
    width: calc(100% - 10px);
    height: 100%;
    margin: 0 10px 0 0;
}

.about-gal__item-pix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-gal__item-txt {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: #FFF;
    padding: 1px 10px;
}

@media screen and (min-width: 1441px) {
    .about-container {
        padding: 200px 0 0;
    }

    .about-content1 {
        margin: 320px 0 0;
    }
	
	.about-content1__cont {
		margin: 100px 0 0 80px;
	}
	
	.about-pix {
		margin: 0 10px 220px 0;
	}
	
	.about-title.bnc-title {
		width: calc(640px - 70px);
		top: 300px;
	}

	.about-anm {
	    transform: translate(-200px, 320px);
	    height: calc(100% - 140px - 320px);
	}
	
	.about-strength__item:nth-child(1) {
		transform: translateX(calc(-50px * 0))!important;
	}
	.about-strength__item:nth-child(2) {
		transform: translateX(calc(-50px * 1))!important;
	}
	.about-strength__item:nth-child(3) {
		transform: translateX(calc(-50px * 2))!important;
	}
	
	.about-content3 {
		transform: translateX(100px);
	}
	
	.about-gal__item {
		height: calc(0.648 * 470px);
	}
}

@media screen and (max-width: 767px) {
	.about-container {
		padding: 10px 0 0;
	}

	.about-title.bnc-title {
		width: calc(100% - 40px);
		margin: 0 auto;
		order: 0;
		position: relative;
		transform: unset;
		top: unset;
	}

	.about-content__layout {
		flex-direction: column;
	}

	.about-content2 {
		order: 1;
		width: 100%;
		margin: 25px 0 0;
	}

	.about-content1 {
		order: 2;
		margin: 40px 0 0;
		width: calc(340 / 400 * 100%);
	}

	.about-content3 {
		order: 3;
		width: calc(300 / 400 * 100%);
		transform: translateX(100px);
		overflow-x: hidden;
	}

	.about-pix {
		width: calc(340 / 400 * 100%);
		margin: 0 0 0 auto;
	}

	.about-strength {
		width: calc(340 / 400 * 100%);
		margin: 25px 0 0 auto;
	}

	.about-strength__item-txt {
		font-size: 16px;
	}

	.about-strength__item-num {
		font-size: 10px;
	}

	.about-strength__item {
		width: calc(300 / 340 * 100%);
		margin: 0 0 10px auto;
	}

	.about-strength__item:nth-child(1) {
		transform: translateX(calc(-7.5vw * 0));
	}
	.about-strength__item:nth-child(2) {
		transform: translateX(calc(-7.5vw * 1));
	}
	.about-strength__item:nth-child(3) {
		transform: translateX(calc(-7.5vw * 2));
	}

	.about-content1__cont {
		width: calc(100% - 40px);
		margin: 0 auto;
	}

	.about-gal__item {
		height: calc(160 / 400 * 100vw);
	}

	.about-content3 .about-content1__title {
		width: calc(100% - 10px);
		font-size: 18px;
		margin: 130px 0 0;
	}

	.about-gal {
		width: 250%;
		margin: 30px 0 0;
	}

	.about-anm {
		transform: translate(-15vw, calc(17.5vw + 100px));
		height: calc(100% - 15vw - (17.5vw + 100px));
	}
	
	.intro-content .bnc-title .jp {
		max-width: unset;
	}
}

/* Top page : about END ---------------------------- */

/* Top page : propinfo ---------------------------- */
.propinfo-container {
    margin: 10.41vw 0 0;
    position: relative;
    padding: 8.33vw 0 0;
    height: 106.25vw;
}

.propinfo-title {
    margin: 0 0 3.47vw 4.86vw;
}

.propinfo-content {
    background: #FFF;
    padding: 3.47vw;
    position: absolute;
}

.propinfo-content.content1 {
    width: calc(46.52vw - 6.94vw);
    height: 22.22vw;
    left: 2.78vw;
}

.propinfo-pix {
    position: absolute;
}

.propinfo-pix > img {
    width: 100%;
	height: 100%;
	object-fit: cover;
}

.propinfo-pix.pix1 {
    width: 51.39vw;
    height: 48.61vw;
    right: 0;
    top: 0;
}

.propinfo-pix.pix2 {
    width: 51.39vw;
    height: 62.5vw;
    top: 38.19vw;
}

.propinfo-content.content2 {
    right: 4.86vw;
    top: 48.61vw;
	width: 36.81vw;
}

h3.propinfo-subtitle.bnc-title .en {
    font-size: 16px;
    display: block;
}

h3.propinfo-subtitle.bnc-title .jp {
    font-size: 24px;
}

h3.propinfo-subtitle.bnc-title {
    margin: 0;
}

.propinfo-content.content1 p {
    line-height: 1.8;
}

.propinfo-btn {
    margin: 40px 0 0;
}

@media screen and (min-width: 1441px) {
	.propinfo-container {
		margin: 150px 0 0;
		padding: 120px 0 0;
		height: 1530px;
	}
	
	.propinfo-title {
		margin: 0 0 50px 70px;
	}
	
	.propinfo-content {
		padding: 50px;
	}
	
	.propinfo-content.content1 {
		width: calc(670px - 100px);
		height: 320px;
		left: 40px;
	}
	
	.propinfo-pix.pix1 {
		width: 740px;
		height: 700px;
	}
	
	.propinfo-pix.pix2 {
		width: 740px;
		height: 980px;
		top: 550px;
	}
	
	.propinfo-pix.pix2 {
		width: 740px;
		height: 980px;
		top: 550px;
	}

	.propinfo-content.content2 {
		right: 70px;
		top: 700px;
		width: 530px;
	}
}

@media screen and (max-width: 767px) {
	.bnc-title {
		margin: 0 20px;
	}

	.propinfo-container {
		margin: 60px 0 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		height: unset;
	}

	.propinfo-title.bnc-title {
		order: 0;
	}

	.propinfo-content.content1,
	.propinfo-content.content2 {
		position: relative;
		width: calc(85vw - 40px);
		height: auto;
		padding: 10vw 20px 25vw;
	}

	.propinfo-content.content1 {
		left: unset;
		order: 2;
	}

	.propinfo-pix {
		position: relative;
		top: unset;
		bottom: unset;
	}

	.propinfo-pix.pix1 {
		width: calc(340vw / 4);
		height: calc(340vw / 4);
		margin: 30px 0 0 auto;
		order: 1;
	}

	.propinfo-pix.pix2 {
		width: calc(260vw / 4);
		height: 85vw;
		margin: -15vw auto 0 0;
		top: unset;
		order: 3;
	}

	.propinfo-pix::before {
		content: "";
		width: 100vw;
		height: 80%;
		background: #FFF;
		position: absolute;
		left: -50vw;
		bottom: -5px;
		z-index: 0;
	}

	.propinfo-pix.pix2::before {
		left: 50vw;
		height: 55vw;
	}

	.propinfo-pix > img {
		position: relative;
		z-index: 1;
	}

	.propinfo-content.content2 {
		position: relative;
		order: 4;
		right: unset;
		top: unset;
		margin: 0 0 0 auto;
		padding: 10vw 20px;
	}
}

/* Top page : propinfo END ---------------------------- */

/* Top page : column START ---------------------------- */
.top-columns-title {
	margin: 0 0 50px 50px;
}

.top-columns__list {
    margin: 0 auto;
    max-width: 1400px;
}

.top-columns__list img {
    width: 100%;
}

.top-columns__list .am-col4 {
    width: calc(100% / 12 * 4 - 50px);
    margin: 0 50px 0 0;
}

.top-columns__list .am-col4:last-child {
    margin: 0;
}

.top-columns__list .am-flex {
    justify-content: center;
}

.top-columns__list a {
    color: #000;
    text-decoration: none;
}

.top-columns__list h3 {
    font-size: 16px;
    font-weight: 700;
    margin: 10px 0;
}

.top-columns__button a {
    border: 1px solid #707070;
    color: #000;
    text-decoration: none;
    padding: 8px 15px;
    width: calc(100% - 50px);
    display: block;
	margin: 0 auto;
}

.top-columns__button {
    margin: 40px auto;
    text-align: center;
	max-width: 1360px;
}

@media screen and (max-width: 767px) {
	.top-columns__container {
		margin: 60px 0 0;
	}

	.top-columns-title.bnc-title {
		margin: 0 20px;
	}

	.top-columns__list .am-col4,
	.top-columns__list .am-col4:last-child {
		width: calc(100% - 40px);
		margin: 0 auto 40px;
	}

	.top-columns__list > .am-flex {
		display: block;
	}

	.top-columns__list {
		margin: 30px 0 0;
	}
}
/* Top page : column END ---------------------------- */

/* Top page : sns START ---------------------------- */
.top-sns-title {
    margin: 0 0 50px 50px;
}

.top-sns__list .am-col3 {
    ););
    margin: 0 20px 0 0;
}

.top-sns__list .am-flex {
    justify-content: center;
}

.top-sns__list .am-col3:last-child {
    margin: 0;
}

.am-bg-layout {
    position: relative;
}

.am-bg-pix {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
}

.am-bg-pix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	display: block;
}

.am-bg-cont {
    position: relative;
    z-index: 1;
}

.video-thumbnail {
  position: relative;
  width: 100%; /* Adjust size as needed */
  height: 256px;
  overflow: hidden;
  cursor: pointer;
}

.video-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.7);
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.play-button {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  z-index: 1;
}

.text {
  position: relative;
  color: white;
  font-size: 24px;
  font-weight: bold;
  z-index: 2;
}

.am-flex.top-sns__list {
    justify-content: center;
}

.top-sns__list {
    margin: 0 0 30px;
	width: calc(100% - 120px);
    margin: 0 auto 30px;
}

.top-sns__list .am-col3 img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.am-flex.top-sns__video {
    width: calc(100% - 120px);
    margin: 0 auto;
}

.am-flex.top-sns__video .am-col4 {
	margin: 0 30px 0 0;
}

.top-sns__video .am-col4:last-child {
    margin: 0;
}

.top-sns__button a {
    border: 1px solid #707070;
    color: #000;
    text-decoration: none;
    padding: 12px 20px;
    width: calc(50% - 40px - 10px);
    display: inline-block;
}

.top-sns__button {
    margin: 30px 60px;
    width: auto;
    display: flex;
    text-align: center;
    justify-content: center;
}

.first-btn {
    margin: 0 20px 0 0;
}

.second-btn.bnc-btn {
    margin: 0;
}

@media screen and (max-width: 767px) {
	.top-sns__container {
		margin: 60px 0 0;
	}

	.top-sns-title.bnc-title {
		margin: 0 20px;
	}

	.top-sns__list.am-flex ,
	.top-sns__video.am-flex {
		margin: 10px 5px;
		width: calc(100% - 10px);
		flex-wrap: wrap;
	}

	.top-sns__list .am-col3 {
		width: calc((100% / 3) - 10px);
		height: 30vw;
		margin: 0 auto 10px;
	}

	.top-sns__list .am-col3 img {
		width: 100%;
		height: 100%;
	}
	
	.top-sns__video.am-flex .am-col4 {
		width: calc(50% - 10px);
		height: 30vw;
		margin: 0 auto 10px;
	}

	.video-thumbnail {
		height: 100%;
	}

	.top-sns__button a {
		width: calc(50% - 20px - 10px);
		padding: 10px;
		margin: 0 auto;
	}

	.top-sns__button {
		width: calc(100% - 10px);
		margin: 0 auto;
	}
}
/* Top page : sns END ---------------------------- */


/* Top page : voice ---------------------------- */
.voice-container {
    margin: 11.81vw 4.86vw 0;
	position: relative;
}

.voice-content {
    margin: 8.33vw 0 0 9.72vw;
    padding: 15.28vw 4.17vw 4.17vw 4.17vw;
    background: #FFF;
}

.voice-content__txt h3 {
	font-size: 1.11vw;
	font-size: 16px;
}

.voice-content__txt {
    padding: 1.38vw;
    background: #f2f0ef;
    width: fit-content;
    position: relative;
    z-index: 1;
}

.voice-gal {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 21.88vw;
	width: calc(100% - 21.88vw);
	overflow-x: hidden;
}

.voice-gal_layout {
    width: calc((100% - 3.47vw) * 2);
}

.voice-gal__item {
	width: calc(68.05vw + 3.47vw);
}

.voice-gal__item-pix {
    margin: 0 3.47vw 0 0;
    width: calc(100% - 3.47vw);
}

.voice-gal__item-pix > img {
    width: 100%;
    height: 41.67vw;
    object-fit: cover;
}

.voice-content__btn {
    margin: 2.78vw 0 0;
}

@media screen and (min-width: 1441px) {
	.voice-container {
		margin: 170px 70px 0;
	}

	.voice-content {
		margin: 120px 0 0 140px;
		padding: 220px 60px 60px 60px;
	}
	
	.voice-gal {
		width: calc(100% - 315px);
		left: 315px;
	}
	
	.voice-content__txt {
		padding: 20px;
	}
	
	.voice-gal_layout {
		width: calc((100% - 50px) * 2);
	}
	
	.voice-gal__item {
		width: calc(980px + 50px);
	}
	
	.voice-gal__item-pix {
		margin: 0 50px 0 0;
		width: calc(100% - 50px);
	}
	
	.voice-gal__item-pix > img {
		height: 600px;
	}
	
	.voice-content__btn {
		margin: 40px 0 0;
	}

}

@media screen and (max-width: 767px) {
	.voice-gal {
		top: 60px;
	}

	.voice-content {
		margin: 17.33vw 0 0 0;
		padding: 42.28vw 10.17vw 4.17vw 10.17vw;
	}

	.voice-content__txt {
		margin: 0;
		padding: 4.38vw;
	}

	.voice-content__btn {
		margin: 10.78vw 0 0;
	}
	
	.voice-gal__item-pix > img {
		height: 50.67vw;
	}
}
/* Top page : voice END ---------------------------- */


/* Top page : faq ---------------------------- */
.faq-container {
    margin: 10.41vw 6.94vw 0 4.86vw;
    width: calc(100% - 11.81vw);
}

.faq-title {
    padding: 0 5.56vw 0 0;
    margin: 0 5.56vw 0 0;
    border-right: 1px solid #707070;
}

.faq-title .bnc-title {
    margin: 0;
}

.faq-item {
	border-bottom: 1px solid #707070;
	margin: 0 0 10px;
	padding: 0 0 10px;
}

.faq-item__que::before {
    content: "Q";
    margin: 0 10px 0 0;
}

.faq-item__que {
    display: flex;
    align-items: flex-start;
    margin: 0;
}

.faq-item__exp {
    display: block;
    margin: 6px 0 0 auto;
}

.faq-item__exp::before,
.faq-item__exp::after {
    content: "";
    display: block;
    background: #000;
    position: relative;
}

.faq-item__exp::before {
    width: 2px;
    height: 20px;
    transform: translateX(9px);
}

.faq-item__exp::after {
    width: 20px;
    height: 2px;
    transform: translateY(-11px);
}

.faq-item__ans {
    display: flex;
    height: auto;
    max-height: 0;
    overflow-y: hidden;
    transition: max-height 0.5s ease;
}

.faq-item__ans > p {
    margin: 0;
}

.faq-item.faq-show .faq-item__ans {
    max-height: 20.83vw;
}

.faq-item__ans::before {
    content: "A";
    margin: 0 10px 0 0;
    font-weight: bold;
    font-size: 20px;
}

.faq-content {
    margin: 0 4.86vw 0 0;
    flex: 1;
}

.faq-btn .bnc-btn {
    width: 13.20vw;
}

@media screen and (min-width: 1441px) {
	.faq-container {
		margin: 150px 100px 0 70px;
		width: calc(100% - 170px);
	}
	
	.faq-title {
		padding: 0 80px 0 0;
		margin: 0 80px 0 0;
	}
	
	.faq-item__exp::before {
		height: 20px;
	}

	.faq-item__exp::after {
		width: 20px;
	}
	
	.faq-item.faq-show .faq-item__ans {
		max-height: 300px;
	}
	
	.faq-content {
		margin: 0 70px 0 0;
	}

	.faq-btn .bnc-btn {
		width: 190px;
	}
}

@media screen and (max-width: 767px) {
	.faq-layout.am-flex {
		display: block;
	}

	.faq-btn {
		width: 100%;
		margin: 8vw 0 0 0;
	}

	.faq-btn .bnc-btn {
		width: 100%;
	}

	.faq-title {
		border-right: none;
	}
	
	.faq-content {
		margin: 8vw 5.56vw 0 0;
	}
	
	.faq-container {
		width: calc(100% - 40px);
		margin: 70px auto;
	}

	.faq-content {
		margin: 40px auto 30px;
	}

	.faq-item.faq-show .faq-item__ans {
		border-top: 1px solid #878787;
		padding: 10px 0;
		margin: 10px 0 0;
		max-height: 62.83vw;
	}
	
	.faq-item:first-child {
		border-top: 1px solid #707070;
		padding: 10px 0;
	}
}
/* Top page : faq END ---------------------------- */


/* Top page : message ---------------------------- */
.message-container {
    margin: 10.42vw 0 0;
}

.message-subtitle {
    font-size: 36px;
    line-height: 1.33;
    position: absolute;
    top: 0;
    transform: translateY(-100%);
    padding: 0 0 20px;
}

.message-content__txt {
    position: relative;
    padding: 4.86vw 0;
    width: 34.72vw;
    margin: 0 0 0 auto;
}

.message-content {
    background: #FFF;
    padding: 0 4.86vw 4.86vw;
    position: relative;
	margin: 0 0 10.42vw;
}

.message-content__txt > p {
	margin: 0;
}

.message-pix {
    position: absolute;
    top: 0;
    width: 43.75vw;
    height: 41.67vw;
}

.message-layout {
    position: relative;
    padding: 13.89vw 9.72vw 0 0;
    margin: 3.47vw 0 0;
}

.message-pix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.message-content__btn {
    margin: 40px 0 0;
}

.message-content__hlight {
    font-weight: 700;
    font-size: 24px;
    margin: 40px 0 0;
    display: block;
}

@media screen and (min-width: 1441px) {
	.message-container {
		margin: 150px 0 0;
	}
	
	.message-content__txt {
		padding: 70px 0;
		width: 500px;
		margin: 0 0 0 auto;
	}
	
	.message-content {
		padding: 0 70px 70px;
		margin: 0 0 150px;
	}
	
	.message-pix {
		width: 630px;
		height: 600px;
	}
	
	.message-layout {
		padding: 200px 140px 0 0;
		margin: 50px 0 0;
	}
}

@media screen and (max-width: 767px) {
	.message-pix {
		width: 75vw;
		height: 75vw;
	}

	.message-content {
		margin: 0 0 0 10.42vw;
	}

	.message-layout {
		padding: 13.89vw 0;
	}

	.message-content__txt {
		padding: 63.86vw 0 0;
		width: 100%;
	}
	
	.message-content__hlight {
		font-size: 16px;
	}
	
	.message-content__btn {
		margin: 10px 0 0;
	}
	
	.message-subtitle {
		font-size: 20px;
		top: -30vw;
		right: 0;
		padding: 0;
		writing-mode: vertical-rl;
		transform: unset;
	}
	
	.message-title {
		margin: 0 0 20vw;
	}
}
/* Top page : message END ---------------------------- */

/* Top page : footer ---------------------------- */

.cont-1200 {
    max-width: 1200px;
    margin: 0 auto;
}

footer {
    padding: 20px 0;
	background-color: #fff;
}

.ftr-menu li {
    display: inline-block;
    margin: 0 10px;
    padding: 0;
}

.ftr-btn a {
    border: 1px solid #707070;
    color: #000;
    padding: 10px 50px;
    text-decoration: none;
    display: block;
	text-align: center;
}

ul.ftr-menu {
    align-self: center;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

.ftr-access {
    margin: 50px 0 0;
}

.ftr-logo__subtext {
    font-size: 36px;
    font-weight: 700;
    margin: 30px 0;
	line-height: 100%;
}

.ftr-logo__subtext img {
    width: 25px;
    height: 25px;
    transform: translateY(-20px);
}

.ftr-table__access {
    font-weight: 700;
	margin: 0 0 85px;
}

.ftr-sns {
    text-align: right;
	margin: 20px 0 0;
}

.ftr-sns iframe {
    width: 100%;
}

.ftr-copyright {
    margin: 0 50px 0 0;
	display: inline-block;
    vertical-align: super;
}

.ftr-table__access tr:first-child {
    font-size: 24px;
}

.ftr-table__access tr td {
    padding: 5px;
}

.ftr-table__access tr td:first-child {
    width: 30%;
}

.ftr-access .am-col8 {
    width: calc(100% / 12 * 8 - 120px);
    margin: 0 0 0 120px;
}

.ftr-cont .am-flex {
	justify-content: space-between;
}

.am-container.ftr-cont {
    max-width: 1440px;
    width: calc(100% - 40px);
    margin: 0 auto;
}

.ftr-menu li:last-child {
    margin: 0 0 0 12px;
}

.right-cont iframe {
    margin: 40px 0 0;
}

.left-cont img {
    margin: 40px 0 0 0;
}

.ftr-link {
	margin: 18% 0 0;
}

.ftr-link a {
    color: #000;
    text-decoration: none;
}

.left-cont .mail-icon {
    vertical-align: middle;
    margin: 0 5px 0 0;
}

.ftr-page-top span {
    text-align: center;
    display: block;
    border-bottom: 1px solid #707070;
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 0 0 10px;
    font-size: 12px;
}

.ftr-page-top i {
    text-align: center;
    display: block;
    color: #707070;
}

a#pageTopBtn {
    text-decoration: none;
    color: #000;
}

@media screen and (max-width: 1200px) {
	ul.ftr-menu {
		flex-wrap: wrap;
		justify-content: center;
	}

	.ftr-menu li {
		margin: 0 15px 15px;
	}
}

@media screen and (max-width: 1024px) {
	.ftr-menu li {
		margin: 0 5px;
	}
	
	.ftr-access .am-col8 {
		width: calc(100% / 12 * 8 - 50px);
		margin: 0 0 0 50px;
	}
	
	.ftr-logo__subtext {
		font-size: 30px;
	}
}

@media screen and (max-width: 991px) {
	.ftr-btn a {
		padding: 10px 30px;
	}
	
	.ftr-cont .am-flex {
		display: block;
	}

	.ftr-cont .am-col4 {
		width: 100%;
		text-align: center;
	}

	.ftr-cont .am-col8 {
		width: 100%;
		margin: 0;
	}

	.ftr-table__access {
		text-align: center;
	}

	table.ftr-table__access {
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}

	.ftr-table__access tr td:first-child {
		width: 0;
	}

	.right-cont iframe {
		margin: 20px 0 0;
	}
	
	.ftr-link {
		margin: 4% 0;
	}
}

@media screen and (max-width: 767px) {
	.left-cont > img {
		order: 2;
	}

	.ftr-logo__subtext {
		order: 3;
		width: 100%;
	}

	.ftr-sns {
		order: 5;
		width: 50%;
		position: relative;
		text-align: right;
	}

	.ftr-link {
		order: 4;
		width: 50%;
		text-align: left;
		margin: 0;
        align-self: end;
	}

	.ftr-table__access {
		width: 100%;
		margin: unset;
	}

	table.ftr-table__access {
		max-width: unset;
		width: 100%;
	}

	.ftr-table__access tr td:first-child {
		width: calc(160% / 4);
	}

	.ftr-table__access tr td {
		width: calc(200% / 4);
	}

	.ftr-icons {
		position: absolute;
		top: 0;
		right: 0;
		transform: translateY(-100%);
	}

	.ftr-copyright {
		margin: 0;
	}
	
	.ftr-cont .am-flex {
		display: flex;
		flex-wrap: wrap;
	}

	.ftr-cont .am-col4 {
		order: 2;
		width: 100%;
	}

	.ftr-cont .am-col8 {
		order: 1;
		width: 100%;
	}

	ul.ftr-menu {
		display: block;
	}

	.ftr-menu li {
		display: block;
		margin: 15px 0;
	}

	.ftr-menu li:last-child {
		margin: 0;
	}
	
	.right-cont {
		display: flex;
		flex-wrap: wrap;
	}

	ul.ftr-menu {
		order: 2;
	}

	.left-cont {
		display: flex;
		flex-wrap: wrap;
	}

	table.ftr-table__access {
		order: 1;
		text-align: left;
	}

	.ftr-logo__subtext {
		font-size: 17px;
		text-align: left;
	}
	
	.ftr-btn.am-sp {
		width: 100%;
	}

	.ftr-btn.am-sp img {
		vertical-align: middle;
	}
	
	.ftr-logo__subtext img {
		width: 15px;
		height: 15px;
		transform: translateY(-8px);
	}
}

/* Top page : footer END ---------------------------- */

/* Property page : banner ---------------------------- */
.prop-container {
	max-width: 1300px;
	margin: 0 auto;
}

.prop-container .am-col4 {
	width: calc(100% / 3 - 30px);
	margin: 0 15px 30px;
	position: relative;
}

.prop-container .am-col4 img {
	max-width: 400px;
	height: 300px;
	object-fit: cover;
	width: 100%;
}

.prop-name {
	display: block;
	font-size: 16px;
	margin: 10px 0;
	font-weight: 700;
}

.prop-desc {
	margin: 10px 0;
	display: block;
}

.prop-table tr:last-child {
	font-weight: 700;
}

.prop-container .am-col4:first-child {
	margin: 0 15px 30px 0;
}

.prop-container .am-col4:last-child {
	margin: 0 0 30px 15px;
}

.prop-title span {
	display: block;
}

.prop-title .title-en {
	font-size: 16px;
}

.prop-title .title-jp {
	font-size: 36px;
}

#prop-listings {
    padding: 70px 0 0;
}

.ii-pgnavi__btn.ii-pgnavi__current {
    background: #fff;
    color: #000;
	cursor: revert;
}

.ii-pgnavi__btn {
    padding: 10px 16.79px;
    font-weight: 500;
    margin: 0 5px;
    cursor: pointer;
    font-size: 16px;
    font-family: 'Noto Sans JP';
    border-radius: 50px;
	border: none;
	background: none;
}

.ii-pgnavi__btn i {
	background-color: #fff;
    color: #006533;
}

.sect-news__pagenavi{
	text-align: center;
	margin: 0 0 100px;
}

.sect-news__pagenavi .btn-style-1 {
    text-decoration: unset;
    display: inline-block;
    margin: 0 10px;
    width: 150px;
    position: relative;
}

.chev-left {
    padding: 10px 20px 10px 15px;
}

.chev-right {
    padding: 10px 15px 10px 20px;
}

.chev-left::before {
    font-family: 'Font Awesome 6 Free';
    font-weight: 700;
    font-size: 10px;
    width: 18px;
    height: 18px;
    border: 2px solid;
    display: inline-block;
    border-radius: 50%;
    vertical-align: bottom;
    position: absolute;
    top: 28%;
    right: 0;
    left: 15px;
}

.chev-right::after {
    font-family: 'Font Awesome 6 Free';
    font-weight: 700;
    font-size: 10px;
    width: 18px;
    height: 18px;
    border: 2px solid;
    display: inline-block;
    border-radius: 50%;
    vertical-align: bottom;
    position: absolute;
    top: 28%;
    right: 0;
    left: 75%;
}

.chev-left::before {
    content: "\f053";
    margin: 0 10px 4px 0;
}

.chev-right::after {
    content: "\f054";
    margin: 0 0 4px 10px;
}

.prop-container a {
    text-decoration: none;
    color: #000;
}

.prop-label {
    background-color: #fff;
    position: absolute;
    margin: 5px;
    padding: 4px 5px;
    font-weight: 700;
}

.prop-title {
	margin: 0 0 20px 5px;
}

.prop-container .am-flex {
	justify-content: flex-start;
}

@media screen and (max-width: 991px) {
	.prop-container .am-col4 img {
		max-width: 400px;
		height: 300px;		
	}
}

@media screen and (max-width: 767px) {
	.bnr-lowpg .bnr-title .en {
		font-size: 50px;
		font-weight: 700;
	}

	.bnr-lowpg .bnr-title .jp {
		font-size: 24px;
		bottom: -14px;
		left: 20px;
	}
	
	.bnr-lowpg .bnr-breadcrumb {
		bottom: 0;
		left: 2vw;
	}
	
	.bnr-lowpg .bnr-content {
		top: calc(340% / 6);
		width: unset;
	}
	
	.bnr-lowpg .bnr-title {
		top: calc(180% / 6);
		margin: 0 10px;
	}
	
	.bnr-content {
		margin: 0 10px;
	}
	
	.bnr-lowpg .bnr-container {
		height: 600px;
	}
	
	.prop-title {
		margin: 30px 0 20px 5px;
	}
	
	.prop-container .am-flex {
		display: block;
	}
	
	.bnr-container {
		width: calc(100% - 4px);
		position: relative;
		height: auto;
	}
	
	.prop-container .am-col4:first-child {
		width: calc(100% - 20px);
		margin: 0 auto 30px;
	}

	.prop-container .am-col4 {
		width: calc(100% - 20px);
		margin: 0 auto 30px;
		display: block;
	}

	.prop-container .am-col4:last-child {
		margin: 0 auto 30px;
		width: calc(100% - 20px);
	}
	
	.prop-title .title-jp {
		font-size: 24px;
	}

	.prop-title .title-en {
		font-size: 12px;
	}
}
/* Property page : banner END ---------------------------- */

/* Single property page : propinfo START ---------------------------- */
.bnr-title.single-works .en {
    font-size: 18px;
    display: block;
	color: #000;
}

.bnr-title.single-works .jp {
    font-size: 24px;
    display: block;
	color: #000;
}

.bnr-lowpg .bnr-title.single-works .jp {
    position: unset;
}

.currentpg {
    margin: 0 20px 0 0;
}

.bnr-title.single-works {
	margin: 0 0 0 10px;
}

.bnr-table {
    position: absolute;
    top: 60%;
    margin: 0 0 0 10px;
}

.bnr-table tr:last-child {
    font-weight: 700;
}

.single-works-cont .am-bg-pix > img {
    filter: opacity(0.2);
}

.single-works-cont .bnr-breadcrumb {
	bottom: 20px;
}

.single-works-cont .bnr-content {
	bottom: 20px;
}

.single-works-gal__layout {
    max-width: 840px;
    margin: 0 auto;
}

.slider-nav {
    max-width: 840px;
    margin: 0 auto;
}

.slider-nav img {
    width: calc(100% - 5px);
    height: 75px;
    object-fit: cover;
}

.slick-list.draggable {
    padding: 0;
}

.single-works-gal__layout img {
    width: 100%;
    height: 630px;
    object-fit: cover;
}

.slider-nav .slick-list {
    padding: 0px !important;
}

.slider-nav img:last-child {
    margin: 0!important;
}

.slick-slide {
    height: unset;
}

.single-works-gal__caption {
    max-width: 840px;
    margin: 0 auto;
}

.single-works-table__cont {
	max-width: 1000px;
	width: calc(100% - 20px);
	margin: 50px auto 0 auto;
}

/* Tbody layout side by side */
.single-works-table {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 40px;
}

.single-works-table tbody {
	width: 100%;
}

/* td size arrangement */
.single-works-table tr {
    display: flex;
}

    /* left tbody */
.single-works-table tr td:nth-child(1) {
    width: 12%;
}
.single-works-table tr td:nth-child(2) {
    width: 12%;
}
.single-works-table tr td:nth-child(3) {
    width: 30%;
}

    /* right tbody */
.single-works-table tr td:nth-child(4) {
    width: 12%;
	margin: 0 0 0 40px;
}
.single-works-table tr td:nth-child(5) {
    width: 30%;
}

    /* bottom tbody */
.single-works-table > tbody:nth-child(3) tr td:nth-child(1) {
    width: 11.88%;
}
.single-works-table > tbody:nth-child(3) tr td:nth-child(2) {
    width: 11.88%;
}
.single-works-table > tbody:nth-child(3) tr td:nth-child(3) {
    width: 76.24%;
}

/* td styling */
.single-works-table tr td {
    border: 1px solid;
    border-width: 0 0 1px 0;
    padding: 15px 0 5px;
}
.single-works-table > tbody:nth-child(1) tr td:nth-child(1),
.single-works-table > tbody:nth-child(3) tr td:nth-child(1){
    border: unset;
}
.single-works-table > tbody:nth-child(1) tr td:nth-child(1) {
    font-weight: bold;
}

.single-works-contact__cont {
    max-width: 1120px;
    margin: 70px auto;
    background-color: #fff;
    padding: 50px;
    text-align: center;
}

.single-works-table.table2 > span {
    width: 11.88%;
    padding: 10px 0 0;
    font-weight: bold;
}

.single-works-table.table2 > ul {
    width: 88.12%;
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #000;
    margin: unset;
}

.single-works-table.table2 > ul > li {
    width: calc(100% / 3);
    padding: 10px 0px 0px;
}

.inquiry-form__contact-form {
    width: 100%;
    text-align: left;
}

.inquiry-form__contact-col {
    font-weight: 700;
}

.required {
    color: #FF0000;
    font-size: 12px;
    margin: 0 0 0 10px;
}

.inquiry-form__contact-col input {
    padding: 15px;
    width: 100%;
}

.inquiry-form__row {
    margin: 0 0 30px;
}

.inquiry-form__contact-col textarea {
    width: 100%;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner.submit_btn {
    background-color: #707070;
    border: 1px solid #707070;
    color: #fff;
    padding: 12px;
    width: 100%;
    font-weight: 700;
}

.inquiry-form__row.address-col input {
    width: 30%;
}

span.address-col-caption {
    margin: 0 0 0 10px;
    color: #707070;
}

.inquiry-form__row.last {
    margin: 0 0 50px;
}

.single-works-table__table2 {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}

.single-works-table__table2 tr td {
	padding: 10px 0 0;
}

.single-works-table__table2 {
    width: 100%;
}

.single-works-table__table2 tr td:first-child {
    font-weight: 700;
    border: none;
	width: 11.5%;
}

.single-works-table__table2 tr td:nth-child(3) {
    margin: 0 20px 0 0;
	width: 300px;
}

.single-works-table__table3 {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}

.single-works-table__table3 tr td {
	padding: 10px 0 0;
	border: 1px solid;
	border-width: 0 0 1px 0;
	width: 110px;
}

.single-works-table__table3 {
    width: 100%;
}

.single-works-table__table3 tr td:first-child {
    font-weight: 700;
    border: none;
	width: 130px;
}

.single-works-table.table2 > ul > li:last-child {
    padding: 10px 0 5px;
}

.single-works-table__table2 tr:last-child td {
    border: 1px solid;
    border-width: 0 0 1px 0;
    padding: 10px 0;
}

.single-works-table__table2 tr:last-child td:first-child {
    border: none;
}

.bnr-gal .single-works-gal__item-pix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	display: block;
    filter: opacity(0.2);
}

@media screen and (min-width: 1441px) {
	.bnr-title.single-works {
		left: 70px;
		margin: 0;
	}
	
	.bnr-table {
		left: 70px;
		margin: 0;
	}
}

@media screen and (max-width: 991px) {
	#single-works-gal {
		padding: 0 5px;
	}
}

@media screen and (max-width: 767px) {
	.bnr-title.single-works .en {
		font-size: 12px;
	}
	
	.bnr-lowpg .bnr-title.single-works {
		top: 36%;
	}
	
	.single-works-cont .bnr-table {
		top: 40%;
	}
	
	.bnr-lowpg .bnr-content .bnr-content__subtitle {
		font-size: 16px;
	}
	
	.single-works-cont .bnr-content {
		right: 0;
		left: 0;
		top: 60%;
	}
	
	.single-works-cont .bnr-breadcrumb {
		bottom: 20px;
		top: 84%;
	}
	
	.bnr-lowpg.single-works-cont .bnr-container {
        height: 100vh;
    }

	.single-works-contact__cont {
		padding: 20px;
		margin: 70px 10px 0;
	}

	span.address-col-caption {
		margin: 10px 0 0 0;
		display: block;
	}

	.single-works-table {
		margin: 0 0 60px
	}

	.single-works-table > tbody:nth-child(1),
	.single-works-table > tbody:nth-child(2),
	.single-works-table > tbody:nth-child(3) {
		width: 100%;
	}
	.single-works-table tr {
		flex-wrap: wrap;
	}
		.single-works-table tr td:nth-child(2),
	.single-works-table tr td:nth-child(4) {
		width: 27.5%;
		margin: 0;
	}
	.single-works-table tr td:nth-child(3),
	.single-works-table tr td:nth-child(5) {
		width: 72.5%;
	}
	.single-works-table tr td:nth-child(1) {
		display: none;
	}
	.single-works-table tr:nth-child(1) td:nth-child(1) {
		display: block;
		width: 100%;
	}


	.single-works-table.table2 > span {
		width: 100%;
	}

	.single-works-table.table2 > ul {
		width: 100%;
	}

	.single-works-table.table2 > ul > li {
		width: 50%;
		white-space: nowrap;
		overflow-x: hidden;
	}
	
	.slider-nav img {
		height: 16vw;
	}

}
/* Single property page : propinfo END ---------------------------- */


/* Specification page : Alpha ---------------------------- */
.spec_alpha {
    margin: 10.42vw 0 0;
}

.spec_alpha-content {
    background: #FFF;
    padding: 6.94vw 130px;
	order: 1;
    width: calc(50% - 9.02vw);
    height: calc(41.67vw - 13.89vw);
}

.spec_alpha-pix {
    width: 50%;
    height: calc(41.67vw - 8.33vw);
    padding: 4.17vw 0;
	order: 2;
}

.spec_alpha-pix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translateX(-100px);
}

.spec_alpha-layout {
    align-items: center;
}

.spec_alpha.alt1 .spec_alpha-layout {
    align-items: flex-end;
}
.spec_alpha.alt1 .spec_alpha-pix {
    height: auto;
    align-self: flex-end;
    padding: 0 0 60px;
}

.spec_alpha.alt1 .spec_alpha-pix > img {
    height: auto;
	width: 87%;
	transform: translateX(-20px);
}

.spec_alpha-title {
    position: relative;
}

.spec_alpha-title > .en {
    position: absolute;
    top: -2.78vw;
    left: -2.78vw;
    color: #f2f0ef;
    font-size: 60px;
    z-index: 0;
}

.spec_alpha-title .jp {
    font-size: 36px;
    position: relative;
    z-index: 1;
}

.model-house-content__btn {
    margin: 3.47vw;
}

@media screen and (min-width: 1441px) {
	.spec_alpha {
		margin: 150px 0 0;
	}
	
	.spec_alpha-content {
		padding: 100px 130px;
		width: calc(50% - 260px);
		height: calc(600px - 200px);
	}
	
	
	.spec_alpha-pix {
		height: calc(600px - 120px);
		padding: 60px 0;
	}
	
	.spec_alpha.alt1 .spec_alpha-pix {
		padding: 0 0 4.17vw;
	}
	
	.spec_alpha-title > .en {
		top: -40px;
		left: -40px;		
	}
	
	.model-house-content__btn {
		margin: 50px;
	}
}

@media screen and (max-width: 1024px) {
	.spec_alpha-content {
	    width: calc(60% - 80px);
	    height: auto;
	    padding: 60px 40px;
	}
	
	.spec_alpha-pix {
	    width: 40%;
	}
	
	.spec_alpha.alt1 .spec_alpha-pix > img {
	    width: 100%;
	}
	
	.spec_alpha-pix > img {
	    transform: translateX(-20px);
	}
}

@media screen and (max-width: 767px) {
	.spec_alpha-layout {
		display: block;
	}

	.spec_alpha.alt1 .spec_alpha-pix {
		width: calc(260vw / 4);
		height: auto;
		margin: 0 0 -18.75vw auto;
		padding: 0;
	}

	.spec_alpha.alt1 .spec_alpha-pix > img {
		width: 100%;
		height: auto;
		transform: unset;
	}

	.spec_alpha.alt1 .spec_alpha-content {
		width: calc(90% - 40px);
		padding: 70px 20px;
		height: auto;
	}

	.spec_alpha-title > .en {
		font-size: 40px;
		line-height: 1;
		position: unset;
		display: block;
	}

	.spec_alpha-title .jp {
		font-size: 24px;
		display: block;
		margin: -10px 0 0 20px;
	}

	.spec_alpha {
		margin: 60px 0 0;
	}

	.spec_alpha-pix {
		width: 90%;
		margin: 0 auto -20px;
		padding: unset;
		height: calc(250vw / 4);
	}

	.spec_alpha-pix > img {
		transform: unset;
	}

	.spec_alpha-content {
		width: calc(100% - 40px);
		padding: 60px 10px;
		margin: 0 auto;
		height: auto;
	}
	
	#spec_garage .spec_alpha-title .jp {
		left: unset;
	}
}

/* Specification page : Alpha END ---------------------------- */

/* Specification page : Beta ---------------------------- */
.spec_beta {
    margin: 10.42vw 0 0;
}

.spec_beta-layout {
    position: relative;
}

.spec_beta-pix {
    position: absolute;
    top: 6.25vw;
    left: 6.94vw;
    width: 37.15vw;
    height: 50vw;
	z-index: 1;
}

.spec_beta-pix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.spec_beta-subpix {
    position: absolute;
}

.spec_beta-content {
    width: calc(57.29vw - 23.61vw);
    padding: 11.81vw;
    background: #FFF;
    margin: 0 0 0 auto;
}

.spec_beta-subpix {
    position: absolute;
}

.spec_beta-subpix.pix1 {
    width: 27.78vw;
    height: 15.28vw;
    right: 12.50vw;
    bottom: -8.33vw;
}

.spec_beta-subpix.pix2 {
    width: 16.67vw;
    height: 15.28vw;
    right: 41.67vw;
    bottom: -13.89vw;
}

.spec_beta-subpix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.spec_beta-container {
    min-height: 60.76vw;
}

.spec_beta.alt1 .spec_beta-subpix.pix1 {
    width: 23.61vw;
    height: 20.14vw;
    bottom: -11.53vw;
}

.spec_beta.alt1 .spec_beta-subpix.pix2 {
    right: 38.54vw;
    bottom: -8.88vw;
    height: 13.89vw;
    width: 10.76vw;
}

.spec_beta.alt1 .spec_beta-container {
    min-height: 59.02vw;
}

#spec_flooring .spec_beta-pix {
    z-index: 0;
}

#spec_stairs .spec_beta-subpix .pix2 {
    width: 150px;
    height: 197px;
    object-fit: cover;
}

#spec_garage .spec_beta-subpix.pix2 {
    z-index: 1;
}

#spec_powder-room .spec_beta-subpix.pix2 {
    z-index: 1;
}

@media screen and (min-width: 1441px) {
	.spec_beta {
		margin: 150px 0 0;
	}
	
	.spec_beta-pix {
		position: absolute;
		top: 90px;
		left: 100px;
		width: 535px;
		height: 720px;
	}
	
	.spec_beta-content {
		width: calc(825px - 340px);
		padding: 170px;
		background: #FFF;
		margin: 0 0 0 auto;
	}
	
	.spec_beta-subpix.pix1 {
		width: 400px;
		height: 220px;
		right: 180px;
		bottom: -120px;
	}

	.spec_beta-subpix.pix2 {
		width: 240px;
		height: 220px;
		right: 600px;
		bottom: -200px;
	}
	
	.spec_beta-container {
		min-height: 875px;
	}

	.spec_beta.alt1 .spec_beta-subpix.pix1 {
		width: 340px;
		height: 290px;
		bottom: -166px;
	}

	.spec_beta.alt1 .spec_beta-subpix.pix2 {
		right: 555px;
		bottom: -128px;
		height: 200px;
		width: 155px;
	}

	.spec_beta.alt1 .spec_beta-container {
		min-height: 850px;
	}
}
/* Specification page : Beta END ---------------------------- */
@media screen and (max-width: 1024px) {
	.spec_beta-content {
	    width: calc(65% - 100px);
	    padding: 60px 40px 60px 60px;
	    height: auto;
	}
	
	.spec_beta-pix {
	    left: 20px;
	    width: 35%;
	}
}

@media screen and (max-width: 767px) {
	.spec_beta {
		margin: 60px 0 0;
	}

	.spec_beta-pix {
		position: unset;
		width: 75%;
		height: calc(420vw / 4);
		margin: 0 auto 0 0;
	}

	.spec_beta-subpix.pix1 {
		bottom: unset;
		top: calc(350vw / 4);
		right: 0;
		width: 50vw;
		height: calc(110vw / 4);
	}

	.spec_beta-subpix.pix2 {
		width: calc(120vw / 4);
		height: calc(110vw / 4);
		bottom: unset;
		top: calc(410vw / 4);
		right: calc(220vw / 4);
	}

	.spec_beta-content {
		margin: 18.75vw auto 0;
		width: calc(100% - 40px);
		padding: 55px 10px;
	}

	.spec_beta.alt1 .spec_beta-pix {
		margin: 0 auto 0 20px;
		width: calc(280vw / 4);
		height: calc(360vw / 4);
	}

	.spec_beta.alt1 .spec_beta-subpix.pix1 {
		bottom: unset;
		top: calc(300vw / 4);
		width: calc(180vw / 4);
		height: calc(150vw / 4);
	}

	.spec_beta.alt1 .spec_beta-subpix.pix2 {
		bottom: unset;
		right: calc(210vw / 4);
		top: calc(340vw / 4);
		width: calc(150vw / 4);
		height: calc(200vw / 4);
	}

	.spec_beta.alt1 .spec_beta-content {
		margin: 35vw auto 0;
	}
}

/* Bia-Contract page : Process START---------------------------- */
.contract-process-content {
    max-width: 37.5vw;
    margin: 0 auto;
    width: 100%;
	height: 11.81vw;
}

.contract-process-container {
    margin: 11.81vw 4.86vw 0;
}

.contract-process-num {
    width: 4.89vw;
    height: 4.89vw;
    background-color: #605f65;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    border-radius: 50%;
    display: block;
    text-align: center;
    align-content: center;
}

.contract-process-subtitle {
    font-size: 24px;
    font-weight: 700;
}

.contract-process-num:before {
    content: "";
    position: absolute;
    top: 4.86vw;
    left: 2.43vw;
    width: 1px;
    height: 4.86vw;
    border-left: 3px dotted #707070;
    margin: 1.04vw 0;
}

.contract-process-item {
    position: relative;
}

.contract-process-btn {
    margin: 6.94vw auto 0;
}

.contract-process-title h2.bnc-title {
    margin: 0 8.33vw 0 0;
}

.contract-process-flow {
    width: 100%;
    max-width: 580px;
}

@media screen and (min-width: 1441px) {
	.contract-process-content {
		max-width: 540px;
		height: 170px;
	}
	
	.contract-process-container {
		margin: 170px 70px 0;
	}
	
	.contract-process-num {
		width: 70px;
		height: 70px;
	}
	
	.contract-process-num:before {
		top: 70px;
		left: 35px;
		height: 70px;
		margin: 15px 0;
	}
	
	.contract-process-btn {
		margin: 100px auto 0;
	}

	.contract-process-title h2.bnc-title {
		margin: 0 120px 0 0;
	}
}

@media screen and (max-width: 767px) {
	.contract-process-layout.am-flex {
		display: block;
	}

	.contract-process-container .am-col4 {
		width: 100%;
	}
	
	.contract-process-layout.am-flex {
		display: block;
	}

	.contract-process-container {
		margin: 10px 0;
	}

	.contract-process-content {
		max-width: 540px;
		height: 150px;
	}

	.contract-process-num {
		width: 70px;
		height: 70px;
	}

	.contract-process-num:before {
		top: 70px;
		left: 35px;
		height: 70px;
		margin: 15px 0;
	}

	.contract-process-item {
		margin: 20px 10px;
	}

	.contract-process-subtitle {
		font-size: 17px;
	}

	.contract-process-content ul {
		padding: 0 20px 0;
	}

	.contract-process-btn {
		margin: 50px 10px 0;
	}
}
/* Bia-Contract page : Process END---------------------------- */


/* Company page : Outline START---------------------------- */
.company-outline-container {
    margin: 170px 70px 0;
    max-width: 1082px;
	width: 100%;
}

.company-outline-tbl table tr td {
    border: 1px solid;
    border-width: 0 0 1px 0;
    padding: 10px;
}

.company-outline-tbl table {
    width: 100%;
    margin: 0 0 0 70px;
}

.company-outline-tbl table {
    border-collapse: collapse;
}

.company-outline-tbl table tr td:first-child {
    width: 20%;
}

.company-outline-tbl table tr td:nth-child(2) {
    width: 80%;
}

.company-service-container {
    max-width: 1082px;
    margin: 170px 70px 0;
}

.company-service-item__box {
    border: 1px solid;
    margin: 0 0 50px;
    padding: 20px;
    height: 150px;
	align-content: center;
	position: relative;
}

a.company-service-item__box {
    display: block;
    color: #000;
    text-decoration: none;
}

.company-service-item {
    margin: 0 0 0 70px;
}

.company-service-subtitle {
    display: block;
    font-weight: 700;
    font-size: 18px;
    margin: 0 0 20px;
}

.company-service-item__box img {
    display: block;
	margin: 0 0 20px;
}

.company-logo {
    width: 154px;
    height: 50px;
    object-fit: contain;
    margin: 0 0 20px 0;
}

.company-service-item__box .company-service-item__box-link {
    top: 50%;
    position: absolute;
    right: 0;
    transform: translate(calc(100% - 10px), -50%);
	text-decoration: unset;
	color: #000;
}

.company-service-item__box .company-service-item__box-link span {
	display: inline-block;
	vertical-align: middle;
	margin: 0 20px 0 0;
    letter-spacing: -2px;
}

.company-access-container {
    max-width: 1082px;
    width: 100%;
    margin: 170px 70px 0;
}

.company-access-content {
    margin: 0 0 0 70px;
}

.company-access-table {
    width: 100%;
    border-collapse: collapse;
}

.company-access-table tr td {
    border: 1px solid;
    border-width: 0 0 1px 0;
    padding: 15px 0;
}

.staff-intro-container {
    max-width: 1260px;
    width: 100%;
    margin: 0 auto;
}

.staff-intro-item {
    margin: 0 0 70px;
}

.staff-intro-title .bnc-title {
    margin: 0 0 60px 35px;
}

.staff-intro-layout {
    width: calc(100% - 140px);
    margin: 0 auto;
}

/* .staff-intro-item__main {
    width: calc(36.15% - 70px);
    margin: 0 auto 0 0;
} */

.staff-intro-item__main {
    width: calc(45.15% - 70px);
    margin: 0 auto 0 0;
}

/* .staff-intro-item__side {
    width: 63.85%;
    padding: 160px 0 0;
} */
.staff-intro-item__side {
    width: 55.85%;
    padding: 160px 0 0;
}

.staff-intro-item__main-pix {
    height: 400px;
}

/* .staff-intro-item__main-pix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
} */

.staff-intro-item__main-pix > img {
    width: 100%;
    height: 400px;
    max-width: 400px;
    object-fit: cover;
}

.staff-intro-item__main-info > .title {
    font-size: 10px;
    margin: 0 0 5px;
}

.staff-intro-item__side img {
    max-width: 770px;
    height: 397px;
    object-fit: cover;
    width: 100%;
}

.staff-intro-item__main-info > .detail {
    margin: 0 0 20px;
}

.staff-intro-item__main-info > .detail > .name {
    font-size: 24px;
    font-weight: bold;
    margin: 0 10px 0 0;
}

.staff-intro-item__main-info > .detail > .exp {
    font-size: 14px;
}

.staff-intro-item__main-howto > .title {
    margin: 0 0 10px;
}

.staff-intro-item__main-howto > .detail {
    margin: unset;
}

.staff-intro-item__side > .title {
/*     font-size: 35px; */
	font-size: 30px;
    font-weight: bold;
    margin: 0 0 60px;
}

@media screen and (max-width: 767px) {
	.staff-intro-item.am-flex {
		display: block;
		margin: 0 0 10px;
	}

	.staff-intro-layout {
		width: 100%;
	}

	.staff-intro-item__main {
		width: 95%;
		margin: 0 auto;
	}

	.staff-intro-item__side {
		width: 95%;
		margin: 0 auto;
		padding: 30px 0;
	}

	.staff-intro-item__side > .title {
		font-size: 17px;
		margin: 0 0 30px;
	}

	.staff-intro-btn {
		max-width: 95%;
		margin: 0 auto;
	}

	.company-outline-container {
		margin: 50px 0;
		max-width: 100%;
	}

	.company-outline-tbl table {
		margin: 0 auto;
		width: 95%;
	}

	.company-outline-layout.am-flex {
		display: block;
	}

	.company-outline-tbl table tr td:first-child {
		width: 25%;
	}

	.company-service-container {
		max-width: unset;
		margin: 50px 0;
	}

	.company-service-item {
		margin: 0;
	}

	.company-service-layout.am-flex {
		display: block;
	}

	.company-service-item__box {
		margin: 0 auto 50px;
		width: 85%;
	}

	.company-outline-container .bnc-title {
		margin: 0;
	}

	.company-outline-title {
		width: 95%;
		margin: 0 auto 20px;
	}

	.company-service-title {
		width: 95%;
		margin: 0 auto 20px;
	}

	.company-outline-title {
		width: 95%;
		margin: 0 auto 20px;
	}

	.company-service-title {
		width: 95%;
		margin: 0 auto 20px;
	}

	.company-outline-cotainer .bnc-title {
		margin: 0;
	}

	#company-service .bnc-title.aos-fade-right.aos-init.aos-animate {
		margin: 0;
	}

	#company-service .bnc-title {
		margin: 0;
	}

	.company-access-layout.am-flex {
		display: block;
	}

	#company-access.bnc-title {
		margin: 0;
	}

	.company-access-container {
		width: 95%;
		margin: 0 auto;
	}

	.company-access-content {
		margin: 0;
	}

	.company-access-content iframe {
		width: 100%;
		margin: 0 auto;
	}

	#company-access .bnc-title.aos-fade-right.aos-init.aos-animate {
		margin: 0;
	}

	.company-access-title {
		width: 100%;
		margin: 0 auto;
	}

	#company-access .bnc-title {
		margin: 0;
	}

	#company-access .bnc-title {
		margin: 0 0 20px;
	}
	
	.staff-intro-title .bnc-title {
		margin: 0 auto 20px;
		width: 95%;
	}

	.company-service-item__box .company-service-item__box-link {
		top: unset;
		left: 50%;
		right: unset;
		bottom: 0;
		transform: translate(-50%, 50%);
		background: #eae9e8;
		padding: 0 10px;
	}

	.company-service-item__box .company-service-item__box-link > span {
		display: none;
	}
}

/* Company page : Outline END---------------------------- */
/* Columns : START---------------------------- */
.column-latest__container {
    max-width: 1200px;
    margin: 170px 70px auto;
}

.column-latest__container .am-col4 {
    margin: 0 20px 0 0;
}

.column-latest__container .am-col4:last-child {
    margin: 0;
}

.columns-title.bnc-title span {
    font-size: 24px;
    margin: 0;
}

.columns-title.bnc-title {
    margin: 0 0 50px;
}

.column-latest__container .am-col4 a {
    text-decoration: none;
    color: #000;
}

.top-columns__subtitle {
    font-weight: 700;
    font-size: 16px;
    margin: 20px 0;
}

.column-list__container {
    max-width: 1200px;
    margin: 170px 70px auto;
}

.column-list-news img {
    width: 200px;
    height: 114px;
    object-fit: contain;
}

.column-list-categories span {
    display: block;
    border: 1px solid;
    padding: 8px;
    text-align: center;
    margin: 0 0 10px;
    max-width: 250px;
}

.column-list-news__subtitle {
    margin: 60px 0 0;
}

.column-list-news .am-col8 {
    border-bottom: dotted #707070;
}


.column-list-news__content {
    margin: 0 0 50px;
	display: block;
}

.column-list-news__content {
    color: #000;
    text-decoration: none;
}

.column-list-categories a {
    text-decoration: none;
    color: #000;
}

.column-single__author {
    margin: 150px 0 0;
    background: #FFF;
    padding: 15px;
}

.column-single__author-pix {
    width: 16%;
    margin: 0;
}

.column-single__content {
    width: calc(84% - 40px);
    margin: 0 0 0 auto;
}

.column-single__author-pix > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.column-single__author-role {
    border: 1px solid #000;
    display: inline-block;
    padding: 5px 10px;
    font-size: 12px;
    margin: 0 0 15px;
}

.column-single__author-role > .en {
    font-size: 8px;
    margin: 0 0 0 10px;
}

.column-single__author-title {
    font-size: 10px;
    font-weight: bold;
}

.column-single__author-name {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 15px;
}

.column-single__author-name > .en {
    font-size: 10px;
    margin: 0 0 0 15px;
}

@media screen and (max-width: 1024px) {
	.column-latest__container {
		margin: 50px 15px auto;
	}

	.column-list__container {
		margin: 50px 20px auto;
	}

	#column-list .am-col4 {
		margin: 0 20px 0 0;
		width: calc(100% / 12 * 4 - 20px);
	}
}

@media screen and (max-width: 767px) {	
	.column-latest__container .am-flex {
		display: block;
	}
	
	.column-list-content.am-flex.wrap {
		display: block;
	}

	.column-list-content .am-col4 {
		width: 100%;
	}

	#column-list .am-col4 {
		width: 100%;
		margin: 0 0 10px;
	}

	.column-list-categories span {
		max-width: 100%;
	}

	.column-list-categories {
		margin: 0 0 30px;
	}

	#column-list .am-col8 {
		width: 100%;
	}

	.column-list-news img {
		width: 100%;
		height: auto;
	}

	.column-list-news__subtitle {
		margin: 5px 0 0;
	}
	
	.column-latest__container .am-col4 {
		width: 100%;
		margin: 0 0 30px;
	}

	.top-columns__subtitle {
		margin: 5px 0;
	}
	
	.column-single__author.am-flex {
		display: block;
	}

	figure.column-single__author-pix {
		width: 100%;
		height: auto;
	}

	.column-single__content {
		margin: 30px 0 0;
		width: 100%;
	}

	.column-single__author-pix > img {
		object-fit: contain;
		height: auto;
	}
}
/* Columns : END---------------------------- */

/* Columns Single : START---------------------------- */
.column-single__container {
    max-width: 1000px;
    margin: 100px auto;
}

span.post-date {
    display: block;
    margin: 0 0 50px;
	color: #000;
    font-size: 24px;
}

.post-content img {
    width: 100%;
}

.single-page .bnr-title .en {
    font-size: 16px;
    color: #000;
}

.single-page .bnr-title .jp {
    font-size: 36px;
}

.single-page .bnr-title {
    left: 70px;
	width: calc(100% - 70px);
	max-width: 580px;
	top: 45%;
}

.bnr-lowpg.single-page .bnr-title .jp {
    left: 0px;
	top: 15px;
}

.bnr-lowpg.single-page .bnr-breadcrumb {
    left: 70px;
}

.bnr-lowpg.single-page .bnr-container {
    height: 600px;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    margin: 0 0 10px;
}

.post-content h2 {
    font-size: 36px;
}

.post-content p {
    font-size: 16px;
}

.post-content h3 {
    font-size: 28px;
}

@media screen and (max-width: 767px) {	
	.single-page .bnr-title {
		left: 0;
		margin: 0 10px;
	}
	
	.bnr-lowpg.single-page .bnr-breadcrumb {
		left: 0;
		margin: 0 10px;
		position: unset;
	}
	
	.bnr-lowpg.single-page {
		padding: 80px 0 50px;
	}
	
	.bnr-lowpg.single-page .bnr-container {
	    height: auto;
	}
	
	.single-page .bnr-title {
	    position: unset;
	    transform: unset;
		width: auto;
	}
	
	.bnr-lowpg.single-page .bnr-title .jp {
	    position: unset;
	}
	
	.single-page .bnr-title .en {
	    display: block;
	}
	
	.column-single__container {
		margin: 50px 10px;
	}
}
/* Columns Single : END--------------------------- */
/* Contact Single : START--------------------------- */
.contact-banner .bnr-content {
    max-width: 470px;
}

.contact-banner .bnr-content {
    max-width: 470px;
    width: 100%;
    padding: 60px 0 0;
    bottom: -20px;
}

.bnr-content__txt img {
    width: 111px;
    height: 111px;
}

.bnr-content__txt .am-col6:last-child {
    text-align: end;
}

.bnr-tel_text {
    font-weight: 700;
    display: block;
}

.bnr-tel {
    margin: 0 0 20px;
}

.bnr-line_title {
    font-weight: 700;
    display: block;
}

.bnr-tel_number img {
    width: 25px;
    height: 20px;
    vertical-align: middle;
}

.contact-container {
    background-color: #fff;
    max-width: 1120px;
    margin: 170px auto 50px;
    padding: 60px 80px;
	width: calc(100% - 200px);
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required.address2 {
    width: 100%;
    margin: 15px 0 0;
}

.contact-title {
    text-align: center;
}

.contact-container .title-en {
    font-size: 16px;
    display: block;
}

.contact-container .title-jp {
    font-size: 36px;
}

.contact-title {
    margin: 0 0 100px;
}
@media screen and (max-width: 991px) {	
	.contact-container {
		padding: 30px;
		margin: 100px auto;
		width: calc(100% - 100px);
	}
}

@media screen and (max-width: 767px) {	
    .contact-container {
        padding: 15px;
        margin: 100px auto;
        width: calc(100% - 50px);
    }
	
	.contact-title {
		margin: 50px 0;
	}
	
	.bnr-content.aos-fade-up.aos-init.aos-animate {
		right: unset;
	}

	.bnr-lowpg.contact-banner .bnr-breadcrumb {
		bottom: -32px;
	}
}
/* Contact Single : END--------------------------- */
/* Thank you : START--------------------------- */
@media screen and (max-width: 767px) {	
	.thanks-content .title-jp {
		font-size: 24px;
	}
	
	 .bnr-lowpg.contact-banner .bnr-title .jp {
        font-size: 22px;
    }
}
/* Thank you : END--------------------------- */
@media screen and (max-width: 991px) {	
	.company-service-item {
		margin: 0 0 10px;
	}

	.bnc-title .jp {
		font-size: 24px;
	}

	.company-outline-container {
		margin: 170px 15px 0;
		max-width: 1200px;
	}

	.company-outline-tbl table {
		margin: 0;
	}

	.company-access-container {
		margin: 170px 15px;
		max-width: calc(1082px - 30px);
		width: 98%;
	}

	.company-access-content {
		margin: 0 10px;
	}

	.staff-intro-btn {
		margin: 0 15px;
	}

	.staff-intro-layout {
		width: calc(100% - 30px);
		margin: 0 15px;
	}

	.company-access-content iframe {
		width: 100%%;
	}

	.bnc-title {
		margin: 0 10px 0 0;
	}
	
	.company-service-container {
		margin: 170px 15px;
	}
}