/* 共通 */
body{
	overflow-x: hidden !important; 
	background-color:#dbdcdc;
}

.view-pc{    
    display: block !important;
}
.view-mobile{
    display:none !important;
}

.view-pc-2{    
    display: flex !important;
}
.view-mobile-2{
    display:none !important;
}

header{
	display:block;
	position:relative;
	background:#dbdcdc url(../images/top-bg.jpg) no-repeat center center;
	background-size:cover;
	height: calc(751vw /  12.0);
}
header h1{
	visibility:hidden;
}

header p{
	display:block;
	position:absolute;
	bottom: 17%;
    left: 12%;

/*	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 900;*/
	font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
  
    color: #000;
    font-size: clamp(24px, 3.0vw, 36px);
    letter-spacing: 0.1em;
}

header p span.green{
	color:#789540;
}



#contents{
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight:normal;
	color:#000;
}

.wrapper {
	display:block;
	max-width:1200px;
	width:100%;
	margin:0 auto;
	position: relative;

	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Yu Gothic', YuGothic, Roboto, Ubuntu, 'Hiragino Kaku Gothic Pro', 'Hiragino Sans GB', Meiryo, 'Malgun Gothic', 'Helvetica Neue', sans-serif;
	line-height: 1.8;
	font-size: clamp(10px, 1.3vw, 13px);
}

.wrapper .til-e2,
.wrapper .b-disc {
	font-size: clamp(12px, 1.4vw, 16px);
}

.wrapper a {
	text-decoration: none;
}

.wrapper h3{
	width:90%;
	margin-bottom:4%;
	font-size: clamp(18px, 2.8vw, 33px);
    font-weight: bold;
	line-height: 1.5;
}
.wrapper div.b-disc {
	text-decoration: none;
	margin-bottom:5%;
}


.concept,
.equipment,
.service{
	display:block;
	position:relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	background-color:transparent;
	padding-bottom:3%;

}

.information,
.access{
	display:block;
	position:relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	background-color:#fff;
	padding-bottom: 15%;
}

.obi{
	display:block;
	position:relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding-bottom: 6%;
}
.obi img{
	width: 100vw;
}

.sen{
	display:block;
	position:relative;
	width: 90vw;
	max-width:900px;
	margin: 0 auto 10%;
	border-bottom: 2px solid #a4a5a5;
}

.sen2{
	display:block;
	position:relative;
	width: 90vw;
	max-width:900px;
	margin: 3% auto 5%;
	border-bottom: 2px solid #a4a5a5;
}

.sen3 {
    display: block;
    position: relative;
    width: 90vw;
    max-width: 900px;
    margin: -12% auto 0;
    border-bottom: 2px solid #a4a5a5;
}


.ctitle{
	display:block;
	position:relative;
	background:#dbdcdc url(../images/diamond-bg.png) no-repeat;
	background-position: top center;
	background-size: cover;
	width:100%;
	height: calc(269vw /  12.0);
}

.etitle{
	display:block;
	position:relative;
	background:#dbdcdc url(../images/diamond-bg.png) no-repeat;
	background-position: top left 8.5vw;
	background-size: cover;
	width:100%;
	height: calc(269vw /  12.0);
}
.stitle{
	display: block;
    position: relative;
    width: 50%;
    margin: 0 auto 3%;
    height: auto;
}


.cbox-1{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: start;
	flex-wrap:wrap;
	position:relative;
	
	width:100%;
	max-width:1300px;
	margin: -17% auto 0%;
	/*height: calc(269vw /  12.0);*/
	padding-bottom: 14%;
}
.cbox-2{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: end;
	flex-wrap:wrap;
	position:relative;
	
	width:100%;
	max-width:1300px;
	margin:-17% auto 0%;
	/*height: calc(269vw /  12.0);*/
	padding-bottom: 9%;
}
.cbox-3{
	display:flex;
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
	flex-wrap:wrap;
	position:relative;
	background-color: #fff;
	width:100%;
	max-width:900px;
	margin:0 auto;
}
.cbox-4{
	display:flex;
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
	flex-wrap:wrap;
	position:relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw) 10%;
}

.cbox-4.S2nd{
	margin: -4% calc(50% - 50vw) 10%;
}


figure.til-elm-e{
	margin: 3% auto;
	padding: 0 1.8%;
    width: 25%;
}
.til-elm-e2{
	padding: 0 1.0%;
    width: 50%;
}
.til-elm-e2.skm{
	padding-top: 1.0%;
}

