@charset "utf-8";

/* -----------------------------------------------------------------
 common
----------------------------------------------------------------- */

/*---------- btn_type01 ----------*/
.btn_type01 {
	margin-top:2em;
}
.btn_type01 a {
	position:relative;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width:90%;
	margin:1em auto 0;
	padding:.8em .8em;
	border-radius:6em;
	line-height: 1.4;
	text-align:center;
	font-size:1.07em;
}
.btn_type01 a::after {
	content:"";
	display:block;
	position:absolute;
	top:calc(50% - .35em);/*IE11対策*/
	right: 1em;
	width:.7em;
	height:.7em;

}
.btn_type01 a div {
	position:relative;
	width:100%;
	font-size:85%;
}
.btn_type01 a div::after {
	content:"";
	display:inline-block;
	width:1.0em;
	height:1.0em;
	margin-left:.2em;
}

/*--btn option(ico_bus)--*/
.btn_type01.ico_bus a {
	padding:.8em .8em;
}
.btn_type01.ico_bus a::before {
	content:"";
	display:none;
	width:2em;
	height:.7em;
	margin-right:.2em;
	background:url(/access/img/ico_bus2_blue.svg) no-repeat center center;
	background-size:contain;
}
/*--btn option(collar01)--*/
.btn_type01.collar01 a {
	background:#fff;
	border:#0989e4 1px solid;
    box-shadow: 0 3px 0 rgba(200,226,244,1);
	color:#0989e4;
}
.btn_type01.collar01 a::after {
	background:url(/access/img/arrow_standard_collar01.svg) no-repeat center center;
	background-size:contain;
}
.btn_type01.collar01 a div::after {
	background:url(/access/img/ico_link_blank_collar01.svg) no-repeat center center;
	background-size:contain;
}
/*--btn option(collar02)--*/
.btn_type01.collar02 a {
	background:#fff;
	border:#7698d5 1px solid;
    box-shadow: 0 3px 0 rgba(200,226,244,1);
	color:#7698d5;
}
.btn_type01.collar02 a::after {
	background:url(/access/img/arrow_standard_collar02.svg) no-repeat center center;
	background-size:contain;
}
.btn_type01.collar02 a div::after {
	background:url(/access/img/ico_link_blank_collar02.svg) no-repeat center center;
	background-size:contain;
}
/*--btn option(box_2col_btn)--*/
.box_2col_btn .btn_type01 + .btn_type01 {
	margin-top:1em;
}
/*-- end --*/


@media screen and (min-width: 768px) {
.btn_type01 a {
	padding:.4em 1.8em;
	width:80%;
	transition:all .3s ease;
}
.btn_type01 a::after {
	width:.9em;
	height:.9em;
}
.btn_type01 a div {
	width:auto;
}
.btn_type01 a .small {
	font-size:85%;
}
/*--btn option(ico_bus)--*/
.btn_type01.ico_bus a {
	width:80%;
	max-width:620px;
}
.btn_type01.ico_bus a::before {
	display:inline-block;
}
.btn_type01.ico_bus a:hover::before {
	background:url(/access/img/ico_bus2_white.svg) no-repeat center center;
	background-size:contain;
}
/*--btn option(collar01)--*/
.btn_type01.collar01 a:hover {
	background:#0989e4;
	color:#fff;
}
.btn_type01.collar01 a:hover::after {
	background:url(/access/img/arrow_standard_white.svg) no-repeat center center;
	background-size:contain;
}
.btn_type01.collar01 a:hover div::after {
	background:url(/access/img/ico_link_blank_white.svg) no-repeat center center;
	background-size:contain;
}
/*--btn option(collar02)--*/
.btn_type01.collar02 a:hover {
	background:#7698d5;
	color:#fff;
}
.btn_type01.collar02 a:hover::after {
	background:url(/access/img/arrow_standard_white.svg) no-repeat center center;
	background-size:contain;
}
.btn_type01.collar02 a:hover div::after {
	background:url(/access/img/ico_link_blank_white.svg) no-repeat center center;
	background-size:contain;
}
/*--btn option(box_2col_btn)--*/
.box_2col_btn .btn_type01 a {
	max-width:400px;
}
/*-- end --*/

}

