@charset "UTF-8";
html {
  scroll-behavior: smooth;
}

/* header 
________________________________________________________*/
header {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 200;
}

header .header_area {
  display: none;
}

@media (min-width: 481px) {
  header .header_area {
    display: block;
  }
  header .header_area .header_logo {
    height: 60px;
    width: 100%;
    width: 980px;
    margin: 0 auto;
  }
  header .header_area .header_logo .title {
    height: 60px;
    margin-left: auto;
    width: 170px;
  }
  header .header_area .header_logo .title img {
    margin: 20px 5px 0 0;
  }
}

/* navigation menu
________________________________________________________*/
nav {
  position: absolute;
  top: 0px;
  width: 100%;
  z-index: 300;
}

@media (min-width: 481px) {
  nav {
    top: 60px;
  }
}

nav .nav_area {
  overflow: hidden;
  width: 100%;
}

@media (min-width: 481px) {
  nav .nav_area .nav_contents {
    margin: 0 auto 0;
    padding: 0px;
    width: 980px;
  }
}

nav .nav_area .nav_contents .nav_sp {
  position: fixed;
  top: 0px;
  z-index: 550;
  box-shadow: 0 0 3px #4C4948;
  height: 42px;
  width: 100%;
  background: #fff;
  display: table;
}

@media (min-width: 481px) {
  nav .nav_area .nav_contents .nav_sp {
    display: none;
  }
}

nav .nav_area .nav_contents .nav_sp .nav_company {
  vertical-align: middle;
  display: table-cell;
}

nav .nav_area .nav_contents .nav_sp .nav_company img {
  width: 60vw;
  margin-left: 10px;
}

nav .nav_area .nav_contents .nav_sp .nav_btn {
  z-index: 550;
  border: none;
  position: absolute;
  top: 2px;
  right: 10px;
  display: flex;
  height: 38px;
  width: 38px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: #fff;
}

nav .nav_area .nav_contents .nav_sp .nav_btn span {
  transition: all 0.4s;
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #4C4948;
  position: absolute;
}

nav .nav_area .nav_contents .nav_sp .nav_btn span:before {
  bottom: 8px;
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #4C4948;
  position: absolute;
}

nav .nav_area .nav_contents .nav_sp .nav_btn span:after {
  top: 8px;
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #4C4948;
  position: absolute;
}

nav .nav_area .nav_contents .nav_sp .nav_btn.active span {
  transform: rotate(-45deg);
}

nav .nav_area .nav_contents .nav_sp .nav_btn.active span:before {
  transform: translateY(8px) rotate(90deg);
}

nav .nav_area .nav_contents .nav_sp .nav_btn.active span:after {
  opacity: 0;
}

nav .nav_area .nav_contents .nav_sp .nav_sp_menu {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 42px;
  right: -100vw;
  height: 100vh;
  width: 100%;
  background: rgba(102, 176, 46, 0.9);
  z-index: 500;
}

nav .nav_area .nav_contents .nav_sp .nav_sp_menu ul {
  margin: 20px auto 0;
  width: 220px;
}

nav .nav_area .nav_contents .nav_sp .nav_sp_menu ul li {
  text-align: center;
  border-bottom: 1px solid #fff;
}

nav .nav_area .nav_contents .nav_sp .nav_sp_menu ul li a {
  display: block;
  height: 50px;
  width: 220px;
  line-height: 50px;
  color: #fff;
}

nav .nav_area .nav_contents .nav_sp .nav_sp_menu ul li a:hover {
  opacity: 0.5;
}

nav .nav_area .nav_contents .nav_pc {
  display: none;
}

