@charset "UTF-8";
/* Reset Style */
html {
  overflow-y: scroll; }

body {
  line-height: 1;
  color: #000; }

:target {
  scroll-margin-top:120px;
}


.swiper-wrapper { align-items: stretch!important; }
.swiper-slide { height: auto; }
.iR{text-align:right!important;}
.iC{text-align:center!important;}
.iL{text-align:left!important;}
.font60 {font-size: 60% !important ;}
.font70 {font-size: 70% !important ;}
.font80 {font-size: 80% !important ;}
.font90 {font-size: 90% !important ;}

.bold {font-weight: bold;}

/* html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com Twitter: @rich_clark */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul, ul, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* YUI 3.4.1 (build 4118) Copyright 2011 Yahoo! Inc. All rights reserved.
Licensed under the BSD License. http://yuilibrary.com/license/ */
body {
  font: 13px/1.231 arial,helvetica,clean,sans-serif;
  *font-size: small;
  *font: x-small; }

select, input, button, textarea {
  font: 99% arial,helvetica,clean,sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

pre, code, kbd, samp, tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%; }

.web_font, .ttl_style .en, .contact_area_style .tel_area dd .num, .contact_area_style .tel_area dd .time span, #footer small {
  font-family: 'General Sans', sans-serif; }

@keyframes flowing {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
.ttl_style {
  line-height: 1;
  margin-bottom: 6.25rem; }
  .ttl_style.white {
    color: #fff; }
    .ttl_style.white.icon_white .jp:before {
      border-color: #fff; }
  .ttl_style .jp {
    position: relative;
    font-weight: 700;
    display: block;
    padding-left: 1.25rem;
    margin-bottom: 1.25rem;
    letter-spacing: 0.1em; }
    .ttl_style .jp:before {
      display: block;
      content: '';
      width: 0.3125rem;
      height: 0.3125rem;
      border: 4px solid #cf121c;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate3d(0, -50%, 0);
      border-radius: 100px; }
  .ttl_style .en {
    font-size: 5.75rem;
    font-weight: 500; }

@media screen and (max-width: 736px) {

:target {
  scroll-margin-top:60px;
}

  .ttl_style {
    margin-bottom: 10.6666666667vw; }
    .ttl_style .jp {
      padding-left: 4.2666666667vw;
      margin-bottom: 2.6666666667vw; }
      .ttl_style .jp:before {
        width: 0.5333333333vw;
        height: 0.5333333333vw;
        border: 4px solid #cf121c; }
    .ttl_style .en {
      font-size: 13.3333333333vw; } }
.btn_style > a, .btn_style > span {
  display: flex;
  align-items: center;
  transition: all .2s 0s ease-in-out; }
.btn_style .icon {
  width: 3.25rem;
  height: 3.25rem;
  position: relative;
  background: #cf121c;
  display: block;
  border-radius: 0.5rem;
  margin-left: 1.25rem;
  transition: all .2s 0s ease-in-out; }
  .btn_style .icon:before {
    display: block;
    content: '';
    width: 0.75rem;
    height: 0.75rem;
    background: url("../images/icon_arrow_w.png") left top no-repeat;
    background-size: 0.75rem 0.75rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0); }
.btn_style:hover > a, .btn_style:hover > span {
  color: #cf121c !important; }
.btn_style:hover .icon {
  border-radius: 100px; }
.btn_style.white > a, .btn_style.white > span {
  color: #fff !important; }
.btn_style.white .icon {
  background: #fff; }
  .btn_style.white .icon:before {
    background: url("../images/icon_arrow_r.png") left top no-repeat;
    background-size: 0.75rem 0.75rem; }
.btn_style.mini .icon {
  width: 2.5rem;
  height: 2.5rem; }

@media screen and (max-width: 736px) {
  .btn_style .icon {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    border-radius: 1.0666666667vw;
    margin-left: 2.6666666667vw; }
    .btn_style .icon:before {
      width: 2.6666666667vw;
      height: 2.6666666667vw;
      background: url("../images/icon_arrow_w.png") left top no-repeat;
      background-size: 2.6666666667vw 2.6666666667vw; } }
.tag_style {
  line-height: 1;
  font-size: 0.75rem;
  background: #cf121c;
  border-radius: 100px;
  padding: 0.25rem 0.625rem;
  margin-right: 0.625rem;
  font-weight: 400;
  display: inline-block;
  color: #fff;
  margin-bottom: 0.625rem; }
  .tag_style.white {
    background: #fff;
    color: #cf121c; }

@media screen and (max-width: 736px) {
  .tag_style {
    font-size: 3.2vw;
    padding: 0.8vw 1.6vw;
    margin-right: 1.3333333333vw;
    margin-bottom: 1.3333333333vw; } }
.contact_area_style {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%; }
  .contact_area_style.bg {
    background: #f4f4f4;
    border-radius: 0.75rem; }
    .contact_area_style.bg .link_area li:before {
      background: rgba(34, 34, 34, 0.4); }
  .contact_area_style .tag {
    border-radius: 100px;
    font-size: 0.625rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 1.25rem;
    color: #cf121c;
    border: 1px solid #cf121c;
    line-height: 1;
    padding: 0.25rem 0.625rem; }
  .contact_area_style .tel_area {
    display: flex;
    align-items: center; }
    .contact_area_style .tel_area dt {
      font-size: 0.75rem;
      line-height: 1.4;
      margin-right: 1.25rem; }
    .contact_area_style .tel_area dd {
      position: relative;
      line-height: 1;
      margin-right: 2rem;
      transition: all .2s 0s ease-in-out; }
      .contact_area_style .tel_area dd:hover {
        color: #cf121c; }
      .contact_area_style .tel_area dd a {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 10; }
      .contact_area_style .tel_area dd .num {
        font-size: 2.125rem;
        margin-bottom: 0.25rem; }
      .contact_area_style .tel_area dd .time {
        font-size: 0.6875rem; }
        .contact_area_style .tel_area dd .time span {
          font-size: 0.8125rem; }
  .contact_area_style .link_area {
    display: flex; }
    .contact_area_style .link_area li {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 5rem;
      height: 5rem; }
      .contact_area_style .link_area li:hover img {
        opacity: 0.6; }
      .contact_area_style .link_area li:before {
        display: block;
        content: '';
        width: 1px;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0.2; }
      .contact_area_style .link_area li a {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 10; }
      .contact_area_style .link_area li img {
        transition: opacity .2s 0s ease-in-out; }
      .contact_area_style .link_area li:nth-of-type(1) img {
        width: 1.375rem;
        height: auto; }
      .contact_area_style .link_area li:nth-of-type(2) img {
        width: 1.5rem;
        height: auto; }

@media screen and (max-width: 736px) {
  .contact_area_style {
    height: 100%;
    position: relative; }
    .contact_area_style.bg {
      border-radius: 1.6vw; }
      .contact_area_style.bg .link_area li:before {
        background: rgba(34, 34, 34, 0.4); }
      .contact_area_style.bg.tag_on .tag {
        width: calc(100% - 5.3333333333vw);
        left: 2.6666666667vw; }
    .contact_area_style.tag_on {
      padding-top: 8vw; }
    .contact_area_style .tag {
      font-size: 3.2vw;
      margin-right: 0;
      padding: 0.5333333333vw 1.3333333333vw;
      position: absolute;
      width: 100%;
      top: 2.6666666667vw;
      box-sizing: border-box; }
    .contact_area_style .tel_area {
      display: flex;
      align-items: center; }
      .contact_area_style .tel_area dt {
        font-size: 2.6666666667vw;
        margin-right: 2.1333333333vw; }
      .contact_area_style .tel_area dd {
        margin-right: 2.6666666667vw; }
        .contact_area_style .tel_area dd .num {
          font-size: 5.8666666667vw;
          margin-bottom: 0.8vw; }
        .contact_area_style .tel_area dd .time {
          font-size: 2.6666666667vw; }
          .contact_area_style .tel_area dd .time span {
            font-size: 3.2vw; }
    .contact_area_style .link_area {
      display: flex; }
      .contact_area_style .link_area li {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 12.2666666667vw;
        height: 10.6666666667vw; }
        .contact_area_style .link_area li:before {
          width: 1px;
          height: 100%; }
        .contact_area_style .link_area li:nth-of-type(1) img {
          width: 4vw; }
        .contact_area_style .link_area li:nth-of-type(2) img {
          width: 4.2666666667vw; } }
.bg_white {
  background: #fff;
  position: relative; }
  .bg_white.top_only {
    border-radius: 0 0 1.25rem 1.25rem; }
    .bg_white.top_only:after {
      display: none; }
  .bg_white:before, .bg_white:after {
    display: block;
    content: '';
    width: 100%;
    height: 1.25rem;
    background: #fff;
    position: absolute;
    left: 0; }
  .bg_white:before {
    top: -1.25rem;
    border-radius: 1.25rem 1.25rem 0 0; }
  .bg_white:after {
    bottom: -1.25rem;
    border-radius: 0 0 1.25rem 1.25rem; }

.bg_red {
  background: #bd0711;
  position: relative; }
  .bg_red.top_only {
    border-radius: 0 0 1.25rem 1.25rem; }
    .bg_red.top_only:after {
      display: none; }
  .bg_red:before, .bg_red:after {
    display: block;
    content: '';
    width: 100%;
    height: 1.25rem;
    background: #bd0711;
    position: absolute;
    left: 0; }
  .bg_red:before {
    top: -1.25rem;
    border-radius: 1.25rem 1.25rem 0 0; }
  .bg_red:after {
    bottom: -1.25rem;
    border-radius: 0 0 1.25rem 1.25rem; }

/*------------------------------------------------------------
共通
------------------------------------------------------------*/
* .none {
  display: none; }

html {
  font-size: calc(16 / 1440 * 100vw); }

@media screen and (min-width: 1440px) {
  html {
    font-size: 16px; } }
@media screen and (max-width: 736px) {
  html {
    font-size: 62.5%; } }
body {
  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans JP", sans-serif, "Droid Sans", "游ゴシック体", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 2;
  color: #3f3f3f;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  background: #f4f4f4;
  word-break: break-all;
  font-optical-sizing: auto;
  font-style: normal; }

@media screen and (max-width: 736px) {
  body {
    font-size: 3.4666666667vw;
    letter-spacing: 0.05em; } }
/*------------------------------------------------------------
共通クラス
------------------------------------------------------------*/
.pc {
  display: block; }

.sp {
  display: none; }

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

  .sp {
    display: block; } }
.inner {
  width: 80rem;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  overflow: hidden; }
  .inner.vis {
    overflow: visible; }

.inner2 {
  width: 100%;
  max-width: 1260px;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative; }

@media screen and (max-width: 736px) {
  .inner, .inner2 {
    max-width: none;
    width: 100%;
    padding: 0 5.3333333333vw; } }
/*------------------------------------------------------------
ラッパー
------------------------------------------------------------*/
#wrapper {
  position: relative;
  margin: 0 auto; }
  #wrapper a {
    color: #3f3f3f;
    text-decoration: none; }
    #wrapper a:hover {
      text-decoration: none;
      color: #3f3f3f; }
	  
	  

@media screen and (max-width: 960px) {
  #wrapper {
    width: 100%; } }
/*------------------------------------------------------------
#header
------------------------------------------------------------*/
#header {
  position: fixed;
  width: 100%;
  z-index: 1000;
  top: 0;
  left: 0;
  color: #fff;
  transition: all .2s 0s ease-in-out; }
  #header a {
    color: #fff; }
  #header div.top_area div.left h1 a:hover{
	color: #fff;
  }
  #header.fixed div.top_area div.left h1 a:hover{
	color: #3f3f3f;
  }
  #header .top_area {
    height: 5rem;
    position: relative;
    transition: all .2s 0s ease-in-out; }
    #header .top_area:before {
      display: block;
      content: '';
      width: 100%;
      height: 1px;
      background: #fff;
      position: absolute;
      bottom: 0;
      left: 0;
      opacity: 0.2; }
    #header .top_area .inner {
      height: 100%; }
    #header .top_area .wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 100%; }
    #header .top_area .left {
      display: flex;
      align-items: center;
      height: 100%; }
      #header .top_area .left .logo {
        margin-right: 1.875rem;
        position: relative;
        height: 100%;
        display: flex;
        align-items: center;
        padding: 0 0.625rem; }
        #header .top_area .left .logo img {
          width: 6.125rem;
          height: auto; }
        #header .top_area .left .logo:before {
          display: block;
          content: '';
          width: 100%;
          height: 1px;
          background: #cf121c;
          position: absolute;
          bottom: 0;
          left: 0;
          opacity: 1; }
      #header .top_area .left .txt {
        font-size: 0.85rem;
        margin-right: 1.875rem;
        line-height: 1.4; }
      #header .top_area .left .tag {
        display: flex; }
        #header .top_area .left .tag li {
          font-size: 0.825rem;
          border: 1px solid #fff;
          border-radius: 100px;
          padding: 0.0625rem 0.625rem;
          margin-right: 0.625rem;
		  }
        #header .top_area .left .tag li span.pc {
			display: inline;
		}
