@charset "UTF-8";

/*------ normalize.css --------------------------------------------
	v3.0.2 | MIT License | git.io/normalize
/*------Table of contents------------------------------------------
- Links
- Text-level semantics
- Embedded content
- Grouping content
- Forms
- Tables
?????????????????????????????????????????????????? */
html {-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;}
body {margin: 0;}

/* Links
??????????????????????????????????????????????????
 * Remove the gray background color from active links in IE 10. */
a {background-color: transparent;}

/*Improve readability when focused and also mouse hovered in all browsers. */
a:active, a:hover {outline: 0;}

/* Text-level semantics
??????????????????????????????????????????????????
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
b, strong {font-weight: bold;}

/* Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
h1 {font-size: 2em; margin: 0.67em 0;}

/* Address inconsistent and variable font size in all browsers. */
small {font-size: 80%;}

/* Embedded content
??????????????????????????????????????????????????
 * Remove border when inside `a` element in IE 8/9/10. */
img {border: 0;}

/* Grouping content
??????????????????????????????????????????????????
 * Address differences between Firefox and other browsers. */
hr {-moz-box-sizing: content-box; box-sizing: content-box; height: 0;}

/* Contain overflow in all browsers. */
pre {overflow: auto;}

/* Address odd `em`-unit font size rendering in all browsers. */
code, pre {font-family: monospace; font-size: 1em;}

/* Forms
??????????????????????????????????????????????????
 * Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set.
 * 1. Correct color not being inherited. Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
button, input, optgroup, select, textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/* Address `overflow` set to `hidden` in IE 8/9/10/11. */
button {overflow: visible;}

/* Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox. */
button, select {text-transform: none;}

/* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type `input` and others. */
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/* Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] {cursor: default;}

/* Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner, input::-moz-focus-inner {border: 0; padding: 0;}

/* Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
input {line-height: normal;}

/* It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/* Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {height: auto;}

/* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/* Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}

/* Define consistent border, margin, and padding. */
fieldset {border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}

/* 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/* Remove default vertical scrollbar in IE 8/9/10/11. */
textarea {overflow: auto;}

/* Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup {font-weight: bold;}

/* Tables
?????????????????????????????????????????????????? */
table {border-collapse: collapse; border-spacing: 0;}
td, th {padding: 0;}



/*------ responsive.css --------------------------------------------
	Skeleton V2.0.4 | MIT License | www.getskeleton.com
/*------Table of contents------------------------------------------
- Grid
- Base Styles
- Typography
- Links
- Buttons
- Forms
- Lists
- Code
- Tables
- Spacing
- Utilities
- Clearing
- Media Queries
?????????????????????????????????????????????????? */

/* Grid
?????????????????????????????????????????????????? */
.container {position: relative; width: 100%; max-width: 970px; margin: 0 auto; padding: 0 20px; box-sizing: border-box;}
.column, .columns {width: 100%; float: left; box-sizing: border-box;}

@media (max-width: 999px) {
  #footer .four.column, #footer .four.columns { text-align: center; margin-top: 30px; }
  	#footer .four.column table, #footer .four.columns table { width: auto; margin-left:auto; margin-right:auto;}
}

@media (min-width: 632px) and (max-width: 999px) {
  .container { width: 600px; padding: 0;}
}

@media (min-width: 660px) and (max-width: 999px) {
  #footer .container { width: 630px; padding: 0;}
}

@media (min-width: 1000px) {
  .container {width: 970px; padding: 0;}
  .column, .columns {margin-left: 4%;}
  .column:first-child, .columns:first-child {margin-left: 0;}
  .one.column, .one.columns { width: 4.66666666667%; }
  .two.column, .two.columns { width: 13.3333333333%; }
  .three.column, .three.columns { width: 22%;}
  .four.column, .four.columns { width: 30.6666666667%; }
  .five.column, .five.columns { width: 39.3333333333%; }
  .six.column, .six.columns { width: 48%;}
  .seven.column, .seven.columns { width: 56.6666666667%; }
  .eight.column, .eight.columns { width: 65.3333333333%; }
  .nine.column, .nine.columns { width: 74.0%;}
  .ten.column, .ten.columns { width: 82.6666666667%; }
  .eleven.column, .eleven.columns { width: 91.3333333333%; }
  .twelve.column, .twelve.columns { width: 100%; margin-left: 0; }
  .one-third.column { width: 30.6666666667%; }
  .two-thirds.column { width: 65.3333333333%; }
  .one-half.column { width: 48%; }
}

/* Base Styles
?????????????????????????????????????????????????? */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {font-size: 62.5%;}
body {
  font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  font-weight: 400;
}

/* Typography
?????????????????????????????????????????????????? */
h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 2rem; font-weight: 300;}
h1 { font-size: 4.0rem; line-height: 1.2;  letter-spacing: -.1rem;}
h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; }
h3 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; }
h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; }

/* Larger than phablet */
@media (min-width: 550px) {
  h1 { font-size: 5.0rem; }
  h2 { font-size: 4.2rem; }
  h3 { font-size: 3.6rem; }
  h4 { font-size: 3.0rem; }
  h5 { font-size: 2.4rem; }
  h6 { font-size: 1.5rem; }
}

p {margin-top: 0;}

