@charset "utf-8";

/* ---------------------------------
  _01 コンテンツ

Adobe Fonts
FOT-UDKakugo_Large Pr6N R
font-family: "fot-udkakugo-large-pr6n", sans-serif;
font-weight: 400;
font-style: normal;

Futura PT Heavy
font-family: "futura-pt", sans-serif;
font-weight: 700;
font-style: normal;

Futura PT Bold Oblique
font-family: "futura-pt-bold", sans-serif;
font-weight: 700;
font-style: italic;

Metronic Slab Narrow Bold
font-family: "metronic-slab-narrow", serif;
font-weight: 700;
font-style: normal;

Beloved Script Bold
font-family: "beloved-script", sans-serif;
font-weight: 700;

SicHandic Regular
font-family: "sichandic", sans-serif;
font-weight: 400;
font-style: normal;

------------------------------------*/

#home-mainview {
	width: 100%;
	height: 600px;}
#home-mainview .container {
	width: 100%;
	height: 600px;}

.mainview-box {
	width: 100%;
	height: 600px;}
.mainview-container {
	margin: 0 auto;
	width: 1100px;}

#mainview01 {
	color: #fff;
	background-image: url("../images/home/mainview01.jpg");
	background-position: center center;
	background-size: cover;}
#mainview01 .mainview-container {
	padding-top: 200px;}
#mainview01 .mainview-headline {
	margin-bottom: 20px;
	font-family: "futura-pt-bold", sans-serif;
	font-weight: 700;
	font-style: italic;
	font-size: 4.5em;}
#mainview01 .mainview-text {
	margin-bottom: 1.5em;}

@media screen and (max-width: 767.9px){

#home-mainview {
	height: 50vh;}
#home-mainview .container {
	padding: 0;}

.mainview-box {
	width: 100%;
	height: 50vh;}
.mainview-container {
	padding: 0 1.5em;
	width: 100%;
	box-sizing: border-box;}
	
#mainview01 .mainview-container {
	padding-top: 50px;}
#mainview01 .mainview-headline {
	font-size: 2.6em;}
#mainview01 .mainview-text {
	margin-bottom: 1.5em;}

}

#home-news {
	color: #fff;
	background-color: #000000;}
#home-news .container {
	height: 50px;
	display: flex;
	overflow: hidden;}
#home-news .container h2 {
	margin-right: 1em;
	line-height: 50px;
	letter-spacing: 0.1em;}
#home-news .container ul {
	line-height: 50px;}

@media screen and (max-width: 767.9px){

#home-news {
	overflow: hidden;}
#home-news .container {
	padding: 1em 1.5em;
	flex-direction: column;
	height: auto;}
#home-news .container h2 {
	margin-bottom: 0.5em;
	margin-right: 0.5em;
	line-height: 1.4;
	font-size: 1.1em;}
#home-news .container ul {
	line-height: 1.4;}
}
	
#home-kcamper {
	position: relative;
	color: #fff;
	background-color: #281c2b;}
#home-kcamper .container {
	display: flex;
	width: 100%;}
#home-kcamper h2 {
	position: absolute;
	top: 30px;
	width: 100%;
	color: #fff;
	font-family: "metronic-slab-narrow", serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.0rem;
	text-align: center;
	letter-spacing: 0.05em;
	z-index: 9999;}
#home-kcamper h2 img {
	margin: 0 auto 15px auto;
	width: 300px;}
#home-kcamper .home-kcamper-car {
	position: relative;
	width: 50%;}
#home-kcamper .home-kcamper-car h3 {
	position: absolute;
	top: 390px;}
#home-kcamper .home-kcamper-car h3 img {
	height: 70px;}
#home-kcamper .home-kcamper-car img.car-photo {
	object-fit: cover;
	width: 100%;
	height: 480px;}
#home-kcamper .home-kcamper-car .car-text {
	width: 550px;
	box-sizing: border-box;}
#home-kcamper .home-kcamper-car p {
	margin-bottom: 1em;}
#home-kcamper .home-kcamper-car.jumpie h3 {
	right: 30px;}
#home-kcamper .home-kcamper-car.jumpie img.car-photo {
	object-position: right center;}
#home-kcamper .home-kcamper-car.jumpie .car-text {
	margin-left: calc((100cqw - 1100px)/2);
	padding: 30px 30px 30px 0;}
#home-kcamper .home-kcamper-car.tiny h3 {
	left: 30px;}
#home-kcamper .home-kcamper-car.tiny img.car-photo {
	object-position: left center;}
