@charset "UTF-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://cdn.jsdelivr.net/yakuhanjp/1.3.1/css/yakuhanjp.min.css');
@import url('https://fonts.googleapis.com/css?family=Crimson+Text');
/*----------------------------------------------------
Base
----------------------------------------------------*/
a:any-link{
	text-decoration: none;
	color: rgba(99, 145, 116, 1);
}
ul {
	padding: 0;
	margin: 0;
}
li {
	list-style: none;
	padding: 0;
	margin: 0;
}
*{
	box-sizing:border-box;
}
/*----------------------------------------------------
Fonts
----------------------------------------------------*/
/* -- Base -- */
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, input, textarea, select, .form-control  {
	font-family:
		YakuHanJP,"Noto Sans Japanese",
		"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",
		"メイリオ",
		"Meiryo UI",
		Meiryo,
		-apple-system,
		BlinkMacSystemFont,
		"Helvetica Neue",
		HelveticaNeue,
		"Segoe UI",
		"游ゴシック体",
		YuGothic,
		"Yu Gothic M",
		"游ゴシック Medium",
		"Yu Gothic Medium",
		"ヒラギノ角ゴ ProN W3",
		"Hiragino Kaku Gothic ProN W3",
		HiraKakuProN-W3,
		"ヒラギノ角ゴ ProN",
		"Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro",
		"Hiragino Kaku Gothic Pro",
		Osaka,
		"ＭＳ Ｐゴシック",
		"MS PGothic",
		sans-serif;
	color:rgba(99, 145, 116, 1);
	font-size: 15px;
	line-height:1.8em;

	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
}

/* -- Noto -- */
.noto{
	position: relative;
	font-family:
		YakuHanJP,"Noto Sans Japanese",
		"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",
		"メイリオ",
		"Meiryo UI",
		Meiryo,
		-apple-system,
		BlinkMacSystemFont,
		"Helvetica Neue",
		HelveticaNeue,
		"Segoe UI",
		"游ゴシック体",
		YuGothic,
		"Yu Gothic M",
		"游ゴシック Medium",
		"Yu Gothic Medium",
		"ヒラギノ角ゴ ProN W3",
		"Hiragino Kaku Gothic ProN W3",
		HiraKakuProN-W3,
		"ヒラギノ角ゴ ProN",
		"Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro",
		"Hiragino Kaku Gothic Pro",
		Osaka,
		"ＭＳ Ｐゴシック",
		"MS PGothic",
		sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	font-family: "Noto Sans Japanese";
}

/* -- Color -- */