/* Links
?????????????????????????????????????????????????? */
a {color: #1EAEDB;}
a:hover {color: #0FA0CE;}

/* Buttons
?????????????????????????????????????????????????? */
.button, button, input[type="submit"], input[type="reset"], input[type="button"] {display: inline-block; height: 38px; padding: 0 30px; color: #555; text-align: center; font-size: 11px; font-weight: 600; line-height: 38px; letter-spacing: .1rem; text-transform: uppercase; text-decoration: none; white-space: nowrap; background-color: transparent; border-radius: 4px; border: 1px solid #bbb; cursor: pointer; box-sizing: border-box;}
.button:hover, button:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, .button:focus, button:focus, input[type="submit"]:focus, input[type="reset"]:focus, input[type="button"]:focus { color: #333; border-color: #888; outline: 0;}
.button.button-primary, button.button-primary, input[type="submit"].button-primary, input[type="reset"].button-primary, input[type="button"].button-primary { color: #FFF; background-color: #33C3F0; border-color: #33C3F0; }
.button.button-primary:hover, button.button-primary:hover, input[type="submit"].button-primary:hover, input[type="reset"].button-primary:hover, input[type="button"].button-primary:hover, .button.button-primary:focus, button.button-primary:focus, input[type="submit"].button-primary:focus, input[type="reset"].button-primary:focus, input[type="button"].button-primary:focus { color: #FFF; background-color: #1EAEDB; border-color: #1EAEDB;}

/* Forms
?????????????????????????????????????????????????? */
input[type="email"], input[type="number"], input[type="search"], input[type="text"], input[type="tel"], input[type="url"], input[type="password"], textarea, select {
  height: 38px;
  padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box;
}

/* Removes awkward default styles on some inputs for iOS */
input[type="email"], input[type="number"], input[type="search"], input[type="text"], input[type="tel"], input[type="url"], input[type="password"], textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none;}
textarea {min-height: 65px; padding-top: 6px; padding-bottom: 6px;}
input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="text"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus, textarea:focus, select:focus { border: 1px solid #33C3F0; outline: 0;}
label, legend { display: block; margin-bottom: .5rem; font-weight: 600;}
fieldset { padding: 0; border-width: 0;}
input[type="checkbox"], input[type="radio"] {display: inline;}
label > .label-body { display: inline-block; margin-left: .5rem; font-weight: normal;}

/* Lists
?????????????????????????????????????????????????? */
ul {list-style: circle inside;}
ol {list-style: decimal inside;}
ol, ul {padding-left: 0;  margin-top: 0;}
ul ul, ul ol, ol ol, ol ul {margin: 1.5rem 0 1.5rem 3rem;  font-size: 90%;}
li {margin-bottom: 1rem;}

/* Code
?????????????????????????????????????????????????? */
code { padding: .2rem .5rem; margin: 0 .2rem; font-size: 90%; white-space: nowrap; background: #F1F1F1; border: 1px solid #E1E1E1; border-radius: 4px;}
pre > code { display: block; padding: 1rem 1.5rem; white-space: pre;}

/* Tables
?????????????????????????????????????????????????? */
th, td { padding: 12px 15px; text-align: left; border-bottom: 1px solid #E1E1E1;}
th:first-child, td:first-child {padding-left: 0;}
th:last-child, td:last-child {padding-right: 0;}

/* Spacing
?????????????????????????????????????????????????? */
button, .button {margin-bottom: 1rem;}
input, textarea, select, fieldset {margin-bottom: 1.5rem;}
pre, blockquote, dl, figure, table, p, ul, ol, form {margin-bottom: 2.5rem;}

/* Utilities
?????????????????????????????????????????????????? */
.u-full-width {width: 100%; box-sizing: border-box;}
.u-max-full-width {max-width: 100%; box-sizing: border-box;}
.u-pull-right {float: right;}
.u-pull-left {float: left;}

/* Misc
?????????????????????????????????????????????????? */
hr {margin-top: 3rem; margin-bottom: 3.5rem; border-width: 0; border-top: 1px solid #E1E1E1;}

/* Clearing
?????????????????????????????????????????????????? */
.container:after, .row:after,.u-cf {content: ""; display: table; clear: both;}



/*------ style.css --------------------------------------------

/*------css振り分け------------------------------------------
	01.共通部分のデザインを作る
	02.トップページのデザインを作る
	03.個別ページのデザインを作る
	04.投稿ページのデザインを作る
	05.カテゴリページのデザインを作る
	06.印刷用スタイル
---------------------------------------------------------*/

/*------Media Queries--------------------------------------
@media (min-width: 1200px) {}
@media (min-width: 1000px) {}
@media (min-width: 990px) {}
@media (min-width: 750px) {}
@media (min-width: 550px) {}
@media (min-width: 468px) {}
@media (min-width: 380px) {}
---------------------------------------------------------*/

/* ******************************************************** 
	01.共通部分のデザインを作る
******************************************************** */

/***** 色 ************************************************ 

	キーカラー01
		#009a62 緑色
        #008149 上の色を暗くしたもの
        #00b57c 上の色を明るくしたもの

	キーカラー02
		#0078d4 青色

    サブカラー
        #f38529 オレンジ

/******************************************************* */

/*****  基本  *****/
* {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", Helvetica, sans-serif;
}

body {
	position: relative;
   letter-spacing: .1em;
	font-size: 14px !important;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
   color: #46464c;
}
/*-- LINK --*/
a {
    color: #0078d4; 
    text-decoration: none;
}
a:hover {
    color: #124e8c; 
    text-decoration: none;
}
a:hover img {
    /* IE 8 & 9 */
	filter: alpha(opacity=75);
	/* Older than Firefox 0.9 */
	-moz-opacity:0.75;
	/* Safari 1.x (pre WebKit!) */
	-khtml-opacity: 0.75;
	/* Modern */
	opacity: 0.75;
}
a[href$=".pdf"]:after,
a.pdf:after{
    padding: 0 0 0 0.5em;
    content: "\f1c1";
    font-family: FontAwesome;
}
a[target="_blank"]:after{
    padding: 0 0 0 0.5em;
    content: "\f08e";
    font-family: FontAwesome;
}
.nomark a[target="_blank"]:after{
    padding: 0 0 0 0.5em;
    content: none;
    font-family: FontAwesome;
}
/*-- focus --*/
*:focus {
  outline: none;
}
/*-- form --*/
textarea {
    width: 100%;
    height: 8em;
}
.input-lng {
    width: 19em;
    max-width: 100%;
}
/* -- code -- */
.hljs {
    padding: 1em;
}
/* -- display -- */
.display-block {
    display: block;
}
/*-- clear --*/
.clearfix:after, .clearfix:before, .navbar ul:after, .navbar ul:before, .dl-horizontal dd:after, .dl-horizontal dd:before, .dl-horizontal:after, .dl-horizontal:before, .even-clear:nth-child(even):after, .even-clear:nth-child(odd):before, .article-list2:nth-child(odd):before, .article-list2:nth-child(even):after {
    display: table;
    content: " ";
}

/*-- リスト --*/ 
ul {
    list-style: none;
}
li {
    margin: 5px 0;
    list-style: none;
}
#main ul li::before {
    padding: 0 1em 0 0;
    content: "\f0a9";
    font-family: FontAwesome;
}
#sidebar ul {
    padding: 15px 0;
    list-style: none;
}
#sidebar li {
    margin: 5px 0;
    list-style: none;
}
#sidebar li::before {
    padding: 0 1em 0 0;
    content: "\f0fb";
    font-family: FontAwesome;
}
/* スタイル1(フッター) */
.ul-style1, .ul-style1 ul {
    list-style: none
}
    .ul-style1 li {
        display: block;
        margin-bottom: 1.5em;
    }
    .ul-style1 li a {
        display: inline-block;
        position: relative;
        padding-left: 1em; 
    }
    .ul-style1 li a:before {
        content: "-";
        position: relative;
        top: 0;
        left: -.8em;
        display: inline-block;
    }
    .ul-style1 > li >  a{
        border-left: 1px solid #fff; 
        font-weight: bold;
    }
    .ul-style1 > li > a:before {
        content: "";
    }
    /* スタイル無し */
    .list-style-none {
        list-style: none;
        margin: 0;
    }
    .list-style-none li {
        margin: 1em 0 1em 0;
    }
    .list-style-none li::before, #main .list-style-none li::before {
        content: none;
    }
    /* 横並び */
    .list-horizontal li {
        display: inline-block;
    }
/*-- テーブル --*/
table {
    width: 95%;
    margin: 0 0 .8em;
    padding: 0 2%;
    border-collapse: separate;
    border-spacing:0px;
}
tr {
    vertical-align: top;
}
th, td {
    border-bottom: 1px solid #b4b4d7;
}
th {
    font-weight: bold;
    text-align: center;
}
td {
    word-break: break-all;
    word-wrap: break-word;
}
tr:first-child th,
tr:first-child td {
    border-top: 1px solid #b4b4d7;
}
/*-- テーブル .border --*/
table.border {
    border-collapse: collapse;
}
table.border th {
    border-left: 1px solid #b4b4d7;
    padding-left: 15px;
    border-right: 1px solid #b4b4d7;
    padding: 12px 15px;
}
table.border td {
    border-left: 1px solid #b4b4d7;
    border-right: 1px solid #b4b4d7;
    padding: 12px 15px;
}
/*-- テーブル .res-h --*/
  table.res-v tr {
    display: block;
  }

  table.res-v th {
    width: auto;
    display: block;
    text-align: center;
    margin: 10px 0;
  }
  table.res-v td {
    display: list-item;
    list-style: none;
    line-height: 2.0;
    padding: 0 1em;
    border: none;
  }

  table.res-v td:before {
    padding: 0 1em 0 0;
    content: "\f0da";
    font-family: FontAwesome;
  }

  table.res-h {
    display: block;
    overflow-x: auto;
  }

  table.res-h th, .entry table.res-h td {
    width: 700px;
    white-space: nowrap;
  }
/*-- 定義リスト --*/
dt {
    font-size: 120%;
    font-weight: bold;
    margin-bottom: 1em;
    position: relative;
}
dd + dt {
    margin-top: 1em;
}
dt:before {
    content: "";
    position: relative;
    top: .15em;
    left: 0px;
    display: inline-block;
    padding-right: .8em;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: .5em 0 .5em .625em; /* 三角形 */
    border-color: transparent transparent transparent #46464c;
}
dd {
    margin-bottom: 1em;
    margin-left: 0px;
    margin-start: 0px;
    -webkit-margin-start: 0px;
}
    /* 水平リスト */
    dl.dl-horizontal, dl.dt-date {
        border-bottom: 1px solid #b4b4d7;
        padding: 0 0 .8em;
        margin: 0 0 .8em;
    }
    dl.dl-horizontal dt, dl.dt-date dt {
        font-size: 1em;
        float: left;
        width: 10em;
        margin: 0px;
        overflow: hidden;
        clear: left;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    dl.dl-horizontal dt:before, dl.dt-date dt:before {
        content: none;
        border: none;
    }
    dl.dl-horizontal dd, dl.dt-date dd {
        margin-left: 11.5em;
        margin-bottom: 0px;
    }
    /*ライン無し*/
    dl.dl-horizontal.dl-noline {
        border-width: 0px;
        padding: 0;
        margin: 1em 0;
    }
    dl.dl-horizontal.dl-noline dd {
        margin-top: .5em;
        margin-bottom: .5em;
    }
    /*小さめ*/
    dl.dt-small dt, dl dt.dt-small {
        width: 5em;
    }
    dl dt.dt-small + dd, dl dt.dt-small + dd + dd, dl dt.dt-small + dd + dd + dd, dl.dt-small > dd{
        margin-left: 6em;
    }

    /*日付の場合*/
    dl.dt-date dt, dl dt.dt-date {
        width: 8em;
        font-size: 90%;
    }
    dl dt.dt-date + dd, dl dt.dt-date + dd + dd, dl dt.dt-date + dd + dd + dd, dl.dt-date > dd{
        margin-left: 8.5em;
        font-size: 95%;
    }
    @media (max-width: 749px) {
        dl.dt-date dt, dl dt.dt-date {
            float: none;
            margin-bottom: .625em;
        }
        dl dt.dt-date + dd, dl dt.dt-date + dd + dd, dl dt.dt-date + dd + dd + dd, dl.dt-date > dd{
            margin-left: 0px;
        }
    }  
    /*画像の場合*/
    dl.dl-horizontal.dt-img {
        padding: 0 0 20px;
        margin: 20px 0;
        border-bottom: 1px dotted #b4b4b7;
    }
    dl.dt-img dt, dl dt.dt-img {
        width: 30%;
    }
    dl.dt-img dt img, dl dt.dt-img img {
        max-width: 100%;
        height: auto;
        max-height: 100%;
    }
    dl dt.dt-img + dd, dl dt.dt-img + dd + dd, dl dt.dt-img + dd + dd + dd, dl.dt-img > dd{
        margin-left: 33%;
    }  
    /* Q&A */
    dl.dl-qa {
    }
    dl.dl-qa dt, dl.dl-qa dd {
        position: relative;
        margin-left: 60px;
        max-width: 100%;
        min-height: 44px;
        padding-top: 5px;
    }    
    dl.dl-qa + dl.dl-qa {
        border-top: 1px solid #b4b4b7;
        padding-top: 25px;
    }
    dl.dl-qa dd + dt:before {
        top: 20px;
    }
    dl.dl-qa dt:before, dl.dl-qa dd:before {
        font-size: 28px;
        display: block;
        padding-left: 31px;
        padding-right: 0px;
        position: absolute;
        top: 0;
        left: -91px;
        box-sizing: border-box;
        width: 60px;
        z-index: 1;
        font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, 'Times New Roman', Times, serif;
    }
    dl.dl-qa dt:before {
        border: none;
        font-weight: normal;
        height: auto;
        
        content: "Q";
    }
    dl.dl-qa dd {
        font-size: 1.2em;
        color: #009a62;
    }
    dl.dl-qa dd:before {
        content: "A";
        background: url(../img/al_arrow01.png) no-repeat left center;
    }
/* -- 記事リスト -- */
.article-list + .article-list {    
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #b4b4b7;
}
.article-list .entry-meta {
    color: #999;
    font-size: .9em;
    margin-bottom: 6px;
}
.article-list-img {
    text-align: center;
    margin: 0;
}
.article-list img, article-list2 img {
    max-width: 100%;
    height: auto;
}
@media (max-width: 749px) {
    .article-list-img {
        margin-bottom: 18px;
    }
}  
/* -- 記事リスト 2 -- */
.article-list2 {
    width: 48%;
    float: left;
    margin-left: 4%;
    box-sizing: border-box;
    margin-bottom: 20px;
    overflow: auto;
}
.article-list2:nth-child(odd) {
    clear: left;
    margin-left: 0px;
}
.article-list2 .entry-meta {
    color: #999;
    font-size: .9em;
    margin: .625em 0;
    padding-bottom: .4em;
    border-bottom: 1px solid #009a62;
}
@media (max-width: 749px) {
    .article-list2 {
        width: 100%;
        float: none;
        margin: 20px 0;
    }
} 
/* -- イメージボックス -- */
.imgbox {
    margin-bottom: 48px;
    background: #fff;
    border: solid 1px #e2dedd;
    box-sizing: border-box;
    padding: 30px;
}
.imgbox-img {
    text-align: center;
}
@media (max-width: 749px) {
    .imgbox-img {
        margin-bottom: 18px;
    }
} 
/* -- パンくずリスト -- */
.pankuzu {
  overflow: hidden;
  margin: 10px 20px 30px 0px;
  padding: 20px 0 0 0;
}
.pankuzu li {
  float: left;
  padding: 0 10px 0 0;
  color: #333;
  font-size: 90%;
  list-style-type: none;
}
.pankuzu li::before {
  content: none!important;
}
/* -- 流れのスタイル -- */
.flow-wrapper {
    margin-bottom: 48px;
    box-sizing: border-box;
}
.flow {
    position: relative;
    text-align: center;
    margin: 30px;    
    width: 100%;
    box-sizing: border-box;
}
.flow h3, .flow p, .flow div {
    text-align: left;


} 
.flow img, .imgbox img, .imgbox-img img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}
.flow + .flow, .flow-wrapper > .flow + .flow {
    position: relative;
    margin-top: 80px;
}
.flow + .flow:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 40px;
    background: url(../img/al_arrow02.png) no-repeat center;
    top: -60px;
    left: 0px;
    display: block;
    text-align: center;
}
.flow-wrapper > .flow {
    margin: 0 0 48px 0;
    padding: 30px;
    background: #fff;
    border: solid 1px #e2dedd;
    box-sizing: border-box;
}
/*カラム関連*/
.flow > div, .imgbox > div, .article-list-img, .article-list > div {
    box-shadow: border-box;
}  
.flow:after, .imgbox:after, .article-list:after {
    content: "";
    display: table;
    clear: both;
}
@media (min-width: 467px) {
    .flow > div, .imgbox > div, .article-list-img, .article-list > div {
        float: left;    
        margin-left: 4%;
    }   
    .flow > div:first-child, .imgbox > div:first-child, .article-list-img:first-child, .article-list > div:first-child {
        margin-left: 0;
    }  
    .flow > div, .imgbox > div {
        width: 48%;
    }  
    .article-list > div {
        width: 74.0%;
    }  
    .article-list > div.article-list-img {
        width: 22%;
    }   
}
@media (max-width: 749px) {
    .section-transparent .flow, .article.section-transparent > .flow, .section-transparent > .flow, .section-transparent dl, .article.section-transparent > dl, .section-transparent > dl {
        padding: 20px;
    }
}

/*-- ボタン --*/
.button, .button.button-primary {
    font-weight: normal;
}
/*青ボタン*/
.button.button-primary, button.button-primary, input[type="submit"].button-primary, input[type="reset"].button-primary, input[type="button"].button-primary, .button.button-primary, button.button-primary, input[type="submit"].button-primary, input[type="reset"].button-primary, input[type="button"].button-primary {
    border-color: #0078d4;
    background-color: #0078d4;
}
.button.button-primary:hover, button.button-primary:hover, input[type="submit"].button-primary:hover, input[type="reset"].button-primary:hover, input[type="button"].button-primary:hover, .button.button-primary:focus, button.button-primary:focus, input[type="submit"].button-primary:focus, input[type="reset"].button-primary:focus, input[type="button"].button-primary:focus {
    border-color: #008149;
    background-color: #008149;
}
/*青ボタン*/
.button.button-blue, button.button-blue, input[type="submit"].button-blue, input[type="reset"].button-blue, input[type="button"].button-blue, .button.button-blue, button.button-blue, input[type="submit"].button-blue, input[type="reset"].button-blue, input[type="button"].button-blue {
    border-color: #0078d4;
    background-color: #0078d4;
    color: #fff;
}
.button.button-blue:hover, button.button-blue:hover, input[type="submit"].button-blue:hover, input[type="reset"].button-blue:hover, input[type="button"].button-blue:hover, .button.button-blue:focus, button.button-blue:focus, input[type="submit"].button-blue:focus, input[type="reset"].button-blue:focus, input[type="button"].button-blue:focus {
    border-color: #124e8c;
    background-color: #124e8c;
}
/*白ボタン*/
.button.button-white:hover, button.button-white:hover, input[type="submit"].button-white:hover, input[type="reset"].button-white:hover, input[type="button"].button-white:hover, .button.button-white:focus, button.button-white:focus, input[type="submit"].button-white:focus, input[type="reset"].button-white:focus, input[type="button"].button-white:focus {
    border-color: #c2d7ed;
    background-color: #c2d7ed;
    color: #0078d4;
}
/*緑ボタン*/
.button.button-green, button.button-green, input[type="submit"].button-green, input[type="reset"].button-green, input[type="button"].button-green, .button.button-green, button.button-green, input[type="submit"].button-green, input[type="reset"].button-green, input[type="button"].button-green {
    border-color: #009a62;
    background-color: #009a62;
    color: #fff;
}
.button.button-green:hover, button.button-green:hover, input[type="submit"].button-green:hover, input[type="reset"].button-green:hover, input[type="button"].button-green:hover, .button.button-green:focus, button.button-green:focus, input[type="submit"].button-green:focus, input[type="reset"].button-green:focus, input[type="button"].button-green:focus {
    border-color: #008149;
    background-color: #008149;
}
/*オレンジボタン*/
.button.button-orange, button.button-orange, input[type="submit"].button-orange, input[type="reset"].button-orange, input[type="button"].button-orange, .button.button-orange, button.button-orange, input[type="submit"].button-orange, input[type="reset"].button-orange, input[type="button"].button-orange {
    border-color: #f38529;
    background-color: #f38529;
    color: #fff;
}
.button.button-orange:hover, button.button-orange:hover, input[type="submit"].button-orange:hover, input[type="reset"].button-orange:hover, input[type="button"].button-orange:hover, .button.button-orange:focus, button.button-orange:focus, input[type="submit"].button-orange:focus, input[type="reset"].button-orange:focus, input[type="button"].button-orange:focus {
    border-color: #f38529;
    background-color: #f38529;
}
/*白背景緑文字ボタン*/
.button.button-white, button.button-white, input[type="submit"].button-white, input[type="reset"].button-white, input[type="button"].button-white, .button.button-white, button.button-white, input[type="submit"].button-white, input[type="reset"].button-white, input[type="button"].button-white {
    border-color: #fff;
    background-color: #fff;
    color: #009a62;
}
.button.button-white:hover, button.button-white:hover, input[type="submit"].button-white:hover, input[type="reset"].button-white:hover, input[type="button"].button-white:hover, .button.button-white:focus, button.button-white:focus, input[type="submit"].button-white:focus, input[type="reset"].button-white:focus, input[type="button"].button-white:focus {
    border-color: #9ed8bf;
    background-color: #9ed8bf;
    color: #009a62;
}
/*大きいボタン*/
.button {
    min-width: 120px;
}
.button.button-lg {
    font-size: 14px;
    font-weight: normal;
    line-height: 46px;
    min-width: 200px;
    height: 46px;
    padding: 0 20px;
}
/*角丸無しボタン*/
.button.button-no-radius {
    border-radius: 0px;
}
/*矢印付きボタン*/
.button.button-go, .button.button-go-l {
    width: 100%;
    max-width: 270px;
    font-size: 14px;
    font-weight: normal;
    text-align: left;
    position: relative;
    padding: 0 20px;
}
.button.button-go-l:before, .button.button-go:after {
    content: "\f105";
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: 24px;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.button.button-go:after {
    position: absolute;
    top: 5px;
    right: 20px;
}
.button-lg.button-go:after {
    top: 8px;    
}
.button-lg.button-go:after, .button-lg.button-go-l:before {
    font-size: 26px;
}
/*テキスト左に矢印が付いたボタン*/
.button.button-go-l:before {
    padding-right: 1em;
    position: relative;
    top: 2px;
    left: 0px;
}
/* -- 複数カラム -- */
.col2, .col3, .col4, .col1_2 { /* col1_2:1対2のカラム */
    margin-top: 15px;
    margin-bottom: 15px;
}
.col2:first-child, .col3:first-child, .col4:first-child, .col1_2:first-child {
    margin-top: 0;
}
.col2:last-child, .col3:last-child, .col4:last-child, .col1_2:last-child {
    margin-bottom: 0;
}
.col2:after, .col3:after, .col4:after, .col1_2:after {
    content: "";
    display: table;
    clear: both;
}
.col2 > div {
        box-shadow: border-box;
    min-height:240px;
}
@media (min-width: 550px) {
    .col2 > div, .col3 > div, .col4 > div, .col1_2 > div {
        float: left;
        margin: 0 1%;
    }  
    .col2 > div:first-child, .col3 > div:first-child, .col4 > div:first-child, .col1_2 > div:first-child {
    } 
    .col2 > div {
        width: 48%;
        min-height: 225px;
    }  
    .col1_2 > div {
        width: 65.3333333333%;
    }
    .col3 > div, .col1_2 > div:first-child {
        width: 30.6666666667%; 
    }  
    .col4 > div {
        width: 22%; 
    }
}
/*-- toggleボタン --*/
.menu-mobile {
    padding: 10px;
    border-color: #0078d4;
    background: #0078d4;
    margin-top: 38px;
    height: auto;
    float: right;
}
.menu-mobile:hover, .menu-mobile:focus, .menu-mobile:active {
    border-color: #0078d4;
    background: #0078d4;
}
.menu-mobile .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background: #fff;
}
.menu-mobile .icon-bar+.icon-bar {
    margin-top: 4px;
}
@media (min-width: 750px) {
    .menu-mobile .icon-bar {
        width: 28px;
        height: 4px;
    }
    .menu-mobile .icon-bar+.icon-bar {
        margin-top: 6px;
    }
}  
/*-- collapse --*/
@media (max-width: 999px) {
    .collapse {
        height: 0px;
        overflow: hidden;
    }
    .collapse.show {
        height: auto;
        overflow: visible;
    }
} 
/*-- 画像 --*/
.img-responsive, img {
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
}
/*-- 文字 --*/
.smaller-txt {
    font-size: .8em;
}
.small-txt {
    font-size: 10px;
    font-weight: normal;
}
em {
    font-style: normal;
    color: #f38529;
}
h2, h3, h4, h5 {
    font-weight: bold;
    letter-spacing: 0.1em;
}
h1{
	font-size: 140%;
	font-weight: bold;
	text-align: center;
	color: #009a62;
	letter-spacing: 0em;
	margin: 20px 0;
}
h2 {
    font-size: 24px;
    font-weight: bold;
    color: #0078d4;
    letter-spacing: 0.1em;
    margin-top: 1em;
}
h3 {
    font-size: 120%;
}
h4 {
    margin: 0;
    font-size: 120%;
}
h5 {
    font-size: 18px;
}
.default-hl h2, .default-hl h3, .default-hl h4, .default-hl h5, dd h2, dd h3, dd h4, dd h5 {
    margin-top: 0 !important;
    padding: 0 !important;
    border: none !important;
    color: #46464c !important;
}
.default-hl h2, dl dd h2 { 
    font-size: 20px !important;
}
.default-hl h3, dl dd h3, .flow h3, .imgbox h3 { 
    font-size: 18px !important;
}
.default-hl h4,　dl dd h4 { 
    font-size: 16px !important;
}
.default-hl h5, dl dd h5 { 
    font-size: 14px !important;
}
.flow h3, .imgbox h3 {
    font-size: 18px !important;
}
.article-list h3, .article .article-list h3, .section .article-list h3, .article-list2 h3, .article .article-list2 h3, .section .article-list2 h3 {
    font-size: 16px !important;
    margin: 0 0 6px 0;
    padding: 0;
    border: none;
    color: #46464c;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
/* センター寄せ */
.text-center{
    text-align: center;
}
/* 右寄せ */
.text-right {
    text-align: right;
}
/* 青色文字 */
.blue-text {
    color: #0078d4;
}
/* 緑色文字 */
.green-text {
    color: #009a62;
}
/* オレンジ文字 */
.orange-text {
    color: #f38529;
}
/* 赤色文字 */
.red-text {
    color: #aa2222;
}
/*標準文字サイズ */
.normal-size {
    font-size: 14px;
    margin-bottom: 1em;
    font-weight: normal;
}
.normal-color {
    color: #46464c;
}
/*文字折り返し*/
.break-word {
    word-wrap: break-word;
}
/*マージン無しパラグラフ*/
.p-no-margin p {
    margin-bottom: 0px;
}
/*-- マージン --*/
.margin-top {
    margin-top: 1em;
}
.margin-bottom {
    margin-bottom: 1em;
}
.margin-top-bottom {
    margin-top: 1em;
    margin-bottom: 1em;
}
.margin-md-tb {
    margin-top: 15px;
    margin-bottom: 15px;
}
/*-- TEL --*/
.tel a,
a.tel {
    display: block; 
    font-size: 24px;
    letter-spacing: 1px;
    font-weight: bold;
    line-height: 1.2;
}
.tel a.smaller-txt {
    font-size: 14px;
}
#main .tel a {
    font-size: 26px;
}
/*-- スマホ表示/非表示 --*/
@media (max-width: 999px) {
    .tb-invisible {
        display: none;
    }
}
@media (min-width: 1000px) {
    .tb-visible {
        display: none;
    }
}
/*-- 装飾 --*/
/*セクション上緑のライン*/
.section-top-line {
        border-top: 5px solid #009a62;
}
/***** ALL *****/
#all {
    background: #f1f0f0;
}
/***** ヘッダー *****/
#header {
    background: #fff;
}
    .logo small {
        line-height: 3;
        letter-spacing: .1em;
        display: block;
    }
    /*-- ロゴ --*/    
    #header .logo {   /* スマホ */
        display: inline-block;
        float: left;
        /*width: 75%;*/
    }
        #header h1.logo {
            line-height: 1;
            font-size: 1rem;
            padding-top: 0;
        }
        #header .logo img {
            max-width: 100%;
        }
    @media (min-width: 1000px) {
        #header .logo {
            width: 400px;
            float: left;
        }
    }  
    @media (max-width: 467px) {
        #header .logo {
        	width: 75%;
        }
    }  
    /*-- ヘッダー右側コンテンツ --*/
    .header-right {
        width: 60%;
        float: right;
        position: relative;
    }
    .header-right-bottom {
        width: 100%;
        position: absolute;
        top: 36px;
        right: 0px;
    }
    .tel {
    }
        .header-right .tel a {
            padding-top: 16px;
        }
    .header-right .contact {
        text-align: right;
        padding-top: 16px;
    }
    @media (min-width: 750px) {
        .header-right {
            width: 510px;
            float: right;
        }    
    }
    /*-- ナビ --*/
    .navbar {
        text-align: center;
        font-size: 12px;
    }
    .navbar ul {
        margin: 0px auto;
        list-style: none;
    }
    .navbar > ul > li {
        position: relative;
        margin: 0px;
        padding: 16px 1em;
        line-height: 1.4;
    }
    .navbar li.blue-menu-item {
        background: #0078d4;
    }
    .navbar a, .navbar a:hover, .navbar a:focus, .navbar a:active, .navbar a:visited {
        color: #fff;
        text-decoration: none;
    }
        /* メイン */
        .navbar-main {
			    background: #0078d4;
			    background: -webkit-linear-gradient(#0078d4, #124e8c); /* For Safari 5.1 to 6.0 */ /* For Opera 11.1 to 12.0 */ /* For Firefox 3.6 to 15 */
			    background: linear-gradient(#0078d4, #124e8c); /* Standard syntax */
        }
        .navbar-main ul {
            display: table;
        }
        .navbar-main li {
            display: table-cell;
            box-sizing: border-box;
        }
        .navbar-main a:hover, .navbar-main li:hover a{
            color: #c2d7ed;
        }
        .navbar-main a{
            font-weight: bold;
        }
        .navbar-main li.current-menu-item, .navbar-main li:hover {
            background: url(../img/al_gn_current.png) no-repeat bottom center;

        }
        /*サブナビ*/
        .navbar-sub {
            position: absolute;
            top: 0px;
            right: 0px;
        }
        .navbar-sub > ul > li {
            display: block;
            float: left;
            font-size: 9px;
            line-height: 36px;
            padding: 0 8px;
			    background: #0078d4;
			    border-left: 1px solid #76bcf2;
			    border-right: 1px solid #124e8c;
        }
        .navbar-sub > ul > li:hover {
            background: #0d5aaa;
        }
        .navbar-sub > ul > li:before {
            content: "\f061";
            color: #fff;
            margin-right: .2em;
            display: inline-block;
            font: normal normal normal 14px/1 FontAwesome;
            font-size: inherit;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
        .navbar-sub > ul > li:first-child {
            border-left-width: 0px;
            border-bottom-left-radius: 4px;
        }
        .navbar-sub > ul > li:last-child {
            border-right-width: 0px;
            border-bottom-right-radius: 4px;
        }
@media (max-width: 999px) {
    .navbar-main {
        background: #009a62;
    }
    .navbar {
    }
    .navbar-main ul {
        display: block;
        padding: 0;
    }



    .navbar > ul > li {
        position: relative;
        margin: 0px;
        padding: .625em 2em;
        font-size: 18px;
        display: block;
        float: none;
        text-align: left;
    } 
    .navbar-main li.current-menu-item, .navbar-main li:hover {
    background: url(../img/al_gn_current_sp.png) no-repeat center left;
    }
}
/***** アイキャッチ *****/
.home #eyecatch {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 20px 0;
}
.page #eyecatch {
  position: relative;
  overflow: hidden;
  width: 100%;
}
#eyecatch {
    position: relative;
    overflow: hidden;
    width: 100%;
}
.home #eyecatch img{
    position: absolute;     
    left: 50%;
    top: 10%;   
    width: 100%;
    height: auto;
    -webkit-transform: translate(-50%,0%);
    transform: translate(-50%,0%);
}
.page #eyecatch img{
  width: 100%;
  height: auto;
}
@media (max-width: 1200px) {
	.page #eyecatch img{
	  width: 1200px;
	  height: auto;
	  margin: 0 auto;
	  overflow: hidden;
	  position: relative;
	}
}
/***** コンテンツ *****/
#contents {
    margin-top: 50px;
    margin-bottom: 0;
}
@media (min-width: 1000px) {
	#contents {
	    margin-top: 50px;
	    margin-bottom: 100px;
	}
}
/***** メイン *****/
#main {
	background: #fff;
	border: solid 1px #e2dedd;
	box-sizing: border-box;
	padding: 0 15px 48px;
	padding-bottom: 48px;
}
    .home #main h2 + img {
        width: 100%;
        height: auto;
    }
    /* セクション・アーティクル */
    #main .section, #main .article {
        margin-bottom: 48px;
        background: #fff;
        border: solid 1px #e2dedd;
        box-sizing: border-box;
    }
    .blog-article {
        margin-bottom: 48px;
        background: #fff;
        border: solid 1px #e2dedd;
        box-sizing: border-box;
        padding: 30px;
    }
    #main .section + pre, #main .article + pre {
        margin-top: -30px;
        margin-bottom: 48px;
    }
    .section-form, #main .section-form {
        border: none;
        background: #dbddd2;
        margin-bottom: 48px;
        padding: 30px;
    }
        .section-form input, .section-form textarea {
            border: none;
        }
    .section-transparent, #main .section.section-transparent, #main .article.section-transparent {
        background: transparent;
        border: none;
    }
    .article > table, .section > table, .article > dl, .section > dl, .section > .flow, .article > .flow, .article > pre, .section > pre, .article > .panel, .section > .panel  {
        margin: 30px;
    }
    .article > ul, .section > ul, .article > ol, .section > ol {
        margin: 20px 30px 20px 40px;
    }

    /* 青いセクション */
    .blue-section,
    #sidebar .blue-section {
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
        background: #fff;
        border: solid 1px #e2dedd;
        color: #616871;
        text-align: center;
        margin-bottom: 48px;
    }
        .blue-section h2, .section.blue-section h2,
        #sidebar .blue-section h2  {
            position: relative;
            font-size: 18px;
            margin-top: 24px;
            margin-bottom: .625em;
            color: #616871;
            background: none;
        }
        .blue-section h2:before, .section.blue-section h2:before,
        #sidebar .blue-section h2:before { /* 青のライン */
            position: absolute;
            top: -24px;
            left: -0.15%;
            content: "";
            width: 100.3%;
            height: 5px;
            background: #0078d4;
        }
        .blue-section h2:after, .section.blue-section h2:after,
        #sidebar .blue-section h2:after {
            content: none;
            border: none;
        }
            .description {
                padding: 0 18px;
                font-size: 90%;
                font-weight: bold;
            }
    .panel {
        margin-bottom: 36px;
        border-radius: 4px;
        padding: 24px;
    }
    /* 灰色パネル */
    .gray-panel {
        background: #e0e0e0;
        border: 1px solid #d0d0d0;
    }
    /* 情報パネル */
    .green-panel {
        background: #b5e0d0;
        border: 1px solid #82bca7;
        color: #12563d;
    }
    /* 注意パネル */
    .yellow-panel {
        background: #f2e8bf;
        border: 1px solid #dbcb8e;
        color: #60500f;
    }
    /* 警告パネル */
    .red-panel {
        background: #edbdb8;
        border: 1px solid #c9817a;
        color: #6d160e;
    }

    /* -- 見出し -- */
        #main h1, #main h2, #main h3, #main h4, #main h5 {
            color: #0078d4;
        }
        #main h2, #main h3, #main h4, #main h5  {
            margin: 30px;
        }
        #main h4  {
        	margin: 30px 0;
        	font-size: 120%;
        	color: #555;
        }
        #main h3  {
        	border-bottom: 4px #bbb solid;
        	margin: 30px 30px 30px 0;
        	padding: 0 0 9px 0;
        	position: relative;
        	width: 70%;
        }
        #main h3::after {
            position: absolute;
            bottom: -4px;
            left: 0;
            z-index: 2;
            content: '';
            width: 50%;
            height: 4px;
            background-color: #3498db;
        }
        #main h2 {
            font-size: 140%;
            position: relative;
            margin: 78px 0 24px;
            padding-left: 30px;
        }
        #main h2:first-child {
            margin: 30px 0 24px;
        }
			#main h2:after {
			    content: "";
			    width: 0;
			    height: 0;
			    border-top: 8px solid transparent;
			    border-bottom: 8px solid transparent;
			    border-left: 8px solid #0078d4;
			    position: absolute;
			    top: 3px;
			    left: -1px;
			}
        #main h2:before { /* 緑のライン */
            position: absolute;
            top: -30px;
            left: -0.15%;
            content: "";
            width: 100.3%;
            height: 5px;
            background: #0078d4;
        }
        .article h2.entry-title, .blog-article h2, .section h2.entry-title, {
            position: relative;
            font-size: 20px;
            color: #100f0f;
            margin-bottom: 20px;
            padding-left: 0px;
            padding-bottom: 20px;
            border-bottom: 1px solid #b4b4b7;
            background: none;
        }
        .blog-article h2:first-child {
            margin-top: 0;
        }
        .article h2.entry-title:before, .article h2.entry-title:after, .section h2.entry-title:before, .section h2.entry-title:after, .blog-article h2:after, .blog-article h2:before { 
            position: absolute;
            top: 0;
            left: 0;
            content: none;
            width: 0;
            height: 0;
        }
        .article h3, .section h3 {
            border-bottom: 2px solid #0078d4;
            margin: 30px 0 20px 0;
            padding: 0 30px 18px;
        }
        .article h4, .section h4 {
            text-align: center;
            border-bottom: 1px solid #0078d4;
            margin-bottom: 20px;
            padding-bottom: 18px;
        }
        .article h5, .section h5 {
            border-bottom: 1px solid #0078d4;
            margin-bottom: 1.2em;
            padding-bottom: 1em;
        }
        .entry-meta {
            list-style: none;
            text-align: right;
            margin: 0;
        }
        .entry-meta li {
            color: #100f0f;
            margin: 0 0 1em 0;
            display: inline-block;
        }
        .entry-meta li::before, #main .entry-meta li::before {
            content: none;
        }
    @media (max-width: 749px) {
        .article h2.entry-title, .section h2.entry-title, .article h4, .section h4, .article h5, .section h5  {
            margin-top: 20px;
            margin-left: 20px;
            margin-right: 20px;
        }
    }
    /* セクション・アーティクル内余白*/
    #main p {
        margin: 0 0 10px;
        padding: 0px;
    }
    #main img {
        padding: 0px;
    }
    #main h2 + p, #main h2 + img {
        padding-top: 0;
    }
    #main img + p {
        padding-top: 0;
    }
    .content-sm-padding {
        padding: 24px;
    }
    .eyecatch + .entry-content, .eyecatch + .content-padding {
        padding-top: 1.2em;
    }
    h2 + .entry-content, h3 + .entry-content, h4 + .entry-content, h5 + .entry-content, h6 + .entry-content, h2 + .content-padding, h3 + .content-padding, h4 + .content-padding, h5 + .content-padding, h6 + .content-padding {
        padding-top: 0px;
    }
    .entry-content p:last-child, .blog-article p:last-child {
        margin-bottom: 0;
    }
    @media (max-width: 749px) {
        .entry-content, .content-padding {
            padding: 20px;
        }
    }
    /* セクション・アーティクル内余白小 */
    .sub-content {
        margin: 18px;
    }
    .blue-section .sub-content {
        border-top: 1px dotted #0078d4;
        padding-top: 18px;
        margin: 18px;
    }
    .eyecatch {
        margin-right: 30px;
        margin-left: 30px;
        margin-bottom: 0;
    }
    .eyecatch img {
        width: 100%;
        height: auto;
    }
    @media (max-width: 749px) {
        .eyecatch {
            margin-right: 20px;
            margin-left: 20px;
        }
    }   