@media (min-width: 481px) {
  nav .nav_area .nav_contents .nav_pc {
    width: 980px;
    display: table;
  }
  nav .nav_area .nav_contents .nav_pc .nav_company {
    vertical-align: middle;
    display: table-cell;
    height: 45px;
  }
  nav .nav_area .nav_contents .nav_pc .nav_company img {
    vertical-align: bottom;
  }
  nav .nav_area .nav_contents .nav_pc .nav_menu {
    vertical-align: middle;
    display: table-cell;
    padding-top: 15px;
    height: 20px;
  }
  nav .nav_area .nav_contents .nav_pc .nav_menu ul.nav_ul {
    width: auto;
    font-size: 0.85rem;
    margin-left: auto;
    margin-right: 5px;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    display: table;
  }
  nav .nav_area .nav_contents .nav_pc .nav_menu ul.nav_ul li {
    line-height: 20px;
    display: table-cell;
  }
  nav .nav_area .nav_contents .nav_pc .nav_menu ul.nav_ul li a {
    color: #fff;
  }
  nav .nav_area .nav_contents .nav_pc .nav_menu ul.nav_ul li a:hover {
    opacity: 0.6;
  }
  nav .nav_area .nav_contents .nav_pc .nav_menu ul.nav_ul li:after {
    color: #fff;
    content: '/';
    padding: 0 9px;
  }
  nav .nav_area .nav_contents .nav_pc .nav_menu ul.nav_ul li:last-child:after {
    content: initial;
  }
}

nav .nav_area .nav_fixed_contents {
  display: none;
}

