@charset "UTF-8";

/*   
Theme Name: Life
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
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 {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

html {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q,
blockquote {
    quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
    content: none;
}

a img {
    border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}


.label, label, legend {
    color: #666;
}


/* HTML5
-------------------------------------------------- */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden] {
    display: none;
}


body ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

body ::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.1)
}

body ::-webkit-scrollbar-thumb {
  background: #efefef;
}





/* all
-------------------------------------------------- */

html {
    font-size: 62.5%;
}

body {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: .008em;
    font-family: "Roboto", "Noto Sans Japanese", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    overflow-wrap: break-word;
    word-break: normal;
}

a {
    -webkit-transition: opacity ease-in-out .3s, color  ease-in-out .3s;
    transition: opacity ease-in-out .3s, color  ease-in-out .3s;
}

a:focus,
a:active,
a:hover {
    outline: 0;
    text-decoration: none;
}

* {
    box-sizing: border-box;
}


/* clear
-------------------------------------------------- */

.clear {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

.clearfix:before {
    display: inline-table;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}


/* text
-------------------------------------------------- */

abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

blockquote {
    clear: both;
    position: relative;
    color: #666;
    background: rgba(55, 63, 81, 0.05);
    margin-bottom: 1.6rem;
    padding: 30px;
    margin: -30px;
    margin: 1.6rem -30px;
}

blockquote:before {
    content: "\e67f";
    font-family: 'themify';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 10px;
    left: 10px;
    color: #999;
}

blockquote:after {
    content: "\e67e";
    font-family: 'themify';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    bottom: 10px;
    right: 10px;
    color: #999;
}


blockquote cite {
    position: absolute;
    right: 20px;
    bottom: 10px;
    font-size: 12px;
    color: #999;
}

dfn {
    font-style: italic;
}

mark {
    background: #ff0;
    color: #000;
}

code,
kbd,
pre,
samp {
    font-family: inherit;
    _font-family: inherit;
    font-size: 1em;
}

pre code {
    display: block;
    clear: both;
    position: relative;
    color: rgba(255, 255, 255, .95);
    background: #373F51;
    line-height: 1.5;
    letter-spacing: .1rem;
    padding: 20px;
    margin: 0 -20px 3.2rem;
    font-size: 1.4rem;
    overflow: auto;
}







small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}


/* list
-------------------------------------------------- */

nav ul,
nav ol {
    list-style: none;
    list-style-image: none;
}

.inline-list li {
    display: inline-block;
}


/* embed
-------------------------------------------------- */

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
    -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}


/* form
-------------------------------------------------- */

form {
    margin: 0;
}

fieldset {
    border: 1px solid #e5e5e5;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
    white-space: normal;
    *margin-left: -7px;
}

button,
input,
select,
textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    *vertical-align: middle;
}

button,
input {
    line-height: normal;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
.btn {
    cursor: pointer;
    *overflow: visible;
}

button[disabled],
input[disabled] {
    cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
    *height: 13px;
    *width: 13px;
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: border-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
    width: 100%;
}


/* form
---------------------------------------- */

form input[type="text"],
form input[type="email"],
form input[type="url"],
form input[type="tel"],
form input[type="number"],
form input[type="date"],
form input[type="password"],
form textarea {
    -webkit-appearance: none;
    border-radius: 3px;
    padding: 8px 13px;
    max-width: 100%;
    border: 1px #efefef solid;
    outline: none;
    box-sizing: border-box;
    font-family: inherit;
    font-weight: inherit;
    -webkit-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s;
}


form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="url"]:focus,
form input[type="tel"]:focus,
form input[type="number"]:focus,
form input[type="date"]:focus,
form input[type="password"]:focus,
form textarea:focus  {
    border-color: #4f4f51;
    outline: none;
}


form input[type="submit"],
form button {
    padding: 12px 20px;
    border: none;
}

form input[type="submit"]:hover,
form button:hover {
    cursor: pointer;
}


/* search */

#searchform {
    overflow: hidden;
    padding-bottom: 0;
    border-radius: 2px;
}

#searchform div {
    position: relative;
    padding-right: 40px;
}

#searchform label {
    display: none;
}

#searchform input[type=text] {
    padding: 0 50px;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
    border: none;
    float: left;
    background: none;
    line-height: 50px;
}

