*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
}

@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:400;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu72xKKTU1Kvnz.woff2)format('woff2');
	unicode-range:U+0460-052F,
	U+1C80-1C88,
	U+20B4,
	U+2DE0-2DFF,
	U+A640-A69F,
	U+FE2E-FE2F;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:400;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2)format('woff2');
	unicode-range:U+0301,
	U+0400-045F,
	U+0490-0491,
	U+04B0-04B1,
	U+2116;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:400;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7mxKKTU1Kvnz.woff2)format('woff2');
	unicode-range:U+1F00-1FFF;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:400;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4WxKKTU1Kvnz.woff2)format('woff2');
	unicode-range:U+0370-0377,
	U+037A-037F,
	U+0384-038A,
	U+038C,
	U+038E-03A1,
	U+03A3-03FF;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:400;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7WxKKTU1Kvnz.woff2)format('woff2');
	unicode-range:U+0102-0103,
	U+0110-0111,
	U+0128-0129,
	U+0168-0169,
	U+01A0-01A1,
	U+01AF-01B0,
	U+0300-0301,
	U+0303-0304,
	U+0308-0309,
	U+0323,
	U+0329,
	U+1EA0-1EF9,
	U+20AB;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:400;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2)format('woff2');
	unicode-range:U+0100-02AF,
	U+0304,
	U+0308,
	U+0329,
	U+1E00-1E9F,
	U+1EF2-1EFF,
	U+2020,
	U+20A0-20AB,
	U+20AD-20C0,
	U+2113,
	U+2C60-2C7F,
	U+A720-A7FF;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:400;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2)format('woff2');
	unicode-range:U+0000-00FF,
	U+0131,
	U+0152-0153,
	U+02BB-02BC,
	U+02C6,
	U+02DA,
	U+02DC,
	U+0304,
	U+0308,
	U+0329,
	U+2000-206F,
	U+2074,
	U+20AC,
	U+2122,
	U+2191,
	U+2193,
	U+2212,
	U+2215,
	U+FEFF,
	U+FFFD;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:500;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fCRc4AMP6lbBP.woff2)format('woff2');
	unicode-range:U+0460-052F,
	U+1C80-1C88,
	U+20B4,
	U+2DE0-2DFF,
	U+A640-A69F,
	U+FE2E-FE2F;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:500;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fABc4AMP6lbBP.woff2)format('woff2');
	unicode-range:U+0301,
	U+0400-045F,
	U+0490-0491,
	U+04B0-04B1,
	U+2116;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:500;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fCBc4AMP6lbBP.woff2)format('woff2');
	unicode-range:U+1F00-1FFF;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:500;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fBxc4AMP6lbBP.woff2)format('woff2');
	unicode-range:U+0370-0377,
	U+037A-037F,
	U+0384-038A,
	U+038C,
	U+038E-03A1,
	U+03A3-03FF;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:500;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fCxc4AMP6lbBP.woff2)format('woff2');
	unicode-range:U+0102-0103,
	U+0110-0111,
	U+0128-0129,
	U+0168-0169,
	U+01A0-01A1,
	U+01AF-01B0,
	U+0300-0301,
	U+0303-0304,
	U+0308-0309,
	U+0323,
	U+0329,
	U+1EA0-1EF9,
	U+20AB;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:500;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fChc4AMP6lbBP.woff2)format('woff2');
	unicode-range:U+0100-02AF,
	U+0304,
	U+0308,
	U+0329,
	U+1E00-1E9F,
	U+1EF2-1EFF,
	U+2020,
	U+20A0-20AB,
	U+20AD-20C0,
	U+2113,
	U+2C60-2C7F,
	U+A720-A7FF;
}
@font-face {
	font-family:'Roboto';
	font-style:normal;
	font-weight:500;
	src:url(//fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2)format('woff2');
	unicode-range:U+0000-00FF,
	U+0131,
	U+0152-0153,
	U+02BB-02BC,
	U+02C6,
	U+02DA,
	U+02DC,
	U+0304,
	U+0308,
	U+0329,
	U+2000-206F,
	U+2074,
	U+20AC,
	U+2122,
	U+2191,
	U+2193,
	U+2212,
	U+2215,
	U+FEFF,
	U+FFFD;
}

* {
    box-sizing: border-box;
}

html {
/*
	line-height: 1.15;
	font-size: 16px;
*/
}

body {
/*
	font-size: 16px;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;
*/
}

body {
	color: rgb(52, 64, 78);
	font-style: normal;
	font-variant-ligatures: normal;
	font-variant-caps: normal;
	font-variant-numeric: normal;
	font-variant-east-asian: normal;
	font-weight: normal;
	font-stretch: normal;
	line-height: normal;
	
    margin: 0;
    padding: 0;
/*
    overflow: hidden;
    display: inline-block;
*/
}

h2{
	margin: 0px;
}

.widgetRoot{
	position: relative;
	flex: 1 1 auto;
	min-height: 600px;
	padding: 0px;
	background: transparent;
}




.content-wrap {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.img-block{
	flex: 1 1 auto;
}
.img-wrap{
	position: relative;
}
.img-wrap button{
	display:none;
/*
	display: inline-block;
	position: relative;
	text-align: center;
	font-weight: 600;
	line-height: 16px;
	white-space: nowrap;
	width: auto;
	min-width: initial;
	transition: 0.2s cubic-bezier(0.32, 1, 0.32, 1);
	border-radius: 5px;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	user-select: none;
	padding: 11px 16px;
	font-size: 14px;
	color: rgb(29, 87, 199);
	background-color: rgb(245, 245, 245);
	
	position: absolute;
	z-index: 2;
	top: 16px;
	right: 16px;
*/
}
.img-wrap-inner{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	margin: 0px;
	width: 100%;
/*
	height: 450px;
	overflow: hidden;
*/
	border-radius: 0px;
/*
	display: grid;
	grid-template: 1fr 1fr / 1fr 1fr 1fr 1fr;
	gap: 8px;
*/
}
.img-wrap-inner .img{
	position: relative;
	overflow: hidden;
	width: 100%;
/* 	height: 100%; */
	padding-bottom: 37.5%;
	border-radius: 5px;
	transition: transform 0.3s;
}
.img-wrap-inner .img a{
	position:static;
}
.img-wrap-inner .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
/* 	background-size: cover; */
	position: absolute;
/*
	top: 50%;
	left:50%;
*/
	inset: 0px;
/* 	border-radius: 5px; */
	transition: 0.3s;
/* 	cursor: pointer; */
}
.img-wrap-inner > .img{
	width:49.7%;
	margin-bottom: 6px;
}
.img-wrap-inner > .img-list{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	width:49.7%;
}
.img-wrap-inner > .img-list .img{
	margin-bottom: 6px;
}
.img-block.img-count-4imgs .img-wrap-inner > .img-list .img,
.img-block.img-count-many_imgs .img-wrap-inner > .img-list .img{
	width:49.5%;
}
.img-block.img-count-1imgs .img-wrap-inner > .img,
.img-block.img-count-2imgs .img-wrap-inner > .img,
.img-block.img-count-3imgs .img-wrap-inner > .img-list .img,
.img-block.img-count-4imgs .img-wrap-inner > .img-list .img:last-child{
	width:100%;
}
.img-block.img-count-1imgs .img-wrap-inner > .img-list,
.img-block.img-count-2imgs .img-wrap-inner > .img-list,
.img-wrap-inner > .img-list .img:nth-child(n+5){
	display:none;
}
@media (min-width: 62em) {
/*
	.img-wrap-inner .img:nth-child(1) {
		grid-area: 1 / 1 / 3 / 3;
	}
	.img-wrap-inner .img:nth-child(2) {
		grid-area: 1 / 3 / 2 / 5;
	}
	.img-wrap-inner .img:nth-child(3) {
		grid-area: 2 / 3 / 3 / 5;
	}
*/
}


.text-resv-wrap{
	display: flex;
	flex: 1 1 auto;
	flex-flow: column wrap;
	max-width: 1280px;
	margin-right: auto;
	margin-left: auto;
}
.text-resv-wrap-inner{
	display: flex;
	flex: 1 1 auto;
	flex-flow: wrap;
	width: 100%;
	height: 100%;
	padding-right: 32px;
	padding-left: 32px;
}

.text-content-wrap{
	display: flex;
	flex: 1 1 0%;
	flex-wrap: wrap;
	padding-top: 32px;
}
.text-content-wrap-inner{
	width:100%;
}
.resv-content-wrap{
	flex: 1 1 auto;
	max-width: 496px;
	height: 100%;
	padding-top: 32px;
	margin: 0px 0px 0px 32px;
}
.resv-content{
	overflow: hidden;
	min-width: 496px;
	max-width: 496px;
	padding: 16px;
	margin-right: auto;
	margin-left: auto;
	color: rgb(52, 64, 78);
	background: white;
	border: 1px solid rgb(221, 221, 221);
	border-radius: 5px;
}

.content-block-header{
	position: relative;
	margin-bottom: 24px;
	font-weight: 700;
	color: rgb(52, 64, 78);
}
.content-block-header h2{
	min-height: 32px;
	font-size: 22px !important;
	color: rgb(52, 64, 78);
}
.content-block-header h2 > *{
	font-size:inherit;
	background: transparent;
	border: 0;
	padding: 0;
}
.guubox {
  width: 42px;
  height: 6px;
  margin-top: 8px;
  background: rgb(29, 87, 199);
  border-radius: 13px;
}

.duration-difficultyLevel-wrap{
	display:flex;
	margin-bottom:1em;
}
.duration-difficultyLevel-wrap > div{
	display: flex;
	align-items: center;
	margin-right:1.5em;
}
.duration-difficultyLevel-wrap > div > *{
	margin-right:0.25em;
}
/* VERY_EASY => とても簡単、EASY => 簡単、MODERATE => 適度、CHALLENGING => ある程度の体力が必要、DEMANDING => 体力が必要、EXTREME => 危険を伴う */
.difficultyLevel .level-icon{
	position: relative;
	display:inline-block;
	width:1em;
	height:1em;
	border: 2px solid rgb(87, 100, 111);
	border-radius:50%;
	overflow: hidden;
}
.difficultyLevel .level-icon > span{
	position: absolute;
	bottom: 0px;
	width: 100%;
	border-radius: 50%;
	opacity: 0.33;
}
/* とても簡単 */
.difficultyLevel.VERY_EASY .level-icon > span{
	height: 33%;
	background-color: rgb(58, 204, 108);
}
/* 簡単 */
.difficultyLevel.EASY .level-icon > span{
	height: 33%;
	background-color: rgb(58, 204, 108);
}
/* 適度 */
.difficultyLevel.MODERATE .level-icon > span{
	height: 66%;
	background-color: rgb(255, 255, 0);
}
/* ある程度の体力が必要 */
.difficultyLevel.CHALLENGING .level-icon > span{
	height: 66%;
	background-color: rgb(255, 255, 0);
}
/* 体力が必要 */
.difficultyLevel.DEMANDING .level-icon > span{
	height: 100%;
	background-color: rgb(255, 0, 0);
}
/* 危険を伴う */
.difficultyLevel.EXTREME .level-icon > span{
	height: 100%;
	background-color: rgb(255, 0, 0);
}

.tab-wrap ul{
	display: flex;
	flex-wrap: wrap;
	-moz-box-pack: justify;
	justify-content: space-between;
	padding: 0px;
	margin: 0px 0px 24px;
	border-bottom: 1px solid rgb(221, 221, 221);
}
.tab-wrap ul li{
	-moz-box-flex: 1;
	flex-grow: 1;
	text-align: center;
	padding: 8px 0px;
	list-style: none;
	cursor: pointer;
	font-weight: 400;
	font-size: 16px;
	color: rgb(29, 87, 199);
	transition: 0.4s;
}
.tab-wrap ul li::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0px;
	right: 0px;
	height: 2px;
	opacity: 0;
	background: rgb(29, 87, 199);
}
.tab-wrap ul li.is-active::after {
	opacity: 1;
}
.tab-wrap ul li:not(.is-active) {
	background: rgb(254, 254, 254);
}
.tab-wrap ul li:first-child {
	border-left: medium;
}
.tab-wrap ul li.is-active {
	position: relative;
	border-top: medium;
	background: white;
}