#home-kcamper .home-kcamper-car.tiny .car-text {
	margin-right: calc((100cqw - 1100px)/2);
	padding: 30px 0 30px 30px;}

@media screen and (max-width: 767.9px){

#home-kcamper .container {
	padding: 0;
	flex-direction: column;}
#home-kcamper .home-kcamper-car {
	width: 100%;}
#home-kcamper .home-kcamper-car img.car-photo {
	height: 70vw;}
#home-kcamper .home-kcamper-car h3 {
	top: 50vw;}
#home-kcamper .home-kcamper-car h3 img {
	height: 15vw;}
#home-kcamper .home-kcamper-car .car-text {
	margin: 0 !important;
	padding: 1.5em !important;
	width: 100%;}

}

#home-philosophy {
	width: 100%;
	height: 600px;
	color: #fff;
	background-image: url("../images/home/philosophy-bg.jpg");
	background-position: center center;}
#home-philosophy .container {
	padding-top: 70px;
	padding-left: 550px;
	box-sizing: border-box;}
#home-philosophy h2 {
	margin-bottom: 30px;
	text-indent: -50px;
	font-family: "beloved-script", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 4.5rem;}
#home-philosophy h2::first-letter {
	font-size: 5.4rem;}
#home-philosophy h2 span {
	font-size: 3.6rem;}
#home-philosophy h2 img {
	margin-top: -10px;
	display: block;
	width: 235px;}
#home-philosophy p {
	margin-bottom: 1em;}

@media screen and (max-width: 767.9px){

#home-philosophy {
	height: auto;
	background-size: cover;}
#home-philosophy .container {
	padding: 2em 1.5em;
	width: 100%;
	box-sizing: border-box;}
#home-philosophy h2 {
	margin-left: 50px;}

}

#home-service {
	width: 100%;
	height: 660px;
	color: #fff;
	background-image: url("../images/home/service-bg.jpg");
	background-position: center center;}
#home-service .container {
	padding-top: 60px;}
#home-service h2 {
	margin-bottom: 0.5em;
	color: #fff;
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.6rem;
	letter-spacing: 0.1em;
	text-align: center;}
#home-service .section-intro {
	margin: 0 auto 1.5em auto;
	width: 550px;}
#home-service .home-service-services {
	display: flex;
	justify-content: space-between;}
#home-service .home-service-service {
	display: flex;
	flex-direction: column;
	width: 350px;}
#home-service .home-service-service img {
	margin-bottom: 1em;
	order: 1;
	width: 100%;}
#home-service .home-service-service h3 {
	margin-bottom: 1em;
	order: 2;
	text-align: center;}
#home-service .home-service-service p {
	margin-bottom: 1em;
	order: 3;}
#home-service .home-service-service div.btn {
	order: 4;}

@media screen and (max-width: 767.9px){

#home-service {
	height: auto;}
#home-service .container {
	padding-top: 2em;}
#home-service .section-intro {
	margin: 0 auto 1.5em auto;
	width: 100%;}
#home-service .home-service-services {
	flex-direction: column;}
#home-service .home-service-service {
	margin-bottom: 2em;
	width: 100%;}

}

#sales-intro {
	margin-top: 50px;
	margin-bottom: 70px;}
#sales-intro p {
	text-align: center;}
	
#sales-kcamper { margin-bottom: 80px;}
#sales-kcamper .container {
	padding: 60px 0 90px 0;
	background-color: #D6D9DE;}
#sales-kcamper h2 {
	margin-bottom: 30px;
	color: #333;
	font-family: "metronic-slab-narrow", serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.0rem;
	text-align: center;
	letter-spacing: 0.05em;}
#sales-kcamper h2 img {
	margin: 0 auto 20px auto;
	width: 282px;}
#sales-kcamper .kcamper-box {
	display: flex;
	width: calc(100cqw - ((100cqw - 1100px)/2));}
#sales-kcamper .kcamper-text {
	padding: 0 35px;
	width: 400px;
	box-sizing: border-box;}
#sales-kcamper .kcamper-text h3 { margin-bottom: 40px;}
#sales-kcamper .kcamper-text h3 img {
	height: 70px;}
#sales-kcamper .kcamper-text p {
	margin-bottom: 1em;}
#sales-kcamper .btn a { background-color: #261b2a;}
#sales-kcamper .kcamper-photo {
	width: calc(100cqw - ((100cqw - 1100px)/2) - 700px);}
