/*-------------------------------------------------------------
Base & Reset
-------------------------------------------------------------*/
html {
	font-size: 62.5%; /* = 10px (16px[Default]*0.625) */
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body { overflow-y: scroll; }
/* print width			------------------------------------ */
@media print { body { display: table !important; } }
@page { margin: 12mm 8mm; }
/* IE max-width fix		------------------------------------ */
img[src$=".svg"], img[src$=".svgz"] { width: 100%; height: auto; }
/* responsive video		------------------------------------ */
embed, iframe, object, video { max-width: 100%; vertical-align: middle; margin-top: 1.5em; margin-bottom: 1.5em; display: block; clear: both; }
/* remove url @print	------------------------------------ */
@media print { a[href]:after { content: "" !important; } abbr[title]:after { content: "" !important; } }


/*-------------------------------------------------------------
Clear
-------------------------------------------------------------*/
.entry-header:before, .entry-header:after,
.entry-content:before, .entry-content:after,
.entry-footer:before, .entry-footer:after,
.site-header:before, .site-header:after,
.site-content:before, .site-content:after,
.site-footer:before, .site-footer:after,
.page-header:before, .page-header:after,
.page-content:before, .page-content:after,
.page-footer:before, .page-footer:after { display: table; content: " "; }
.entry-header:after,
.entry-content:after,
.entry-footer:after,
.site-header:after,
.site-content:after,
.site-footer:after,
.page-header:after,
.page-content:after,
.page-footer:after { clear: both; }


/*-------------------------------------------------------------
Library Setting
-------------------------------------------------------------*/
/* JavaScript: fancybox v1 fix			-------------------- */
#fancybox-wrap, #fancybox-wrap * { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; -o-box-sizing: content-box; -ms-box-sizing: content-box; box-sizing: content-box; }
#fancybox-right:hover span { right: 0 !important; }
#fancybox-left:hover span { left: 0 !important; }

/* PLUGIN: Simple Map					-------------------- */
.simplemap { margin-bottom: 0.5em; padding: 8px; border: 1px solid #ccc; background: #fff; }

/* PLUGIN: WP SiteManager sitemap		-------------------- */
ul.sitemap { padding-left: 1em; list-style: none; margin-top: 30px; }
ul.sitemap li { margin-top: 15px; }
ul.sitemap > li.sitenavi-pages {  }
ul.sitemap > li.sitenavi-pages ul.children { padding-left: 1em; list-style: none; }
ul.sitemap > li.sitenavi-pages ul.children li {  }
ul.sitemap a:before { content: "\f0da\00a0";
	/* 	fontAwesome */
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	font-size-adjust: none;
	font-stretch: normal;
	font-feature-settings: normal;
	font-language-override: normal;
	font-kerning: auto;
	font-synthesis: weight style;
	font-variant: normal;
	font-size: inherit;
	text-rendering: auto;
	-moz-osx-font-smoothing: grayscale;
}

/* PLUGIN: WP SiteManager breadcrumb	-------------------- */
.breadcrumb {  }

/* PLUGIN: WP SiteManager page_navi		-------------------- */
.page_navi {  }

/* PLUGIN: MW WP Form					-------------------- */
.mw_wp_form {}
.mw_wp_form_input {}
.mw_wp_form_confirm {}
.mw_wp_form_complete {}

/* PLUGIN: Contact Form 7				-------------------- */
span.wpcf7-list-item { display: block; }
.wpcf7 .checkbox-horizontal div.checkbox + .checkbox,
.wpcf7 .radio-horizontal div.radio + .radio { margin-top: 0px; margin-left: 10px; }
.wpcf7 .checkbox-horizontal div.checkbox,
.wpcf7 .radio-horizontal div.radio { position: relative; display: inline-block; margin-top: 0; margin-bottom: 0; }
.wpcf7 .checkbox-horizontal div.checkbox label,
.wpcf7 .radio-horizontal div.radio label { padding-left: 20px; margin-bottom: 0px; font-weight: 400; vertical-align: middle; cursor: pointer; }
.wpcf7 .submit-wrap .form-group div { text-align: center; }
.wpcf7 .submit-wrap .form-group div img { margin-top: 15px; }
/* alert */
.wpcf7 .wpcf7-response-output:before { font-size: 1.25em; line-height: 1.25;
	/* 	fontAwesome */
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	font-size-adjust: none;
	font-stretch: normal;
	font-feature-settings: normal;
	font-language-override: normal;
	font-kerning: auto;
	font-synthesis: weight style;
	font-variant: normal;
	font-size: inherit;
	text-rendering: auto;
	-moz-osx-font-smoothing: grayscale;
}
.wpcf7 .wpcf7-mail-sent-ok:before { content: "\f058\00a0"; }
.wpcf7 .wpcf7-mail-sent-ng:before { content: "\f057\00a0"; }
.wpcf7 .wpcf7-validation-errors:before { content: "\f071\00a0"; }


/*-------------------------------------------------------------
Utility
-------------------------------------------------------------*/
.indent { padding-left: -1em; text-indent: 1em; }
.ir { text-indent: 100%; white-space: nowrap; overflow: hidden; display: block; }
.text-nowrap { white-space: nowrap; }
.text-cut { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-wrap: normal; }
.bg-cover { background-position: 50% 50%; background-size: cover; background-repeat: no-repeat; }
.img-full { width: 100%; height: auto; padding-left: 0; padding-right: 0; }
.text-tategaki { width: 1em; line-height: 1; display: block; word-wrap: break-word; text-align: center; margin-left: auto; margin-right: auto; }
.text-tategaki small, .text-tategaki .small { width: 1em; line-height: 1; display: block; word-wrap: break-word; text-align: center; margin-left: auto; margin-right: auto; }
.rollover { background: #fff; display: inline-block; }

/* Google Maps API Info Window			-------------------- */
.window-content { width: 20em; line-height: 1; overflow: hidden; white-space: nowrap; }
.window-content h4, .window-content p, .window-content a { color: #808080; }
.window-content h4 { margin: 0.5em 0 0.25em; }
.window-content p { margin: 0 0 0.25em; }

/* Floated List Centering				-------------------- */
.float-center { position: relative; overflow: hidden; }
.float-center > * { position: relative; left: 50%; float: left; padding-left: 0; padding-right: 0; margin-bottom: 0; list-style: none; }
.float-center > * > * { position: relative; left: -50%; float: left; }

/* Responsive BR						-------------------- */
.text-expand br { display: block; }
@media (min-width: 768px) { .text-expand br { display: none; } }
.text-compact br { display: none; }
@media (min-width: 768px) { .text-compact br { display: block; } }

/* Horizontal Center Line				-------------------- */
.hcl { overflow: hidden; padding: 0 0.5em; position: relative; }
.hcl:before, .hcl:after { content: " "; position: absolute; top: 50%; border-top: 1px solid #CCCCCC; width: 4em; }
.hcl:before { right: 100%; }
.hcl:after { left: 100%; }


/*-------------------------------------------------------------
Utility - Context
-------------------------------------------------------------*/
.catch { font-size: 1.5em; }
.lead { font-size: 1.25em; }
.required { color: #A94442; font-size: 0.8em; }
.strong { font-weight: bold; }
.small, .caption, .note { font-size: 0.85em; line-height: 1.25; }
.caption { padding: 0.25em; background-color: #CCCCCC; }
.note { padding-bottom: 0.25em; border-bottom: 1px solid #CCCCCC; }


/*-------------------------------------------------------------
Utility - Bootstrap
-------------------------------------------------------------*/
/* Bootstrap Class Override				-------------------- */
.page-header { padding-bottom: 0; margin: 0; border-bottom: none; }

/* Responsive Text Alignment (Centering Small Screen)	---- */
.text-sm-right, .text-md-right, .text-lg-right,
.text-sm-left, .text-md-left, .text-lg-left { text-align: center; display: block; }
@media (min-width: 768px) { .text-sm-right { text-align: right; } .text-sm-left { text-align: left; } }
@media (min-width: 992px) { .text-md-right { text-align: right; } .text-md-left { text-align: left; } }
@media (min-width: 1200px) { .text-lg-right { text-align: right; } .text-lg-left { text-align: left; } }

/* Grid No Gutter						-------------------- */
.row.no-gutter { margin-right: 0; margin-left: 0; }
.row.no-gutter > [class^="col-"], .row.no-gutter > [class*=" col-"] { padding-right: 0; padding-left: 0; }

/* Grid 5 Columns						-------------------- */
.col-xs-15, .col-sm-15, .col-md-15, .col-lg-15 { position: relative; min-height: 1px; padding-right: 10px; padding-left: 10px; }
.row.no-gutter .col-xs-15, .row.no-gutter .col-sm-15, .row.no-gutter .col-md-15, .row.no-gutter .col-lg-15 { padding-right: 0; padding-left: 0; }
.row.no-gutter.col-15 { margin-left: 0; margin-right: 0; }
.col-xs-15 { width: 20%; float: left; }
@media (min-width: 768px) { .col-sm-15 { width: 20%; float: left; } }
@media (min-width: 992px) { .col-md-15 { width: 20%; float: left; } }
@media (min-width: 1200px) { .col-lg-15 { width: 20%; float: left; } }

/* Grid Tiny Gutter						-------------------- */
.row.tiny-gutter { margin-right: -2px; margin-left: -2px; }
.row.tiny-gutter > [class^="col-"], .row.tiny-gutter  > [class*=" col-"] { padding-right: 2px; padding-left: 2px; }
/* Grid Half Gutter						-------------------- */
.row.half-gutter { margin-right: -7px; margin-left: -7px; }
.row.half-gutter > [class^="col-"], .row.half-gutter > [class*=" col-"] { padding-right: 7px; padding-left: 7px; }
/* Grid x2 Gutter						-------------------- */
.row.x2-gutter { margin-right: -30px; margin-left: -30px; }
.row.x2-gutter > [class^="col-"], .row.x2-gutter  > [class*=" col-"] { padding-right: 30px; padding-left: 30px; }

/* List Stack							-------------------- */
.list-xs-stack { display: block !important; float: none !important; }
@media (min-width: 768px) { .list-xs-stack { display: inherit !important; float: inherit !important; } }

/* Vertical Align Center				-------------------- */
.vertical-sm-center { display: inherit; }
.vertical-sm-center > * { display: inherit; vertical-align: inherit; float: inherit; }
@media (min-width: 768px) {
.vertical-sm-center { display: table; }
.vertical-sm-center > * { display: table-cell; vertical-align: middle; float: none; }
}

/* Grid Vertical Align by Table			-------------------- */
.row-table.row-xs-table { display: table !important; }
.row-table.row-xs-table > [class*="col-"] { float: none !important; display: table-cell !important; vertical-align: middle; }
.row-table.row-xs-table > [class*="col-"].td-top { vertical-align: top !important; }
.row-table.row-xs-table > [class*="col-"].td-bottom { vertical-align: bottom !important; }
@media (min-width: 768px) {
.row-table.row-sm-table { display: table !important; }
.row-table.row-sm-table > [class*="col-"] { float: none !important; display: table-cell !important; vertical-align: middle; }
.row-table.row-sm-table > [class*="col-"].td-top { vertical-align: top !important; }
.row-table.row-sm-table > [class*="col-"].td-bottom { vertical-align: bottom !important; }
}
@media (min-width: 992px) {
.row-table { display: table !important; }
.row-table > [class*="col-"] { float: none !important; display: table-cell !important; vertical-align: middle; }
.row-table > [class*="col-"].td-top { vertical-align: top !important; }
.row-table > [class*="col-"].td-bottom { vertical-align: bottom !important; }
}

/* Grid Vertical Align by Flex			-------------------- */
.row-xs-flex-center { display: flex; align-items: center; }
@media (min-width: 768px) { .row-sm-flex-center { display: flex; align-items: center; } }
@media (min-width: 992px) { .row-md-flex-center { display: flex; align-items: center; } }
@media (min-width: 1200px) { .row-lg-flex-center { display: flex; align-items: center; } }

/* Grid Align							-------------------- */
.row-xs-center,
.row-sm-center,
.row-md-center,
.row-lg-center {
	text-align: center;
	letter-spacing: -0.4em;
}
.row-xs-center > [class*='col-'],
.row-sm-center > [class*='col-'],
.row-md-center > [class*='col-'],
.row-lg-center > [class*='col-'] {
	display: block;
	letter-spacing: 0;
	vertical-align: top;
	float: none !important;
}
@media (min-width: 768px) { .row-sm-center > [class*='col-'] { display: inline-block; } }
@media (min-width: 992px) { .row-md-center > [class*='col-'] { display: inline-block; } }
@media (min-width: 1200px) { .row-lg-center > [class*='col-'] { display: inline-block; } }
.row-xs-center.vertical-middle > [class*='col-'],
.row-sm-center.vertical-middle > [class*='col-'],
.row-md-center.vertical-middle > [class*='col-'],
.row-lg-center.vertical-middle > [class*='col-'] {
	vertical-align: middle;
}
.row-xs-center.vertical-bottom > [class*='col-'],
.row-sm-center.vertical-bottom > [class*='col-'],
.row-md-center.vertical-bottom > [class*='col-'],
.row-lg-center.vertical-bottom > [class*='col-'] {
	vertical-align: bottom;
}

/* Centered Columns Styles				-------------------- */
.row-centered {
	text-align: center;
}
.col-centered {
	display: inline-block;
	float: none;
	/* reset the text-align */
	text-align: left;
	/* inline-block space fix */
	margin-right: -4px;
}

/* Fixed Column Size					-------------------- */
.col-fixed {
	/* custom fixed width */
	width: 970px;
}
.col-min {
	/* custom min width */
	min-width: 320px;
}
.col-max {
	/* custom max width */
	max-width: 1280px;
}


/*-------------------------------------------------------------
Web Fonts (snippet)
-------------------------------------------------------------*/
.font-serif { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, serif; }
.font-sans { font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", YuGothic, "游ゴシック", "メイリオ", Meiryo, Verdana, sans-serif; }
.font-roboto { font-family: "Roboto Condensed", sans-serif; }
.font-abel { font-family: "Abel", sans-serif; }
.font-ptsans { font-family: "PT Sans", sans-serif; }


/*-------------------------------------------------------------
Alert Icon
-------------------------------------------------------------*/
.alert {}
.alert:before {
	/* 	fontAwesome */
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	font-size-adjust: none;
	font-stretch: normal;
	font-feature-settings: normal;
	font-language-override: normal;
	font-kerning: auto;
	font-synthesis: weight style;
	font-variant: normal;
	font-size: inherit;
	text-rendering: auto;
	-moz-osx-font-smoothing: grayscale;
}
.alert-success:before { content: "\f058\00a0"; }
.alert-info:before { content: "\f05a\00a0"; }
.alert-warning:before { content: "\f071\00a0"; }
.alert-danger:before { content: "\f057\00a0"; }


/*-------------------------------------------------------------
Link Icon
-------------------------------------------------------------*/
.btn-caret-right:before,
.link-caret-right:before { content: "\f0da\00a0";
	/* 	fontAwesome */
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	font-size-adjust: none;
	font-stretch: normal;
	font-feature-settings: normal;
	font-language-override: normal;
	font-kerning: auto;
	font-synthesis: weight style;
	font-variant: normal;
	font-size: inherit;
	text-rendering: auto;
	-moz-osx-font-smoothing: grayscale;
}
.btn-angle-right:before,
.link-angle-right:before { content: "\f105\00a0";
	/* 	fontAwesome */
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	font-size-adjust: none;
	font-stretch: normal;
	font-feature-settings: normal;
	font-language-override: normal;
	font-kerning: auto;
	font-synthesis: weight style;
	font-variant: normal;
	font-size: inherit;
	text-rendering: auto;
	-moz-osx-font-smoothing: grayscale;
}


/*-------------------------------------------------------------
File Icon
-------------------------------------------------------------*/
.entry-content a[href$=".pdf"]:before,
.entry-content a[href$=".ppt"]:before,
.entry-content a[href$=".doc"]:before,
.entry-content a[href$=".xls"]:before {
	/* 	fontAwesome */
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	font-size-adjust: none;
	font-stretch: normal;
	font-feature-settings: normal;
	font-language-override: normal;
	font-kerning: auto;
	font-synthesis: weight style;
	font-variant: normal;
	font-size: inherit;
	text-rendering: auto;
	-moz-osx-font-smoothing: grayscale;
}
.entry-content a[href$=".pdf"]:after,
.entry-content a[href$=".ppt"]:after,
.entry-content a[href$=".doc"]:before,
.entry-content a[href$=".xls"]:before { font-family: 'Abel', sans-serif; }
.entry-content a[href$=".pdf"]:before { content: "\f1c1\00a0"; }
.entry-content a[href$=".pdf"]:after { content: "\00a0[PDF File]"; }
.entry-content a[href$=".ppt"]:before { content: "\f1c4\00a0"; }
.entry-content a[href$=".ppt"]:after { content: "\00a0[PowerPoint File]"; }
.entry-content a[href$=".doc"]:before { content: "\f1c2\00a0"; }
.entry-content a[href$=".doc"]:after { content: "\00a0[Word File]"; }
.entry-content a[href$=".xls"]:before { content: "\f1c3\00a0"; }
.entry-content a[href$=".xls"]:after { content: "\00a0[Excel File]"; }


/*-------------------------------------------------------------
 Custom Container
-------------------------------------------------------------*/
.container-xsmall, .container-small, .container-medium, .container-large, .container-xlarge { max-width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
/* .container-default == default container */
@media (min-width: 480px) {}
@media (min-width: 768px) { .container-default { width: 750px; } }
@media (min-width: 992px) { .container-default { width: 970px; } }
@media (min-width: 1200px) { .container-default { width: 1170px; } }
/* .container-xsmall */
@media (min-width: 480px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}
/* .container-small */
@media (min-width: 480px) { .container-small { /* width: 420px; */ } }
@media (min-width: 768px) { .container-small { width: 720px; } } }
@media (min-width: 992px) { .container-small { width: 860px; } } }
@media (min-width: 1200px) {}
/* .container-medium */
@media (min-width: 480px) {}
@media (min-width: 768px) { .container-medium { width: 678px; } }
@media (min-width: 992px) { .container-medium { width: 892px; } }
@media (min-width: 1200px) { .container-medium { width: 970px; } }
/* .container-large */
@media (min-width: 480px) {}
@media (min-width: 768px) { .container-large { width: 970px; } }
@media (min-width: 992px) { .container-large { width: 1170px; } }
@media (min-width: 1200px) { .container-large { width: 1500px; } }
/* .container-xlarge */
@media (min-width: 480px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}


/*-------------------------------------------------------------
Padding
-------------------------------------------------------------*/
.padding-xsmall { padding: 5px; }
.padding-small { padding: 15px; }
.padding-medium { padding: 30px; }
.padding-large { padding: 50px; }
.padding-xlarge { padding: 80px; }


/*-------------------------------------------------------------
Margin
-------------------------------------------------------------*/
/* margin-top							-------------------- */
.mt0 { margin-top: 0; }
.mt1 { margin-top: 1em; }
.mt2 { margin-top: 2em; }
.mt3 { margin-top: 3em; }
.mt4 { margin-top: 4em; }
/* margin-right							-------------------- */
.mr0 { margin-right: 0; }
.mr1 { margin-right: 1em; }
.mr2 { margin-right: 2em; }
.mr3 { margin-right: 3em; }
.mr4 { margin-right: 4em; }
/* margin-bottom						-------------------- */
.mb0 { margin-bottom: 0; }
.mb1 { margin-bottom: 1em; }
.mb2 { margin-bottom: 2em; }
.mb3 { margin-bottom: 3em; }
.mb4 { margin-bottom: 4em; }
/* margin-left							-------------------- */
.ml0 { margin-left: 0; }
.ml1 { margin-left: 1em; }
.ml2 { margin-left: 2em; }
.ml3 { margin-left: 3em; }
.ml4 { margin-left: 4em; }


/*-------------------------------------------------------------
Button
-------------------------------------------------------------*/
.btn { vertical-align: middle; }
.btn:hover, .btn:focus {}
.btn i.fa { vertical-align: baseline; }
.btn-solid { border-radius: 0; }
.btn-xs { font-size: 1.2rem; }
.btn-sm { font-size: 1.4rem; }
.btn-md { font-size: 1.6rem; }
.btn-lg { font-size: 2.8rem; }
.btn.form-control { height: auto; }