.content-block{
	font-size: 14px;
	line-height: 1.6;
	color: rgb(87, 100, 111);
}
.content-block .text-font-heading{
	margin-bottom:0.5em;
}
.content-block ul + .text-font-heading{
	margin-top:1.5em;
}
.content-block .space-y-2{
	margin-bottom:1em;
}


.tab-content {
	display: none;
}
.tab-content.is-display {
	display: block;
}

.tag-list .tag{
	padding: 2px 4px;
	display: inline-block;
	font-size: 12px;
	color: rgb(29, 87, 199);
	text-transform: capitalize;
	background-color: rgba(29, 87, 199, 0.04);
	border: 1px solid rgba(29, 87, 199, 0.25);
	border-radius: 3px;
}

#QuantityWrap{
	margin-bottom:3em;
}
.PriceCateWrap{
	display:flex;
	justify-content: space-between;
	margin-bottom:1em;
}
.PriceCateWrap dl,
.PriceCateWrap dl dd{
	margin:0;
}
.PriceCateWrap dl dt{
	font-weight:bold;
}
.PriceCateWrap dl dd{
	font-size: 12px;
	font-weight: 400;
	color: rgb(87, 100, 111);
}
.PriceCateWrap .priceCate.priceCateval{
	width:4em;
	font-size: 18px;
	border:0;
	text-align:center;
}
.PriceCateWrap > div{
	display: flex;
	align-items: center;
}
.PriceCateWrap input[type="button"],
.calendar_nav input[type="button"]{
	width:32px;
	height: 32px;
/* 	font-size: 24px; */
	color: rgb(29, 87, 199);
	background:#fff;
	border-radius:50%;
	border: 1px solid rgb(29, 87, 199);
	cursor: pointer;
}
.PriceCateWrap input[type="button"]:hover,
.calendar_nav input[type="button"]:hover{
	background: rgba(0,0,0,0.05);
}
.PriceCateWrap input[type="number"]{
	-webkit-appearance: none;
	margin: 0;
	-moz-appearance:textfield; 
}

