@charset "utf-8";

/* ======================================================
 * layout_sp.css
 * ------------------------------------------------------
 * @media only screen and (max-width: 767px)
 * - Common
 * - Header
 * - Gnav
 * - Main
 * - Assist
 * - Footer
 * - Other
 * - Clearfix
 * Media Queries
====================================================== */

@media only screen and (max-width: 767px) {
  
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  /* ----- font ----- */
  
  /* ----- a ----- */
  
  /* ----- opacity ----- */
  
  /* ----- transition ----- */
  
  /* ----- sprite ----- */
  .nav_category > li > .a-blank::after,
  .nav_category > li > .a-pdf::after,
  .localnavi-button > li > .a-blank::after,
  .localnavi-button > li > .a-pdf::after {
    display: inline-block;
    margin: .3em 0 0 8px;
  }
  
  /* ------------------------------------------------------
   * Header
  ------------------------------------------------------ */
  body{
    /*overscroll-behavior: none;*/
  }
  body.theme-open,
  body.favorite-open {
    position: fixed;
    width: 100%;
  }
  .Header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    border-bottom: 3px solid #006158;
    z-index: 15;
    transition: top .3s ease 0s;
    /*overscroll-behavior: none;*/
  }
  .is-scroll .Header {
    top: -50px;
  }
  .HeaderBody {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0 0 0 15px;
    height: 47px;
    background-color: #fff;
  }
  
  /* ----- HeaderUtility ----- */
  .HeaderUtility {
    display: flex;
    align-items: center;
    height: 47px;
  }
  .identity_logo > a {
    display: block;
    width: 168px;
    height: 23px;
    background: url("/common/img/logo.png") no-repeat 0 0;
    background-size: contain;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
  }
  /* ----- HeaderUtility ----- */
  .utility-link {
    display: flex;
    flex-flow: row;
    align-items: center;
  }
  .utility-link .utility-link_english {
    display: none;
  }
  .utility-link .utility-link_search {
  }
  .utility-link .utility-link_search > a {
    position: relative;
    display: block;
    width: 50px;
    height: 47px;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    transition: none;
  }
  .utility-link .utility-link_search > a::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
    width: 20px;
    height: 22px;
    background: url("/common/img/com_sprite01.png") no-repeat -154px -32px;
    background-size: 240px auto;
  }
  .utility-link .utility-link_search.search-open > a {
    background-color: #175e57;
  }
  .utility-link .utility-link_search.search-open > a::after {
    background: url("/common/img/com_sprite01.png") no-repeat -195px -32px;
    background-size: 240px auto;
    transition: none;
  }
  .search-area {
    display: none;
  }
  
  /* ------------------------------------------------------
   * Gnav
  ------------------------------------------------------ */
  .Gnav {
  }
  .GnavBody {
    position: fixed;
    top: 50px;
    left: 100vw;
    width: calc(100vw - 40px);
    height: calc(100% - 50px);
    padding-bottom: 70px;
    background-color: #eee;
    overflow-y: auto;
    transition: top .3s ease 0s,left .3s ease 0s;
  }
  .Gnav.is-open .GnavBody {
    left: 40px;
  }
  .gnav-bg {
    display: none;
    transition: display .3s ease 0s;
  }
  .gnav-menu {
    position: relative;
    display: block;
    width: 50px;
    height: 47px;
    cursor: pointer;
  }
  .gnav-menu::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background: url("/common/img/com_sprite01.png") no-repeat -175px -32px;
    background-size: 240px auto;
  }
  .Gnav.is-open .gnav-bg {
    display: block;
    position: fixed;
    top: 50px;
    left: 0;
    background: rgba(0,0,0,0.7);
    width: 100vw;
    height: calc(100% - 50px);
    transition: top .3s ease 0s;
  }
  .Gnav.is-open .gnav-menu {
    background-color: #175e57;
  }
  .Gnav.is-open .gnav-menu::after {
    background: url("/common/img/com_sprite01.png") no-repeat -195px -32px;
    background-size: 240px auto;
  }
  .is-scroll .GnavBody {
    top: 0;
    height: calc(100% - 60px);
  }
  .is-scroll .Gnav.is-open .gnav-bg {
    top: 0;
    height: calc(100% - 60px);
  }
  
  /* ----- gnav-list ----- */
  .gnav-list {
    
  }
  .gnav-list > li {
    border-bottom: 1px solid #ddd;
  }
  .gnav-list > li > a {
    position: relative;
    display: block;
    padding: 15px;
    color: #333;
    font-size: 1.4rem;
    font-weight: bold;
    background-color: #fff;
  }
  .gnav-list > li > a::after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
    width: 10px;
    height: 15px;
    background: url("/common/img/com_sprite01.png") no-repeat -145px -95px;
    background-size: 240px auto;
  }
  .gnav-list-sp {
    margin: 15px 15px 0;
  }
  .gnav-list-sp > a {
    display: block;
    border: 1px solid #ddd;
    padding: 15px;
    background-color:  #fff;
    color: #333;
    font-size: 1.4rem;
    text-decoration: none;
    text-align: center;
  }
  /* ------------------------------------------------------
   * MegaMenu
  ------------------------------------------------------ */
  .MegaMenu {
    position: fixed;
    top: 50px;
    left: 100vw;
    transition: top .3s ease 0s,left .3s ease 0s;
    overflow-y: auto;
    width: calc(100vw - 40px);
    height: calc(100% - 50px);
    padding-bottom: 80px;
    background-color: #eee;
  }
  .MegaMenu.is-slide {
    left: 40px;
  }
  .is-scroll .MegaMenu {
    top: 0;
    height: calc(100% - 60px);
  }
  .MegaMenuList_title figure {
    display: none;
  }
  .MegaMenuList_title > a {
    position: relative;
    display: block;
    padding: 15px;
    color: #fff;
    font-size: 1.4rem;
    background-color: #008574;
  }
  .MegaMenuList_title > a > h2 {
    font-weight: bold;
  }
  .MegaMenuList .search-box {
    width: 100%;
    padding: 20px 15px;
    background-color: #eee;
  }
  .MegaMenuList .search-box form {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #bbb;
  }
  .MegaMenuList .search-box .txt {
    flex-grow: 1;
    margin-right: 10px;
  }
  .MegaMenuList .search-box .txt input {
    width: 100%;
    height: 40px;
    outline: none;
    border: none;
    color: #333;
    background-color: #eee;
  }
  .MegaMenuList .search-box .btn {
    display: flex;
    align-items: center;
    width: 25px;
  }
  .MegaMenuList .search-box .btn input {
    display: block;
    padding: 0;
    width: 25px;
    height: 25px;
    background: url("/common/img/com_sprite01.png") no-repeat -120px -90px;
    background-size: 240px auto;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    outline: none;
    border: none;
    cursor: pointer;
  }
  .MegaMenuList .link-list > ul > li {
    background-color: #fff;
    border-bottom: 1px solid #ddd;
  }
  .MegaMenuList .link-list > ul > li > a {
    position: relative;
    display: block;
    padding: 15px 35px;
    color: #333;
    font-size: 1.4rem;
    background-color: #fff;
  }
  .MegaMenuList .link-list > ul > li.has-child > a::after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
    width: 10px;
    height: 15px;
    background: url("/common/img/com_sprite01.png") no-repeat -145px -95px;
    background-size: 240px auto;
  }
  .MegaMenuList .link-list > ul > li.has-accordion > a::after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
    width: 15px;
    height: 10px;
    background: url("/common/img/com_sprite01.png") no-repeat -155px -105px;
    background-size: 240px auto;
  }
  .MegaMenuList .link-list > ul > li.has-accordion > a.is-active {
    background-color: #eee;
  }
  .MegaMenuList .link-list > ul > li.has-accordion > a.is-active::after {
    background: url("/common/img/com_sprite01.png") no-repeat -155px -95px;
    background-size: 240px auto;
  }
  .MegaMenuList .link-list > ul > li > ul.accordion-child {
    border-top: 1px solid #ddd;
    padding: 10px 0;
  }
  .MegaMenuList .link-list > ul > li > ul.accordion-child > li > a {
    position: relative;
    display: block;
    padding: 12px 35px;
    color: #333;
    font-size: 1.4rem;
    background-color: #fff;
  }
  .MegaMenuList .link-list > ul > li > ul.accordion-child > li.is-current > a {
    font-weight: bold;
    color: #008574;
  }
  
  .MegaMenuList_back {
    border-bottom: 1px solid #ddd;
  }
  .MegaMenuList_back > a {
    position: relative;
    display: block;
    padding: 15px 15px 15px 33px;
    color: #333;
    font-size: 1.4rem;
    font-weight: bold;
    background-color: #fff;
  }
  .MegaMenuList_back > a::after {
    position: absolute;
    top: 0;
    left: 15px;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
    width: 10px;
    height: 15px;
    background: url("/common/img/com_sprite01.png") no-repeat -145px -110px;
    background-size: 240px auto;
  }
  
  /* ------------------------------------------------------
   * SearchMenu
  ------------------------------------------------------ */
  .SearchMenu {
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 0;
    background-color: #fff;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
    z-index: 6;
    overflow: hidden;
    transition: height .3s ease 0s;
  }
  .utility-link_search.search-open .SearchMenu {
    height: 82px;
  }
  .SearchMenuBody {
    width: 100%;
    margin: 0 auto;
    padding: 20px 15px;
  }
  .searchMenu-bar {
    display: none;
  }
  .search-arrow {
    display: none;
  }
  .SearchMenu .search-box {
    width: 100%;
    border-bottom: 1px solid #bbb;
  }
  .SearchMenu .search-box form {
    width: 100%;
    display: flex;
  }
  .SearchMenu .search-box .txt {
    flex-grow: 1;
    margin-right: 10px;
  }
  .SearchMenu .search-box .txt input {
    width: 100%;
    height: 40px;
    outline: none;
    border: none;
  }
  .SearchMenu .search-box .btn {
    display: flex;
    align-items: center;
    width: 25px;
  }
  .SearchMenu .search-box .btn input {
    display: block;
    padding: 0;
    width: 25px;
    height: 25px;
    background: url("/common/img/com_sprite01.png") no-repeat -120px -90px;
    background-size: 240px auto;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    outline: none;
    border: none;
    cursor: pointer;
  }
  
  /* ------------------------------------------------------
   * Main
  ------------------------------------------------------ */
  .Main {
    padding-top: 50px;
  }
  .MainBody {
  }
  
  /* ----- pageGuide ----- */
  .pageGuide {
    width: 100%;
  }
  /* breadcrumbs */
  .breadcrumbs {
    max-width: 100%;
    margin: 0 auto;
    padding: 15px;
  }
  .container[data-wide="true"] .breadcrumbs {
    max-width: 100%;
  }
  .breadcrumbs > li {
    position: relative;
    float: left;
    padding: 0 13px 0 20px;
    font-size: 1.0rem;
  }
  .breadcrumbs > li::before {
    content: ">";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    font-weight: normal !important;
  }
  .breadcrumbs > li:first-child {
    padding-left: 0;
  }
  .breadcrumbs > li:first-child::before {
    display: none;
  }
  .breadcrumbs > li:last-child {
    font-weight: bold;
  }
  
  /* ----- pageHead ----- */
  .pageHead {
  }
  
  /* ----- container ----- */
  .container {
    overflow: hidden;
    padding: 15px 15px 40px;
  }
  .container[data-sidebar="true"] {
    padding: 15px 15px 40px;
    min-height: 360px;
  }
  .container[data-wide="site-search"] {
    padding-top: 0;
  }
  
  /* contents */
  .contents {
  }
  .contents > .typeGray{
    background-color: #f4f4f4;
    margin: 0 -15px;
  }
  .typeGray > .inner{
    margin: 0;
    padding: 25px 15px;
  }
  /* sidebar */
  .sidebar {
    margin-top: 40px;
    margin-left: -15px;
    margin-right: -15px;
  }
  .sidebar .nav_head {
    position: relative;
  }
  .sidebar .nav_head > a {
    display: block;
    padding: 12px 45px 12px 15px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    background-color: #008574;
    border-bottom: 1px solid #ddd;
    text-decoration: underline;
  }
  .sidebar .nav_head > .sideNav-trigger {
    position: absolute;
    right: 0;
    top: 0;
    text-indent: 100%;
    white-space: nowrap;
    width: 45px;
    height: 100%;
    overflow: hidden;
    cursor: pointer;
    background-color: #008574;
    border-bottom: 1px solid #ddd;
  }
  .sidebar .nav_head > .sideNav-trigger:hover {
    background-color: #1a9182;
  }
  .sidebar .nav_head > .sideNav-trigger::before {
    content: "";
    width: 25px;
    height: 15px;
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -8px;
    background: url("/common/img/com_sprite01.png") no-repeat -180px -200px;
    background-size: 240px auto;
  }
  .sidebar-nav.is-open .nav_head > .sideNav-trigger::before {
    background: url("/common/img/com_sprite01.png") no-repeat -155px -200px;
    background-size: 240px auto;
  }
  .sidebar .nav_category > li > .block {
    position: relative;
    display: block;
    padding: 12px 10px 11px 15px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ddd;
    line-height: 1.6;
  }
  .sidebar .nav_category > li > .block.nav-target-v3 {
    padding-right: 40px;
  }
  .sidebar .nav_category > li > .block.nav-target-v3::before,
  .sidebar .nav_category > li > .block.nav-target-v3::after {
    position: absolute;
    top: 50%;
    right: 12px;
    width: 20px;
    height: 2px;
    margin-top: -1px;
    background-color: #008574;
    content: "";
    -webkit-transition: all .2s ease-out 0s;
    transition: all .2s ease-out 0s;
  }
  .sidebar .nav_category > li > .block.nav-target-v3::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .sidebar .nav_category > li.is-open > .block.nav-target-v3::before {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  .sidebar .nav_category.stage1 > li > a {
    position: relative;
    display: block;
    padding: 12px 10px 11px 34px;
    border-bottom: 1px solid #ddd;
    line-height: 1.6;
  }
  .sidebar .nav_category.stage1 > li > a::before {
    position: absolute;
    left: 15px;
    top: 17px;
    display: block;
    content: "";
    width: 14px;
    height: 14px;
    background: url("/common/img/com_sprite01.png") no-repeat 0 -18px;
  }
  .sidebar .nav_category.stage1 > li.is-current > a,
  .sidebar .nav_category.stage1 > li.is-open > a {
    background-color: #ebf1ed;
    color: #008574;
  }
  .sidebar .nav_category.stage2 {
    transition: height .3s ease 0s;
  }
  .sidebar .is-open > .nav_category.stage2 {
    display: block;
  }
  .sidebar .nav_category.stage2 > li > a {
    position: relative;
    display: block;
    padding: 11px 10px 11px 50px;
    border-bottom: 1px solid #ddd;
    line-height: 1.6;
  }
  .sidebar .nav_category.stage2 > li > a::before {
    position: absolute;
    left: 31px;
    top: 17px;
    display: block;
    content: "";
    width: 14px;
    height: 14px;
    background: url("/common/img/com_sprite01.png") no-repeat 0 -18px;
  }
  .sidebar .nav_category.stage2 > li.is-current > a,
  .sidebar .nav_category.stage2 > li.is-open > a {
    background-color: #ebf1ed;
    color: #008574;
  }
  
  /* ----- pageFoot ----- */
  .pageFoot.bgColor01 {
    background-color: #f4f4f4;
  }
  .pageFoot.foot-p-v1 {
    padding: 30px 0;
  }
  .pageFoot > .pageFoot-wrap {
    padding: 0 15px 15px;
  }
  
  /* ------------------------------------------------------
   * Assist
  ------------------------------------------------------ */
  .Assist {
    position: fixed;
    display: flex;
    align-items: center;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    padding: 0;
    background-color: #fff;
    z-index: 16;
    -webkit-box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.1);
  }
  .area-title > a,
  .InquiryArea > a,
  .ColumnArea > a,
  .MagazineArea > a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    width: calc((100vw - 50px)/5);
    height: 60px;
    color: #666;
    text-align: center;
    font-size: 1.1rem;
    text-decoration: none;
    line-height: 1.2;
    overflow: hidden;
  }
  .theme-open .ThemeArea .area-title > a,
  .favorite-open .FavoriteArea .area-title > a {
    background-color: #008574;
    color: #fff;
  }
  .ThemeArea .area-title > a::before {
    margin: 2px auto 6px;
    display: block;
    content: "";
    width: 19px;
    height: 19px;
    background: url("/common/img/com_sprite01.png") no-repeat -170px -250px;
    background-size: 240px auto;
  }
  .theme-open .ThemeArea .area-title > a::before {
    width: 22px;
    height: 22px;
    background: url("/common/img/com_sprite01.png") no-repeat -200px -65px;
    background-size: 240px auto;
  }
  .themeWrap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.7);
    width: 100%;
    height: calc(100% - 60px);
    z-index: 8;
    overflow-y: auto;
    transition: top .3s ease 0s;
    /*overscroll-behavior: none;*/
  }
  .themeWrapBg {
  }
  .themeWrap .themeWrap-inner {
    width: 100%;
    margin: 0 auto;
    padding: 20px 15px;
    color: #fff;
  }
  .themeWrap .themeWrap-inner a {
    text-decoration: none;
  }
  .themeWrap .mCSB_inside > .mCSB_container {
    margin-right: 0;
  }
  .theme-lead {
    border: 1px solid #fff;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
  }
  .theme-heading {
    position: relative;
    font-size: 1.4rem;
    margin-top: 15px;
  }
  .theme-heading > span {
    font-size: 1.8rem;
  }
  .theme-heading-v2 {
    position: relative;
    font-size: 1.6rem;
    font-weight: bold;
    padding-left: 27px;
    margin-top: 17px;
    min-height: 26px;
  }
  .theme-heading-v2::before {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
  }
  .theme-heading-v2.type01::before,
  .theme-heading-v2.icon-training::before {
    background: url("/common/img/com_sprite01.png") no-repeat -170px -90px;
    background-size: 240px auto;
  }
  .theme-heading-v2.type02::before,
  .theme-heading-v2.icon-challenge::before {
    background: url("/common/img/com_sprite01.png") no-repeat -190px -90px;
    background-size: 240px auto;
  }
  .theme-heading-v2.type03::before,
  .theme-heading-v2.icon-skill::before {
    background: url("/common/img/com_sprite01.png") no-repeat -170px -110px;
    background-size: 240px auto;
  }
  .theme-heading-v2.type04::before,
  .theme-heading-v2.icon-other::before {
    background: url("/common/img/com_sprite01.png") no-repeat -190px -110px;
    background-size: 240px auto;
  }
  .theme-list {
    margin-top: 10px;
  }
  .theme-list + .theme-heading {
    margin-top: 20px;
    padding-top: 17px;
  }
  .theme-list + .theme-heading::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    opacity: 0.2;
  }
  .theme-list[data-row-sp]:not([data-row-sp="1"]):not([data-row-sp="auto"]) > * {
    margin-top: 1px;
    margin-left: 1px;
  }
  .theme-list[data-row-sp="2"] > * { width: calc((100% -  1px) / 2); }
  .theme-list[data-row-sp="3"] > * { width: calc((100% -  2px) / 3); }
  .theme-list[data-row-sp="4"] > * { width: calc((100% - 3px) / 4); }
  .theme-list[data-row-sp="5"] > * { width: calc((100% - 4px) / 5); }
  .theme-list[data-row-sp="6"] > * { width: calc((100% - 5px) / 6); }
  .theme-list[data-row-sp="auto"] {
    margin-right: -1px;
    margin-bottom: -1px;
  }
  .theme-list[data-row-sp="auto"] > * {
    margin-top: 0 !important;
    margin-right: 1px;
    margin-bottom: 1px;
    margin-left: 0;
  }
  
  .theme-list > li > a {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: 50px;
    padding: 2px 5px;
    text-align: center;
    font-size: 1.3rem;
    color: #333;
    font-weight: bold;
    background-color: #fff;
  }
  .theme-list > li > a > span {
    font-size: 1.0rem;
  }
  .FavoriteArea .area-title > a::before {
    margin: 0 auto 6px;
    display: block;
    content: "";
    width: 23px;
    height: 22px;
    background: url("/common/img/com_sprite01.png") no-repeat -195px -250px;
    background-size: 240px auto;
  }
  .favorite-open .FavoriteArea .area-title > a::before {
    width: 22px;
    height: 22px;
    background: url("/common/img/com_sprite01.png") no-repeat -200px -65px;
    background-size: 240px auto;
  }
  .favoriteWrap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.7);
    width: 100%;
    height: calc(100% - 60px);
    z-index: 8;
    overflow-y: auto;
    transition: top .3s ease 0s;
    /*overscroll-behavior: none;*/
  }
  .favoriteWrap .favoriteWrap-inner {
    width: 100%;
    margin: 0 auto;
    padding: 20px 15px;
    color: #fff;
  }
  .favoriteWrap .favoriteWrap-inner a {
    text-decoration: none;
  }
  .favoriteWrap .mCSB_inside > .mCSB_container {
    margin-right: 0;
  }
  .InquiryArea > a::before {
    margin: 1px auto 4px;
    display: block;
    content: "";
    width: 20px;
    height: 16px;
    background: url("/common/img/com_sprite01.png") no-repeat -220px -250px;
    background-size: 240px auto;
  }
  .ColumnArea > a::before {
    margin: 2px auto 6px;
    display: block;
    content: "";
    width: 19px;
    height: 19px;
    background: url("/common/img/com_sprite01.png") no-repeat -125px -250px;
    background-size: 240px auto;
  }
  .MagazineArea > a::before {
    margin: 2px auto 6px;
    display: block;
    content: "";
    width: 19px;
    height: 19px;
    background: url("/common/img/com_sprite01.png") no-repeat -145px -250px;
    background-size: 240px auto;
  }
  .favorite-lead {
    border: 1px solid #fff;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
  }
  /* ----- Pagetop ----- */
  .Pagetop {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .Pagetop > a {
    position: relative;
    display: block;
    width: 50px;
    height: 60px;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    background-color: #eee;
  }
  .Pagetop > a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    content: "";
    width: 24px;
    height: 18px;
    background: url("/common/img/com_sprite01.png") no-repeat -215px -32px;
    background-size: 240px auto;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
  }
  /* ------------------------------------------------------
   * Localnavi
  ------------------------------------------------------ */
  .localnavi {
    
  }
  .localnavi-nav {
    margin: 0 auto;
  }
  .localnavi-nav > .nav_head {
    position: relative;
  }
  .localnavi-nav > .nav_head > a {
    display: block;
    padding: 12px 45px 12px 15px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    background-color: #666;
    border-bottom: 1px solid #ddd;
    text-decoration: underline;
  }
  .localnavi-nav > .nav_head > .localNav-trigger {
    position: absolute;
    right: 0;
    top: 0;
    text-indent: 100%;
    white-space: nowrap;
    width: 45px;
    height: 100%;
    overflow: hidden;
    cursor: pointer;
    background-color: #666;
    border-bottom: 1px solid #ddd;
  }
  .localnavi-nav > .nav_head > .localNav-trigger:hover {
    background-color: #777;
  }
  .localnavi-nav > .nav_head > .localNav-trigger::before {
    content: "";
    width: 25px;
    height: 15px;
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -8px;
    background: url("/common/img/com_sprite01.png") no-repeat -180px -200px;
    background-size: 240px auto;
  }
  .localnavi-nav.is-open > .nav_head > .localNav-trigger::before {
    background: url("/common/img/com_sprite01.png") no-repeat -155px -200px;
    background-size: 240px auto;
  }
  .localnavi-nav > .localnavi-button > li > .block {
    position: relative;
    display: block;
    padding: 12px 10px 11px 15px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ddd;
    line-height: 1.6;
  }
  .localnavi-nav > .localnavi-button > li > a {
    position: relative;
    display: block;
    padding: 12px 10px 12px 34px;
    border-bottom: 1px solid #ddd;
    line-height: 1.6;
  }
  .localnavi-nav > .localnavi-button > li > a::before {
    position: absolute;
    left: 15px;
    top: 17px;
    display: block;
    content: "";
    width: 14px;
    height: 14px;
    background: url("/common/img/com_sprite01.png") no-repeat 0 -18px;
  }
  .localnavi-nav > .localnavi-button > li.is-current > a,
  .localnavi-nav > .localnavi-button > li.is-open > a {
    font-weight: bold;
    background-color: #ebf1ed;
    color: #008574;
  }
  
  /* ------------------------------------------------------
   * Footer
  ------------------------------------------------------ */
  .Footer {
    width: 100%;
    background-color: #555;
    padding: 25px 15px 80px;
  }
  .FooterUtility {
  }
  .FooterBody {
  }
  .footer-link {
  }
  .footer-link > li {
    font-size: 1.2rem;
  }
  .footer-link[data-row-sp]:not([data-row-sp="1"]):not([data-row-sp="auto"]) > * {
    margin-top: 1em;
  }
  .footer-link > li > a {
    color: #fff;
  }
  .maintenance #footer {
    padding: 25px 15px 25px;
  }
  
  /* ----- footer-copyright ----- */
  .footer-copyright {
    margin-top: 20px;
    text-align: center;
    font-size: 1.0rem;
    color: #999;
  }
  
  
  /* ------------------------------------------------------
   * Other
  ------------------------------------------------------ */
  
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .breadcrumbs::after {
    display: block;
    clear: both;
    content: "";
  }
}


/* ======================================================
 * Media Queries
====================================================== */
/***
@media only screen and (min-width: 320px) and (max-width: 767px) {
}
@media only screen and (max-width: 736px) {
}
@media only screen and (max-width: 667px) {
}
@media only screen and (max-width: 640px) {
}
@media only screen and (max-width: 568px) {
}
@media only screen and (max-width: 480px) {
}
@media only screen and (max-width: 414px) {
}
@media only screen and (max-width: 375px) {
}
@media only screen and (max-width: 360px) {
}
@media only screen and (max-width: 320px) {
}
***/