@charset "UTF-8";
/*! Writen		by SCSS */
/* ===================================================================
CSS information
 file name : default.css
 style info : 基本スタイル指定
=================================================================== */
html {
  position: relative; }

body {
  position: relative;
  font-family: YakuHanMP, "Noto Serif JP","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝体", "Yu Mincho", YuMincho, "HG明朝B", serif;
  letter-spacing: .1em;
  background: #fff;
  color: #333;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  width: 100%;
  height: auto;
  margin: auto;
  -webkit-transition: all .5s ease;
  transition: all .5s ease; }

.gothic {
  font-family: 'Noto Sans JP', "游ゴシック", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif; }

.en {
  font-family: "EB Garamond","Noto Serif JP","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝体", "Yu Mincho", YuMincho, "HG明朝B", serif; }

main {
  position: relative;
  display: block;
  overflow: hidden;
  margin-top: 187px; }

section {
  position: relative; }

.button_arrow {
  aspect-ratio: 1 / 1;
  line-height: 0; }

header {
  position: fixed;
  z-index: 9999;
  top: 0;
  width: 100%;
  background: #f4f4f4;
  height: 90px; }
  @media screen and (max-width: 767px) {
    header {
      height: 80px; } }

header .headerWrap {
  position: relative;
  overflow: hidden;
  max-width: 1170px;
  margin: 0 auto;
  box-sizing: content-box;
  -webkit-transition: all .5s ease;
  transition: all .5s ease; }
  @media screen and (max-width: 767px) {
    header .headerWrap {
      box-sizing: border-box;
      max-width: 100%;
      width: 100%; }
      header .headerWrap .nav_pc {
        display: none; } }
  @media not screen, screen and (min-width: 768px) {
    header .headerWrap .nav_sp {
      display: none; } }

.iconWrap {
  padding: 15px 1%;
  display: inline-block;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  position: relative; }

.header_nav_wrap {
  position: absolute;
  width: fit-content;
  right: 20px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0 1.7%; }

.subWrap {
  display: flex;
  column-gap: 15px;
  font-size: 14px;
  flex-shrink: 0; }
  @media screen and (max-width: 960px) {
    .subWrap {
      display: none; } }
  .subWrap li a {
    color: #333;
    text-decoration: none;
    letter-spacing: 0;
    padding: 0.5em 10px;
    color: #fff;
    background: #333;
    border: 1px solid #333;
    transition: opacity 0.3s ease-in-out; }
    .subWrap li a:hover {
      opacity: 0.7; }

