@charset "UTF-8";
/* ----------------------------bace---------------------------  */
*,
*::before,
*::after {
    box-sizing: border-box;
}

ul[class],
ol[class] {
    padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
figure,
blockquote,
dl,
dd {
    margin: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}

ul[class],
ol[class] {
    list-style: none;
}

li {
    list-style: none;
}

a:not([class]) {
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
}

article > * + * {
    margin-top: 1em;
}

input,
button,
textarea,
select {
    font: inherit;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
body {
    color: hsl(0, 0%, 19%);
    font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Verdana, Meiryo, sans-serif;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}

strong {
    font-weight: bold;
    position: relative;
}
strong.neon {
    background: linear-gradient(transparent 40%, hsl(49, 100%, 80%) 40%);
    text-shadow: 1px 1px 0 hsla(0, 0%, 100%, 0.5);
}

img {
    max-width: 100%;
    height: auto;
}
img.border {
    border: 1px solid hsl(0, 0%, 87%);
}

svg {
    vertical-align: bottom;
}

hr {
    border-top: 1px solid hsl(0, 0%, 86%);
    border-bottom: 1px solid #fff;
    border-width: 1px 0;
    margin: 1.2em auto;
}

.t-left {
    text-align: left;
}

.t-right {
    text-align: right;
}

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

.no-wrap {
    white-space: nowrap;
}

.txt-red {
    color: hsl(1, 83%, 63%) !important;
}

.bold {
    font-weight: bold;
}

.serif {
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-style: normal;
}
.serif ::before,
.serif ::after {
    font-family: inherit;
}

.xsmall {
    font-size: 70%;
}

.small {
    font-size: 85%;
}

.large {
    font-size: 120%;
}

@media screen and (max-width: 480px) {
    .br-f::after {
        content: "\a";
        white-space: pre;
    }
}

span.arrow {
    background: #666;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 92%;
    margin-right: 10px;
    padding: 0.1em 0.6em;
    position: relative;
}
span.arrow::after {
    position: absolute;
    top: 50%;
    right: -3px;
    background: #666;
    border-radius: 3px;
    content: "";
    margin-top: -5px;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
}

.d-flex {
    display: flex;
}
.d-flex.side-to-side {
    align-items: center;
}
.d-flex.side-to-side img.border {
    border: 8px solid #fff;
    border-radius: 20px;
    box-shadow: 0px 1px 10px -3px #667;
}
@media screen and (max-width: 480px) {
    .d-flex {
        display: block;
    }
}
.d-flex + .d-flex {
    margin-top: 0.8em;
}
.d-flex > div {
    display: flex;
    align-items: center;
    flex-direction: column;
}
.d-flex > div:not(:first-child) {
    margin-left: 1em;
}
@media screen and (max-width: 480px) {
    .d-flex > div:not(:first-child) {
        margin-left: 0;
    }
}
.d-flex > div > img + p {
    font-size: 0.8em;
    margin-top: 0.4em;
}
@media screen and (max-width: 480px) {
    .d-flex > div + div {
        margin-top: 0.4em;
    }
}

@media screen and (max-width: 896px) {
    .scroll-box {
        overflow: scroll;
    }
}

.item-box {
    align-items: center;
    border-bottom: 1px solid hsl(0, 0%, 92%);
    display: flex;
    margin: 0 0 1.6em;
    padding-bottom: 0.4em;
}
.item-box .item-photo {
    line-height: 1;
    margin-right: 2.4em;
}
@media screen and (max-width: 480px) {
    .item-box .item-photo {
        margin-right: 2em;
    }
}
.item-box .item-content {
    max-width: 100%;
}
.item-box .item-content .item-head {
    font-size: 1.6em;
}
@media screen and (max-width: 480px) {
    .item-box .item-content .item-head {
        font-size: 1.3em;
    }
}
.border-box {
    border: 5px solid #eee;
    border-radius: 0.6em;
    margin-bottom: 1.6em;
    padding: 2.4em;
}
@media screen and (max-width: 480px) {
    .border-box {
        padding: 1.4em;
    }
}
.border-box h3:first-child {
    margin-top: 0;
}
.border-box p:last-child,
.border-box ol:last-child,
.border-box ol:last-child li:last-child,
.border-box ul:last-child,
.border-box ul:last-child li:last-child {
    margin-bottom: 0;
}
.border-box dl {
    margin: 0 0 -1em !important;
}
.border-box .scroll-box table {
    margin-top: 0;
    margin-bottom: 0;
}

.panel {
    border: 1px solid #EEE;
    box-shadow: rgba(122, 122, 122, 0.1) 0 0 3px 1px;
    margin: 1em 0 2em !important;
    padding: 1em;
}

.desc {
    margin: 1em 0 2.4em !important;
    padding: 0.85em 1.2em;
    position: relative;
}
.desc::before, .desc::after {
    background-image: linear-gradient(-45deg, hsl(0, 0%, 93%) 25%, transparent 25%, transparent 50%, hsl(0, 0%, 93%) 50%, hsl(0, 0%, 93%) 75%, transparent 75%, transparent);
    background-size: 6px 6px;
    content: "";
    position: absolute;
    height: 5px;
    left: 0em;
    right: 0em;
}
.desc::before {
    top: -0.75em;
}
.desc::after {
    bottom: -0.75em;
}

.gray {
    background: hsl(0, 0%, 96%);
    box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
    border-radius: 3px;
    margin: 1em 0 2em !important;
    padding: 0.85em 1em;
}

.title-separete {
    font-size: 0.75em;
    margin-bottom: 0.2em;
    position: relative;
    text-align: center;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.title-separete::before, .title-separete::after {
    content: "";
    width: 50%;
    background: hsl(0, 0%, 65%);
    height: 1px;
}
.title-separete::before {
    margin-right: 1.6em;
}
.title-separete::after {
    margin-left: 1.6em;
}

.sp-opener {
    display: none;
    text-align: center;
}
.sp-opener.up i {
    transform: rotate(180deg);
}
@media screen and (max-width: 480px) {
    .sp-opener {
        display: block;
    }
}

.svg-box {
    position: absolute;
    visibility: hidden;
    width: 0;
    height: 0;
}

/*--clear--*/
.clear:after {
    content: "";
    clear: both;
    display: block;
}

/* ----------------------------link---------------------------  */
a:link, a:visited {
    color: hsl(205, 60%, 44%);
    color: hsl(162, 54%, 40%);
    text-decoration: none;
}
a:not(img):hover {
    color: #aaaf77;
    text-decoration: underline;
}
a img {
    border: none;
    transition: filter 0.5s;
}
a img:hover {
    filter: brightness(1.05);
    transition: filter 0.4s cubic-bezier(0, 2.5, 0.2, 2.5);
}
a.ext::after {
    content: "\f24d";
    font-weight: 400;
    font-family: "Font Awesome 5 Free";
    font-size: 0.8em;
    color: #555;
    margin-left: 0.6em;
    margin-right: 0.4em;
}

.container {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}

.narrow {
    max-width: 75%;
    margin-left: auto;
    margin-right: auto;
}
.narrow-wide {
    margin-left: 1em;
    margin-right: 1em;
}

/* ----------------------------head---------------------------  */
.head {
    padding: 2vh 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 896px) {
    .head {
        padding-left: 1vw;
        padding-right: 1vw;
    }
}
@media screen and (max-width: 480px) {
    .head {
        padding: 0;
        flex-direction: column;
    }
}
.head-title {
    width: 330px;
}
@media screen and (max-width: 896px) {
    .head-title {
        width: 42%;
    }
}
@media screen and (max-width: 480px) {
    .head-title {
        margin: 0 auto;
        padding: 2vh 0;
        width: 54%;
    }
}
.head-title img {
    vertical-align: bottom;
}

@media screen and (min-width: 897px) {
    .head-logo-wrap {
        height: 0;
        padding-top: 61.2658227848px;
        position: relative;
    }
    .head-logo-wrap svg {
        display: block;
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
    }
}

.svg-leaf {
    fill: #ccd379;
}

.svg-name {
    fill: #262626;
}

.svg-eng {
    fill: #3d3d3d;
}

.head-content {
    box-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 300;
}

.head-wrap {
    border-top: 5px solid hsla(162, 54%, 48%, 0.7);
}
@media screen and (max-width: 480px) {
    .head-wrap {
        border-top: none;
    }
}

.head-parts {
    text-align: right;
    font-size: 90%;
    flex-grow: 1;
}
@media screen and (max-width: 896px) {
    .head-parts {
        padding-left: 2em;
    }
}
@media screen and (max-width: 480px) {
    .head-parts {
        padding: 0;
        text-align: center;
        width: 100%;
        margin: 0.4em 0 0;
    }
}
@media screen and (max-width: 480px) {
    .head-parts ul.sub-menu {
        display: flex;
        font-size: 0;
        justify-content: space-between;
    }
}
.head-parts ul.sub-menu > li {
    display: inline-block;
    letter-spacing: 0.05em;
    padding: 0.5em 0 0.5em 0.8em;
}
@media screen and (max-width: 896px) {
    .head-parts ul.sub-menu > li {
        font-size: 0.75rem;
        padding-left: 0.6em;
    }
}
@media screen and (max-width: 480px) {
    .head-parts ul.sub-menu > li {
        font-size: 0.68rem;
        padding: 0;
        margin: 0;
        width: 33%;
    }
}
.head-parts ul.sub-menu > li:last-child {
    border: none;
    padding-right: 0;
}
.head-parts ul.sub-menu > li:first-child {
    padding-left: 0;
}
.head-parts ul.sub-menu > li a {
    background: #38bc95;
    background: linear-gradient(135deg, hsl(162, 42%, 61%) 5%, hsl(162, 54%, 45%) 95%);
    border: 1px solid hsl(162, 54%, 45%);
    border-radius: 4px;
    box-shadow: 0 1px 3px -1px hsla(0, 0%, 0%, 0.15);
    color: #fff;
    display: inline-block;
    padding: 0.4em 0.6em;
    transition: all 0.2s;
}
@media screen and (max-width: 896px) {
    .head-parts ul.sub-menu > li a {
        text-align: center;
    }
}
@media screen and (max-width: 480px) {
    .head-parts ul.sub-menu > li a {
        border-radius: 0;
        display: block;
        padding: 0.6em;
        position: relative;
    }
    .head-parts ul.sub-menu > li a::after {
        border: 5px solid transparent;
        border-right-color: #fff;
        border-bottom-color: #fff;
        position: absolute;
        bottom: 1px;
        right: 1px;
    }
}
.head-parts ul.sub-menu > li a::before {
    content: "\f138";
    color: #fff;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 0.4em;
}
@media screen and (max-width: 896px) {
    .head-parts ul.sub-menu > li a::before {
        display: block;
        font-size: 1rem;
        margin: 0 auto 0.2em;
    }
}
@media screen and (max-width: 480px) {
    .head-parts ul.sub-menu > li a::before {
        font-size: 1.2rem;
    }
}
.head-parts ul.sub-menu > li a.sub-shinryo::before {
    content: "\e05c";
}
.head-parts ul.sub-menu > li a.sub-access::before {
    content: "\f1b9";
}
.head-parts ul.sub-menu > li a.sub-link::before {
    content: "\f0c1";
}
.head-parts ul.sub-menu > li a.sub-contact::before {
    content: "\f879";
}
.head-parts ul.sub-menu > li a.sub-map::before {
    content: "\f0e8";
}
.head-parts ul.sub-menu > li a:hover {
    filter: brightness(1.1);
}
.head-parts span img {
    padding-right: 4px;
    cursor: pointer;
}

#search {
    margin-top: 0.8em;
}
@media screen and (max-width: 896px) {
    #search {
        display: none;
    }
}
#search .gsc-control {
    width: auto;
    margin-left: auto;
}
#search .gsc-control-cse {
    background: transparent;
    padding: 0;
}
@media screen and (max-width: 896px) {
    #search .gsc-input {
        font-size: 12px;
    }
}
#search #cse-search-box {
    line-height: 1;
    position: relative;
}
#search #cse-search-box .search-input {
    background: none;
    border-radius: 1.2em;
    border: 1px solid hsl(0, 0%, 80%);
    font-size: 0.9rem;
    padding: 0.3em 0.6em;
    width: 100%;
    max-width: 28em;
    -webkit-appearance: none;
}
#search #cse-search-box .search-button {
    background: none;
    padding: 0 0.2em;
    position: absolute;
    top: calc(50% - 0.6em);
    right: 0.5em;
    border: none;
}