.font-red { color: #FF0000; }
.font-blue { color: #004B96; }

/* -- Mincho -- */

.mincho{
	font-family:
		'Crimson Text',
		"游明朝",
		"Yu Mincho Medium",
		"游明朝体 Medium",
		"YuMincho",
		"ヒラギノ明朝 Pro W3",
		"Hiragino Mincho Pro",
		"HiraMinProN-W3",
		"HGS明朝E",
		"ＭＳ Ｐ明朝",
		"MS PMincho",
		"Sawarabi Mincho",
		serif;
	font-weight: 400;
}
.mincho2{
	font-family:'Crimson Text',serif;
}
/*----------------------------------------------------
Common
----------------------------------------------------*/
.clearfix{
}

.title_box{
	padding-top:60px;
	padding-bottom:50px;
	padding:60px 5vw 20px 5vw;
}
.title_box h2 {
	font-size: 3.8em;
	position: relative;
	line-height: 1;
	text-align: center;
	color:rgba(99, 145, 116, 1);
	font-weight: bold;
	margin-bottom: 50px;
	letter-spacing: 0.05em;
	font-weight: 400;
	word-wrap: break-word;

}
/*
.title_box h2:after {
	position: absolute;
	content: "";
	width:50px;
	height:4px;
	background-color:rgba(236,108,0,1.0);
	margin-left:-25px;
	left:50%;
	bottom:-25px;
}
*/
h3 {
	text-align: center;
	font-size:23px;
	color: #FFF;
	line-height: 1;
	/*
	margin-bottom: 30px;
	font-weight: bold;
	*/
	letter-spacing: 0.1em;
}
p {
	margin:0; padding:0;
}

/*----------------------------------------------------
Layouts
----------------------------------------------------*/

html, body {
	width: 100%;
	height: 100%;
}

body {
	background-color: #e6e6eb;
	position: relative;
	background-color: #FFF;
	margin:0; padding:0;
}
.wrapper {
	position: relative;
	text-align: center;
}
.wrapper.menuwrp{
	text-align: center;
}
.container {
	padding: 0 20px;
}
.frontPage .container {
	width:1280px;
	max-width: 1280px;
	padding: 0 40px;
}
@media only screen and (max-width: 1480px) {
	.container {
		max-width: 100%;
		padding: 0 20px;
	}
	.menuBox .titleBox{
		margin: 0 -100px;
	}
}
@media only screen and (max-width: 1280px) {
	.container {
		width: 100%;
		max-width: 100%;
		padding: 0 20px;
	}
	.menuBox .titleBox{
		margin: 0 -100px;
	}
}
@media only screen and (max-width: 768px) {
	.label {
		padding: 8px 30px 8px 10px;
		margin-bottom: 10px;
	}
	.label .btn-icon {
		display: block;
		background-color: #FFF;
	}
}
@media only screen and (max-width: 768px) {
	.label-input {
		padding: 7px 30px 7px 10px;
	}
}

.off{ display:none; }
.modal_content.off{ display:none;}
@keyframes fade-in {
	0% { display: none; opacity: 0; }
	1% { display: block; opacity: 0; }
	100% { display: block; opacity: 1; }
}
@-moz-keyframes fade-in {
	0% { display: none; opacity: 0; }
	1% { display: block; opacity: 0; }
	100% { display: block; opacity: 1; }
}
@-webkit-keyframes fade-in {
	0% { display: none; opacity: 0; }
	1% { display: block; opacity: 0; }
	100% { display: block; opacity: 1; }
}
/*----------------------------------------------------
Header
----------------------------------------------------*/
.header {
	height: 60px;
	top:0; right:0; left:0;
	background-color:rgba(255,255,255,0.95);
	background-color:rgba(50,50,50,0.95);
	text-align: left;
	position: fixed;
	z-index: 999;
	border-bottom: 2px solid rgba(210, 178, 96, 0.9);
}
.header .logo {
	height: 100%;
	width: auto;
	float: left;
	padding:0 20px;
	position: relative;
}
.header .logo a{
	height: 100%;
	width: 350px;
	position: relative;
	display:inline-block;
}
.header .logo img {
	height: 100%; width:auto;
	padding:5px 0 5px 0;
	display:inline-block;
	vertical-align:top;
}
.header .logo a:after{
	content:"";
	position:relative;
	display:inline-block;
	margin-left:10px;
	margin-top:10px; margin-bottom:10px;
	width:150px;
	height:calc(100% - 20px);

	background-image:url(../img/KHENDRA_LogoType.png);
	background-repeat: no-repeat;
	background-position: center left ;
	background-size: contain;
}
.header .gNav {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.header .gNav ul {
	height: 100%;
	text-align:right;
	margin-right:20px;
}
.header .gNav ul li {
	display: inline-block;
	height: 100%;
	position: relative;
	width: auto;
	padding:0 1em;
}
.header .gNav ul li p {
	display: inline-block;
	padding: 26px 0 23px;
	color: rgba(210, 178, 96, 0.9);
	text-decoration: none;
	font-size: 1.0em;
	line-height:1em;
	letter-spacing: 0.06em;
	font-weight: 400;
	z-index:1;

	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;

	cursor: pointer;

	font-size: 1.3em;
	font-family:
		'Crimson Text',
		"游明朝",
		"Yu Mincho Medium",
		"游明朝体 Medium",
		"YuMincho",
		"ヒラギノ明朝 Pro W3",
		"Hiragino Mincho Pro",
		"HiraMinProN-W3",
		"HGS明朝E",
		"ＭＳ Ｐ明朝",
		"MS PMincho",
		"Sawarabi Mincho",
		serif;
}
.header .gNav ul li:after {
	position:absolute;
	content: "";
	height: 0px;
	width: 100%;
	background-color:rgba( 31, 44, 92,0.0);
	background-color: rgba(210, 178, 96, 0.9);
	margin-left: -50%;
	left: 50%;
	top: 0;
	opacity:0;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	z-index:-1;
}
.header .gNav ul li:hover:after {
	background-color:rgba( 31, 44, 92,0.1);
	background-color: rgba(210, 178, 96, 0.9);
	height: 10px;
	opacity:1;
}
.header .gNav ul li.active p {
	color:rgba(50,50,50,0.95);
}
.header .gNav ul li.active:after {
	background-color:rgba(99, 145, 116, 1);
	background-color: rgba(210, 178, 96, 0.9);
	height: 60px;
	opacity:1;
}
.header .gNav ul li.active#gm_0 p {
	color: rgba(99, 145, 116, 1);
	color: rgba(210, 178, 96, 0.9);
}
.header .gNav ul li.active#gm_0:after {
	height: 0;
	opacity:0;
}
@media only screen and (max-width: 980px) {
	.header .gNav ul li p span.short_non {
		display:none;
	}
}





/*----------------------------------------------------
Front Page
----------------------------------------------------*/
.pageTop .top_container{
	position: relative;
	width:100%; height:auto;
	padding:60px 0 0 0;
	overflow: hidden;
	text-align:center;

	background-image: url(../img/topmain2.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;

	-webkit-transition: all 0.6s;
	-moz-transition: all 0.6s;
	-ms-transition: all 0.6s;
	transition: all 0.6s;
	animation:topBackgroundScale 80s forwards;
	transform:scale(1);
	transform-origin: center;
	animation-direction:normal;
	animation-iteration-count:infinite;


	position: absolute;
	top:0;
	bottom: 0;
	left: 0; right:0;
}
@keyframes topBackgroundScale {
	0%{ transform: scale(1); }
	100%{ transform: scale(1.3); }
}

.pageTop{
	position: relative;
	width:100%; height:auto;
	padding:60px 0 0 0;
	overflow: hidden;
	text-align:center;
}






.pageTop .container{
	position: relative;
	width: 1024px; height:100%;
	max-width:1024px;
	display:inline-block;
	padding:150px 0 150px;
	background-color:rgba(255,255,255,0.85);
}
.pageTop .bodyConcept{
	width: 100%; height:100%;
	text-align:center;
}
.pageTop .bodyConcept img{
	height:300px;
}
.pageTop h3{
	color:rgba(99, 145, 116, 1);
	font-weight:100;
	font-size:2.4em;
	line-height:1.2em;
	letter-spacing:-0.04em;
	text-align:left;
	padding-left:20px;
	border-left:10px solid rgba(236,108,0,1.0);
	vertical-align:bottom;
	padding-top:0.2em;
}
.pageTop .body{
	color:rgba(50,50,50,1.0);
	margin:0 90px 40px 30px;
	text-align:justify;
}

.pageTop .shimo{
	display:inline-block;
	position:absolute;
	top:30px; right:20px; bottom:0;
}
.pageTop .shimo img{
	width:auto; height:95vh; min-height:1000px;
}
.pc-only{ display:block; }
.sp-only{ display:none; }
/* - - - - - - */
.view_Landscape_2 .pageTop .container{
	width: 100vw;
}
.view_Landscape_2 .pageTop .contents{
	width:70%;
	max-width: inherit;
}
.view_Landscape_2 .pageTop .shimo{
	right:inherit; left:calc(65% - 5vw);
}
/* - - - - - - */
.view_Landscape_3 .pageTop .container{
	width: 100vw;
}
.view_Landscape_3 .pageTop .contents{
	width:80%;
	max-width: inherit;
}
.view_Landscape_3 .pageTop .shimo{
	left:inherit; right: 0;
}
.view_Landscape_3 .pageTop .shimo img{
	width:auto; height:95vh; min-height:inherit;
}
.view_Landscape_3 .sp-only{
	display:block;
}
/* - - - - - - */
.view_Portrait .pageTop .contents{
	width:60%;
	max-width: inherit;
}
.view_Portrait .pageTop .shimo img{
	width:auto; height:95vh; min-height:inherit;
}
.view_Portrait .pageTop .shimo{
	top:inherit; right:inherit;
	bottom:-20px; left:calc(60% - 5vw);
}

.view_Landscape_3 .sp-only{
	display:none;
}
@media only screen and (max-width: 860px) {
	.pc-only{ display:none; }
	.sp-only{ display:block; }
}


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



.pageTop{
	width: 100vw; height:calc(100vw + 60px);
	padding:60px 0 0 0;
	overflow: hidden;
	text-align:center;
	position:relative;
}

.pageTop .top_container{
	width: 100vw; height:calc(100vw + 60px);
	position: absolute;
	top:0; bottom: 0;
	left: 0; right:0;
}

.pageTop .container{
	width: 60vw;
	height:calc(100vw + 60px);
	height:60vw;

	padding-top:10vw;
	padding-bottom:10vw;
	margin-top:10vw;
	margin-bottom:10vw;
}
.pageTop .container img{
	width: 40vw; height:auto;
}














}
/*----------------------------------------------------
Page Concept
----------------------------------------------------*/
.pageConcept {
	height: 960px;
	padding: 220px 0;
	background: transparent;
}
.pageConcept .container {}

.bodyConcept {
	text-align: center;
}
.bodyConcept p {
	margin-bottom: 100px;
	letter-spacing: 0.1em;
}
/*----------------------------------------------------
page Services
----------------------------------------------------*/
.pageServices{
	text-align:center;
	position: relative;
	display:inline-block;
	width:100%;
	padding-bottom:120px;
}
.pageServices .read{
	width: 90vw; height:100%;
	max-width:1024px;
	font-size:1.4em;
	line-height:2em;
	margin:0 auto 75px;
}

.pageServices .container {
	text-align:center;
	width: 90vw; height:100%;
	max-width:1024px;
	margin:0 auto;
	padding: 0 0 50px 0;
}
.pageServices .container .contents .information{
	text-align:left;
	vertical-align:top;
	width:calc(100% - 30px);
	height:200px;
	margin:0 15px 0;
	vertical-align:middle;

	position: relative;
	display:flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;

	background-color:rgba(99, 145, 116, 0.1);
	/*
	border-radius:30px;
	*/
}
.pageServices .container .contents .information.revs{
	flex-direction: row-reverse;
}

.pageServices .container .contents .information .left_img{
	flex-basis:30%;
	flex-grow: 1;
	height:200px;
	overflow:hidden;
	vertical-align:top;

	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.pageServices .container#sv_1 .contents .information .left_img{
	background-image:url(../img/img_1.jpg);
}
.pageServices .container#sv_2 .contents .information .left_img{
	background-image:url(../img/img_2.jpg);
}
.pageServices .container#sv_3 .contents .information .left_img{
	background-image:url(../img/img_3.jpg);
}
.pageServices .container#sv_4 .contents .information .left_img{
	background-image:url(../img/img_4.jpg);
}
.pageServices .container .contents .information .right_cnt{
	flex-grow: 2;

	height:auto;
	padding:10px;
	vertical-align:middle;
	align-self: center;
	text-align:center;
}
.pageServices .container#sv_2 .contents .information .right_cnt,
.pageServices .container#sv_4 .contents .information .right_cnt{
	display:inline-block;
	margin-left:0;
}
.pageServices .container .contents .information h4{
	font-size:1.2rem;
	line-height:1.5em;
	letter-spacing:0.01em;
	margin:0;
	font-weight:300;

	display:inline-block;
	text-align:left;
}