#header .top_area .right {
      height: 100%; }
      #header .top_area .right .contact_area_style .tel_area dd .num {
        font-size: 1.75rem; }
      #header .top_area .right .contact_area_style .link_area li {
        transition: all .2s 0s ease-in-out; }
        #header .top_area .right .contact_area_style .link_area li img:nth-of-type(2) {
          display: none; }
  #header .bottom_area {
    transition: all .2s 0s ease-in-out;
    height: 3.625rem;
    position: relative;
    display: flex;
    align-items: center;
    line-height: 1; }
    #header .bottom_area:before {
      display: block;
      content: '';
      width: 100%;
      height: 1px;
      background: #fff;
      position: absolute;
      bottom: 0;
      left: 0;
      opacity: 0.2; }
    #header .bottom_area nav {
      width: 80rem; }
      #header .bottom_area nav ul {
        display: flex;
        justify-content: space-between; }
        #header .bottom_area nav ul li {
          position: relative;
          font-size: 0.875rem; }
          #header .bottom_area nav ul li:last-child:before {
            display: none; }
          #header .bottom_area nav ul li:before {
            display: block;
            content: '';
            width: 1px;
            height: 1rem;
            background: #fff;
            position: absolute;
            top: 50%;
            right: -1.475rem;
            transform: translate3d(0, -50%, 0);
            opacity: 0.4; }
          #header .bottom_area nav ul li:hover a {
            color: #cf121c; }
		  #header .bottom_area nav ul li a{ padding:1rem 0; display:inline-block;} 
  #header #nav-toggle {
    display: none; }
  #header.fixed {
    background: #fff;
    color: #3f3f3f; }
    #header.fixed a {
      color: #3f3f3f; }
    #header.fixed .top_area {
      height: 4.25rem; }
      #header.fixed .top_area:before {
        background: rgba(34, 34, 34, 0.1);
        opacity: 1; }
      #header.fixed .top_area .left .tag li {
        border-color: #cf121c;
        color: #cf121c; }

      #header.fixed .top_area .right .contact_area_style .link_area li {
        height: 4.25rem; }
        #header.fixed .top_area .right .contact_area_style .link_area li:before {
          background: rgba(34, 34, 34, 0.1);
          opacity: 1; }
        #header.fixed .top_area .right .contact_area_style .link_area li img:nth-of-type(1) {
          display: none; }
        #header.fixed .top_area .right .contact_area_style .link_area li img:nth-of-type(2) {
          display: block; }
    #header.fixed .bottom_area {
      height: 3rem; }
      #header.fixed .bottom_area nav ul li:before {
        background: rgba(34, 34, 34, 0.1);
        opacity: 1; }