@media screen and (min-width: 1024px) {
.btn_type01 a {
	font-size:calc(1.2rem + 5.8 * (100vw - 1024px) / 376); /* w1024のとき19.2px → w1400のとき25px */ 
}
/*--btn option(box_2col_btn)--*/
.box_2col_btn {
	display:flex;
	justify-content: center;
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
}
.box_2col_btn .btn_type01 a {
	width:98%;
	max-width:550px;
}
.box_2col_btn .btn_type01 + .btn_type01 {
	margin-top:2em;
}
/*-- end --*/

}

@media screen and (min-width: 1400px) {
.btn_type01 a {
	font-size:1.38em;
}
}



/* -----------------------------------------------------------------
 box_intro
----------------------------------------------------------------- */
.box_intro {
	margin-top: 2em;
}

.box_intro .add {
	display: flex;
	margin-top: 2em;
}

.box_intro .add .ttl {
	width:4em;
	font-weight: bold;
	color: #76b5d5;
}
.box_intro .add p {
	margin-left: 1em;
}
.box_intro .add p span {
	display:inline-block;
}

.box_intro .google_map {
	height: 0;
	overflow: hidden;
	margin-top:.5em;
	padding-bottom: 65.5%;
	position: relative;
}

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

@media screen and (min-width: 768px) {
.box_intro {
	margin-top: 2.6em;
}
.box_intro .msg {
	text-align:center;
}
.box_intro .google_map {
	padding-bottom: 37.5%;
}


}



/* -----------------------------------------------------------------
 box_tabpages
----------------------------------------------------------------- */
.box_tabpages {
}
/*---------- tab_control(icon) ----------*/
.tab_control li .layout::before {
	content:"";
	display:none;
	width:2em;
	height:1.5em;
	margin-right:0.2em;
}
.tab_control li:nth-of-type(1) .layout::before {
	background:url(/access/img/ico_car_blue.png) no-repeat center center;
	background-size:contain;
}
.tab_control li:nth-of-type(2) .layout::before {
	background:url(/access/img/ico_train_blue.png) no-repeat center center;
	background-size:contain;
}
.tab_control li:nth-of-type(3) .layout::before {
	background:url(/access/img/ico_air_blue.png) no-repeat center center;
	background-size:contain;
}

/*-- current --*/
.tab_control li.tab.current:nth-of-type(1) .layout::before {
	background:url(/access/img/ico_car_white.png) no-repeat center center;
	background-size:contain;
}
.tab_control li.tab.current:nth-of-type(2) .layout::before {
	background:url(/access/img/ico_train_white.png) no-repeat center center;
	background-size:contain;
}
.tab_control li.tab.current:nth-of-type(3) .layout::before {
	background:url(/access/img/ico_air_white.png) no-repeat center center;
	background-size:contain;
}
@media screen and (min-width: 768px) {
.tab_control li {
	min-height:61.9px;
}
}
@media screen and (min-width: 1024px) {
.tab_control li .layout::before {
	display:inline-block;
}
}


/*---------- tabpage ----------*/
.tabpage .msg {
	margin-top:1em;
}
.tabpage .ttl_sub {
	color:#76b5d5;
}

@media screen and (min-width: 768px) {
.tabpage .msg {
	text-align:center;
}
}


/*---------- box_scroll_y ----------*/
.box_scroll_y {
	width: 100%;
	overflow: auto;
}
.box_scroll_y::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
.box_scroll_y::-webkit-scrollbar-track {
	padding: 2px;
	background: #eee;
}
.box_scroll_y::-webkit-scrollbar-thumb {
	margin: 3px;
	background: #76b5d5;
	border-radius: 3px;
}
.box_scroll_y .inner {
	margin:1em auto;
}
.box_scroll_y .inner.img_car_route {
	width:calc(1800px / 2);
	width:64em;
}
.box_scroll_y .inner.img_train_route {
	width:calc(1336px / 2);
	width:47.5em;
}

