/*** THEME ***/
#body-wrapper .container ul {
  list-style: none; }
#body-wrapper .container div {
  box-sizing: border-box; }
#body-wrapper section.main_con {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
  /*.access_guide .colum2 > li.guide3 {
      margin-top: rem(60);
  }*/ }
  #body-wrapper section.main_con h2.sec_ttl {
    text-align: center;
    margin-bottom: 3.75rem; }
    #body-wrapper section.main_con h2.sec_ttl span {
      font-size: 1.6875rem;
      line-height: calc(28/27);
      letter-spacing: 0.06em;
      font-weight: bold;
      padding-bottom: 0.625rem;
      border-bottom: 2px solid #E20103; }
  #body-wrapper section.main_con .lead {
    width: 100%;
    max-width: 46.25rem;
    margin: auto;
    font-size: 1rem;
    line-height: calc(32/16);
    letter-spacing: 0.05em;
    font-weight: bold; }
    #body-wrapper section.main_con .lead h3 {
      font-size: 1.375rem;
      line-height: calc(38/22);
      letter-spacing: 0.18em;
      font-weight: bold; }
  #body-wrapper section.main_con h3.con_ttl {
    text-align: center;
    margin-bottom: 1.875rem; }
    #body-wrapper section.main_con h3.con_ttl span {
      font-size: 1.125rem;
      line-height: calc(28/18);
      letter-spacing: 0.1em;
      font-weight: bold;
      padding: 0;
      border-bottom: 2px solid #000000; }
    @media only screen and (max-width: 736px) {
      #body-wrapper section.main_con h3.con_ttl span {
        font-size: 1.25rem; } }
  #body-wrapper section.main_con .sub_con {
    width: 100%;
    max-width: 46.25rem;
    margin: auto;
    margin-top: 7.5rem; }
    #body-wrapper section.main_con .sub_con .list_wrap .layout {
      display: grid;
      grid-template-columns: repeat(2, auto);
      gap: 1.875rem 3.75rem;
      justify-content: center; }
      #body-wrapper section.main_con .sub_con .list_wrap .layout .area h4 {
        font-size: 1.125rem;
        letter-spacing: 0.1em;
        line-height: calc(28/18);
        font-weight: bold;
        margin-bottom: 1.25rem; }
      #body-wrapper section.main_con .sub_con .list_wrap .layout .area .list {
        list-style: none; }
        #body-wrapper section.main_con .sub_con .list_wrap .layout .area .list > li:not(:last-child) {
          margin-bottom: 1.5625rem; }
        #body-wrapper section.main_con .sub_con .list_wrap .layout .area .list h5 {
          font-size: 1rem;
          letter-spacing: 0.05em;
          line-height: calc(32/16);
          font-weight: 500; }
        #body-wrapper section.main_con .sub_con .list_wrap .layout .area .list a {
          font-size: 1rem;
          letter-spacing: 0.05em;
          line-height: calc(32/16);
          font-weight: 500;
          text-decoration: underline; }
        #body-wrapper section.main_con .sub_con .list_wrap .layout .area .list .info {
          font-size: 0.875rem;
          letter-spacing: 0.05em;
          line-height: calc(21/14);
          font-weight: 500; }
        #body-wrapper section.main_con .sub_con .list_wrap .layout .area .list .address {
          font-size: 0.875rem;
          letter-spacing: 0.05em;
          line-height: calc(21/14);
          font-weight: 500; }
        #body-wrapper section.main_con .sub_con .list_wrap .layout .area .list .tel {
          font-size: 0.875rem;
          letter-spacing: 0.05em;
          line-height: calc(21/14);
          font-weight: 500; }
        #body-wrapper section.main_con .sub_con .list_wrap .layout .area .list .att {
          font-size: 0.875rem;
          letter-spacing: 0.05em;
          line-height: calc(21/14);
          font-weight: 500; }
      @media only screen and (max-width: 736px) {
        #body-wrapper section.main_con .sub_con .list_wrap .layout {
          grid-template-columns: repeat(2, auto);
          gap: 3.75rem 1.875rem; } }
    #body-wrapper section.main_con .sub_con.parking .list_wrap .layout {
      display: grid;
      grid-template-columns: repeat(3, auto);
      gap: 1.875rem 1.5625rem; }
      @media only screen and (max-width: 736px) {
        #body-wrapper section.main_con .sub_con.parking .list_wrap .layout {
          grid-template-columns: repeat(2, auto);
          gap: 3.75rem 1.875rem; } }
  #body-wrapper section.main_con .access_guide {
    margin-top: 5rem;
    list-style: none; }
  #body-wrapper section.main_con .access_guide > li {
    margin-bottom: 3.75rem; }
  #body-wrapper section.main_con .access_guide .guide_detail {
    display: none; }
  #body-wrapper section.main_con .access_guide .colum2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none; }
  #body-wrapper section.main_con .access_guide .colum2 > li {
    width: calc(495/1020*100%);
    margin-top: 2.5rem; }
  #body-wrapper section.main_con .access_guide h3 {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    padding-bottom: 0.625rem;
    border-bottom: 4px solid #E20100;
    color: #E20100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    margin: 0; }
  #body-wrapper section.main_con .access_guide h3::after {
    content: "";
    display: block;
    width: 0.875rem;
    height: 0.5rem;
    background: url(../img/access/access_arrow.svg) no-repeat center center;
    background-size: cover;
    margin-right: 1.875rem;
    -webkit-transition: all .8s;
    transition: all .8s; }
  #body-wrapper section.main_con .access_guide h3.con_open::after {
    transform: rotateZ(180deg); }
  #body-wrapper section.main_con .access_guide h3 span {
    display: flex;
    align-items: center;
    border: none;
    padding: 0; }
  #body-wrapper section.main_con .access_guide h3 span::before {
    content: "";
    display: block;
    width: 0.9375rem;
    height: 1.25rem;
    background: url(../img/access/pin.svg) no-repeat center center;
    background-size: cover;
    margin-right: 0.625rem; }
  #body-wrapper section.main_con .access_guide h4 {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #E20100;
    padding-bottom: 0.625rem;
    margin-bottom: 1.875rem;
    border-bottom: 1px solid #E20100; }
  #body-wrapper section.main_con .access_guide .step {
    position: relative; }
  #body-wrapper section.main_con .access_guide .step::before {
    content: "";
    display: block;
    width: 4px;
    height: calc(100% - 50px);
    background: #e3e3e3;
    position: absolute;
    left: -webkit-calc(60 / 480 * 100%);
    left: calc(60 / 480 * 100%);
    top: 0;
    margin-top: 1.5625rem; }
  #body-wrapper section.main_con .access_guide .step li {
    font-size: 1rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    height: 3.125rem;
    display: flex;
    align-items: center;
    padding-left: -webkit-calc(54 / 480 * 100%);
    padding-left: calc(55 / 480 * 100%); }
  #body-wrapper section.main_con .access_guide .step li:last-child {
    padding-left: -webkit-calc(53 / 480 * 100%);
    padding-left: calc(55 / 480 * 100%); }
  #body-wrapper section.main_con .access_guide .step li:nth-child(odd) {
    background: #f0f0f0; }
  #body-wrapper section.main_con .access_guide .step li:nth-child(odd)::before {
    content: "";
    display: block;
    width: 0.9375rem;
    height: 0.9375rem;
    background: url(../img/access/step_icon.svg) no-repeat center center;
    background-size: cover;
    margin-right: 1.8125rem;
    z-index: 2; }
  #body-wrapper section.main_con .access_guide .step li:last-child::before {
    content: "";
    display: block;
    width: 0.9375rem;
    height: 0.9375rem;
    background: url(../img/access/destination_icon.svg) no-repeat center center;
    background-size: cover;
    margin-right: 1.75rem;
    z-index: 2; }
  #body-wrapper section.main_con .access_guide .step li.imadate::before {
    content: "";
    display: block;
    width: 0.9375rem;
    height: 0.9375rem;
    background: url(../img/access/destination_icon2.svg) no-repeat center center;
    background-size: cover;
    margin-right: 1.75rem;
    z-index: 2; }
  #body-wrapper section.main_con .access_guide .step li p {
    display: flex;
    align-items: center;
    margin-left: 2.8125rem; }
  #body-wrapper section.main_con .access_guide .step li p.train::before {
    content: "";
    display: block;
    width: 0.8125rem;
    height: 1rem;
    background: url(../img/access/train_icon.svg) no-repeat center center;
    background-size: cover;
    margin-right: 0.625rem; }
  #body-wrapper section.main_con .access_guide .step li p.car::before {
    content: "";
    display: block;
    width: 1.0625rem;
    height: 0.9375rem;
    background: url(../img/access/car_icon.svg) no-repeat center center;
    background-size: cover;
    margin-right: 0.625rem; }
  #body-wrapper section.main_con .access_guide .step li p.airplane::before {
    content: "";
    display: block;
    width: 0.9375rem;
    height: 0.9375rem;
    background: url(../img/access/airplane_icon.svg) no-repeat center center;
    background-size: cover;
    margin-right: 0.625rem; }
  #body-wrapper section.main_con .access_guide .step li p.shinkansen::before {
    content: "";
    display: block;
    width: 0.875rem;
    height: 1.0625rem;
    background: url(../img/access/shinkansen_icon.svg) no-repeat center center;
    background-size: cover;
    margin-right: 10px; }
  #body-wrapper section.main_con .access_guide .step li p.bus::before {
    content: "";
    display: block;
    width: 0.875rem;
    height: 1rem;
    background: url(../img/access/bus_icon.svg) no-repeat center center;
    background-size: cover;
    margin-right: 0.625rem; }
  @media only screen and (max-width: 736px) {
    #body-wrapper section.main_con .access_guide > li {
      margin-bottom: 2.5rem; }
    #body-wrapper section.main_con .access_guide h3 {
      font-size: 1.125rem;
      letter-spacing: 0.1em;
      padding-bottom: 0.625rem;
      border-bottom: 2px solid #E20100;
      display: flex;
      align-items: center;
      justify-content: space-between;
      cursor: pointer; }
    #body-wrapper section.main_con .access_guide h4 {
      font-size: 0.9375rem;
      letter-spacing: 0.06em;
      padding-bottom: 0.625rem;
      margin-bottom: 1.25rem;
      border-bottom: 1px solid #E20100; }
    #body-wrapper section.main_con .access_guide .step::before {
      left: -webkit-calc(73 / 690 * 100%);
      left: calc(73 / 690 * 100%);
      height: -webkit-calc(100% - 2rem);
      height: calc(100% - 2rem);
      margin-top: 1.125rem; }
    #body-wrapper section.main_con .access_guide .step li {
      font-size: 0.875rem;
      letter-spacing: 0.06em;
      height: 2.1875rem;
      display: flex;
      align-items: center;
      padding-left: -webkit-calc(60 / 690 * 100%);
      padding-left: calc(67 / 690 * 100%); }
    #body-wrapper section.main_con .access_guide .step li:last-child {
      padding-left: -webkit-calc(59 / 690 * 100%);
      padding-left: calc(66 / 690 * 100%); }
    #body-wrapper section.main_con .access_guide .step li:last-child::before {
      margin-right: 1.8125rem; }
    #body-wrapper section.main_con .access_guide .step li.imadate::before {
      margin-right: 1.8125rem; }
    #body-wrapper section.main_con .access_guide .step li:nth-child(odd)::before {
      margin-right: 0.9375rem; }
    #body-wrapper section.main_con .access_guide .step li p {
      margin-left: 2rem; }
    #body-wrapper section.main_con .access_guide .colum2 > li {
      width: 100%; } }
