@charset "utf-8";

p.supp,.plan_wrap p.supp{
	text-align:center;
	margin:40px 0 0 0;
	background-color:#FF9;
	padding:1em 0;
}

/* =page structure
-------------------------------------------------------------------------*/
#masthead.hidden {
    transform: translateY(-160px);
        -webkit-transform: translateY(-160px);
    }

.breadcrumb {
    border-top-width: 47px !important;
    border-top-style: solid !important;
    }

#t-hamamatsu .breadcrumb { border-top-color: #eb812d !important; border-top-width: 0px !important; }

.breadcrumb>div { padding-top: 10px !important; }

article>section>.pkg,
.attractions article>section .extra .pkg { max-width: 960px; }


/* =.store
-------------------------------------------------------------------------*/
body.root .store div.li.cascaded.t-hamamatsu div.ul.lower div.li.root a span:before,
body.prices .store div.li.cascaded.t-hamamatsu div.ul.lower div.li.prices a span:before,
body.attractions .store div.li.cascaded.t-hamamatsu div.ul.lower div.li.attractions a span:before,
body.reserve .store div.li.cascaded.t-hamamatsu div.ul.lower div.li.reserve a span:before,
body.access .store div.li.cascaded.t-hamamatsu div.ul.lower div.li.access a span:before,
body.zenkan .store div.li.cascaded.t-hamamatsu div.ul.lower div.li.zenkan a span:before { background: rgba(255,255,255,.4) !important; }

#t-hamamatsu .store div.li.cascaded.t-hamamatsu div.ul.lower { display: block !important; }

#t-hamamatsu .store div.li.cascaded.t-hamamatsu>span { color: #fff; }

#t-hamamatsu .store div.li.cascaded.t-hamamatsu>span {
    background: #eb812d;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    border-bottom-color: transparent !important;
    pointer-events: none !important;
    }

#t-hamamatsu .store div.li.cascaded.t-hamamatsu>span .sinfo a { pointer-events: initial !important;}


#t-hamamatsu .store div.li.cascaded.t-hamamatsu>span:after { display: none; }
#t-hamamatsu .store div.li.cascaded.t-hamamatsu>span .si_tel,
#t-hamamatsu .store div.li.cascaded.t-hamamatsu>span p.si_sday { color :#fff;}

/* =article
-------------------------------------------------------------------------*/
article>header:before,
article>header h1:before,
article>header h1:after { display: none !important; }

#t-hamamatsu article>header { background: #eb812d; }
#t-hamamatsu #header-arc .arc{ fill: #eb812d; }

#t-hamamatsu #modaal-title { font-size:2em;}


article>h2,.allreserve>h3.Sh3,#payment h2 {
    position: relative;
    display: inline-block;
    font-weight: 700;
    font-size: 2.2rem;
    font-family: 'Nunito',sans-serif;
    text-transform: uppercase;
    margin: 30px 0 50px;
    }

article>h2:before,
article>h2:after,
#payment h2:before,
#payment h2:after,
.allreserve>h3.Sh3:before,
.allreserve>h3.Sh3:after {
    content: '';
    position: absolute;
    top: 50%;
    display: block;
    width: 53px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
    }

article>h2:before,#payment h2:before,.allreserve>h3.Sh3:before {
    left: -60px;
    background-image: url("/images/temp/wow-l.svg");
    }

article>h2:after,#payment h2:after,.allreserve>h3.Sh3:after {
    right: -60px;
    background-image: url("/images/temp/wow-r.svg");
    }

article>h2 span,.allreserve>h3.Sh3 span { color: #f15a24; }

article #keyimage {
    width: calc(100% - 40px);
    max-width: 960px;
    margin: 0 auto 40px;
    }
.btn_payment{
	position: relative;
    display: inline-block;
	color: #f15a24;
    background: #fff;
	border-radius: 4px;
	padding: 0.75em 35px 0.75em 20px;
	    font-family: 'FontAwesome';
}
.btn_payment:before{
	    content: '\f0da';
    position: absolute;
    top: 50%;
    right: 15px;
    font-size: 1.5em;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

/* ----------------------------------------
    nav.pagemenu
---------------------------------------- */

nav.pagemenu a {
	position: relative;
	display: block;
	height: 40px;
	line-height: 40px;
    padding-left: 15px;
	font-weight: 700;
	white-space: nowrap;
	color: #00a99d;
	background: #fff;
    }

nav.pagemenu.stores a { padding-left: 70px; }

nav.pagemenu a:before,
nav.pagemenu a:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
    }

nav.pagemenu.stores a:before {
    content: '';
    left: 15px;
    display: block;
    width: 40px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    }

nav.pagemenu.stores .prices a:before {
    height: 30px;
    background-image: url("/images/temp/storearea/icon-prices.svg");
    }

nav.pagemenu.stores .attractions a:before {
    height: 30px;
    background-image: url("/images/temp/storearea/icon-attractions.svg");
    }

nav.pagemenu.stores .reserve a:before {
    height: 26px;
    background-image: url("/images/temp/storearea/icon-reserve.svg");
    }

nav.pagemenu.stores .access a:before {
    height: 17px;
    background-image: url("/images/temp/storearea/icon-access.svg");
    }

nav.pagemenu a:after {
    content: '\f078';
    right: 20px;
    font-size: 1.3rem;
    }

nav.pagemenu.stores a:after { content: '\f054'; }

nav.pagemenu dl,
nav.pagemenu ul,
nav.pagemenu.gen li a {
    border: 2px solid #00a99d !important;
    border-radius: 10px;
    overflow: hidden;
    }

nav.pagemenu dl { margin: 0 20px; }

nav.pagemenu dt {
    height: 40px;
    line-height: 40px;
    font-weight: 700;
    font-size: 1.5rem;
    font-family: 'Nunito',sans-serif;
    text-transform: uppercase;
    padding-left: 15px;
    color: #fff;
    background: #00a99d;
    }

nav.pagemenu dt,nav.pagemenu dd{ letter-spacing: .1em; }
nav.pagemenu dd:not(:last-of-type) { border-bottom: 2px solid #00a99d !important; }

nav.pagemenu ul {
    position: relative;
    width: calc(100% - 60px);
    max-width: 960px;
    margin: 30px auto 0;
    z-index: 10;
    }

nav.pagemenu.stores ul { width: calc(100% - 120px); }

nav.pagemenu.stores li {
    width: 50%;
    float: left;
    letter-spacing: .1em;
    border: 0px solid rgba(0,0,0,.2) !important;
    }

nav.pagemenu.stores li:first-child {
    border-right-width: 2px !important;
    border-bottom-width: 2px !important;
    }

nav.pagemenu.stores li:nth-child(2) { border-bottom-width: 2px !important; }
nav.pagemenu.stores li:nth-child(3) { border-right-width: 2px !important; }

nav.pagemenu.stores li a {
    height: 140px;
    line-height: 140px;
    font-size: 2.4rem;
    padding-left: 45%;
    }

nav.pagemenu.stores li.reserve a { padding-left: 36%; }

nav.pagemenu.stores li a:before {
    left: 7%;
    width: 100px;
    }

nav.pagemenu.stores li.prices a:before { height: 90px; }
nav.pagemenu.stores li.attractions a:before { height: 90px; }
nav.pagemenu.stores li.reserve a:before { height: 70px; }
nav.pagemenu.stores li.access a:before { height: 41px; }

nav.pagemenu.stores li a:after { font-size: 2.4rem; }

nav.pagemenu.stores li:first-child a:after,
nav.pagemenu.stores li:last-child a:after { color: #f7931e; }

/* ----------------------------------------
    ul.notice,ul.point
---------------------------------------- */

ul.notice li,
ul.point li {
    position: relative;
    margin: 0 0 10px;
    padding-left: 70px;
    }


ul.notice li:last-child{
	margin: 0;
}

ul.notice li br ,ul.point li br { display: none; }

ul.notice li span,
ul.point li:before {
    content: '';
    position: absolute;
    top: -.1em;
    left: 0;
    display: block;
    width: 60px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    font-weight: 700;
    color: #fff;
    background: #f15a24;
    border-radius: 4px;
    }

ul.point li:before {
    content: 'Point';
    font-weight: 700;
    font-family: 'Nunito',sans-serif;
    }
ul.point li.note:before {
    content: '※';
    font-weight: 700;
    font-family: 'Nunito',sans-serif;
    }

ul.point li em,
ul.notice li em { color: #f15a24; }

/* ----------------------------------------
    ul.limitation
---------------------------------------- */

ul.limitation {
    margin: 30px 0;
    background: #00a99d;
    border-radius: 10px;
    }

ul.limitation li {
    position: relative;
    padding: 1em 20px 1em 80px;
    color: #fff;
    }

ul.limitation li:not(:last-child) { border-bottom: 1px solid rgba(255,255,255,.8); }

ul.limitation li:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 20px;
    display: block;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
    }

ul.limitation li.use:before { background-image: url("/images/temp/storearea/icon-limit-use.svg"); }
ul.limitation li.age:before { background-image: url("/images/temp/storearea/icon-limit-age.svg"); }
ul.limitation li.height:before { background-image: url("/images/temp/storearea/icon-limit-height.svg"); }
ul.limitation li.weight:before { background-image: url("/images/temp/storearea/icon-limit-weight.svg"); }

ul.limitation li h3 {
    font-size: 1.4rem;
    letter-spacing: .1em;
    white-space: nowrap;
    }

ul.limitation li h3 span {
    color: #ffee58;
    margin-right: .25em;
    }

ul.limitation li p {
    font-weight: 700;
    font-size: 1.2rem;
    letter-spacing: .1em;
    white-space: normal !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.3);
    margin: 0;
    }
/* =
-------------------------------------------------------------------------*/
span.tag {
	position: absolute;
	top:10px;
	right:0;
	display: inline-block;
	background: #d83939;
	width: auto;
	min-width:200px;
	text-align:center;
	line-height: 2em;
	color: #FFF;
	padding-top: 0;
	padding-right: 1em;
	padding-bottom: 0;
	padding-left: 1em;
	border-radius: 5px;
	font-size: 130%;
}


/* =#storeinfo
-------------------------------------------------------------------------*/
#storeinfo {
    position: relative;
    text-align: center;
    z-index: 10;
    }

#storeinfo:before {
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #ffed80;
    z-index: -2;
    }

#storeinfo:after {
    content: '';
    position: absolute;
    top: -7vw;
    left: 0;
    right: 0;
    display: none;
    height: 28.6vw;
    pointer-events: none;
    background: url("/images/temp/storearea/info-title.png") no-repeat 50% 0;
    background-size: cover;
    z-index: -1;
    transform: translateY(-14.8vw);
        -webkit-transform: translateY(-14.8vw);
    }

#storeinfo>header {
    position: relative;
    display: inline-block;
    margin: 0 0 30px;
    }

#storeinfo>header:before,
#storeinfo>header:after {
    content: '';
    position: absolute;
    bottom: 0;
    display: block;
    width: 53px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    }

#storeinfo>header:before {
    left: -60px;
    background-image: url("/images/temp/wow-l.svg");
    }

#storeinfo>header:after {
    right: -60px;
    background-image: url("/images/temp/wow-r.svg");
    }

#storeinfo>header h1 {
    font-weight: 700;
    font-size: 2.6rem;
    font-family: 'Nunito',sans-serif;
    line-height: 1.4;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    color: #00a99d;
    }

/* ----------------------------------------
    .data
---------------------------------------- */

.data h2 {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 20px 1em;
    }

.data iframe { height: 75vw; }
.data .datatable { padding: 0 20px; }
.data .datatable>dl { margin: 0 0 5px; }