/*メニュー用CSS*/
#menu {
    background: linear-gradient(180deg, hsl(43, 83%, 89%) 50%, hsl(43, 77%, 85%));
    border-top: 4px solid hsl(43, 75%, 75%);
    position: relative;
}
@media screen and (max-width: 1200px) {
    #menu {
        font-size: calc(10px + 0.5vw);
    }
}
@media screen and (max-width: 896px) {
    #menu {
        font-size: 2.1vw;
    }
}
@media screen and (max-width: 480px) {
    #menu {
        background: hsl(43, 83%, 82%);
        background: linear-gradient(180deg, hsl(43, 83%, 82%) 40%, hsl(43, 75%, 75%));
        border-top: 3px solid #fff !important;
        font-size: calc(8px + 0.5vw);
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 500;
    }
}
#menu .main-menu {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}
#menu .main-menu > li {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
    width: 20%;
}
#menu .main-menu > li:first-child::before, #menu .main-menu > li::after {
    background: linear-gradient(hsla(0, 0%, 100%, 0.25), hsla(0, 0%, 100%, 0.5), hsla(0, 0%, 100%, 0.25));
    background: linear-gradient(hsla(0, 0%, 0%, 0.25), hsla(0, 0%, 0%, 0.5), hsla(0, 0%, 0%, 0.25));
    content: "";
    position: absolute;
    top: calc(50% - 0.8em);
    right: 0;
    height: 1.6em;
    width: 1px;
}
#menu .main-menu > li:first-child::before {
    right: auto;
    left: 0;
}
@media screen and (max-width: 896px) {
    #menu .main-menu > li:last-child::after, #menu .main-menu > li:first-child::before {
        content: none;
    }
}
#menu .main-menu > li a {
    color: hsl(0, 12%, 15%);
    font-weight: 500;
    overflow: hidden;
    padding: 1.1em 0;
    position: relative;
    text-decoration: none;
    transition: ease-in-out 0.2s;
    width: 100%;
}
@media screen and (max-width: 896px) {
    #menu .main-menu > li a {
        padding: 1.65vh 0;
    }
}
@media screen and (max-width: 480px) {
    #menu .main-menu > li a {
        font-weight: 400;
        padding: 0.8em 0;
    }
}
#menu .main-menu > li a::before {
    background: transparent;
    border-radius: 50%;
    content: "";
    transition: ease-in-out 0.3s;
    position: absolute;
    left: calc(50% - 0.25em);
    bottom: 0.3em;
    height: 0.5em;
    width: 0.5em;
}
#menu .main-menu > li a:hover {
    background: hsla(0, 0%, 100%, 0.35);
}
#menu .main-menu > li a:hover::before {
    background: hsl(205, 44%, 75%);
    background: hsl(162, 54%, 48%);
    box-shadow: 0 0 3px -1px #fff;
}
#menu .main-menu > li a img {
    display: block;
    margin: 0 auto 0.6em;
    max-width: 2em;
}
@media screen and (max-width: 480px) {
    #menu .main-menu > li a img {
        display: block;
        margin: 0 auto 0.4em;
        max-width: 2.4em;
    }
}
#about #menu .menu-about a::before, #visit #menu .menu-visit a::before, #division #menu .menu-division a::before, #medical #menu .menu-medical a::before, #future_path #menu .menu-path a::before {
    background: linear-gradient(-15deg, hsla(162, 54%, 48%, 0.8), hsla(162, 54%, 48%, 0.65));
    background: hsl(162, 54%, 48%);
    box-shadow: 0 0 3px -1px #fff;
}