#sales-kcamper .kcamper-photo img {
	object-fit: cover;
	width: 100%;
	height: 360px;}
#sales-kcamper .kcamper-photo2 {
	width: 300px;}
#sales-kcamper .kcamper-photo2 img {
	width: 100%;}
#sales-kcamper .kcamper-box.jumpie {
	margin-left: calc((1100px - 100cqw)/2);
	margin-bottom: 50px;}
#sales-kcamper .kcamper-box.jumpie .kcamper-text { order: 3;}
#sales-kcamper .kcamper-box.jumpie .kcamper-photo { order: 1;}
#sales-kcamper .kcamper-box.jumpie .kcamper-photo2 { order: 2;}
#sales-kcamper .kcamper-box.tiny .kcamper-text { order: 1;}
#sales-kcamper .kcamper-box.tiny .kcamper-photo { order: 3;}
#sales-kcamper .kcamper-box.tiny .kcamper-photo2 { order: 2;}

#sales-lineup {
	margin-bottom: 70px;}
#sales-lineup h2 {
	margin-bottom: 1.5em;
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.6rem;
	letter-spacing: 0.1em;
	text-align: center;}
#sales-lineup .lineup-list {
	display: flex;
	gap: 25px;
	flex-wrap: wrap;}
#sales-lineup .lineup-list .lineup-box {
	width: 350px;}
#sales-lineup .lineup-list .lineup-box dl {
	display: flex;
	flex-flow: column;}
#sales-lineup .lineup-list .lineup-box dl dt {
	margin-bottom: 0.5em;
	order: 2;
	line-height: 1.4;
	font-size: 1.1em;
	text-align: center;}
#sales-lineup .lineup-list .lineup-box dl dd.lineup-photo {
	margin-bottom: 1em;
	position: relative;
	order: 1;}
#sales-lineup .lineup-list .lineup-box dl dd.lineup-photo img {
	object-fit: cover;
	width: 100%;
	height: 220px;}
#sales-lineup .lineup-list .lineup-box dl dd.lineup-photo span.soldout {
	position: absolute;
	left: 0;
	bottom: 1em;
	width: 100%;
	line-height: 2em;
	color: #fff;
	background-color: #c00;
	text-align: center;
	font-size: 1.1em;
	font-weight: 700;
	letter-spacing: 0.1em;}
#sales-lineup .lineup-list .lineup-box dl dd.lineup-info {
	margin-bottom: 1em;
	order: 3;
	text-align: center;}
#sales-lineup .lineup-list .lineup-box dl dd.btn {
	order: 4;}
#sales-lineup .lineup-list .lineup-box dl dd.btn a {
	margin: 0 auto;}

#sales-carinfo .container {
	padding-top: 50px;
	padding-bottom: 50px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;}
#sales-carinfo h2 {
	margin-bottom: 1.5em;
	padding-bottom: 0.75em;
	border-bottom: solid 2px #ccc;
	width: 100%;
	line-height: 1.3;}
#sales-carinfo .gallery {
	margin-bottom: 2em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 750px;}
#sales-carinfo .gallery .mainphoto {
	position: relative;
	width: 100%;
	height: auto;}
#sales-carinfo .gallery .mainphoto img {
	width: 100%;
	height: auto;}
#sales-carinfo .gallery .mainphoto .soldout {
	position: absolute;
	left: 0;
	bottom: 1.5em;
	width: 100%;
	line-height: 2em;
	color: #fff;
	background-color: #c00;
	text-align: center;
	font-size: 1.8em;
	font-weight: 700;
	letter-spacing: 0.1em;}
#sales-carinfo .gallery img {
	margin-bottom: 15px;
	width: 49%;
	height: auto;}
#sales-carinfo .detail {
	margin-bottom: 2em;
	width: 300px;}
#sales-carinfo .detail p {
	margin-bottom: 1em;}
#sales-carinfo .detail dl {
	border-bottom: solid 2px #ccc;
	display: flex;
	flex-wrap: wrap;}
#sales-carinfo .detail dt {
	padding: 0.75em 0;
	border-top: solid 2px #ccc;
	width: 100px;
	line-height: 1.4;}
#sales-carinfo .detail dd {
	padding: 0.75em 0;
	border-top: solid 2px #ccc;
	width: 200px;
	line-height: 1.4;}
#sales-carinfo .detail dd.price span {
	font-size: 1.2em;
	font-weight: 700;}
#sales-carinfo .btn {
	margin: 0 auto;}