@media screen and (min-width: 768px) {
.box_scroll_y .inner {
	margin:2em auto 0;
}


.box_scroll_y .inner.img_car_route {
	width:calc(64em * .8);
	margin-bottom:2em;
}
.box_scroll_y .inner.img_train_route {
	width:calc(47.5em * .8);
	margin-bottom:2em;
}
}

@media screen and (min-width: 1024px) {
.box_scroll_y .inner {
	width:100%;
}
.box_scroll_y .inner.img_car_route {
	width:100%;
}
.box_scroll_y .inner.img_train_route {
	width:100%;
	max-width:890px;
}
}


/*---------- box_illustmap ----------*/
.box_illustmap {
	width:100vw;
	margin-top:1em;
	margin-left:-3vw;
}
@media screen and (min-width: 768px) {
.box_illustmap {
	width:auto;
	margin-top:1.5em;
	margin-left:0;
	text-align:center;
}

}

/* -----------------------------------------------------------------
 車でお越しの方
----------------------------------------------------------------- */
/*---------- box_2col_direct ----------*/
.box_2col_direct {
}
.box_2col_direct >li + li {
	margin-top:1em;
}

@media screen and (min-width: 1300px) {
.box_2col_direct {
	display: flex;
}
.box_2col_direct >li + li {
	margin-top:0;
}
.box_2col_direct >li:nth-of-type(odd) {
	width:60%;
}
.box_2col_direct >li:nth-of-type(even) {
	width:37%;
	margin-left:3%;
}
}


/*---------- tbl_parking ----------*/

.box_2col_direct .ttl {
  margin-top: .5em;
  font-weight: bold;
  font-size: 1.42em;
  color: #026c9f;
}

.box_2col_direct.ttl{
  display: inline-block;
  vertical-align: bottom;
}
.box_2col_direct.ttl .small{
  font-size:80%;
  vertical-align: baseline;
}

.tbl_parking {
	width:100%;
  table-layout: fixed;
}
.tbl_parking th,
.tbl_parking td {
	vertical-align:middle;
	border:#e5e5e5 1px solid;
}
.tbl_parking th {
	width:6.5em;
	padding:.5em .3em;
	background:#76b5d5;
	text-align:center;
	color:#fff;
  white-space: normal;
}
.tbl_parking th.w5em {
	width:5em;
}
.tbl_parking th.w4em {
	width:4em;
}
.tbl_parking th.ttl {
	background:#e4f0f7;
	text-align:center;
	font-weight:bold;
	font-size:1.1em;
	color:#026c9f;
}
.tbl_parking th.ttl .ico {
	display:inline-block;
	vertical-align: middle;
	width:2.1em;
	height:1.1em;
	margin-left:0.4em;
    line-height: 1;
}
.tbl_parking th.ttl .ico img {
	display:inline;
	width:100%;
}
.tbl_parking th .name {
	padding-left:1.8em;
	text-align:center;
  white-space: normal;
}
.tbl_parking th.no01 .name {
	background:url(/access/img/ico_marking01.svg) no-repeat left center;
	background-size:21px auto;
}
.tbl_parking th.no02 .name {
	background:url(/access/img/ico_marking02.svg) no-repeat left center;
	background-size:21px auto;
}
.tbl_parking th.no03 .name {
	background:url(/access/img/ico_marking03.svg) no-repeat left center;
	background-size:21px auto;
}
.tbl_parking th.no04 .name {
	background:url(/access/img/ico_marking04.svg) no-repeat left center;
	background-size:21px auto;
}
.tbl_parking th.no05 .name {
	background:url(/access/img/ico_marking05.svg) no-repeat left center;
	background-size:21px auto;
}
.tbl_parking th.no06:before {
	content:"";
	display:inline-block;
	width:21px;
	height:24.66px;
	margin-bottom:-.4em;
	margin-right:0.5em;
	background:url(/access/img/ico_marking05.svg) no-repeat center center;
	background-size:21px auto;
}
.tbl_parking td {
	padding:.6em .3em;
	line-height:1.2;
	text-align:center;
}

.tbl_parking .num {
	font-size:1.5em;
	color:#0989e4;
}
.tbl_parking .num span {
	font-size:80%;
}
.tbl_parking .price {
	display:block;
	font-size:1.35em;
	color:#0989e4;
}
.tbl_parking .small {
	color:#0989e4;
}
.tbl_parking .tel {
	font-size:1em;
	color:#0989e4;
}