.en-title {
    display: block;
    font-size: 0.67em;
    font-weight: 400;
    opacity: 0.6;
    text-align: center;
}
@media screen and (max-width: 480px) {
    .en-title {
        display: none;
    }
}

.new-go {
    font-family: "UD新ゴ M", sans-serif;
}

@media screen and (max-width: 480px) {
    .mobile-false {
        display: none;
    }
}

.pc-false {
    display: none;
}
@media screen and (max-width: 480px) {
    .pc-false {
        display: inline;
    }
}

/* ----------------------------main---------------------------  */
#main {
    display: flex;
    flex-direction: row-reverse;
    font-size: 1rem;
    line-height: 1.7;
    margin: 1em auto 2.4em;
    max-width: 1080px;
}
@media screen and (max-width: 1080px) {
    #main {
        padding-left: 1em;
        padding-right: 1em;
    }
}
@media screen and (max-width: 896px) {
    #main {
        margin-top: 0;
        padding: 0;
    }
}
#main i.fas, #main i.far {
    margin-right: 0.5em;
}
dl #main i.fas, dl #main i.far {
    font-size: 1em;
}

#pan {
    /*	background: url(img/pan-bg.gif) no-repeat right top;*/
    color: #888;
    font-size: 80%;
    padding: 1em;
    padding-left: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media screen and (max-width: 480px) {
    #pan {
        font-size: 65%;
        position: relative;
        z-index: -1;
    }
}
@media screen and (max-width: 896px) {
    #pan {
        padding-left: 1em;
        padding-right: 1em;
    }
}
#pan a {
    font-weight: 500;
    margin: 0 0.2em;
}
#pan a:first-child {
    margin: 0 0.2em 0 0;
}