@media screen and (max-width: 767.9px){

#sales-intro {
	margin-top: 2em;
	margin-bottom: 3em;
	padding: 0 1.5em;}
#sales-intro p {
	text-align: left;}

#sales-kcamper .container {
	padding: 2em 1.5em;}
#sales-kcamper .kcamper-box {
	flex-flow: column;
	width: 100%;}
#sales-kcamper .kcamper-text {
	padding: 1em 0;
	width: 100%;
	box-sizing: border-box;}
#sales-kcamper .kcamper-text h3 { margin-bottom: 1em;}
#sales-kcamper .kcamper-text h3 img {
	margin: 0 auto;
	height: 60px;}
#sales-kcamper .kcamper-photo {
	width: 100%;}
#sales-kcamper .kcamper-photo img {
	height: 70vw;}
#sales-kcamper .kcamper-photo2 {
	display: flex;
	width: 100%;}
#sales-kcamper .kcamper-photo2 img {
	width: 50%;}
#sales-kcamper .kcamper-box.jumpie {
	margin-left: 0;}
#sales-kcamper .kcamper-box.jumpie .kcamper-text { order: 3;}
#sales-kcamper .kcamper-box.jumpie .kcamper-photo { order: 1;}
#sales-kcamper .kcamper-box.jumpie .kcamper-photo2 { order: 2;}
#sales-kcamper .kcamper-box.tiny .kcamper-text { order: 3;}
#sales-kcamper .kcamper-box.tiny .kcamper-photo { order: 1;}
#sales-kcamper .kcamper-box.tiny .kcamper-photo2 { order: 2;}

#sales-lineup .lineup-list {
	flex-flow: column;}
#sales-lineup .lineup-list .lineup-box {
	width: 100%;}

#sales-carinfo h2 {
	margin-bottom: 1em;}
#sales-carinfo .gallery {
	margin-bottom: 1em;
	width: 100%;}
#sales-carinfo .gallery img {
	width: 100%;}
#sales-carinfo .detail {
	width: 100%;}
#sales-carinfo .detail dl dt {
	width: 6em;}
#sales-carinfo .detail dl dd {
	width: calc(100% - 6em);}


}

#maintenance-intro {
	margin-top: 50px;
	margin-bottom: 70px;}
#maintenance-intro p {
	text-align: center;}

.maintenance-section {
	margin-bottom: 3em;}
.maintenance-section .container {
	padding: 50px;
	background-color: #D6D9DE;
	box-sizing: border-box;}
.maintenance-section h2 {
	margin: 0 auto 1em auto;
	padding: 0 0.5em 0.5em 0.5em;
	border-bottom: solid 5px #324158;
	width: fit-content;
	color: #324158;}
.maintenance-section p {
	margin: 0 auto 2em auto;
	width: 680px;}
.maintenance-section img.maintenance-photo {
	margin: 0 auto 2em auto;
	width: 490px;}
.maintenance-section ul {
	display: flex;
	justify-content: space-between;}
.maintenance-section ul li {
	width: 320px;}
.maintenance-section ul li img {
	margin-bottom: 1em;
	width: 100%;}
.maintenance-section ul li span {
	line-height: 1.4;}

.maintenance-section .maintenance-inquiry {
	padding: 20px;
	color: #fff;
	background-color: #324158;
	text-align: center;
	border-radius: 0.75em;}
.maintenance-section .maintenance-inquiry p {
	margin-bottom: 0.75em;
	width: auto;}
.maintenance-section .maintenance-inquiry .tel a {
	margin: 0 auto;
	padding: 0 1.5em;
	display: block;
	width: fit-content;
	height: 2em;
	line-height: 2em;
	background-color: #c79f69;
	text-decoration: none;
	border-radius: 1em;}
.maintenance-section .maintenance-inquiry .tel a span {
	font-size: 1.1em;}

@media screen and (max-width: 767.9px){

#maintenance-intro {
	margin-top: 2em;
	margin-bottom: 3em;
	padding: 0 1.5em;}
#maintenance-intro p {
	text-align: left;}

.maintenance-section {
	margin-bottom: 1.5em;}
.maintenance-section .container {
	padding: 1.5em;}
.maintenance-section p {
	width: auto;}
.maintenance-section img.maintenance-photo {
	width: 100%;}
.maintenance-section ul {
	flex-flow: column;}
.maintenance-section ul li {
	margin-bottom: 1em;}
.maintenance-section ul li img {
	margin-bottom: 0.5em;}