/***** サイドバー *****/
#sidebar {
    font-size: 100%;
}
    #sidebar img {
        max-width: 100%;
    }
    #sidebar h2,
    #sidebar .blue-section h2 {
        font-size: 16px;
        position: relative;
    }
	    #sidebar h2:before {
		    position: absolute;
		    top: -20px;
		    left: 0;
		    content: "";
		    width: 100%;
		    height: 5px;
		    background: #0078d4;
		}
    #sidebar h2.banner {
        color: #46464c;
        margin-bottom: 1em;
        font-weight: normal;
    }
	    #sidebar h2.banner:before {
		    content: none;
		}
    #sidebar h3 {
        font-size: 16px;
        margin-bottom: 0;
        margin-top: 1em;
    }
    .sidebar-section {
        box-sizing: border-box;
        margin-bottom: 48px;
    }
    #sidebar .article-list {    
        margin-bottom: 20px;
        padding-bottom: 18px;
        border-bottom: 1px dotted #b4b4b7;
    }
    #sidebar .article-list + .article-list {    
        margin-top: 0px;
        padding-top: 0px;
        border-top: none;
    }
    #sidebar .article-list-img {
        text-align: left;
    }
    #sidebar .blue-section {
        padding-bottom: 24px;
    }
    #sidebar table {
        margin: 0;
        padding: 0;
    }
	    #sidebar table img {
	        width: 65px;
	        max-width: initial;
	    }
	    #sidebar table p {
        	font-size: 90%;
        	margin-bottom: 0;
     }
	    #sidebar table h3 {
	        margin-top: 0;
	        margin-bottom: 5px;
	    }
	    #sidebar table td {
	    	padding: 18px 0;
				border-bottom: 1px dotted #b4b4b7;
	    }
	    #sidebar table td:first-child {
	    	padding: 18px 15px 18px 0;
	    	width: 65px;
	    }
	    #sidebar table tr:first-child td {
	    	padding-top: 0;
	    	border-top: none;
			}