#body-wrapper #intro h2 {
  text-align: center;
  margin-bottom: 1.25rem; }
  #body-wrapper #intro h2 span {
    font-size: 1.375rem;
    line-height: calc(38/22);
    letter-spacing: 0.18em;
    font-weight: bold; }
#body-wrapper #intro .info_center_wrap {
  margin-top: 6.25rem;
  display: flex;
  justify-content: center; }
  #body-wrapper #intro .info_center_wrap .info_center {
    width: 25rem;
    border: 2px solid #4D4949;
    padding: 4.375rem 1.25rem 2.5rem;
    position: relative; }
    #body-wrapper #intro .info_center_wrap .info_center.kawada {
      border: 2px solid #E20100;
      margin-right: 2.5rem; }
      #body-wrapper #intro .info_center_wrap .info_center.kawada h3 {
        background-color: #E20100; }
    #body-wrapper #intro .info_center_wrap .info_center h3 {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 1.5625rem;
      color: #FFFFFF;
      letter-spacing: 0.08em;
      line-height: 1;
      white-space: nowrap;
      font-weight: bold;
      background-color: #4D4949;
      padding: 0.625rem 2.5rem;
      padding-top: 0.9375rem; }
    #body-wrapper #intro .info_center_wrap .info_center .txt {
      font-size: 1.25rem;
      letter-spacing: 0.08em;
      line-height: calc(28/20);
      font-weight: bold;
      text-align: center; }
    #body-wrapper #intro .info_center_wrap .info_center .map {
      width: 18.75rem;
      margin: auto;
      margin-top: 1.25rem;
      text-align: center; }
      #body-wrapper #intro .info_center_wrap .info_center .map a {
        display: block;
        font-size: 0.875rem;
        letter-spacing: 0.05em;
        line-height: 1;
        font-weight: bold;
        text-align: center;
        text-decoration: underline; }
      @media only screen and (max-width: 736px) {
        #body-wrapper #intro .info_center_wrap .info_center .map {
          width: 80%; } }
    #body-wrapper #intro .info_center_wrap .info_center .address {
      font-size: 0.8125rem;
      letter-spacing: 0.08em;
      line-height: calc(21/13);
      font-weight: bold;
      text-align: center;
      margin-top: 1.25rem; }
