@charset "UTF-8";
/* ######################################################################################

　基本設定

###################################################################################### */


/* ====================================================
  ベースフォントサイズ
==================================================== */
/*
html{font-size:calc(100vw / 25)}
@media screen and (min-width: 460px) {
html{font-size:calc(100vw / 45)}
}
@media screen and (min-width: 768px) {
html{font-size:calc(100vw / 65)}
}
@media screen and (min-width: 992px) {
html{font-size:calc(100vw / 80)}
}
@media screen and (min-width: 1200px) {
html{font-size:calc(100vw / 100)}
}
*/

/*
html{font-size: 0.8em; }
@media screen and (min-width: 480px) {
	html{ font-size: 0.9em; }
}
@media screen and (min-width: 768px) {
	html{ font-size: 1em; }
}
@media screen and (min-width: 980px) {
	html{ font-size: 1em; }
}
*/

html { font-size: calc(12px + 0.5vw) }
@media screen and (min-width: 768px) {
	html{ font-size: 0.9em; }
}

body {
    color: #946134;
	/* font-family: "リュウミン M-KL", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; */
	font-family: "リュウミン M-KL", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
a,
a:hover {
	color: #946134;
}

/*
body {font-size:1.2rem;}
@media screen and (min-width: 768px) {
body {font-size:1.2rem;}
}
@media screen and (min-width: 992px) {
body {font-size:1.2rem;}
}
@media screen and (min-width: 1200px) {
body {font-size:1.2rem;}
}
*/

#ContentsBase {
	background-color: #fff;
}
.pageIndex #ContentsBase {
	/* margin-top: 600px; */ /* dummy */
}

.contents {
    margin:0 auto;
	padding-right:10px;
	padding-left:10px;
}
img.full {
	width: 100%;
}

@media print, screen and (min-width: 768px) {
    .contents { width:100%; max-width:1000px; }
}
@media screen and (max-width: 767px){
    #ContentsBase {
		margin-top: 20vw;
	}
	.contents {
		width:100%;
	}
}
@media screen and (max-width: 425px){
    #ContentsBase {
		margin-top: 85px;
	}
}

.sentence {
	max-width: 882px;
	width: 90%;
	margin-bottom: 8.8vw;
}
.sentence.half {
	max-width: 507px;
	width: 90%;
}

.sentence h2 {
	margin-top: 7.2vw;
	margin-bottom: 3.2vw;
}
.contents h2.dotted {
	text-align:center;
	padding: 15px;
	font-size: 150%;
	width:100%;
	border-top:#999 1px dotted;
	border-bottom:#999 1px dotted;
	margin-bottom: 3.2vw;
}
.contents h2 img {
	width:100%;
	max-width: 480px;
}

.sentence .sentenceImg {
	margin-top: 5.4vw;
}

@media print, screen and (min-width: 1014px) {
	.sentence {
		margin-bottom: 88px;
	}
	.sentence h2 {
		margin-top: 72px;
		margin-bottom: 32px;
	}
	.sentence .sentenceImg {
		margin-top: 54px;
	}
}

h1.title {
	max-width: 240px;
	width: 100%;
	text-align: center;
	font-weight: normal;
	font-size: 18px;
	margin: 0 auto;
	margin-bottom: 42px;
	padding-top: 0;
}
h1.title img {
	margin-bottom: 18px;
	width: 100%;
}
@media print, screen and (max-width: 767px) {
	h1.title {
		margin-bottom: 6.5vw;
		padding-top: 3vw;
	}
}


section,article,aside,div,span,p,ul,ol,li,dl,dt,dd,table,thead,tbody,tr,th,td {font-size:1rem;}

a.op:hover img {
	opacity: 0.8;
}

p {margin: 0 0 1em;}
p:last-of-type { margin-bottom: 0; }
.alignL { text-align: left !important; }
.alignC { text-align: center !important; }
.alignR { text-align: right !important; }
.alignE {
    text-align: justify !important;
    text-justify: inter-ideograph !important;
    -moz-text-align-last: justify !important;
    text-align-last: justify !important;
}

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

/* -------------------------------------------------------
 * ヘッダ
 * ------------------------------------------------------- */