.pageServices .container .contents .information p{
	color:#231815;
	text-align:left;
	margin:20px 0 0 0 ;
	text-align:justify;
}


@media only screen and (max-width: 860px) {
.pageServices .container .contents .information,
.pageServices .container .contents .information.revs{
	text-align:left;
	vertical-align:top;
	width:100%;
	height:auto;
	margin:0 ;
	vertical-align:middle;

	position: relative;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;

	background-color:rgba(99, 145, 116, 0.1);
}

.pageServices .container .contents .information .left_img{
	flex-basis:100%;
	width:100%;
	flex-grow: 1;
	height:40vw;
	overflow:hidden;
	vertical-align:top;

	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.pageServices .container .contents .information .right_cnt{
	flex-basis:100%;
	width:100%;
	flex-grow: 1;
	height:auto;
	padding:10vw 10px;
	vertical-align:middle;
	align-self: center;
	text-align:center;
}
.pageServices .container .contents .information h4{
	text-align:center;
	line-height:1.5em;
}
}
/*----------------------------------------------------
Page Massage
----------------------------------------------------*/
.pageProduct{
	text-align:left;
	position: relative;
	display:inline-block;
	width:100vw;
	background-color:#f9f8f4;
}
.pageProduct_inner{
	text-align:left;
	margin:0 auto;
	padding:0;
	width: 100%; height:100%;
	max-width:1024px;
	padding:0 40px 90px;
}
.pageProduct .container{
	margin:0; padding:0;
	width: 100%; height:100%;
	text-align:left;
	position:relative;
	margin-top:20px;
	vertical-align:top;
	display:inline-block;
}

.pageProduct .container h3{
	color:#333;
	text-align:center;
	font-weight:normal;
	line-height:1.5em;
	margin-bottom:20px;
	color:rgba(99, 145, 116, 1);
}
.pageProduct .container .msg_l .info h4{
	font-size:0.9rem;
}
.pageProduct .container .product ul{
	display:inline-block;
	width:auto;
}
.pageProduct .container .product ul li{
	display:inline-block;
	margin-right:10px;
}

h2 small{
	display:block;
	line-height:1.6em;
	font-size:1.2rem;
	margin-top:0.5em;
	color:#777;
}

.pageProduct .container .product ul.product_item{
	width:100%;
	position: relative;
	display:flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;

	padding-bottom:30px;
}
.pageProduct .container .product ul.product_item li{
	height:200px;
	overflow:hidden;
	vertical-align:top;
	margin:0;

	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.pageProduct .container .product ul.product_item.row_4 li{
	width:24.5%;
	flex-basis:24.5%;
}
.pageProduct .container .product ul.product_item.row_3 li{
	width:33%;
/*
	flex-basis:33%;
*/
}
.pageProduct .container .product ul.product_item.row_2 > li{
	width:auto;
	flex-basis:auto;
}

.pageProduct .container .product ul.product_item.row_4 li.grow_2{
	width:50%;
	flex-basis:50%;
}
.pageProduct .container .product ul.product_item.row_2{
}
.pageProduct .container .product ul.product_item.row_2 li.grow_1{
	width:300px;
	flex-basis:300px;
	height:400px;
}
.pageProduct .container .product ul.product_item.row_2 li.grow_1 img{
	height:400px;
}
.pageProduct .container .product ul.product_item.row_2 li.grow_2{
	width:calc(100% - 300px);
	flex-basis:calc(100% - 300px);
	height:400px;
}
.pageProduct .container .product ul.product_item li.under_text{
	vertical-align:bottom;
	position:relative;
	height:235px;
	background-position: center;
}
.pageProduct .container .product ul.product_item li.under_text div{
	display:inline-block;
	vertical-align:bottom;
	position:absolute;
	text-align:left;
	color:#333;
	bottom:0; left:0; right:0;
	font-size:0.85rem;
	line-height:1.4em;
	padding:5px;
	background-color:rgba(255,255,255,0.8);
}

.pageProduct .container .product .grow_2 ul.product_item.row_3 li{
	width:32%;
	flex-basis:32%;
	margin-bottom:1%;
}

.pageProduct .container .product .msg{
	width:100%;
	text-align:center;
	margin:50px 0 20px;
	font-size:1rem;
}


@media only screen and (max-width: 980px) {
	.pageProduct .container .product ul.product_item.row_4 li{
		width:49.5%;
		flex-basis:49.5%;
		margin-bottom:1%;
		height:300px;
	}
	.pageProduct .container .product ul.product_item.row_4 li.grow_2{
		width:100%;
		flex-basis:100%;
		height:400px;
	}
	.pageProduct .container .product ul.product_item li.under_text{
		vertical-align:bottom;
		position:relative;
		height:235px;
		background-position: center;
	}
	.pageProduct .container .product ul.product_item.row_3 li{
		width:100%;
		flex-basis:100%;
		margin-bottom:1%;
	}
	.pageProduct .container .product ul.product_item.row_2 li.grow_1,
	.pageProduct .container .product ul.product_item.row_2 li.grow_2{
		width:100%;
		flex-basis:100%;
		height:auto;
		text-align: center
	}
	.pageProduct .container .product ul.product_item.row_2 li.grow_1 img{
		height:100vw;
		margin-bottom:20px;
	}
	.pageProduct .container .product .grow_2 ul.product_item.row_3 li{
		width:42vw;
		flex-basis:42vw;
		height:42vw;
		margin-bottom:1vw;
	}

}



/*----------------------------------------------------
Page Company
----------------------------------------------------*/
.pageCompany {
	position: relative;
	display:inline-block;
	width:100%;
}
.pageCompany .bodyInfo{
/*
	background-color:rgb(247,247,247);
*/
	width:100%;
	height: auto;
	padding:50px 0;
	padding:0 0 100px 0;
}
.pageCompany .bodyInfo .contents {
	display:inline-block;
	justify-content: center;
	align-items: center;
	width: auto; height:100%;
	text-align:center;
	margin-right: auto;
	text-align:center;
	padding-right:3em;
}
.pageCompany .bodyInfo .contents .information {
	width:auto;
	height:auto;
	color:#231815;
	text-align: left;
	font-size:0.9rem;
	padding-bottom:1em;
	margin:0 auto 0;
}
.pageCompany .bodyInfo  dt,
.pageCompany .bodyInfo  dd{
	line-height:1.7em;
	margin-bottom:1em;
}
.pageCompany .bodyInfo  dt{
	width:6em;
	display:inline-block;
	text-align:right;
	letter-spacing:0.1em;
	font-weight:500;
		color: rgba(99, 145, 116, 1);
}
.pageCompany .bodyInfo  dd{
	margin-left:8em;
	margin-top:-2.7em;
}

.pageCompany .contents ul{
	display:inline-block;
	width:auto;
}
.pageCompany .contents ul li{
	display:inline-block;
	margin-right:10px;
}
.pageCompany .contents ul.block_list li{
	display:block;
}
.pageCompany .contents ul li img{
	height:80px;
}
.pageCompany .contents .mtop{
	margin-top:30px;
}

/*----------------------------------------------------
Mail
----------------------------------------------------*/
.mail{
	background-color:rgba(235, 242, 239, 1);
	text-align:center;
	color:#fff;
	display:inline-block;
	width:100%;
	position: relative;
}
.mail .mailBox{
	display:inline-block;
	width:100%;
	margin:75px auto 65px;
	margin:125px auto 115px;
}
.mail .mailBox_inner a{
	display:inline-block;
	width:100%;
}

.mail .mailBox_inner .mail_L,
.mail .mailBox_inner .mail_C,
.mail .mailBox_inner .mail_R{
	display:block;
	line-height:45px;
	vertical-align:middle;
	font-size:1.3rem;
}
.mail .mailBox_inner .mail_L{
	letter-spacing:0.1em;
}

.mail .mailBox_inner .mail_C{
	background-color:#ccc;
	width:45px; height:45px;
	margin:0 auto 0;

	border-radius: 100px;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;

	-webkit-transition: all 0.7s;
	-ms-transition: all 0.7s;
	transition: all 0.7s;
}
.mail .mailBox_inner a:hover .mail_C{
	background-color:#004e90;
	background-color:rgba(33, 92, 31, 1);

	width:55px; height:55px;
	margin-top:-5px;
}
.mail .mailBox_inner .mail_C img{
	width:45px; height:45px;
	-webkit-transition: all 0.7s;
	-ms-transition: all 0.7s;
	transition: all 0.7s;
}
.mail .mailBox_inner a:hover .mail_C img{
	width:55px; height:55px;
}

.mail .mailBox_inner .mail_R{
	font-size:1.2rem;
	padding:0;
	letter-spacing:0.05em;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.mail .mailcap{
	font-size:0.9rem;
	color:#554c4a;
	margin-top:.75em;
}

.mail .pageToTop {
	width: 40px;
	height: 40px;
	position: absolute;
	right: 30px;
	bottom: 30px;
}
.mail .pageToTop .moveTopBtn {
	width: 100%;
	height: 100%;
	background: transparent;
	cursor: pointer;
	border: 1px solid rgba(99, 145, 116, 1);
	cursor: pointer;
	display: block;
	position: relative;
}
.mail .pageToTop .moveTopBtn:after {
	content: "";
	position: absolute;
	margin-left: -5px;
	left: 50%;
	width: 10px;
	height: 10px;
	border-top: 1px solid #232323;
	border-right: 1px solid #232323;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	vertical-align: middle;
	margin-top: -2px;
	top: 50%;
}
.mail .pageToTop .moveTopBtn:hover {
	background-color: #232323;
	background-color:rgba(99, 145, 116, 1);
}
.mail .pageToTop .moveTopBtn:hover:after {

	border-color: #FFFFFF;
}
/*----------------------------------------------------
Footer
----------------------------------------------------*/
.footer {
	/*
	background-color:rgba(99, 145, 116, 1);
	*/
	position: relative;
	text-align:center;
	color:#fff;
	width:100%;
	display: inline-block;
	margin: 0;
	padding: 0;
	background-color:rgba(33, 92, 31, 1);
}
.footer .container{
	display: inline-block;
	text-align:center;
	width: 100%;
	margin: 0;
	padding: 0;
}
.footer .contents{
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 0;
}
.footerMenu {
	width: 100%;
	display: inline-block;
	padding: 20px 30px;
	background-color:rgba(133, 92, 31, 1);
	background: rgba(0, 0, 0, 0.3);
}
.footerMenu ul {
	letter-spacing: -.4em;
}
.footerMenu ul li {
	display: inline-block;
	letter-spacing: normal;
	margin-right: 2em;
}
.footerMenu ul li span {
	position: relative;
	color: #fff;
	font-size: 0.8rem;
	padding: 5px 0;
	text-decoration: none;
	font-weight: 300;
	letter-spacing:0.1em;

	cursor: pointer;
	padding-bottom:5px;
}
.footerMenu ul li span:hover {
	border-bottom: 1px solid rgba(255,255,255,0.5);
}
.footerName{
	width:100%;
	margin:0;
	padding: 20px 30px 30px;
	display:inline-block;
}
.footer .name {
	width:100%;
	text-align: center;
	float:left;
	font-size: 0.8rem;
	letter-spacing:0.05em;
}
.footer .copy {
	width:100%;
	text-align: center;
	float:right;
	font-size: 0.7rem;
	letter-spacing:0.1em;
	display:inline-block;
}

.header .gNav ul li.sp_onlys,
.footer .sp_onlys{
	display:none;
}
.header .sp-openNav {
	display:none;
}
#menu_bk{
	content:"";
	padding: 0;
	position: fixed;
	background-color:rgba(0,0,0,0.3);
	top: 0; right:0; bottom:0; left:0;
	z-index:998;
	display:none;
}
@media only screen and (max-width: 767px) {
	.header .gNav ul li.sp_onlys,
	.view_Portrait.device_Smartphone .footer .sp_onlys{
		display:inline-block;
	}
	body.view_Portrait.device_Smartphone{
		font-size: 18px;
	}
	.sp_menu .header .gNav ul li p span.short_non {
		display:inline;
	}
	.sp_menu .header .logo a{
		width: calc(100vw - 80px);
	}
	.sp_menu .header .gNav {
		display: block;
		padding: 0;
		position: fixed;
		background-color: #FFF;
		height: auto;
		top: 60px;
		right:-100vw;
		left:initial;
		width: 280px;
		border-top:1px solid rgb(240, 240, 240);
		overflow-y: auto;
		border-right: 1px solid rgb(240, 240, 240);
		-webkit-overflow-scrolling: touch !important;
		overflow-scrolling: touch !important;
		opacity: 0;

		-webkit-transition: all 0.3s;
		-moz-transition: all 0.3s;
		-ms-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
	}
	.sp_menu .header .gNav ul {
		letter-spacing: -.4em;
		height: auto;
		margin-right: 0;
		padding-bottom:20px;
	}
	.sp_menu .header .gNav ul li {
		letter-spacing: normal;
		text-align:left;
		width: 100%;
		padding: 0 0 0 20px;
		border-bottom: 1px solid rgb(240, 240, 240);
		height: auto;
	}
	.sp_menu .header .gNav ul li.active:after,
	.sp_menu .header .gNav ul li:hover:after{
		display:none;
	}
	.sp_menu .header .gNav ul li p {
		padding: 30px 0;
		width: 100%;
		color: #232323;
		text-decoration: none;
		text-align: left;
		font-weight: normal;
	}
	.view_Landscape_3.device_Smartphone .header .gNav ul li p{
		padding: 20px 0;
		display:inline-block;
	}
	.sp_menu .header .sp_openNav {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		background-color: #fff;
		height: 60px;
		width: 60px;
		z-index: 2;
		border:1px solid #ccc;
	}
	.sp_menu .header .sp_openNav .mark {
		padding: 14px 10px;
		background: transparent;
	}
	.sp_menu .header .sp_openNav .mark span {
		border-top: 6px solid #999;
		display: block;
		width: 100%;
		height: 0;
		margin-bottom: 8px;
	}
	.sp_menu .header .sp_closeNav {
		display: none;
		position: absolute;
		top: 0;
		right: 0;
		background-color: #fff;
		height: 60px;
		width: 60px;
		background-image: url(../img/icon_open.png);
		background-size: 60px;
		background-position: center;
		z-index: 2;
		border:1px solid #ccc;
	}
	.view_Landscape_3.device_Smartphone .pageTop .bodyConcept{
		display: inline-block;
		overflow: scroll;
	}
	.view_Landscape_3.device_Smartphone .pageTop .contents{
		padding: 20px 0 20px;
		margin: 70px 0;
	}
	.view_Landscape_3.device_Smartphone .bodyConcept h3{
		/*margin:0;*/
	}
	.view_Portrait.device_Smartphone .title_box h2{
		font-size: 3.0em;
	}
	.view_Portrait.device_Smartphone .pageTop .container{
		position: relative;


		margin-top:20vw;

		max-width: initial;
		display: inline-block;

		width: 60vw;
		height:60vw;
	}
	.view_Portrait.device_Smartphone .pageTop .bodyConcept{
		display: inline-block;
	}
	.view_Portrait.device_Smartphone .pageTop .contents{
		width: 100%;
	}
	.view_Portrait.device_Smartphone .pageTop .shimo{
		display:none;
	}
	.view_Portrait.device_Smartphone .pageTop h3{
		font-size: 1.5em;

	}
	.view_Portrait.device_Smartphone .pageTop .body{
		margin: 0 30px 40px 30px;
	}
	.view_Portrait.device_Smartphone .pageServices .container .contents .information{
/*
		margin: 0 15px 0;
*/
	}
	.view_Portrait.device_Smartphone .pageServices .container .contents .information .left_img{
		display:inline-block;
		width: 100%;
		line-height:70vw;
		height:70vw;
/*
		position:relative;
*/
	}


.view_Portrait.device_Smartphone .pageServices .read{
	font-size:1.2em;
	line-height:2em;
	margin:0 auto 75px;
}



	.view_Portrait.device_Smartphone .pageServices .container#sv_1 .contents .information .right_cnt,
	.view_Portrait.device_Smartphone .pageServices .container#sv_2 .contents .information .right_cnt,
	.view_Portrait.device_Smartphone .pageServices .container#sv_3 .contents .information .right_cnt,
	.view_Portrait.device_Smartphone .pageServices .container#sv_4 .contents .information .right_cnt{
		width: 100%;
		margin-left: 0;
	}
	.view_Portrait.device_Smartphone .pageServices .container .contents .information h4{
		font-size: 1.2rem;
	}
	.view_Portrait.device_Smartphone .pageServices .container .contents .btm_link{
		margin: 25px 15px 35px;
		text-align: center;
	}
	.view_Portrait.device_Smartphone .pageServices .container .contents .btm_link p{
		width: 100%;
		margin: 0;
		font-size: 1.1rem;
		line-height: 1.2em;
		padding:10px 40px 10px 20px;
	}
	.view_Portrait.device_Smartphone .pageServices .container .contents .btm_link p:after{
		content: "";
		width: 15px;
		height: 15px;
		position: absolute;
		right: 15px;
		top: calc(50% - 7.5px);
		background-image: url(../img/zoom.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}
	.view_Portrait.device_Smartphone .pageProduct{
		padding-bottom: 0;
	}
	.view_Portrait.device_Smartphone .pageProduct:after{
		background-image: url(../img/shimoji_2b.png);
		display:none;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .msg_r{
		width: 100%;
		max-width: 100%;
		text-align: left;
		display: inline-block;
		padding: 0 30px 0;
		margin:0;
		color: #231815;

	}
	.view_Portrait.device_Smartphone .pageProduct:before{
		content: "";
		width: 50vw;
		height: 50vw;
		position: absolute;
		left:initial;
		bottom: initial;
		right:20px;
		bottom:20%;
		background-image: url(../img/logo_bk.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .msg_l{
		width: 100%;
		min-width: 100%;
		top: calc(100% + 90px);
		position:relative;
		display: inline-block;
		left: 0;
		margin-top:442px;
		margin-top:407px;
		margin-bottom:-38px;
		text-align: left;
		background-color: rgba(255,255,255,0.6);

	}
	.view_Portrait.device_Smartphone .pageProduct .container .msg_l .msg_l_inner:before{
		display:none;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .msg_l .msg_l_inner .info{
		width: 100% ;
		min-width: 100%;
		text-align: left;
		display: inline-block;
		color: #1f2c5c;
		font-size: 1.1rem;
		padding: 30px 40px 33px;
		line-height: 1.8em;
		background-color:#ebedf2;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .msg_l .info h4{
		font-size: 1.1rem;
		line-height: 1.8em;
		margin:0;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .msg_l:after {
		content: "";
		width: 295px;
		height: 442px;
		position: absolute;
		left: 0;
		top: -408px;
		background-image: url(../img/shimoji_2b.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;

	}
	.view_Portrait.device_Smartphone .pageCompany .bodyMap{
		float: none;
		display:inline-block;
		width: 100%;
		height: 80vh;
	}
	.view_Portrait.device_Smartphone .pc-map{
		display:none;
	}
	.view_Portrait.device_Smartphone .sp-map{
		display:block;
	}
	.view_Portrait.device_Smartphone .pageCompany .bodyInfo{
		float: none;
		display:inline-block;
		width: 100%;
		height: auto;
		padding:0;
		margin-top: -8px;
	}
	.view_Portrait.device_Smartphone .pageCompany .bodyInfo .contents{
		display: inline-block;
		width: 100%;
		height: 100%;
		text-align: center;
		padding:50px 20px;
		margin: 0;
		max-width: 100%;
		background-color: rgb(247,247,247);
		background-color: rgb(255,255,255);
	}
	.view_Portrait.device_Smartphone .pageCompany .bodyInfo .contents .information{
		font-size: 1.0rem;
	}
	.view_Portrait.device_Smartphone .pageCompany .bodyInfo dt{
		width: 100%;
		display: inline-block;
		text-align: center;
		letter-spacing: 0.1em;
		font-weight: 500;
		color:rgba(27, 130, 65, 1);
	}
	.view_Portrait.device_Smartphone .pageCompany .bodyInfo dd{
		margin-left: 0;
		margin-top: 0em;
		text-align: center;
	}
	.view_Portrait.device_Smartphone .mail{
		margin-top: 0;
	}
	.view_Portrait.device_Smartphone .mail .mailBox{
		margin: 65px auto 115px;
	}
	.view_Portrait.device_Smartphone .mail .mailBox_inner{
		text-align: center;
	}
	.view_Portrait.device_Smartphone .mail .mailBox_inner .mail_L,
	.view_Portrait.device_Smartphone .mail .mailBox_inner .mail_C,
	.view_Portrait.device_Smartphone .mail .mailBox_inner .mail_R{
		display:block;
		text-align: center;
		margin:0 auto 0;
	}
	.view_Portrait.device_Smartphone .mail .mailBox_inner .mail_L,
	.view_Portrait.device_Smartphone .mail .mailBox_inner .mail_R{
		margin: 0.5em auto;
		width: 90vw;
	}
	.view_Portrait.device_Smartphone .mail .mailBox_inner a .mail_C{
		width: 65px;
		height: 65px;
		margin-top: -10px;
	}
	.view_Portrait.device_Smartphone .mail .mailBox_inner a .mail_C img{
		width: 65px;
		height: 65px;
	}
	.view_Portrait.device_Smartphone .footer{
		padding-bottom: 0;
	}
	.view_Portrait.device_Smartphone .footerMenu{
		text-align: center;
		padding: 20px 20px;
	}
	.view_Portrait.device_Smartphone .footerMenu ul li{
		margin-right: 1.2em;
	}
	.view_Portrait.device_Smartphone .footerMenu ul li:last-child{
		margin-right: 0;
	}
	.view_Portrait.device_Smartphone .footer .name{
		width: 100%;
		text-align: center;
		float: none;
		font-size: 1.0rem;
		letter-spacing: 0.05em;
		margin-bottom:1em;
	}
	.view_Portrait.device_Smartphone .footer .copy{
		width: 100%;
		text-align: center;
		float: none;
		font-size: 0.7rem;
		letter-spacing: 0.1em;
		display: inline-block;
		line-height:1.2em;
	}







	.view_Portrait.device_Smartphone .pageProduct .container .product ul.product_item.row_4,
	.view_Portrait.device_Smartphone .pageProduct .container .product ul.product_item.row_3{
		flex-direction: column;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .product .grow_2 ul.product_item.row_3{
		flex-direction: row;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .product ul.product_item.row_4 li{
		width: 100%;
		flex-basis: 100%;
		margin-bottom: 10px;
		height: 80vw;
		line-height: 80vw;
	}
	.view_Portrait.device_Smartphone .pageProduct_inner{
		padding: 0 20px 90px;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .product ul.product_item.row_3 li{
		margin-bottom: 20px;
		height: 80vw;
		line-height: 80vw;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .product ul.product_item li.under_text div{
		font-size: 1rem;
		text-align:center;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .product .grow_2 ul.product_item.row_3 li{
		margin-bottom: 20px;
		height: 45vw;
	}
	.view_Portrait.device_Smartphone .pageProduct .container .product .msg{
		margin: 0 0 20px;
	}



	.view_Landscape_3.device_Smartphone .pageCompany .bodyInfo dd{
		white-space: nowrap;
	}


.view_Landscape_3.device_Smartphone .pageTop{
	width: 100vw; height:100vh;
	padding: 60px 0 0 0;
	overflow: hidden;
	text-align: center;
	position: relative;
}
.view_Landscape_3.device_Smartphone .pageTop .top_container{
	width: 100vw; height:100vh;
	position: absolute;
	top:0; bottom: 0;
	left: 0; right:0;
}

.view_Landscape_3.device_Smartphone .pageTop .container{
	width: 65vh;
	height:65vh;

	padding-top:10vh;
	padding-bottom:10vh;
	margin-top:10vh;
	margin-bottom:10vh;
}
.view_Landscape_3.device_Smartphone .pageTop .container img{
	width: auto; height:42vh;
}




}



@media only screen and (max-width: 568px) {
	.view_Landscape_3.device_Smartphone .bodyConcept h3{
		font-size: 2.0em;
	}
}
@media only screen and (max-width: 714px) {
	.view_Portrait.device_Smartphone .header .logo {
		padding: 0 0 0 10px;
	}
}
@media only screen and (max-width: 375px) {
	.view_Portrait.device_Smartphone .header .logo h1{
		padding: 12px 10px 5px 0;
		font-size: 1.0rem;
	}
}
@media only screen and (max-width: 320px) {
	.view_Portrait.device_Smartphone .header .logo h1{
		font-size: 0.8rem;
	}
	.view_Portrait.device_Smartphone .pageTop{
		overflow: initial;
		margin-bottom:120vh;
		padding: 60px 0 120vh 0;
		position:relative;
		background-image: url(../img/top_bk2.jpg);
	}
}