#body-wrapper #intro .page_navi_wrap {
  margin-top: 8rem;
  display: flex;
  justify-content: space-between; }
  #body-wrapper #intro .page_navi_wrap a {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: calc(330/1020*100%);
    padding: 0.625rem;
    border: 1px solid #000000; }
    #body-wrapper #intro .page_navi_wrap a span {
      font-size: 1.125rem;
      letter-spacing: 0.14em;
      font-weight: bold;
      line-height: 1.2;
      display: flex;
      align-items: center; }
      #body-wrapper #intro .page_navi_wrap a span::after {
        content: '';
        display: block;
        width: 1.25rem;
        height: 0.9375rem;
        background: url(../img/access/pd.svg) no-repeat center center;
        background-size: contain;
        margin-left: 0.625rem; }
@media only screen and (max-width: 736px) {
  #body-wrapper #intro .info_center_wrap {
    display: block; }
    #body-wrapper #intro .info_center_wrap .info_center {
      width: 100%; }
      #body-wrapper #intro .info_center_wrap .info_center.imadate {
        margin-top: 3.75rem; } }
#body-wrapper #car {
  background-color: #F5F5F5; }
  #body-wrapper #car .map {
    width: 100%;
    max-width: 43.75rem;
    height: 29.375rem;
    margin: auto;
    margin-top: 5.625rem;
    position: relative; }
    #body-wrapper #car .map iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