@media (max-width: 999px) {
    #sidebar {
        border-top: 1px solid #e2dedd;
        margin-top: 20px;
        padding-top: 68px;
    }
}
@media (max-width: 749px) {
    #sidebar .article-list-img {
        margin-bottom: 0px;
    }
}
/***** フッター *****/
#footer-links {
    margin: 64px auto;
}
	@media (max-width: 999px) {
		#footer-links {
		    margin: 0 auto 64px;
		}
	}
#footer {
    background: #0078d4;
    color: #fff;
    padding: 45px 0;
}
    #footer a,  #footer a:active,  #footer a:visited  {
        color: #fff;
    }
    #footer a:hover {
        color: #c2d7ed;
    }
    #footer .button-lg {
        min-width: 290px;
    }
    #footer a.button,  #footer a.button:active,  #footer a.button:visited, #footer a.button:hover  {
        color: #0078d4;
    }
    #footer table {
    	padding: 0;
    	max-width: 100%;
    }
    #footer table th, #footer table td {
		   border-bottom: none;

		}
    #footer table th {
    	padding: 5px 10px 5px 0;
		}
    #footer table td {
    	padding: 5px 0 5px 10px;
		}
    #footer table tr:first-child th,
    #footer table tr:first-child td {
		    border-top: none;
		}
    @media (max-width: 989px) {
        .footer-section + .footer-section {
            margin-top: 20px;
        }
    }
    @media (max-width: 749px) {
      div#footer-links a {
        display: inline-block;
        width: 45%;
      }
    }