#calendarWrap{
	margin-bottom:3em;
}
.calendar_nav{
	display:flex;
	justify-content: space-between;
	margin-bottom: 1em;
}
.calendar_nav select{
	background: #fff;
	border: 0;
	font-size: 18px;
	font-weight: bold;
}

.CalendarColumns{
	display: flex;
}
.CalendarColumns .CalendarDay{
	flex: 1 1 calc(14.2857%);
	max-width: calc(14.2857%);
	padding: 8px;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 500;
	color: rgb(97, 118, 136);
	text-align: center;
}

#cal{
	position: relative;
	display: flex;
	flex-flow: wrap;
	min-width: 100%;
	background: white;
	border-radius: 5px;
}
#cal button{
	border:0;
	position: relative;
	flex: 1 1 calc(14.2857%);
	max-width: calc(14.2857%);
	padding-right: 2px;
	padding-bottom: 2px;
	padding-left: 2px;
	background: white;
	outline: none;
	transition: 0.2s cubic-bezier(0.32, 1, 0.32, 1);
}
#cal button > .CalendarInnerWrapper {
	position: relative;
	display: flex;
	flex-flow: column wrap;
	width: 100%;
	height: 100%;
	min-height: 60px;
	padding-top: 100%;
	transition: 0.2s cubic-bezier(0.32, 1, 0.32, 1);
	
	border: 1px solid transparent;
	border-radius: 5px;
}
#cal button > .CalendarInnerWrapper > div{
	display: flex;
	-moz-box-pack: justify;
	justify-content: space-between;
	flex-direction: column;

	position: absolute;
	inset: 0px;
	overflow: hidden;
	height: 100%;
	padding: 4px;
	font-weight: 400;
	color: rgb(87, 100, 111);
	border-radius: calc(4px);
	transition: 0.3s ease-in-out;
	cursor: pointer;
}
#cal button .CalendarDayAvailable:hover{
	background: rgba(0,0,0,0.05);
}
#cal button .CalendarDayAvailable:active{
	border:1px solid rgba(0,0,0,1);
}
#cal button .CalendarDayAvailable::before {
	content: "";
	position: absolute;
	top: -8px;
	right: -8px;
	width: 0px;
	height: 0px;
	border-width: 8px;
	border-style: solid;
	border-color: transparent transparent rgba(29, 199, 36, 0.4);
	border-image: none;
	transform: rotate(45deg);
}
#cal button.sellOutInfo .CalendarDayAvailable::before {
	border-color: transparent transparent rgba(236, 181, 41, 0.4);
}
#cal button .CalendarDayOfMonth{
	display: flex;
	-moz-box-pack: center;
	justify-content: center;
	-moz-box-align: center;
	align-items: center;
	flex-direction: row;

	position: relative;
	margin-top: 4px;
	font-size: 16px;
	font-weight: 400;
	text-align: center;
}
#cal button .CalendarDayNotAvailable .CalendarDayOfMonth{
	color: rgba(52, 64, 78, 0.4);
}
#starttime button.startTime{
	position: relative;
	padding: 15px 15px 10px;
	margin: 0 5px 10px 0;
	width: calc(33.333% - 10px);
	text-align: left;
	cursor: pointer;
	background-color: white;
	border: 1px solid rgb(221, 221, 221);
	border-radius: 11px;
	transition: 0.2s cubic-bezier(0.32, 1, 0.32, 1);
}
#starttime button.startTime:hover{
	background-color: rgba(29, 87, 199,0.05);
}
#starttime button.startTime.selected{
	color:#fff;
	background-color: rgb(29, 87, 199);
}
#starttime button.startTime div.startTime{
	font-size: 1.1em;
	line-height: 1;
}
#starttime button.startTime div.startTime::before{
	content:"\f017";
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	margin-right:0.5em;
}
#starttime button.startTime.sellOutInfo div.startTime::before{
	content:"\f7e4";
	font-weight: 900;
	color:#cc0000;
}
#starttime button.startTime.sellOutInfo.selected div.startTime::before{
	color:#ff0000;
}
#starttime button.startTime div.startTimeLabel{
	display:inline-block;
	border-radius: 4px;
	border: 1px solid rgb(221, 221, 221);
	padding: 2px 4px;
	color: rgb(52, 64, 78);
	background: rgba(29, 87, 199, 0.05);
	margin-top: 15px;
}
#starttime button.startTime.selected div.startTimeLabel{
	color:#fff;
}