.til-elm-e2 img{
	padding: 0 7%;
}

.box-elm-inner1{
	display: block;
	width:80%;
	margin: 4% auto 0;
}
.box-elm-inner2{
	display: block;
	width:80%;
	margin-top: 4%;
    margin-left: 28%;
}

.box-elm-1{
	width:38%;
}
.box-elm-2{
	width:62%;
}
.box-elm-3{
	width:62%;
}
.box-elm-4{
	width:38%;
}

.b-images{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: start;
	flex-wrap:wrap;
	position:relative;
	
	width:80%;
	height: auto;
}
.b-image-elm{
	width:50%;
	padding-right: 3%;
}
.b-cap{
	width:90%;
	padding-right: 0;
}
.b-disc{
	width:80%;
	padding-left: 2%;
	padding-right: 2%;
}
.dan{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: start;
	flex-wrap:wrap;
	position:relative;
	width:100%;
}
p.dan-elm-1 {
	width: 55%;
}
p.dan-elm-2 {
	width: 45%;
}

.til{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
	flex-wrap:wrap;
	max-width: 900px;
    width: 100%;
}

.til-e{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
	flex-wrap:wrap;
	max-width: 1050px;
    width: 100%;
}

.til-e2{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
	flex-wrap:wrap;
	max-width: 1030px;
    width: 100%;
}

figure figcaption{
	display:inline-block;
	width: 100%;
	text-align: center;
	background-color: #b7c08d;
	padding: 1% 0;
	font-size: clamp(10px, 1.4vw, 16px);
	font-weight: 600;
	letter-spacing: 0.2rem;
	vertical-align:middle;
}

figure figcaption span{
	font-size: clamp(10px, 1.2vw, 14px);
	font-weight: 600;
	letter-spacing: 0rem;
	vertical-align:middle;
}


/* concept */
.concept h2{
	width:20%;
	margin-bottom: 4%;
}


/* equipment */
.equipment h2{
	width:28%;
	margin-bottom: 4%;
}


/* service */
.service h2{
	width:20%;
	margin-bottom: 4%;
}
.service .ctitle{
	margin-top: -4%;
}
.service .cbox-1{
	padding-bottom: 9%;
}


/* information */
.information .stitle h2 {
    display: block;
    position: relative;
    padding-top: 40%;
	margin:0 auto;
	width:30%;
}
.information figure.til-elm{
	max-width: 150px;
    width: 16.6666666666%;
    padding: 0.8%;
}

.information div.kin {
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90%;
	max-width:500px;
    margin: 6% auto 5%;
}
.information div.kin figure.til-elm2{
	max-width: 150px;
    width: 35%;
    padding: 1.6%;
}
.information div.kin div.til-elm3{
	max-width: 350px;
    width: 66%;
    padding: 0 0 0 6% ;
	font-size: clamp(14px, 2.0vw, 21px);
    color: #c7161d;
    font-weight: bold;
}

.information figure.til-elm-m{
	margin: 3% auto;
	padding: 0 2%;
    width: 50%;
}
.information figure.til-elm-m.fst {
    padding-left: 0;
}
.information figure.til-elm-m.lst {
    padding-right: 0;
}

.information dl {
    display: flex;
    flex-wrap: wrap;
	margin-top: 6%;
    margin-bottom: -15%;
    font-family: 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", sans-serif;
    font-size: clamp(12px, 1.4vw, 16px);
    border-top: 1px solid #000;
}
.information dl dt {
    width: 20%;

    padding-left: 3%;
	padding-right: 3%;
    padding-top: 1%;
    padding-bottom: 1%;
    border-right: solid 0px #000;
    border-left: solid 1px #000;
    border-bottom: solid 1px #000;

    text-align: justify !important;
    text-align-last: justify !important;
}
.information dl dd {
    width: 80%;
    padding-top: 1%;
    padding-left: 3%;
	padding-right: 3%;
    padding-bottom: 1%;

    border-right: solid 1px #000;
    border-left: solid 1px #000;
    border-bottom: solid 1px #000;
}

.information .cbox-3.maps{
	padding-top: 0;
	padding-bottom: 0;
}

/* access */
.access .stitle h2 {
    display: block;
    position: relative;
    padding-top: 15%;
	margin:0 auto;
	width:16%;
}