@media screen and (max-width: 736px) {
  #header {
    /*-----------スマホのトグルボタンのCSS-------------*/ }
    #header .top_area {
      height: 13.3333333333vw; }
      #header .top_area .left {
        display: flex;
        align-items: center;
        height: 100%; }
        #header .top_area .left .logo {
          margin-right: 2.3333333333vw;
          padding: 0 1.3333333333vw; }
          #header .top_area .left .logo img {
            width: 18.6666666667vw; }
        #header .top_area .left .txt {
          font-size: 2.7vw;
          margin-right: 4vw;
          line-height: 1.4; }
        #header .top_area .left .tag {
          /* display: none; */
		  flex-wrap: wrap;
          position: absolute;
          top: 2.2vw;
          z-index: 20;
          left: 59.3%;
          gap: 0.6vw;
          /* transform: translate3d(-50%, 0, 0); */ }
          #header .top_area .left .tag li {
            font-size: 2.7333333333vw;
            padding: 0.5vw 1.466667vw;
            margin-right: 1.3333333333vw;
            line-height: 1;

            white-space: nowrap; }
		    #header .top_area .left .tag li span.pc {
			display: none;
		}		

      #header .top_area .right {
        display: none;
        height: 100%; }
        #header .top_area .right .contact_area_style {
          height: 17.3333333333vw;
          padding-top: 0;
          width: 100%;
          position: absolute;
          top: 13.3333333333vw;
          left: 0;
          background: #f4f4f4;
          color: #3f3f3f; }
          #header .top_area .right .contact_area_style .tel_area dd {
            margin-right: 5.3333333333vw; }
            #header .top_area .right .contact_area_style .tel_area dd .num {
              font-size: 6.4vw; }
          #header .top_area .right .contact_area_style .link_area li {
            height: 10.6666666667vw;
            width: 13.3333333333vw; }
            #header .top_area .right .contact_area_style .link_area li:before {
              background: rgba(34, 34, 34, 0.1);
              opacity: 1; }
            #header .top_area .right .contact_area_style .link_area li img:nth-of-type(1) {
              display: none; }
            #header .top_area .right .contact_area_style .link_area li img:nth-of-type(2) {
              display: block; }
    #header .bottom_area {
      display: none;
      height: auto; }
      #header .bottom_area nav {
        width: 100%;
        padding-top: 18vw; }
        #header .bottom_area nav ul {
          display: block; }
          #header .bottom_area nav ul li {
            font-size: 3.4666666667vw;
            margin-bottom: 0;
            padding: 0;
            line-height: 1; }
            #header .bottom_area nav ul li a {
              width: 100%;
              height: 100%;
              display: flex;
              padding: 4.2666666667vw 0;
              box-sizing: border-box; }
            #header .bottom_area nav ul li:last-child:before {
              display: none; }
            #header .bottom_area nav ul li:before {
              width: 100%;
              height: 1px;
              background: rgba(34, 34, 34, 0.1);
              opacity: 1;
              left: 0;
              right: auto;
              top: auto;
              bottom: 0;
              transform: translate3d(0, 0, 0); }
    #header #nav-toggle {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      right: 0;
      top: 0;
      width: 13.3333333333vw;
      height: 13.3333333333vw;
      cursor: pointer;
      z-index: 101; }
      #header #nav-toggle:before {
        display: block;
        content: '';
        width: 1px;
        height: 100%;
        background: #fff;
        position: absolute;
        bottom: 0;
        left: 0;
        opacity: 0.2; }
      #header #nav-toggle .line {
        position: relative;
        width: 5.3333333333vw;
        height: 4.5333333333vw; }
        #header #nav-toggle .line span {
          display: block;
          position: absolute;
          height: 2px;
          width: 100%;
          background: #fff;
          border-radius: 100px;
          left: 0;
          -webkit-transition: .35s ease-in-out;
          -moz-transition: .35s ease-in-out;
          transition: .35s ease-in-out; }
          #header #nav-toggle .line span:nth-child(1) {
            top: 0; }
          #header #nav-toggle .line span:nth-child(2) {
            top: 1.8666666667vw; }
          #header #nav-toggle .line span:nth-child(3) {
            top: 3.7333333333vw; }
    #header.open {
      background: #fff;
      color: #3f3f3f;
      height: 100%;
      overflow-y: scroll; }
      #header.open a {
        color: #3f3f3f; }
      /* #header.open .top_area .left .tag {
        display: flex; }*/
      #header.open .top_area .right {
        display: block; }
      #header.open .bottom_area {
        display: block; }
      #header.open #nav-toggle:before {
        background: rgba(34, 34, 34, 0.1);
        opacity: 1; }
      #header.open #nav-toggle .line span {
        background: #cf121c; }
        #header.open #nav-toggle .line span:nth-child(1) {
          top: 1.4666666667vw;
          -webkit-transform: rotate(45deg);
          -moz-transform: rotate(45deg);
          transform: rotate(45deg); }
        #header.open #nav-toggle .line span:nth-child(2) {
          width: 0;
          left: 50%; }
        #header.open #nav-toggle .line span:nth-child(3) {
          top: 1.4666666667vw;
          -webkit-transform: rotate(-45deg);
          -moz-transform: rotate(-45deg);
          transform: rotate(-45deg); }
    #header.fixed .top_area {
      height: 13.3333333333vw; }
      #header.fixed .top_area .right .contact_area_style .link_area li {
        height: 13.3333333333vw; }
    #header.fixed .bottom_area {
      height: auto; }
    #header.fixed #nav-toggle:before {
      background: rgba(34, 34, 34, 0.1);
      opacity: 1; }
    #header.fixed #nav-toggle .line span {
      background: #cf121c; } }