/*-- マップ --*/
#map {
    position: relative;
    padding-bottom: 270px;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
#map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*-- 著作権 --*/
#copyright {
    padding: 1em 0;
}
#copyright p {
    margin: 0;
}
@media (max-width: 999px) {
	#copyright p {
	    text-align: center;
	}
}

/***** TOPへ戻る *****/
#page-top a {
    background: url("../img/al_ft_retop.png") no-repeat center;
    width: 44px;
    height: 44px;
    position: fixed;
    bottom: 50px;
    right: 50px;
}

/* ******************************************************** 
	02.トップページのデザインを作る
******************************************************** */
#local dl.dt-date:first-child, #event dl.dt-date:first-child {
    border-top: 1px solid #b4b4b7;
    padding: .8em 0 .8em;
}

/***** アイキャッチ *****/
.home #eyecatch {
    width: 100%;
    background-image: url("../img/tp_ecbk.png");
}
.home #eyecatch img{
    position: relative;
    width: 970px;
    height: auto;
    max-width: 100%;
}
table.news_table th{
  width: 102px;
}
@media (max-width: 467px) {
    .home #eyecatch {
        width: 100%;
        overflow: hidden;
        position: relative;
    }
  table.news_table, table.border {
    padding: 0;
  }
  table.news_table th, table.news_table td {
    display: block;
    text-align: left;
  }
  table.news_table th {
    border-bottom: none;
    padding-bottom: 0;
  }
  table.news_table td {
    padding-right: 15px;
    padding-top: 0;
  }
  table.news_table tr:first-child th, table.news_table tr:first-child td {
    border-top: none;
  }
}