/* ----------------------------right---------------------------  */
.right-side {
    width: 100%;
}
@media screen and (max-width: 896px) {
    .right-side {
        max-width: none;
    }
}
.right-side #contents {
    padding: 0;
}
@media screen and (max-width: 896px) {
    .right-side #contents {
        padding: 0 1em;
    }
}
.right-side #contents > h2:first-child {
    margin-top: 1.6em;
}
.right-side a[href$=".pdf"]::after {
    content: "\f1c1";
    color: hsl(1, 83%, 63%);
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    font-weight: normal;
    margin: 0 0.5em;
}
.right-side a[href$=".doc"]::after,
.right-side a[href$=".docx"]::after {
    content: "\f1c2";
    color: hsl(205, 63%, 43%);
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    font-weight: normal;
    margin: 0 0.5em;
}
.right-side a[href$=".xlsx"]::after,
.right-side a[href$=".xls"]::after {
    content: "\f1c3";
    color: hsl(152, 63%, 43%);
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    font-weight: normal;
    margin: 0 0.5em;
}
.right-side a.button, .right-side a.button-line, .right-side a.button-gr_line, .right-side a.button-gr {
    cursor: pointer;
    display: inline-block;
    min-height: 1em;
    outline: 0;
    border: none;
    vertical-align: baseline;
    background: hsl(205, 3%, 88%);
    color: rgba(0, 0, 0, 0.6);
    margin: 0.8em 0.25em 0.8em 0;
    padding: 0.75em 1.5em;
    text-transform: none;
    text-shadow: none;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    transition: all 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}