.maintenance-section .maintenance-inquiry p {
	text-align: left;}
.maintenance-section .maintenance-inquiry .tel a {
	margin: 0 auto;
	padding: 0.5em 1.5em;
	display: block;
	width: fit-content;
	height: 3em;
	line-height: 1.4;
	background-color: #c79f69;
	text-decoration: none;
	border-radius: 1em;}

}

#support-intro {
	margin-top: 50px;
	margin-bottom: 70px;}
#support-intro p {
	text-align: center;}

.support-section {
	margin-bottom: 3em;}
.support-section .container {
	padding: 50px;
	background-color: #D6D9DE;
	box-sizing: border-box;}
.support-section h2 {
	margin: 0 auto 1em auto;
	padding: 0 0.5em 0.5em 0.5em;
	border-bottom: solid 5px #324158;
	width: fit-content;
	color: #324158;}
.support-section p {
	margin: 0 auto 2em auto;
	width: 680px;}
.support-section img.support-photo {
	margin: 0 auto 2em auto;
	width: 490px;}

.support-section .support-inquiry {
	padding: 20px;
	color: #fff;
	background-color: #324158;
	text-align: center;
	border-radius: 0.75em;}
.support-section .support-inquiry p {
	margin-bottom: 0.75em;
	width: auto;}
.support-section .support-inquiry .tel a {
	margin: 0 auto;
	padding: 0 1.5em;
	display: block;
	width: fit-content;
	height: 2em;
	line-height: 2em;
	background-color: #c79f69;
	text-decoration: none;
	border-radius: 1em;}
.support-section .support-inquiry .tel a span {
	font-size: 1.1em;}

.maintenance-section .aig {
	margin-bottom: 1.5em;
	padding: 1em;
	display: flex;
	gap: 1em;
	justify-content: center;
	background-color: #fff;
	border-radius: 0.75em;
	box-sizing: border-box;}
.maintenance-section .aig-text p {
	margin: 0;
	width: auto;}
.maintenance-section .aig-text p span {
	color: #999;
	font-size: 0.8em;}

@media screen and (max-width: 767.9px){

#support-intro {
	margin-top: 2em;
	margin-bottom: 3em;
	padding: 0 1.5em;}
#support-intro p {
	text-align: left;}

.support-section {
	margin-bottom: 1.5em;}
.support-section .container {
	padding: 1.5em;}
.support-section p {
	width: auto;}
.support-section img.support-photo {
	width: 100%;}
.support-section ul {
	flex-flow: column;}
.support-section ul li {
	margin-bottom: 1em;}
.support-section ul li img {
	margin-bottom: 0.5em;}
.support-section .support-inquiry p {
	text-align: left;}
.support-section .support-inquiry .tel a {
	margin: 0 auto;
	padding: 0.5em 1.5em;
	display: block;
	width: fit-content;
	height: 3em;
	line-height: 1.4;
	background-color: #c79f69;
	text-decoration: none;
	border-radius: 1em;}
.maintenance-section .aig {
	flex-direction: column;}
.maintenance-section .aig-logo img {
	margin: 0 auto;}

}


.about-text-box p {
	margin-bottom: 1em;
	line-height: 1.6;}

.about-title {
	margin-top: 70px;
	margin-bottom: 50px;
	position: relative;
	width: 100%;
	height: 360px;}
.about-title h2 {
	padding-bottom: 0.2em;
	border-bottom: solid 2px #fff;
	position: absolute;
	right: calc((100% - 1100px)/2);
	top: 160px;
	color: #fff;
	font-family: "sichandic", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 3.2rem;
	mix-blend-mode: difference;
	transform: rotate(-7deg);}
.about-title img {
	object-fit: cover;
	width: calc(800px + ((100% - 1100px)/2));
	height: 360px;}

#about-01 {
	margin-bottom: 40px;
	padding-bottom: 120px;
	background-image: url("../images/common/emblem.png");
	background-position: center bottom;
	background-size: 100px;
	background-repeat: no-repeat;
	text-align: center;}
#about-02 {
	margin: 0 auto;
	padding-right: 500px;
	position: relative;
	width: 1100px;;
	min-height: 400px;
	box-sizing: border-box;}
#about-02 img {
	position: absolute;
	top: 0;
	right: calc((1100px - 100cqw)/2);
	object-fit: cover;
	width: calc(450px + ((100cqw - 1100px)/2));
	height: 400px;}
