@charset "utf-8";

/* ************************************************ 
*	Base, reset, normalize
* ************************************************ */

html,
body,
div,
span,
object,
iframe,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    font-style: normal;
    color: #333;
}


/* Structure tags */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
textarea {
    display: block;
}


/* Responsive media
-----------------------------------------------------------------------------*/

img,
object,
embed,
video,
iframe {
    max-width: 100%;
}

img,
video,
embed,
object {
    height: auto;
}

embed,
object {
    height: 100%;
}

img {
    vertical-align: middle;
    -ms-interpolation-mode: bicubic;
}


/* To prevent some browsers from inserting quotes on q and p */

blockquote,
q {
    quotes: none;
}

blockquote p:before,
blockquote p:after,
q:before,
q:after {
    content: '';
    content: none;
}


/* Table reset */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th,
td {
    text-align: left;
    vertical-align: top;
    font-weight: normal;
}

thead th,
thead td {
    font-weight: bold;
    vertical-align: bottom;
}


/* Image inside */

a img,
th img,
td img {
    vertical-align: top;
}


/* Webkit browsers reset margin */

button,
input,
select,
textarea {
    margin: 0;
}

textarea {
    overflow: auto;
}


/* Normalize buttons in IE */

button {
    width: auto;
    overflow: visible;
}


/* Hand cursor on clickable controls */

input[type=button],
input[type=submit],
button {
    cursor: pointer;
}


/* Trick with vertical align for radio and checkbox  */

input[type="radio"],
input[type="checkbox"] {
    font-size: 110%;
}


/* Horizontal rule reset  */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ddd;
}


/* Clearfix */

.group:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}


/* ************************************************ 
*	Typography
* ************************************************ */

body {
    font: 13px arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    background: #ffffff;
    color: #444;
    line-height: 180%;
}

a {
    color: #336699;
}

a:hover {
    color: #19334d;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
    margin-bottom: 0.5em;
}

h1 {
    font-size: 2.5714285714285716em;
    line-height: 1em;
}

h2 {
    font-size: 2.142857142857143em;
    line-height: 1.1em;
}

h3 {
    font-size: 1.7142857142857142em;
    line-height: 1.3em;
}

h4 {
    font-size: 1.2857142857142858em;
    line-height: 1.3em;
}

h5 {
    font-size: 1.1428571428571428em;
    line-height: 1.3em;
}

h6 {
    font-size: 1em;
    line-height: 1.3em;
    text-transform: uppercase;
}

hgroup h1,
hgroup h2,
hgroup h3,
hgroup h4 {
    margin-bottom: .1em;
}

.subheader {
    font-size: 1.2em;
    font-weight: normal;
    color: #8f8f8f;
    margin-bottom: 1em;
}

p,
ul,
ol,
dl,
dd,
dt,
blockquote,
td,
th {
    line-height: 1.5em;
}

ul,
ol,
ul ul,
ol ol,
ul ol,
ol ul {
    margin: 0 0 0 2em;
}

ol ol li {
    list-style-type: lower-alpha;
}

ol ol ol li {
    list-style-type: lower-roman;
}

ul,
ol,
dl,
blockquote,
hr,
pre,
hgroup,
table,
form,
fieldset {
    margin-bottom: 1.5em;
}

dl dt {
    font-weight: bold;
}

/*
dd {
    margin-left: 1em;
}*/

blockquote {
    margin-bottom: 1.5em;
    padding-left: 1.5em;
    border-left: 1px solid #ccc;
    color: #666;
}

blockquote small,
cite {
    color: #888;
    font-style: italic;
}

blockquote p {
    margin-bottom: 1em;
    font-style: italic;
}

small,
blockquote cite {
    font-size: 0.85em;
    line-height: 1;
}

blockquote .pull-right,
.row blockquote .pull-right {
    float: none;
    text-align: right;
    display: block;
}

address {
    font-style: italic;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help;
}

strong,
b {
    font-weight: bold;
}

em,
i {
    font-style: italic;
}