.data .datatable dt,
.data .datatable dd {
    line-height: 1.5;
    vertical-align: middle;
    }

.data .datatable>dl>dt {
    width: 6em;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    padding: .25em 0;
    color: #fff;
    background: #00a99d;
    border-radius: 6px;
    }

.data .datatable>dl>dd { padding: .25em 0 .25em 1em; }
.data .datatable>dl>dd dt { width: 6em; }

/* ----------------------------------------
    .status
---------------------------------------- */

.status { padding: 0 20px 60px; }

.status header {
    position: relative;
    margin: 0 0 10px;
    text-align: center;
    }

.status header h2 {
    display: table;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 auto;
    }

.status header h2 span {
    display: table-cell;
    width: calc(50% - 30px);
    vertical-align: middle;
    }

.status header h2 span:nth-of-type(2) {
    position: relative;
    width: 80px;
    height: 50px;
	line-height: 50px;
    font-size: 1.5em;
    text-align: center;
    z-index: 10;
    }

.status header h2 span:nth-of-type(2):before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 50%;
    z-index: -1;
    transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
    }

.status header .month {
    position: absolute;
    top: 50%;
    cursor: pointer;
    transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
    }

.status header .prev { left: 10px; }
.status header .next { right: 10px; }
.status header .month:before { font-size: 2.4rem; }
.status header .prev:before { content: '\f100'; }
.status header .next:before { content: '\f101'; }

.status .calbase {
    margin: 0 0 10px;
    background: #fff;
    border: 1px solid #000;
    border-radius: 10px;
    overflow: hidden;
    }

.status .calbase h3 {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 2;
    text-align: center;
    color: #fff;
    background: #00a99d;
    }

.status .calbase table {
    width: calc(100% - 40px);
    margin: 15px 20px;
    }

.status .calbase th,
.status .calbase td {
    position: relative;
    width: calc(100% - 7);
    font-weight: 600;
    font-size: 1.3rem;
    line-height: 1.4;
    text-align: center;
    vertical-align: middle;
    }

.status .calbase th {
    height: 40px;
    z-index: 10;
    }