.header_nav_button {
  width: 23.12em;
  font-size: clamp(12px, 1.33vw, 16px);
  display: flex;
  gap: 0.62em; }
  @media screen and (max-width: 767px) {
    .header_nav_button {
      position: fixed;
      z-index: 9999;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      gap: 0;
      transform: translateY(100%);
      transition: transform 0.3s ease-in-out; }
      .is_scroll .header_nav_button {
        transform: translateY(0); } }
  .header_nav_button .head_cv_button {
    width: 48.65%; }
    .header_nav_button .head_cv_button a {
      padding: 0.5em;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5em;
      box-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
      transition: opacity 0.3s ease-in-out; }
      @media (hover: hover) {
        .header_nav_button .head_cv_button a:hover {
          opacity: 0.7; } }
      .header_nav_button .head_cv_button a::before {
        inset: -1px; }
      .header_nav_button .head_cv_button a img {
        width: 1em; }
  @media screen and (max-width: 767px) {
    .header_nav_button .sp_nav_item {
      width: calc(100% / 3);
      height: 100px; }
      .header_nav_button .sp_nav_item a {
        padding: 1em 0.2em;
        width: 100%;
        height: 100%;
        font-size: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 1em;
        background: #fff;
        border-right: 1px solid #666; }
        .header_nav_button .sp_nav_item a .text {
          font-size: 1em;
          line-height: 1;
          margin-top: 0;
          margin-bottom: 0;
          color: #666; }
        .header_nav_button .sp_nav_item a .icon {
          width: 2.85em;
          line-height: 0;
          margin: auto; }
        .header_nav_button .sp_nav_item a.sp_map .icon {
          width: 2.14em; }
        .header_nav_button .sp_nav_item a.sp_res .text, .header_nav_button .sp_nav_item a.sp_inq .text {
          color: #d17830; } }

nav {
  background: #2b080e;
  width: 100%; }

header nav {
  position: absolute;
  top: 90px;
  left: 0;
  z-index: 10000; }

header nav ul.mainNav,
footer nav ul.mainNav {
  display: flex;
  max-width: 1200px;
  margin: 0 auto; }

header nav ul.subNav,
footer nav ul.subNav {
  text-align: center; }

header nav li,
footer nav li {
  position: relative;
  display: inline-block; }

header nav li:last-child {
  border: none; }

header nav ul.mainNav li,
footer nav ul.mainNav li {
  width: calc(200/1200*100%); }

header nav ul.mainNav li.shortTtl,
footer nav ul.mainNav li.shortTtl {
  width: calc(170/1200*100%); }

header nav ul.mainNav li.longTtl,
footer nav ul.mainNav li.longTtl {
  width: calc(270/1200*100%); }

header nav ul.mainNav li a:hover,
footer nav ul.mainNav li a:hover,
header nav ul.mainNav li a.is-current,
footer nav ul.mainNav li a.is-current,
header nav ul.subNav li a:hover,
footer nav ul.subNav li a:hover,
header nav ul.subNav li a.is-current,
footer nav ul.subNav li a.is-current {
  background-color: #63252f; }

header nav ul.mainNav li.cs a:hover,
footer nav ul.mainNav li.cs a:hover {
  background-color: inherit; }

header nav ul.mainNav li + li::after,
footer nav ul.mainNav li + li::after {
  content: "";
  width: 1px;
  border-left: 1px solid white;
  position: absolute;
  left: 0;
  top: 30%;
  bottom: 0;
  height: 25px; }

header nav ul.subNav li::after,
footer nav ul.subNav li::after {
  content: "";
  position: absolute;
  top: 32%;
  left: -13px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #aaa;
  border-left: 1px solid #aaa;
  -webkit-transform: rotate(-45deg);
  transform: rotate(135deg);
  z-index: 400; }

header nav li a,
footer nav li a {
  display: flex;
  padding: 7px 5px;
  padding: 0 0.3em;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  transition: all .18s ease-out;
  color: #fff;
  font-size: 0.86em;
  font-size: 13px;
  letter-spacing: .02em;
  position: relative;
  min-height: 60px;
  height: 50px; }

header nav li.conceptPage a span,
footer nav li.conceptPage a span,
header nav li.brandPage a span,
footer nav li.brandPage a span,
header nav li.dataPage a span,
footer nav li.dataPage a span {
  text-align: center; }

/*newaアイコン追加時*/
header nav li.conceptPage a span small,
footer nav li.conceptPage a span small,
header nav li.brandPage a span small,
footer nav li.brandPage a span small {
  display: block;
  font-size: 0.8rem;
  letter-spacing: -1px; }

@media only screen and (min-width: 767px) {
  header nav li a,
  footer nav li a {
    min-height: 50px;
    height: 50px; } }
@media only screen and (max-width: 768px) {
  header nav li a,
  footer nav li a {
    height: 100%;
    font-size: 1vw; } }
header nav ul.subNav li a {
  height: 50px; }

header nav ul.subNav li a,
footer nav ul.subNav li a {
  min-height: auto;
  font-size: 18px;
  padding: 13px 5px 18px 5px;
  margin-right: 40px; }

body.fontSize_large header nav li a,
body.fontSize_large footer nav li a {
  font-size: 0.77em; }

body.fontSize_large header nav li.conceptPage a,
body.fontSize_large footer nav li.conceptPage a {
  font-size: 13.6px; }

body.fontSize_large header nav ul.subNav li a,
body.fontSize_large footer nav ul.subNav li a {
  font-size: 1em; }

header .noticeArea {
  background: #f1f1f1;
  padding: 3px 10px; }

header .noticeArea p {
  font-size: 12px;
  margin-bottom: 0;
  text-align: center;
  font-weight: bold; }

header .noticeArea p span {
  display: inline-block;
  border: 1px solid #000;
  padding: 0 5px;
  margin-right: 10px;
  font-weight: bold; }

header .noticeArea p span br {
  display: none; }

footer {
  position: relative;
  overflow: hidden; }

footer .container {
  padding: 35px 10px 15px; }

footer p {
  font-size: .95em;
  line-height: 1.8;
  margin-bottom: 10px; }

footer .footer_tel {
  text-align: center; }

footer .phone span {
  line-height: 1;
  margin-right: 10px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.21em;
  line-height: 1; }

footer .phoneNumber {
  font-size: 3.1em;
  margin-bottom: 0.6em; }

footer .phoneNumber img {
  vertical-align: baseline; }

footer .phone span::before {
  content: "";
  display: block;
  line-height: 0;
  width: 1em;
  height: 0.57em;
  background: url("../../img/elements/footer/icon_freedial.svg") center/contain no-repeat; }

footer p.contactHdd {
  margin-bottom: 5px; }

footer p.f-logo {
  font-size: 0.625em;
  margin-bottom: 0; }

footer .footer-copyright {
  text-align: center;
  font-size: 0.6em;
  padding: 30px 0 0; }

footer .f-logoWrap {
  text-align: center; }

footer .f-logo {
  max-width: 295px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px; }

footer .f-logo p {
  font-size: 12px; }

@media only screen and (max-width: 1040px) {
  .hdrBtns .phone {
    font-size: 0.7rem; }

  .hdrBtns .phone span {
    font-size: 2.8rem; } }
@media only screen and (max-width: 992px) {
  footer .f-logoWrap {
    max-width: 100%;
    float: none; } }
@media only screen and (max-width: 767px) {
  /*html.is_scroll header .headerWrap {
  	height: 0 !important;
  }
  html.is_scroll .iconWrap {
  	top: -100px;
  	height: 0 !important;
  }*/
  footer ul {
    position: relative;
    width: 100%; }

  footer ul li {
    width: 50%;
    border-right: 1px rgba(255, 255, 255, 0.13) solid;
    border-bottom: 1px rgba(255, 255, 255, 0.13) solid; }

  footer ul li a {
    width: 100%;
    padding: 27px 30px 21px 30px;
    -ms-flex-pack: end; } }
@media only screen and (max-width: 991px) {
  footer .f-logo {
    margin-top: 20px; } }
@media only screen and (max-width: 414px) {
  footer .phone {
    padding-left: 0; }

  footer .phone span.view_timer {
    width: 100%;
    bottom: 30px; }

  footer .f-phoneArea .phone {
    margin-bottom: 20px; }

  body.fontSize_large header nav li a {
    font-size: 1em;
    padding: 0 0.4em; }

  footer ul li a {
    padding: 27px 25px 21px 25px; }

  footer .contactWrap .col-md-8 {
    padding-right: 0;
    padding-left: 0; }

  footer p {
    font-size: 0.9em;
    letter-spacing: 0;
    font-size: 3.37vw; }

  header .noticeArea {
    overflow: hidden;
    height: 55px; }

  header .noticeArea p {
    line-height: 1.4;
    text-align: left;
    font-size: 10px; }

  header .noticeArea p span {
    padding: 10px 5px;
    float: left; }

  header .noticeArea p span br {
    display: block; } }
header nav li.planPage:before {
  content: "NEW";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  color: #fff;
  background: #bc121a;
  font-size: 10px;
  padding: 2px 5px;
  letter-spacing: 0; }

.spOnlyNav .voicePage {
  position: relative; }
  .spOnlyNav .voicePage::before {
    content: "NEW";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    color: #fff;
    background: #bc121a;
    font-size: 10px;
    padding: 2px 5px;
    letter-spacing: 0; }

@media only screen and (max-width: 767px) {
  .spOnlyNav nav ul li {
    position: relative; }

  .spOnlyNav .spOnlyNav_special .voicePage,
  .spOnlyNav .spOnlyNav_special .dataPage {
    position: relative; }

  .spOnlyNav nav ul li.planPage:before {
    content: "NEW";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    color: #fff;
    background: #bc121a;
    font-size: 10px;
    padding: 2px 5px; }

  html.is_scroll header .noticeArea {
    height: 0 !important; } }
img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: top; }

figure {
  position: relative; }

figcaption:not(.img-caps) {
  margin: 5px 0; }

.img-caps {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: .8em;
  line-height: 1.2;
  padding: 5px;
  color: #fff; }

.img-caps.left {
  right: auto;
  left: 0; }

.img-caps.with-bg {
  background: rgba(0, 0, 0, 0.6); }

.img-caps.black {
  color: #333; }

h1 {
  float: left;
  width: 230px; }

h2 {
  font-size: 26px;
  color: #333;
  text-align: center;
  margin-bottom: 30px;
  line-height: 1.8; }

h3 {
  position: relative;
  font-size: 32px;
  color: #8c8861;
  color: #787953;
  margin-bottom: 20px;
  line-height: 1.6; }

h4 {
  font-size: 1.5em;
  color: #8c8861;
  text-align: center;
  margin-bottom: 25px; }

h5 {
  font-size: 1.4em;
  line-height: 1.3;
  color: #787953;
  margin-bottom: 10px; }

p {
  color: #333;
  font-size: 1.1em;
  line-height: 2.2;
  margin-bottom: 15px; }

sup {
  vertical-align: super;
  font-size: 10px; }

sub {
  vertical-align: sub;
  font-size: 10px; }

big {
  font-size: 1.4em; }

.caption {
  font-size: .9em;
  line-height: 1.4; }

a {
  text-decoration: none; }

.cs a {
  color: #4F4949;
  cursor: default; }

@media only screen and (max-width: 768px) {
  h1 {
    width: 200px; } }
@media only screen and (max-width: 767px) {
  .img-caps.left {
    right: 0;
    left: auto; } }
@media only screen and (max-width: 414px) {
  body.fontSize_large .img-caps {
    font-size: .6em; } }
/*NEWアイコン*/
.new a::after {
  content: "NEW";
  background: #65574a;
  color: #fff;
  padding: 2px 2px 2px 3px;
  font-size: 10px;
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
  letter-spacing: .02em; }

/* pageTopBtn
--------------------------------------------------------------------------------*/
#pageTopBtn {
  opacity: 0;
  visibility: hidden;
  display: block;
  position: fixed;
  bottom: 84px;
  right: 10px;
  z-index: 1000;
  font-size: 14px;
  text-align: center;
  line-height: 55px;
  color: #fff;
  height: 55px;
  width: 55px;
  background: #2b080e;
  border: #fff solid 1px;
  -webkit-transition: all .5s ease;
  transition: all .5s ease; }

html.is_scroll #pageTopBtn {
  opacity: 1;
  visibility: visible; }

@media only screen and (max-width: 1230px) {
  #pageTopBtn {
    bottom: 145px; } }
@media only screen and (max-width: 991px) {
  .hdrBtns {
    right: -1%; }

  footer .contactWrap {
    text-align: center; }

  footer .container {
    padding: 20px 10px 15px; } }
@media only screen and (min-width: 961px) {
  header nav ul.subNav {
    display: none; } }
@media only screen and (max-width: 767px) {
  h1 {
    float: none;
    margin: 0 auto;
    width: 230px; }

  h2 {
    font-size: 24px;
    line-height: 1.6; }

  h3 {
    font-size: 22px;
    line-height: 1.5; }

  p {
    font-size: .9rem;
    font-size: .9em;
    line-height: 2; }

  .conts-ttl p {
    font-size: 1.3rem; }

  .hdrBtns {
    top: 15px;
    right: 15px;
    position: fixed;
    width: 50px;
    height: 50px;
    z-index: 9999;
    color: #333;
    -webkit-transition: all .5s ease;
    transition: all .5s ease; }

  .hdrBtns .map-btn.linkBtn img {
    bottom: -45px;
    right: -8px;
    width: 40%; }

  .hdrBtns .outline-btn.linkBtn img {
    bottom: -45px;
    right: -8px;
    width: 40%; }

  .hdrBtns li {
    margin-right: 0;
    width: 50%; }

  .hdrBtns li.f-attendance {
    width: 40%;
    display: none; }

  .hdrBtns li.f-req {
    width: 50%; }

  .hdrBtns li:nth-of-type(2) {
    border-right: 1px solid #fff; }

  .hdrBtns a.linkBtn.attendance {
    padding: 15px 5px;
    max-width: 100%; }

  .hdrBtns a.linkBtn small {
    margin-bottom: 5px; }

  .hdrBtns a.linkBtn.attendance div {
    position: relative; }

  .tell-btn.linkBtn::after {
    top: 73%; }

  .hdrBtns .linkBtn img {
    bottom: -10px;
    right: -15px;
    width: 40%; }

  .hdrBtns .tell-btn.linkBtn img {
    bottom: -15px;
    right: 7px;
    width: 34%; }

  .hdrBtns .map-btn.linkBtn img {
    top: 8px;
    bottom: inherit;
    right: inherit;
    width: 60%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }

  .hdrBtns .map-btn.linkBtn img,
  .hdrBtns .outline-btn.linkBtn img {
    top: 6px;
    bottom: inherit;
    right: inherit;
    width: 32%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }

  .hdrBtns .outline-btn.linkBtn img {
    top: 9px; }

  header nav ul.mainNav {
    opacity: 0; }

  header nav ul.start-slideIn {
    animation: slideIn 1.1s ease-in-out 0s forwards; }

  .nav-wrap {
    position: relative; }

  .scroll-nav {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }

  .scroll-nav ul {
    min-width: 1520px;
    padding-right: 3%;
    padding-left: 20%; }

  .scroll-nav ul li {
    float: left; }

  .scroll-nav ul li:hover {
    background: #222; }

  .scroll-nav ul li a {
    font-size: 1rem; }

  .menuName-btn {
    position: absolute;
    top: 0;
    left: 0;
    width: 20%;
    height: 60px;
    line-height: 60px;
    padding: 0 1.6%;
    background: #2b080e;
    color: #fff;
    border-right: 1px solid #616161; }

  .next-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 60px;
    line-height: 60px;
    padding-left: 4px;
    background: #2b080e;
    color: #fff; }

  footer .container {
    padding: 20px 10px 150px; }

  footer .phoneNumber {
    font-size: 3rem;
    font-size: 2.8rem;
    font-weight: 700; }

  footer .toCall {
    display: block;
    margin: 20px auto;
    width: 80%; }

  footer .toCall a {
    display: block;
    color: #fff;
    padding: 15px;
    box-shadow: 0 1px 14px rgba(0, 0, 0, 0.3), 0 1px 14px rgba(0, 0, 0, 0.3);
    border: 1px solid #fff;
    background: #9e9468;
    background: -moz-linear-gradient(top, #9e9468 0%, #6a631f 100%);
    background: -webkit-linear-gradient(top, #9e9468 0%, #6a631f 100%);
    background: linear-gradient(to bottom, #9e9468 0%, #6a631f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e9468', endColorstr='#6a631f',GradientType=0 ); }

  footer .nav-wrap {
    position: relative;
    z-index: 500; }

  footer nav ul.mainNav {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

  footer nav ul.mainNav li,
  footer nav ul.mainNav li.shortTtl,
  footer nav ul.mainNav li.longTtl {
    width: 50%;
    display: -ms-flexbox;
    display: flex !important; }

  footer nav li a {
    justify-content: left;
    font-size: .86rem; }

  footer nav ul.mainNav li + li::after {
    content: "";
    position: absolute;
    top: 46%;
    left: 10px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    -webkit-transform: rotate(-45deg);
    transform: rotate(135deg);
    z-index: 400; }

  header nav li a,
  footer nav li a {
    height: auto; } }
@media only screen and (max-width: 550px) {
  .menuName-btn {
    width: 30%; }

  .scroll-nav ul {
    padding-left: 28%; }

  .hdrBtns .map-btn.linkBtn img {
    bottom: -45px;
    right: -8px;
    width: 40%; }

  .hdrBtns .outline-btn.linkBtn img {
    bottom: -45px;
    right: -8px;
    width: 40%; } }
@media only screen and (max-width: 414px) {
  .hdrBtns .map-btn.linkBtn img {
    bottom: -45px;
    right: -8px;
    width: 40%; }

  .hdrBtns .outline-btn.linkBtn img {
    bottom: -45px;
    right: -8px;
    width: 40%; }

  .menuName-btn {
    font-size: 0.8em; }

  .map-btn.linkBtn::after, .outline-btn.linkBtn::after {
    letter-spacing: 0; } }
@media only screen and (max-width: 380px) {
  footer .phoneNumber {
    font-size: 2.3rem;
    font-size: 10.5vw; } }
@media only screen and (max-width: 320px) {
  .hdrBtns a.linkBtn,
  .hdrBtns a.linkBtn.attendance {
    font-size: 0.9rem; } }
/* --------------------------------------------------
	bootstrap調整
--------------------------------------------------*/
.no-gutter .row {
  margin-left: 0;
  margin-right: 0; }

.vcenter {
  display: inline-block;
  vertical-align: middle;
  float: none; }

.container .col-xs-12 {
  padding: 0; }

@keyframes slideIn {
  0% {
    opacity: 1;
    transform: translateX(-50%); }
  100% {
    opacity: 1;
    transform: translateX(0%); } }
/* --------------------------------------------------
	印刷用
--------------------------------------------------*/
@media print {
  html, body {
    height: auto !important; }

  body {
    padding-top: 0 !important; }

  h1,
  header,
  footer,
  .noPrint {
    display: none !important; } }
#Change__fontSize {
  position: absolute;
  top: 20px;
  right: -33%; }

#Change__fontSize h3 {
  font-size: 15px;
  margin-bottom: 0; }

#Change__fontSize ul {
  display: table;
  width: 100%;
  text-align: center; }

#Change__fontSize li {
  display: table-cell;
  vertical-align: middle;
  margin: 0 3% 0;
  background: #fff;
  color: #86141c;
  border: 2px solid #86141c;
  width: 50%; }

#Change__fontSize li:hover {
  cursor: pointer; }

#Change__fontSize li.large {
  font-size: 24px; }

#Change__fontSize li.large.current {
  background: #86141c;
  color: #fff;
  border: 2px solid #86141c; }

#Change__fontSize li.medium {
  font-size: 16px;
  padding: 11.5%; }

#Change__fontSize li.medium.current {
  background: #86141c;
  color: #fff;
  border: 2px solid #86141c; }

@media only screen and (max-width: 768px) {
  #Change__fontSize {
    top: 9px;
    right: -37%; } }
@media only screen and (max-width: 414px) {
  #Change__fontSize {
    position: absolute;
    top: 15px;
    right: -40%; }

  #Change__fontSize h3 {
    font-size: 14px; }

  #Change__fontSize li.large {
    font-size: 18px; }

  #Change__fontSize li.medium {
    font-size: 14px; } }