/* ********************************************************
	03.個別ページのデザインを作る
******************************************************** */

/***** ギャラリー *****/
.gallery h2,.gallery h3,.gallery h4 {
  clear: both;
}

/***** お問い合せ・資料請求 *****/
.asterisk {
  color: #b70000;
  font-weight: bold;
}
table.contact_form {
  border: none;
  border-collapse: collapse;
  margin: 30px 0;
}
table.contact_form tr, table.contact_form th, 
table.contact_form td {
  vertical-align: middle;
  border-top: 1px dashed #B3B3B4;
  border-bottom: 1px dashed #B3B3B4;
}
table.contact_form th {
  background-color: transparent;
  border-right: 1px dashed #B3B3B4;
  border-left: none;
  color: #333;
  width: 200px;
}
table.contact_form td {
  border: none;
  border-right: none;
}
table.contact_form input[type="submit"], 
table.contact_form input[type="reset"] {
  color: #fff;
  text-shadow: none;
  background-color: #5c6266;
  border: #5c6266 1px solid;
}
table.contact_form p {
  margin: 20px 0;
}
table.contact_form input[type="text"],
table.contact_form input[type="email"] {
  max-width: 300px;
  border: 1px #bbb solid;
  line-height: 1.5;
}
	@media (max-width: 379px) {
		table.contact_form input[type="text"],
		table.contact_form input[type="email"] {
	    width: 90%;
	  }
	}