.status .calbase tr:first-of-type th.sat { color: #00a99d; }
.status .calbase tr:first-of-type th.sun { color: #e64445; }


.status .calbase td { color: rgba(0,0,0,.3); }

.status .calbase td.today { border: 1px solid rgba(0,0,0,.2); }
.status .calbase td.today.possible { border-color: #00a99d; }
.status .calbase td.today.crowded { border-color: #fcee21; }
.status .calbase td.today.onlyafew { border-color: #f7931e; }
.status .calbase td.today.impossible { border-color: #ff4a59; }

.status .calbase td.today.openday { border-color: #00a99d; }
.status .calbase td.today.closeday { border-color: ##7b7b7b; }



.status .calbase td span {
    display: block;
    height: 40px;
    line-height: 40px;
    position: relative;
    color: #fff;
    z-index: 10;
    }

.status .calbase td.possible span,
.status .calbase td.crowded span,
.status .calbase td.onlyafew span  { cursor: pointer; }


.status .calbase td.crowded span { color: #f15a24; }

.status .calbase td.old span { color:#888; }

.status .calbase th:before,
.status .calbase td span:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 24px;
    height: 24px;
    background: #f2f2f2;
    border-radius: 50%;
    z-index: -1;
    transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
    }

.status .calbase td.possible span:before { background: #00a99d; }
.status .calbase td.crowded span:before { background: #fcee21; }
.status .calbase td.onlyafew span:before { background: #f7931e; }
.status .calbase td.impossible span:before { background: #ff4a59; }



.status .calbase td.openday span:before { background: #00a99d; }
.status .calbase td.closeday span:before { background: #7b7b7b; }




ul.supli {
    margin: 0 0 20px;
    white-space: nowrap;
    }

ul.supli li {
    font-size: 1rem !important;
    padding-right: .5em;
    }

ul.supli li:before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: -.1em .25em 0 0;
    vertical-align: middle;
    background: #f2f2f2;
    border: 1px solid transparent;
    border-radius: 50%;
    }

ul.supli li.possible:before { background: #00a99d; }
ul.supli li.onlyafew:before { background: #ffa338; }
ul.supli li.impossible:before { background: #ff4a59; }


ul.supli li.openday:before { background: #00a99d; }
ul.supli li.closeday:before { background: #7b7b7b; }


ul.supli li.crowded:before {
    background: #fcee21;
    border-color: #2b494e;
    }

.status p.step {
    position: relative;
    margin: 0;
    padding: .5em 0;
    text-align: center;
    background: #fff;
    border-radius: 15px;
    }

.status p.step:before {
    content: '';
    position: absolute;
    top: -5px;
    left: 50%;
    display: block;
    width: 20px;
    height: 20px;
    background: #fff;
    z-index: -1;
    transform: translateX(-50%) rotate(45deg);
        -webkit-transform: translateX(-50%) rotate(45deg);
    }


/* =.root
-------------------------------------------------------------------------*/
.swiper-container {
    width: 100%;
    margin-top: -5vw;
    padding: 0 0 40px;
    }

.swiper-slide {
    width: 90%;
    height: calc(90vw / 1.6);
    border: 1px solid #2b494e;
    border-radius: 10px;
    }

.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    }

.swiper-pagination-bullet-active { background: #e64445; }


/* =.prices
-------------------------------------------------------------------------*/
.prices .sectionlast {
    padding-bottom: 300px;
}
/* =.prices.head-------------------------------*/
#t-hamamatsu.prices span.maker{
	color: #00a99d;
	/* text-decoration: underline; */
	margin-right: 0.5em;
	margin-left: 0.5em;	
}

.prices .headbanner{
	border: 5px solid #9ADBCE;
	background: #E0F0E8;
	width: calc(100% - 120px);
	margin: -50px auto 50px auto;
	padding: 20px;
	box-sizing: border-box;
	max-width: 1080px;
}
.prices .headbanner>ul{
	display:flex;
	width:80%;
	margin:0 auto;
}
.prices .headbanner>ul>li{
	width: 45%;
	text-align: center;
	font-size: 3.5em;
	line-height: 60px;
	font-weight: 600;
	color:#fa480c;
}
.prices .headbanner>ul>li.item_m{
	border:4px solid #fd3900 !important;
	border-radius: 10px;
	background:#FFF;
	position: relative;
}
.prices .headbanner>ul>li.item_m:before{
    content: "初回利用時のみ";
    position: absolute;
    border-radius: 5px;
    background: #fd3900;
    color: #fff;
    top: -15px;
    left: 25%;
    font-size: 14px;
    height: 1.5em;
    line-height: 1.5em;
    z-index: 2;
    width: 12em;
    padding: 0 10px;
}
.prices .headbanner>ul>li.plus{
	width:10%;
	font-size:70px;
	color:#00a99d;
}
.prices .headbanner>ul>li.item_a{
	border:4px solid #00a99d !important;
	border-radius: 10px;
	background:#FFF;
	color:#00a99d;
	position: relative;
}
.prices .headbanner>ul>li.item_a:after{
    content: "※下記参照";
    position: absolute;
    border-radius: 5px;
    color: #7cb9b0;
    bottom: 0;
    right: 30px;
    font-size: 12px;
    height: 1em;
    line-height: 1em;
    z-index: 2;
    padding: 0 10px;
}
.prices .headbanner>.member_supp{
	position: relative;
	width: 95%;
	margin: 20px auto 10px auto;
	border: 2px dotted #fa480c;
	padding: 10px 0;
	font-size: 2em;
	line-height: 1.5em;
	text-align: center;
	background-color: #FFF;
	border-radius: 10px;
}
.prices .headbanner>.member_supp:before{
  content: "";
	position: absolute;
	top: -23px;
    left: 24.5%;
    margin-left: -16px;
    border: 13px solid transparent;
    border-bottom: 10px solid #FFF;
 	z-index: 2;
}
.prices .headbanner>.member_supp:after{
    content: "";
    position: absolute;
    top: -27px;
    left: 24.5%;
    margin-left: -18px;
    border: 15px solid transparent;
    border-bottom: 12px solid #fa480c;
    z-index: 1;
}
.prices .headbanner>.member_supp>span{
	background-color: #F15A24;
    margin: 0 0.5em 0 2em;
    padding: 0 0.5em;
    border-radius: 5px;
    text-align: center;
    color: #FFF;
}
.prices .headbanner>.member_supp>.present{
	display: inline-block;
	vertical-align: middle;
	position:relative;
}
.prices .headbanner>.member_supp>.present>em{
	color:#fa480c;
	margin-right:0.5em;
}
.prices .headbanner>p,.prices h2 + p.text{
	text-align:center;
	margin:0;
	font-size:16px;
}
.prices .headbanner>.member_supp>.present>img{
	position:absolute;
	width:50px;
	top: -25%;
    bottom: 0;
    right: 5px;
}
.prices h2 + p.text{
	margin:-60px 0 60px 0;
}
#payment{
	text-align: center;
	margin-top: 50px;
}
/* =.prices.p_table-------------------------------*/
/*マウスが乗ってないところ*/
.prices table.p_table .gray {
	background-color: #CCCCCC !important;
	background-image: none !important;
	color: #999 !important;
}
.prices table.p_table .gray span,
.prices table.p_table .gray div,
.prices table.p_table .gray p,
.prices table.p_table .gray dl,
.prices table.p_table .gray dl dt,
.prices table.p_table .gray dl dd,
.prices table.p_table .gray em,
.prices table.p_table .gray h3  {
	background-color: #CCCCCC !important;
	background-image: none !important;
	color: #999 !important;
	border-color:#CCC !important;
}
.prices table.p_table .gray div.pickup,
.prices table.p_table .gray div.pickup2,
.prices table.p_table .gray>dl>.free.addition:after,
.prices table.p_table .gray>dl>.free.addition{
	background-color: transparent !important;
	border-color: transparent !important;
	transition: all 0s ease 0s;
}
.prices table.p_table td.senior.gray>dl>.free.addition{
	display:none !important;
}
.prices table.p_table .gray .tag>img{
	opacity: 0.3;
}
.prices table.p_table .gray span:before  {
	border-color:#CCC !important;
}
/* /マウスが乗ってないところ*/


.prices table.p_table,.prices table.p_table table {
	border: 5px solid #00a99d;	
	border-collapse:collapse;
}
.prices table.p_table table {
	color: #F15A24;
}
.prices table.p_table th, .prices table.p_table td {
	border-left: 5px solid #00a99d;
	border-bottom:1px solid #00a99d;
	padding:15px 0;
	text-align:center;
	background:#FFF;
}
.prices table.p_table th {
	width:33.3%;
	box-sizing:border-box;
	font-size:1.8rem;
	background-color:#FC0;
	padding:0;
	border-top: 5px solid #00a99d;
}
.prices table.p_table th.th_1 {
	background:#ffd599;
	color:#f75a25;
}
.prices table.p_table th.th_2 {
	background:#a5ddb0;
	color:#006837;
}
.prices table.p_table th.th_3 {
	background:#ffb7a1;
	color:#bb2026;
}
.prices table.p_table th.th_4 {
	background:#fef89a;
	color:#eb6d32;
}
.prices table.p_table th.th_5 {
	background:#ffadc9;
	color:#c21d59;
}
.prices table.p_table th.th_6 {
	background:#acdcf3;
	color:#0076cb;
}
.prices table.p_table th>.t_th_wrap {
	position: relative;
	vertical-align: middle;
	height:7em;
}
.prices table.p_table th>.t_th_wrap>.areaname {
    position: absolute;
    top: 50%;
    margin-top: -1em;
    text-align: center;
    width: 100%;
}
.prices table.p_table th>.t_th_wrap>.pickup {
	font-size: 14px;
    position: absolute;
    top: -45px;
    left: 0;
    right: 0;
    width: 120px;
    margin: auto;
}
.prices table.p_table th>.t_th_wrap>.pickup2 {
	font-size: 14px;
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
    width: 215px;
    margin: auto;
}
.prices .p_table tr th>.t_th_wrap>.private{/*otoku*/
	background-color: #F15A24;
	border:#FFF 1px solid;
    font-size: 12px;
    width: 90%;
    margin: 0 5%;
    padding: 5px 0;
    border-radius: 5px;
    text-align: center;
    color: #FFF;
    position: absolute;
    bottom: 10px;
}
.prices .p_table tr th>.t_th_wrap>.agelimit{
    font-size: 12px;
    width: 90%;
    margin: 0 5%;
    padding: 5px 0;
    text-align: center;
    position: absolute;
    bottom: 10px;
	color: #2b494e;
}
.prices table.p_table td>p,
.prices table.p_table td>dl,.prices table.p_table td>dl>dt,.prices table.p_table td>dl>dd,
.prices table.p_table dl.secondary
{
	margin: 0;
	padding: 0px;
	text-align: center;
	line-height: 1.2em;
}
.prices table.p_table dl.secondary>dd,
.prices table.p_table td>dl,.prices table.p_table td>dl>dt
{
	margin: 0;
}
.prices table.p_table td>dl>dd {
	margin-top:10px;
	color: #F15A24;
}



/*見出し*/
.prices table.p_table td>h3,
.prices table.p_table td>dl>dt
{
	font-size:16px;
	font-weight: bold;
	display:block;
	text-align:center;
}
.prices table.p_table .member td h3{
	color: #00a99d;
	margin-top: 3px;
}
.prices table.p_table td h3.np{
	color: #00a99d;
}
.prices table.p_table .member td:first-child h3{
	letter-spacing: 1em;
	text-indent: 1em;
}
/*枠線*/
.prices table.p_table tr.age td,
.pkg .p_table td.optitle{
	border-bottom: 1px #00A99D dashed;
}

/*金額、無料*/
.prices table.p_table tr.playtime>td>span,
.prices table.p_table td>dl>.free.addition>em
{
	font-size:2rem;
	font-weight:600;
}
/*小さい文字*/
.prices table.p_table td>p,
.prices table.p_table dl.secondary>dt,.prices table.p_table dl.secondary>dd,
.prices table.p_table td>dl>dt>span,
.prices table.p_table td>dl>dd.addition
{
	font-size: 12px;
	display: block;
	font-weight: normal;
	color: #2b494e;
}
.prices table.p_table dl.secondary>dt {
	color: #00a99d;
	font-weight: 600;
}
.prices table.p_table dl.secondary>dd>em{
	color:#F15A24;
}

/*  allreserve  */
.allreserve{
	text-align:center;
	margin:20px 0 0 0;
}
.allreserve>p{
	color:#f15a25;
	display:inline-block;
	font-size: 1.8rem;
    margin: 0 0 1em 0;
}
.prices .allreserve table.p_table th.th_4{
	background: #fff;
	width: 30%;
}
.prices .allreserve table.p_table th>.t_th_wrap>.areaname{
	font-size:2em;
	top: 50%;
}
.prices .allreserve table.p_table th>.t_th_wrap>.pickup{
	top: -55px;
}
.prices .allreserve table.p_table td{
	border-left: 0px solid #00a99d;
	padding-right: 15px;
}
.prices .allreserve table.p_table table td{
	border-left: 1px solid #00a99d;
	padding: 15px 10px;
}
.allreserve .p_table thead tr td dl{
	border-bottom:2px dotted #00a99d;
	width:95%;
	margin:0 auto;
	padding:0 0 10px 0;
}
.allreserve .p_table thead tr td dl dt{
	display: inline-block;
	vertical-align: bottom;
}
.allreserve .p_table thead tr td dl dd{
	display: inline-block;	
	margin:0 25px 0 5px;
}
.allreserve table.p_table td>ul{
	width:90%;
	margin:10px auto;
}
.allreserve table.p_table th>ul
{
	width:90%;
	margin:10px auto;
	color: #2b494e;
	    list-style-type: disc;
	font-weight: normal;
	padding: 0 20px;
	white-space: break-spaces;
}
.allreserve table.p_table td>ul>li,.allreserve table.p_table td>ul>li.first{
	list-style-type: disc;
}
.allreserve table.p_table td>ul>li.first{
	display: list-item;
	float: left;
	margin-right: 20px;
}
.allreserve table.p_table td>ul>li.mini{
	display:inline-block;
	margin-right:1em;
}
.allreserve table.p_table td>ul>li>span,.allreserve table.p_table th>ul>li>span{
	display:inline-block;
	border:1px solid #000;
	padding:0px 1em;
	border-radius: 5px;
	line-height:1.2em;
	margin:0 0 0 0.5em;
	position:relative;
}
.allreserve table.p_table td>ul>li>span.message{
	background:#F60;
	color:#FFF;
	border:none;
	position: relative;
}
.allreserve table.p_table td>ul>li>span.message:before {
  content: "";
  position: absolute;
  left: -15px;
  margin-top: -15px;
  bottom: 4px;
  border: 5px solid transparent;
  border-right: 15px solid #ff6600;
}

.allreserve table.p_table td>ul>li>span.message::after{
	background:#F60;
}
.prices .allreserve table.p_table table th{
	    background-color: #00a99d;
	color: #FFF;
	padding: 15px 0;
}
.prices .allreserve table.p_table table th>div{
	    display: inline-block;
}
.prices .allreserve table.p_table table th em.d_date{
	padding: 0 5px;
	text-decoration:underline;
}

.prices .allreserve table.p_table table th em.d_date.f_small{
	font-size:12px
}
.prices .allreserve table.p_table table td span{
	font-size: 2.5rem;
    line-height: 1em;
}
.prices .allreserve table.p_table table td.item{
	color: #00a99d;
}
/*ふきだし*/
.prices table.p_table td>dl>.free.addition{
	border-radius: 5px;
	background: #00a99d;
	color: #fff;
	padding: 5px 10px;
	line-height: 1.5em;
	display: block;
	position: relative;
	width: 90%;
	margin: 5px auto -4px auto;
}
.prices table.p_table td>dl>.free.addition:after{
	content: "";
	position: absolute;
	bottom: -19px;
	left: 50%;
 	margin-left: -10px;
	border: 10px solid transparent;
	border-top: 10px solid #00a99d;
	transition: all 0s ease 0s;
}
.prices table.p_table td>dl>.free.addition>em{
	display:block;
	text-align:center;
	padding:3px 0;
}
/*ふきだし シニア*/
.prices table.p_table td.senior>dl>.free.addition{
	border-radius: 5px;
    background: #f15a24;
    color: #fff;
    padding: 5px 10px;
    line-height: 1.5em;
    display: block;
    position: absolute;
    width: 6em;
    font-size: 15px;
    margin: 5px auto -4px auto;
    left: -40px;
}
.prices table.p_table td.senior>dl>.free.addition:after{
left: 99px;
    top: 30%;
    box-sizing: border-box;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #f15a24;
}

/*当日指定日 マウスオーバー*/
.prices table.p_table table th .d_date_wrap{
	text-align:center;
	display:inline-block;
	position:relative;
}
.prices table.p_table table th .d_date_wrap>em.d_date{
	padding: 0 5px;
	text-decoration:underline;
}
.prices table.p_table table th .d_date_wrap>em.d_date>img{
	width: 10px;
	vertical-align: text-top;
}
.prices table.p_table table th .d_date_wrap>em.d_date>img.img,.prices table.p_table table img{
	width: 15px;
	vertical-align: middle;
}
.prices table.p_table table th .d_date_wrap>em.d_date.f_small{
	font-size:12px
}
.prices table.p_table table th em.d_date:hover{
	color:#F15A24;
	cursor : pointer;
}
.prices table.p_table table th em.d_date:hover + .hukidasi{
	display:block;
}
.prices table.p_table table th .hukidasi{
	border-radius: 5px;
	background: #F15A24;
	color: #fff;
	padding: 5px 10px;
	line-height: 1.5em;
	display: none;
	position: absolute;
	bottom: 3em;
	width: 180px;
	left: -10%;
	margin: auto;
}
.prices table.p_table table th .hukidasi:before{
	content: "";
	position: absolute;
	top: 99%;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #F15A24;
}
.prices table.p_table table th .hukidasi>h5{
	border-bottom:#FFF solid 1px;
	font-size:12px;
	text-align:center;
}
.prices table.p_table table th .hukidasi>ul{
	font-size: 12px;
	text-align: center;
	line-height: 1.5em;
}
.prices table.p_table table th .hukidasi>ul>li{
	font-weight: normal;
	display: inline-block;
	line-height: 1.5em;
	font-size: 1.3rem;
}

/*会員登録*/
.prices table.p_table td>dl>dd>span{
	font-size: 3.5rem;
	vertical-align: sub;
	line-height: 1em;
}
#t-hamamatsu.prices table.p_table td>dl>dd> span.maker{
	font-size: 12px;
	vertical-align: initial;
	text-decoration: none;
}
/*おとな　シニア*/
.prices table.p_table td.senior>dl>dd.addition{
	color: #F15A24;
}
#t-hamamatsu.prices table.p_table td.senior>dl>dd> span.f65{
	font-size: 18px;
	vertical-align: initial;
	text-decoration: none;
}
#t-hamamatsu.prices table.p_table td.senior>dl>dd> span.maker{
	text-align: left;
    display: block;
    margin: 15px 0 0 10px;
	line-height: 1.5em;
}
#t-hamamatsu.prices table.p_table td.senior>dl>dd> span.maker>em{
	border: solid 1px #F15A24;
    vertical-align: unset;
    display: inline;
}
/*オプション*/
.pkg .p_table .optitle{
	background-color: #FFF;
	color: #f15a25;
}
.prices table.p_table .optitle>.wrap_option {
	margin:10px;
	border:2px solid;
	padding:10px;
	text-align:center;
}
.prices table.p_table .optitle>.wrap_option>h3 {
	margin-bottom: 5px;
	text-align: center;
	display: block;
	color: #2b494e;
}
.prices table.p_table .optitle>.wrap_option>h3>span {
	font-size:11px;
	margin:0 3px;
}
.prices table.p_table .optitle>.wrap_option>h3>span.o_f {
    width: 21em;
    display: inline-block;
    text-align: left;
}
.prices table.p_table .optitle>.wrap_option .tag{
	border: 2px solid #F15A24;
	background-color: #FFF;
	color: #F15A24;
}
.prices table.p_table .optitle>.wrap_option>.wrap_option_price{
	text-align: center;
	margin-top:5px;
}
.prices table.p_table .optitle>.wrap_option>.wrap_option_price>.tag{
	background-color: #F7D161;
	border:none !important;
	vertical-align: initial;
}
.prices table.p_table .optitle>.wrap_option>.wrap_option_price>.tag>img{
	width: 25px;
	height: auto;
	display: inline-block;
	margin: 0 10px 0 0;
}
.prices table.p_table .optitle>.wrap_option>.wrap_option_price>.tag>span{
	display: inline-block;
}
.prices table.p_table .optitle>.wrap_option>.wrap_option_price>div{
	font-size:2.5rem;
	display:inline-block;
	vertical-align: super;
}
.prices table.p_table .optitle>.wrap_option>.wrap_option_price>div>span{
	font-size:1.3rem;
	width:4em;
	text-align:left;
	display:inline-block;
}

.prices table.p_table .optitle.t_5>.wrap_option {
	border:0px solid;
}
.prices table.p_table .optitle.t_5>.wrap_option>.wrap_option_price{
	text-align: right;
	margin:10px 0;
}
.prices table.p_table .optitle.t_5>.wrap_option>.wrap_option_price>div {
	display: block;
    text-align: center;
}
.prices table.p_table .optitle.t_5>.wrap_option>.wrap_option_price>div>span {
	width:auto;
}

.pkg .p_table .optitle>dl{
	overflow: hidden;
	margin:0 0 10px 0;	
}
.pkg .p_table .optitle>dl>dt{
	display: inline-block;
	width: 180px;
	line-height: 3.5rem;
	text-align:left;
}
.pkg .p_table .optitle>dl>dd{
	display:inline-block;
	margin:0;
	line-height: 3rem;
}
.pkg .p_table .optitle>dl>dd>span{
	font-size:2.5rem;
}
.pkg .p_table tr .optitle .tag{
	border: 2px solid #00a99d;
	background-color: #FFF;
	padding: 5px 1em;
	border-radius: 5px;
	display: inline-block;
	color: #00a99d;
	line-height: 1.2em;
	margin: 0 5px 0 0;
	font-size: 12px;
	font-weight: normal;
	vertical-align: middle;
}
.pkg .p_table tr .optitle .tag_member{
	border: 2px solid #f15a25;
	color:#f15a25;
	margin:0 5px;
}
.pkg .p_table tr .optitle .tag_freeplay{
	background-color: #00a99d;
	color:#FFF;
}
.pkg .p_table .optitle_title{
	background-color: #fff3e2;
}
/*オプション　long*/
.pkg .p_table .optitle.long>dl>dt,.pkg .p_table .optitle.long>dl>dd{
	line-height: 3.5rem;
}
.pkg .p_table .optitle.long>dl>dt{
	display: inline-block;
	width: 75%;
	margin-left:5%;
	text-align:left;
	font-size:1.3em;
}
.pkg .p_table .optitle.long>dl>dd{
	width:15%;
	margin-right:4%;
	text-align:right;
}
.pkg .p_table .optitle.long>dl{
	margin:0;
}

/*t_1*/

.prices table.p_table th.th_1{
	border-top-color:#F00 !important;
	border-left-color:#F00 !important;
}
.prices table.p_table th.th_2,.prices table.p_table td.t_1,.prices table.p_table td.t_2,.prices table.p_table td.option1{
	border-left-color:#F00 !important;
}
.prices table.p_table td.senior {
    border-bottom: solid 5px #F00;
}


/* =.prices2 sm
-------------------------------------------------------------------------*/


#price_headbanner {
	border-radius: 25px;
	background-color:#09F;
	width:95%;
	box-sizing:border-box;
	margin:0 auto;
	padding:20px;
	font-size:16px;
}
#price_headbanner h1{
	color: #FFF;
	text-align: center;
	margin: -20px -20px 0 -20px;
    height: 3em;
    line-height: 3em;
    background: linear-gradient(#47b6ff, #0099ff);
	border-radius: 25px 25px 0 0;
}
#price_headbanner .twrap{
	overflow: hidden;
	margin: 0 0 10px 0;
}
#price_headbanner .mbt,#price_headbanner .art{
	display: block;
	float: left;
	width: 45%;
	height: 50px;
	border: solid 2px #FFFFFF !important;
	border-radius: 10px;
	font-size: 12px;
	text-align: center;
	line-height: 48px;
	color: #FFF;
}
#price_headbanner .mbt{
	border-color: #f15a24 !important;
	background-color: #FFF;
	font-size: 16px;
	color: #f15a24;
	font-weight: 600;
}
#price_headbanner .plus{
	display: block;
	float: left;
	width: 6%;
	padding:12px 0 0 0;
	margin:0 2%;
	font-size:20px;
	font-weight:600;
	color:#FFF;
}


#price_headbanner .memberwrap{
	background:#FFF;
	padding:15px;
	text-align:center;
}
#price_headbanner .memberwrap p{
	display: inline-block;
	font-size: 11px;
	background: #f15a24;
	border-radius: 5px;
	padding: 5px 10px;
	color: #fff;
	vertical-align: middle;
	margin:0;
}
#price_headbanner .memberwrap .entrytext{
	display:inline-block;
	color:#f15a24;
	font-weight: 600;
	vertical-align: middle;
	margin:0 0 0 0.5em;
	    font-size: 115%;
}
#price_headbanner .memberwrap .entrytext>span{
	font-size:12px;
}
#price_headbanner .memberwrap .guidetext{
	text-align:center;
	font-size:12px;
	margin:5px 0;
}
#price_headbanner .memberwrap .warap{
	background-image: repeating-linear-gradient(-45deg, #fbb03b, #fbb03b 10px, #fbc963 0, #fbc963 12px);
	padding: 10px;
	border-radius: 10px;
	position: relative;
	margin-top:10px;
}
#price_headbanner .memberwrap .warap:before{
	content: "";
	position: absolute;
	top: -17px;
    left: 50%;
    margin-left: -15px;
    border: 10px solid transparent !important;
    border-bottom: 10px solid #fbb03b !important;
}

#price_headbanner .memberwrap .warap>div{
	margin-top: 5px;
	font-size: 14px;
	font-weight: 600;
}
#price_headbanner .memberwrap .warap>img{
	display: block;
	float: right;
	width:60px;
	height:auto;
}
#price_headbanner>.p_line{
	color:#FFF;
	margin:15px 0 0 0;
	text-align:center;
	font-size:12px;
}
/*botan*/
#price_headbanner .countlink {
	text-align:center;
	display:none;
}
#price_headbanner .countlink a img{
	width: 40px;
	vertical-align: middle;
}
#price_headbanner .countlink a{
	display: inline-block;
	padding: 0.5em 0;
	width:100%;
	text-decoration: none;
	background: #f15a24;/*ボタン色*/
	color: #FFF;
	border-bottom:solid 6px #c13300 !important;
	border-radius: 5px;
}
#price_headbanner .countlink a:active {/*ボタンを押したとき*/
    -ms-transform: translateY(4px);
    -webkit-transform: translateY(4px);
    transform: translateY(4px);/*下に動く*/
    border-bottom: none !important;/*線を消す*/
}
#price_headbanner .countlink a::before{
	right: 15px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff !important;
	border-right: 2px solid #fff !important;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* =.plan_wrap