#starttime .startTimeDropdown-wrap{
	height:48px;
	position:relative;
	z-index: 2;
}
#starttime .startTimeDropdown {
	width:100%;
	border-radius:5px;
	border: 1px solid rgb(221, 221, 221);
	background: #fff;
	overflow:hidden;
	position:absolute;
	top:0;
	left:0;
}
#starttime .startTimeDropdown.open{
	box-shadow: 0 0 5px rgba(0,0,0,0.15);
}
#starttime .startTimeDropdown button.startTime{
	display: flex;
	width: 100%;
	height:0px;
	border: 0;
	border-radius:0;
	padding:0;
	margin:0;
	overflow:hidden;
}
#starttime .startTimeDropdown.open button.startTime + button.startTime{
	border-top: 1px solid rgb(221, 221, 221);
}
#starttime .startTimeDropdown button.startTime.selected,
#starttime .startTimeDropdown.open button.startTime{
	height:48px;
	padding: 15px 15px 10px;
}
#starttime .startTimeDropdown button.startTime div.startTimeLabel{
	font-size: 0.9em;
	line-height: 1;
	margin:0;
	margin-left:1em;
}
#starttime .btn-open-close{
	display:none;
}
#starttime .startTimeDropdown .btn-open-close{
	display: flex;
	align-items: center;
	justify-content: center;
	width:50px;
	height:48px;
	background: rgba(255,255,255,0.75);
	position: absolute;
	top: 0px;
	right: 0px;
	z-index: 1;
	cursor: pointer;
}
#starttime .startTimeDropdown.open .btn-open-close i{
	transform: rotate(180deg);
}