#searchform button {
    position: absolute;
    top: 0;
    right: 0;
    line-height: 50px;
    border: none;
    width: 50px;
    padding: 0;
    -webkit-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
    background: transparent;
    text-align: center;
    color: #333;
}

#searchsubmit {
    left: 0;
    margin: 0;
}

#searchform button:hover {
    cursor: pointer;
}


/* table
-------------------------------------------------- */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

th,
td {
    border: 1px solid #e5e5e5;
    padding: 8px 13px;
}


/* ----------------------------------------
* レスポンシブ
* ~ / 1200px / 991px / 767px
* desctop / laptop / tablet / phone
---------------------------------------- */

@media screen and (max-width: 1200px) {
    /* laptop */
    /* laptop end */
}

@media screen and (max-width: 991px) {
    /* tablet */
    /* tablet end */
}

@media screen and (max-width: 767px) {
    /* phone */
    /* phone end */
}

.aligncenter,
div.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.alignright {
    float: right;
    margin-left: 12px;
    margin-bottom: 12px;
}

.alignleft {
    float: left;
    margin-right: 12px;
    margin-bottom: 12px;
}

.aligncenter {
    clear: both;
    margin-left: auto;
    margin-right: auto;
    display: block;
}


/* header */

#logo {
    margin: 0;
}


/* post */

.post-content dl,
.post-content menu,
.post-content ol,
.post-content ul {
    margin: 0 0 1.8em;
}

.post-content dd {
    margin: 0 0 20px 0;
}

.post-content ol ol,
.post-content ol ul,
.post-content ul ol,
.post-content ul ul {
    margin: 0;
}

.post-content blockquote *:last-child {
    margin-bottom: 0;
}

.post-content table {
    width: 100%;
    margin-bottom: 1.6rem;
}

.post-content table th,
.post-content table td {
    padding: 8px 10px;
    border: 0;
}

.post-content table th {
    color: #666;
}

.post-content table.table-line table,
.post-content table.table-line th,
.post-content table.table-line td {
    border-color: #fff;
}

.post-content table.table-line th {
    background: transparent;
    color: #333;
    font-weight: bold;
}

.post-content table.table-line thead th {
    background: #5e6265;
    color: #fff;
}

.post-content table.table-line tr {
    background: #eee;
}

.post-content table.table-line tr:nth-child(2n+1) {
    background: #ddd;
}



.wp-caption {
    border: 1px solid #ddd;
    text-align: center;
    background-color: #f3f3f3;
    padding-top: 4px;
    padding-left: 4px;
    padding-right: 4px;
    margin: 10px;
    max-width: 100%;
    box-sizing: border-box;
    /* optional rounded corners for browsers that support it */
    -khtml-border-radius: 3px;
    border-radius: 3px;
}

.wp-caption img {
    margin: 0;
    padding: 0;
    border: 0 none;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    padding: 0 4px 5px;
    margin: 0;
}


/* ----------------------------------------
* content-none
---------------------------------------- */

.content-none #searchform {
    max-width: 400px;
}


/* ----------------------------------------
* pagetop
---------------------------------------- */

.pagetop {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    bottom: 0;
    right: 0;
    color: #fff;
    z-index: 2;
}

.pagetop span {
    display: block;
    background: #004099;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    font-size: 18px;
}

.pagetop span i {
    color: #fff;
}

.pagetop.show {
    visibility: visible;
    opacity: 1;
}

@media screen and (max-width: 767px) {
    /* phone */
    /* phone end */
}

@media screen and (max-width: 991px) {
    /* tablet */
    .pagetop span {
        background: rgba(0, 64, 153, 0.8);
    }
    /* tablet end */
}

.row {
    *zoom: 1;
}

.row:before {
    display: inline-table;
}

.row:after {
    content: "";
    display: block;
    clear: both;
}

.loader,
.loader:after {
    border-radius: 50%;
    width: 50px;
    height: 50px;
}

.loader {
    margin: auto 0;
    margin-left: -25px;
    position: absolute;
    left: 50vw;
    top: 0;
    bottom: 0;
    border-top: 2px solid rgba(0, 0, 0, 0.1);
    border-right: 2px solid rgba(0, 0, 0, 0.1);
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    border-left: 2px solid #333;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}


.mb-5 {
    margin-bottom: 5px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mb-15 {
    margin-bottom: 15px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-30 {
    margin-bottom: 30px;
}

.mb-40 {
    margin-bottom: 40px;
}

.mb-50 {
    margin-bottom: 50px;
}