-------------------------------------------------------------------------*/
.plan_wrap {
	width:95%;
	margin:40px auto 10px auto;
}
.plan_wrap p{
	margin:0;
}
.plan_wrap table{
	border-collapse:collapse;
	border:solid 3px #f7931e !important;
	margin:0 0 10px 0;
}
.plan_wrap table tr td,.plan_wrap table tr th{
	border-collapse:collapse;
	border:solid 2px #f7931e !important;
	border-left:dotted 2px #f7931e !important;
	border-right:none 0px #f7931e !important;
	background-color:#FFF;
	padding:10px;
	font-size:14px;
}

.plan_wrap table tr .area{
	background: #ffb03b;
	height: 50px;
	overflow: hidden;
	padding:0 10px;
	line-height: 50px;
	font-weight:600;
}
.plan_wrap table tr .area>span{
	display: inline-block;
    font-size: 11px;
    background: #2b494e;
    border-radius: 5px;
    padding: 0px 8px;
    color: #fff;
    vertical-align: middle;
    margin: 0 0.5em 0 0;
    height: 25px;
    line-height: 25px;
	font-weight:normal;
}
.plan_wrap table tr .area>div{
	float: right;
	line-height: 1em;
	margin:7px 0;
	font-weight:normal;
}
.plan_wrap table tr .area>div>span{
	font-size: 20px;
	font-weight: 700;
	color: #f15a24;
	background-color: #ffe7b8;
	height: 35px;
	width: 35px;
	display: inline-block;
	line-height: 34px;
	text-align: center;
	border-radius: 50px;
	margin:0 3px;
}
.plan_wrap table tr .member{
	background-image:repeating-linear-gradient(-45deg, #f6d082, #f6d082 10px, #fcd79f 0, #fcd79f 12px);
	text-align:center;
	padding:5px;
	font-size:12px;
	color: #2b494e;
	font-weight: normal;
}
.plan_wrap table tr .member>p{
	color: #F00;
	font-size: 16px;
	font-weight: 600;
	display:block;
	text-align:center;
}
.plan_wrap table .option .item>.member{
	text-align:left;
	padding:0 5px;
	margin-top:5px;
}
.plan_wrap table .option .item>.member>p{
	display: inline-block;
	font-size: 14px;
	vertical-align: baseline;
	margin:0 0 0 0.5em;
}

.plan_wrap table tr .price,.plan_wrap table tr .time{
	text-align:center;
	font-size:18px;
	font-weight: 700;
	width:30%;
}
.plan_wrap table tr .time{
	color: #f15a24;
}
.plan_wrap table tr .capacity{
	background:#ffe7b8;
}
.plan_wrap table tr .price>span,
.plan_wrap table tr .time>span,
.plan_wrap table .option .price>div>span{
	font-size:11px;
}
.plan_wrap table tr .date_title{
	background:#ffce7c;
	font-weight: 600;
    height: 50px;
    padding: 0 10px;
    line-height: 50px;
}
.plan_wrap table tr .option_title{
	text-align:center;
	background:#ffce7c;
	color:#F15A24;
	font-weight: 600;
	padding:5px;
	font-size:12px;
}
.plan_wrap table .option>td{
	background: #ffe7b8;
	color: #F15A24;
	font-weight: 600;
}
.plan_wrap table .option>td>.notes,
.plan_wrap table tr .item .notes{
	font-weight: normal;
	background-color: #F15A24;
	color: #FFFFFF;
	padding:5px 10px;
	border-radius: 5px;
	position: relative;
	margin:7px 0 0 0
}
.plan_wrap table .option>td>.notes>p,
.plan_wrap table tr .item .notes>p{
	font-size: 12px;
	line-height: 1em;
	margin:3px 0;
}
.plan_wrap table .option>td>.notes::before,
.plan_wrap table tr .item .notes::before{
	content: "";
	position: absolute;
	top: -17px;
    left: 15%;
    margin-left: -15px;
    border: 10px solid transparent !important;
    border-bottom: 10px solid #f15a24 !important;
}
.plan_wrap table .option>.item>span{
	color:#ff3d00;
	display:block;
	font-size: 12px;
	margin:0 0 0.5em 0;
}
.plan_wrap table .option>.price>div{
	text-align:right;
	display: inline-block;
}
.plan_wrap table .sub .item{
	color:#F15A24;
	font-weight:600;
}
.plan_wrap table .sub .item>div{
	margin:5px 0 0 0;
}
.plan_wrap table .sub .item>div>p{
	color:#2b494e;
	font-size: 12px;
	font-weight:normal;
	line-height: 1.3em;
	margin: 0 0 0 1.3em;
}
.plan_wrap table .sub .item>div>p>span{
	color:#F00
}
.plan_wrap table .sub .price{
	font-weight: normal;
}
.plan_wrap table .sub .price>p{
	font-size: 11px;
	text-align: center;
	line-height: 1em;
	margin-bottom: 2px;
	color: #F15A24;
}

.plan_wrap table tr .item a.modaal,.plan_wrap table tr .date_title a.modaal{
	color: #F00;
	text-decoration: underline;	
}

/*ここから非表示の内容*/

.plan_wrap .explain {
	position: relative;
	margin-top:15px;
}
.plan_wrap .explain:before{
	content: "";
	position: absolute;
	top: -19px;
    left: 50%;
    margin-left: -15px;
    border: 10px solid transparent !important;
    border-bottom: 10px solid #71caf2 !important;
}

.plan_wrap .explain label.botannnn{
	line-height: 3em;
	font-size: 1.2rem;
	display: block;
	color: #FFF;
	text-align: center;
	background: linear-gradient( #76ccf3,#29abe2);
	cursor : pointer;
	transition: 0.8s;
	margin: 0 auto;
	width:100%;
	position: relative;
	font-weight: bold;
}
.plan_wrap .explain label.botannnn:before{
	content: url(../images/temp/storearea/hamamatsu/price/icon.svg);
	display: inline-block;
	vertical-align: middle;
	line-height: 1em;
}
.plan_wrap .explain label.botannnn.label_open:after{
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: '\f00d';
	font-size: 1.2em;
	position:absolute;
	right:2vw;
	top:25%;
}


.plan_wrap .explain input {
	display: none;
}
.plan_wrap .explain .open{
	height: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}
.plan_wrap .explain input:checked ~ .open{
	background-color: #76ccf3;
	overflow: hidden;
	height: auto;
    opacity: 1;
    padding: 15px;
}
.plan_wrap .explain .open .head {
}
.plan_wrap .explain .open .head>ul {
}
.plan_wrap .explain .open .head>ul>li {
	text-align: center;
	line-height: 2em;
	font-size:16px;	
}
.plan_wrap .explain .open .head>ul>li>span {
	border-radius: 5px;
	background-color: #FFF;
	border:solid 1px #2C494D;
	padding:0 10px;
	margin:0 5px;
}
.plan_wrap .explain .open .guide{
	margin: 10px 0 50px 0;
	background: #2C494D;
	text-align: center;
	font-size: 14px;
	color: #FFF;
	border-radius: 8px;
	line-height: 2em;
	position: relative;
}
.plan_wrap .explain .open .guide::before {
	content: '';
	display: block;
	position: absolute;
	bottom: -45px;
    width: 100%;
    height: 45px;
    background: url(../images/storearea/icon-arrow.svg) no-repeat 50% bottom;
}

.plan_wrap .explain .open dl dt,.plan_wrap .explain .open dl dd{
	background-color:#fff;
	display:block;
	text-align:center;
}
.plan_wrap .explain .open dl dt{
	width: 90%;
	height: 35px;
	margin: 15px auto -15px auto;
	border-radius: 3px 3px 0 0;
	font-size: 1.2rem;
	position: relative;
	font-weight: bold;
	line-height: 34px;
}
.plan_wrap .explain .open dl dt.first::before,.plan_wrap .explain .open dl dt.first::after{
	content: url(../images/temp/storearea/hamamatsu/price/icon_beginner.svg);
	display: inline-block;
	vertical-align: middle;
}
.plan_wrap .explain .open dl dd{
	margin:0;
	padding:15px;
	border-radius: 3px;
}

.plan_wrap .explain .open dl dd>figure{
	margin:5px 0;
}

.plan_wrap .explain .open>.case{
	position: relative;
	border: 2px solid #0071bc !important;
	padding: 10px;
	margin-top:2em;
	border-radius: 5px;
}
.plan_wrap .explain .open>.case>h3{
	background: #0071bc;
	padding: 0 1em;
	position: absolute;
	border-radius: 5px;
	top: -1em;
	left: 5%;
	color: #FFF;
	line-height: 2em;
	font-size:150%;
}

/*手順*/
.plan_wrap .process{

}
.process figure img,
.plan_wrap .explain .open .head figure img{
	position: relative;
	display: inline-block;
	margin: 0px;
	padding: 0px;
	width: auto;
    height: 70px;
}
.process figure div{
	display: inline-block;
	vertical-align: initial;
	text-align: center;
	line-height: 1.5em;
}
.plan_wrap .process>li{
	position: relative;
}
.plan_wrap .process>.first,
.plan_wrap .process>.price>div{
	border: #F15A24 solid 2px !important;
	border-radius: 8px;
	padding: 10px;
}
.plan_wrap .process>li,
.plan_wrap .process>.price>div{
	text-align:center;
	font-size:110%;
}
.plan_wrap .process>.first{
    color: #f15a24;
    font-weight: 600;
	margin-bottom:27px;
}
.plan_wrap .process>.price2{
	margin-top:27px;
}
.plan_wrap .process>.first>p,
.plan_wrap .process>.finish>p{
	background: #f15a24;
	border-radius: 3px;
	display: inline-block;
	color: #FFF;
	padding: 0 1em;
	font-weight: 600;
}
.plan_wrap .process>.finish{
	margin-top:27px;
	font-size:18px;
}
.plan_wrap .process>.price>div{
	margin-top:5px;
}
.plan_wrap .process>.price>div:first-child{
	margin-top:0px;
}

.plan_wrap .process>.price>div>p{
	color:#3C9;
	font-size:12px;
	text-align:center;
}
.process>.price>div>figure,
.plan_wrap .explain .open .head>figure{
	position: relative;
}
.plan_wrap .process>.first::after{
	content: "＋";
	font-size: 35px;
	color: #00a99d;
	bottom: -45px;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	font-weight: normal;
}
.plan_wrap .process>.price2::after{
	content: "＋";
	font-size: 35px;
	color: #00a99d;
	font-weight: normal;
	top: -47px;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
}
.plan_wrap .process>.finish::before{
	content: "=";
	font-size: 40px;
	color: #00a99d;
	top: -51px;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	transform: rotate( -90deg );
	font-weight: normal;
}
.plan_wrap .process>.price>div>figure::before,
.plan_wrap .process>.first>figure::before {
	content: "×";
	font-size: 40px;
	color: #2b484c;
	display: inline-block;
	font-weight: normal;
}


/*注釈など*/
.process li p.note{
	padding-left:1em;
	margin-bottom:10px;
}
.process li p.note::before{
	content: "※";
	display:inline-block;
}
.plan_wrap .explain .open dl dd>.note>li>.understyle{
	text-decoration: underline;
}
.modaal-container {
	border-radius: 10px !important;
}
.modaal-content-container {
	color: #2b494e;
}
.modaal-content-container h3 {
	color: #19a99d !important;
	border-bottom: solid 5px #19a99d !important;
	line-height: 2em;
	display: block;
	margin: 0 0 10px 0;
	padding: 0 0 5px 0;
	text-align: center;
	font-size: 130%;
}
.modaal-content-container ul {
}
.modaal-content-container ul li {
	text-align: center;
}







/* =.attractions
-------------------------------------------------------------------------*/

.attractions article>section:not(:first-of-type) { margin-top: -80px; }

.attractions article>section:first-of-type {
    margin-top: 50px;
    padding-top: 50px;
    }


.attractions article>section {
    padding: 60px 0 100px;
    filter: drop-shadow(#00a99d 0 -2px 0);
        -webkit-filter: drop-shadow(#00a99d 0 -2px 0);
	-webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;	
    }


.attractions article>section:before {
    content: '';
    position: absolute;
    top: -10px;
    display: block;
    width: 100%;
    height: 10px;
    }

.attractions article>section:nth-of-type(odd) { background: #fff6af; }

.attractions article>section:nth-of-type(odd):before {
    background: linear-gradient(45deg,transparent 33.333%,#fff6af 33.333%,#fff6af 66.667%,transparent 66.667%),linear-gradient(-45deg,transparent 33.333%,#fff6af 33.333%,#fff6af 66.667%,transparent 66.667%);
    background-size: 20px 40px;
    }

.attractions article>section:nth-of-type(even) { background: #fff; }

.attractions article>section:nth-of-type(even):before {
    background: linear-gradient(45deg,transparent 33.333%,#fff 33.333%,#fff 66.667%,transparent 66.667%),linear-gradient(-45deg,transparent 33.333%,#fff 33.333%,#fff 66.667%,transparent 66.667%);
    background-size: 20px 40px;
    }



.prices article>section>.pkg>header h1 { margin-top: 0 !important; }

.attractions article>section>.pkg>header h1 { margin-top: 0 !important; }


.attractions article #keyimage { max-width: 800px; }

.attractions article>section>.pkg figure {
    margin: 0 0 30px;
    overflow: hidden;
    }

.attractions article>section>.pkg figure span,
.attractions article>section>.pkg p>span,
.attractions article>section .extra p>span {
    display: block;
    margin: 0 0 20px;
    }

.attractions article>section>.pkg figure span:not(.map),
.attractions article>section>.pkg p>span,
.attractions article>section .extra p>span {
    border-radius: 10px;
    overflow: hidden;
    }

.attractions article>section>.pkg figure span:not(.map) { height: calc((100vw - 40px) * .75); }


.attractions article>section>.pkg figure.col2 span,
.attractions article>section>.pkg figure.col3 span {
    float: left;
    margin-right: 10px;
    }

.attractions article>section>.pkg figure.col2 span {
    width: calc(50% - 5px);
    height: calc((100vw - 80px) / 2 * .75);
    max-height: 348px;
    }

.attractions article>section>.pkg figure.col3 span {
    width: calc((100% - 20px) / 3);
    height: calc((100vw - 80px) / 3 * .75);
    max-height: 235px;
    }

.attractions article>section>.pkg figure span:last-child { margin-right: 0 !important; }

.attractions article>section>.pkg p:after {
    content: '';
    display: block;
    clear: both;
    }

.attractions article>section>.pkg p>span,
.attractions article>section .extra p>span {
    width: calc(50% - 5px);
    float: left;
    margin: 0 10px 10px 0;
    }

.attractions article>section .extra {
    position: relative;
    margin: 50px 0;
    padding: 10px 0 40px;
    background: rgba(43,73,78,.2);
    }

.attractions article>section .extra:before,
.attractions article>section .extra:after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 10px;
    background: linear-gradient(45deg,transparent 33.333%,rgba(43,73,78,.2) 33.333%,rgba(43,73,78,.2) 66.667%,transparent 66.667%),linear-gradient(-45deg,transparent 33.333%,rgba(43,73,78,.2) 33.333%,rgba(43,73,78,.2) 66.667%,transparent 66.667%);
    background-size: 20px 40px;
    }

.attractions article>section .extra:before { top: -10px; }

.attractions article>section .extra:after {
    bottom: -10px;
    transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
    }


/* =.reserve
-------------------------------------------------------------------------*/

ul.errors {
	margin: 0 1em 40px 1em;
}

ul.errors li.error {
    line-height: 3;
    background-color: #f33;
    color: #fff;
    text-align: center;
    font-size: 1.8em;
	
}


div.picker {
    text-align: center;
    margin: -40px auto 40px;
    }

div.picker fieldset {
    display: inline-block;
    white-space: nowrap;
    margin: 20px auto;
    }

div.picker input,
div.picker span#otherDaybutton {
    height: 50px;
    line-height: 50px;
    letter-spacing: .1em;
    border-radius: 6px;
    }

div.picker input[type="text"]#datepicker {
    width: 180px;
    font-size: 1.8rem;
    margin-right: 5px;
    text-align: center;
    background: #Ffff;
    border: 2px solid rgba(0,0,0,.2) !important;
    transition: all .3s;
    }

div.picker span#otherDaybutton {
    position: relative;
    width: 120px;
    font-weight: 700;
    font-size: 1.2rem;
	text-align:center;
    color: #fff;
    background: #f15a24;
	display:inline-block;
    }

.ui-datepicker { width: 180px; }

#timetable {
    width: 310px;
    margin: 0 auto;
    border: 2px solid #2b494e !important;
    border-radius: 20px;
    overflow: hidden;
    }

_::-webkit-full-page-media,_:future,:root #timetable {
    background: #b3b3b3;
    }

#timetable table { margin-bottom: -2px; }
#timetable tr:first-of-type th { border-bottom-color: #2b494e; }

#timetable th,
#timetable td {
    background: #fff;
    border-right: 1px solid #b3b3b3;
    border-bottom: 1px solid #b3b3b3;
	text-align:center;
    }
#timetable td a {
	display: block;
	font-size: 130%;
	text-decoration: underline;
	height: 100%;
	line-height: 1.5em;
	text-align: center;
	position: relative;
}
#timetable td a span {
    position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#timetable td a:hover {
	background-color: rgba(0, 199, 255, 0.5);
}
#timetable th[scope="col"]:last-of-type,
#timetable td:last-of-type { border-right: none; }