.right-side a.button:link, .right-side a.button-line:link, .right-side a.button-gr_line:link, .right-side a.button-gr:link, .right-side a.button:visited, .right-side a.button-line:visited, .right-side a.button-gr_line:visited, .right-side a.button-gr:visited {
    text-decoration: none;
}
.right-side a.button::before, .right-side a.button-line::before, .right-side a.button-gr_line::before, .right-side a.button-gr::before {
    content: "\f0da";
    color: hsl(342, 77%, 62%);
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    margin-right: 0.6em;
}
.right-side a.button:hover, .right-side a.button-line:hover, .right-side a.button-gr_line:hover, .right-side a.button-gr:hover {
    background-color: hsl(215, 3%, 80%);
    background-image: none;
    box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
    color: rgba(0, 0, 0, 0.8);
    text-decoration: none !important;
}
.right-side a.button-line, .right-side a.button-gr_line, .right-side a.button-gr {
    background: transparent;
    border-radius: 3px;
    border: 1px solid #777;
    color: inherit;
    display: inline-block;
}
.right-side a.button-line::before, .right-side a.button-gr_line::before, .right-side a.button-gr::before {
    content: none;
}
.right-side a.button-line:hover, .right-side a.button-gr_line:hover, .right-side a.button-gr:hover {
    background: #777;
    color: #fff;
}
.right-side a.button-gr {
    border-radius: 0;
    background: hsl(162, 52%, 45%);
    border-color: hsl(162, 52%, 45%);
    color: #fff;
    font-weight: 500;
}
.right-side a.button-gr:hover {
    background: #fff;
    color: hsl(162, 52%, 45%);
}
.right-side a.button-gr_line {
    border-radius: 0;
    border-color: hsl(162, 52%, 45%);
    color: hsl(162, 52%, 45%);
    font-weight: 500;
}
.right-side a.button-gr_line:hover {
    background: hsl(162, 52%, 45%);
}
.right-side a.button-gr_line:hover::after {
    color: #fff;
}
.right-side a.button-radius {
    border-radius: 1.25em;
    border: 2px solid hsl(0, 0%, 45%);
    color: inherit;
    display: inline-block;
    padding: 0.4em 1.2em;
    transition: 0.2s ease;
    white-space: nowrap;
}
.right-side a.button-radius:hover {
    background: #777;
    color: #fff;
    text-decoration: none;
}
.right-side h1 {
    background: url(/img/top/slide/lr-slide-min.jpg) no-repeat center center;
    background-size: cover;
    box-shadow: 0 1px 3px -1px hsla(0, 0%, 100%, 0.3);
    font-style: normal;
    font-size: 2.1em;
    margin-bottom: 1.3em;
    position: relative;
}
@media screen and (max-width: 480px) {
    .right-side h1 {
        font-size: 1.6em;
    }
}
.right-side h1::before {
    content: "";
    position: absolute;
    top: 5px;
    bottom: 5px;
    left: 5px;
    right: 5px;
    border: 1px solid hsla(0, 0%, 100%, 0.5);
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {
    .right-side h1::before {
        background-size: 2px 2px;
    }
}
.right-side h1::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.right-side .page-title {
    background: hsl(0, 0%, 100%);
    display: inline-block;
    letter-spacing: 0.06em;
    line-height: 1.2;
    margin: 1em 1em 2.4em -0.15em;
    padding: 0.3em 0.6em;
    position: relative;
    z-index: 50;
}
.right-side h2,
.right-side h3,
.right-side h4 {
    font-weight: 500;
    letter-spacing: 0.06em;
    margin: 2.4em 0 1em;
}
@media screen and (max-width: 480px) {
    .right-side h2,
    .right-side h3,
    .right-side h4 {
        font-weight: 700;
    }
}
.right-side h2 + h3,
.right-side h3 + h4 {
    margin-top: 0;
}
.right-side h2,
.right-side h3 {
    clear: both;
    padding: 0 0 0 1em;
    position: relative;
}
.right-side h2 {
    font-size: 1.6em;
    display: flex;
    align-items: center;
}
@media screen and (max-width: 480px) {
    .right-side h2 {
        font-size: 1.3em;
    }
}
.right-side h2::before {
    content: "";
    background: hsl(162, 54%, 48%);
    border-radius: 3px;
    flex: 0 0 7px;
    width: 7px;
    height: auto;
    margin: 0;
    position: absolute;
    left: 0;
    top: 0.1em;
    bottom: 0.1em;
}
@media screen and (max-width: 480px) {
    .right-side h2::before {
        top: 0.2em;
        bottom: 0.2em;
    }
}
.right-side h2::after {
    content: "";
    background: #eee;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAHUlEQVQYV2NkgIKUlBRjRhAbxJgzZ85ZRhgDJAgAisoJY0xu2r0AAAAASUVORK5CYII=) repeat-x;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQYV2NkAIKUlBRjRhAxZ86cswAftwVisVTWsQAAAABJRU5ErkJggg==);
    flex-grow: 1;
    height: 3px;
    margin-left: 1em;
}
.right-side h3 {
    font-size: 1.35em;
}
@media screen and (max-width: 480px) {
    .right-side h3 {
        font-size: 1.15em;
    }
}
.right-side h3::before {
    content: "";
    background: #9a9a9a;
    background: linear-gradient(-180deg, hsl(162, 54%, 48%) 18%, hsl(0, 0%, 100%) 18%, hsl(0, 0%, 100%) 25%, #9a9a9a 25%);
    border-radius: 2px;
    position: absolute;
    left: 0.1em;
    top: 0.2em;
    bottom: 0.2em;
    width: 5px;
}
.right-side h4 {
    font-size: 1.15em;
}
@media screen and (max-width: 480px) {
    .right-side h4 {
        font-size: 1em;
    }
}
.right-side dl.photo img, .right-side dl.photo-l img, .right-side dl.photo-center img {
    border: 1px solid #fff;
    box-sizing: content-box;
    line-height: 1;
}
.right-side dl.photo dt,
.right-side dl.photo dd, .right-side dl.photo-l dt,
.right-side dl.photo-l dd, .right-side dl.photo-center dt,
.right-side dl.photo-center dd {
    text-align: center;
    line-height: 1;
}
.right-side dl.photo dd, .right-side dl.photo-l dd, .right-side dl.photo-center dd {
    font-size: 80%;
    margin-top: 0.6em;
}
.right-side dl.photo {
    float: right;
    margin: 0 0 0.8em 1em !important;
    clear: right;
}
@media screen and (max-width: 480px) {
    .right-side dl.photo {
        float: none;
        margin: 0 auto 0.8em;
    }
}
.right-side dl.photo-l {
    float: left;
    margin: 0 1em 0.8em 0;
    clear: left;
}
.right-side dl.photo-center {
    float: none;
    margin: 1em auto;
    clear: none;
}
.right-side dl.information {
    margin: 2em 0 1.6em;
    padding-bottom: 0.5em;
    position: relative;
}
.right-side dl.information > dt {
    background: hsl(47, 22%, 72%);
    border-radius: 4px 4px 0 0;
    color: #fff;
    font-weight: 500;
    padding: 0.4em 1.2em;
}
.right-side dl.information > dd {
    padding: 1em 1.6em;
    background-color: hsl(48, 41%, 93%);
    border-radius: 0 0 6px 6px;
    border: 3px solid hsl(47, 22%, 72%);
    border-width: 0 3px 3px;
}
.right-side dl.information > dd > dl {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    -ms-grid-columns: auto 1fr;
        grid-template: auto/auto 1fr;
    margin: 1em 0.2em;
}
.right-side dl.information > dd > dl > dt,
.right-side dl.information > dd > dl > dd {
    margin-bottom: 0.8em;
}
.right-side dl.information > dd > dl dt {
    font-weight: bold;
    margin-right: 1em;
    text-align: right;
    white-space: nowrap;
}
.right-side dl.information > dd > dl dd {
    padding-left: 1em;
    border-left: 1px solid hsl(270, 5%, 49%);
}
.right-side dl.teigi {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    -ms-grid-columns: auto 1fr;
        grid-template: auto/auto 1fr;
    margin: 1em;
}
@media screen and (max-width: 480px) {
    .right-side dl.teigi {
        -ms-grid-rows: auto;
        -ms-grid-columns: minmax(4em, 30%) 1fr;
            grid-template: auto/minmax(4em, 30%) 1fr;
        margin: 0;
    }
}
.right-side dl.teigi > dt,
.right-side dl.teigi > dd {
    line-height: 1.5;
    margin-bottom: 1em;
}
.right-side dl.teigi > dt {
    font-weight: bold;
    margin-right: 1em;
    text-align: right;
    white-space: nowrap;
}
@media screen and (max-width: 480px) {
    .right-side dl.teigi > dt {
        white-space: normal;
    }
}
.right-side dl.teigi > dd {
    padding-left: 1em;
    position: relative;
    border-left: 1px solid hsl(0, 0%, 80%);
}
.right-side dl.q_and_a {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    -ms-grid-columns: 33% auto;
        grid-template: auto/33% auto;
    margin: 1em 0;
}
@media screen and (max-width: 480px) {
    .right-side dl.q_and_a {
        -ms-grid-rows: auto;
        -ms-grid-columns: auto;
            grid-template: auto/auto;
    }
}
.right-side dl.q_and_a dt {
    font-weight: bold;
    margin-right: 2em;
    position: relative;
    text-align: justify;
}
@media screen and (max-width: 480px) {
    .right-side dl.q_and_a dt {
        margin-bottom: 1em;
    }
}
.right-side dl.q_and_a dt::before {
    content: "";
    background: #bbb;
    position: absolute;
    right: -1em;
    top: 4em;
    bottom: 1em;
    width: 1px;
}
@media screen and (max-width: 480px) {
    .right-side dl.q_and_a dt::before {
        content: none;
    }
}
.right-side dl.q_and_a dd {
    margin-bottom: 1em;
}
.right-side dl.q_and_a .quote,
.right-side dl.q_and_a .answer {
    color: #999;
    display: block;
    font-weight: normal;
    font-size: 3em;
    font-family: serif;
    line-height: 1;
    margin-bottom: 1rem;
}
.right-side dl.q_and_a .answer {
    color: #999;
}
.right-side dl#linkpage {
    margin: 10px 20px;
}
.right-side dl#linkpage dt {
    font-size: 120%;
    font-weight: 600;
    padding: 0.2em 0;
    border-bottom: 2px solid #ddd;
}
.right-side dl#linkpage dd {
    padding: 0.2em 0;
    margin: 0 0 1em 1em;
}
.right-side ol ul,
.right-side ul ol,
.right-side ol ol,
.right-side ul ul {
    margin-top: 0.8em;
}
.right-side ol {
    counter-reset: number;
    margin: 0 0 1.5em 1.5em;
    padding: 0;
}
@media screen and (max-width: 480px) {
    .right-side ol {
        margin-left: 0;
    }
    .right-side ol > ol {
        margin-left: 1em;
    }
}
.right-side ol li {
    margin-bottom: 1em;
}
.right-side ol ol > li {
    list-style-type: decimal;
    padding: 0;
}
.right-side ol ol > li::before {
    content: none;
}
.right-side ol > li {
    list-style: none;
    padding-left: 2.4em;
    position: relative;
}
.right-side ol > li::before {
    background-color: #C7C0A7;
    border-radius: 10px 2px;
    counter-increment: number;
    content: counter(number);
    color: #fff;
    font-weight: normal;
    line-height: 1;
    min-width: 1.2em;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1.7em;
    width: 1.7em;
}
.right-side ol.circle-num {
    counter-reset: my-counter;
    margin-left: 1.2em;
    padding: 0;
}
.right-side ol.circle-num li {
    padding-left: 2.8em;
    position: relative;
}
.right-side ol.circle-num li:before {
    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: hsl(195, 15%, 60%);
    background-color: hsl(162, 54%, 48%);
    line-height: 2;
    padding: 0;
    position: absolute;
    top: -0.15em;
    left: 0;
    text-align: center;
    height: 2em;
    width: 2em;
    border-radius: 50%;
}
.right-side ol.category-index-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 1em 0.6em;
    counter-reset: index-counter;
}
.right-side ol.category-index-menu li {
    background: hsl(162, 16%, 90%);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 1.5em;
    padding: 0;
    position: relative;
    text-align: center;
    outline: 1px solid transparent;
    width: 30%;
    z-index: 1;
}
@media screen and (max-width: 480px) {
    .right-side ol.category-index-menu li {
        width: 45%;
    }
}
.right-side ol.category-index-menu li::before {
    content: counter(index-counter, decimal-leading-zero);
    counter-increment: index-counter;
    background-color: hsl(162, 15%, 70%);
    border-radius: 5px 0;
    color: #fff;
    font-size: 0.8em;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;
    height: 2em;
    width: 2em;
    position: absolute;
    left: -0.4em;
    top: -0.4em;
    z-index: 2;
}
.right-side ol.category-index-menu li a {
    color: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    padding: 1em;
    transition: opacity 0.3s;
    backface-visibility: hidden;
    position: relative;
    height: 100%;
    width: 100%;
    z-index: 20;
}
.right-side ol.category-index-menu li a:hover {
    opacity: 0.8;
}
.right-side ol.category-index-menu::after {
    content: "" !important;
    display: block !important;
    width: 30% !important;
}
.right-side ul {
    margin: 0 0 1.6em 1.5em;
    padding: 0;
}
@media screen and (max-width: 480px) {
    .right-side ul {
        margin-left: 0;
    }
    .right-side ul > ul {
        margin-left: 1em;
    }
}
.right-side ul li {
    margin-bottom: 0.8em;
}
.right-side ul:not([class]) > li {
    padding-left: 1.3em;
    position: relative;
}
.right-side ul:not([class]) > li::before {
    background: transparent;
    border: 3px solid hsl(162, 54%, 48%);
    content: "";
    position: absolute;
    border-radius: 50%;
    left: 0;
    top: 0.45em;
    height: 0.8em;
    width: 0.8em;
}
.right-side ul:not([class]) > li > ul > li::before {
    background: hsl(162, 54%, 48%);
    border-radius: unset;
    border: none;
    top: calc(50% - 0.1em);
    left: 0.1em;
    height: 0.2em;
    width: 0.6em;
    transform: skewX(-10deg);
}
.right-side ul.insist > li {
    background: none;
    font-size: 1.05em;
    font-weight: bold;
    opacity: 0.9;
    padding: 0;
}
.right-side ul.insist > li::before {
    content: "\f18e";
    content: "\f14a";
    color: hsl(162, 54%, 48%);
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    padding-right: 0.6em;
}
.right-side ul#content-menu {
    margin: 10px 10px 10px 23px;
}
.right-side ul#content-menu > li {
    font-size: 110%;
    margin-bottom: 6px;
    background: url(img/ya2.gif) no-repeat left center;
    padding-left: 14px;
}
.right-side p {
    margin: 0 0 1.6em;
}
.right-side p:not(.t-center):not(.t-left):not(.t-right) {
    text-align: justify;
}
.right-side p > img + img {
    margin-left: 0.6em;
}
.right-side p.segment {
    position: relative;
    background: #fff;
    box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
    margin: 1em 0 2em;
    padding: 1em;
    border-radius: 3px;
    border: 1px solid rgba(34, 36, 38, 0.15);
}
.right-side p.segment a:not([class*=button])::before {
    content: "\f0da";
    color: hsl(342, 77%, 62%);
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    margin-right: 0.4em;
}
.right-side p.info {
    background: hsla(162, 25%, 60%, 0.02);
    border: 1px solid hsl(162, 25%, 60%);
}
.right-side p.info-br {
    background: hsl(43, 40%, 95%);
    color: hsl(28, 16%, 21%);
}
.right-side p.success {
    background: hsla(90, 44%, 75%, 0.05);
    border: 1px solid hsl(90, 54%, 60%);
    color: hsl(90, 54%, 40%);
}
.right-side p.atten {
    background: hsla(45, 36%, 73%, 0.05);
    border: 1px solid hsl(45, 44%, 70%);
    color: hsl(45, 60%, 30%);
}
.right-side p.cation {
    background: hsla(1, 56%, 86%, 0.05);
    border: 1px solid hsl(1, 66%, 76%);
    color: hsl(1, 66%, 56%);
}
.right-side p.info, .right-side p.info-br, .right-side p.success, .right-side p.atten, .right-side p.cation {
    border-radius: 3px;
    padding: 0.85em 1.2em 0.85em 3em;
    position: relative;
    overflow: hidden;
    z-index: 30;
}
.right-side p.info::before, .right-side p.info-br::before, .right-side p.success::before, .right-side p.atten::before, .right-side p.cation::before {
    content: "\f05a";
    font-size: 1em;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    filter: contrast(0.4) brightness(1.5);
    line-height: 1;
    position: absolute;
    top: calc(50% - 0.5em);
    left: 1em;
    z-index: -1;
}
.right-side p.atten::before, .right-side p.cation::before {
    content: "\f071";
}
.right-side table {
    background-color: hsl(0, 0%, 96%);
    border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show;
    margin: 1em auto 2em 0;
    min-width: 50%;
}
.right-side table th,
.right-side table td {
    border: 1px solid #fff;
    line-height: 1.5;
    padding: 0.4em 0.6em;
}
.right-side table th > p,
.right-side table td > p {
    margin: 0;
}
.right-side table th.t-center p,
.right-side table td.t-center p {
    text-align: center !important;
}
.right-side table th {
    font-weight: bold;
    position: relative;
    text-align: center;
    white-space: nowrap;
}
.right-side table th > p {
    text-align: center !important;
}
.right-side table thead th,
.right-side table th.table-title {
    background-color: hsl(162, 54%, 48%) !important;
    color: #fff;
    border-bottom: 3px solid #fff;
}
.right-side table tr:nth-child(odd) th,
.right-side table tr:nth-child(odd) td {
    background: hsl(0, 0%, 91%);
}
.right-side table tr:hover th,
.right-side table tr:hover td {
    background-color: hsl(48, 41%, 93%);
    background-color: hsl(162, 54%, 48%);
    color: #fff;
}
.right-side table tr:hover th a,
.right-side table tr:hover td a {
    color: #fff;
}
.right-side table .td-bg-color {
    background: #faf8f0;
    background: #fff;
}
.right-side table strong {
    color: hsl(14, 100%, 62%);
    font-size: 1.05em;
    margin: 0 0.3em;
}
.right-side table th a:link, .right-side table th a:visited {
    text-decoration: underline;
}

