@charset "utf-8";

/* ---------------------------------------------
　layout modules
------------------------------------------------ */

/* base modules
------------------------------------------------ */
.content p,
.content ul,
.content dl,
.content ol,
.content table,
.content blockquote{
	margin: 20px 0 0;
	line-height:1.8em;
}

.content ul p, .content ul dl, .content ul ol, 
.content dl p, .content dl ul, .content dl ol, 
.content ol p, .content ol ul, .content ol dl, 
.content table p, .content table ul, .content table dl, .content table ol{
	margin: 0;
}

.content p img, .content dl img, .content ul img {
	vertical-align: middle;
}

.acms-entry{ margin-bottom: 40px; }
.column-image-auto,.column-image-left,.column-image-center,.column-image-right { margin-top:20px !important; }
.acms-form-group {margin-bottom: 0;}

/* common modules
------------------------------------------------ */

em        { font-weight: bold;}

.small    { font-size:87%;  }
.x-small  { font-size:78%;  }

.large    { font-size:107%; }
.x-large  { font-size:120%; }
.xx-large  { font-size:200%; }

.attention{ color: #FF3366;   }
.bold     { font-weight:bold; }
.catch {
    background: url(../images/bg_title.png) 0 0 repeat;
    font-size: 114.2857%;
    padding: 10px 15px;
}
.link-txt {
    display: inline-block;
    background: url(../images/icon_arrow02.png) 3px 0.5em no-repeat;
    padding-left: 24px;
}
.link-txt:hover {
    background-image: url(../images/icon_arrow02_on.png);
}
.link-txt:visited {
    background-image: url(../images/icon_arrow02_al.png);
}

.center{ text-align: center; }
.right { text-align:right;   }
.left  { text-align:left;    }

.float-l{ float: left;  }
.float-r{ float: right; }
.clear  { clear: both;  }

.img-l{ float:left;  margin:0 25px 10px 0; }
.img-r{ float:right; margin:0 0 10px 25px; }

.nowrap         { white-space:nowrap; }
.nomargintop    { margin-top: 0 !important; }
.content .nocss { maring:0; padding:0; border:none; background:none; }

/* --- anchor --- */

.anchor li {
    display: inline-block;
	background:url(../images/icon_anchor.png) no-repeat 6px 0.5em;
    margin-right: 25px;
	padding-left:23px;
}
.anchor li:last-child {
    margin-right: 0;
}
.anchor li a {
    text-decoration: none;
    color: #26211e;
}
.anchor li a:hover {
    text-decoration: underline;
}

/* --- ext icon --- */

a[href$='.xls'], a[href$='.xlsx']{
	background: url(../images/fileicon/xls.png) no-repeat 100% 50%;
	padding-right: 25px;
}

a[href$='.doc'], a[href$='.docx']{
	background: url(../images/fileicon/doc.png) no-repeat 100% 50%;
	padding-right: 25px;
}

a[href$='pdf']{
	background: url(../images/fileicon/pdf.png) no-repeat 100% 50%;
	padding-right: 25px;
}

a[href$='ppt']{
	background: url(../images/fileicon/ppt.png) no-repeat 100% 50%;
	padding-right: 25px;
}


/* --- openwin --- */

.openwin{
    background: url(../images/icon_window.png) 100% 0.3em no-repeat;
	padding-right: 18px;
}
.openwin span {
    display: inline-block;
    background: url(../images/icon_arrow02_on.png) no-repeat 1px 0.4em;
    padding-left:24px;
}

/* --- blockquote --- */

blockquote,
.acms-entry blockquote{
	background:#fff;
	border:0;
    border-radius: 3px;
    color: #666;
	margin-top:40px;
	padding:10px;
}

.content blockquote > p {
    margin: 0;
}
.content blockquote > p:before {
    content: "― ";
}


/* ------ title -------------------------------- */

.head h2,
.content.one-column h2 {
    font-family: 'あおぞら明朝 bold';
    clear:both;
    margin:37px 0 0;
    line-height: 53px;
    font-size: 157.1428%;
    text-align: left;
    background: url(../images/bg_head02_l.png) 0 0 no-repeat;
    padding: 3px 30px 0;
}
.content h2,
.content .wysiwyg h1{
    font-family: 'あおぞら明朝 bold';
	clear:both;
	margin:30px 0 0;
    line-height: 53px;
    font-size: 157.1428%;
    text-align: left;
    background: url(../images/bg_head02.png) 0 0 no-repeat;
    padding: 3px 30px 0;
}
.content h2.title {
    margin-top: 0;
}
.head h2 a:link,
.content h2 a:link { text-decoration:underline; }

.head h2 a:visited,
.content h2 a:visited       { text-decoration:underline; }

.head h2 a:visited,
.content h2 a:hover,a:active{ text-decoration:none; }


.content h3,
.content .wysiwyg h2{
    font-family: 'あおぞら明朝 bold';
	clear:both;
	margin:40px 0 0;
    font-size: 142.8571%;
    border-bottom: 2px solid #26211e;
	padding: 0 0 6px 7px;
}
.content h3.title {
    margin-top: 0;
}
.content h4, 
.content .wysiwyg h3{
    font-family: 'あおぞら明朝 bold';
	clear:both;
	margin:40px 0 0;
    font-size: 142.8571%;
    border-bottom: 2px solid #b1ac90;
    padding: 0;
}

.content h5, 
.content .wysiwyg h4{
    font-family: 'あおぞら明朝 bold';
	clear:both;
    font-size: 128.5714%;
	margin:20px 0 0;
	padding: 0;
}


/* ------ ul ----------------------------------- */


/* --- normal list --- */

.list li{
	background:url(../images/icon_circle.png) no-repeat 1px 0.7em;
	padding-left:11px;
	margin-bottom:10px;
}

.list li li {
	margin-left: 15px;
}

/* --- link list --- */

.link li {
    margin-bottom:7px;
}

.link li a {
    display: block;
	background:url(../images/icon_arrow01.png) no-repeat 1px 0.3em;
	padding-left:24px;
    text-decoration: none;
}
.link li a:hover {
    background-image: url(../images/icon_arrow01_on.png);
}
.link li a:visited {
    color: #54504d;
}

.link li li{
	margin-left: 15px;
}

/* --- number list --- */

ol li {
	list-style-type:decimal;
	margin-left:25px;
	margin-bottom:10px;
}

ol ul li{
	list-style-type:none;
	margin-left:10px;
}

/* --- alphabet list --- */
ol.alphabet li {
    list-style-type:lower-alpha;
}

/* --- attention list --- */

.rice li{
	margin:0 0 5px 1em;
	text-indent:-1em;
}

/* --- compact list --- */

.compact li{
	display:inline;
	margin-right:10px;
}

/* --- within compact list --- */

.within {
	padding: 8px;
	border: 1px solid #ddd;
}

.within li{
	background:url(../images/icon_arrow_within.png) no-repeat 0 0.4em;
	padding-left:15px;
}


.content ul ul, .content dl dl, .content ol ol {
	margin-top: 5px;
}

/* ------ dl ----------------------------------- */

/* --- horizonal --- */

.horizonal:after {
    display: block;
    clear: both;
    content: "";
}

.horizonal dt {
    clear: left;
    float: left;
    width: 20%;
    font-size: 114.2857%;
    font-weight: bold;
    padding: 0 0 0 10px;
    background: url(../images/icon_circle.png) 0 0.6em no-repeat;
}

.horizonal dd {
    float: left;
    width: 75%;
    margin-bottom: 15px;
}

.horizonal.short dt {
    width: 6em;
}

.horizonal.short dd {
    width: 75%;
}

/* --- normal list --- */

.list dt{
	background:url(../images/icon_arrow01.png) no-repeat 0 0.5em;
	padding-left:15px;
	font-weight:bold;
    box-sizing: border-box;
}

.list dd{
	padding-left:13px;
    box-sizing: border-box;
}

/* --- link list --- */

.link dt{
	background:url(../images/icon_arrow02.png) no-repeat 0 0.4em;
	padding-left:15px;
}

.link dd{
	padding-left:15px;
}

/* --- faq --- */
.faq {
    font-size: 107.1428%;
    margin-top: 30px;
}
.faq dt {
    background: url(../images/icon_q.png) 0 2px no-repeat;
    padding: 0 10px 8px 24px;
    border-bottom: 1px solid #c3bfac;
}

.faq dd {
    background: url(../images/icon_a.png) 0 12px no-repeat;
    padding: 8px 10px 8px 24px;
}

.faq dt span,
.faq dd span {
    color: #c6be99;
    margin-right: 7px;
}

/* ------ layout frame ------------------------- */

.content .layout-frame {
	clear: both;
	margin-left: -10px;
	margin-right: -10px;
}

.content .layout-unit {
	float: left;
	display: inline;
	padding: 0 10px;
    box-sizing: border-box;
}

.grid-1 { width: 8.33333%;}
.grid-2 { width: 16.66667%;}
.grid-3 { width: 25%;}
.grid-4 { width: 33.33333%;}
.grid-5 { width: 41.66667%;}
.grid-6 { width: 50%;}
.grid-7 { width: 58.33333%;}
.grid-8 { width: 66.66667%;}
.grid-9 { width: 75%;}
.grid-10 { width: 83.33333%;}
.grid-11 { width: 91.66667%;}
.grid-12 {float: none;
    width: 100%;}

.grid-1 img, .grid-2 img, .grid-3 img, .grid-4 img, .grid-5 img, .grid-6 img,
.grid-7 img, .grid-8 img, .grid-9 img, .grid-10 img, .grid-11  img, .grid-12 img {
    max-width: 100%;
}

.mt-0 {margin-top: 0 !important}
.mt-10 {margin-top: 10px !important}
.mt-20 {margin-top: 20px !important}
.mt-30 {margin-top: 30px !important}
.mt-40 {margin-top: 40px !important}
.mt-50 {margin-top: 50px !important}

.block {display: block;}

/* --- decorationbox --- */
.decorationbox01 {
    margin-top: 30px;
    padding: 15px;
    background: #acacac;
    color: #fff;
    box-shadow:0px 3px 6px 1px #cccccc;
    -moz-box-shadow:0px 3px 6px 1px #cccccc;
    -webkit-box-shadow:0px 3px 6px 1px #cccccc;
}
.decorationbox02 {
    margin-top: 30px;
    padding: 15px;
    border: 1px solid #2d2824;
}

.content .decorationbox01 p,
.content .decorationbox01 ul,
.content .decorationbox02 p,
.content .decorationbox02 ul {
    margin: 0;
}

/* ------ social media ------------------------- */

.social{
	margin-top:20px;
}

.social ul li{
	float:left;
	margin-right:10px;
	vertical-align:top;
	width:80px;
	display:inline-table;
}

.social ul li.twitter, 
.social ul li.google{
	padding-top:5px;
}

.social ul li *{
	margin:0;
	padding:0;
}

.social ul:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}
* html .social ul             { zoom:1; } /* IE6 */
*:first-child+html .social ul { zoom:1; } /* IE7 */



