/*
Theme Name: Asake Seiko
Author: Asake Seiko
Version: 1.0.0
*/
/* --------------------
 Accessibility
-------------------- */
@media screen and (min-width:1024px) {
	.pc-none {
		display:none;
	}
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

[tabindex="-1"]:focus {
    outline: 0;
}

.skip-link:focus {
    border-radius: 0;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    clip: auto !important;
    -webkit-clip-path: none;
            clip-path: none;
    display: block;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

.post-password-form p {
    font-size: 1.4rem;
    margin: 0 0 1.5rem;
}

.post-password-form input[type="password"] {
    height: 30px;
    margin: 0 0 0 5px;
    padding: 5px 10px;
}

.post-password-form input[type="submit"] {
    background: none;
    border: 1px solid #cccccc;
    color: #333333;
    cursor: pointer;
    height: 30px;
    padding: 5px 30px;
    vertical-align: bottom;
}

.post-nav-links {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 100px auto 0;
    text-align: center;
}

.post-nav-links a.post-page-numbers, .post-nav-links span.post-page-numbers {
    background-color: rgba(0, 104, 183, 0);
    border: 1px solid rgba(0, 104, 183, .5);
    border-radius: 0;
    color: #000000;
    display: inline-block;
    height: 30px;
    margin: 0 5px;
    padding: 3px 3px;
    text-align: center;
    text-decoration: none;
    transition: border-bottom-color .2s cubic-bezier(.645, .045, .355, 1), color .2s cubic-bezier(.645, .045, .355, 1), background-color .2s cubic-bezier(.645, .045, .355, 1);
    width: 30px;
}

.post-nav-links a.post-page-numbers:hover {
    background-color: #0068b7;
    color: #ffffff;
    text-decoration: none;
}

.post-nav-links span.current.post-page-numbers {
    background-color: #0068b7;
    color: #ffffff;
}

.nav-links {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 100px auto 0;
    text-align: center;
}

.nav-links a.page-numbers, .nav-links span.page-numbers {
    background-color: rgba(0, 104, 183, 0);
    border: 1px solid rgba(0, 104, 183, .5);
    border-radius: 0;
    color: #000000;
    display: inline-block;
    height: 30px;
    margin: 0 5px;
    padding: 3px 3px;
    text-align: center;
    text-decoration: none;
    transition: border-bottom-color .2s cubic-bezier(.645, .045, .355, 1), color .2s cubic-bezier(.645, .045, .355, 1), background-color .2s cubic-bezier(.645, .045, .355, 1);
    width: 30px;
}

.nav-links a.page-numbers:hover {
    background-color: #0068b7;
    color: #ffffff;
    text-decoration: none;
}

.nav-links span.current.page-numbers {
    background-color: #0068b7;
    color: #ffffff;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

main {
    display: block;
}

h1 {
    font-size: 2em;
    margin: .67em 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none;
    -webkit-text-decoration: underline dotted;
            text-decoration: underline;
            text-decoration: underline dotted;
}

b, strong {
    font-weight: bolder;
}

code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

img {
    border-style: none;
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: .35em .75em .625em;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto;
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none;
}

/* --------------------
 Styles
-------------------- */
html {
    font-size: 62.5%;
}

@font-face {
    font-family: YuGothicMedium;
    src: local(Yu Gothic Medium);
}

body {
    color: #1f1f1f;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", YuGothic, "游ゴシック体", YuGothicMedium, "Yu Gothic", "游ゴシック", Meiryo, sans-serif;
    font-feature-settings: "palt";
    font-size: 1.4rem;
    letter-spacing: .05em;
    line-height: 1.6;
    margin: 0;
    -webkit-text-size-adjust: 100%;
            text-size-adjust: 100%;
}

* {
    box-sizing: border-box;
}

*:before, *:after {
    box-sizing: border-box;
}

a {
    color: #1f1f1f;
    text-decoration: none;
}

a:hover, a:focus {
    color: #1f1f1f;
    text-decoration: none;
}

img {
    height: auto;
    max-width: 100%;
    -webkit-user-drag: none;
            user-drag: none;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    vertical-align: middle;
}

header, footer, main, nav, section {
    display: block;
}

button {
    cursor: pointer;
}

picture, figure, figcaption {
    margin: 0;
}

address {
    font-style: normal;
}

[tabindex="-1"]:focus {
    outline: 0;
}

/* --------------------
 Utils
-------------------- */
@media (max-width: 479px) {
    .hidden-xxs {
        display: none !important;
    }
}

@media (min-width: 480px) and (max-width: 767px) {
    .hidden-xs {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .hidden-sm {
        display: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1239px) {
    .hidden-md {
        display: none !important;
    }
}

@media (min-width: 1240px) {
    .hidden-lg {
        display: none !important;
    }
}

/* --------------------
 Layout
-------------------- */
.layout {
    animation: fadeIn .3s linear .1s;
    animation-fill-mode: backwards;
    opacity: 1;
    padding: 65px 0 0;
}

@media (min-width: 992px) {
    .layout {
        padding-top: 0;
    }
}

/* --------------------
 Commons
-------------------- */
.com-category {
    background-color: #333333;
    color: #ffffff;
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 3px;
    padding: 3px 15px;
}

@media (min-width: 768px) {
    .com-category {
        font-size: 1.5rem;
    }
}

a.com-category {
    transition: background-color .2s cubic-bezier(.645, .045, .355, 1);
}

a.com-category:hover, a.com-category:focus {
    background-color: rgba(51, 51, 51, .8);
    color: #ffffff;
}

/* --------------------
 Animation
-------------------- */
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.fadeIn {
    opacity: 0;
    transition: opacity .35s cubic-bezier(.645, .045, .355, 1), visibility .35s;
    visibility: hidden;
}

.fadeIn.is-active {
    opacity: 1;
    transition: opacity .35s cubic-bezier(.645, .045, .355, 1), visibility 0s;
    visibility: visible;
}

/* --------------------
 Header
-------------------- */
.header {
    background-color: white;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0);
    height: 65px;
    left: 0;
    padding: 15px 0 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: background-color .5s ease-in-out, box-shadow .5s ease-in-out;
    z-index: 99;
}

@media (min-width: 992px) {
    .header {
        background-color: rgba(255, 255, 255, 0);
        height: 115px;
        padding-top: 45px;
    }
}

@media (min-width: 992px) {
    .header-container {
        align-items: center;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        position: relative;
    }
}

.header__logo {
    display: block;
    font-size: 1.0rem;
    line-height: 1.0;
    margin: 0;
    padding: 0 0 20px 15px;
    width: auto;
}

@media (min-width: 992px) {
    .header__logo {
        padding-bottom: 15px;
    }
}

.header__logo__link {
    display: inline-block;
    position: relative;
}

.header__logo__link:before {
    background-image: url(./assets/images/logos/logo-brand-black.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    opacity: 1;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity .2s cubic-bezier(.645, .045, .355, 1);
    z-index: 0;
}

@media (min-width: 992px) {
    .header__logo__link:before {
        opacity: 0;
    }
}

@media (min-width: 768px) {
    .header__logo__link:hover, .header__logo__link:focus {
        opacity: .85;
    }
}

.header__logo__link img {
    height: 28px;
}

@media (min-width: 992px) {
    .header__logo__link img {
        height: 30px;
    }
}

@media (min-width: 1240px) {
    .header__logo__link img {
        height: auto;
    }
}

.header__nav {
    background-color: #ffffff;
    bottom: 0;
    display: none;
    left: 0;
    padding: 0 0 30px;
    position: fixed;
    right: 0;
    top: 65px;
}

@media (max-width: 767px) {
    .header__nav {
        overflow-y: auto;
    }
}

@media (min-width: 992px) {
    .header__nav {
        align-items: center;
        background-color: transparent;
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        padding-bottom: 0;
        position: static;
    }
}

.header__nav__menu {
    border-top: 1px solid #0068b7;
    margin: 0 0 30px;
}

@media (min-width: 992px) {
    .header__nav__menu {
        align-items: center;
        border-top: none;
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        margin-bottom: 0;
        margin-right: 30px;
    }
}

.header__nav__menu__item {
    border-bottom: 1px solid #0068b7;
    margin: 0;
    text-align: center;
}

@media (min-width: 992px) {
    .header__nav__menu__item {
        border-bottom: none;
        margin-right: 30px;
    }
}

.header__nav__menu__item:last-child {
    margin-right: 0;
}

.header__nav__menu__item__link {
    color: #333333;
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 10px 15px;
    position: relative;
}

@media (min-width: 992px) {
    .header__nav__menu__item__link {
        color: #ffffff;
        display: inline-block;
        padding: 0;
    }
}

.header__nav__menu__item__link:before {
    background-color: white;
    bottom: -1px;
    content: "";
    display: none;
    height: 1px;
    left: 0;
    margin: 0 auto;
    max-width: 100%;
    position: absolute;
    right: 0;
    transition: width .2s cubic-bezier(.645, .045, .355, 1);
    width: 0;
    z-index: 0;
}

@media (min-width: 992px) {
    .header__nav__menu__item__link:before {
        display: block;
    }
}

.header__nav__menu__item__link:hover, .header__nav__menu__item__link:focus {
    color: #333333;
}

@media (min-width: 992px) {
    .header__nav__menu__item__link:hover, .header__nav__menu__item__link:focus {
        color: #ffffff;
    }
}

.header__nav__menu__item__link:hover:before, .header__nav__menu__item__link:focus:before {
    width: 100%;
}

.header__nav__menu__item--has-submenu .header__nav__menu__item__link:after {
    border-bottom: none;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 12px solid #bbbbbb;
    bottom: 0;
    content: "";
    display: block;
    height: 12px;
    left: auto;
    margin: auto;
    position: absolute;
    right: 15px;
    top: 0;
    width: 14px;
}

@media (min-width: 992px) {
    .header__nav__menu__item--has-submenu .header__nav__menu__item__link:after {
        border-left-width: 5px;
        border-right-width: 5px;
        border-top-width: 8px;
        bottom: -8px;
        height: 8px;
        left: 0;
        right: 0;
        top: auto;
        width: 10px;
    }
}

.header__nav__menu__item__submenu {
    border-top: 1px solid #0068b7;
    padding: 0;
}

@media (max-width: 991px) {
    .header__nav__menu__item__submenu {
        display: block !important;
    }
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu {
        background-color: #ffffff;
        box-shadow: 0 10px 2px -9px #dddddd;
        display: none;
        left: 0;
        padding-left: 25px;
        padding-right: 25px;
        position: absolute;
        right: 0;
        top: 100%;
    }
}

.header__nav__menu__item__submenu-container {
    align-items: stretch;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1200px;
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu-container {
        align-items: flex-start;
        flex-wrap: nowrap;
    }
}

.header__nav__menu__item__submenu__item {
    border-bottom: 1px solid #0068b7;
    margin: 0 0 -1px;
    padding: 0;
    width: 50%;
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu__item {
        border-bottom: none;
        margin-bottom: 0;
        width: 20%;
    }
}

.header__nav__menu__item__submenu__item:nth-child(odd) {
    border-right: 1px solid #0068b7;
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu__item:nth-child(odd) {
        border-right: none;
    }
}

.header__nav__menu__item__submenu__item__link {
    background-color: rgba(0, 104, 183, .1);
    display: block;
    padding: 10px 15px;
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu__item__link {
        align-items: center;
        background-color: rgba(0, 104, 183, 0);
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding: 10px 5px;
        transition: background-color .2s cubic-bezier(.645, .045, .355, 1);
    }
}

.header__nav__menu__item__submenu__item__link__fig {
    display: none;
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu__item__link__fig {
        display: block;
        flex-grow: 0;
        flex-shrink: 1;
        margin: 0;
        width: 70px;
    }
}

@media (min-width: 1240px) {
    .header__nav__menu__item__submenu__item__link__fig {
        width: 105px;
    }
}

.header__nav__menu__item__submenu__item__link__fig img {
    line-height: 1;
}

.header__nav__menu__item__submenu__item__link__main {
    display: block;
    padding: 0;
    text-align: center;
    width: auto;
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu__item__link__main {
        flex-grow: 1;
        flex-shrink: 0;
        width: calc(100% - 70px);
    }
}

@media (min-width: 1240px) {
    .header__nav__menu__item__submenu__item__link__main {
        width: calc(100% - 105px);
    }
}

.header__nav__menu__item__submenu__item__link__main__title {
    color: #333333;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
    margin: 0;
    transition: color .2s cubic-bezier(.645, .045, .355, 1);
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu__item__link__main__title {
        font-size: 1.3rem;
        font-weight: 400;
        margin-bottom: 5px;
    }
}

.header__nav__menu__item__submenu__item__link__main__subtitle {
    color: #0e5590;
    display: none;
    font-size: 1.0rem;
    letter-spacing: 0;
    line-height: 1.4;
    transition: color .2s cubic-bezier(.645, .045, .355, 1);
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu__item__link__main__subtitle {
        display: block;
    }
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu__item__link:hover, .header__nav__menu__item__submenu__item__link:focus {
        background-color: #0068b7;
    }
}

.header__nav__menu__item__submenu__item__link:hover .header__nav__menu__item__submenu__item__link__main__title, .header__nav__menu__item__submenu__item__link:focus .header__nav__menu__item__submenu__item__link__main__title {
    color: #333333;
}

@media (min-width: 992px) {
    .header__nav__menu__item__submenu__item__link:hover .header__nav__menu__item__submenu__item__link__main__title, .header__nav__menu__item__submenu__item__link:focus .header__nav__menu__item__submenu__item__link__main__title {
        color: #ffffff;
    }
}

.header__nav__menu__item__submenu__item__link:hover .header__nav__menu__item__submenu__item__link__main__subtitle, .header__nav__menu__item__submenu__item__link:focus .header__nav__menu__item__submenu__item__link__main__subtitle {
    color: #ffffff;
}

.header__nav__info {
    margin: 0 0 50px;
    position: relative;
}

@media (min-width: 992px) {
    .header__nav__info {
        margin-bottom: 0;
    }
}

.header__nav__info__tel {
    display: none;
    left: auto;
    position: absolute;
    right: 10px;
    top: -10px;
    transform: translateY(-100%);
}

@media (min-width: 992px) {
    .header__nav__info__tel {
        display: block;
		width:260px;
    }
}

.header__nav__info__tel__link {
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 700;
}

.header__nav__info__tel__link:hover, .header__nav__info__tel__link:focus {
    color: #ffffff;
}

.header__nav__info__menu {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

@media (min-width: 992px) {
    .header__nav__info__menu {
        justify-content: flex-end;
    }
}

.header__nav__info__menu__item {
    padding: 0 15px;
    width: 150px;
}

@media (min-width: 992px) {
    .header__nav__info__menu__item {
        padding-left: 0;
        padding-right: 0;
        width: 100px;
    }
}

@media (min-width: 1240px) {
    .header__nav__info__menu__item {
        width: 110px;
    }
}

.header__nav__info__menu__item__link {
    align-items: center;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    font-size: 1.4rem;
    font-weight: 700;
    height: 70px;
    justify-content: center;
    text-align: center;
    transition: background-color .2s cubic-bezier(.645, .045, .355, 1);
    width: 100%;
}

.header__nav__info__menu__item__link img {
    margin: 0 0 5px;
}

.header__nav__info__menu__item__link span {
    display: block;
    width: 100%;
}

.header__nav__info__menu__item__link--recruit {
    background-color: #0068b7;
}

.header__nav__info__menu__item__link--lang {
	background-color: #0068b7;
	color:#ffffff;
	padding:2px 10px;
	margin-right:10px;
}
.header__nav__info__menu__item__link--lang:hover {
	background-color: #222222;
	color:#ffffff;
}


@media screen and (max-width: 1024px){
	.header__nav__info__menu__item__link--lang {
		background-color: #0068b7;
		color:#ffffff;
		padding:2px 10px;
		position: relative;
		left: 70%;
		top: -41px;
	}
}

.header__nav__info__menu__item__link--contact {
    background-color: #222222;
}

.header__nav__info__menu__item__link:hover, .header__nav__info__menu__item__link:focus {
    color: #ffffff;
}

.header__nav__info__menu__item__link--recruit:hover, .header__nav__info__menu__item__link--recruit:focus {
    background-color: rgba(0, 104, 183, .85);
}

.header__nav__info__menu__item__link--contact:hover, .header__nav__info__menu__item__link--contact:focus {
    background-color: rgba(34, 34, 34, .85);
}

@media (min-width: 992px) {
    .header__nav__company {
        display: none;
    }
}

.header__nav__company__name {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 5px;
    text-align: center;
}

.header__nav__company__address {
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
    margin: 0;
    text-align: center;
}

.header--active {
    background-color: white;
    box-shadow: 0 0 3px rgba(0, 0, 0, .5);
}

.header--active .header__logo__link:before {
    opacity: 1;
}

.header--active .header__nav__menu__item__link, .header--active .header__nav__info__tel__link {
    color: #333333;
}

.header--active .header__nav__menu__item__link:hover, .header--active .header__nav__menu__item__link:focus, .header--active .header__nav__info__tel__link:hover, .header--active .header__nav__info__tel__link:focus {
    color: #333333;
}

.header__burger {
    -webkit-appearance: none;
    background: none;
    border: none;
    border-radius: 0;
    bottom: auto;
    box-shadow: none;
    cursor: pointer;
    display: block;
    height: 36px;
    margin: auto;
    padding: 0;
    position: absolute;
    right: 15px;
    top: 15px;
    width: 30px;
    z-index: 100;
}

@media (min-width: 992px) {
    .header__burger {
        display: none;
    }
}

.header__burger__box {
    display: block;
    height: 18px;
    margin: 0 auto 8px;
    position: relative;
    width: 24px;
}

.header__burger__box__line {
    display: block;
    margin: -1px 0 0;
    top: 50%;
    transition-duration: .075s;
    transition-timing-function: cubic-bezier(.55, .055, .675, .19);
}

.header__burger__box__line, .header__burger__box__line:before, .header__burger__box__line:after {
    background-color: #0068b7;
    height: 2px;
    position: absolute;
    transition-property: transform;
    width: 24px;
}

.header__burger__box__line:before, .header__burger__box__line:after {
    content: "";
    display: block;
    transition-duration: .15s;
    transition-timing-function: ease;
}

.header__burger__box__line:before {
    top: -8px;
    transition: top .075s .12s ease, opacity .075s ease;
}

.header__burger__box__line:after {
    bottom: -8px;
    transition: bottom .075s .12s ease, transform .075s cubic-bezier(.55, .055, .675, .19);
}

.header__burger.is-active .header__burger__box__line {
    transform: rotate(45deg);
    transition-delay: .12s;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1);
}

.header__burger.is-active .header__burger__box__line:before {
    opacity: 0;
    top: 0;
    transition: top .075s ease, opacity .075s .12s ease;
}

.header__burger.is-active .header__burger__box__line:after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom .075s ease, transform .075s .12s cubic-bezier(.215, .61, .355, 1);
}

.header__burger__label {
    color: #0068b7;
    display: block;
    font-size: .8rem;
    line-height: 1;
    text-align: center;
}

/* --------------------
 Footer
-------------------- */
.footer {
    padding: 0 0 30px;
}

.footer__info {
    padding: 60px 0;
}

.footer__info-container {
    padding: 0 15px;
}

.footer__info__logo {
    margin: 0 0 0;
	/*    margin: 0 0 30px;*/
    text-align: center;
}

.footer__info__logo__link img {
    height: 28px;
}

@media (min-width: 768px) {
    .footer__info__logo__link img {
        height: auto;
    }
}

.footer__info__address {
    color: #333333;
    display: block;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 50px;
    text-align: center;
}

@media (min-width: 768px) {
    .footer__info__address {
        font-size: 1.8rem;
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .footer__info__banner {
        align-items: center;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }
}

.footer__info__banner__item {
    margin: 0 0 20px;
    padding: 0;
    text-align: center;
    width: auto;
}

.footer__info__banner__item:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .footer__info__banner__item {
        margin-bottom: 0;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.footer__info__banner__item__link {
    transition: opacity .2s cubic-bezier(.645, .045, .355, 1);
}

@media (min-width: 768px) {
    .footer__info__banner__item__link:hover, .footer__info__banner__item__link:focus {
        opacity: .85;
    }
}

.footer__info__banner__item__link[href^="javascript"] {
    pointer-events: none;
}

.footer__menu {
    background-color: #0068b7;
    padding: 60px 15px 50px;
}

@media (min-width: 768px) {
    .footer__menu {
        padding-bottom: 60px;
    }
}

.footer__menu-container {
    margin: 0 auto;
    max-width: 350px;
}

.footer__menu-container:after {
    clear: both;
    content: "";
    display: block;
}

@media (min-width: 768px) {
    .footer__menu-container {
        max-width: 640px;
    }
}

.footer__menu-container-inner {
    margin: 0;
}

@media (min-width: 768px) {
    .footer__menu-container-inner {
        align-items: stretch;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-left: -30px;
        margin-right: -30px;
    }
}

.footer__menu__list {
    float: left;
    margin: 0 0 10px;
    padding: 0;
    width: 50%;
}

@media (min-width: 768px) {
    .footer__menu__list {
        float: none;
        margin-bottom: 0;
        padding-left: 30px;
        padding-right: 30px;
        width: 33.33333%;
    }
}

.footer__menu__list__item {
    margin: 0 0 10px;
}

.footer__menu__list__item:last-child {
    margin-bottom: 0;
}

.footer__menu__list__item__link {
    color: #ffffff;
    display: inline-block;
    font-size: 1.4rem;
    padding: 0 0 0 10px;
    position: relative;
}

.footer__menu__list__item__link:before {
    background-color: #0099ee;
    border-radius: 50%;
    content: "";
    display: block;
    height: 6px;
    left: 0;
    position: absolute;
    top: 8px;
    width: 6px;
}

.footer__menu__list__item__link:after {
    background-color: white;
    bottom: -1px;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    margin: 0;
    max-width: 100%;
    position: absolute;
    right: 0;
    transition: width .2s cubic-bezier(.645, .045, .355, 1);
    width: 0;
    z-index: 0;
}

.footer__menu__list__item__link:hover, .footer__menu__list__item__link:focus {
    color: #ffffff;
}

.footer__menu__list__item__link:hover:after, .footer__menu__list__item__link:focus:after {
    width: 100%;
}

.footer__copyright {
    padding: 15px 0;
}

.footer__copyright small {
    color: #333333;
    display: block;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    text-align: center;
}

@media (min-width: 768px) {
    .footer__copyright small {
        font-size: 1.4rem;
    }
}

.footer__banner {
    text-align: center;
}

.footer__banner__link {
    transition: opacity .2s cubic-bezier(.645, .045, .355, 1);
}

.footer__banner__link:hover, .footer__banner__link:focus {
    opacity: .85;
}
.footer__banner{
	border-top:solid 1px #0068b7;
	padding:20px 0;
}
.footer__banner img{
	margin: 10px;
}

/* --------------------
 Page
-------------------- */
.page {
    margin: 0 0 80px;
}

@media (min-width: 992px) {
    .page {
        margin-bottom: 160px;
    }
}

.page__head {
    background-image: url(./assets/images/pages/page/page-head-bg.jpg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 0 50px;
    padding: 50px 0;
}

@media (min-width: 992px) {
    .page__head {
        margin-bottom: 80px;
        padding-bottom: 80px;
        padding-top: 195px;
    }
}

.page__head__title {
    color: #ffffff;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.4;
    margin: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .page__head__title {
        font-size: 3.0rem;
    }
}

@media (min-width: 992px) {
    .page__head__title {
        font-size: 3.8rem;
    }
}

.page-container {
    margin: 0;
    padding: 0 15px;
    width: 100%;
}

@media (min-width: 768px) {
    .page-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 1040px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.page__content {
    margin: 30px 0 150px;
}

@media (min-width: 768px) {
    .page__content {
        margin-bottom: 200px;
    }
}

.page__content p {
    font-size: 1.6rem;
    margin: 0 0 30px;
}

/* --------------------
 Attachment
-------------------- */
.att {
    margin: 0 0 80px;
}

@media (min-width: 992px) {
    .att {
        margin-bottom: 160px;
    }
}

.att__head {
    background-image: url(./assets/images/pages/page/page-head-bg.jpg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 0 50px;
    padding: 50px 0;
}

@media (min-width: 992px) {
    .att__head {
        margin-bottom: 80px;
        padding-bottom: 80px;
        padding-top: 195px;
    }
}

.att__head__title {
    color: #ffffff;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.4;
    margin: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .att__head__title {
        font-size: 3.0rem;
    }
}

@media (min-width: 992px) {
    .att__head__title {
        font-size: 3.8rem;
    }
}

.att-container {
    margin: 0;
    padding: 0 15px;
    width: 100%;
}

@media (min-width: 768px) {
    .att-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 1040px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.att__content {
    margin: 30px 0 150px;
}

@media (min-width: 768px) {
    .att__content {
        margin-bottom: 200px;
    }
}

.att__content p {
    font-size: 1.6rem;
    margin: 0 0 30px;
}

/* --------------------
 Comment
-------------------- */
.discuss {
    padding: 0;
}

.discuss__title {
    font-size: 1.8rem;
    margin: 0 0 10px;
}

.discuss__meta {
    position: relative;
}

.discuss__meta__avatar {
    list-style: none;
    margin: 0;
    padding: 0;
}

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

.discuss__meta__avatar__item {
    float: left;
    list-style: none;
    margin: 0 -30px 0 0;
    padding: 0;
}

.discuss__meta__avatar__item__photo {
    border-radius: 50%;
    overflow: hidden;
    position: relative;
}

.discuss__meta__avatar__item__photo img {
    height: 60px;
    width: 60px;
}

.discuss__meta__info {
    margin: 0;
}

.comment-respond {
    margin: 0 0 100px;
}

.comment-form {
    margin: 0;
    max-width: 600px;
    width: 100%;
}

.comment-form .comment-notes, .comment-form label {
    font-size: 1.4rem;
}

.comment-form input[name="author"], .comment-form input[name="email"], .comment-form input[name="url"], .comment-form textarea {
    display: block;
    padding: 10px;
    width: 100%;
}

.comment-form input[name="submit"] {
    background: none;
    border: 1px solid #cccccc;
    color: #333333;
    cursor: pointer;
    padding: 10px 30px;
    vertical-align: bottom;
}

.comment-form-flex {
    display: flex;
    flex-direction: column;
    margin: 60px 0 0;
}

.comment-form-flex .comments-title {
    display: none;
    margin: 0;
    order: 1;
}

.comment-form-flex #respond {
    order: 2;
}

.comment-form-flex #respond + .comments-title {
    display: block;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-list .children {
    margin: 0;
    padding: 0 0 0 1rem;
}

.comment-list > .comment:first-child {
    margin-top: 0;
}

.comment-list .comment {
    list-style: none;
    position: relative;
}

@media (min-width: 768px) {
    .comment-list .comment {
        padding-left: 30px;
    }
}

.comment-list .comment .children {
    padding-left: 0;
}

.comment-list .comment.depth-1 {
    margin-left: 3.25rem;
    padding-left: 0;
}

.comment-list .comment-body {
    margin: 15px 0 0;
}

.comment-list .comment-meta {
    position: relative;
}

.comment-list .comment-author {
    display: block;
}

.comment-list .comment-author .avatar {
    float: left;
    height: 30px;
    margin-right: 1rem;
    position: relative;
    width: 30px;
}

@media (min-width: 768px) {
    .comment-list .comment-author .avatar {
        float: inherit;
        margin-right: inherit;
        position: absolute;
        right: calc(100% + 1rem);
        top: 0;
    }
}

.comment-list .comment-author .fn {
    display: inline-block;
    position: relative;
}

.comment-list .comment-author .fn a {
    color: inherit;
}

.comment-list .comment-author .fn a:hover {
    color: #005177;
}

/* --------------------
 Excerpt
-------------------- */
.excerpt {
    margin: 0 0 50px;
}

.excerpt__item {
    align-items: stretch;
    border-bottom: 1px solid #cccccc;
    display: flex;
    justify-content: flex-start;
    margin: 0;
    padding: 30px 0;
}

.excerpt__item:first-child {
    border-top: 1px solid #cccccc;
}

.excerpt__item__photo {
    flex-grow: 0;
    flex-shrink: 0;
    margin: 0;
    width: 100px;
}

.excerpt__item__photo__thumb {
    margin: 0;
    width: 100%;
}

.excerpt__item__main {
    padding: 0 0 0 15px;
}

.excerpt__item__main__header {
    margin: 0;
}

.excerpt__item__main__header__title {
    font-size: 2.4rem;
    margin: 0;
}

.excerpt__item__main__content p {
    margin: 0;
}

/* --------------------
 Archive
-------------------- */
/* --------------------
 Search
-------------------- */
.search {
    margin: 0 0 80px;
}

@media (min-width: 992px) {
    .search {
        margin-bottom: 160px;
    }
}

.search__head {
    background-image: url(./assets/images/pages/page/page-head-bg.jpg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 0 50px;
    padding: 50px 0;
}

@media (min-width: 992px) {
    .search__head {
        margin-bottom: 80px;
        padding-bottom: 80px;
        padding-top: 195px;
    }
}

.search__head__title {
    color: #ffffff;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.4;
    margin: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .search__head__title {
        font-size: 3.0rem;
    }
}

@media (min-width: 992px) {
    .search__head__title {
        font-size: 3.8rem;
    }
}

.search__article-container {
    margin: 0;
    padding: 0 15px;
    width: 100%;
}

@media (min-width: 768px) {
    .search__article-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 1040px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.search__article__content {
    margin: 0 0 30px;
}

.search__article__content p {
    font-size: 1.4rem;
    margin: 0 0 15px;
    text-align: center;
}

.search__article__content p:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .search__article__content p {
        font-size: 1.6rem;
    }
}

.search__article__title {
    background-color: #0e5590;
    color: #ffffff;
    font-size: 2.00rem;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.4;
    margin: 0 0 30px;
    padding: 8px 15px;
    text-align: center;
}

@media (min-width: 768px) {
    .search__article__title {
        font-size: 2.60rem;
    }
}

@media (min-width: 992px) {
    .search__article__title {
        font-size: 3.00rem;
    }
}

.search__article__list {
    margin: 0 0 50px;
}

@media (min-width: 768px) {
    .search__article__list {
        margin-bottom: 80px;
    }
}

.search__article__list__item {
    border-bottom: 1px solid #cccccc;
    margin: 0;
    padding: 3px 0;
}

.search__article__list__item__link {
    align-items: stretch;
    background-color: rgba(14, 85, 144, 0);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 15px 5px;
    transition: background-color .2s cubic-bezier(.645, .045, .355, 1);
}

.search__article__list__item__link__thumb {
    flex-grow: 0;
    flex-shrink: 0;
    width: 90px;
}

@media (min-width: 768px) {
    .search__article__list__item__link__thumb {
        width: 100px;
    }
}

@media (min-width: 992px) {
    .search__article__list__item__link__thumb {
        width: 160px;
    }
}

.search__article__list__item__link__main {
    flex-grow: 1;
    flex-shrink: 1;
    padding: 0 0 0 15px;
    position: relative;
    width: calc(100% - 90px);
}

@media (min-width: 768px) {
    .search__article__list__item__link__main {
        width: calc(100% - 100px);
    }
}

@media (min-width: 992px) {
    .search__article__list__item__link__main {
        width: calc(100% - 160px);
    }
}

.search__article__list__item__link__main__category {
    margin: 0 0 10px;
}

.search__article__list__item__link__main__category__item {
    display: inline-block;
    margin: 0 0 0 3px;
}

.search__article__list__item__link__main__category__item:first-child {
    margin-left: 0;
}

.search__article__list__item__link__main__date {
    display: block;
    font-size: 1.4rem;
    font-weight: 500;
    margin: 0 0 10px;
}

@media (min-width: 768px) {
    .search__article__list__item__link__main__date {
        margin-bottom: 15px;
    }
}

.search__article__list__item__link__main__title {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 5px;
}

.search__article__list__item__link__main__content {
    font-size: 1.2rem;
}

.search__article__list__item__link:hover, .search__article__list__item__link:focus {
    background-color: rgba(14, 85, 144, .1);
}

.search__article__pager {
    position: relative;
}

.search-form__content__field__input {
    padding: 10px;
}

.search-form__content__field__button {
    background: none;
    border: 1px solid #cccccc;
    color: #333333;
    cursor: pointer;
    height: 40px;
    padding: 10px 30px;
    vertical-align: bottom;
}

/* --------------------
 Not fount
-------------------- */
.notfound {
    margin: 0 0 80px;
}

@media (min-width: 992px) {
    .notfound {
        margin-bottom: 160px;
    }
}

.notfound__head {
    background-image: url(./assets/images/pages/notfound/notfound-head-bg.jpg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 0 50px;
    padding: 50px 0;
}

@media (min-width: 992px) {
    .notfound__head {
        margin-bottom: 80px;
        padding-bottom: 80px;
        padding-top: 195px;
    }
}

.notfound__head__title {
    color: #ffffff;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.4;
    margin: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .notfound__head__title {
        font-size: 3.0rem;
    }
}

@media (min-width: 992px) {
    .notfound__head__title {
        font-size: 3.8rem;
    }
}

.notfound__title {
    color: #202020;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 60px;
    text-align: center;
}

@media (min-width: 768px) {
    .notfound__title {
        font-size: 3.2rem;
    }
}

.notfound__action__button {
    background-color: #0068b7;
    color: #ffffff;
    display: block;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 auto;
    max-width: 360px;
    padding: 15px 5px;
    text-align: center;
    transition: background-color .2s cubic-bezier(.645, .045, .355, 1);
}

@media (min-width: 768px) {
    .notfound__action__button {
        font-size: 1.7rem;
    }
}

.notfound__action__button:hover, .notfound__action__button:focus {
    background-color: rgba(0, 104, 183, .85);
    color: #ffffff;
}

/* --------------------
 Widget
-------------------- */
.widget {
    margin: 0 0 50px;
}

.widget__title {
    background-color: rgba(0, 104, 183, .1);
    border: 1px solid #cccccc;
    font-size: 1.8rem;
    font-weight: 400;
    margin: 0;
    padding: 8px 10px;
    text-align: left;
}

.widget form {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}

.widget select {
    -webkit-appearance: none;
    background: none;
    background-image: url(./assets/images/icons/icon-triangle-bottom-black.svg);
    background-position: 95% center;
    background-repeat: no-repeat;
    background-size: 6px 5px;
    border: 1px solid #cccccc;
    border-radius: 0;
    border-top: none;
    box-shadow: none;
    cursor: pointer;
    font-size: 1.4rem;
    padding: 8px 10px;
    width: 100%;
}

.widget select::-ms-expand {
    display: none;
}

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

.widget ul li {
    border-bottom: 1px solid #cccccc;
}

.widget ul li:last-child {
    border-bottom: none;
}

.widget ul li a {
    display: block;
    font-size: 1.4rem;
    padding: 8px 10px;
    transition: background-color .2s cubic-bezier(.645, .045, .355, 1), color .2s cubic-bezier(.645, .045, .355, 1);
}

.widget ul li a:hover, .widget ul li a:focus {
    background-color: rgba(0, 104, 183, .85);
    color: #ffffff;
}

.widget ul:not(.children) {
    border-bottom: 1px solid #cccccc;
    border-left: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
}

.widget ul.children li > a {
    padding-left: 1.5em;
}

.widget ul.children li:first-child {
    border-top: 1px solid #cccccc;
}


.contact__form .require::after {
    content: "【Required】" !important;
}