/*---------------------------新着情報------------------------*/
.asset-meta p {
    text-align: right;
}

/* ----------------------------left---------------------------  */
.left-side {
    flex: 0 0 216px;
    margin-top: 1em;
    margin-right: 3.2em;
}
@media screen and (max-width: 896px) {
    .left-side {
        display: none;
    }
}
.index .left-side {
    display: none;
}
.left-side .side-wrap {
    overflow: hidden;
}
.left-side .side-title {
    background: url(img/dot-line-plus.png) no-repeat left bottom;
    background: hsl(162, 57%, 41%);
    color: #fff;
    font-family: "UD新ゴ M", sans-serif;
    font-size: 1.18rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom: 0.8em;
    padding: 1em 0;
    position: relative;
    text-align: center;
}
.left-side .side-title a {
    color: #fff;
    display: block;
    padding: 0 0.25em 0;
    position: relative;
    transition: all 0.3s;
}
.left-side .side-menu {
    padding: 0;
    margin: 0;
}
.left-side .side-menu > li {
    margin-bottom: 1px;
    position: relative;
    transition: all 0.2s;
}
.left-side .side-menu > li::before {
    content: "";
    background: hsl(0, 0%, 92%);
    transition: all 0.3s;
    opacity: 0.1;
    position: absolute;
    right: 102%;
    top: 0;
    bottom: 0;
    width: 100%;
    z-index: -1;
}
.left-side .side-menu > li:hover::before, .left-side .side-menu > li.current::before {
    opacity: 0.9;
    right: 0%;
}
.left-side .side-menu > li:hover a::before, .left-side .side-menu > li.current a::before {
    background: hsl(0, 0%, 42%);
    animation: wave 3s linear infinite;
}
.left-side .side-menu > li:hover a::after, .left-side .side-menu > li.current a::after {
    opacity: 0.5;
}
@keyframes wave {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.2;
    }
    100% {
        opacity: 1;
    }
}
.left-side .side-menu > li a {
    color: inherit;
    display: block;
    font-size: 87%;
    font-weight: 500;
    line-height: 1.4;
    padding: 0.8em 1.6em 0.8em 0.3em;
    transition: all 0.3s;
}
.left-side .side-menu > li a:hover {
    text-decoration: none;
}
.left-side .side-menu > li a::after {
    content: "\f105";
    color: #aaa;
    color: hsl(162, 54%, 48%);
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    line-height: 1;
    transition: all 0.3s;
    position: absolute;
    right: 0.2em;
    top: calc(50% - 0.5em);
}
.left-side .side-menu ul {
    margin: 0;
    padding: 0;
}
.left-side .side-menu ul li {
    padding-left: 10px;
    margin: 2px 0px 4px 10px;
}