#about-03 {
	margin: 0 auto 40px auto;
	padding-top: 70px;
	padding-left: 350px;
	position: relative;
	width: 1100px;
	padding-bottom: 120px;
	background-image: url("../images/common/emblem.png");
	background-position: center bottom;
	background-size: 100px;
	background-repeat: no-repeat;
	box-sizing: border-box;}
#about-03 img:nth-of-type(1){
	position: absolute;
	top: -30px;
	left: -100px;
	object-fit: cover;
	width: 400px;
	height: 600px;}
#about-03 img:nth-of-type(2){
	margin-top: 3em;
	margin-left: 300px;
	width: 450px;}
#about-04 {
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	width: 1100px;
	text-align: center;}
#about-04 img:nth-of-type(1) {
	margin-bottom: 1em;
	order: 1;}
#about-04 p:nth-of-type(1){ order: 2;}
#about-04 p:nth-of-type(2){ order: 3;}
#about-04 p:nth-of-type(3){ order: 4;}
#about-04 img:nth-of-type(2) {
	margin: 2em auto 3em auto;
	order: 5;
	align-self: flex-start;
	width: auto;}

@media screen and (max-width: 767.9px){

.about-text-box {
	padding: 0 1.5em !important;
	width: 100% !important;
	box-sizing: border-box;}

.about-title {
	margin-top: 0;
	height: auto;}
.about-title img {
	margin-left: -1.5em;
	object-fit: cover;
	width: calc(100% + 3em);
	height: 60vw;}
.about-title h2 {
	margin-top: 2em;
	margin-bottom: 0em;
	position: relative;
	top: auto;
	right: auto;
	font-size: 2.7rem;}

#about-01 {
	padding-bottom: 80px !important;}
#about-01 p {
	text-align: left;}
	
#about-02 img {
	margin-bottom: 1em;
	position: relative;
	top: auto;
	right: auto;
	object-fit: cover;
	width: 100%;
	height: auto;}

#about-03 {
	padding-bottom: 80px !important;}
#about-03 img:nth-of-type(1){
	margin-bottom: 1em;
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	height: 60vw;}
#about-03 img:nth-of-type(2){
	margin-top: 0;
	margin-left: 0;
	margin-bottom: 1em;
	width: 100%;}
#about-04 {
	text-align: left;}
#about-04 img:nth-of-type(1) {
	margin-bottom: 1em;
	order: 2;}
#about-04 p:nth-of-type(1){ order: 1;}

}

#company-intro {
	margin-top: 50px;
	margin-bottom: 90px;
	padding: 230px 0;
	background-image: url("../images/company/intro-01.jpg"), url("../images/company/intro-02.jpg");
	background-position: center top, center bottom;
	background-repeat: repeat-x, repeat-x;
	text-align: center;}
#company-intro h2 {
	margin-bottom: 1em;}
#company-intro p {
	margin-bottom: 1.5em;
	line-height: 1.6;}
#company-intro .btn a {
	margin: 0 auto;}

#company-business {
	margin-bottom: 100px;}
#company-business h2 {
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.6rem;
	letter-spacing: 0.1em;
	text-align: center;}
#company-business .company-business-box {
	position: relative;
	background-color: #EAECEE;
	box-sizing: border-box;}
#company-business .company-business-box h3 {
	color: #fff;
	background-color: #324158;}
#company-business .company-business-box p {
	margin-bottom: 1em;}
#company-business .company-business-box img {
	object-fit: cover;}
#company-business .company-business-box .btns {
	display: flex;
	gap: 15px;}
	
#company-profile h2 {
	margin-bottom: 30px;
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.6rem;
	letter-spacing: 0.1em;
	text-align: center;}
#company-profile dl {
	margin: 0 auto 50px auto;
	border-bottom: solid 3px #EAECEE;
	display: flex;
	flex-wrap: wrap;
	width: 1100px;}
#company-profile dt {
	padding: 0.75em 1em 0.75em 0;
	border-top: solid 3px #EAECEE;
	width: 350px;
	line-height: 1.4;
	text-align: right;
	box-sizing: border-box;}
#company-profile dd {
	padding: 0.75em 1em 0.75em 0;
	border-top: solid 3px #EAECEE;
	width: 750px;
	line-height: 1.4;
	box-sizing: border-box;}
	
#company-history h2 {
	margin-bottom: 30px;
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.6rem;
	letter-spacing: 0.1em;
	text-align: center;}
#company-history ul {
	margin: 0 auto;
	width: 1100px;}