#timetable tr:last-of-type th,
#timetable tr:last-of-type td { border-bottom: none !important; }

#timetable tr.shut_wrap th,
#timetable tr.shut_wrap td { background: #e6e6e6; }

#timetable tr .shut {
	background: #e6e6e6;
}

#timetable th {
    white-space: normal;
    font-size: 1.1rem;
    line-height: 1.5;
    text-align: center;
    padding: .5em 3px;
    overflow: hidden;
    }

#timetable th[scope="col"] { vertical-align: top; }

#timetable th[scope="row"] {
    width: 42px;
    font-weight: 400;
    font-size: 1.4rem;
    }

#timetable th span { display: inline-block; }

#timetable th a {
    position: relative;
    display: inline-block;
    font-size: 1rem;
    text-align: left;
    margin: .5em 0 0 0;
    padding-left: 1.25em;
    float: right;
    color: #00a99d;
    }

#timetable th a:before {
    position: absolute;
    content: '\f054';
    top: 0;
    left: 3px;
    }

#timetable th a span { cursor: pointer; }

#timetable td {
    width: 67px;
    height: 24px;
    overflow: hidden;
    }

#timetable td.possible { background: #00a99d; color:#fff}
#timetable td.crowded { background: #fcee21;}
#timetable td.onlyafew { background-color: #ffa338;}
#timetable td.impossible { background: #ff4a59; }