/*------------------------------------------------------------
#footer
------------------------------------------------------------*/
#footer {
  background: #363636;
  color: #fff;
  padding-bottom: 2.75rem; }
  #footer a {
    color: #fff; }
  #footer div.bottom_area div.right p.txt a:hover{
	color: #fff;
  }
  #footer .top_area {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
    #footer .top_area .contact_area_style {
      justify-content: center;
      height: 10rem; }
      #footer .top_area .contact_area_style .tag {
        font-size: 0.75rem;
        margin-right: 1.25rem;
        color: #fff;
        border: 1px solid #fff;
        padding: 0.5rem 0.625rem; }
      #footer .top_area .contact_area_style .tel_area dt {
        font-size: 0.875rem; }
      #footer .top_area .contact_area_style .tel_area .num {
        font-size: 2.75rem; }
      #footer .top_area .contact_area_style .link_area li {
        height: 3.75rem; }
  #footer .bottom_area {
    padding: 5rem 0 6.25rem; }
    #footer .bottom_area .wrap {
      display: flex;
      justify-content: space-between; }
      #footer .bottom_area .wrap .left {
        display: flex;
        font-size: 0.9375rem; }
        #footer .bottom_area .wrap .left ul {
          margin-right: 3.25rem; }
          #footer .bottom_area .wrap .left ul li a:hover {
            color: #fff;
            text-decoration: underline; }
      #footer .bottom_area .wrap .right {
        text-align: right; }
        #footer .bottom_area .wrap .right .logo {
          margin-bottom: 1.25rem; }
          #footer .bottom_area .wrap .right .logo img {
            width: 6.125rem;
            height: auto; }
        #footer .bottom_area .wrap .right .txt {
          text-align: right;
          font-size: 0.8125rem;
          line-height: 1.7; }
  #footer small {
    display: block;
    text-align: center;
    font-size: 0.6875rem; }