header {
	margin-bottom: 33px;
	background: url(../img/header/back_image.png) no-repeat center top;
	background-size: contain;
	/* min-height: 80px; */
}
header .contents {
	padding-left: 7.2%;
	padding-right: 7.2%;
	max-width: 1167px;
	height: 11.8vw;
	min-height: 65px;
	max-height: 138px;
	z-index: 1;
}
header .border {
	height: 4px;
	background: url(../img/header/back_line.png) repeat-x top;
	z-index: -1;
	position: relative;
}
header .bottom {
	height: 2.8vw;
	max-height: 28px;
	width: 98%;
	max-width: 980px;
	margin: 0 auto;
	text-align: right;
}
header .bottom span {
}
header .bottom span a img {
	width: 23%;
	max-width: 220px;
}

h1.logo {
	padding-top: 2.9vw;
	max-width: 298px;
	width: 31%;
	min-width: 150px;	
}

h1.logo img {
	width: 100%;
}

@media print, screen and (max-width: 767px) {
	header {
		background-color: #FFF;
	}
}
@media screen and (min-width: 1000px) {
	header .contents {
		padding-left: 84px;
		padding-right: 84px;
		height: 11.8vw;
	}
}
@media screen and (min-width: 1167px) {
	h1.logo {
		padding-top: 34px;
	}
}



/* -------------------------------------------------------
 * グローバルナビ
 * ------------------------------------------------------- */