#company-history ul li {
	margin-bottom: 30px;
	padding: 20px;
	width: 480px;
	background-color: #D6D9DE;
	box-sizing: border-box;}
#company-history ul li .history-year {
	margin-bottom: 0.5em;
	color: #324158;}
#company-history ul li .history-year span {
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.6rem;}
#company-history ul li img {
	margin-top: 1em;
	width: 100%;}

@media screen and (min-width: 768px){

#company-business .company-business-box {
	margin-top: 100px;
	margin-left: calc((100% - 1100px)/2);
	padding: 30px 0 0 550px;
	width: calc(1100px + ((100% - 1100px)/2));
	min-height: 360px;}
#company-business .company-business-box h3 {
	margin-bottom: 30px;
	padding-left: 40px;
	height: 40px;
	line-height: 40px;}
#company-business .company-business-box p {
	margin-left: 40px;
	width: 510px;}
#company-business .company-business-box img {
	position: absolute;
	top: -60px;
	left: calc((1100px - 100vw)/2);
	width: 50cqw;
	height: 360px;}
#company-business .company-business-box .btns {
	margin-left: 40px;}

#company-business .company-business-box:nth-of-type(2){
	margin-left: 0;
	padding: 30px 550px 0 0;}
#company-business .company-business-box:nth-of-type(2) img {
	left: auto;
	right: calc((1100px - 100vw)/2);}
#company-business .company-business-box:nth-of-type(2) h3 {
	padding-left: calc((100vw - 1100px)/2);}
#company-business .company-business-box:nth-of-type(2) p {
	margin-left: calc((100vw - 1100px)/2);}
#company-business .company-business-box:nth-of-type(2) .btns {
	margin-left: calc((100vw - 1100px)/2);}

#company-history ul li:nth-of-type(1){
	margin-left: 250px;
	width: 600px;} 
#company-history ul li:nth-of-type(3){
	margin-top: -70px;
	margin-left: 620px;}
#company-history ul li:nth-of-type(4){
	margin-top: -67px;}
#company-history ul li:nth-of-type(5){
	margin-top: -92px;
	margin-left: 620px;}
#company-history ul li:nth-of-type(6){
	margin-top: -672px;}
#company-history ul li:nth-of-type(7){
	margin-top: 0;}
#company-history ul li:nth-of-type(8){
	margin-top: -228px;
	margin-left: 620px;}
#company-history ul li:nth-of-type(9){
	margin-top: -537px;
	display: flex;
	flex-wrap: wrap;}
#company-history ul li:nth-of-type(9) .history-year {
	width: 100%;}
#company-history ul li:nth-of-type(9) img {
	margin-top: 0;
	margin-right: 20px;
	width: 200px !important;}
#company-history ul li:nth-of-type(9) p {
	width: 220px;}
#company-history ul li:nth-of-type(10){
	margin-top: 0;}
#company-history ul li:nth-of-type(11){
	margin-top: -333px;
	margin-left: 620px;}



}

@media screen and (max-width: 767.9px){

.company-content-box {
	padding: 0 1.5em;}

#company-intro {
	padding: 120px 0;
	background-size: 200%;}
#company-intro h2 {
	line-height: 1.4;}
#company-intro p {
	padding: 0 1.5em;
	text-align: left;}

#company-business h2 {
	margin-bottom: 0.5em;}
#company-business .company-business-box {
	margin-bottom: 1.5em;
	padding: 0 1.5em 1.5em 1.5em;}
#company-business .company-business-box h3 {
	margin: 0 0 1em -1.5em;
	width: calc(100% + 3em);
	height: 2em;
	line-height: 2em;
	text-align: center;}
#company-business .company-business-box img {
	margin-bottom: 1em;
	width: 100%;
	height: 60vw;}
#company-business .company-business-box .btns {
	flex-direction: column;}
#company-business .company-business-box .btn a {
	width: 100%;
	box-sizing: border-box;}

#company-profile dl {
	width: 100%;
	flex-direction: column;}
#company-profile dt {
	padding-bottom: 0;
	width: 100%;
	font-weight: 700;
	text-align: left;}
#company-profile dd {
	padding-to: 0.25em;
	border-top: none;
	width: 100%;}
	
#company-history ul {
	width: 100%;}
#company-history ul li {
	width: 100%;}

}

#news-list .container {
	padding: 50px 1.5em;}
#news-list .category_title {
	margin-bottom: 1em;
	font-weight: 700;
	font-size: 1.2em;}