#PriceCategoryList{
	margin-bottom: 40px;
}
#starttime button.PriceCategory{
	width: 100%;
	text-align: left;
	background-color: rgba(255,255,255,1);
	border: 2px solid rgb(0, 0, 0,0.15);
	border-radius: calc(8px);
	outline: rgb(29, 87, 199) solid 0px;
	padding: 1rem 1rem 0.5rem;
	margin-bottom:1em;
	transition: background-color 0.2s ease-in-out;
	position:relative;
	cursor: pointer;
}
#starttime button.PriceCategory:hover{
	background: rgba(0,0,0,0.05);
}
#starttime button.PriceCategory.selected{
	background-color: rgba(29, 87, 199, 0.03);
	border: 2px solid rgb(29, 87, 199);
	margin-top: 1.25em;
}
#starttime button.PriceCategory:disabled{
	background: rgba(0,0,0,0.25);
	pointer-events: none;
	opacity: 0.5;
}
#starttime button.PriceCategory .title-price{
	display:flex;
	justify-content: space-between;
}
#starttime button.PriceCategory h4{
	margin:0 0 0.5em;
}
#starttime button.PriceCategory .Price{
	font-size: 1em;
	font-weight:bold;
}
#starttime button.PriceCategory p{
	font-size: 0.8em;
	line-height: 1.5;
	margin:0 0 0.5em;
}
#starttime button.PriceCategory .maxmin-cancel-policy{
	display:none;
}
#starttime button.PriceCategory.selected .maxmin-cancel-policy{
	display:block;
	border-top: 1px solid rgb(221, 221, 221);
	padding-top: 0.5em;
	margin-top:1em;
}
#starttime button.PriceCategory .maxmin-cancel-policy > *{
	font-size: 0.9em;
	line-height: 1.5;
	margin-top:0.5em;
}
#starttime button.PriceCategory .maxmin-cancel-policy > * i{
	font-size: 1.2em;
	margin-right:0.25em;
}
#starttime button.PriceCategory .maxmin-cancel-policy .minPerBooking i{
	color:#eab43d;
}
#starttime button.PriceCategory .maxmin-cancel-policy .maxPerBooking i{
	color:#2558c3;
}
#starttime button.PriceCategory .maxmin-cancel-policy .cancel-policy i{
	color:#31c434;
}
#starttime button.PriceCategory.selected::after{
	content:"選択✓";
	display:block;
	color:#fff;
	font-weight:bold;
	font-size: 0.8em;
	line-height: 1;
	background: rgb(29, 87, 199);
	border-radius: 0.5rem;
	padding:5px 10px;
	position:absolute;
	top: -14px;
	right: 1rem;
}