#timetable td.possible,
#timetable td.possible span,
#timetable td.crowded,
#timetable td.crowded span,
#timetable td.onlyafew,
#timetable td.onlyafew span
 { 
text-decoration:underline;
cursor:pointer;
}


article ul.supli { margin: 20px auto; }

article ul.supli li:before {
    width: 20px;
    height: 15px;
    margin: -.1em .25em 0 0;
    border-radius: 0;
    }

article ul.supli+p { text-align: center; }
.reserve .download { width: calc(100% - 60px); }


/* =.access
-------------------------------------------------------------------------*/
.access article>.pkg {
    position: relative;
    max-width: 960px;
	
	-webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	
    }

.access article>.pkg figure {
    position: relative;
    margin: 0 0 50px;
    }

.access article>.pkg figure p.more {
    width: 260px;
    margin-top: 20px;
    }

.access article .details {
    margin: 0 0 20px;
    background: #fff;
    border: 2px solid #00a99d !important;
    border-radius: 20px;
    overflow: hidden;
    }

.access article .details .datatable { margin: 0; }

.access article .details .datatable dt,
.access article .details .datatable dd { padding: 1em 15px; }

.access article .details .datatable dl:first-of-type dt,
.access article .details .datatable dl:first-of-type dd { border-bottom: 1px solid #ccc; }

.access article .details .datatable dt {
    width: 6em;
    border-right: 1px solid #ccc;
    }

.access article .details .datatable dd a.jump {
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
    }

.access article .details+.details { padding: 15px; }

.access article .details+.details h2 {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 0 0 1em;
    }
.access article .details+#route.details h2 {
    margin: 0 0 0 0;
    }

.access article .details+.details nav li a {
    position: relative;
    display: block;
    font-weight: 700;
    line-height: 1.6;
    color: #00a99d;
    }

.access article .details+.details nav li a span {
    white-space: nowrap;
    cursor: pointer;
    }

.access article .details+.details nav li a strong { color: #f15a24; }

.access article .details+.details nav li a:before {
    content: '\f078';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
    font-size: 1.3rem;
    }

.access article>section>.pkg section .text { margin: 0 0 40px; }

.access article>section>.pkg section .text header {
    position: relative;
    margin: 0 0 30px;
    }

.access article>section>.pkg section .text header h1 {
    font-weight: 400;
    font-size: 2.2rem;
    line-height: 1.6;
    margin: 0 0 .5em;
    }

.access article>section>.pkg section .text header span {
    display: block;
    font-size: 1.4rem;
    }

.access article>section>.pkg section .text header p {
    margin: 0;
    }

.access article>section>.pkg section .text header img {
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    }

.access article>section>.pkg section .route {
    position: relative;
    margin: 0 0 30px;
    background: #fafafa;
    border: 1px solid #000;
    border-radius: 10px;
    overflow: hidden;
    }

.access article>section#bycar>.pkg section .route { min-height: calc((100vw - 40px) / 16 * 9); }

.access article>section>.pkg section .text p.notice {
    text-align: center;
    margin: 0;
    padding: 1em 10px;
    color: #00a99d;
    background: #fff;
    border: 1px solid #00a99d;
    border-radius: 10px;
    }

.access article>section#bypublic>.pkg section .text figure {
    max-width: 500px;
    margin: 30px auto;
    }


dl.rootlist {
	overflow: hidden;
	line-height: 2em;	
}
dl.rootlist dt {
	width: 5em;
	border-radius: 5px;
	color: #FFF;
	float: left;
	text-align:center
}
dl.rootlist dd {
	padding: 0 0 10px 6em
}
dl.rootlist dt.dtitem1,dl.rootlist dt.dtitem3{
	background-color:#00A99D
}
dl.rootlist dd.dditem1 {
	background:url(../images/temp/storearea/arrow.gif) repeat-y 1.8em 1.8em;
	background-size: 20px auto;
}
dl.rootlist dt.dtitem2 {
	background-color: #F15A24
}
dl.rootlist dd.dditem2 {
	background:url(../images/temp/storearea/arrow2.gif) repeat-y 1.8em 1.8em;
	background-size: 20px auto;
	padding: 0 0 60px 6em
}

/*--------------------*/
.s_message{
	font-size:1.5rem;
	display:block;
	margin:-40px auto 50px auto;
	text-align:center;
}
.ss_message{
	font-size:1.6rem;
	display:block;
	margin:0px auto 30px auto;
	text-align:center;
}
.rtwrap {
	margin-bottom:20px;
}.rtwrap table{
    border: 2px solid #2b494e;
	border-radius: 20px;
	border-collapse: separate;
	background:#00a99d;
}
.rtwrap table th,.rtwrap table td{
	padding: 15px;
}
.rtwrap table th.title{
	color: #FFF;
	font-size: 230%;
	text-indent: 1em;
	padding-bottom: 0px;
	position: relative;
}
.rtwrap table th.title span{
	margin-left: 1em;
}
.rtwrap table th p.deletebtn{
	text-indent: 0;
	position: absolute;
	right: 20px;
	top: 20%;
	font-size: 1.5rem;
	background-color: #FF3;
	color: #2b494e;
	border-radius: 10px;
	border: 1px solid #2b494e;
	margin: 0px;
	padding-top: 5px;
	padding-right: 1em;
	padding-bottom: 5px;
	padding-left: 1em;
}
.rtwrap table th p.deletebtn:hover{
	background-color: #2b494e;
	color:#fff
}
.rtwrap table th.title.option{
	vertical-align: top;
	    font-size: 170%;
}
.rtwrap table th.title.option div{
	border-radius: 20px;
    border-collapse: separate;
    background:#ffa338;
	padding:15px;
	color:#2B494E;
position: relative;
}
.rtwrap table th.title.option div::before,
.rtwrap table th.title.option div::after{
position: absolute;
top: 0;
bottom: 0;
right: 0;
margin: auto;
content: "";
vertical-align: middle;
}
.rtwrap table th.title.option div::before{
right: -30px;
    box-sizing: border-box;
    width: 10px;
    height: 10px;
	border-width:10px !important;
    border: 10px solid transparent;
    border-left: 10px solid #ffa338;
}
.rtwrap table th.title.option div em{
	margin-right: 0.5em;
	color: #fff;
	font-size: 90%;
	display: inline-block;
	text-indent: 0;
	line-height: 2em;
	vertical-align: middle;
}

.rtwrap table td table{
	border-radius: 20px;
	border-collapse: separate;
	background:#fff;
}
.rtwrap table td table th,.rtwrap table td table td{
	padding: 15px;
	color: #2b494e;
	font-size:1.5rem;
}.rtwrap table td table th{
	text-indent: 1em;
	width:7em;
}
.rtwrap table td table th span.font_small{
	text-indent: 1.2em;
    width: 7em;
    font-weight: normal;
    display: block;
    font-size: 1.2rem;
    margin-top: 5px;
}
table em.kome{
	vertical-align: super;	
}
table  span.kome{
	vertical-align: text-top;
}
.rtwrap table td table td {
	text-align:right;
}
.rtwrap table td table td span{
	width:5em;
	display:inline-block;
	vertical-align: middle;
}

/*セレクト*/
.cp_ipselect {
	overflow: hidden;
	text-align: center;
}
.cp_ipselect select {
	font-size: 110%;
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.cp_ipselect.mini {
	display: inline-block;
	vertical-align: middle;
	width: 100px;
}

.cp_ipselect.cp_sl02.mini select {
	padding: 8px 60px 8px 8px;
}


.cp_ipselect.mini2 {
	display: inline-block;
	vertical-align: middle;
	width: 120px;
}

.cp_ipselect.cp_sl02.mini2 select {
	padding: 8px 60px 8px 8px;
}



.cp_ipselect select::-ms-expand {
display: none;
}
.startt {
	line-height: 35px;	
	display: inline-block;
}
.start_wrap {
	width: calc(100% - 3em);
	display: inline-block;
	float: right;
	text-align: right;
	vertical-align: middle;
}
.cp_ipselect.cp_sl02 {
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
	background: #ffffff;
}
.cp_ipselect.cp_sl02::before {
	position: absolute;
	top: 16px;
	right: 13px;
	width: 10px;
	height: 10px;
	padding: 0;
	content: '';
	border-left: 6px solid transparent!important;
	border-right: 6px solid transparent!important;
	border-top: 6px solid #666666!important;
	pointer-events: none;
}
.cp_ipselect.cp_sl02:after {
	position: absolute;
	top: 0;
	right: 2.5em;
	bottom: 0;
	width: 1px;
	content: '';
	border-left: 1px solid #bbbbbb;
}
.cp_ipselect.cp_sl02 select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}
.attendance input[type=radio] {
	display: none;
}
.stafflist {
	position: relative;
	width: 100%;
	height: auto;
	min-height: calc(100% - 100px);
	align-items: center;
	justify-content: space-around;
	align-content: center;
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 60px;
}
.attendance .stafflist label {
	margin: 5px;
	border: 1px solid #006DD9;
	width: 32%;
	height: 80px;
	line-height: 80px;
	text-align: center;
	box-sizing: border-box;
	display: inline-block;
	border-radius: 5px;
	background-color: rgba(255, 255, 255, 0.5)
}
.attendance input[type="radio"]:checked + label {
	background: #31A9EE;
	color: #fff;
}


#ymderror {
	
	font-size: 2em;
	color:crimson;
}

/*確認画面*/



ul.conf li.wrap {
	overflow:hidden;
}