sub,
sup {
    font-size: 0.7em;
    line-height: 0;
    position: relative;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

figcaption {
    font-size: 0.85em;
    font-style: italic;
}

ins,
mark {
    background-color: transparent;
    color: #000000;
    text-decoration: none;
}

pre,
code,
kbd,
samp {
    font-size: 90%;
    font-family: Menlo, Monaco, monospace, sans-serif;
}

pre {
    background: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 3px;
    padding: 1.5em;
    white-space: pre;
    overflow: auto;
}

code {
    padding: 2px 3px;
    display: inline-block;
    line-height: 1;
    background: #f8f8f8;
    border: 1px solid #ddd;
}

kbd {
    padding: 0 6px;
    border-radius: 4px;
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2), 0 0 0 1px #ffffff inset;
    background-color: #fafafa;
    border-color: #ccc #ccc white;
    border-style: solid solid none;
    border-width: 1px 1px medium;
    color: #444;
    font-weight: bold;
    white-space: nowrap;
}

input[type="text"],
input[type="password"],
input[type="email"],
textarea {
    font-size: 13px;
}

fieldset {
    padding: 2em 1.5em;
    margin-bottom: 1.5em;
    border: 1px solid #dddddd;
}

legend {
    font-size: 1.2em;
    text-transform: uppercase;
    font-weight: bold;
    padding: 0 1em;
}

tfoot th,
tfoot td {}

th,
td {
    padding: 0.75em 0.5em;
}


/* ************************************************ 
*	Tables
* ************************************************ */

table caption {
    text-transform: uppercase;
    font-weight: bold;
    padding-left: 0.5em;
    color: #666;
}

table.simple td,
table.simple th {
    border: none;
    padding: 0.75em 0.7em 0.75em 0;
}

table.bordered td,
table.bordered th {
    border: 1px solid #ddd;
}

table.stroked td,
table.stroked th {
    border-bottom: 1px solid #eee;
}

table.striped tbody tr:nth-child(odd) td {
    background-color: #f8f8f8;
}

table.hovered tbody tr:hover td,
table.hovered thead tr:hover th {
    background-color: #f6f6f6;
}

.thead-gray td,
.thead-gray th {
    background-color: #f0f0f0;
}

.thead-black td,
.thead-black th {
    font-weight: normal;
    color: #f6f6f6;
    color: rgba(255, 255, 255, 0.9);
    background-color: #222;
}

table.bordered .thead-black td,
table.bordered .thead-black th {
    border: 1px solid #444;
}


/* ************************************************ 
*	Forms
* ************************************************ */

.forms label {
    display: block;
    margin-bottom: 2px;
}

.descr {
    color: #999999;
    font-size: 0.85em;
    line-height: 1.5em;
}

div.descr {
    margin: 4px 0;
}

.columnar div.descr {
    margin-bottom: 10px;
}

.forms ul {
    list-style: none;
    margin: 0;
}

.forms ul li {
    margin-bottom: 10px;
}

.forms.columnar ul li {
    margin-bottom: 15px;
}


/* liner fieldset */

fieldset.liner {
    border: none;
    padding: 0;
}

fieldset.liner legend {
    padding: 0;
    width: 100%;
    padding-bottom: 12px;
}

fieldset.liner legend span {
    padding: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
    display: block;
}


/* multicolumn */

.forms ul.multicolumn:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.forms ul.multicolumn li {
    float: left;
    margin-right: 12px;
    margin-bottom: 0;
    line-height: 1.8em;
}

.forms ul.multicolumn li label {
    margin-bottom: 0;
}

.forms ul.multicolumn li.width-50 {
    width: 48%;
    margin-right: 2%;
}

.forms ul.multicolumn li.width-33 {
    width: 31%;
    margin-right: 2%;
}


/* columnar */

.forms.columnar legend {
    margin-bottom: 1em;
}

.forms.columnar label {
    float: left;
    width: 150px;
    text-align: right;
    margin-right: 20px;
}

.forms.columnar .push,
.forms.columnar div.descr {
    margin-left: 170px;
}

.forms.columnar li fieldset label {
    float: none;
    width: auto;
    text-align: left;
    margin-right: 0;
}

.forms.columnar li fieldset {
    border: none;
    padding: 0;
    margin: 0;
    padding-left: 170px;
    position: relative;
}