.access .map{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
	flex-wrap:wrap;
	max-width: 900px;
	padding: 0 1%;
    width: 100%;
}

.access figure.map-elm{
	max-width: 900px;
    width: 100%;
    padding: 0;
}



/* Footer */
footer#ft-footer {
    display: block !important;
    width: 100%;
    display: block;
    position: relative;
    padding: 1% 0;
    color: #fff;
}

#ft-footer {
    font-family: 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", sans-serif;
    color: rgb(0, 0, 0);
    height: auto;
    background: url(../images/footer_bg.png) center center / cover no-repeat rgb(255, 255, 255);
}
footer .FOOTER {
    color: #fff;
}

footer .ft-mida {
    display: block;
    position: relative;
    width: 80%;
    color: rgb(255, 255, 255);
    text-align: center;
    font-family: 游明朝, "Yu Mincho", YuMincho, serif;
    font-weight: normal;
    font-size: clamp(17px, 2.5vw, 30px);
    line-height: 2;
    letter-spacing: 0.1em;
	margin: 7% auto 4%;
    padding: 0px 2.5em;
}
footer .ft-mida::before {
    left: 0;
}
footer .ft-mida::after {
    right: 0;
}

footer .ft-mida::before, footer .ft-mida::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 33%;
    height: 1.8px;
    background-color: #fff;
}

.ft-flex_box_TF {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0;
    width: 85%;
    margin: 2% auto 12%;
}

.ft-flex_box_TF .ft-flex_item {
    width: 25%;
	padding: 0 2.5%;
}

footer p.ft-footer-box {
    font-family: 游明朝, "Yu Mincho", YuMincho, serif;
    font-weight: normal;
    max-width: 500px;
    font-size: clamp(9px, 1.2vw, 14px);
    line-height: 1.8;
    letter-spacing: 0.12em;
    display: block;
    text-align: center;
    padding: 1%;
    margin: -3% auto 0px;
}
footer p.addr {
    margin-top: 6%;
    padding-top: 0;
	font-size: clamp(9px, 0.8vw, 10px);
    text-align: center;
    line-height: 1.3;
    height: 36px;
}


footer p.f-logo .f1s {
    padding: 0% 13%;
}
footer p.f-logo .f2s {
    padding: 0% 13.5%;
}
footer p.f-logo .f3s {
    padding: 0% 1%;
}
footer p.f-logo .f4s {
    padding: 0% 3%;
}
.ft-bg-obi-footer{
	display: block;
	margin: 0 auto 140px;
	position: relative;
}
.fxed-ufoot-base {
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #384b21;
    z-index: 100;
}

.fxed-ufooter{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
	align-items: center;
	flex-wrap:wrap;

	padding:0 5% 0 5%;
    width: 100%;
	margin: 0 auto;
	font-family: 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", sans-serif;

	max-width: 800px;

	max-height:120px;

}

.fxed-ufooter-l{
	width: 25%;
}
.fxed-ufooter-c{
	width: 50%;
	padding: 0 0 0 1%;
}
.fxed-ufooter-r{
	width: 25%;
}
.mturr-ufooter-telphone img{
	width:94%;
}
.fxed-ufooter-c-1{
    color: #fff;
}


.fxed-ufooter-l img{
	padding:12% 24% 12% 0;
}

.fxed-ufooter-c-addr{
	padding-top: 2%;
	font-size: clamp(12px, 1.4vw, 18px);
    color: #fff;
}
/*
a.fxed-reserve-btn {
	display: block;
	position: relative;
    height: auto;
}
a.fxed-reserve-btn  span.fxed-ufooter-reserve {
	position: absolute;
    font-size: clamp(20px, 2.4vw, 30px);
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: calc(clamp(20px, 2.4vw, 30px) * 7.4);
    font-weight: 900;
}
*/

/* 860px以下 */
@media only screen and (max-width: 960px){ 

	.ft-bg-obi-footer{
		display: block;
		margin: 0 auto 19vw;
		position: relative;
	}
}