@media screen and (max-width: 736px) {
  #footer {
    padding-bottom: 5.8666666667vw; }
    #footer .top_area {
      padding: 5.3333333333vw 0; }
      #footer .top_area .contact_area_style {
        height: 18.6666666667vw; }
		
        #footer #footerFixedBanner.fixed {
			position: fixed;
			bottom: 0;
			background: #363636;
			z-index: 9999;
			width:100%;
			height: 12.266667vw;
			padding-top: 0;
			  transition: all .2s 0s ease-in-out;
		}
		
        #footer .top_area .contact_area_style .tag {
          font-size: 3.2vw;
          margin-right: 0;
          padding: 1.0666666667vw 1.3333333333vw; }
         #footer #footerFixedBanner.fixed .tag {
			 display: none;
		 }

        #footer .top_area .contact_area_style .tel_area dt {
          font-size: 2.6666666667vw; }
        #footer .top_area .contact_area_style .tel_area .num {
          font-size: 5.8666666667vw; }
        #footer .top_area .contact_area_style .link_area li {
          height: 10.6666666667vw; }
    #footer .bottom_area {
      padding: 10.6666666667vw 0 13.3333333333vw; }
      #footer .bottom_area .wrap {
        display: block;
        justify-content: space-between; }
        #footer .bottom_area .wrap .left {
          display: block;
          font-size: 3.4666666667vw;
          margin-bottom: 8vw; }
          #footer .bottom_area .wrap .left ul {
            margin-right: 0; }
            #footer .bottom_area .wrap .left ul li {
              position: relative;
              padding: 2.6666666667vw 0; }
              #footer .bottom_area .wrap .left ul li:before {
                display: block;
                content: '';
                width: 100%;
                height: 1px;
                background: #fff;
                position: absolute;
                bottom: 0;
                left: 0;
                opacity: 0.2; }
        #footer .bottom_area .wrap .right {
          text-align: left; }
          #footer .bottom_area .wrap .right .logo {
            margin-bottom: 2.6666666667vw; }
            #footer .bottom_area .wrap .right .logo img {
              width: 21.3333333333vw;
              height: auto; }
          #footer .bottom_area .wrap .right .txt {
            text-align: left;
            font-size: 3.2vw; }
    #footer small {
      font-size: 2.6666666667vw; } }