@media print, screen and (min-width: 768px) {

	.gnav{
		float:right;
		padding-top: 8.4vw;
		width:60%;
	}
    .gnav ul{
		font-size: 0;
		text-align: center;
	}
    .gnav li{
        display: inline-block;
        vertical-align: top;
    }
    .gnav li.menu01 { width: 8.9%; max-width: 52px; } /* 52 / 588 */
    .gnav li.menu02 { width: 15.7%; max-width: 92px; } /* 92 / 588 */
    .gnav li.menu03 { width: 18.9%; max-width: 111px; } /* 111 / 588 */
    .gnav li.menu04 { width: 18.9%; max-width: 111px; } /* 111 / 588 */
	
    .gnav li.menu01 a { background-image: url(../img/header/navi01.png); }
    .gnav li.menu02 a { background-image: url(../img/header/navi02.png); }
    .gnav li.menu03 a { background-image: url(../img/header/navi03.png); }
    .gnav li.menu04 a { background-image: url(../img/header/navi04.png); }

	.gnav li a:hover { border-bottom: 1px solid #946134; }
	.gnav li.active a { border-bottom: 1px solid #946134; }
	/*
    .gnav li a:hover { background-position: 0 -100%; }
	.gnav li.active a { background-position: 0 -100%; }
	*/

    .gnav li + li{ margin-left: 8%; }

    .gnav li a {
		display: block;
		height:2.2vw;
		max-height: 22px;
        padding: 0;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
        background-position: 0 0;
		background-size:cover;
    }

	.gnav ul.menu02sub {
		float: left;
		text-align: left;
		width: 23.2%;
		max-width: 150x;
		margin: 2px 0 0 17%;
	}
	
    .gnav li.menu02_01 { width: 45.3%; max-width: 68x; } /* 68 / 646 */
    .gnav li.menu02_02 { width: 45.3%; max-width: 68px; } /* 68 / 646 */
	
    .gnav li.menu02_01 a { background-image: url(../img/header/navi02_01.png); }
    .gnav li.menu02_02 a { background-image: url(../img/header/navi02_02.png); }

    .gnav li.menu02_01.active a { background-image: url(../img/header/navi02_01.png); }
    .gnav li.menu02_02.active a { background-image: url(../img/header/navi02_02.png); }

    .gnav ul.menu02sub li a {
		height:1.58vw;
		max-height: 16px;
    }

	
	/*
	.gnav{ float:right; padding: 8px 0; }
    .gnav ul{ font-size: 0; text-align: center; }
    .gnav li{
        display: inline-block;
        vertical-align: top;
    }
    .gnav li.menu01 { width: 84px; }
    .gnav li.menu02 { width: 99px; }
    .gnav li.menu03 { width: 99px; }
    .gnav li.menu04 { width: 107px; }
    .gnav li.menu05 { width: 125px; }
	
    .gnav li.menu01 a { background: url(../img/header/navi01.png); }
    .gnav li.menu02 a { background: url(../img/header/navi02.png); }
    .gnav li.menu03 a { background: url(../img/header/navi03.png); }
    .gnav li.menu04 a { background: url(../img/header/navi04.png); }
    .gnav li.menu05 a { background: url(../img/header/navi05.png); }

    .gnav li a:hover { background-position: 0 -33px; }

    .gnav li + li{ margin-left: 18px; }
    
    .gnav li a {
		display: block;
		height: 33px;
        padding: 0;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
        background-position: 0 0;
    }
	*/
    .pageIndex .gnav li.menu01 a,
    .pageConcept .gnav li.menu02 a,
    .pageEvent .gnav li.menu03 a,
    .pageWorks .gnav li.menu04 a,
    .pageCompany .gnav li.menu05 a,
    .gnav li a:hover{
    }

	#SlideMenu,
	#SlideToggle { display: none; }
	#ContentsBase {
		min-height: inherit !important;
		box-shadow: none !important;
		transform: translate3d(0, 0, 0) !important;
	}
    
}


@media screen and (max-width: 767px) {
    header .bottom span,
	.gnav{
		display: none;
	}
}
@media screen and (min-width: 1167px) {
	.gnav{
		padding-top: 98px;
	}
}

/* -------------------------------------------------------
 * ページャー
 * ------------------------------------------------------- */
ul.pager {
	text-align: center;
}
ul.pager li {
	display: inline-block;
	width: 34px;
	height: 34px;
	border: #999 1px solid;
	text-align: center;
	vertical-align: middle;
}
ul.pager li a {
	width: 34px;
	height: 34px;
}

/* -------------------------------------------------------
 * フッタ
 * ------------------------------------------------------- */
footer {
	/* background-color: #DCDDDD; */
	padding: 14px 0;
}
footer .copyright {
	text-align: center;
}
footer .copyright small {
	font-size: 12px;
}

@media screen and (max-width: 767px){
}





div.title {
	margin-bottom: 4.3vw;
}
.pageProductSub div.title,
.pageInformation div.title {
	margin-bottom: 0;
}
@media screen and (min-width: 1014px){
	div.title {
		margin-bottom: 43px;
	}
}

div.title .contents {
	padding: 0;
}
div.title .contents.border {
	border-top: #ddd 1px solid;
}

div.title .contents h1 {
	width: 95%;
	max-width: 480px;
	margin: 0 auto 2.5vw auto;
	font-size: 1.75rem;
}
@media print, screen and (min-width: 1014px) {
	div.title .contents h1 {
		margin: 26px auto;
	}
}

div.title .contents h1 img {
	width: 100%;
}

div.title .contents .titleImg {
	margin-bottom: 4.2vw;
}
@media print, screen and (min-width: 1014px) {
	div.title .contents .titleImg {
		margin-bottom: 42px;
	}
}

.pageContent .sentence {
	max-width: 862px;
}



/* ######################################################################################

　imgFit　枠に合わせて画像をフィット　※枠の高さ指定必須

###################################################################################### */
/* ====================================================
　画像の比率を保って枠内を埋めるようトリミング
==================================================== */
img.imgFit.cover   {object-fit: cover;}
/* ====================================================
　画像の比率を保って枠内に表示
==================================================== */
img.imgFit.contain {object-fit: contain;}
/* ====================================================
　枠のサイズに画像を伸縮（比率は無視）
==================================================== */
img.imgFit.fill {object-fit: fill;}
/* ====================================================
　画像の比率を保ってオリジナルのサイズでトリミング
==================================================== */
img.imgFit.none {object-fit: none;}
/* ====================================================
　画像が大きい場合contain、小さい場合はnoneの挙動
==================================================== */
img.imgFit.scaleDown {object-fit: scale-down;}

.error404 .notfound {
	text-align: center;
	padding: 40px;
}
.error404 .notfound h1 {
	margin-bottom: 20px;
}

/* ######################################################################################

　WordpRess

###################################################################################### */
p {
	display: block;
	margin: 1em 0;
}
strong { font-weight: bold; }
em { font-style: italic; }
blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}

/* img */

.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright { float: right; }
.alignleft { float: left; }

img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
/* clearfix */

.clearfix {
	overflow: hidden;
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