@media only screen and (max-width: 375px) {
  #Change__fontSize {
    position: absolute;
    top: 15px;
    right: -37%; } }
@media only screen and (max-width: 320px) {
  header .headerWrap {
    height: 86px;
    display: table;
    width: 100%; }

  .iconWrap {
    display: table-cell;
    vertical-align: middle; }

  h1 {
    margin: inherit;
    display: table-cell;
    vertical-align: middle;
    width: 67%;
    padding-right: 3%; }

  #Change__fontSize {
    display: table-cell;
    vertical-align: middle;
    position: relative;
    width: 29%;
    top: inherit;
    right: inherit;
    padding-right: 1%; } }
/* SP版メニュー修正　ーーーーーーーーーーー */
.spOnlyNav {
  display: none; }

@media only screen and (max-width: 767px) {
  nav.nav-wrap {
    display: none !important; }

  h1 {
    height: 80px;
    padding: 2.6% 0 0 2.6%;
    margin: 0; }

  main {
    margin-top: 80px; }

  .iconWrap {
    width: 100%;
    padding: 0; }

  #Change__fontSize {
    right: 20px;
    top: 6px; }

  .hdrBtns .linkBtn.open_spNav {
    position: relative;
    width: 100%;
    height: 100%;
    color: #333; }
    .hdrBtns .linkBtn.open_spNav hr {
      width: 40px;
      background: currentColor;
      height: 1px;
      position: absolute;
      border: none;
      transform-origin: center center;
      left: 0;
      right: 0;
      margin: 0 auto;
      transition: top 0.2s ease-in-out 0.3s,transform 0.2s ease-in-out 0s; }
      .hdrBtns .linkBtn.open_spNav hr:nth-child(1) {
        top: 7px; }
      .hdrBtns .linkBtn.open_spNav hr:nth-child(2) {
        top: 15px; }
      .hdrBtns .linkBtn.open_spNav hr:nth-child(3) {
        top: 23px; }
    .hdrBtns .linkBtn.open_spNav .text {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      font-size: 10px;
      line-height: 1;
      margin-bottom: 0;
      text-align: center;
      letter-spacing: 0;
      margin-bottom: 0.5em; }
    body.nav_open .hdrBtns .linkBtn.open_spNav hr {
      transition: top 0.2s ease-in-out 0s,transform 0.2s ease-in-out 0.3s; }
      body.nav_open .hdrBtns .linkBtn.open_spNav hr:nth-child(1), body.nav_open .hdrBtns .linkBtn.open_spNav hr:nth-child(2), body.nav_open .hdrBtns .linkBtn.open_spNav hr:nth-child(3) {
        top: 15px; }
      body.nav_open .hdrBtns .linkBtn.open_spNav hr:nth-child(1) {
        transform: rotate(45deg); }
      body.nav_open .hdrBtns .linkBtn.open_spNav hr:nth-child(2) {
        transform: scaleX(0); }
      body.nav_open .hdrBtns .linkBtn.open_spNav hr:nth-child(3) {
        transform: rotate(-45deg); }

  .spOnlyNav {
    display: block;
    position: fixed;
    left: 0;
    bottom: 50px;
    width: 100%;
    visibility: hidden;
    transform: translateY(100%);
    transition: all 0.2s;
    z-index: 9998; }
    .spOnlyNav.sp_navOpen {
      visibility: visible;
      transform: none;
      height: calc(100vh - 180px);
      bottom: auto;
      top: 80px;
      background: #2b080f;
      padding: 30px 0;
      box-sizing: border-box !important;
      overflow-y: scroll !important; }
    .spOnlyNav nav ul {
      border-top: 1px solid #63252f;
      width: 100%;
      top: 0; }
      .spOnlyNav nav ul::after {
        content: "";
        display: block;
        clear: both; }
      .spOnlyNav nav ul li {
        float: left;
        width: 50%;
        border-bottom: 1px solid #63252f; }
        .spOnlyNav nav ul li a {
          display: block;
          color: #fff;
          padding: 20px;
          position: relative; }
          .spOnlyNav nav ul li a::after {
            content: '';
            position: absolute;
            border-style: solid;
            border-width: 1px 1px 0 0;
            top: 50%;
            right: 0;
            width: 0.4em;
            height: 0.4em;
            margin: -0.2em 1em;
            transform: rotate(45deg); }
        .spOnlyNav nav ul li:nth-child(odd) a {
          border-right: 1px solid #63252f; }
        .spOnlyNav nav ul li.line2 a {
          padding: 12px 20px; }

  body#topPage .spOnlyNav ul li.topPage a,
  body#conceptPage .spOnlyNav ul li.conceptPage a,
  body#locationPage .spOnlyNav ul li.locationPage,
  body#accessPage .spOnlyNav ul li.accessPage a,
  body#designPage .spOnlyNav ul li.designPage a,
  body#planPage .spOnlyNav ul li.planPage a,
  body#brandPage .spOnlyNav ul li.brandPage a,
  body#seniorPage .spOnlyNav ul li.seniorPage a,
  body#mapPage .spOnlyNav ul li.mapPage a,
  body#outlinePage .spOnlyNav ul li.outlinePage a,
  body#supportPage .spOnlyNav ul li.supportPage a,
  body#publicspacePage .spOnlyNav ul li.publicspacePage a,
  body#voicePage .spOnlyNav ul li.voicePage a,
  body#qaPage .spOnlyNav ul li.qaPage a {
    background-color: #63252f; }

  .spOnlyNav nav .spOnlyNav_special {
    width: 100%; }

  .spOnlyNav nav .spOnlyNav_special .document a {
    text-align: center;
    color: #fff;
    display: block;
    padding: 20px 0;
    border-bottom: 1px solid #63252f;
    position: relative;
    background: #590012;
    background: -moz-linear-gradient(top, #63252f 1%, #2b080e 100%);
    background: -webkit-linear-gradient(top, #63252f 1%, #2b080e 100%);
    background: linear-gradient(to bottom, #63252f 1%, #2b080e 100%); }

  .spOnlyNav nav .spOnlyNav_special .document a:after {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 1px 1px 0 0;
    top: 50%;
    right: 0;
    width: 0.4em;
    height: 0.4em;
    margin: -0.2em 1em;
    transform: rotate(45deg); } }
@media only screen and (max-width: 480px) {
  .spOnlyNav nav ul li a {
    padding-left: 10px;
    font-size: 12px; }

  .spOnlyNav nav ul li.line2 a {
    padding: 13px 10px 15px; }

  .spOnlyNav nav ul li.conceptPage a {
    letter-spacing: -1px; } }
@media only screen and (max-width: 320px) {
  .hdrBtns .linkBtn.open_spNav {
    padding: 15px 5px; } }
.radio {
  padding-bottom: 10px; }

.radio p {
  font-size: 1.4rem;
  padding: 15px 0 0;
  margin-bottom: 0; }

.info_bnr {
  margin-bottom: 40px; }

.info_bnr a:hover img {
  opacity: 0.7; }

.info_bnr.info_bnr_voice a {
  display: inline-block; }

@media screen and (max-width: 768px) {
  header {
    box-sizing: border-box; }

  .headerWrap {
    height: 80px !important; }

  .iconWrap {
    display: flex;
    align-items: center;
    max-width: 230px; }
    .iconWrap h1 {
      padding: 10px 0 10px 10px;
      height: auto;
      box-sizing: border-box; }
      .iconWrap h1 a {
        width: 220px !important;
        display: block; }
        .iconWrap h1 a img {
          width: 220px !important; } }
@media screen and (max-width: 1900px) {
  .vpc1900 {
    display: none; } }
@media not screen, screen and (min-width: 1901px) {
  .vsp1900 {
    display: none; } }
@media screen and (max-width: 1800px) {
  .vpc1800 {
    display: none; } }
@media not screen, screen and (min-width: 1801px) {
  .vsp1800 {
    display: none; } }
@media screen and (max-width: 1600px) {
  .vpc1600 {
    display: none; } }
@media not screen, screen and (min-width: 1601px) {
  .vsp1600 {
    display: none; } }
@media screen and (max-width: 1500px) {
  .vpc1500 {
    display: none; } }
@media not screen, screen and (min-width: 1501px) {
  .vsp1500 {
    display: none; } }
@media screen and (max-width: 1400px) {
  .vpc1400 {
    display: none; } }
@media not screen, screen and (min-width: 1401px) {
  .vsp1400 {
    display: none; } }
@media screen and (max-width: 1300px) {
  .vpc1300 {
    display: none; } }
@media not screen, screen and (min-width: 1301px) {
  .vsp1300 {
    display: none; } }
@media screen and (max-width: 1200px) {
  .vpc1200 {
    display: none; } }
@media not screen, screen and (min-width: 1201px) {
  .vsp1200 {
    display: none; } }
@media screen and (max-width: 1024px) {
  .vpc1024 {
    display: none; } }
@media not screen, screen and (min-width: 1025px) {
  .vsp1024 {
    display: none; } }
@media screen and (max-width: 960px) {
  .vpc960 {
    display: none; } }
@media not screen, screen and (min-width: 961px) {
  .vsp960 {
    display: none; } }
@media screen and (max-width: 900px) {
  .vpc900 {
    display: none; } }
@media not screen, screen and (min-width: 901px) {
  .vsp900 {
    display: none; } }
@media screen and (max-width: 768px) {
  .vpc768 {
    display: none; } }
@media not screen, screen and (min-width: 769px) {
  .vsp768 {
    display: none; } }
@media screen and (max-width: 767px) {
  .vpc767 {
    display: none; } }
@media not screen, screen and (min-width: 768px) {
  .vsp767 {
    display: none; } }
@media screen and (max-width: 480px) {
  .vpc480 {
    display: none; } }
@media not screen, screen and (min-width: 481px) {
  .vsp480 {
    display: none; } }
@media screen and (max-width: 375px) {
  .vpc375 {
    display: none; } }
@media not screen, screen and (min-width: 376px) {
  .vsp375 {
    display: none; } }
@media screen and (max-width: 360px) {
  .vpc360 {
    display: none; } }
@media not screen, screen and (min-width: 361px) {
  .vsp360 {
    display: none; } }
@media screen and (max-width: 320px) {
  .vpc320 {
    display: none; } }
@media not screen, screen and (min-width: 321px) {
  .vsp320 {
    display: none; } }

/*# sourceMappingURL=default.css.map */