#body-wrapper #public .map {
  width: 100%;
  max-width: 46.25rem;
  margin: auto;
  margin-top: 1.875rem; }
#body-wrapper #public .sub_con .map {
  margin-top: 3.75rem; }
#body-wrapper #public .sub_con .info_wrap {
  width: 100%;
  max-width: 46.25rem;
  margin: auto;
  margin-top: 3.75rem; }
  #body-wrapper #public .sub_con .info_wrap .info_list > .info_con:not(:first-child) {
    margin-top: 1.875rem; }
  #body-wrapper #public .sub_con .info_wrap .att {
    margin-top: 1.875rem;
    list-style: inside; }
    #body-wrapper #public .sub_con .info_wrap .att > li {
      font-size: 0.9375rem;
      letter-spacing: 0.05em;
      line-height: calc(26/15); }
#body-wrapper #public .sub_con .top_img {
  display: flex;
  margin-bottom: 3.75rem; }
#body-wrapper #public .sub_con .urushi_bike {
  width: 100%;
  max-width: 46.25rem;
  margin: auto;
  margin-top: 3.75rem; }
#body-wrapper #public .sub_con.taxi {
  max-width: none; }
#body-wrapper #public .sub_con.bicycle {
  max-width: none; }
#body-wrapper #public .how_to_ride {
  margin-top: 5rem;
  position: relative; }
  #body-wrapper #public .how_to_ride h3 {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-85%); }
  #body-wrapper #public .how_to_ride .how_to_list {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 3px solid #E20100;
    padding: 1.875rem 0.625rem; }
    #body-wrapper #public .how_to_ride .how_to_list .step:not(:last-child) {
      padding-right: 3.75rem;
      position: relative; }
      #body-wrapper #public .how_to_ride .how_to_list .step:not(:last-child)::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 1.25rem;
        transform: translate(0, -50%);
        width: 1.25rem;
        height: 1.25rem;
        background: url("../img/access/step_arrow.svg") no-repeat center;
        background-size: contain; }
    #body-wrapper #public .how_to_ride .how_to_list .step .number {
      margin-bottom: 0.625rem; }
    #body-wrapper #public .how_to_ride .how_to_list .step .txt {
      font-size: 1.25rem;
      letter-spacing: 0.06em;
      line-height: calc(30/20);
      font-weight: bold; }
    @media only screen and (max-width: 736px) {
      #body-wrapper #public .how_to_ride .how_to_list {
        width: 80%;
        margin: auto;
        flex-flow: column;
        align-items: center;
        justify-content: center;
        padding: 1.875rem 1.25rem; }
        #body-wrapper #public .how_to_ride .how_to_list .step {
          display: flex;
          justify-content: center; }
          #body-wrapper #public .how_to_ride .how_to_list .step:not(:last-child) {
            padding-right: 0;
            padding-bottom: 3.125rem; }
            #body-wrapper #public .how_to_ride .how_to_list .step:not(:last-child)::after {
              content: "";
              display: block;
              position: absolute;
              top: auto;
              bottom: 1.25rem;
              right: 50%;
              transform: translate(50%, 0) rotate(90deg);
              width: 1.25rem;
              height: 1.25rem;
              background: url("../img/access/step_arrow.svg") no-repeat center;
              background-size: contain; }
          #body-wrapper #public .how_to_ride .how_to_list .step .number {
            text-align: center;
            margin-bottom: 0;
            margin-right: 0.625rem; }
          #body-wrapper #public .how_to_ride .how_to_list .step .txt {
            font-size: 1.25rem;
            letter-spacing: 0.06em;
            line-height: calc(30/20);
            font-weight: bold;
            text-align: left; } }
#body-wrapper #public .morebtn {
  margin-top: 4.375rem; }
#body-wrapper #public .timetable_wrap {
  margin-top: 3.75rem; }
  #body-wrapper #public .timetable_wrap .list > li:not(:first-child) {
    margin-top: 3.75rem; }
  #body-wrapper #public .timetable_wrap .list .txt {
    font-size: 1rem;
    letter-spacing: 0.05em;
    line-height: calc(32/16);
    font-weight: bold;
    text-align: center;
    margin-top: 2.8125rem; }
  #body-wrapper #public .timetable_wrap .list .morebtn {
    margin-top: 1.875rem; }
#body-wrapper #accommodation {
  background-color: #F5F5F5; }
  #body-wrapper #accommodation .sub_con.stay .list_wrap .layout .area:first-child {
    /*grid-row: 1 / 3;*/ }
  #body-wrapper #accommodation .sub_con {
    margin-top: 0; }