.forms.columnar li fieldset section {
    padding: 0;
    position: absolute;
    width: 150px;
    text-align: right;
    left: 0;
    top: 0;
}

.forms.columnar li fieldset section label {
    float: none;
    width: auto;
    margin-right: 0;
    text-align: right;
}

.forms.columnar li fieldset div.descr {
    margin-left: 0;
}


/* section */

.forms li.form-section {
    font-weight: bold;
    border-bottom: 1px solid #eee;
    padding: 1.5em 0 .7em 0;
    font-size: 1.1em;
    margin-bottom: 1.5em;
}

.columnar li.form-section {
    padding-left: 170px;
}


/* tableforms */

table.tableforms td {
    font-size: 90%;
    padding: 1px 10px 3px 0 !important;
    border: none;
}

table.tableforms tr.labels td {
    padding-top: .8em !important;
    font-weight: bold;
}

input[type="radio"],
input[type="checkbox"] {
    position: relative;
    top: -1px;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="url"]
textarea {
    position: relative;
    z-index: 2;
    border: 1px solid #ccc;
    margin: 0;
    padding: 12px;
    background-color: white;
    color: #333;
    font-size: 13px;
    line-height: 1;
    border-radius: 1px;
    -webkit-transition: border 0.3s ease-in;
    -moz-transition: border 0.3s ease-in;
    -ms-transition: border 0.3s ease-in;
    -o-transition: border 0.3s ease-in;
    transition: border 0.3s ease-in;
   box-sizing: border-box;
}
input[type="submit"]{
    font-size: 18px;
    padding: 24px 16px;

}
textarea {
    line-height: 1.4em;
}


/* Errors and Success */

.error,
.success {
    margin-left: 5px;
    font-weight: normal;
    font-size: 0.85em;
}

