@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Antique&display=swap');

/*simple reset*/
html {
	box-sizing: border-box;
	font-size: 62.5%;
	min-height: 100vh;
	height: 100%;
	position: relative;
	background-repeat: no-repeat;
}

*, *:before, *:after {
	box-sizing: inherit;
}

body {
	font-family:'Noto Sans JP', sans-serif;
	margin-bottom: 7rem;
	padding-bottom: 0;
	color: #524438;
	--bs-body-color: #524438 !important;
}

a {
	text-decoration: none;
	color: #524438 !important;
}

	a:hover {
		color: #524438;
	}

ol, ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

textarea {
	min-height: 10rem !important;
}

/*site css*/

.bg-white {
	background: #fff;
}

.bg-light-orange {
	background-color: #fffae9;
}

.bg-bright-orange {
	background-color: #FF9C00;
}

.bg-deep-blue {
	background-color: #2F4858;
}

.bg-light-brown {
	background-color: #f9f7f5;
}

.bg-brown {
	background-color: #514438;
}

.bg-light-gray {
	background-color: #DFE0DF;
}

.brown-color {
	color: #514438 !important;
}

.orange-color {
	color: #FF9C00 !important;
}

.light-gray-color {
	color: #DFE0DF;
}

.dotted-orange-border {
	border: 3px dotted #FFAC50;
}

.solid-white-border {
	border: 1.5px solid white;
}

.phone-number-wrapper {
	padding: 1.5rem 0rem;
}

@media screen and (max-width:768px) {
	.phone-number-wrapper {
		padding: 0.375rem 0rem;
	}
}

header {
	position: fixed;
	top: 0px;
	width: 100%;
	z-index: 999;
}

footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 6rem;
	padding: 1rem 0;
	border-top: 1px solid #DFE0DF;
}

.form-check-input {
	border: 1px solid #FFFCF6;
}

	.form-check-input:checked {
		background-color: #FFAC50;
		border-color: #FFFCF6;
	}

/* global navigation*/
#g-nav {
	position: fixed;
	z-index: 999;
	top: -120%;
	left: 0;
	width: 100%;
	height: 35vh;
	transition: all 0.6s;
}

	#g-nav.panelactive {
		top: 0;
	}

	#g-nav ul {
		position: absolute;
		z-index: 999;
		top: 30%;
		left: 10%;
	}

		#g-nav ul li {
			padding: 10px 0px;
		}

.menu-wrapper {
	width: 45px;
}

.menu {
	position: fixed;
	z-index: 9999;
	top: 0px;
	right: 5px;
	cursor: pointer;
	width: 50px;
	height: 50px;
}

	.menu span {
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 14px;
		height: 3px;
		border-radius: 2px;
		background-color: #524438;
		width: 45%;
	}

		.menu span:nth-of-type(1) {
			top: 15px;
		}

		.menu span:nth-of-type(2) {
			top: 23px;
		}

		.menu span:nth-of-type(3) {
			top: 31px;
		}

	.menu.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		background-color: #fff;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
	}

	.menu.active span:nth-of-type(2) {
		background-color: #fff;
		opacity: 0;
	}

	.menu.active span:nth-of-type(3) {
		top: 30px;
		left: 18px;
		background-color: #fff;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
	}

#language-select {
	padding: 1.5rem 0rem;
}

@media screen and (max-width:768px) {
	#language-select {
		padding: 5px;
	}
}

.selected-navitem-border {
	border-bottom: 3px solid #FF9C00;
}

.top-img-wrapper {
	width: 100%;
	height: 80vh;
	position: relative;
}

	.top-img-wrapper img {
		position: absolute;
		top: 5rem;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		filter: opacity(0.55);
	}

.navbar-brand {
	position: relative;
	height: 80px;
	width: 300px;
	overflow: hidden;
}

.logo-wrapper {
	width: 223px;
}

@media screen and (max-width:768px) {
	.logo-wrapper {
		width: 100px;
	}
}

.logo {
	height: 4rem;
	width: auto;
	margin-top: 0.5rem;
	margin-left: 0.5rem;
}

.logo-text {
	position: absolute;
	top: 16px;
	left: 51px;
	font-size: 1.7rem;
	color: #33b747;
	font-family: 'BIZ UDPMincho', serif;
	font-weight: 700;
}

.pb-render-body {
	min-height: 100vh;
	padding-bottom: 13rem; /*footer height*/
}

@media screen and (max-width:768px) {
	.pb-render-body {
		padding-bottom: 8rem; /*footer height*/
	}
}

.top-wrapper {
	height: 80vh;
	margin-top: -1.5rem;
}

.keyword {
	font-size: 2rem;
}

@media screen and (max-width:768px) {
	.keyword {
		font-size: 1.8rem;
	}
}

.keyword-border {
	position: relative;
	width: fit-content;
}

	.keyword-border:before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		border-bottom: 1.5px solid #fffae9;
		animation: border-extension 3s linear forwards;
	}

@keyframes border-extension {
	0% {
		width: 0%;
	}

	100% {
		width: 100%;
	}
}

.btn-contact {
	padding: 9px 40px 10px 34px;
	position: relative;
	transition: all .3s ease-in-out;
}

	.btn-contact:hover {
		background-color: #a19992;
	}

	.btn-contact i {
		position: absolute;
		top: 35%;
		right: 10%;
		transition: all .3s ease-in-out;
	}

	.btn-contact:hover i {
		right: 7%;
	}

.target-area-wrapper {
	width: 370px;
	height: 6rem;
	box-shadow: 5px 5px 5px #a8a5a5;
}

@media screen and (max-width:768px) {
	.target-area-wrapper {
		width: 360px;
	}
}

.ribbon {
	padding: 10px;
	width: 13rem;
	position: absolute;
	top: 15%;
	left: -3%;
}

.target-area {
	position: absolute;
	top: 35%;
	left: 38%;
}

.news-wrapper {
	margin-top: 5rem;
}

.headline-border {
	border-bottom: 2px solid #DFE0DF;
}

.orange-border-bottom {
	border-bottom: 2px solid #fff1e2;
}

@media screen and (max-width:756px) {
	iframe {
		width: 300px;
		height: 225px;
	}
}

.table-border {
	border: none;
	width: 75%;
}

@media screen and (max-width:756px) {
	.table-border {
		width: 100%;
	}
}

.table-border tr {
	border-bottom: 1px dashed #FFD3A0;
}

.table-border td {
	padding: 1.5rem;
}

.render-body-content-wrapper {
	margin-top: 12rem;
}

@media screen and (max-width:768px) {
	.render-body-content-wrapper {
		margin-top: 7rem;
	}
}

.headline-decoration {
	border-left: 10px solid #FF9C00;
	padding-left: 1.5rem;
}

.headline-decoration-2 {
	border-left: 10px solid #ffe4c7;
	padding-left: 1.5rem;
}

.btn-submit {
	background-color: #FFAC50;
	color: #fff;
	padding: 10px 50px;
	transition: all ease-in-out .2s;
}

	.btn-submit:hover {
		color: #fff;
		opacity: 0.8;
	}

.form-control, .form-select {
	border: 1.5px solid #eeeeee;
	height: 3.5rem;
}

.required {
	color: #FFAC50;
	font-size: 1.5rem;
}

@media screen and (min-width:768px) {
	.privacy-text-indent {
		margin-left: 25px;
	}
}

.list-style-inside {
	list-style: inside;
}