@media (min-width: 481px) {
  nav .nav_area .nav_fixed_contents {
    box-shadow: 0 0 3px #4C4948;
    position: fixed;
    top: -100px;
    display: block;
    background: #fff;
    width: 100%;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed {
    margin: 0 auto;
    width: 980px;
    height: 80px;
    display: table;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed .nav_company {
    vertical-align: bottom;
    display: table-cell;
    padding-bottom: 20px;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed .nav_company img {
    vertical-align: bottom;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed .nav_menu {
    vertical-align: bottom;
    display: table-cell;
    padding-bottom: 15px;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed .nav_menu ul.nav_ul {
    width: auto;
    font-size: 0.85rem;
    margin-left: auto;
    margin-right: 5px;
    display: table;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed .nav_menu ul.nav_ul li {
    display: table-cell;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed .nav_menu ul.nav_ul li a {
    color: #4C4948;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed .nav_menu ul.nav_ul li a:hover {
    opacity: 0.6;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed .nav_menu ul.nav_ul li:after {
    color: #4C4948;
    content: '/';
    padding: 0 9px;
  }
  nav .nav_area .nav_fixed_contents .nav_fixed .nav_menu ul.nav_ul li:last-child:after {
    content: initial;
  }
}

/* hero image
________________________________________________________*/
div.hero_area {
  z-index: 0;
  width: 100%;
  height: 60vh;
  margin-bottom: 15vh;
  background: url("../images/heroimg.jpg") center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (min-width: 481px) {
  div.hero_area {
    margin-bottom: 0;
    height: 100vh;
  }
}

div.hero_area .hero_contents {
  position: relative;
  height: 100%;
}

div.hero_area .hero_contents .hero_tagline1 {
  position: absolute;
  top: 0;
  left: 0;
}

div.hero_area .hero_contents .hero_tagline1 img {
  height: 30vh;
}

@media (min-width: 481px) {
  div.hero_area .hero_contents .hero_tagline1 img {
    height: 40vh;
  }
}

div.hero_area .hero_contents .hero_tagline2 {
  position: absolute;
  bottom: 0;
  right: 0;
}

div.hero_area .hero_contents .hero_tagline2 div {
  position: relative;
  width: 100%;
  height: 100%;
}

div.hero_area .hero_contents .hero_tagline2 div img {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 30vh;
}

@media (min-width: 481px) {
  div.hero_area .hero_contents .hero_tagline2 div img {
    height: 70vh;
  }
}

div.hero_area .hero_contents .hero_copy_sp {
  position: absolute;
  top: 52vh;
  left: 0;
  right: 0;
  text-align: center;
  margin: auto;
}

div.hero_area .hero_contents .hero_copy_sp img {
  width: 80vw;
}

@media (min-width: 481px) {
  div.hero_area .hero_contents .hero_copy_sp {
    display: none;
  }
}

div.hero_area .hero_contents .hero_copy_pc {
  display: none;
}

@media (min-width: 481px) {
  div.hero_area .hero_contents .hero_copy_pc {
    display: block;
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    text-align: center;
    margin: auto;
  }
}

/* main contents
________________________________________________________*/
main .contents {
  /* heading */
}

main .contents p {
  font-size: 0.9rem;
}

main .contents div.heading {
  position: relative;
  z-index: 200;
  margin: 57px 15px 1rem;
}

@media (min-width: 481px) {
  main .contents div.heading {
    padding-top: 85px;
    padding-bottom: 50px;
  }
}

main .contents div.heading h2 {
  font-size: 2rem;
  font-weight: normal;
}

@media (min-width: 481px) {
  main .contents div.heading h2 {
    font-size: 2.8rem;
  }
}

main .contents div.heading h2 span {
  display: block;
  padding: 4px 0 2px 5px;
  font-size: 1rem;
}

@media (min-width: 481px) {
  main .contents div.heading h2 span {
    font-size: 1.4rem;
    display: inline;
    padding-left: 45px;
  }
}

main .contents div.heading hr {
  text-align: left;
  width: 70px;
  height: 3px;
  background: #69BE28;
  margin: 0 0 0 5px;
  display: blcok;
}

@media (min-width: 481px) {
  main .contents div.heading hr {
    margin: 8px 0 0 0;
  }
}

/* News & Event ニュース & イベント
________________________________________________________*/
div.news_area {
  overflow: hidden;
  width: 100%;
}

@media (min-width: 481px) {
  div.news_area .news_contents {
    margin: 0 auto 0;
    padding: 0px;
    width: 980px;
  }
}

div.news_area .news_contents dl.news_list {
  box-sizing: border-box;
  margin: 0 20px 50px;
  width: auto;
  max-height: 124px;
  overflow-y: auto;
}

@media (min-width: 481px) {
  div.news_area .news_contents dl.news_list {
    width: 880px;
    margin: 0 0 50px 100px;
  }
}

div.news_area .news_contents dl.news_list dt {
  box-sizing: border-box;
  clear: both;
  color: #69BE28;
  font-size: 0.8rem;
}

@media (min-width: 481px) {
  div.news_area .news_contents dl.news_list dt {
    font-size: 1.0rem;
    float: left;
    width: 150px;
    height: 40px;
    line-height: 40px;
    /*border-bottom:1px solid #EFEFEF;*/
  }
}

div.news_area .news_contents dl.news_list dd {
  box-sizing: border-box;
  border-bottom: 1px solid #EFEFEF;
  padding: 5px 1rem 5px;
  line-height: 1.6rem;
}

@media (min-width: 481px) {
  div.news_area .news_contents dl.news_list dd {
    padding: 0 0 0 150px;
    line-height: 40px;
  }
}

/* Service サービス紹介
________________________________________________________*/
div.service_area {
  position: relative;
  overflow: hidden;
  background: url("../images/service_bg.jpg") center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
}

div.service_area .service_tagline1 {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
}

div.service_area .service_tagline1 img {
  display: none;
}

@media (min-width: 481px) {
  div.service_area .service_tagline1 img {
    display: block;
    width: 20vw;
  }
}

div.service_area .service_tagline2 {
  z-index: 0;
  position: absolute;
  bottom: 0;
  right: 0;
}

div.service_area .service_tagline2 div {
  position: relative;
  width: 100%;
  height: 100%;
}

div.service_area .service_tagline2 div img {
  display: none;
}

@media (min-width: 481px) {
  div.service_area .service_tagline2 div img {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 20vw;
  }
}

div.service_area .service_contents {
  position: relative;
  z-index: 200;
}

@media (min-width: 481px) {
  div.service_area .service_contents {
    margin: 0 auto 0;
    padding: 0px;
    width: 980px;
  }
}

div.service_area .service_contents p {
  z-index: 200;
  padding: 0 20px;
}

@media (min-width: 481px) {
  div.service_area .service_contents p {
    padding: 0;
  }
}

div.service_area .service_contents a.service_link {
  padding-left: 35px;
  position: relative;
}

div.service_area .service_contents a.service_link:before {
  display: inline-block;
  content: '';
  width: 30px;
  height: 19px;
  background: url(../images/icon_link.png) no-repeat 0 0;
  -webkit-background-size: 30px 30px;
  background-size: 30px 19px;
  position: absolute;
  top: -2px;
  left: 0;
}

div.service_area .service_image {
  margin: 125px 0 40px;
  position: relative;
  z-index: 200;
}

div.service_area .service_image img {
  position: relative;
  width: 90vw;
  display: block;
  margin: 0 auto 0;
}

@media (min-width: 481px) {
  div.service_area .service_image img {
    width: 980px;
    margin: 0;
  }
}

div.service_area .service_image p {
  position: relative;
}

div.service_area .service_heading {
  position: absolute;
  top: -70px;
  left: -20px;
  width: 260px;
  height: 451px;
  background: url("../images/service_heading_bg.png");
}

div.service_area .service_heading h3 {
  white-space: nowrap;
  text-shadow: 1px 1px 6px #378000;
  margin: 20px 0 0 30px;
  color: #fff;
}

@media (min-width: 481px) {
  div.service_area .service_heading h3 {
    margin: 20px 0 0 20px;
  }
}

div.service_area .service_2column {
  margin: 0 20px 0;
  position: relative;
  z-index: 300;
}

@media (min-width: 481px) {
  div.service_area .service_2column {
    margin: 0;
    width: 100%;
    display: table;
  }
}

div.service_area .service_2column div span {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
}

div.service_area .service_2column div img {
  width: 100%;
  display: block;
  margin: 0 auto 0;
}

@media (min-width: 481px) {
  div.service_area .service_2column div img {
    margin: 0;
    width: 470px;
    height: 580px;
  }
}

div.service_area .service_2column div p {
  padding: 0 !important;
}

div.service_area .service_2column .column_L {
  margin-bottom: 20px;
}

@media (min-width: 481px) {
  div.service_area .service_2column .column_L {
    display: table-cell;
    width: 50%;
    padding-right: 20px;
  }
}

div.service_area .service_2column .column_R {
  margin-top: 40px;
}

@media (min-width: 481px) {
  div.service_area .service_2column .column_R {
    margin-top: 0;
    display: table-cell;
    width: 50%;
    padding-left: 20px;
  }
}

/* Company 会社紹介
________________________________________________________*/
div.company_area {
  overflow: hidden;
  width: 100%;
}

@media (min-width: 481px) {
  div.company_area .compay_contents {
    margin: 0 auto 0;
    padding: 0px;
    width: 980px;
  }
}

div.company_area .compay_contents ul.company_info {
  font-size: 15px;
  margin: 0 20px 50px;
  width: auto;
}

@media (min-width: 481px) {
  div.company_area .compay_contents ul.company_info {
    margin: 0 0 50px;
    width: 100%;
  }
}

div.company_area .compay_contents ul.company_info li {
  border-bottom: 1px solid #BFBFBF;
  padding: 5px 0;
}

@media (min-width: 481px) {
  div.company_area .compay_contents ul.company_info li {
    padding: 15px 0;
  }
}

div.company_area .compay_contents ul.company_info li span.info_item {
  font-size: 0.8rem;
  display: block;
}

@media (min-width: 481px) {
  div.company_area .compay_contents ul.company_info li span.info_item {
    float: left;
    font-size: 1.0rem;
    display: inline-block;
    width: 150px;
  }
}

div.company_area .compay_contents ul.company_info li span.info_txt {
  display: block;
  margin-left: 1rem;
}

@media (min-width: 481px) {
  div.company_area .compay_contents ul.company_info li span.info_txt {
    display: block;
    margin-left: 150px;
  }
}

div.company_area .compay_contents dl.address, div.company_area .compay_contents dl access {
  width: auto;
}

@media (min-width: 481px) {
  div.company_area .compay_contents dl.address, div.company_area .compay_contents dl access {
    margin: 0 0 50px;
    width: 100%;
  }
}

@media (min-width: 481px) and (min-width: 481px) {
  div.company_area .compay_contents dl.address dt, div.company_area .compay_contents dl access dt {
    float: left;
  }
}

@media (min-width: 481px) {
  div.company_area .compay_contents dl.address dd, div.company_area .compay_contents dl access dd {
    padding: 5px 1rem 5px;
  }
}

@media (min-width: 481px) and (min-width: 481px) {
  div.company_area .compay_contents dl.address dd, div.company_area .compay_contents dl access dd {
    padding: 0 0 0 150px;
    line-height: 50px;
  }
}

div.company_area .compay_contents .company_address_tbl {
  width: 100%;
}

@media (min-width: 481px) {
  div.company_area .compay_contents .company_address_tbl {
    display: table;
  }
}

div.company_area .compay_contents .company_address_tbl .company_address {
  width: 100%;
}

@media (min-width: 481px) {
  div.company_area .compay_contents .company_address_tbl .company_address {
    display: table-cell;
    width: 50%;
  }
}

div.company_area .compay_contents .company_address_tbl .company_access {
  width: 100%;
}

@media (min-width: 481px) {
  div.company_area .compay_contents .company_address_tbl .company_access {
    display: table-cell;
    width: 50%;
  }
}

div.company_area .google_map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 300px;
}

@media (min-width: 481px) {
  div.company_area .google_map {
    padding-top: 534px;
  }
}

div.company_area .google_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Contact お問い合わせ
________________________________________________________*/
div.contact_area {
  overflow: hidden;
  border-top: 2px solid #EFEFEF;
  width: 100%;
}

@media (min-width: 481px) {
  div.contact_area .contact_contents {
    margin: 0 auto 0;
    padding: 0px;
    width: 980px;
  }
}

div.contact_area .contact_contents .contact_tbl {
  margin-top: 30px;
  margin-bottom: 75px;
}

@media (min-width: 481px) {
  div.contact_area .contact_contents .contact_tbl {
    display: table;
    width: 100%;
  }
}

div.contact_area .contact_contents .contact_tbl .contact_tel {
  text-align: center;
}

@media (min-width: 481px) {
  div.contact_area .contact_contents .contact_tbl .contact_tel {
    display: table-cell;
    width: 50%;
    text-align: left;
  }
}

div.contact_area .contact_contents .contact_tbl .contact_tel img {
  width: 80vw;
  vertical-align: top;
}

@media (min-width: 481px) {
  div.contact_area .contact_contents .contact_tbl .contact_tel img {
    width: 470px;
  }
}

div.contact_area .contact_contents .contact_tbl .contact_mailform {
  margin-top: 30px;
  text-align: center;
}

@media (min-width: 481px) {
  div.contact_area .contact_contents .contact_tbl .contact_mailform {
    margin: 0;
    display: table-cell;
    width: 50%;
    text-align: right;
  }
}

div.contact_area .contact_contents .contact_tbl .contact_mailform img {
  width: 80vw;
  vertical-align: top;
}

@media (min-width: 481px) {
  div.contact_area .contact_contents .contact_tbl .contact_mailform img {
    width: 470px;
  }
}

div.contact_area .contact_contents p {
  padding: 0 20px;
}

@media (min-width: 481px) {
  div.contact_area .contact_contents p {
    padding: 0;
  }
}

/* footer
________________________________________________________*/
footer {
  width: 100%;
  color: #FFF;
}

footer div.footer_contents {
  width: 100%;
  height: auto;
}

footer div.footer_contents .footer_address {
  width: 100%;
  background: #69BE28;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_address .footer_address_tbl {
    display: table;
    margin: 0 auto 0;
    padding: 0px;
    width: 980px;
    height: 140px;
  }
}

footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company {
  padding: 25px 0;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company {
    display: table-cell;
  }
}

footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company img {
  margin-left: 20px;
  width: 70%;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company img {
    margin: 0;
    width: 380px;
  }
}

footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company span {
  display: block;
  font-size: 0.85rem;
  padding-left: 20px;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company span {
    font-size: 1rem;
    padding: 0;
  }
}

footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company .footer_address_tel {
  padding-left: 20px;
  font-size: 0.85rem;
  display: table;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company .footer_address_tel {
    font-size: 1rem;
    padding: 0;
  }
}

footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company .footer_address_tel li {
  display: table-cell;
  /*                &:after{
                                  content: '/';
                                  padding: 0 10px;
                                }*/
}

footer div.footer_contents .footer_address .footer_address_tbl .footer_address_company .footer_address_tel li:last-child:after {
  content: initial;
}

footer div.footer_contents .footer_address .footer_address_tbl .footer_address_menu {
  display: none;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_menu {
    display: table-cell;
    vertical-align: top;
    text-align: right;
  }
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_menu ul {
    height: 40px;
    margin-top: 25px;
    margin-left: auto;
    list-style: none;
    display: table;
  }
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_menu ul li {
    font-size: 0.8rem;
    line-height: 40px;
    display: table-cell;
  }
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_menu ul li a {
    color: #fff;
  }
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_menu ul li a:hover {
    opacity: 0.6;
  }
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_menu ul li:after {
    content: '/';
    padding: 0 10px;
  }
  footer div.footer_contents .footer_address .footer_address_tbl .footer_address_menu ul li:last-child:after {
    content: initial;
  }
}

footer div.footer_contents .footer_copyright {
  width: 100%;
  background: #4C4948;
  height: 60px;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_copyright .footer_copyright_tbl {
    display: table;
    margin: 0 auto 0;
    padding: 0px;
    width: 980px;
  }
}

footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_menu {
  padding-left: 10px;
  font-size: 0.7rem;
  height: 60px;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_menu {
    display: table-cell;
    vertical-align: middle;
  }
}

footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_menu .menu {
  line-height: 30px;
  height: 30px;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_menu .menu {
    float: right;
    clear: both;
    width: 380px;
    text-align: left;
  }
}

footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_menu .menu a {
  color: #fff;
}

footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_menu .menu a:hover {
  opacity: 0.6;
}

footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_menu .copyright_txt {
  text-align: right;
  padding-right: 10px;
  line-height: 30px;
  height: 30px;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_menu .copyright_txt {
    text-align: left;
    padding-left: 6px;
  }
}

footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_logo {
  display: none;
}

@media (min-width: 481px) {
  footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_logo {
    display: table-cell;
    vertical-align: middle;
    width: 255px;
    text-align: right;
  }
}

footer div.footer_contents .footer_copyright .footer_copyright_tbl .footer_copyright_logo img {
  vertical-align: top;
}

/* page top
________________________________________________________*/
#page_top {
  display: none;
  position: fixed;
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  z-index: 600;
}

@media (min-width: 481px) {
  #page_top {
    width: 70px;
    height: 70px;
  }
}

#page_top a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  background: rgba(77, 77, 79, 0.75);
  overflow: hidden;
}

#page_top a:after {
  position: absolute;
  content: '';
  width: 14px;
  height: 14px;
  top: 23px;
  left: 50%;
  margin-left: -5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media (min-width: 481px) {
  #page_top a:after {
    width: 20px;
    height: 20px;
    top: 31px;
    left: 50%;
    margin-left: -9px;
  }
}