/* ----------------------------FOOTER--------------------------  */
#footer a {
    color: inherit;
}
#footer a.button, #footer .right-side a.button-line, .right-side #footer a.button-line, #footer .right-side a.button-gr, .right-side #footer a.button-gr, #footer .right-side a.button-gr_line, .right-side #footer a.button-gr_line {
    background: hsla(210, 4%, 80%, 0);
    border: 1px solid hsl(180, 3%, 88%);
    margin-right: 0;
}
#footer a.button:hover, #footer .right-side a.button-line:hover, .right-side #footer a.button-line:hover, #footer .right-side a.button-gr:hover, .right-side #footer a.button-gr:hover, #footer .right-side a.button-gr_line:hover, .right-side #footer a.button-gr_line:hover {
    background: hsla(210, 4%, 80%, 0.2);
}
#footer #totop {
    align-items: center;
    background: hsl(162, 52%, 45%);
    border: 1px solid hsl(162, 52%, 45%);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    height: 3.4rem;
    width: 3.4rem;
    justify-content: center;
    opacity: 0;
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    transition: all 0.3s;
    visibility: hidden;
    z-index: 1000;
}
@media screen and (max-width: 896px) {
    #footer #totop {
        bottom: 1.6rem;
        right: 1.6rem;
    }
}
@media screen and (max-width: 480px) {
    #footer #totop {
        bottom: 5rem;
        right: 1rem;
    }
}
#footer #totop.visible {
    opacity: 0.85;
    visibility: visible;
}
#footer #totop a {
    color: #fff;
    height: 100%;
    line-height: 1;
    text-align: center;
    width: 100%;
}
#footer #totop a:hover {
    color: inherit;
    text-decoration: none;
}
#footer #totop i {
    display: block;
    font-size: 1.6em;
    margin: 0.2em auto -0.1em;
}
#footer #totop span {
    font-size: 0.7em;
}
#footer #totop:hover {
    background: #fff;
    transform: translateY(0.2em);
}
#footer .title-separete::before, #footer .title-separete::after {
    background: #fff;
    opacity: 0.4;
}
#footer .footer-info {
    color: hsl(0, 0%, 9%);
    font-size: 1.2em;
    text-align: right;
    padding: 0.78em 0 0.82em;
}
@media screen and (max-width: 1080px) {
    #footer .footer-info {
        padding-left: 1em;
        padding-right: 1em;
    }
}
@media screen and (max-width: 480px) {
    #footer .footer-info {
        text-align: center;
    }
}
#footer .footer-info .circle {
    background: #1e9471;
    border-radius: 50%;
    border: 2px solid #fff;
    color: #fff;
    display: inline-block;
    height: 5em;
    margin: -2.4em 0.8em -2em 0;
    position: relative;
    width: 5em;
    z-index: 20;
}
#footer .footer-info .circle-txt {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6.25em;
    text-align: center;
}
#footer .footer-info .small {
    opacity: 0.95;
    font-size: 78%;
}
#footer .footer-info .large {
    font-size: 150%;
}
#footer .footer-info strong {
    position: relative;
    z-index: 30;
}
@media screen and (max-width: 480px) {
    #footer .footer-info strong {
        white-space: nowrap;
    }
}
#footer .footer-wrap {
    background: linear-gradient(-42deg, hsla(199, 27%, 45%, 0.9), hsl(199, 27%, 45%), hsla(199, 27%, 45%, 0.9));
    background: hsl(162, 66%, 35%);
    color: #fff;
}
@media screen and (min-width: 897px) {
    #footer .footer-wrap {
        padding: 2.4em 0 0;
    }
}
@media screen and (max-width: 480px) {
    #footer .footer-wrap {
        padding-top: 0;
        padding-bottom: 3.2em;
    }
}
#footer .footer-name {
    background: hsla(0, 0%, 100%, 0.16);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.6em;
    padding: 1.6em;
    position: relative;
    z-index: 10;
}
@media screen and (max-width: 480px) {
    #footer .footer-name {
        align-items: inherit;
        flex-direction: column;
    }
}
#footer .footer-name .foot-logo-wrap {
    line-height: 1;
    width: 35%;
}
@media screen and (min-width: 897px) {
    #footer .footer-name .foot-logo-wrap {
        height: 0;
        padding-top: 6.4978902954%;
        position: relative;
    }
    #footer .footer-name .foot-logo-wrap svg {
        display: block;
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
    }
}
@media screen and (max-width: 896px) {
    #footer .footer-name .foot-logo-wrap {
        width: 45%;
    }
}
@media screen and (max-width: 480px) {
    #footer .footer-name .foot-logo-wrap {
        margin-bottom: 0.4em;
        width: 60%;
    }
}
#footer .footer-name .foot-logo .svg-name {
    fill: #262626;
    fill: #fff;
}
#footer .footer-name .foot-logo .svg-eng {
    fill: #3d3d3d;
    fill: #fff;
}
@media screen and (max-width: 896px) {
    #footer .footer-name .foot-address {
        font-size: 0.9em;
        width: 47%;
    }
}
@media screen and (max-width: 480px) {
    #footer .footer-name .foot-address {
        font-size: 0.8em;
        margin-left: 0.4em;
        width: auto;
    }
}
#footer .footer-name i {
    opacity: 0.2;
    position: absolute;
    z-index: -1;
}
#footer .footer-name i.hospital {
    font-size: 3em;
    bottom: 0;
    left: 50%;
}
#footer .footer-name i.walking {
    font-size: 2em;
    bottom: 0;
    left: 43%;
}
#footer .footer-name i.cloud {
    font-size: 2em;
    bottom: 50%;
    left: 58%;
}
#footer .footer-name i.cloud2 {
    font-size: 2em;
    bottom: 40%;
    left: 20%;
}
#footer .footer-name i.tree {
    font-size: 2em;
    bottom: 0;
    right: 5%;
}
#footer .footer-name i.tree2 {
    font-size: 2em;
    bottom: 0;
    right: 10%;
}
#footer .footer-name i.car {
    font-size: 2em;
    bottom: 0;
    right: 5%;
}
#footer .footer-name i.mountain {
    font-size: 3.6em;
    bottom: 0;
    left: 9%;
}
#footer .footer-content {
    display: flex;
    flex-wrap: wrap;
    padding: 2em 0;
}
@media screen and (max-width: 1080px) {
    #footer .footer-content {
        padding-left: 1em;
        padding-right: 1em;
    }
}
@media screen and (max-width: 480px) {
    #footer .footer-content {
        display: none;
        flex-direction: column;
        padding-top: 1em;
        padding-bottom: 1em;
    }
}
#footer .footer-link {
    font-size: 0.81em;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}