table.contact_form input[type="radio"],
table.contact_form input[type="checkbox"] {
  vertical-align: middle;
  margin: 0 3px;
  width: auto;
}
table.contact_form textarea {
  max-width: 600px;
  width: 100%!important;
}
table.contact_form input[type="submit"], 
table.contact_form input[type="reset"] {
  margin: 0 2% 25px;
  padding: 10px 5px;
  width: 45%;
  display: inline-block;
  padding: 10px 20px;
  line-height: 2.0;
  text-decoration: none;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -webkit-appearance: none;
  -moz-border-radius: 3px;
  cursor: pointer;
  font-size: 120%;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  font-weight: bold;
}
table.contact_form input:hover[type="submit"], 
table.contact_form input:hover[type="reset"] {
  opacity: 0.8;
}
table.contact_form .mwform-tel-field input, table.contact_form .mwform-fax-field input {
  width: 24%;
}
table.contact_form p {
  margin: 20px 0;
}
.form_btn_area{
  text-align: center;
}
.form h4{
    color: #5c6266;
    position: relative;
    border: #e7e5e4 1px solid;
    font-weight: normal;
    font-size: 85%;
    line-height: 1.5;
    margin: 30px auto !important;
    padding: 10px 25px;
    text-align: center;
    width: 60%;
}
@media (max-width: 467px) {
  table.contact_form th, table.contact_form td {
    display: block;
    width: 100%;
    text-align: left;
  }
  table.contact_form th {
    border: none;
    padding-bottom: 0;
  }
  table.contact_form td {
    padding-top: 0;
  }
  table.contact_form textarea {
    width: 90%!important;
  }
}
/* ********************************************************
	06.印刷用スタイル
******************************************************** */
@media print {
    #page-top, .tb-invisible {
        display: none;
    }
	#header, #eyecatch, #footer-links, #footer, #map, #copyright {
		width: 100%;
		margin: 0 auto;
    }
    #main,
		.eight.column, .eight.columns {
			width: 65%;
			margin: 0;
		}
    #sidebar,
    .four.column, .four.columns {
			width: 30%;
			margin: 0 0 0 4%;
			border-top: none;
			padding-top: 0;
		}
		#footer-links {
			margin: 5mm auto;
		}
		div#footer-links a {
			display: inline-block;
			width: 24%;
		}
		.col3 > div {
			width: 29%;
			float: left;
			margin-left: 4%;
		}
		#footer .four.column, #footer .four.columns {
			text-align: left;
			margin-top: 0;
		}
		.container,
		#footer .container {
			width: 100%;
		}
		.gallery h2+ul li {
			min-height: 240px;
		}
		table.news_table {
		  table-layout: fixed;
		}
}