/* ------ table -------------------------------- */

table{
	border-collapse:collapse;
    border-top: 1px solid #c3bfac;
	width:100%;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}

table th,
table td{
	padding:7px 15px;
	vertical-align:top;
    border-bottom:1px solid #c3bfac;
}

table th{
    background:#fbfaf5;
}

table thead th,
th.head {
    background:#e9d5a7;
}

/* --- noborder --- */

table.noborder,
table.noborder td,
table.noborder th{
	border:0;
	background: none;
}

/* tab
------------------------------------------------ */
.tab {
    margin-bottom: 40px;
}

.tab ul li {
    font-family: 'あおぞら明朝 bold';
    float: left;
    width: 16.6666%;
}

.tab ul li a {
    display: block;
    padding: 10px 15px;
    box-sizing: border-box;
    color: #f1eee0;
    text-align: center;
    text-decoration: none;
    background: url(../images/bg_header.png) 0 0 repeat-x;
    border-top: 1px solid #25211e;
    border-right: 1px solid #25211e;
    border-bottom: 1px solid #25211e;
}
.tab ul li:first-child a {
    border-left: 1px solid #25211e;
}

.tab ul li.stay a,
.tab ul li a:hover {
    color: #25211e;
    background: none;
    background-color: #f1eee0;
}