body:not(.confirm) .conf .wrap.inputitems>dl>dd,
body:not(.confirm) .wrap.inputitems.conf.text>dl>dd {
	padding-bottom: 15px !important;
}
ul.conf li.wrap dl dd div.title{
	overflow:hidden;
	font-size:3rem;
}
ul.conf li.wrap dl dd div.title span{
	font-size:80%;
	margin-left:10px;
}
ul.conf li.wrap dl .area_title {
    font-size: 2rem;
	padding-top:10px;
}
body:not(.confirm) .conf .wrap.inputitems>dl>dd.area_title{
	padding-bottom: 10px !important;
	color: #fff;
    background-color: #00a99d;
}
ul.conf li.wrap dl .atfree {
    color: #F15A24;
	font-weight: 600;	
}
ul.conf li.wrap dl .atpri {
	color: #090;
	font-weight: 600;
}
ul.conf li.wrap dl .atjump {
	color: #ea2c2c;
	font-weight: 600;
}
ul.conf li.wrap dl .atkids {
    color: #ff28c5;
	font-weight: 600;	
}
ul.conf li.wrap dl .atall {
    color: #00a99d;
	font-weight: 600;	
}
ul.conf li.wrap dl .atvr {
    color: #0087ff;
	font-weight: 600;	
}
ul.conf li.wrap dl dt.area_title div {
	display:block;
	border-radius: 10px;
	background-color:#999;
	color:#066;
}

a.alink{
	display: inline-block;
	background: rgba(255,238,88,.8);
	text-indent: 0em;
	text-decoration: underline;
}
a.alink:hover{
	text-decoration:none;
}
.underline{
	text-decoration: underline;
}
body .fixbtn.btnWrap {
	margin-top: -50px;
    margin-bottom: 50px;
}
/*ボタン*/
.btnWrap {
	text-align: center !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	font-size: 1.5rem;
	z-index: 11;
	position:relative;
	margin-bottom:20px
}

.btnWrap .submit2 {
	margin-top:50px;
}
button.btn,a.btn {
	display: inline-block;
	border-radius: 10px;
	padding: 1em 1em;
	width: 80%;
	text-align: center;
	box-sizing: border-box;
	line-height: 1.5em;
}

button.btn_simple,a.btn_simple {
	background-color:#066;
	color:#fff;
}
button.btn_cancel,a.btn_cancel {
	background-color:#cc3535;
	color:#fff;
}
button.btn_simple:hover,
button.btn_cancel:hover,
a.btn_simple:hover,
a.btn_cancel:hover {
	background-color:#333;
}
button.cancel.btn_simple {
	margin:50px auto;
}
.ui-datepicker {
	width: 450px;
	max-width: 90%;
	padding: .2em .2em 0;
	display: none;
	
}



/* ----------------------------------------
    #please
---------------------------------------- */
#please {
    width: calc(100% - 40px);
    padding: 15px 20px;
    background: #fff;
    background-size: 45px auto;
    border-radius: 16px;
    border: #CCC 5px solid !important;
    margin: -10px auto 50px auto;
}
#please>h3 {
	display:block;
	font-size:1.5em;
}
#please>p {
	margin:10px 0 0 0;
	font-size:1.2em;
	text-align:left;
}
#please>p>a {
	display:inline-block;
	background-color:#036;
	color:#FFF;
	padding:0 0.5em;
	border-radius: 5px;
	margin:0 10px;
}
#please>p>a.tel {
	display: inline-block;
	color:#F30 !important;
	padding: 0;
	margin: 0 3px 0 0;
	font-weight: 600;
	background-color: #FFF;
}
#please>p>a.tel img {
	display: inline-block;
	height: auto;
	width: 13px;
	vertical-align: baseline;
}

@media only screen and (max-device-width:413px){
.ui-datepicker {
	z-index: 20 !important;
}
}


.ui-datepicker td span,
.ui-datepicker td a {
   display: block;
   padding: .2em;
   text-align: right;
   text-decoration: none; 
}

.ui-datepicker td span,
.ui-datepicker td a {
   display: block;
   padding: .6em;
   text-align: right;
   text-decoration: none; 
   font-size:1.4em;
}

.ui-datepicker .ui-datepicker-title {
	font-size: 1.4em;
}


@media screen and (max-width:375px) {
.rtwrap table th.title{
	text-indent: 0;	
}
.rtwrap table th.title span{
	font-size:80%;
	margin-left: 0;
	display:block
}

.rtwrap table th.title.option{
	font-size:130%;
}
.rtwrap table th.title.option div em{
	font-size:80%
}
.rtwrap table th.title.option div::before, .rtwrap table th.title.option div::after{
	top:auto;
    bottom: 0;
    right: 0;
    left: 0;
}
.rtwrap table th.title.option div::before{
	bottom: -23px;
	transform: rotate(90deg);
}
.rtwrap table td table th {
	padding:5px 10px;
}
.cp_ipselect.mini{
	width:auto
}
ul.conf li.wrap dl dd div.title{
	font-size:2rem;
}
.inputitems>dl>dt{
	background:#e2e2e2;
	padding: 0.4em 10px;
}
article #reserveItems .lead p br{
	display:block;
}

/* =.prices2 スマホサイズ
-------------------------------------------------------------------------*/



}


/* =Media Query
-------------------------------------------------------------------------*/
@media only screen and (max-device-width:720px){
    nav.pagemenu.gen ul li a { border: none !important; border-radius: 0; }
    nav.pagemenu.gen ul.solo li:not(:last-child) a { border-bottom: 2px solid #00a99d !important; }
	
	ul.notice li span.tag {     width: calc(100% + 40px);}
		span.tag {
	/*
	position: static;
	top: auto;
	right: auto;
	display: block;
	width: 100%;
	padding:0;
	margin-top:10px;
	*/
	    top: 35px;			
}

	ul.errors li.error {
    	line-height: 1.4;
	}
	
	
	.headbanner .news p span {
	display: inline-block;
    }
.headbanner .news p span:nth-child(2)
{display: block;}
	
	
	.price article>header p {text-align: center;}
	
	
	#t-hamamatsu .store div.li.cascaded.t-hamamatsu>span {
    pointer-events:all!important;
    }
		#payment h2 + p.text{
		margin-top:0; 
	}
			#payment p.text>span{
				display: block;
	}
    }


@media only screen and (min-device-width:375px){
    .breadcrumb { border-top-width: 52px !important; }
    .data h2 { margin: 0 30px 1em; }
    .data .datatable { padding: 0 30px; }
    .status { padding: 0 30px 60px; }
    .status .calbase th:before,.status .calbase td span:before { width: 30px; height: 30px; }
    .status .calbase td span { font-size: 1.1em; }
    .attractions article #keyimage { width: calc(100% - 60px); }
    ul.supli li { font-size: 1.2rem !important; }
    ul.supli li:before { width: 12px; height: 12px; }
    nav.pagemenu.stores dl { margin: 0 30px; }
    #timetable { width: 350px; }
    #timetable td { width: 77px; }
    article>section#bycar>.pkg section .route { min-height: calc((100vw - 60px) / 16 * 9); }
	.access article>section>.pkg section .text header img{display:none;}
	
	
	
	
    }

@media only screen and (min-device-width:414px){
    #timetable { width: 390px; }
    #timetable th { font-size: 1.3rem; }
    #timetable th[scope="row"] { width: 50px; font-size: 1.6rem; }
    #timetable td { width: 85px; }	
	
	
/* =.prices2 タブレットサイズ
-------------------------------------------------------------------------*/

    }

@media only screen and (max-device-width:720px) and (orientation:landscape){
    .data iframe { height: 100vh; }
    .swiper-slide { width: 50%; height: calc(50vw / 1.6); }
	

	
    }

@media only screen and (max-device-width:720px) and (orientation:landscape),only screen and (min-device-width:721px){
    .breadcrumb { border-top-width: 52px !important; }
    ul.supli li { padding-right: 1em; }
    .swiper-container { margin: 0 0 60px; padding: 0 0 50px; }
    .headbanner .news p span,.headbanner .news p strong { display: inline-block; }
    .headbanner .news p em { margin: .5em 1em 0 0; }
    .headbanner .news p span { margin-right: .5em; }
    .headbanner .news p strong { margin-top: -.4em; }
    .prices article>section>.pkg>header p { text-align: center; }
    .attractions article>section>.pkg>header figure span { width: calc(50% - 5px); float: left; margin-right: 10px; }
    .attractions article>section>.pkg>header figure span:not(.map) { height: calc((100vw - 70px) / 2 * .75); max-height: 348px; }
    div.picker input[type="text"]#datepicker /*,.ui-datepicker*/ { width: 240px; }
    div.picker span#otherDaybutton { width: 140px; }
    div.picker span#otherDaybutton:before { right: 18px; }
    #timetable { width: 520px; }
    #timetable th { font-size: 1.3rem; }
    #timetable th[scope="row"] { width: 80px; font-size: 1.6rem; }
    #timetable td { width: 110px; }
    #timetable th a { font-size: 1.1rem; }
	
	
    }