#news-list .news-list-box {
	margin-bottom: 30px;
	padding: 0 0 30px 0;
	border-bottom: solid 4px #e7e7e7;
	position: relative;
	display: flex;
	height: auto;}
#news-list .news-list-box:last-of-type {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;}
#news-list .news-list-box .news-article-photo {
	width: 270px;}
#news-list .news-list-box .news-article-photo img {
	width: 100%;
	height: auto;}
#news-list .news-list-box .news-article-text {
	padding-left: 30px;
	width: 800px;}
#news-list .news-list-box h2 {
	margin-bottom: 0.25em;
	line-height: 1.4;}
#news-list .news-list-box .news-article-date {
	margin-bottom: 1em;}
#news-list .news-list-box p {
	margin-bottom: 1em;}

@media screen and (max-width: 767.9px){

#news-list .news-list-box {
	margin-bottom: 1.5em;
	padding: 0 0 1.5em 0;
	height: auto;}
#news-list .news-list-box {
	flex-flow: column;}
#news-list .news-list-box .news-article-photo {
	margin-bottom :1em;
	position: relative;
	top: inherit;
	left: inherit;
	width: 100%;}
#news-list .news-list-box .news-article-text {
	padding-left: 0;
	width: 100%;}

}

#news-article .container {
	padding-top: 50px;
	padding-bottom: 50px;
	display: flex;
	justify-content: space-between;}
#news-article main {
	width: 720px;}
#news-article main h2 {
	margin-bottom: 0.25em;
	line-height: 1.4;}
#news-article main .news-article-date {
	margin-bottom: 1em;}
#news-article main p {
	margin-bottom: 1em;}
#news-article main img {
	margin-bottom: 1em;
	width: 100%;
	height: auto;}
#news-article aside {
	width: 300px;}
#news-article aside dl {
	margin-bottom: 2em;}
#news-article aside dl dt {
	padding: 0.5em;
	background-color: #e7e7e7;
	font-size: 1.1em;}
#news-article aside dl dd a {
	display: flex;
	color: #333;}
#news-article aside dl dd a img {
	margin-right: 1em;
	width: 100px;
	height: auto;}
#news-article aside dl.categories dt {
	margin-bottom: 1em;}
#news-article aside dl.categories dd {
	line-height: 1.6;}
#news-article aside dl.categories dd a {
	color: #333;}
#news-article aside dl.backnumber dd {
	padding: 1em 0;
	border-bottom: solid 2px #e7e7e7;}
#news-article aside dl.backnumber dd .text {
	line-height: 1.4;}

@media screen and (max-width: 767.9px){

#news-article .container {
	flex-flow: column;}
#news-article main {
	margin-bottom: 2em;
	width: 100%;}

}


#contact-content {
	padding-top: 50px;
	color: #fff;
	background-color: #324158;}
#contact-content .container {
	padding: 50px;
	background-color: rgba(255,255,255,0.2);
	box-sizing: border-box;}
#contact-content p {
	margin-bottom: 1em;}
#contact-content form dl {
	margin-bottom: 1em;
	padding-top: 1em;
	border-bottom: solid 2px #fff;
	display: flex;
	flex-wrap: wrap;}
#contact-content form dl dt {
	padding: 1em 1em 0 1em;
	border-top: solid 2px #fff;
	width: 7em;}
#contact-content form dl dd {
	padding: 0.5em 1em;
	border-top: solid 2px #fff;
	width: calc(100% - 9em);
	box-sizing: border-box;}
#contact-content form dl dd input[type="text"],
#contact-content form dl dd textarea {
	padding: 0.5em;
	width: 100%;
	font-size: 1em;
	box-sizing: border-box;}
#contact-content .btns {
	display: flex;
	justify-content: center;
	gap: 1em;}

@media screen and (max-width: 767.9px){

#contact-content {
	padding: 1.5em;
	color: #fff;
	background-color: #324158;}
#contact-content .container {
	padding: 1.5em;}
#contact-content form dl {
	margin-bottom: 1em;
	border-bottom: solid 2px #fff;
	flex-direction: column;}
#contact-content form dl dt {
	padding: 0.5em 0;
	border-top: solid 2px #fff;
	width: 100%;
	box-sizing: border-box;}
#contact-content form dl dd {
	padding: 0.5em 0 0.5em 0;
	border-top: none;
	width: 100%;
	box-sizing: border-box;}

}
	

/* ---------------------------------
  _ clearfix
------------------------------------*/

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}
/* End hide from IE-mac */
	