/* 20170223 Add */
.tab ul{
    display: flex;
    align-items: stretch;
    justify-content: center;
}
.tab ul li{
    flex-grow: 1;
}

/* 1列に収める場合 */
.tab ul li{
    display: flex;
    align-items: stretch;
}
.tab ul li a{
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 均等幅にしない場合 */
.tab.service ul li{
    width: auto;
}
.tab.service ul li a br{
    display: none;
}



/* map
------------------------------------------------ */
.content .map {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    margin-top: 30px;
    height: 0;
    overflow: hidden;
}

.content  iframe,
.content  object,
.content  embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* index
------------------------------------------------ */

.index {
	clear: both;
	margin: 0 0 0 -20px;
}

.index dl {
	position: relative;
	float: left;
	display: inline;
	margin-left: 20px;
	width: 350px;
	background: #eee;
}

.index dt {
	padding: 7px;
	background:#ddd;
}

.index dt a {
	text-decoration:none;
}

.index dd {
	padding: 7px;
}

/* products
------------------------------------------------ */
.products .row {
    box-sizing: border-box;
    margin-left: -10px;
    margin-right: -10px;
}
.products .col-xs-4 {
    width: 33.3333%;
    float: left;
    margin-bottom: 46px;
    padding: 0 10px;
    box-sizing: border-box;
}
.products .col-xs-4 .img {
    display: block;
    height: 200px;
    overflow: hidden;
}
.products .col-xs-4 img {
    max-width: 100%;
}
.products .col-xs-4 dl {
    background: #e6e0c5;
    margin: 0;
    padding: 20px 15px 16px;
}
.products .col-xs-4 dt {
    font-family: 'あおぞら明朝 bold';
    font-size: 171.4%;
    text-align: center;
}
.products .col-xs-4 dt a {
    color: #26221f;
    text-decoration: none;
}
.products .col-xs-4 dt a:hover {
    text-decoration: underline;
}
.products .col-xs-4 dd {
    margin: 10px 0 0 0;
}
.products .col-xs-4 .icon ul {
    margin-left: -4px;
    margin-right: -4px;
}
.products .col-xs-4 .icon ul:after {
    visibility:hidden;
    display:block;
    font-size:0;
    content:" ";
    clear:both;
    height:0;
}
.products .col-xs-4 .icon li {
    width: 23%;
    float: left;
    border: 1px solid #b8b4a7;
    font-size: 78.5714%;
    text-align: center;
    margin:  0 1%;
    box-sizing: border-box;
}
.products .col-xs-4 .icon li a {
    text-decoration: none;
}

/* service
------------------------------------------------ */

.content .service_text p {
    width: 485px;
    height: 320px;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.content .service_text p span {
    display: inline-block;
    text-align: left;
}

.content .service_btn {
    margin:  35px 20px 0;
}


/* sitemap
------------------------------------------------ */
.content .sitemap dl {
    border: 1px solid #25211e;
    margin-top: 30px;
    padding: 20px;
}
.content .sitemap dl dt a,
.content .sitemap .btn-link a {
    text-decoration: none;
    color: #25211e;
}

.content .sitemap dt a:hover {
    color: #af7700;
}

.content .sitemap dt {
    font-size: 114.2857%;
    font-weight: bold;
    border-bottom: 2px solid #b1ac90;
    padding: 0 0 10px 0;
}

.content .sitemap dd {
    margin: 15px 0 0 0;
}
.content .sitemap dd ul {
    letter-spacing: -.40em;
}
.content .sitemap dd ul li {
    width: 25%;
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
    margin: 5px 0 0 0;
}

.content .sitemap .btn-link {
    margin: 10px -10px 0 -10px;
}

.content .sitemap .btn-link li {
    width: 33.3333%;
    float: left;
    font-size: 110%;
    margin-top: 20px;
    padding: 0 10px;
    box-sizing: border-box;
}

.content .sitemap .btn-link li a {
    display: block;
    border: 1px solid #25211e;
    background:url(../images/icon_arrow01.png) no-repeat 20px 50%;
    padding: 20px;
    padding-left: 45px;
    box-sizing: border-box;
}

.content .sitemap .btn-link li a:hover {
    background:url(../images/icon_arrow01_on.png) no-repeat 20px 50%;
    color: #af7700;
}


/* cms
------------------------------------------------ */

.acms-entry .acms-grid p {
    padding: 0 10px;
}

/* --- entry-date --- */

.entry-date {
	text-align: right;
	font-size: 87%;
}

/* --- entry-navigation / pager-navigation --- */

.entry-navigation,
.pager-navigation{
	margin:50px 0 0;
}

.entry-navigation a:link, .entry-navigation a:visited, .entry-navigation a:hover, .entry-navigation a:active, 
.pager-navigation a:link, .pager-navigation a:visited, .pager-navigation a:hover, .pager-navigation a:active{
	text-decoration:none;
}

.entry-navigation ul, 
.pager-navigation ul{
	margin:0;
}

/* entry-navigation */

.entry-navigation{
	padding:10px;
}

.entry-navigation li{
	width:300px;
}

.entry-navigation .entry-old{
	float:left;
}
.entry-navigation .entry-old a {
    display: inline-block;
    background: url(../images/icon_prev.png) 0 0.5em no-repeat;
    padding-left: 15px;
}
.entry-navigation .entry-old a:hover {
    background-image: url(../images/icon_prev_on.png);
}

.entry-navigation .entry-new{
	float:right;
	text-align:right;
}
.entry-navigation .entry-new a {
    display: inline-block;
    background: url(../images/icon_next.png) 100% 0.5em no-repeat;
    padding-right: 15px;
}
.entry-navigation .entry-new a:hover {
    background-image: url(../images/icon_next_on.png);
}

.entry-navigation .home{
	text-align:center;
	margin-top:-20px;
}

.entry-navigation ul:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}
* html .entry-navigation ul             { zoom:1; } /* IE6 */
*:first-child+html .entry-navigation ul { zoom:1; } /* IE7 */

/* pager-navigation */

.pager-navigation ul li{
	float:left;
	text-align:center;
	margin-right:10px;
	line-height:1;
}

.pager-navigation ul li span.cur{
	background:#f6f6f6;
	border:1px solid #CECECE;
	color:#666;
	display:block;
	line-height:1;
	padding:0.5em 0.7em;
	position:relative;
}

.pager-navigation ul li a:link, 
.pager-navigation ul li a:visited{
	background:#fff;
	border:1px solid #CECECE;
	color:#666;
	display:block;
	line-height:1;
	padding:0.5em 0.7em;
	position:relative;
}

.pager-navigation ul li a:hover, 
.pager-navigation ul li a:active{
	background:#CECECE;
}

/* 続きを読むリンク */
.search.entry p.continue {
	margin: 0;
	padding: 0;
}

.search.entry p.continue a {
	display: block;
	margin: 0;
	padding: 10px 0;
	border-top: 1px solid #E8E8E8;
}

.search.entry p.continue a:hover {
	background-color: #F0F0F0;
}

