@charset "utf-8";

@media screen and (max-width: 767px) {
	
	html,
	body {
		height: 100%;
	}
	
	header h1 {
		width: 102px;
		font-size: 0px;
		line-height: 0;
		position: fixed;
		top: 15px;
		left: 15px;
		z-index: 5555;
	}
	
	header h1 a {
		width: 100%;
		height: 39px;
		display: block;
		position: relative;
	}
	
	header h1 img {
		width: 100%;
		height: auto;
		left: 0px;
		top: 0px;
		position: absolute;
		transition-property: opacity;
		transition-duration: 0.5s;
	}
	
	header h1 img:first-of-type {
		opacity: 0;
	}
	
	header h1 img:last-of-type {
		opacity: 1;
	}
	
	body.top header h1 img:first-of-type {
		opacity: 1;
	}
	
	body.top header h1 img:last-of-type {
		opacity: 0;
	}
	
	header nav ul {
		position: fixed;
		top: 20px;
		right: 15px;
		align-items: center;
		display: flex;
		z-index: 5554;
	}
	
	header nav ul li {
		display: none;
	}
	
	header nav ul li:last-of-type {
		font-family: 'Roboto Condensed', sans-serif;
		font-size: 1.2rem;
		font-weight: 700;
		line-height: 2.0rem;
		letter-spacing: 0.15em;
		display: block;
	}
	
	header nav ul li:last-of-type a {
		padding: 5px 0px;
		width: 100px;
		background-color: #f49e2a;
		color: #fff;
		display: block;
		text-align: center;
	}
	
	.mv,
	.mv li,
	.mv li div {
		height: 100%;
	}
	
	.mv > h1 {
		width: 90%;
		color: #fff;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1.2;
		text-align: center;
		letter-spacing: 0.075em;
		text-shadow: 1px 1px 3px #000;
		left: 5%;
		top: 40%;
		position: absolute;
		transform: translateY(-50%);
	}
	
	.mv > h1 span {
		margin: 0px auto 6px;
		font-family: 'Montserrat', sans-serif;
		font-size: 2.5rem;
		font-weight: 500;
		line-height: 3.0rem;
		text-align: center;
		letter-spacing: 0.10em;
		display: block;
	}
	
	.mv > p {
		width: 90%;
		color: #fff;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 2.0rem;
		text-align: center;
		letter-spacing: 0.075em;
		left: 5%;
		bottom: 30%;
		position: absolute;
	}
	
	.mv::after {
		content: "";
		width: 2px;
		height: 40px;
		background-color: #fff;
		font-size: 0px;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		left: 50%;
		bottom: 0px;
		position: absolute;
		transform: translateX(-50%);
	}
	
	.mv > figure {
		width: 120px;
		margin: 0px 0px 0px -60px;
		position: absolute;
		left: 50%;
		bottom: 10%;
		justify-content: space-between;
		display: flex;
	}
	
	.mv > figure img {
		width: 40px;
		height: auto;
	}
	
	main > section > h1 {
		color: #999;
		font-size: 1.2rem;
		font-weight: normal;
		line-height: 1.2;
		text-align: center;
		letter-spacing: 0.1em;
	}
	
	main > section > h1 span {
		margin: 0px auto 7px;
		color: #333;
		font-family: 'Roboto Condensed', sans-serif;
		font-size: 2.3rem;
		font-weight: 400;
		line-height: 1.2;
		text-align: center;
		letter-spacing: 0.15em;
		display: block;
	}
	
	main > #business {
		padding: 110px 15px 0px;
		position: relative;
	}
	
	main > #business::before {
		content: "";
		width: 2px;
		height: 40px;
		background-color: #000;
		font-size: 0px;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		left: 50%;
		top: 0px;
		position: absolute;
		transform: translateX(-50%);
	}
	
	
	main > #business > h1 {
		margin: 0px auto 22px;
	}
	
	#business .businessMain li {
		width: 100%;
		background-repeat: no-repeat;
		background-position: center center;
	}
	
	#business .businessMain li:nth-of-type(1) {
		background-image: url(../img/business01.jpg);
		background-size: cover;
	}
	
	#business .businessMain li:nth-of-type(2) {
		background-image: url(../img/business02.jpg);
		background-size: cover;
	}
	
	#business .businessMain li:nth-of-type(3) {
		background-image: url(../img/business03.jpg);
		background-size: cover;
	}
	
	#business .businessMain li:nth-of-type(4) {
		background-image: url(../img/business04.jpg);
		background-size: cover;
	}
	
	#business .businessMain li h2 {
		margin: 0px auto 25px;
		padding: 50px 0px 45px;
		color: #fff;
		font-size: 2.0rem;
		font-weight: bold;
		line-height: 1.2;
		text-align: center;
		letter-spacing: 0.1em;
		position: relative;
	}
	
	#business .businessMain li h2::after {
		content: "";
		width: 1px;
		height: 20px;
		background-color: #fff;
		font-size: 0px;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		left: 50%;
		bottom: 0px;
		position: absolute;
	}
	
	#business .businessMain li h2 span {
		margin: 0px auto 45px;
		padding: 30px 0px;
		width: 88px;
		border: 1px #ccc solid;
		font-family: 'Oswald', sans-serif;
		font-size: 2.4rem;
		font-weight: 400;
		line-height: 2.8rem;
		text-align: center;
		letter-spacing: 0.1em;
		display: block;
	}
	
	#business .businessMain li p {
		padding: 0px 16% 74px;
		color: #fff;
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 2.5rem;
		text-align: left;
	}
	
	#sns {
		overflow: hidden;
	}
	
	#sns figure,
	#facebook {
		max-width: 400px;
		margin: 0px auto;
		box-sizing: border-box;
	}
	
	#facebook {
		padding: 70px 15px 0px 15px;
	}
	
	#sns figure {
		padding: 30px 15px 0px 15px;
	}
	
	#sns figure img {
		width: 100%;
		height: auto;
		vertical-align: top;
	}
	
	main > #reform {
		padding: 70px 0px 0px;
	}
	
	main > #reform > h1 {
		margin: 0px auto 54px;
	}
	
	#reform .reformImg {
		padding: 30px 15px;
		background: url(../img/bg_reform.png) no-repeat center center;
		background-size: cover;
		position: relative;
	}
	
	#reform .reformImg img {
		width: 100%;
		height: auto;
		vertical-align: top;
	}
	
	#reform .reformImg p {
		margin: 0px;
		padding: 0px;
		width: 80vw;
		color: #fff;
		font-family: 'Montserrat', sans-serif;
		font-size: 1.8rem;
		font-weight: 500;
		line-height: 3.0rem;
		text-align: center;
		letter-spacing: 0.05em;
		left: 10vw;
		top: 50%;
		position: absolute;
		transform: translateY(-50%);
	}
	
	#reform .reformImg .flgP {
		display: none !important;
	}
	
	#reform .reformMain {
		padding: 25px 30px 110px;
		text-align: left
	}
	
	#reform .reformMain p {
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 2.5rem;
		text-align: left;
		letter-spacing: 0.05em;
	}
	
	main > #gallery {
		padding: 110px 15px 30px;
		background-color: #f7f7f7;
	}
	
	main > #gallery > h1 {
		margin: 0px auto 54px;
	}
	
	#gallery .galleryMain li {
		width: 100%;
		font-size: 0px;
		line-height: 0;
	}
	
	#gallery .galleryMain li img {
		width: 100%;
		height: auto;
		vertical-align: top;
	}
	
	main > #company {
		padding: 115px 0px 0px;
	}
	
	main > #company > h1 {
		margin: 0px auto 54px;
	}
	
	#company .companyMessage {
		margin: 0px auto 60px;
		padding: 30px 0px;
		position: relative;
	}
	
	#company .companyMessage > div {
		padding: 55px 60px 55px 30px;
		position: relative;
	}
	
	#company .companyProfile {
		padding: 30px 0px;
		position: relative;
	}
	
	#company .companyProfile > div {
		padding: 55px 30px 25px 72px;
		position: relative;
	}
	
	#company .companyMessage::before,
	#company .companyProfile::before,
	#company .companyMessage > div::before,
	#company .companyProfile > div::before {
		content: "";
		height: 100%;
		font-size: 0px;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		top: 0px;
		position: absolute;
	}
	
	#company .companyMessage::before,
	#company .companyProfile::before {
		z-index: -2;
	}
	
	#company .companyMessage > div::before,
	#company .companyProfile > div::before {
		z-index: -1;
	}
	
	#company .companyMessage::before {
		width: calc(100% - 30px);
		background: url(../img/company.jpg) repeat left center;
		background-size: auto auto;
		right: 0px;
	}
	
	#company .companyProfile::before,
	#company .companyMessage > div::before {
		width: calc(100% - 30px);
		background: #f7f7f7;
		left: 0px;
	}
	
	#company .companyProfile > div::before {
		width: calc(100% - 30px);
		background: #fff;
		right: 0px;
	}
	
	#company .companyMessage > div h2,
	#company .companyProfile > div h2 {
		margin: 0px 0px 50px;
		color: #999;
		font-size: 1.2rem;
		font-weight: normal;
		line-height: 1.2;
		text-align: left;
	}
	
	#company .companyMessage > div h2 span,
	#company .companyProfile > div h2 span {
		margin: 0px 0px 5px;
		color: #000;
		font-family: 'Montserrat', sans-serif;
		font-size: 1.8rem;
		font-weight: 600;
		line-height: 1.2;
		text-align: left;
		letter-spacing: 0.05em;
		display: block;
	}
	
	#company .companyMessage > div > div {
		text-align: left;
	}
	
	#company .companyMessage > div > div p {
		margin: 0px 0px 2.5rem;
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 2.5rem;
	}
	
	#company .companyMessage > div > div dl {
		padding-top: 10px;
	}
	
	#company .companyMessage > div > div dl dt {
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 2.5rem;
	}
	
	#company .companyMessage > div > div dl dd {
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 2.0;
	}
	
	#company .companyProfile > div > div dl {
		padding-bottom: 2.5rem;
	}
	
	#company .companyProfile > div > div dl dt,
	#company .companyProfile > div > div dl dd {
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 2.5rem;
	}
	
	main > #access {
		padding: 115px 0px 120px;
	}
	
	main > #access > h1 {
		margin: 0px auto 54px;
	}
	
	#access .accessMap {
		padding: 0px 30px;
		position: relative;
	}
	
	#access .accessMap h2 {
		color: #000;
		font-family: 'Montserrat', sans-serif;
		font-size: 1.8rem;
		font-weight: 600;
		line-height: 2.3rem;
		text-align: left;
		left: 15px;
		top: 25px;
		position: absolute;
		z-index: 1000;
	}
	
	#access .accessMap #gmap {
		width: 100%;
		height: 300px;
	}
	
	#access .accessMain {
		padding: 25px 0px 30px;
		text-align: center;
		position: relative;
	}
	
	#access .accessMain::before {
		content: "";
		width: calc(100% - 30px);
		height: 260px;
		background-color: #f7f7f7;
		font-size: 0px;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		left: 15px;
		bottom: 0px;
		position: absolute;
		z-index: -1;
	}
	
	#access .accessMain p {
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 3.9rem;
		text-align: center;
	}
	
	#access .accessMain #btMap {
		margin: 15px auto 0px;
		width: 240px;
	}
	
	#access .accessMain #btMap a {
		padding: 4px 0px;
		border: 2px #000 solid;
		color: #000;
		text-decoration: none;
		display: block;
	}
	
	#access .accessMain #btMap a span {
		padding-right: 34px;
		background: url(../img/icon_blank.png) no-repeat right center;
		background-size: 14px auto;
		display: inline-block;
	}
	
	main > #contact {
		padding: 55px 15px 60px;
		background: linear-gradient(135deg, #f4c72a 0%, #f49e2a 30%, #f49e2a 50%, #f49e2a 70%, #f4762a 100%);
	}
	
	main > #contact > h1 {
		margin: 0px auto 50px;
	}
	
	main > #contact > h1,
	main > #contact > h1 span,
	#contact > p,
	#contact > .contactMain li,
	#contact > .contactMain li a {
		color: #fff;
		text-decoration: none;
	}
	
	#contact > p {
		margin: 0px auto 15px;
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 2.0rem;
		text-align: center;
	}
	
	#contact .contactMain {
		padding: 26px 15px;
		background: rgba(255,255,255,0.14);
	}
	
	#contact .contactMain li {
		padding: 16px 0px;
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		text-align: center;
		border-top: 1px #f49e2a solid;
		box-sizing: border-box;
	}
	
	#contact .contactMain li:first-of-type {
		font-size: 2.0rem;
		line-height: 2.4rem;
		letter-spacing: 0.1em;
		border-top: none;
	}
	
	#contact .contactMain li:last-of-type {
		font-size: 1.6rem;
		line-height: 2.4rem;
		letter-spacing: 0.08em;
	}
	
	footer {
		padding: 120px 15px 0px;
	}
	
	footer nav ul li {
		border-top: 1px #f2f2f2 solid;
		color: #999;
		font-family: 'Roboto Condensed', sans-serif;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 2.5rem;
		letter-spacing: 0.15em;
		text-align: center;
	}
	
	footer nav ul li a {
		padding: 10px 0px;
		color: #999;
		text-decoration: none;
		text-align: center;
		display: block;
	}
	
	footer > div {
		padding: 50px 0px 40px 0px;
		border-top: 1px #f2f2f2 solid;
		border-bottom: 1px #f2f2f2 solid;
		align-items: center;
	}
	
	footer > div h1 {
		margin: 0px auto 30px;
		width: 130px;
		font-size: 0px;
		line-height: 0;
		text-align: center;
	}
	
	footer > div h1 img {
		width: 100%;
		height: auto;
	}
	
	footer > div dl dt,
	footer > div dl dd {
		color: #999;
		font-size: 1.2rem;
		line-height: 2.4rem;
		text-align: center;
	}
	
	footer > div dl dt {
		font-weight: bold;
	}
	
	footer > div dl dd {
		font-weight: normal;
	}
	
	footer > div figure {
		margin: 30px auto 0px auto;
		text-align: center;
		justify-content: center;
		display: flex;
	}
	
	footer > div figure img {
		width: 40px;
		height: 40px;
		margin: 0px 20px;
	}
	
	footer > p:not(.pageTop) {
		padding: 55px 0px;
		color: #999;
		font-family: 'Roboto Condensed', sans-serif;
		font-size: 1.1rem;
		font-weight: 400;
		line-height: 2.0rem;
		letter-spacing: 0.1em;
		text-align: center;
	}
	
	footer > p small {
		font-size: 1em;
	}
	
	footer .pageTop {
		width: 50px;
		height: 50px;
		background: #000;
		position: fixed;
		right: 20px;
		bottom: 20px;
		opacity: 0.8;
		z-index: 1000;
	}

	footer .pageTop a {
		display: block;
		width: 50px;
		height: 50px;
		padding: 17px 10px;
		box-sizing: border-box;
	}

	footer .pageTop a:hover {
		opacity: 0.5;
		transition-duration: 0.5s;
	}

	footer .pageTop a img {
		width: 30px;
		height: auto;
	}
	

}