@media screen and (max-width: 896px) {
    #footer .footer-link {
        margin-bottom: 2em;
    }
}
#footer .footer-link > div {
    width: 25%;
}
#footer .footer-link > div dt {
    color: hsl(39, 90%, 90%);
}
@media screen and (max-width: 896px) {
    #footer .footer-link > div {
        width: 30%;
    }
}
@media screen and (max-width: 480px) {
    #footer .footer-link > div {
        width: 90%;
    }
}
@media screen and (max-width: 480px) {
    #footer .footer-link-volb {
        margin-top: 1.6em;
    }
}
#footer .footer-link-volc dl:not(:first-child) {
    margin-top: 1.6em;
}
@media screen and (max-width: 480px) {
    #footer .footer-link-volc dl {
        margin-top: 1.6em;
    }
}
#footer .footer-link ul {
    margin: 0.6em 0 0 1.2em;
    padding: 0;
}
#footer .footer-link ul li {
    margin-bottom: 0.6em;
}
@media screen and (max-width: 480px) {
    #footer .footer-link ul li {
        margin-bottom: 0.8em;
    }
}
#footer .footer-link ul li a {
    display: flex;
    align-items: center;
}
#footer .footer-link ul li a::before {
    content: "\f054";
    font-size: 0.8em;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    margin-right: 0.4em;
}
@media screen and (max-width: 480px) {
    #footer .footer-link ul li a {
        background: hsla(0, 0%, 100%, 0.15);
        border: 1px solid #fff;
        border-radius: 3px;
        display: inline-block;
        padding: 0.2em 0.4em;
    }
    #footer .footer-link ul li a::before {
        content: none;
    }
}
#footer .footer-link-menu {
    margin-right: 4em;
}
@media screen and (max-width: 480px) {
    #footer .footer-link-menu {
        margin-right: 0;
    }
}
#footer .copy {
    border-top: 1px solid hsla(0, 0%, 100%, 0.4);
    font-size: 75%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 2.5vh 0;
    text-align: right;
}
@media screen and (max-width: 480px) {
    #footer .copy {
        font-size: 70%;
        text-align: center;
        margin-top: 1em;
    }
}