@media screen and (min-width: 768px) {
.tbl_parking th {
	text-align:center;
	font-size:calc(1rem + 4 * (100vw - 768px) / 632);/* w768のとき16px → w1400のとき20px */
}
.tbl_parking th.ttl {
	font-size:calc(1.125rem + 4 * (100vw - 768px) / 632); /* w768のとき18px → w1400のとき22px */ 
}
.tbl_parking th .name {
	font-size:1.11em;
	padding-left:0;
}
.tbl_parking th.no01,
.tbl_parking th.no02,
.tbl_parking th.no03,
.tbl_parking th.no04,
.tbl_parking th.no05 {
	padding-left:2.7em;
}
.tbl_parking th.no01 {
	background:#76b5d5 url(/access/img/ico_marking01.svg) no-repeat left 0.5em center;
	background-size:1.7em auto;
}
.tbl_parking th.no02 {
	background:#76b5d5 url(/access/img/ico_marking02.svg) no-repeat left 0.5em center;
	background-size:1.7em auto;
}
.tbl_parking th.no03 {
	background:#76b5d5 url(/access/img/ico_marking03.svg) no-repeat left 0.5em center;
	background-size:1.7em auto;
}
.tbl_parking th.no04 {
	background:#76b5d5 url(/access/img/ico_marking04.svg) no-repeat left 0.5em center;
	background-size:1.7em auto;
}
.tbl_parking th.no05 {
	background:#76b5d5 url(/access/img/ico_marking05.svg) no-repeat left 0.5em center;
	background-size:1.7em auto;
}
.tbl_parking th.no06:before {
	width:1.5em;
	height:calc(1.5em * 1.174);
	margin-bottom:-.6em;
	background:url(/access/img/ico_marking05.svg) no-repeat center center;
	background-size:100% auto;
}
.tbl_parking th.no01 .name,
.tbl_parking th.no02 .name,
.tbl_parking th.no03 .name,
.tbl_parking th.no04 .name,
.tbl_parking th.no05 .name {
	background:none;
}
.tbl_parking .tel {
	font-size:1.1em;
}

}
@media screen and (min-width: 1400px) {
  .tbl_parking th {
    font-size:1.11em;
  }
  .tbl_parking th.ttl {
    font-size:1.21em;
  }
  .tbl_parking .num {
    font-size:1.77em;
  }
  .tbl_parking .price {
    display:inline;
    margin-left:.2em;
  }
}

/*---------- btn_parking ----------*/
.btn_parking a {
	position:relative;
	display:flex;
	justify-content: center;
	align-items: center;
	width:90%;
	margin:1em auto 0;
	padding:1.2em .8em;
	background:#0989e4;
	border-radius:2em;
	line-height: 1;
	text-align:center;
	color:#fff;
}
.btn_parking a::before {
	content:"";
	display:block;
	width:1.0em;
	height:1.0em;
	margin-right:.4em;
	background:url(/access/img/ico_parking_white.svg) no-repeat center center;
	background-size:contain;
}
.btn_parking a::after {
	content:"";
	display:block;
	position:absolute;
	top:calc(50% - .35em);/*IE11対策*/
	right: 1em;
	width:.7em;
	height:.7em;
	background:url(/common/img/arrow_standard_white.svg) no-repeat center center;
	background-size:contain;
}

@media screen and (min-width: 768px) {
.btn_parking a {
	width:100%;
}
}

@media screen and (min-width: 1024px) {
.btn_parking a {
	padding:.8em 1.2em .8em .8em;
	font-size:calc(1rem + 8 * (100vw - 1024px) / 376); /* w1024のとき18px → w1400のとき26px */ 

}
.btn_parking a::after {
	top:calc(50% - .6em);/*IE11対策*/
	width:1.2em;
	height:1.2em;
}
}

@media screen and (min-width: 1400px) {
.btn_parking a {
	font-size:1.44em;
}
}