input.input-error,
textarea.input-error,
select.input-error,
.input-error {
    border-color: #da3e5a;
    box-shadow: 0 0 0 2px rgba(218, 62, 90, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}

input.input-success,
textarea.input-success,
select.input-success,
.input-success {
    border-color: #18a011;
    box-shadow: 0 0 0 2px rgba(24, 160, 17, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}

input.input-gray,
textarea.input-gray,
select.input-gray,
.input-gray {
    border-color: #ccc;
    box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}

input:focus,
textarea:focus {
    outline: none;
    border-color: #5ca9e4;
    box-shadow: 0 0 0 2px rgba(70, 161, 231, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}

input.input-search {
    padding-right: 10px;
    padding-left: 10px;
    margin-bottom: 0;
    border-radius: 15px;
}

.input-append,
.input-prepend {
    display: inline-block;
    background-color: #eee;
    height: 23px;
    border: 1px solid #ccc;
    margin: 0;
    padding: 1px 8px;
    color: #333;
    font-size: 14px;
    line-height: 23px;
}

.input-prepend {
    margin-right: -1px;
}

.input-append {
    position: relative;
    z-index: 1;
    margin-left: -1px;
}

.btn {
    position: relative;
    cursor: pointer;
    outline: none;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1;
    font-size: 13px;
    font-weight: normal;
    padding: 6px 16px;
    border-radius: 4px;
    background-color: #f3f3f3;
    background-image: -moz-linear-gradient(top, #ffffff, #e1e1e1);
    background-image: -ms-linear-gradient(top, #ffffff, #e1e1e1);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e1e1e1));
    background-image: -webkit-linear-gradient(top, #ffffff, #e1e1e1);
    background-image: -o-linear-gradient(top, #ffffff, #e1e1e1);
    background-image: linear-gradient(top, #ffffff, #e1e1e1);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e1e1e1', GradientType=0);
    border: 1px solid #dadada;
    border-left: 1px solid #d2d2d2;
    border-right: 1px solid #d2d2d2;
    border-bottom-color: #a9a9a9;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 1px 1px 0 rgba(255, 255, 255, 0.6);
    text-shadow: 0 1px 0px #ffffff;
}

.btn,
.btn:hover {
    color: #000;
}

.btn:hover {
    filter: none;
    background: none;
    background: #eee;
    text-shadow: 0 1px 0px rgba(255, 255, 255, 0.8);
    text-decoration: none;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}


/* Active  */

.btn-big.btn-active,
.btn-big.btn-active:hover {
    padding: 11px 25px;
}

.btn-active,
.btn-active:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) inset;
    color: #555;
    border: none;
    background: none;
    filter: none;
    background-color: #ddd;
    text-shadow: 0 1px 0px rgba(255, 255, 255, 0.8);
    padding: 7px 17px 8px 17px;
}


/* Small */

.btn-small {
    padding: 4px 12px;
    font-size: 11px;
}

.btn-small.btn-active {
    padding: 5px 12px;
}


/* Big */

.btn-big {
    padding: 10px 24px;
    font-size: 20px;
}


/* Square */

.btn-square {
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
}


/* Round */

.btn-round {
    border-radius: 15px;
    border-radius: 0 \0;
    /* ie9 hack */
}


/* Full */

.btn-full {
    width: 100%;
}


/* Group  */

.btn-group {
    display: inline-block;
    margin-right: 2px;
    vertical-align: bottom;
}

.btn-group:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.btn-group>.btn,
.btn-group>input {
    float: left;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    margin-left: -1px;
}

.btn-group>.btn:first-child {
    border-radius: 4px 0 0 4px;
}

.btn-group>.btn:last-child {
    border-radius: 0 4px 4px 0;
}

.btn-group>.btn.btn-round:first-child,
.btn-group>.input-search:first-child {
    border-radius: 15px 0 0 15px;
}

.btn-group>.btn.btn-round:last-child,
.btn-group>.input-search:last-child {
    border-radius: 0 15px 15px 0;
}


/* Append  */

.btn-append {
    margin-left: -2px;
    border-radius: 0 4px 4px 0;
}


/* Disabled  */

.btn.disabled,
.btn[disabled] {
    border: none;
    filter: none;
    background: none;
    background-color: #e9e9e9;
    opacity: 0.6;
    cursor: default;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.6);
}


/* FF fix */

@-moz-document url-prefix("http://") {
    input[type=submit].btn::-moz-focus-inner,
    button.btn::-moz-focus-inner {
        border: 0;
        padding: 0;
    }
}


/* ************************************************ 
*	Grid
* ************************************************ */

.row {
    margin-bottom: 1.5em;
}

.container.row {
    margin-bottom: 0;
}

.container:after,
.row:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.half,
.third,
.quarter,
.fifth,
.sixth,
.twothird,
.twofifth,
.threefifth,
.fourfifth,
.fivesixth,
.threequarter {
    margin-left: 3.1914893617021276%;
    float: left;
    min-height: 1px;
}

.half:first-child,
.third:first-child,
.quarter:first-child,
.fifth:first-child,
.sixth:first-child,
.twothird:first-child,
.twofifth:first-child,
.threefifth:first-child,
.fourfifth:first-child,
.fivesixth:first-child,
.threequarter:first-child {
    margin-left: 0;
}

.sixth {
    width: 14.007092198581558%;
}

.fifth {
    width: 17.4468085106383%;
}

.quarter {
    width: 22.606382978723403%;
}

.third {
    width: 31.205673758865245%;
}

.half {
    width: 48.40425531914894%;
}

.threequarter {
    width: 74.20212765957446%;
}

.twothird {
    width: 65.60283687943262%;
}

.twofifth {
    width: 38.08510638297872%;
}

.threefifth {
    width: 58.72340425531915%;
}

.fourfifth {
    width: 79.36170212765958%;
}

.fivesixth {
    width: 82.8014184397163%;
}

.push-half,
.push-threequarter,
.push-quarter,
.push-third,
.push-twothird,
.push-fifth,
.push-twofifth,
.push-threefifth,
.push-fourfifth,
.push-sixth,
.push-fivesixth {
    position: relative;
}

.push-half {
    left: 51.59574468085106%;
}

.push-third {
    left: 34.39716312056737%;
}

.push-quarter {
    left: 25.79787234042553%;
}

.push-fifth {
    left: 20.638297872340427%;
}

.push-sixth {
    left: 17.198581560283685%;
}

.push-threequarter {
    left: 77.39361702127658%;
}

.push-twothird {
    left: 68.79432624113474%;
}

.push-twofifth {
    left: 41.27659574468085%;
}

.push-threefifth {
    left: 61.91489361702128%;
}

.push-fourfifth {
    left: 82.55319148936171%;
}

.push-fivesixth {
    left: 85.99290780141843%;
}

.split .half,
.split .third,
.split .quarter,
.split .fifth,
.split .sixth,
.split .twothird,
.split .twofifth,
.split .threefifth,
.split .fourfifth,
.split .fivesixth,
.split .threequarter {
    margin-left: 0;
}

.split .half {
    width: 50%;
}

.split .threequarter {
    width: 75%;
}

.split .quarter {
    width: 25%;
}

.split .third {
    width: 33.3%;
}

.split .twothird {
    width: 66.6%;
}

.split .fifth {
    width: 20%;
}

.split .twofifth {
    width: 40%;
}

.split .threefifth {
    width: 60%;
}

.split .fourfifth {
    width: 80%;
}

.split .sixth {
    width: 16.6%;
}

.split .fivesixth {
    width: 83.4%;
}

.inner {
    padding: 1.5em;
}

.inner-left {
    padding-left: 1.5em;
}

.inner-right {
    padding-right: 1.5em;
}

.inner-nobottom {
    padding-bottom: 1px;
}

.inner-double {
    padding: 3em;
}

.inner-double-left {
    padding-left: 3em;
}

.inner-double-right {
    padding-right: 3em;
}

.inner-double-nobottom {
    padding-bottom: 1px;
}

.row .push-right {
    float: right;
}

.row .centered {
    float: none;
    margin: 0 auto;
}


/* ************************************************ 
*	Blocks
* ************************************************ */

.block-two,
.block-three,
.block-four,
.block-five,
.block-six {
    list-style: none;
    margin-left: -3.1914893617021276%;
    margin-bottom: 0;
}

.block-two:after,
.block-three:after,
.block-four:after,
.block-five:after,
.block-six:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.block-two>li,
.block-three>li,
.block-four>li,
.block-five>li,
.block-six>li {
    height: auto;
    float: left;
    margin-bottom: 1.5em;
    margin-left: 3.1914893617021276%;
}

.block-two>li {
    width: 46.80851063829787%;
}

.block-three>li {
    width: 30.141843971631204%;
}

.block-four>li {
    width: 21.80851063829787%;
}

.block-five>li {
    width: 16.80851063829787%;
}

.block-six>li {
    width: 13.47517730496454%;
}


/* ************************************************ 
*	Goodies
* ************************************************ */

.image-left {
    float: left;
    margin: 0 1em 1em 0;
}

.image-right {
    float: right;
    margin: 0 0 1em 1em;
}

.image-left img,
.image-right img {
    position: relative;
    top: .4em;
}

p.lead {
    font-size: 1.2em;
}

.supersmall {
    font-size: 0.7em;
}

.small {
    font-size: 0.85em;
}

.big {
    font-size: 1.2em;
}

input.big {
    padding: 2px 0;
    font-size: 1.2em;
}

.text-centered {
    text-align: center;
}

.uppercase {
    text-transform: uppercase;
}

.nowrap {
    white-space: nowrap;
}

.clear {
    clear: both;
}

.last {
    margin-right: 0 !important;
}

.end {
    margin-bottom: 0 !important;
}

.handle {
    cursor: move;
}

.normal {
    font-weight: normal;
}

.bold {
    font-weight: bold;
}

.italic {
    font-style: italic;
}

.req,
.required {
    font-weight: normal;
    color: #da3e5a;
}

.highlight {
    background-color: #e5ecf5 !important;
}


/* Width */

.width-33 {
    width: 33%;
}

.width-50 {
    width: 50%;
}

.width-100 {
    width: 100%;
}

input.width-100 {
    width: 98.6%;
}

textarea.width-100 {
    width: 99.4%;
}

select.width-100 {
    width: 99.4%;
}


/* Colors */

.black {
    color: #000000;
}

.gray-dark {
    color: #555555;
}

.gray {
    color: #777777;
}

.gray-light {
    color: #999999;
}

.white {
    color: #ffffff;
}

.red,
.error {
    color: #da3e5a;
}

.green,
.success {
    color: #18a011;
}


/* Link Colors Hover */

a.white:hover {
    color: #d9d9d9;
    color: rgba(255, 255, 255, 0.8);
}

a.green:hover,
a.red:hover,
a.error:hover {
    color: #000000;
}


/* ************************************************ 
*	Responsive Mobile (Portrait)
* ************************************************ */

@media only screen and (max-width: 767px) {
    .row .half,
    .row .third,
    .row .quarter,
    .row .fifth,
    .row .sixth,
    .row .twothird,
    .row .twofifth,
    .row .threefifth,
    .row .fourfifth,
    .row .fivesixth,
    .row .threequarter {
        margin-left: 0;
        width: 100%;
    }
    .push-half,
    .push-threequarter,
    .push-quarter,
    .push-third,
    .push-twothird,
    .push-fifth,
    .push-twofifth,
    .push-threefifth,
    .push-fourfifth,
    .push-sixth,
    .push-fivesixth {
        left: 0;
    }
    .row .pull-right {
        float: none;
    }
    /*
  		Blocks
  	*/
    .block-two,
    .block-three,
    .block-four,
    .block-five,
    .block-six {
        margin-left: 0;
        margin-bottom: 1.5em;
    }
    .block-two>li,
    .block-three>li,
    .block-four>li,
    .block-five>li,
    .block-six>li {
        float: none;
        margin: 0;
        width: 100%;
    }
    /*
  		Forms
  	*/
    .forms.columnar label {
        float: none;
        text-align: left;
        width: auto;
    }
    .forms.columnar .push,
    .forms.columnar div.descr {
        margin-left: 0;
    }
    .forms .multicolumn li {
        float: none;
        margin-right: 0;
    }
    .forms .multicolumn li.width-50,
    .forms .multicolumn li.width-33 {
        width: 100%;
    }
    .forms.columnar li fieldset,
    .forms.columnar li fieldset section {
        width: 100%;
        padding-left: 0;
        text-align: left;
        position: static;
    }
    .forms fieldset {
        padding: 0;
        padding-top: 1em;
        border: none;
    }
    .forms fieldset legend {
        padding: 0;
    }
}

/* ------------------------------------------------
 * Sticky nav (PC) & Hamburger drawer (Mobile)
 * ------------------------------------------------ */

/* PC: スクロール後にスティッキー */
@media only screen and (min-width: 768px) {
    #nav.nav-sticky {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    }
    #nav-toggle,
    #nav-overlay {
        display: none !important;
    }
}

/* Mobile: ハンバーガー + 右ドロワー */
@media only screen and (max-width: 767px) {
    /* ドロワー本体（右からスライドイン） */
    #nav {
        position: fixed !important;
        top: 0;
        right: 0;
        bottom: 0;
        width: 240px;
        height: 100vh;
        z-index: 10000;
        overflow-y: auto;
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
        -webkit-transition: -webkit-transform 0.3s ease;
        transition: transform 0.3s ease;
        text-align: left;
    }

    body.nav-open #nav {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    /* ナビリンクを縦並びに */
    #nav .nav-menu {
        padding: 60px 0 20px;
        margin: 0;
    }

    #nav .nav-menu li {
        display: block;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    #nav .nav-menu li a {
        padding: 14px 20px;
        text-align: left;
        font-size: 14px;
    }

    /* ハンバーガーボタン（右上固定） */
    #nav-toggle {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        position: fixed;
        top: 12px;
        right: 12px;
        z-index: 10001;
        width: 54px;
        height: 54px;
        padding: 0;
        background: #147A40;
        color: #fff;
        border: 2px solid rgba(255, 255, 255, 0.7);
        border-radius: 4px;
        font-size: 11px;
        font-weight: bold;
        letter-spacing: 0.05em;
        cursor: pointer;
        line-height: 1;
    }
    #nav-toggle span{
        color: #fff;
    }

    /* オーバーレイ（背景クリックで閉じる） */
    #nav-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9999;
    }

    body.nav-open #nav-overlay {
        display: block;
    }

}

/* トップへ戻るボタン */
#topcontrol {
    position: fixed;
    right: 15px;
    bottom: 15px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 4px;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 999;
}
#topcontrol.is-visible {
    opacity: 1;
    visibility: visible;
}