@media only screen and (min-device-width:721px){
    #masthead.hidden { transform: translateY(-205px) !important; -webkit-transform: translateY(-205px) !important; }
    .breadcrumb { border-top-width: 62px !important; }
    article>h2, #payment h2{ font-size: 3rem; }
	article>h2:before,article>h2:after,#payment h2:before,#payment h2:after,.allreserve>h3.Sh3:before,.allreserve>h3.Sh3:after { width: 66px; height: 50px; }
    article>h2:before,#payment h2:before,.allreserve>h3.Sh3:before { left: -100px; }
    article>h2:after,#payment h2:after,.allreserve>h3.Sh3:after { right: -100px; }
    ul.limitation { display: table; width: 100%; border-radius: 30px; }
    ul.limitation.solo { border-radius: 20px; }
    ul.limitation li { display: table-cell; padding: 25px 50px; border: none !important; }
    ul.limitation li:not(:last-child) { border-right: 1px solid rgba(255,255,255,.8) !important; }
    ul.limitation.col2 li { width: 50%; }
    ul.limitation.col3 li { width: calc(100% / 3); padding: 20px 25px; }
    ul.limitation.col4 li { width: 25%; padding: 20px 15px; }
    ul.limitation li:before { left: 50px; width: 50px; height: 50px; }
    ul.limitation:not(.solo) li:before { top: 20px; transform: translateY(0); -webkit-transform: translateY(0); }
    ul.limitation.col2 li:before { top: 25px; }
    ul.limitation.col3 li:before { left: 30px; }
    ul.limitation.col4 li:before { left: 25px; }
    ul.limitation.solo li:before { left: 50px; }
    ul.limitation li h3 { height: 50px; line-height: 50px; font-size: 1.8rem; margin: 0 0 15px 70px; }
    ul.limitation li p { font-size: 1.3rem !important; }
    ul.limitation.solo li h3,ul.limitation.solo li p { display: inline-block; height: 50px; line-height: 50px; margin: 0; }
    ul.limitation.solo li h3 { margin: 0 40px 0 80px; }
    #storeinfo:before { top: 35px; }
    #storeinfo>header:before,#storeinfo>header:after { width: 66px; height: 50px; }
    #storeinfo>header:before { left: -100px; }
    #storeinfo>header:after { right: -100px; }
    #storeinfo>header h1 { font-size: 4.2rem; }
    #storeinfo>.pkg { padding: 0 30px calc(100px + 3vw); }
    .data,.status { width: calc(50% - 15px); float: left; }
    .status { float: right; }
    .data h2 { height: 70px; line-height: 60px; margin: 0; font-size: 2.4rem; }
    .data .datatable,.status { padding: 0; }
    .data iframe { height: 300px; border-radius: 15px; }
	.data #map {height:300px;border-radius: 15px;}
	
    .data .datatable dt,.data .datatable dd { font-size: 1.6rem; }
    .status header h2 { font-size: 1.8rem; }
    .status header h2 span:nth-of-type(2) { width: 120px; height: 60px; line-height: 60px; }
    .status header h2 span:nth-of-type(2):before { width: 60px; height: 60px; }
    .status header .month:before { font-size: 3.6rem; }
    ul.supli li:before { width: 14px; height: 14px; }
    ul.notice li,ul.point li { font-size: 1.6rem; }
    ul.notice li span { font-size: 1.3rem; }
    ul.notice li span,ul.point li:before { top: .1em; }
    .swiper-slide { width: 60%; height: calc(60vw / 1.6); }
    .headbanner .news { padding: 30px; border-width: 10px !important; }
    .headbanner .news p { font-size: 1.8rem; text-align: left; margin: 0; }
    .headbanner .news p.benefit { position: absolute; top: 50%; right: -20px; width: 280px; transform: translateY(-50%); -webkit-transform: translateY(-50%); }
    .prices article { margin-bottom: 0px; }
	
	
	.attractions article { margin-bottom: -200px; }
    .attractions article>section:first-of-type { margin-top: 0; padding-top: 100px; }
    .attractions article>section:last-of-type { padding-bottom: 120px; }
	
	
    .attractions article>section>.pkg>header p { font-size: 1.8rem; }
    .attractions article>section>.pkg figure.col2 span,.attractions article>section>.pkg>header figure span { width: calc(50% - 15px); margin-right: 30px; }
    .attractions article>section>.pkg figure.col2 span,.attractions article>section>.pkg>header figure span:not(.map) { height: calc((100vw - 150px) / 2 * .75); }
    .attractions article>section>.pkg figure.col3 span { height: calc((100vw - 140px) / 3 * .75); }
    .attractions article>section>.pkg p,.attractions article>section .extra p { font-size: 1.8rem; }
    .attractions article>section>.pkg p>span,.attractions article>section .extra p>span { width: calc(50% - 15px); margin: 0 30px 20px 0; }
    .attractions article>section .extra { margin-top: 100px; }
    div.picker span#otherDaybutton { width: 170px; font-size: 1.6rem; }
    #timetable { width: 720px; }
    #timetable th[scope="col"] { font-size: 1.6rem; padding: 1em 5px 1em 5px; }
    #timetable th[scope="row"] { width: 100px; font-size: 1.8rem; }
    #timetable td { width: 180px; }
    #timetable th a { text-align: right; font-size: 1.1rem; }
    article ul.supli { margin: 30px auto; }
    article ul.supli li,article ul.supli+p { font-size: 1.6rem !important; }
    nav.pagemenu.gen ul { margin-bottom: 100px; border: none !important; border-radius: 0; }
    nav.pagemenu.prices ul { margin-bottom: -40px; }
	
	nav.pagemenu.attractions ul { margin-bottom: -40px; }
	
    nav.pagemenu.gen li { float: left; font-size: 1.6rem; }
    nav.pagemenu.gen .col5 li { width: calc((100% - 40px) / 5); margin-right: 10px; }
    nav.pagemenu.gen .col6 li { width: calc((100% - 25px) / 6); margin-right: 5px; }
	nav.pagemenu.gen .col7 li { width: calc((100% - 15px) / 7); margin-right: 2px; }
	
	
    nav.pagemenu.gen li:last-child { margin-right: 0; }
    nav.pagemenu.gen li a { height: auto; line-height: 1.5; text-align: center; letter-spacing: .1em; padding: .75em 0 2em; border-bottom-width: 10px !important; border-radius: 20px; }
    nav.pagemenu.gen li a span { display: block; text-align: center; color: #f15a24; cursor: pointer; }
    nav.pagemenu.gen a:after { top: auto; left: 50%; right: auto; bottom: .75em; font-size: 1.6rem; transform: translateX(-50%); -webkit-transform: translateX(-50%); }
    nav.pagemenu.stores ul { border-radius: 20px; }
    .access article>.pkg figure { padding-bottom: 20px; }
    .access article>.pkg figure p.more { position: absolute; right: 0; bottom: 0; }
    .access article .details .datatable dt,.access article .details .datatable dd { font-size: 1.6rem; padding: 2em 25px; }
    .access article .details .datatable dt { width: 8em; }
    .access article .details .datatable dl:first-of-type dd { position: relative; padding-right: 14em; }
    .access article .details+.details { padding: 25px; }
    .access article .details+.details h2 { font-weight: 400; font-size: 2.2rem; }
    .access article .details+.details nav { height: 300px; background: url("/images/temp/storearea/hamamatsu/routeimage.svg") no-repeat 0 10px; background-size: 400px 290px; }
    .access article .details+.details nav ul { margin-left: 420px; }
    .access article .details+.details nav li { margin: 0 0 10px; }
    .access article .details+.details nav li a { border: 2px solid #00a99d !important; border-bottom-width: 8px !important; border-radius: 15px; }
    .access article .details+.details nav li:first-child a { height: 180px; }
    .access article .details+.details nav li:last-child a { height: 100px; }
    .access article .details+.details nav li a span { position: absolute; top: 45%; left: 15px; -webkit-transform: translateY(-50%); }
    .access article .details+.details nav li a:before { top: auto; right: auto; left: 50%; bottom: 10%; font-size: 1.6rem; transform: translateX(-50%); -webkit-transform: translateX(-50%); }
    .access article .details+.details nav li a strong { display: block; }
    .access article>section>.pkg section { margin-bottom: 40px; }
    .access article>section#bycar>.pkg section .text header { min-height: 100px; padding-right: 150px; }
    .access article>section>.pkg section .text header h1 { font-size: 2.4rem; }
    .access article>section>.pkg section .text>p { font-size: 1.6rem; }
    .access article>section#bycar>.pkg section .route { min-height: calc((100vw - 120px) / 16 * 9); }
    .access article>section>.pkg section .text p.notice { font-size: 1.5rem; }
	
	
	
	#please {
    width: 800px;
	}
	#please>h3 {
    font-size: 2em;
    text-align: center;
}
	#please>p {
	font-size:1.8em;
	text-align:center;
}
#please>p>a.tel {
	padding: 0 0.5em;
    margin: 0 3px;
	color:#F30;
}
#please>p>a.tel img {
	width: 20px;
}



button.btn,a.btn {
	width: 45%;
}
.prices article > header p {padding: 0 1em;}
	#payment h2 + p.text{
		margin:0; 
	}
	
    }

@media only screen and (min-device-width:721px) and (orientation:portrait){
    ul.limitation.col4 li h3 { line-height: 1.4; }
    ul.limitation.col4 li h3 span { display: block; margin: 0; }

    }

@media only screen and (min-device-width:721px) and (orientation:landscape),only screen and (min-width:1024px){
    .breadcrumb { border-top-width: 0 !important; }
    article>header { height: 200px; }
    article>header>div { position: absolute; top: 50%; left: 50%; display: table; width: 90%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); }
    article>header h1,article>header p { display: table-cell; vertical-align: middle; }
    article>header h1 { width: 40%; }
    article>header p { width: 60%; font-size: 1.8rem; text-align: left; margin: 0; }
    article>h2,#payment h2  { font-size: 3.6rem; margin-bottom: 80px; }
	.allreserve>h3.Sh3 { font-size: 2rem; margin-bottom: 0px; }
    article>h2:before,#payment h2:before,.allreserve>h3.Sh3:before { left: -100px; }
    article>h2:after,#payment h2:after,.allreserve>h3.Sh3:after { right: -100px; }
    ul.notice li br ,ul.point li br { display: block; }
    ul.limitation:not(.col4) li { padding: 25px 50px !important; }
    ul.limitation.col4 li { padding: 25px; }
    ul.limitation:not(.solo) li:before { top: 25px; }
    ul.limitation:not(.col4) li:before { left: 50px; }
    #storeinfo>header h1 { font-size: 4rem; }
    .data { width: calc(100% - 430px); }
    .status { width: 370px; }
    .data iframe { height: 200px; }
	.data #map { height: 200px;}
	
    .data h2 { font-size: 3rem; }
    .data .datatable dt,.data .datatable dd { font-size: 1.8rem; }
    .swiper-slide { width: 50%; height: calc(50vw / 1.6); }
    nav.pagemenu.gen li { font-size: 2rem; }
    nav.pagemenu.stores ul { border-radius: 30px; }
    nav.pagemenu.stores li a { font-size: 3rem; }
    nav.pagemenu.stores li a:before { width: 130px; }
    nav.pagemenu.stores li.prices a:before { height: 110px; }
    nav.pagemenu.stores li.attractions a:before { height: 110px; }
    nav.pagemenu.stores li.reserve a:before { height: 85px; }
    nav.pagemenu.stores li.access a:before { height: 54px; }
	
	
    .attractions article>section>.pkg>header p { font-size: 2rem; }
    .headbanner .news { padding: 40px; }
    .headbanner .news p { font-size: 2.4rem; }
    .headbanner .news p em { margin-right: 2em; }
    .headbanner .news p span { font-size: 3.6rem; margin-right: 1em; }
    .headbanner .news p strong { margin-top: -.2em; }
    .headbanner .news p.benefit { position: absolute; top: 50%; right: -20px; width: 250px; transform: translateY(-50%); -webkit-transform: translateY(-50%); }
    #timetable { width: 85%; }
    #timetable th { font-size: 2rem !important; }
    #timetable th[scope="col"] { padding: 1em 15px 1em 15px; }
    #timetable td { width: 215px; }
    #timetable th a { text-align: right; font-size: 1.3rem; }
    .access article .details .datatable dt { width: 12em; }
    .access article .details+.details h2 { font-size: 2.4rem; }
    .access article .details+.details nav { height: 330px; background-size: 600px auto; }
    .access article .details+.details nav ul { margin-left: 620px; }
    .access article .details+.details nav li { font-size: 1.8rem; }
    .access article .details+.details nav li:first-child a { height: 170px; }
    .access article .details+.details nav li:last-child a { height: 145px; }
    .access article>section>.pkg section { overflow: hidden; }
    .access article>section>.pkg section .text { width: 50%; float: right; }
    .access article>section>.pkg section .route { width: calc(50% - 30px); float: left; }
    .access article>section#bycar>.pkg section .route { min-height: calc((50vw - 90px) / 16 * 9); }
    }

@media only screen and (min-width:1000px){
	.br1000 { display: none; }	
}

@media only screen and (min-width:1280px){
    article>header h1 { width: 45%; }
    article>header p { width: 55%; }
    .attractions article>section>.pkg p>span,.attractions article>section .extra p>span { max-width: calc(940px / 3); }
    .access article .details+.details h2 { font-size: 2.5rem; }
    .access article .details+.details nav { height: 370px; background-size: 680px auto; }
    .access article .details+.details nav ul { margin-left: 670px; }
    .access article .details+.details nav li:first-child a { height: 175px; }
    .access article .details+.details nav li:last-child a { height: 150px; }
    .access article>section>.pkg section .text header h1 { font-size: 2.5rem; }
    .access article>section>.pkg section .text>p { font-size: 1.8rem; }
    .access article>section#bycar>.pkg section .route { min-height: 250px; }
    }

/* IE11,Edge */
_:-ms-lang(x),.selector {  }

/* IE11 */
@media only screen and (min-device-width:721px){
	_:lang(x)::-ms-backdrop,.access article .details+.details nav li a span { top: 40%; }
	_:lang(x)::-ms-backdrop,.access article .details+.details nav li:last-child a span { top: 25%; }
	}


/* Edge */
_:-ms-lang(x)::backdrop,.selector {  }


/* EOF
-------------------------------------------------------------------------*/