#starttime .Extra-wrap{
	display:flex;
	align-items: flex-start;
}
#starttime .Extra-wrap i{
	color:rgb(29, 87, 199);
}

.default-hours{
	background-color: rgb(255, 255, 255);
	border-collapse: collapse;
	border-style: hidden;
	border-radius: 5px;
	box-shadow: rgb(221, 221, 221) 0px 0px 0px 1px, rgba(0, 0, 0, 0.04) 0px 2px 12px;
	margin-bottom: 40px;
}
.default-hours .week-item,
.default-hours .SeasonHeader{
	display:flex;
	justify-content: space-between;
	border-bottom: 1px solid rgb(221, 221, 221);
	padding: 16px;
}
.default-hours .SeasonHeader{
	font-weight:bold;
	background-color: rgb(245, 245, 245);
}


#ResvDetail-wrap{
	position: relative;
}
#ResvDetail{
	position: relative;
	z-index: 2;
	width: 100%;
	min-height: 200px;
	border-radius: 15px;
	background: transparent;
	padding: 16px;
	margin-bottom: 48px;
}
#ResvDetail-dummy{
	position: absolute;
	z-index: 1;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	transform: rotate(-5deg);
	transform-origin: 60% 40% 0px;
}
#ResvDetail::before,
#ResvDetail-dummy::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: radial-gradient(circle at 60% 0px, rgba(255, 255, 255, 0) 20px, rgb(255, 255, 255) 20px), radial-gradient(circle at 60% 100%, rgba(255, 255, 255, 0) 20px, rgb(255, 255, 255) 20px);
	background-repeat: no-repeat;
	background-position: left top, left bottom;
	background-size: 100% 51%;
	border-radius: 10px;
}
#ResvDetail::after,
#ResvDetail-dummy::after {
	content: "";
	position: absolute;
	z-index: -2;
	top: -1px;
	left: -1px;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	background-image: radial-gradient(circle at calc(60% - 0.5px) 1px, rgba(221, 221, 221, 0) 19px, rgb(221, 221, 221) 19px), radial-gradient(circle at calc(60% - 0.5px) calc(100% - 1px), rgba(221, 221, 221, 0) 19px, rgb(221, 221, 221) 19px);
	background-repeat: no-repeat;
	background-position: left top, left bottom;
	background-size: 100% 51%;
	border-radius: 10.5px;
}
#ResvDetail .kiritorisen{
	position: absolute;
	top: 24px;
	left: 60%;
	height: calc(100% - 48px);
	border-left: 1px dashed rgb(221, 221, 221);
}
#ResvDetail .kiritorisen > div{
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 0px 2px;
	font-size: 11px;
	font-weight: 500;
	color: rgb(221, 221, 221);
	white-space: nowrap;
	text-transform: uppercase;
	user-select: none;
	background: white;
	transform: translate(-50%, -50%) rotate(90deg);
	transform-origin: 50% 50% 0px;
}
#ResvDetail #activityTitle{
	width: 57%;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0px 0px 16px;
	color: rgb(29, 87, 199);
}
#ResvDetail .ResvDetail-starttime-date{
	width: 30%;
	color: rgb(29, 87, 199);
	text-align: right;
	position: absolute;
	top: 16px;
	right: 16px;
}
#ResvDetail .ResvDetail-starttime-date #ResvDetailStartTimeTitle{
	margin: 0px 0px 4px;
	font-size: 1.5rem;
	font-weight:bold;
}
#ResvDetail .ResvDetail-starttime-date #ResvDetailStartTimeLabel{
	display: inline-block;
	font-size: 13px;
	line-height: 1.2;
	border-radius: 4px;
	color: rgb(52, 64, 78);
	border: 1px solid rgb(221, 221, 221);
	padding: 2px 4px;
	background: rgba(29, 87, 199, 0.05);
}
#ResvDetail .ResvDetail-starttime-date #ResvDetailSelectDate{
	font-size: 14px;
	margin-top:5px;
}
#ResvDetail #AmountDetail{
	font-size: 0.9em;
	position: absolute;
	left: 16px;
	bottom: 16px;
}
#ResvDetail .ResvDetail-total-price{
	text-align: right;
	position: absolute;
	right: 16px;
	bottom: 16px;
}
#ResvDetail .ResvDetail-total-price #totalAmount{
	font-size: 1.2em;
	font-weight: bold;
}