/*---------- btn_parking_small ----------*/
.btn_parking_small {
	text-align:center;
}
.btn_parking_small a {
	position:relative;
	display:inline-flex;
	justify-content: center;
	align-items: center;
	margin:.2em auto 0;
	padding:.8em 1.5em .8em .8em;
	background:#ff7484;
	box-shadow: 0 1px 0 rgba(1,91,155,1);
	border-radius:2em;
	line-height: 1;
	text-align:center;
	font-size:.85em;
	color:#fff;
}
.btn_parking_small a::before {
	content:"";
	display:none;
	width:1.0em;
	height:1.0em;
	margin-right:.5em;
	background:url(/access/img/ico_parking_white.svg) no-repeat center center;
	background-size:contain;
}
.btn_parking_small a::after {
	content:"";
	display:block;
	position:absolute;
	top:calc(50% - .35em * .85);/*IE11対策*/
	right: 0.5em;
	width:.7em;
	height:.7em;
	background:url(/common/img/arrow_standard_white.svg) no-repeat center center;
	background-size:auto 100%;
}

@media screen and (min-width: 375px) {
.btn_parking_small a {
	padding:.8em 2.3em .8em 1.5em;
	font-size:.92em;
}
.btn_parking_small a::after {
	top:calc(50% - .35em * .92);/*IE11対策*/
}

}

@media screen and (min-width: 768px) {
.btn_parking_small a {
	padding:.5em 2.3em .5em 1.5em;
	font-size:.88em;
}
.btn_parking_small a::before {
	display:block;
}

}


/*btn共通化後の調整------------------------*/
.cmn_btn.btn_park {
  font-size: 1.2em;
}
.cmn_btn.btn_park .parking {
  position: relative;
  padding: 0 10px 0  30px;
  font-weight: bold;
}
.cmn_btn.btn_park .parking::before {
	content:"";
	display:inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -11px;
	width:20px;
	height:20px;
	background:url(/access/img/ico_parking_white.svg) no-repeat 0 0;
	background-size:contain;
  vertical-align: top;
}
.cmn_btn.btn_park:hover .parking::before {
	background:url(/access/img/ico_parking_blue.svg) no-repeat 0 0;
	background-size:contain;
}
.cmn_btn.small.btn_park {
  font-size: 1em;
  margin: 3px 0 0 0;
}
.cmn_btn.small.btn_park a {
  padding: 5px 30px 5px 15px;
}
.cmn_btn.small.btn_park .parking {
  padding: 0 0 0 25px;
  font-weight: normal;
}
.cmn_btn.small.btn_park .parking::before {
  margin-top: -7px;
	width:15px;
	height:15px;
}
.cmn_btn.small.btn_park .parking::before {
  margin-top: -7px;
	width:15px;
	height:15px;
}
.cmn_btn.small.btn_park:hover .parking::before {
	background:url(/access/img/ico_parking_pink.svg) no-repeat 0 0;
	background-size:contain;
}
@media screen and (max-width: 768px) {
  .cmn_btn.small.btn_park a {
    padding: 5px 20px 5px 15px;
  }
  .cmn_btn.small.btn_park a::after {
      right: 5px;
  }  
  .cmn_btn.small.btn_park .parking {
    padding: 0;
  }  
  .cmn_btn.small.btn_park .parking::before {
    display: none;
  }
}


/*飛行機ボタン*/
.box_btn_col2 {
  display: -webkit-box;
  display: -ms-flex;  
  display: -webkit-flex;
  display: flex;
	max-width:1200px;
  margin: 60px auto 0 auto;
}
.box_btn_col2 .cmn_btn {
  width: 48%;
  margin:0 1%;
}
.box_btn_col2 .cmn_btn strong {
  font-size: 1.2em;
}
@media screen and (max-width: 1200px) {
  .box_btn_col2 {
    display: block;
  margin: 30px auto 0 auto;
  }
  .box_btn_col2 .cmn_btn {
    width:80%;
    margin:15px auto;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .box_btn_col2 .cmn_btn {
    width:90%;
    margin:15px auto;
    text-align: center;
  }
  .box_btn_col2 .cmn_btn a {
    padding: 20px 35px;
  }
}