@charset "utf-8";
/* CSS Document */

@media (max-width: 767px) {
  nav,
  .timetable,
  #gnav_sub2 {
    display: none;
  }
  nav {
    z-index: 999;
    position: absolute;
    top: 0;
    width: 100%;
    background-color: #faf1f1;
    margin-top: 0;
    padding-bottom: 40px;
    border-bottom: 2px #74532c solid;
  }
  .close {
    display: inherit;
    position: absolute;
    bottom: 10px;
    right: 10px;
  }
  .mobile_only {
    display: inherit;
  }
  .mobile_phone {
    clear: both;
    text-align: center;
    background-color: #fff;
    /*		background-image: url(../img/common/phone_top.png);
		background-position: 26% 50%;
		background-repeat: no-repeat;
		background-size: 18px 18px;*/
    width: 95%;
    margin: 20px auto 0;
    padding: 8px;
    color: #5a4321;
    font-weight: 700;
    font-size: 1.6rem;
    position: relative;
  }

  .mobile_phone::before {
    content: '\f095';
    color: #fff;
    background-color: #f2a8a8;
    font-size: 14px;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    line-height: 20px;
    margin-right: 10px;
  }

  /* ----------------
	hamburger
-----------------*/

  .btn_hamburger {
    z-index: 9999;
    display: inline-block;
    margin: 0 auto 2em !important;
    width: 60px;
    background-color: #9f713e;
    padding: 10px;
    border-radius: 10px;
    position: absolute;
    top: 10px;
    right: 10px;
  }
  .btn_hamburger a {
    position: relative;
    display: block;
    height: 40px;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    box-sizing: border-box;
    letter-spacing: normal;
  }
  .btn_hamburger a::after {
    content: 'メニュー';
    color: #fff;
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    margin-bottom: -8px;
    font-weight: 700;
  }
  .btn_hamburger span {
    position: absolute;
    display: inline-block;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #fff;
    border-radius: 2px;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    box-sizing: border-box;
    padding: 0 4px;
  }
  .btn_hamburger span:nth-of-type(1) {
    top: 0;
  }
  .btn_hamburger span:nth-of-type(2) {
    top: 10px;
  }
  .btn_hamburger span:nth-of-type(3) {
    top: 20px;
  }
  .btn_hamburger span:nth-of-type(2)::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background-color: #fff;
    border-radius: 2px;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
  /*
.btn_hamburger .active span:nth-of-type(2) {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.btn_hamburger .active span:nth-of-type(2)::after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
.btn_hamburger .active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) scale(0);
    -ms-transform: translateY(20px) scale(0);
    transform: translateY(20px) scale(0);
}
.btn_hamburger .active span:nth-of-type(3) {
    -webkit-transform: translateY(-20px) scale(0);
    -ms-transform: translateY(-20px) scale(0);
    transform: translateY(-20px) scale(0);
}
*/

  /* ----------------
	nav headtext
-----------------*/

  #header {
    background-color: #fff;
    display: block;
  }
  .mobile_nav_header {
    margin-bottom: 10px;
    display: block;
    height: 80px;
  }
  #header h1,
  .mobile_nav_header h1 {
    /*font-family: "Rounded Mplus 1c","Hiragino Maru Gothic ProN", "HG丸ｺﾞｼｯｸM-PRO", HGMaruGothicMPRO, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;*/
    font-family: 'a-otf-jun-pro', sans-serif;
    color: #73522c;
    font-size: calc(14px + 0.25vw);
    font-weight: 500;
    display: inline-block;
    line-height: normal;
    letter-spacing: normal;
    position: absolute;
    top: 10px;
    left: 100px;
  }
  #header h1 > span,
  .mobile_nav_header h1 > span {
    font-size: calc(12px + 0.25vw);
    display: block;
    font-weight: 400;
  }
  #header .logo,
  .mobile_nav_header .logo {
    display: inline-block;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
    background-color: #fff;
    border-radius: 0 0 50% 50%;
    padding: 6px;
    height: auto;
    width: 90px;
    float: left;
  }
  #header .logo img,
  .mobile_nav_header .logo img {
    width: 100%;
    height: auto;
    padding: 0;
  }
  #header > div {
    background-color: #fff;
    background-image: url(../img/common/mobile_header_bg1.png);
    background-position: center top;
    background-repeat: repeat-x;
    background-size: contain;
    width: 100%;
    margin: 0 auto;
    height: 100px;
    position: relative;
  }

  /* ----------------
	gnav
-----------------*/
  #gnav {
    display: none;
    /*	clear: both;
	display: table;
	width: 95%;
	margin: 0 auto;*/
  }
  #gnav > li {
    width: 48.6%;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    padding: 4px;
    height: 70px;
    margin-bottom: 0;
    background-image: url(../img/common/mobile_nav_arrow.gif);
    background-position: 95% 50%;
    background-repeat: no-repeat;
    background-color: #fff;
    border-radius: 10px;
    border: 1px #e6d6bb solid;
    margin: 4px;
  }
  #gnav > li a {
    padding-top: 15px;
    height: 100%;
    width: 100%;
    display: block;
    color: #75542d;
    font-weight: 400;
  }

  #gnav > li:nth-child(1) a,
  #gnav > li:nth-child(2) a,
  #gnav > li:nth-child(3) a,
  #gnav > li:nth-child(4) a,
  #gnav > li:nth-child(5) a,
  #gnav > li:nth-child(7) a {
    background-image: none;
  }
  #gnav > li:nth-child(6) {
    display: none;
  }
  #gnav > li:nth-child(odd) {
    margin-right: 4px;
    margin-left: 0;
  }
  #gnav > li:nth-child(even) {
    margin-left: 4px;
    margin-right: 0;
  }
  #gnav > li:nth-child(7) {
    margin-left: 4px;
    margin-right: 0;
  }
  #gnav > li a:after {
    content: '';
    background-color: transparent;
  }
  /* ----------------
	gnav_sub1
-----------------*/
  #gnav_sub1 {
    width: 90%;
    padding-top: 0;
  }
  .gnav_sub1_box {
    margin: 0 auto;
    height: inherit;
    width: 100%;
    background-image: none;
    background-color: transparent;
  }
  #gnav_sub1 > li {
    width: 100%;
    display: block;
    border-top: 1px #fff solid;
    text-align: left;
  }
  #gnav_sub1 > li:nth-child(1) {
    border-top: none;
  }
  #gnav_sub1 > li h3 {
    margin-top: 10px;
    line-height: 42px;
    text-align: left;
  }
  #gnav_sub1 > li h3 a {
    font-size: 1.8rem;
    position: relative;
    display: block;
    color: #73522c;
    text-decoration: none;
    -webkit-transition: 0.35s all ease;
    transition: 0.35s all ease;
    width: 100%;
    height: 100%;
  }
  #gnav_sub1 > li h3 a img {
    height: 20px;
    width: auto;
  }
  #gnav_sub1 > li:nth-child(9) h3 a img {
    height: 18px;
    width: auto;
  }
  #gnav_sub1 h3 a::before {
    height: 0;
  }
  #gnav_sub1 h3 a::after {
    content: '';
    background-image: url(../img/common/mobile_nav_arrow.gif);
    background-repeat: no-repeat;
    background-position: center;
    height: 30px;
    width: 30px;
    border-radius: 50%;
    transform: rotate(0);
    background-color: #fff;
    top: 0;
  }
  #gnav_sub1 li:nth-child(1),
  #gnav_sub1 li:nth-child(2),
  #gnav_sub1 li:nth-child(3),
  #gnav_sub1 li:nth-child(4),
  #gnav_sub1 li:nth-child(5),
  #gnav_sub1 li:nth-child(6),
  #gnav_sub1 li:nth-child(13),
  #gnav_sub1 li:nth-child(10),
  #gnav_sub1 li:nth-child(14) {
    display: inherit;
  }
  #gnav_sub1 li:nth-child(1) h3 a::before,
  #gnav_sub1 li:nth-child(1) h3 a::after,
  #gnav_sub1 li:nth-child(2) h3 a::before,
  #gnav_sub1 li:nth-child(2) h3 a::after,
  #gnav_sub1 li:nth-child(4) h3 a::before,
  #gnav_sub1 li:nth-child(4) h3 a::after,
  #gnav_sub1 li:nth-child(5) h3 a::before,
  #gnav_sub1 li:nth-child(5) h3 a::after,
  #gnav_sub1 li:nth-child(6) h3 a::before,
  #gnav_sub1 li:nth-child(6) h3 a::after,
  #gnav_sub1 li:nth-child(8) h3 a::before,
  #gnav_sub1 li:nth-child(8) h3 a::after,
  #gnav_sub1 li:nth-child(10) h3 a::before,
  #gnav_sub1 li:nth-child(10) h3 a::after,
  #gnav_sub1 li:nth-child(11) h3 a::before,
  #gnav_sub1 li:nth-child(11) h3 a::after,
  #gnav_sub1 li:nth-child(12) h3 a::before,
  #gnav_sub1 li:nth-child(12) h3 a::after,
  #gnav_sub1 li:nth-child(13) h3 a::before,
  #gnav_sub1 li:nth-child(13) h3 a::after,
  #gnav_sub1 li:nth-child(14) h3 a::before,
  #gnav_sub1 li:nth-child(14) h3 a::after {
    right: 0;
  }
  #gnav_sub1 li:nth-child(3) h3 a::before,
  #gnav_sub1 li:nth-child(3) h3 a::after {
    right: 0;
  }
  #gnav_sub1 li:nth-child(7) h3 a::before,
  #gnav_sub1 li:nth-child(7) h3 a::after {
    right: 0;
  }
  #gnav_sub1 li:nth-child(9) h3 a::before,
  #gnav_sub1 li:nth-child(9) h3 a::after {
    right: 0;
  }
  #gnav_sub1 h3 a::after,
  #gnav_sub1 h3 a::before {
    position: absolute;
    display: inherit;
    -webkit-transition: 0.25s all ease;
    transition: 0.25s all ease;
  }
  #gnav_sub1 .active a:before {
    top: 0;
  }
  #gnav_sub1 .active a:after {
    top: 0;
    transform: rotate(90deg);
  }
  #gnav_sub1 .target {
    z-index: 1;
    margin: 0 auto;
    padding: 0;
    position: static;
    top: inherit;
    width: 100%;
  }
  #gnav_sub1 .target ul {
    display: block;
  }
  #gnav_sub1 .target ul li {
    background-color: #fdf9f9;
    display: block;
    padding: 4px;
    line-height: normal;
    border: 1px #fff solid;
  }

  #gnav_sub1 .target ul li a {
    background-color: #fdf9f9;
    padding: 8px 0;
    color: #73522c;
    display: block;
  }
  #gnav_sub1 .target ul li a:hover {
    background-color: inherit;
  }

  /* ----------------
	mobile_gnav_sub2
-----------------*/
  .mobile_gnav_sub2_box {
    width: 100%;
    background-color: #fdf9f9;
  }
  #mobile_gnav_sub2 {
    /* width: 98%; */
    margin: 0 auto;
    display: table;
    padding: 2px;
    text-align: center;
  }
  #mobile_gnav_sub2 li {
    vertical-align: middle;
    width: 29vw;
    display: inline-block;
    height: 30vw;
    border: 1px #ebdcc7 solid;
    border-radius: 50%;
    margin: 20px 10px;
  }
  #mobile_gnav_sub2 li a {
    display: block;
    height: 100%;
    width: 100%;
    padding: 4px;
    text-align: center;
    position: relative;
  }
  #mobile_gnav_sub2 li a span {
    color: #73522c;
    font-size: calc(10px + 0.25vw);
    font-family: 'Sawarabi Mincho';
    font-weight: 500;
    letter-spacing: -1.2px;
    display: inline-block;
    width: 100%;
    line-height: 140%;
    position: absolute;
    top: 60%;
    left: 50%;
    margin: 0;
    white-space: nowrap;
    -ms-transform: translate(-50%, -60%);
    -webkit-transform: translate(-50%, -60%);
    transform: translate(-50%, -60%);
  }
  #mobile_gnav_sub2 li:nth-child(1) {
    background: #ffffff;
    background: -moz-radial-gradient(center, ellipse cover, #ffffff 0%, #fcefef 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #ffffff 0%, #fcefef 100%);
    background: radial-gradient(ellipse at center, #ffffff 0%, #fcefef 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcefef',GradientType=1 );
    float: left;
  }
  #mobile_gnav_sub2 li:nth-child(1) a {
    background-image: url(../img/common/bus_icon.png);
    background-repeat: no-repeat;
    background-position: 50% 20%;
  }
  /*
	#mobile_gnav_sub2 li:nth-child(2){
		    background: #ffffff;
    background: -moz-radial-gradient(center, ellipse cover, #ffffff 0%, #FFE4CE 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #ffffff 0%,#FFE4CE 100%);
    background: radial-gradient(ellipse at center, #ffffff 0%,#FFE4CE 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#FFE4CE',GradientType=1 );
	}
	#mobile_gnav_sub2 li:nth-child(2) a{
		background-image: url(../img/common/mobile_reservation_icon1.png);
		background-repeat: no-repeat;
		background-position: 50% 20%;
		background-size: 40%;
	}
*/
  #mobile_gnav_sub2 li:nth-child(2) {
    background: #ffffff;
    background: -moz-radial-gradient(center, ellipse cover, #ffffff 0%, #f9f5e3 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #ffffff 0%, #f9f5e3 100%);
    background: radial-gradient(ellipse at center, #ffffff 0%, #f9f5e3 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#F9F5E3',GradientType=1 );
    float: right;
  }
  #mobile_gnav_sub2 li:nth-child(2) a {
    background-image: url(../img/common/mobile_reservation_icon2.png);
    background-repeat: no-repeat;
    background-position: 50% 20%;
    background-size: 40%;
  }
  /* ----------------
	mobile_nav_foot
-----------------*/
  .mobile_nav_foot {
    width: 95%;
    margin: 0 auto 20px;
    display: table;
    padding: 16px 0;
  }
  .mobile_nav_foot li {
    width: calc(100% / 2 - 5px);
    float: left;
    letter-spacing: normal;
    line-height: normal;
  }
  .mobile_nav_foot li a {
    text-align: center;
    font-weight: 500;
  }
  /*.mobile_nav_foot li:nth-child(1) a{
		color: #fff;
		font-size: 2rem;
		width: 30px;
		height: 30px;
		font-weight: 700;
		background-color: #305097 ;
		border-radius: 50%;
		line-height: 30px;
		display: block;
		text-align: center;
		margin-right: 5px;
		margin-top: 3px;
		font-family: "a-otf-jun-pro",sans-serif;
	}*/
  /*.mobile_nav_foot li:nth-child(1) ,.mobile_nav_foot li:nth-child(2) {
		width: 43%;
	}*/
  .mobile_nav_foot li:nth-child(1) {
    margin-right: 5px;
  }
  .mobile_nav_foot li:nth-child(2) {
    margin-left: 5px;
  }
  .mobile_nav_foot li a {
    width: 100%;
    height: 100%;
    display: block;
    color: #5a4321;
    /*font-family: "Rounded Mplus 1c";*/
    font-family: 'a-otf-jun-pro', sans-serif;
    font-size: 1.4rem;
    letter-spacing: -0.16em;
  }
  .mobile_nav_foot li.mobile_nav_foot_minami1 a {
    background-color: #ffe4ce;
    border: 1px #e4d3b9 solid;
  }
  .mobile_nav_foot li.mobile_nav_foot_jr a {
    background-color: #c4e6e2;
    border: 1px #e4d3b9 solid;
  }
  .mobile_nav_foot li a span {
    font-size: 10px;
    display: block;
    font-weight: 400;
  }
  .to_inquiry {
    display: block !important;
    width: 100%;
    height: 50px;
    text-align: center;
    font-size: 1.6rem;
    color: #74532c;
    position: relative;
    padding-top: 28px;
  }
  .to_inquiry::after {
    content: '';
    width: 14px;
    height: 14px;
    border: 0px;
    border-top: solid 2px #74532c;
    border-right: solid 2px #74532c;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 2.4em;
    right: 28%;
    margin-top: -4px;
  }
}