#cust_form[type="button"]{
	border: 2px solid transparent;
	color: rgb(255, 255, 255);
	background: rgb(29, 87, 199);
	
	display: flex;
	-moz-box-align: center;
	align-items: center;
	flex: 1 1 0%;
	-moz-box-pack: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	margin: auto 0px 0px;
	font-size: 17px;
	font-weight:bold;
	white-space: normal;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.3s ease-in-out 0s;
}
#cust_form[type="button"]:hover{
	background: #1c3d81;
}
#cust_form[type="button"]:disabled{
	color: rgb(150, 150, 150) !important;
	background: rgb(204, 204, 204) !important;
	cursor: not-allowed !important;
	opacity: 0.8;
	pointer-events: none;
}

#CautionMsg,
#InformationMsg{
	position: relative;
	overflow: hidden;
	padding: 16px;
	font-size: 14px;
	color: rgb(94, 72, 16);
	border-width: 1px 1px 1px 4px;
	border-style: solid;
	border-image: none;
	background-color: rgb(254, 251, 244);
	border-color: rgb(253, 247, 233) rgb(253, 247, 233) rgb(253, 247, 233) rgb(236, 181, 41);
	border-radius: 5px;
	animation: 0.6s ease-in forwards fadeInAnimation;
	margin-bottom: 40px;
}
#CautionMsg h3{
	margin:0 0 0.5em;
}



