@media all {
	section {
		padding-top: 0em;
		padding-bottom: 0em;
	}
}

@media all {
	h1.jrcafe{
		font-size: 3rem;
		line-height: 1.46363636em;
		font-weight: bolder;
	}

	h2.jrcafe{
		font-size: 2.9rem;
		line-height: 1.36363636em;
		font-weight: bolder;
		margin-bottom: 10px;
	}

	h3.jrcafe{
		font-size: 2.2rem;
		line-height: 1.16363636em;
		font-weight: bolder;
	}

	h4.jrcafe{
		font-size: 1.5rem;
		line-height: 1.06363636em;
		font-weight: bolder;
	}

	h5.jrcafe{
		font-size: .83rem;
		line-height: 0.96363636em;
		font-weight: bolder;
	}		

	h6.jrcafe{
		font-size: .67rem;
		margin-top: 0;
		line-height: 0.86363636em;
		font-weight: bolder;
	}	
	p.jrcafe {
		font-size: 1.9rem;
		line-height: 1.56363636em;
		margin-bottom: 10px;
	}

	@media all and (max-width: 767px) {
	h1.jrcafe{
		font-size: 2.7rem;
		line-height: 1.36363636em;
		font-weight: bolder;
		margin-bottom: 10px;
	}

	h2.jrcafe{
		font-size: 2.4rem;
		line-height: 1.26363636em;
		font-weight: bolder;
		margin-bottom: 10px;
	}

	h3.jrcafe{
		font-size: 1.70rem;
		line-height: 1.16363636em;
		font-weight: bolder;
	}

	h4.jrcafe{
		font-size: 1.5rem;
		line-height: 1.06363636em;
		font-weight: bolder;
	}

	h5.jrcafe{
		font-size: 1.2rem;
		line-height: 0.96363636em;
		font-weight: bolder;
	}		

	h6.jrcafe{
		font-size: 1rem;
		margin-top: 0;
		line-height: 0.86363636em;
		font-weight: bolder;
	}	
	p.jrcafe {
		font-size: 1.7rem;
		line-height: 1.46363636em;
		margin-bottom: 10px;
	}
}	

	strong {
		font-weight: 600;
	}
	a:hover,
	a:focus,
	a:active {
		text-decoration: none;
		outline: none;
	}
	body {
		overflow-x: hidden;
	}
	.pos-vertical-center {
		position: relative;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
	}
	@media all and (max-width: 767px) {
		.pos-vertical-center {
			top: 0;
			transform: none;
			-webkit-transform: none;
		}
	}
	@media all and (max-height: 600px) {
		.pos-vertical-center {
			top: 0;
			transform: none;
			-webkit-transform: none;
		}
	}
	.block {
		display: block;
	}

	.mainvideo{
		height: 700px;
	}

	.menuitem{
		color: black;
	}

	.menuitemmobile{
		width: 50%;
	}

	.whitetitlebg{
		background: linear-gradient(transparent 50%, #f0f0f0 0%);
	}

	.greytitlebg{
		background: linear-gradient(transparent 50%, #ffffff 0%);
	}

	
	.zeropad {
		padding:0 !important;
	}

	.height-40 {
		height: 260px;
	}

	.height-80,
	.height-70,
	.height-100 {
		height: auto;
		padding: 5em 0;
	}
	@media all and (max-width: 767px) {
		.height-80,
		.height-70,
		.height-100 {
			height: auto;
			padding: 4em 0;
		}
	}
	@media all and (min-height: 600px) and (min-width: 767px) {
		.height-70 {
			height: 70vh;
		}
		.height-80 {
			height: 80vh;
		}
		.height-100 {
			height: 100vh;
		}
	}

	@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .zeropad {
		padding:0 !important;
		display: none;
	}
	.height-80 {
			height: 60vh;
	}
	.pos-bottom {
    bottom: -25vw;
	}
   }

	img {
		max-width: 100%;
		margin-bottom: 1.85714286em;
	}

	@media (min-width: 751px){
	main#tokyo .gray-bg.hint {
    padding-top: 30px;
    padding-bottom:60px;
}
}

.pos-absolute {
    position: absolute;
}
.pos-bottom {
    bottom: 0;
}
.pos-left {
    left: 5vw;
}

.mobile-play-button {
	margin-top: 0px;
}

img.serviceicon {
width: 100px;
}

.fullwidth{
	width: 100vw;
}

.topimage{
	min-height: 300px;
}

.fullwidth{
	width: 100vw;
}

.background-image-holder {
	position: absolute;
	height: 100%;
	top: 0;
	left: 0;
	background-size: cover!important;
	background-position: 50% 50%!important;
	z-index: 0;
	transition: opacity .3s linear;
	-webkit-transition: opacity .3s linear;
	opacity: 0;
	background: #252525;
}
.background-image-holder:not([class*='col-']) {
	width: 100%;
}
.background-image-holder img {
	display: none;
}
[data-overlay] {
  position: relative;
}
[data-overlay]:before {
  position: absolute;
  content: '';
  background: #252525;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
[data-overlay] *:not(.container):not(.background-image-holder) {
  z-index: 2;
}
[data-overlay].image--light:before {
  background: #fff;
}
[data-overlay].bg--primary:before {
  background: #4a90e2;
}
[data-overlay="1"]:before {
  opacity: 0.1;
}
[data-overlay="2"]:before {
  opacity: 0.2;
}
[data-overlay="3"]:before {
  opacity: 0.3;
}
[data-overlay="4"]:before {
  opacity: 0.4;
}
[data-overlay="5"]:before {
  opacity: 0.5;
}
[data-overlay="6"]:before {
  opacity: 0.6;
}
[data-overlay="7"]:before {
  opacity: 0.7;
}
[data-overlay="8"]:before {
  opacity: 0.8;
}
[data-overlay="9"]:before {
  opacity: 0.9;
}
[data-overlay="10"]:before {
  opacity: 1;
}
[data-overlay="0"]:before {
  opacity: 0;
}
	.imagebg {
		position: relative;
	}
	.imagebg .container {
		z-index: 2;
	}
	.imagebg .container:not(.pos-absolute) {
		position: relative;
	}
	.imagebg:not(.image--light) h2,
	.imagebg:not(.image--light) p {
		color: #fff;
	}

	.modal-container {
		transition: 0.3s linear;
		-webkit-transition: 0.3s linear;
		-moz-transition: 0.3s linear;
		padding: 0;
		visibility: hidden;
		opacity: 0;
		z-index: 999;
		pointer-events: none;
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}
	.modal-container:before {
		background: rgba(0, 0, 0, 0.85);
		content: '';
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 1;
	}
	.modal-container .modal-content {
		backface-visibility: hidden;
		position: fixed;
		z-index: 2;
		top: 50%;
		left: 50%;
		max-height: 100%;
		overflow-y: scroll;
		border: none;
		transform: translate3d(-50%, -50%, 0);
		-webkit-transform: translate3d(-50%, -50%, 0);
		padding: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.modal-container .modal-content:not(.height--natural) {
		width: 50%;
		height: 50%;
	}
	.modal-container .modal-content .modal-close-cross {
		cursor: pointer;
		position: absolute;
		opacity: .5;
		transition: 0.1s linear;
		-webkit-transition: 0.1s linear;
		-moz-transition: 0.1s linear;
		top: 1em;
		right: 1em;
		z-index: 99;
	}
	.modal-container .modal-content .modal-close-cross:before {
		content: '\00D7';
		font-size: 1.5em;
	}
	.modal-container .modal-content .modal-close-cross:hover {
		opacity: 1;
	}
	.modal-container .modal-content iframe {
		width: 100%;
		outline: none;
		border: none;
		height: 100%;
		backface-visibility: hidden;
	}
	.modal-container .modal-content iframe:first-child+.modal-close-cross:last-child {
		top: -3.71428571em;
	}
	@media all and (max-width: 767px) {
		.modal-container .modal-content {
			width: 97%!important;
			height: auto!important;
			padding-top: 2em;
			padding-bottom: 2em;
		}
	}
iframe {
  width: 100%;
  min-height: 350px;
  border: none;
}
@media all and (max-width: 767px) {
  iframe {
    min-height: 220px;
  }
}
.videobg {
  background: #252525;
  position: relative;
  overflow: hidden;
}
.videobg .container,
.videobg .background-image-holder {
  opacity: 0;
  transition: 0.3s linear;
  -webkit-transition: 0.3s linear;
  -moz-transition: 0.3s linear;
}
.videobg .background-image-holder {
  opacity: 0 !important;
}
.videobg.video-active .container {
  opacity: 1;
}
.videobg.video-active .loading-indicator {
  opacity: 0;
  visibility: hidden;
}
.videobg video {
  object-fit: cover;
  height: 100%;
  min-width: 100%;
  position: absolute;
  top: 0;
  z-index: 0 !important;
  left: 0;
}

.youtube-background {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  z-index: 0 !important;
}
.youtube-background .mb_YTPBar {
  opacity: 0;
  height: 0;
  visibility: hidden;
}

@media all and (max-width: 1024px) {
  .videobg .background-image-holder,
  .videobg .container {
    opacity: 1 !important;
  }
  .videobg .loading-indicator {
    display: none;
  }
  .videobg video {
    display: none;
  }
}

@media all and (max-width: 1024px) {
  .youtube-background {
    display: none;
  }
}
.loading-indicator {
  position: absolute !important;
  top: 50%;
  left: 50%;
  z-index: 99 !important;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  margin-left: -25px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: loading-spinner 1s infinite ease-in-out;
  animation: loading-spinner 1s infinite ease-in-out;
  transition: 0.3s linear;
  -webkit-transition: 0.3s linear;
  -moz-transition: 0.3s linear;
}
@-webkit-keyframes loading-spinner {
  0% {
    -webkit-transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    opacity: 0;
  }
}
@keyframes loading-spinner {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

.contents-btn a {
font-size: 1.6rem;
font-weight: bold;
border: 1.5px solid #268383;
background: #268383;
border-radius: 5px;
padding: 1em;
display: block;
color: #ffffff;
opacity: 1;
max-width: 360px;
}
.contents-btn a:hover {
background: #ffffff;
color: #268383;
border: 1.5px solid #268383;
}

.video-cover {
  position: relative;
}
.video-cover video {
  max-width: 100%;
}
.video-cover iframe {
  background: #252525;
}
.video-cover .background-image-holder {
  z-index: 3;
}
.video-cover .video-play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
}
.video-cover .video-play-icon,
.video-cover .background-image-holder {
  transition: 0.3s linear;
  -webkit-transition: 0.3s linear;
  -moz-transition: 0.3s linear;
}
.video-cover.reveal-video .video-play-icon,
.video-cover.reveal-video .background-image-holder {
  opacity: 0 !important;
  pointer-events: none;
}
.video-cover[data-scrim-bottom]:before,
.video-cover[data-overlay]:before,
.video-cover[data-scrim-top]:before {
  transition: 0.3s linear;
  -webkit-transition: 0.3s linear;
  -moz-transition: 0.3s linear;
  z-index: 4;
}
.video-cover.reveal-video[data-scrim-bottom]:before,
.video-cover.reveal-video[data-overlay]:before,
.video-cover.reveal-video[data-scrim-top]:before {
  opacity: 0;
  pointer-events: none;
}
.video-play-icon {
  width: 5.82857143em;
  height: 5.82857143em;
  border-radius: 50%;
  position: relative;
  z-index: 4;
  display: inline-block;
  border: 2px solid #ffffff;
  cursor: pointer;
  background: #ffffff;
}
.video-play-icon.video-play-icon--sm {
  width: 3.71428571em;
  height: 3.71428571em;
}
.video-play-icon.video-play-icon--sm:before {
  border-width: 4px 0 4px 9px;
}
.video-play-icon.video-play-icon--xs {
  width: 1.85714286em;
  height: 1.85714286em;
}
.video-play-icon.video-play-icon--xs:before {
  border-width: 3px 0 3px 6px;
  margin-left: -3px;
}
.video-play-icon.bg--primary:before {
  border-color: transparent transparent transparent #fff;
}
.video-play-icon:before {
  position: absolute;
  top: 50%;
  margin-top: -5px;
  left: 50%;
  margin-left: -4px;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 12px;
  border-color: transparent transparent transparent #ffffff;
  border-color: transparent transparent transparent #808080;
}
.video-play-icon.video-play-icon--dark {
  border-color: #252525;
  background: #252525;
}
.video-play-icon.video-play-icon--dark:before {
  border-color: transparent transparent transparent #252525;
}
.video-play-icon.video-play-icon--dark:before {
  border-color: transparent transparent transparent #fff;
}
@media all and (max-width: 767px) {
  .video-play-icon {
    width: 4.95238095em;
    height: 4.95238095em;
  }
}
.col-12:not([class*='col-lg']):not([class*='col-md']) .video-cover iframe {
  min-height: 550px;
}
@media all and (max-width: 990px) {
  div[class*='col-'][class*='-12']:not([class*='xs-12']) .video-cover iframe {
    min-height: 350px;
  }
}
div[class*='col-'][class*='-10'] .video-cover iframe {
  min-height: 450px;
}
div[class*='col-'][class*='-8'] .video-cover iframe {
  min-height: 400px;
}
div[class*='col-'][class*='-6'] .video-cover iframe {
  min-height: 350px;
}
@media all and (max-width: 1200px) {
  div[class*='col-'][class*='-6'] .video-cover iframe {
    min-height: 300px;
  }
}
@media all and (max-width: 990px) {
  div[class*='col-'][class*='-6'] .video-cover iframe {
    min-height: 220px;
  }
}
@media all and (max-width: 767px) {
  div[class*='col-'] .video-cover iframe {
    min-height: 220px !important;
  }
}
.modal-container video {
  max-width: 100%;
}



	.color--primary {
		color: #2B8383!important;
	}
	.bg--secondary {
		background: #fafafa;
	}
	.bg--primary {
		background: #2B8383;
	}
	.bg--facebook {
		background: #3b5998;
		color: #fff;
	}
	.switchable {
		position: relative;
	}
	.switchable div[class*='col-']:first-child {
		float: left;
		right: auto;
	}
	.switchable div[class*='col-']:first-child:not([class*='pull']):not([class*='push']) {
		left: 0;
	}
	.switchable div[class*='col-']:last-child {
		float: right;
		left: auto;
	}
	.switchable div[class*='col-']:last-child:not([class*='pull']):not([class*='push']) {
		right: 0;
	}
	.switchable.switchable--switch div[class*='col-']:first-child {
		float: right;
		right: 0;
		left: auto;
	}
	.switchable.switchable--switch div[class*='col-']:first-child:not([class*='pull']):not([class*='push']) {
		left: auto;
	}
	.switchable.switchable--switch div[class*='col-']:last-child {
		float: left;
		left: 0;
		right: auto;
	}
	.switchable .switchable__text {
		margin-top: 3.71428571em;
	}

	.box-shadow-wide {
		box-shadow: 0 23px 40px rgba(0, 0, 0, 0.2);
	}
	.border--round {
		border-radius: 6px;
	}
	.border--round:before {
		border-radius: 6px;
	}
	.border--round .background-image-holder {
		border-radius: 6px;
	}
	section:not(.imagebg):not([class*='bg-'])+section.bg--secondary {
		border-top: 1px solid #ebebeb;
	}
	section.bg--secondary:not(.imagebg)+section:not(.imagebg):not([class*='bg-']) {
		border-top: 1px solid #ebebeb;
	}
	section.text-center div[class*='col-']:first-child:last-child {
		margin: 0 auto;
		float: none;
	}

	.videotitle {
		color: #ffffff;
	}

	h2,
	.h2 {
		margin-bottom: 0.78787878787879em;
	}
	h4 {
		margin-bottom: 1.36842105263158em;
		font-weight: 400;
	}
	span.h2:not(.inline-block) {
		display: block;
	}
	[class*='imagebg']:not(.image--light) p {
		opacity: .9;
	}
	.lead {
		font-weight: 400;
		color: #808080;
	}
	.lead:not(:last-child) {
		margin-bottom: 1.36842105263158em;
	}
	.lead+.btn:last-child {
		margin-top: 0.92857143em;
	}
	p:last-child {
		margin-bottom: 0;
	}
	.text-block {
		margin-bottom: 1.85714286em;
	}
	.text-block h4:not(:last-child) {
		margin-bottom: 0.3421052631579em;
	}

	img:last-child {
		margin-bottom: 0;
	}
	.imagebg h2 {
		position: relative;
	}
	.imagebg:not(.image--light) span {
		color: #fff;
	}
	.text-center {
		text-align: center;
	}
	.icon:not(.block) {
		display: inline-block;
	}
	.text-block .icon+h4 {
		margin-top: 0.6842105263158em;
	}
	@media all and (min-width: 768px) {
		.switchable .container>.row {
			flex-flow: row-reverse;
		}
		.switchable.switchable--switch .container>.row {
			flex-flow: row;
		}
	}
	.switchable .switchable__text {
		margin-top: 1.85714286em;
	}
	.switchable [class*='col-']:first-child .switchable__text {
		margin-bottom: 2.78571429em;
	}
	@media all and (max-width: 990px) {
		.switchable .switchable__text {
			margin-top: 0;
		}
	}
	@media all and (max-width: 767px) {
		.switchable .switchable__text {
			margin-top: 1.85714286em;
		}
		.switchable .row>div[class*='col-'] {
			float: none!important;
		}
		.switchable .row>div[class*='col-']:last-child:not(:only-child) {
			margin-top: 1.85714286em;
		}
	}
}

.pos-absolute {
    position: absolute;
}
.pos-bottom {
    bottom: 0;
}
.pos-left {
    left: 5vw;
}

img.serviceicon {
width: 100px;
}

.modal-instance .modal-body {
  display: none;
}
.modal-container {
  transition: 0.3s linear;
  -webkit-transition: 0.3s linear;
  -moz-transition: 0.3s linear;
  padding: 0;
  visibility: hidden;
  opacity: 0;
  z-index: 999;
  pointer-events: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.modal-container.modal-active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.modal-container:before {
  background: rgba(0, 0, 0, 0.85);
  content: '';
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.modal-container .modal-content {
  backface-visibility: hidden;
  position: fixed;
  z-index: 2;
  top: 50%;
  left: 50%;
  max-height: 100%;
  overflow-y: scroll;
  border: none;
  transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
.modal-container .modal-content:not(.height--natural) {
  width: 50%;
  height: 50%;
}
.modal-container .modal-content .modal-close-cross {
  cursor: pointer;
  position: absolute;
  opacity: .5;
  transition: 0.1s linear;
  -webkit-transition: 0.1s linear;
  -moz-transition: 0.1s linear;
  top: 1em;
  right: 1em;
  z-index: 99;
}
.modal-container .modal-content .modal-close-cross:before {
  content: '\00D7';
  font-size: 1.5em;
}
.modal-container .modal-content .modal-close-cross:hover {
  opacity: 1;
}
.modal-container .modal-content.imagebg:not(.image--light) .modal-close-cross:before {
  color: #fff;
}
.modal-container .modal-content iframe {
  width: 100%;
  outline: none;
  border: none;
  height: 100%;
  backface-visibility: hidden;
}
.modal-container .modal-content iframe:first-child + .modal-close-cross:last-child {
  top: -3.71428571em;
}
.modal-content.section-modal {
  pointer-events: none;
}
.modal-content.section-modal [class*='col-'] {
  pointer-events: all;
}

.modal-instance .video-play-icon + span {
  position: absolute;
  display: inline-block;
  margin-left: 0.92857143em;
  white-space: nowrap;
  bottom: 60px;
  left: 100px;
  font-size: 16px;
  color: #ffffff;
}

@media all and (max-width: 767px) {
  .modal-container .modal-content {
    width: 97% !important;
    height: auto !important;
    padding-top: 2em;
    padding-bottom: 2em;
  }
}

.graypad{
padding-bottom: 70px;
}

@media all and (max-width: 767px) {
.graypad{
padding-bottom: 30px;
}
}


.whitebg{
background-color: #ffffff;
padding-top: 40px;
padding-bottom: 70px;
}

@media all and (max-width: 767px) {
.whitebg{
background-color: #ffffff;
padding-top: 30px;
padding-bottom: 30px;
}
}

@media all and (max-width: 767px) {
.whitebgspacing{
	padding-top: 0px;
}
}

.greybgspacing{
	padding-top: 10px;
}

@media all and (max-width: 767px) {
.greybgspacing{
	padding-top: 20px;
}
.whitebg{
	padding-top: 20px;
}
}

#tokyo .top-slider .slick-list::after{
	content: "※写真はイメージです";
	display: block;
	text-align: right;
}
@media all and (max-width: 750px) {
	#tokyo .top-slider .slick-list::after{
		margin-top: 12px;
	}
}