/* 767px以下 */
@media only screen and (max-width: 767px){ 
	/* 共通 */
	.view-pc{  
        display:none !important;  
    }
    .view-mobile{
        display: block !important;
    }
	.view-pc-2{  
        display:none !important;  
    }
    .view-mobile-2{
        display: flex !important;
    }


	.onmtop-mobile {
		margin-top: 5% !important;
	}
	
	 
	.offmbtm{
		margin-bottom: 0 !important;
	}

	header p {
		display: block;
		position: absolute;
		bottom: 9%;
        left: 8%;
        font-size: clamp(14px, 2.6vw, 36px);
		letter-spacing: 0.1em;
	}

		
	.box-elm-1{
		width:100%;
	}
	.box-elm-2{
		width:100%;
	}
	.box-elm-3{
		width:100%;
	}
	.box-elm-4{
		width:100%;
	}

	.box-elm-inner1 {
		display: block;
		width: 90%;
		margin: 4% auto 0;
	}

	.box-elm-inner2 {
		display: block;
    	width: 90%;
    	margin: 4% auto 0;
	}

	.b-images{
		width:100%;
		height: auto;
	}
	.b-image-elm{
		width:50%;
		padding: 2%;
	}
	.b-cap{
		width:90%;
		padding-right: 0;
	}
	.b-disc{
		width: 100%;
        padding-left: 1%;
		padding-right: 1%;
        padding-top: 5%;
	}

	figure.til-elm-e{
		width: 50%;
	}

	.til-elm-e2 {
		padding: 0 1.0%;
		width: 80%;
	}
		
	.til-elm-e2.skm{
		padding-top: 0;
	}

	.til-elm-e2 p{
		padding-left: 0;
		padding-top: 5%;
	}

	.til-elm-e2 img {
		padding: 0 0;
	}

		
	.sen{
		width: 90vw;
	}

	.sen2{
		width: 90vw;
	}

	.sen3 {
		width: 90vw;
	}

	p.dan-elm-1 {
		width: 60%;
	}
	p.dan-elm-2 {
		width: 40%;
	}


	/* concept */
	.concept h2{
		width:40%;
	}

	/* equipment */
	.equipment h2{
		width:56%;
	}

	/* service */
	.service h2{
		width:40%;
	}

	.stitle {
		width: 90%;
	}

	/* information */
	.information .stitle h2 {
		width:60%;
	}
	
	.information figure.til-elm-m.fst {
		padding-left: 0;
		padding-right: 0;
	}
	.information figure.til-elm-m.lst {
		padding-left: 0;
		padding-right: 0;
	}

	.information .stitle h2 {
		padding-top: 20%;
		padding-bottom: 10%;
	}

	.information .cbox-3.maps{
		padding-top: 5%;
		padding-bottom: 5%;
	}

	/* access */
	.access .stitle h2 {
		width:32%;
	}
	.access .stitle h2 {
		padding-top: 20%;
		padding-bottom: 5%;
    }


	/* equipment */
	.til-e {
		width: 90%;
	}


	/* information */
	.information .til{
		max-width: 900px;
		width: 90%;
	}
	.information figure.til-elm{
		max-width: 150px;
		width: 33.3333333333%;
		padding: 0.8%;
	}
	.information figure.til-elm-m {
		width: 90%;
	}

	.information  dl {
        display: flex;
        flex-wrap: wrap;
        width: 90%;
    }

	.information  dl dt {
		width: 100%;
		border-right: solid 1px #000;
		background-color: #ddd;
		text-align: center !important;
    	text-align-last: center !important;
	}
	.information  dl dd {
        width: 100%;
    }


	/* access */
	.access .map{
		max-width: 800px;
		width: 90%;
	}

	.ft-flex_box_TF .ft-flex_item {
		width: 50%;
		padding: 0 2.5% 5%;
	}
	

	/* footer */
	footer p.addr {
		font-size: clamp(10px, 0.8vw, 12px);
		height: 36px;
	}

	.ft-bg-obi-footer{
		display: block;
		margin: 0 auto 25vw;
		position: relative;
	}

		
	.fxed-ufooter{
		padding: 4% 3% 3% 3%;
		width: 100%;
	}

		
	.fxed-ufooter-l{
		width: 0%;
	}
	.fxed-ufooter-c{
		width: 65%;
		padding: 0 0 0 1%;
	}
	.fxed-ufooter-r{
		width: 35%;
	}

	footer .ft-mida::before, footer .ft-mida::after {
		width: 20%;
	}
	
	footer p.f-logo .f4s {
		padding: 0% 5%;
	}
}



/* 360px以下 */
@media only screen and (max-width: 360px){ 

}


.clearfix:after {
	content: "";
	display: block;
	clear: both;
} 
.clearfix:before {
	content: "";
	display: block;
	clear: both;
} 
.clearfix {
	display: block;
}