@media (max-width: 61em) {
	.img-block{
		padding: 0 3%;
	}
	.img-wrap-inner,
	.img-wrap-inner > .img-list .img:nth-child(n+5) {
/* 		grid-template: none; */
		display:block;
	}
	.img-wrap-inner > .img,
	.img-wrap-inner > .img-list {
		width: 100%;
	}
	.img-wrap-inner > .img-list {
		flex-wrap: unset;
		justify-content: center;
	}
	.img-wrap-inner > .img{
		padding-bottom: 55vw;
	}
	.img-wrap-inner > .img-list .img{
		margin: 0 0.3%;
	}
	.img-count-2imgs .img-wrap-inner > .img-list .img,
	.img-count-3imgs .img-wrap-inner > .img-list .img{
		max-width:50%;
		padding-bottom: 30%;
	}
	.img-count-4imgs .img-wrap-inner > .img-list .img{
		max-width:33%;
		padding-bottom: 20%;
	}
	.img-count-many_imgs .img-wrap-inner > .img-list .img{
		max-width:20%;
		padding-bottom: 13%;
	}
	
	
	.text-resv-wrap-inner {
/*
		padding-right: 4%;
		padding-left: 4%;
*/
		padding-right: 0;
		padding-left: 0;
	}
	.resv-content-wrap {
		margin: 0;
		width: 100%;
	}
	.resv-content{
		min-width:auto;
	}
}




#err_msg{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.75);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
}
#err_msg_inner{
	background: #fff;
	padding: 35px 40px 25px;
	max-width: 700px;
	width: 90%;
	border-radius: 10px;
/* 	position:relative; */
}
#err_msg_inner h3{
	font-size: 1.3em;
	color: #c00;
	margin:0 0 0.75em;
}
#err_msg_inner p{
	margin:0;
}
#err_msg_inner p + p{
	margin-top:1em;
}
#err_msg #err_msg_close{
/*
	position:absolute;
	top:15px;
	right:15px;
*/
	display: block;
	width:200px;
	border-radius:5px;
	color: #fff;
	background: #000;
	border: 1px solid rgba(0,0,0,0.5);
	cursor: pointer;
	padding:10px;
	margin:2em auto 0;
}
#err_msg #err_msg_close:hover{
	color: #fff;
	background: #444;
	border: 1px solid #444;
}
@media (max-width: 61em) {
	#err_msg_inner{
		padding: 25px 5%;
		width: 90%;
	}
	#err_msg_inner h3 {
		font-size: 1.2em;
	}
	#err_msg_inner p {
		font-size: 0.95em;
	}
}



