@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Poppins:wght@500;700&display=swap);
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        -ms-user-select: none;
	    user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::-moz-selection {
	background: transparent;
}
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(/images/vendor/leaflet/dist/layers.png?416d91365b44e4b4f4777663e6f009f3);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(/images/vendor/leaflet/dist/layers-2x.png?8f2c4d11474275fbc1614b9098334eae);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(/images/vendor/leaflet/dist/marker-icon.png?2b3e1faf89f94a4835397e7a43b4f77d);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;
	transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v5.0.1 | 20191019
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, menu, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
  display: none;
}

body {
  line-height: 1;
}

menu, ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*
 * Container style
 */
.ps {
  overflow: hidden !important;
  overflow-anchor: none;
  -ms-overflow-style: none;
  touch-action: auto;
  -ms-touch-action: auto;
}

/*
 * Scrollbar rail styles
 */
.ps__rail-x {
  display: none;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
  height: 0.5rem;
  /* there must be 'bottom' or 'top' for ps__rail-x */
  bottom: 0;
  /* please don't change 'position' */
  position: absolute;
}

.ps__rail-y {
  display: none;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
  width: 0.5rem;
  /* there must be 'right' or 'left' for ps__rail-y */
  right: 0;
  opacity: 0;
  /* please don't change 'position' */
  position: absolute;
}

.ps:hover > .ps__rail-y,
.ps--focus > .ps__rail-y,
.ps--scrolling-y > .ps__rail-y {
  opacity: 1;
}

.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
  display: block;
  background-color: transparent;
}

.ps .ps__rail-y:hover,
.ps .ps__rail-y:focus,
.ps .ps__rail-y.ps--clicking {
  opacity: 1;
}

/*
 * Scrollbar thumb styles
 */
.ps__thumb-x {
  transition: background-color 0.2s linear, height 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s linear, height 0.2s ease-in-out;
  position: absolute;
}

.ps__thumb-y {
  transition: background-color 0.2s linear, width 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s linear, width 0.2s ease-in-out;
  position: absolute;
}

/* MS supports */
@supports (-ms-overflow-style: none) {
  .ps {
    overflow: auto !important;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps {
    overflow: auto !important;
  }
}
* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: inherit;
}

html,
body {
  width: 100%;
  height: auto;
}

html {
  font-size: 93.75%;
  scroll-behavior: smooth;
}

body {
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  letter-spacing: 1px;
  color: #333;
}

@media screen and (max-width: 1240px) {
  body.nav-open {
    position: fixed;
    overflow: hidden;
  }
}
h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
dl {
  margin-top: 0;
  margin-bottom: 0;
}

ul,
ol,
li,
dl,
dt,
dd {
  margin-left: 0;
  padding-left: 0;
}

ul,
li {
  list-style: none;
}

img,
svg,
input,
textarea,
select {
  vertical-align: middle;
}

input[type=number] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
}

a {
  color: #333;
  text-decoration: none;
}

h1,
h2,
h3 {
  line-height: 1.4;
}

img {
  max-width: 100%;
}

small {
  font-size: 0.8rem;
}

a:hover {
  text-decoration: underline;
}

.pagetop {
  position: fixed;
  right: 16px;
  bottom: 16px;
  display: block;
  width: 19px;
  z-index: 122;
}
@media screen and (max-width: 864px) {
  .pagetop {
    right: 4px;
  }
}

/*
---
name: Header
category: Layout
---

*/
.l-header {
  position: relative;
  width: 100%;
  height: 376px;
}
@media screen and (max-width: 864px) {
  .l-header {
    height: 460px;
  }
}
.l-header__inner {
  display: flex;
  position: relative;
  width: 100%;
  height: 80px;
}
@media screen and (max-width: 1240px) {
  .l-header__inner {
    background: #fff;
    height: 60px;
  }
}
.l-header__inner:before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 376px;
  background-color: #00b4a6;
}
@media screen and (max-width: 864px) {
  .l-header__inner:before {
    top: 60px;
    width: 48%;
    height: 400px;
  }
}
.l-header__inner:after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 37.693%;
  height: 768px;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
@media screen and (max-width: 1240px) {
  .l-header__inner:after {
    top: 60px;
  }
}
@media screen and (max-width: 864px) {
  .l-header__inner:after {
    width: 100%;
    height: 200px;
  }
}
.l-header__inner h1 {
  box-sizing: content-box;
  width: 194px;
  position: relative;
  z-index: 1;
  padding: 20px 0 0 20px;
  margin-right: 20px;
}
@media screen and (max-width: 1240px) {
  .l-header__inner h1 {
    width: 236px;
    padding: 7px 0 0 12px;
  }
  .l-header__inner h1 a {
    display: flex;
    align-items: center;
  }
}
.l-header__inner h1 .-logo {
  width: 100%;
}
.l-header__inner h1 .-servicesite {
  margin-top: 4px;
  background-color: #0557aa;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 17px;
  border-radius: 1000px;
}
.l-header__inner h1 .-servicesite img {
  width: 70px;
}
@media screen and (max-width: 1240px) {
  .l-header__inner h1 .-servicesite {
    min-width: 80px;
    height: 17px;
    padding: 6px 12px;
    margin-left: 10px;
  }
}
.l-header__inner nav {
  margin-left: auto;
  position: relative;
  z-index: 1;
  color: #ffffff;
  font-weight: 700;
}
@media screen and (max-width: 1240px) {
  .l-header__inner nav {
    display: none;
  }
}
.l-header__inner nav a {
  color: #ffffff;
  display: block;
}
.l-header__inner nav a:hover {
  text-decoration: none;
}
.l-header__inner nav ul {
  display: flex;
  height: 100%;
}
.l-header__inner nav ul li {
  position: relative;
}
.l-header__nav {
  font-size: 0.9333333333rem;
  line-height: 1;
  text-align: center;
}
.l-header__nav img {
  display: block;
  margin: 2px auto 8px auto;
}
.l-header__nav .-partner {
  width: 170px;
  margin: 0;
}
.l-header__nav .-partner a {
  padding: 35px 0;
}
.l-header__nav .-partner a span::before {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
  top: -32px;
  left: 0;
  transform: scaleX(0);
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__nav .-partner a:hover span::before {
  transform: scaleX(1);
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__nav .-partner span {
  position: relative;
}
.l-header__nav .-partner.-on span::before {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
  top: -32px;
  left: 0;
  transform: scaleX(1);
}
.l-header__nav .-contact {
  margin: 0 0 0 0;
  background-color: #00b4a6;
  width: 150px;
}
.l-header__nav .-contact a {
  padding: 35px 0;
}
.l-header__nav .-contact a span::before {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
  top: -32px;
  left: 0;
  transform: scaleX(0);
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__nav .-contact a:hover span::before {
  transform: scaleX(1);
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__nav .-contact span {
  position: relative;
}
.l-header__nav .-contact.-on span::before {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
  top: -32px;
  left: 0;
  transform: scaleX(1);
}
.l-header__nav .-hotel {
  font-size: 0.8666666667rem;
  width: 201px;
  height: 100%;
}
.l-header__nav .-hotel a {
  padding: 11px 0;
  background-color: #082853;
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__nav .-hotel a:hover {
  background-color: #1897db;
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__nav .-restaurant {
  font-size: 0.8666666667rem;
  width: 201px;
  height: 100%;
}
.l-header__nav .-restaurant a {
  padding: 11px 0;
  background-color: #f08b00;
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__nav .-restaurant a:hover {
  background-color: #ffd700;
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.l-header__title {
  position: absolute;
  top: 165px;
  left: 0;
  font-weight: 700;
  color: #ffffff;
  padding-left: 44.693%;
}
.l-header__title h2 {
  font-size: 2.7333333333rem;
  letter-spacing: 0.02em;
  line-height: 1.488;
}
.l-header__title p {
  font-size: 1.3333333333rem;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.4;
  opacity: 0.6;
  margin-top: 6px;
}
@media screen and (max-width: 864px) {
  .l-header__title {
    position: relative;
    top: 61px;
    text-align: center;
    padding-left: 0;
  }
  .l-header__title h2 {
    font-size: 2rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .l-header__title p {
    font-size: 1.2rem;
    line-height: 1.5;
    margin: -1px 0;
    opacity: 1;
  }
}

.l-header__fixed {
  height: 80px;
  overflow: hidden;
  width: 100%;
  opacity: 0;
  display: none;
  top: -80px;
  position: absolute;
}
.l-header__fixed .l-header__nav .-partner,
.l-header__fixed .l-header__nav .-contact {
  background-color: transparent;
}
.l-header__fixed .l-header__nav .-partner a,
.l-header__fixed .l-header__nav .-contact a {
  color: #000;
}
.l-header__fixed .l-header__inner::before,
.l-header__fixed .l-header__inner::after {
  content: none;
}
.l-header__fixed .l-header__nav .-partner.-on span::before,
.l-header__fixed .l-header__nav .-partner span::before,
.l-header__fixed .l-header__nav .-contact.-on span::before,
.l-header__fixed .l-header__nav .-contact span::before {
  background-color: #00b4a6;
  top: -24px;
}
.l-header__fixed .l-header__nav .-partner.-on span::before:hover,
.l-header__fixed .l-header__nav .-partner span::before:hover,
.l-header__fixed .l-header__nav .-contact.-on span::before:hover,
.l-header__fixed .l-header__nav .-contact span::before:hover {
  background-color: #00b4a6;
}
.l-header__fixed .l-header__nav .-partner a,
.l-header__fixed .l-header__nav .-contact a {
  padding: 27px 0;
}
.l-header__fixed .l-header__nav img {
  transform: scale(0.8);
  margin: 0 auto 2px auto;
}
.l-header__fixed .l-header__nav .-hotel a,
.l-header__fixed .l-header__nav .-restaurant a {
  padding: 6px 0;
  height: 100%;
}
.l-header__fixed .l-header__nav .-hotel a span,
.l-header__fixed .l-header__nav .-restaurant a span {
  display: block;
  padding-bottom: 3px;
}
@media screen and (max-width: 1240px) {
  .l-header__fixed {
    height: 60px;
  }
}
@media screen and (min-width: 1241px) {
  .l-header__fixed .l-header__inner h1 {
    padding: 10px 0 0 20px;
  }
  .l-header__fixed .l-header__inner h1 img.-logo {
    width: 133px;
  }
  .l-header__fixed .l-header__inner .-servicesite {
    width: 133px;
  }
}
.l-header__fixed.-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  opacity: 1;
  display: block;
  transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1);
  background: #ffffff;
}
@media screen and (max-width: 1240px) {
  body.partner .l-header__fixed, body.contact .l-header__fixed, body.company .l-header__fixed, body.document .l-header__fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    opacity: 1;
    display: block;
    transition: all 0.2s cubic-bezier(0.33, 1, 0.68, 1);
  }
}

/*
---
name: content
category: Layout
---
*/
/* main */
.main {
  padding-top: 80px;
}

@media screen and (max-width: 1240px) {
  .main {
    padding-top: 60px;
  }
}
/* hidden */
.pc-hidden {
  display: none;
}

.pctb-hidden {
  display: none;
}

@media screen and (max-width: 1024px) {
  .pc-hidden {
    display: block;
  }

  br.pc-hidden {
    display: inline-block;
  }

  .tb-hidden {
    display: none;
  }

  .tbsp-hidden {
    display: none;
  }
}
@media screen and (max-width: 864px) {
  .pctb-hidden {
    display: block;
  }

  br.pctb-hidden {
    display: inline-block;
  }

  br.tb-hidden {
    display: inline-block;
  }

  .sp-hidden {
    display: none !important;
  }
}
/* p-pagetitle */
.p-pagetitle {
  transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 270px;
  overflow: hidden;
  opacity: 0;
}
.p-pagetitle__img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  min-width: 1300px;
  min-height: 100%;
  max-width: inherit;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.p-pagetitle__img:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}
.p-pagetitle__img img {
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  width: 100%;
  transform: scale(1.1);
}
@media screen and (min-width: 1300px) {
  .p-pagetitle__img {
    min-width: 100%;
  }
}
.p-pagetitle__ttl {
  font-weight: 700;
  color: #ffffff;
}
.p-pagetitle__ttl .ja {
  font-size: 41px;
  letter-spacing: 0.02em;
  line-height: 1.49;
  text-align: center;
  margin-top: 2px;
}
.p-pagetitle__ttl .en {
  display: table;
  font-size: 20px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 5px auto 0;
}
.p-pagetitle.is-visible {
  opacity: 1;
}
.p-pagetitle.is-visible .p-pagetitle__img img {
  transform: scale(1);
}
.p-pagetitle + .p-section--bg {
  margin-top: 0;
}

@media screen and (max-width: 864px) {
  .p-pagetitle {
    height: 160px;
  }
  .p-pagetitle__img {
    width: 100%;
    min-width: 375px;
  }
  .p-pagetitle__img:before {
    background: rgba(0, 0, 0, 0.4);
  }
  @supports ((-o-object-fit: cover) or (object-fit: cover)) {
    .p-pagetitle__img {
      top: 0;
      left: 0;
      height: 100%;
      min-width: inherit;
      transform: translate(0, 0);
    }
    .p-pagetitle__img img {
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
    }
  }
  .p-pagetitle__ttl .ja {
    font-size: 30px;
    letter-spacing: 0;
    line-height: 1.234;
    margin: 4px 0;
  }
}
@media screen and (max-width: 864px) and (max-width: 375px) {
  .p-pagetitle__ttl .ja {
    font-size: 8vw;
  }
}
@media screen and (max-width: 864px) {
  .p-pagetitle__ttl .en {
    font-size: 17px;
    line-height: 1.42;
    margin-top: 0;
  }
}
@media screen and (max-width: 864px) {
  .p-pagetitle + .p-section {
    padding-top: 40px !important;
  }
}
/* subTemplate */
body.terms,
body.privacy-policy {
  background: #F4F4F4;
}

/* p-subTemplate */
.p-subTemplate__wrapper {
  max-width: 1060px;
  padding: 50px;
  margin: 0 auto;
}
.p-subTemplate__body {
  background: #fff;
  border-radius: 10px;
  padding: 50px;
}
.p-subTemplate__logo {
  width: 116px;
  margin: 0 auto;
}
.p-subTemplate__ttl {
  font-size: 31px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.484;
  text-align: center;
  margin: 30px 0 39px;
}
.p-subTemplate__lead {
  letter-spacing: 0;
  line-height: 2;
  margin: -4px 0;
}
.p-subTemplate__blockList {
  display: grid;
  gap: 50px 0;
  letter-spacing: 0;
  margin-top: 69px;
}
.p-subTemplate__blockList .block__ttl {
  display: block;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 20px;
}
.p-subTemplate__blockList .block__ttl .num {
  font-family: "Poppins", sans-serif;
  line-height: 1;
}
.p-subTemplate__blockList .block__ttl + .block__text,
.p-subTemplate__blockList .block__ttl + .block__numList,
.p-subTemplate__blockList .block__ttl + .block__list {
  margin-top: -4px;
}
.p-subTemplate__blockList .block__text {
  line-height: 2;
  margin: 16px 0 -4px;
}
.p-subTemplate__blockList .block__numList {
  counter-reset: number;
  line-height: 2;
  margin: 16px 0 -4px;
}
.p-subTemplate__blockList .block__numList > li {
  position: relative;
  counter-increment: number;
}
.p-subTemplate__blockList .block__numList > li:before {
  position: absolute;
  top: 0;
}
.p-subTemplate__blockList .block__numList > li:last-child .sub-brackets-indent:last-child {
  margin-bottom: 0;
}
.p-subTemplate__blockList .block__numList > li:last-child .block__list:last-child {
  margin-bottom: 0;
}
.p-subTemplate__blockList .block__numList.number-indent > li:before {
  left: -28px;
  content: counter(number);
}
.p-subTemplate__blockList .block__numList.brackets-indent > li:before {
  left: -38px;
  content: "(" counter(number) ")";
}
.p-subTemplate__blockList .block__numList.sub-brackets-indent > li:before {
  left: -32px;
  content: "(" counter(number) ")";
}
.p-subTemplate__blockList .block__numList .sub-brackets-indent {
  margin: 12px 0;
}
.p-subTemplate__blockList .block__list {
  line-height: 2;
  margin: 2px 0;
}
.p-subTemplate__blockList .number-indent {
  padding-left: 28px;
}
.p-subTemplate__blockList .brackets-indent {
  padding-left: 38px;
}
.p-subTemplate__blockList .sub-brackets-indent {
  padding-left: 32px;
}
.p-subTemplate__blockList .text-indent {
  text-indent: -1em;
  padding-left: 1em;
}
.p-subTemplate__enact {
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.467;
  color: #000;
  text-align: right;
  margin-top: 50px;
}
.p-subTemplate__footer {
  margin-top: 50px;
}
.p-subTemplate__copyright {
  font-size: 15px;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 864px) {
  .p-subTemplate__wrapper {
    padding: 25px;
  }
  .p-subTemplate__body {
    padding: 20px 25px 25px;
  }
  .p-subTemplate__logo {
    width: 80px;
  }
  .p-subTemplate__ttl {
    font-size: 22px;
    line-height: 1.5;
    margin: 25px 0 29px;
  }
  .p-subTemplate__lead {
    line-height: 1.7334;
    margin: -2px 0;
  }
  .p-subTemplate__blockList {
    gap: 40px 0;
    margin-top: 60px;
  }
  .p-subTemplate__blockList .block__ttl {
    line-height: 1.7334;
    margin: -2px 0 19px;
  }
  .p-subTemplate__blockList .block__ttl + .block__text,
.p-subTemplate__blockList .block__ttl + .block__numList,
.p-subTemplate__blockList .block__ttl + .block__list {
    margin-top: -2px;
  }
  .p-subTemplate__blockList .block__text {
    line-height: 1.7334;
    margin: 8px 0 -2px;
  }
  .p-subTemplate__blockList .block__numList {
    line-height: 1.7334;
    margin: 8px 0 -2px;
  }
  .p-subTemplate__blockList .block__numList.number-indent > li:before {
    left: -17px;
  }
  .p-subTemplate__blockList .block__numList.brackets-indent > li:before {
    left: -26px;
  }
  .p-subTemplate__blockList .block__numList.sub-brackets-indent > li:before {
    left: -29px;
  }
  .p-subTemplate__blockList .block__numList .sub-brackets-indent {
    margin: 6px 0;
  }
  .p-subTemplate__blockList .block__list {
    line-height: 1.7334;
    margin: 6px 0;
  }
  .p-subTemplate__blockList .number-indent {
    padding-left: 17px;
  }
  .p-subTemplate__blockList .brackets-indent {
    padding-left: 26px;
  }
  .p-subTemplate__blockList .sub-brackets-indent {
    padding-left: 29px;
  }
  .p-subTemplate__enact {
    font-size: 14px;
    line-height: 1.43;
    margin-top: 27px;
  }
  .p-subTemplate__footer {
    margin-top: 25px;
  }
  .p-subTemplate__copyright {
    font-size: 14px;
    line-height: 1.43;
  }
}
/* p-section */
.p-section {
  padding-top: 110px;
}
.p-section.p-pattern-short {
  padding-top: 90px;
}
.p-section.p-pattern-short.p-section--restaurant {
  padding-top: 100px;
}
.p-section--bg {
  padding: 90px 0 100px;
  margin-top: 110px;
}
.p-section--bg.p-section--hotel {
  background: #f0faff;
}
.p-section--bg.p-section--roomindicator {
  background: #F7FFF0;
}
.p-section--bg.p-section--restaurant {
  background: #fff9f0;
}
.p-section--bg.p-section--yellow {
  background: #FCFAE5;
}
.p-section--bg + .p-lpTemplate__services {
  margin-top: 0;
}
.p-section__body {
  max-width: 1140px;
  box-sizing: border-box;
  padding: 0 50px;
  margin: 0 auto;
}
.p-section__head {
  text-align: center;
  margin-bottom: 40px;
}
.p-section__head .ja {
  font-size: 40px;
  font-weight: 700;
}
.p-section__head .ja:before {
  content: "";
  display: block;
  width: 17px;
  height: 15px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: 0 auto 12px;
}
.p-section__head .en {
  font-size: 20px;
  font-weight: 700;
}
.p-section--restaurant .p-section__head .ja, .p-section--yellow .p-section__head .ja {
  color: #f08b00;
}
.p-section--restaurant .p-section__head .ja:before, .p-section--yellow .p-section__head .ja:before {
  background-image: url("/assets/images/commons/icon-title-restaurant.svg");
}
.p-section--restaurant .p-section__head .en, .p-section--yellow .p-section__head .en {
  color: #b7aea3;
}
.p-section__ttl {
  display: table;
  font-size: 31px;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.49;
  text-align: center;
  margin: 0 auto 40px;
}
.p-section--hotel .p-section__ttl {
  color: #082853;
}
.p-section--roomindicator .p-section__ttl {
  color: #0C6735;
}
.p-section--restaurant .p-section__ttl, .p-section--yellow .p-section__ttl {
  color: #f08b00;
}
.p-section__lead {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.7334;
  text-align: center;
  margin: -2px 0 38px;
}
.p-section__lead + .p-section__caption {
  margin-top: 15px;
}
.p-section__caption {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  color: #333;
  margin-top: 20px;
}
.p-section__caption.center {
  text-align: center;
}
.p-section__caption a {
  color: currentColor;
  text-decoration: underline;
}
.p-section__caption a:hover {
  text-decoration: none;
}
.p-section__label {
  line-height: 1;
  border: 3px solid #BF0000;
  border-radius: 20px;
  box-sizing: border-box;
  padding: 18px 14px;
  margin-top: 40px;
}
.p-section__label .lead {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.48;
  color: #BF0000;
  text-align: center;
}
.p-section__label .num {
  position: relative;
  top: 2px;
  font-size: 30px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  margin: 0 5px;
}
.p-section__label .suffix {
  font-size: 18px;
}
.p-section__label .cap {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.7334;
  text-align: center;
}
.p-section__label.pattern-1 {
  padding-top: 14px;
  padding-bottom: 20px;
  margin-top: 35px;
}
.p-section__label.pattern-1 .num {
  top: 0;
  margin: 0 2px;
}
.p-section__label.pattern-2 {
  padding-top: 11px;
  padding-bottom: 11px;
}
.p-section__label.pattern-3 {
  padding-top: 22px;
  padding-bottom: 21px;
}
.p-section__label.pattern-3 .cap {
  margin-top: 4px;
}
.p-section__block {
  margin-top: 110px;
}
.p-section__2col {
  display: flex;
  justify-content: space-between;
}
.p-section__2col .item {
  width: calc((100% - 40px) / 2);
  background: #ffffff;
  box-sizing: border-box;
  border-radius: 20px;
  border: 1px solid #E2E9EF;
  padding: 39px;
}
.p-section--restaurant .p-section__2col .item {
  border-color: #EFEAE2;
}
.p-section__2col .item__ttl {
  display: table;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.48;
  text-align: center;
  margin: 0 auto 25px;
}
.p-section__2col .item__ttl span {
  display: inline-block;
}
.p-section--hotel .p-section__2col .item__ttl {
  color: #082853;
}
.p-section--roomindicator .p-section__2col .item__ttl {
  color: #0C6735;
}
.p-section--restaurant .p-section__2col .item__ttl {
  color: #4d2b04;
}
.p-section__2col .item__img {
  width: 100%;
  text-align: center;
}
.p-section__2col .item__img img {
  height: auto;
}
.p-section__2col .item__txt {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.734;
  margin: 23px 0 -2px;
}
.p-section__2col .item__cap {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 2;
  color: #9B9B9B;
  margin: 2px 0 -2px;
}
.p-section--bg .p-section__2col .item {
  border: none;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
  padding: 40px;
}
.p-section--bg.p-section--restaurant .p-section__2col .item {
  box-shadow: 15px 15px 20px rgba(46, 27, 0, 0.1);
}
.p-section__3col {
  display: flex;
  justify-content: space-between;
}
.p-section__3col .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc((100% - 50px) / 3);
  background: #ffffff;
  box-sizing: border-box;
  border-radius: 20px;
  border: 1px solid #E2E9EF;
  padding: 39px 29px 29px;
}
.p-section__3col .item__img {
  margin-bottom: 30px;
}
.p-section__3col .item__img img {
  display: block;
  height: auto;
}
.p-section__3col .item__text {
  margin-top: auto;
}
.p-section__3col .item__ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.48;
  text-align: center;
}
.p-section__3col .item__ttl span {
  display: inline-block;
}
.p-section__3col .item__txt {
  display: table;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.47;
  margin: 15px auto 0;
}
.p-section__3col .item__cap {
  display: table;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.47;
  color: #93A2B7;
  margin: 5px auto 0;
}
.p-section--hotel .p-section__3col .item__ttl {
  color: #082853;
}
.p-section--bg .p-section__3col .item {
  border: none;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
  padding: 40px 30px 30px;
}
.p-section--roomindicator .p-section__3col .item__ttl {
  color: #0C6735;
}
.p-section--restaurant .p-section__3col .item {
  border-color: #EFEAE2;
}
.p-section--restaurant .p-section__3col .item__ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-section__3col .item__cap {
  color: #AC9C8B;
}
.p-section--bg.p-section--restaurant .p-section__3col .item {
  box-shadow: 15px 15px 20px rgba(46, 27, 0, 0.1);
}
.p-section__system {
  margin-top: 110px;
}
.p-section__system__img {
  display: block;
  max-width: 800px;
  background: #fff;
  border: 1px solid #E2E9EF;
  border-radius: 15px;
  padding: 49px;
  margin: 0 auto;
}
.p-section--restaurant .p-section__system__img {
  border-color: #EFEAE2;
}

@media screen and (max-width: 864px) {
  .p-section {
    padding-top: 60px;
  }
  .p-section.p-pattern-short {
    padding-top: 40px;
  }
  .p-section--bg {
    padding: 60px 0 70px;
    margin-top: 70px;
  }
  .p-section__body {
    padding: 0 25px;
  }
  .p-section__head {
    margin-bottom: 30px;
  }
  .p-section__head .ja {
    font-size: 30px;
  }
  .p-section__head .ja:before {
    margin-bottom: 8px;
  }
  .p-section__head .en {
    font-size: 16px;
  }
  .p-section__ttl {
    font-size: 26px;
    line-height: 1.462;
    margin-bottom: 30px;
  }
  .p-section__lead {
    text-align: left;
    margin-bottom: 28px;
  }
  .p-section__lead + .p-section__caption {
    margin-top: 14px;
  }
  .p-section__caption {
    font-size: 12px;
    line-height: 1.667;
    margin: 14px 0 -1px;
  }
  .p-section__caption.center {
    text-align: left;
  }
  .p-section__label {
    padding-top: 17px;
    padding-bottom: 17px;
    margin-top: 30px;
  }
  .p-section__label .lead {
    font-size: 18px;
    line-height: 1.56;
  }
  .p-section__label .num {
    font-size: 27px;
  }
  .p-section__label .cap {
    text-align: left;
  }
  .p-section__label.pattern-1 {
    padding: 9px 20px 17px;
    margin-top: 30px;
  }
  .p-section__label.pattern-1 .lead {
    font-size: 15px;
    line-height: 1.47;
    text-align: left;
    margin-bottom: 2px;
  }
  .p-section__label.pattern-1 .num {
    top: 1px;
    font-size: 25px;
  }
  .p-section__label.pattern-1 .suffix {
    font-size: 14px;
    letter-spacing: 0.02em;
  }
  .p-section--yellow .p-section__label.pattern-1 {
    padding: 9px 17px 8px 19px;
  }
  .p-section--yellow .p-section__label.pattern-1 .lead {
    margin-bottom: 0;
  }
  .p-section--yellow .p-section__label.pattern-1 .cap {
    font-size: 12px;
    line-height: 1.67;
  }
  .p-section__label.pattern-2 {
    padding-top: 9px;
    padding-bottom: 12px;
  }
  .p-section__label.pattern-2 .lead {
    line-height: 1.62;
  }
  .p-section__label.pattern-2 .num {
    line-height: 1;
  }
  .p-section__label.pattern-3 {
    padding: 18px 20px 17px;
  }
  .p-section__label.pattern-3 .lead {
    font-size: 15px;
    line-height: 1.47;
    text-align: left;
    margin-bottom: 0;
  }
  .p-section__label.pattern-3 .sp-small {
    display: block;
  }
  .p-section__block {
    margin-top: 60px;
  }
  .p-section__2col {
    display: block;
  }
  .p-section__2col .item {
    display: block;
    width: auto;
    padding: 19px;
    margin-top: 20px;
  }
  .p-section__2col .item:first-child {
    margin-top: 0 !important;
  }
  .p-section__2col .item__ttl {
    font-size: 19px;
    line-height: 1.369;
    padding: 1px 0;
    margin-bottom: 20px;
  }
  .p-section__2col .item__img img {
    width: 100%;
  }
  .p-section__2col .item__txt {
    margin-top: 18px;
  }
  .p-section__2col .item__cap {
    line-height: 1.847;
  }
  .p-section--bg .p-section__2col .item {
    padding: 20px !important;
    margin-top: 30px;
  }
  .p-section__3col {
    display: block;
  }
  .p-section__3col .item {
    width: auto;
    padding: 29px;
    margin-top: 25px;
  }
  .p-section__3col .item:first-child {
    margin-top: 0;
  }
  .p-section__3col .item__ttl {
    font-size: 19px;
    line-height: 1.47;
  }
  .p-section__3col .item__img {
    margin-bottom: 20px;
  }
  .p-section--bg .p-section__3col .item {
    padding: 30px;
    box-shadow: 10px 10px 15px rgba(0, 24, 46, 0.1);
  }
  .p-section--bg.p-section--restaurant .p-section__3col .item {
    box-shadow: 10px 10px 15px rgba(46, 27, 0, 0.1);
  }
  .p-equipment .p-section__3col .item.tablet .item__img {
    max-width: 208px;
    margin-bottom: 25px;
  }
  .p-equipment .p-section__3col .item__img {
    margin-bottom: 30px;
  }
  .p-section__system {
    margin-top: 60px;
  }
  .p-section__system__img {
    border: none;
    border-radius: 20px;
    padding: 30px 20px;
  }
}
/* p-two-column */
.p-two-column.p-section--bg {
  padding: 110px 0;
}
.p-two-column__container {
  display: flex;
  align-items: center;
}
.p-two-column__img {
  flex-shrink: 0;
  width: 39.424%;
}
.p-section--bg .p-two-column__img {
  box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.16);
}
.p-two-column__text {
  margin-left: 60px;
}
.p-two-column__text .p-two-column__txt {
  margin-top: 4px;
}
.reverse .p-two-column__container {
  flex-direction: row-reverse;
}
.reverse .p-two-column__text {
  margin-right: 60px;
  margin-left: 0;
}
.p-two-column__ttl {
  display: flex;
  align-items: center;
}
.p-two-column__ttl .num {
  font-size: 50px;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.42;
  margin-right: 21px;
}
.p-two-column__ttl .ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.48;
}
.p-two-column__txt {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.7334;
  margin-top: 11px;
  margin-bottom: -2px;
}
.p-two-column__list {
  display: flex;
  margin-top: 40px;
}
.p-two-column__list .item {
  width: calc((100% - 120px) / 4);
  margin-right: 40px;
}
.p-two-column__list .item:last-child {
  margin-right: 0;
}
.p-two-column__list .item:last-child .item__wrapper:after {
  display: none;
}
.p-two-column__list .item__wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 0;
  box-sizing: border-box;
  padding-bottom: 100%;
  border-radius: 50%;
}
.p-two-column__list .item__wrapper:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: -40px;
  bottom: 0;
  width: 40px;
  height: 1px;
  margin: auto;
}
.p-two-column__list .item__head {
  margin-top: 33px;
  font-weight: 700;
}
.p-two-column__list .item__label {
  display: table;
  font-size: 13px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #ffffff;
  border-radius: 5px;
  padding: 6px 7px 6px 8px;
  margin: 0 auto 8px;
}
.p-two-column__list .item__ttl {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.47;
}
.p-two-column__list .item__entry {
  width: 100%;
  text-align: center;
  margin-top: 19px;
}
.p-two-column__list .item__btn {
  transition: background 0.3s ease-out;
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #ffffff;
  border-radius: 1000px;
  text-decoration: none;
  padding: 8px 15px 9px;
  margin: 0 auto;
}
.p-two-column__list .item__download {
  transition: opacity 0.3s ease-out;
  display: block;
  width: 46.96%;
  text-decoration: none;
  margin: 12px auto 0;
}
.p-two-column__list .item__download:hover {
  opacity: 0.7;
}
.p-two-column__list .item__text {
  margin-top: 20px;
}
.p-two-column__list .item__txt {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.7334;
  margin: -2px 0;
}
.p-two-column__list .item-2 .item__icon {
  margin-top: 16px;
}
.p-two-column__list .item-3 .item__icon {
  margin-top: 24px;
}
.p-two-column__list .item-4 .item__icon {
  margin-top: 28px;
}
.p-section--restaurant .p-two-column__ttl .num, .p-section--yellow .p-two-column__ttl .num {
  color: #f08b00;
}
.p-section--restaurant .p-two-column__ttl .ttl, .p-section--yellow .p-two-column__ttl .ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-two-column__list .item__wrapper, .p-section--yellow .p-two-column__list .item__wrapper {
  background: #fff9f0;
}
.p-section--restaurant .p-two-column__list .item__wrapper:after, .p-section--yellow .p-two-column__list .item__wrapper:after {
  background: #f08b00;
}
.p-section--restaurant .p-two-column__list .item__label, .p-section--yellow .p-two-column__list .item__label {
  background: #65B1E8;
}
.p-section--restaurant .p-two-column__list .item__ttl, .p-section--yellow .p-two-column__list .item__ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-two-column__list .item__btn, .p-section--yellow .p-two-column__list .item__btn {
  background: #f08b00;
}
.p-section--restaurant .p-two-column__list .item__btn:hover, .p-section--yellow .p-two-column__list .item__btn:hover {
  background: #ffd700;
}

@media screen and (max-width: 1024px) {
  .p-two-column__list {
    display: block;
  }
  .p-two-column__list .item {
    width: auto;
    margin-top: 20px;
    margin-right: 0;
  }
  .p-two-column__list .item:first-child {
    margin-top: 0;
  }
  .p-two-column__list .item__wrapper {
    flex-direction: row;
    flex-wrap: wrap;
    height: auto;
    padding: 15px;
    border-radius: 6px;
  }
  .p-two-column__list .item__wrapper:after {
    display: none;
  }
  .p-two-column__list .item__head {
    display: flex;
    align-items: center;
    margin-top: 0;
  }
  .p-two-column__list .item__icon img {
    display: block;
    width: 100%;
  }
  .p-two-column__list .item__label {
    margin: 0 8px 0 0;
  }
  .p-two-column__list .item__entry {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 11px;
  }
  .p-two-column__list .item__btn {
    flex-shrink: 0;
    margin: 0 15px 0 0;
  }
  .p-two-column__list .item__download {
    width: 109px;
    margin: 0;
  }
  .p-two-column__list .item-1 .item__wrapper {
    justify-content: center;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .p-two-column__list .item-1 .item__label {
    margin-right: 10px;
  }
  .p-two-column__list .item-2 .item__icon {
    width: 34px;
    margin-top: 0;
    margin-left: auto;
  }
  .p-two-column__list .item-3 .item__icon {
    width: 36px;
    margin: 5px 4px 5px auto;
  }
  .p-two-column__list .item-4 .item__icon {
    width: 40px;
    margin: 5px 4px 5px auto;
  }
}
@media screen and (max-width: 864px) {
  .p-two-column {
    padding-top: 40px;
  }
  .p-two-column.p-section--bg {
    padding: 40px 0 63px;
    margin-top: 40px;
  }
  .p-two-column.p-section--bg.pc--bg {
    background: transparent;
    margin-top: 0;
  }
  .p-two-column.sp--bg {
    padding-bottom: 63px;
  }
  .p-two-column.sp--bg.p-section--yellow {
    background: #FCFAE5;
  }
  .p-two-column__container {
    flex-wrap: wrap;
    flex-direction: column-reverse !important;
  }
  .p-two-column__img {
    width: 100%;
    margin-top: 15px;
  }
  .p-two-column__text {
    margin: 0 !important;
  }
  .p-two-column__text .p-two-column__txt {
    margin-top: 2px;
  }
  .p-two-column__ttl {
    align-items: flex-start;
  }
  .p-two-column__ttl .num {
    font-size: 36px;
    line-height: 1.417;
    margin-right: 10px;
  }
  .p-two-column__ttl .ttl {
    font-size: 19px;
    line-height: 1.369;
    margin-top: 12px;
  }
  .p-two-column__txt {
    margin-top: 3px;
  }
  .p-two-column__list {
    margin-top: 25px;
  }
  .p-two-column__list .item__btn {
    flex-shrink: 0;
    margin: 0 15px 0 0;
  }
  .p-two-column__list .item__download {
    width: 109px;
    margin: 0;
  }
  .p-two-column__list .item__text {
    margin-top: 15px;
  }
  .p-two-column__list .item__txt {
    font-size: 14px;
    line-height: 1.72;
  }
}
/* p-system */
.p-system__body {
  background: #ffffff;
  box-sizing: border-box;
  border-radius: 20px;
  padding: 53px 50px 50px;
}
.p-system__img {
  display: block;
  width: 100%;
  max-width: 850px;
  margin: 0 auto;
}
.p-system__img img {
  display: block;
  margin: 0 auto;
}
.p-section--bg.p-section--restaurant .p-system__body {
  box-shadow: 15px 15px 20px rgba(46, 27, 0, 0.1);
}

@media screen and (max-width: 864px) {
  .p-system__body {
    padding: 20px 33px;
  }
  .p-section--bg.p-section--restaurant .p-system__body {
    box-shadow: 10px 10px 15px rgba(46, 27, 0, 0.1);
  }
}
/* p-section-function */
.p-section-function .c-lpTemplateFunction {
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
}
@media screen and (max-width: 864px) {
  .p-section-function .c-lpTemplateFunction {
    box-shadow: none;
  }
}

/* p-plan-about */
.p-plan-about__priceTable {
  display: flex;
}
.p-plan-about__priceTable .item {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  width: 50%;
}
.p-plan-about__priceTable .item:first-child .item__head {
  position: relative;
  border-radius: 20px 0 0 0;
}
.p-plan-about__priceTable .item:first-child .item__head:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: -1px;
  bottom: 0;
  width: 1px;
  background: rgba(255, 255, 255, 0.4);
}
.p-plan-about__priceTable .item:first-child .item__body {
  position: relative;
  border-right: none;
  border-radius: 0 0 0 20px;
}
.p-plan-about__priceTable .item:first-child .item__body:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: -1px;
  bottom: 0;
  width: 1px;
}
.p-plan-about__priceTable .item:last-child .item__head {
  border-radius: 0 20px 0 0;
}
.p-plan-about__priceTable .item:last-child .item__body {
  border-left: none;
  border-radius: 0 0 20px 0;
}
.p-plan-about__priceTable .item__head {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 100%;
  box-sizing: border-box;
  padding: 10px 0;
}
.p-plan-about__priceTable .item__ttl {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.47;
  color: #ffffff;
  text-align: center;
}
.p-plan-about__priceTable .item__ttl .cap {
  display: block;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  margin-top: 3px;
}
.p-plan-about__priceTable .item__body {
  text-align: center;
  border: 1px solid;
  box-sizing: border-box;
  padding: 15px;
}
.p-plan-about__priceTable .item__price {
  font-weight: 700;
  color: #BF0000;
}
.p-plan-about__priceTable .item__price .num {
  display: inline-block;
  font-size: 30px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.44;
}
.p-plan-about__priceTable .item__price .suffix {
  display: inline-block;
  font-size: 21px;
  letter-spacing: 0.02em;
  margin-left: 2px;
}
.p-plan-about__caption {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  color: #9B9B9B;
  margin-top: 30px;
}
.p-plan-about__list {
  display: flex;
  margin-top: 40px;
}
.p-plan-about__list .item {
  width: calc((100% - 50px) / 3);
  box-sizing: border-box;
  border: 1px solid;
  border-radius: 20px;
  padding: 39px 29px 29px;
  margin-right: 25px;
}
.p-plan-about__list .item:last-child {
  margin-right: 0;
}
.p-plan-about__list .item__img {
  display: block;
  width: 130px;
  margin: 0 auto;
}
.p-plan-about__list .item__text {
  margin-top: 40px;
}
.p-plan-about__list .item__ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.48;
  text-align: center;
}
.p-plan-about__list .item__list {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  margin-top: 13px;
}
.p-section--restaurant .p-plan-about__priceTable .item__head {
  background: #f08b00;
}
.p-section--restaurant .p-plan-about__priceTable .item__body {
  border-color: #EFEAE2;
}
.p-section--restaurant .p-plan-about__priceTable .item__body:after {
  background: #EFEAE2;
}
.p-section--restaurant .p-plan-about__caption {
  color: #AC9C8B;
}
.p-section--restaurant .p-plan-about__list .item {
  border-color: #EFEAE2;
}
.p-section--restaurant .p-plan-about__list .item__ttl {
  color: #4d2b04;
}

@media screen and (max-width: 864px) {
  .p-plan-about__priceTable .item__ttl {
    line-height: 1.2;
  }
  .p-plan-about__priceTable .item__ttl .cap {
    margin-top: 5px;
  }
  .p-plan-about__priceTable .item__body {
    padding: 20px 15px 18px;
  }
  .p-plan-about__priceTable .item__price .num {
    font-size: 25px;
    line-height: 1.4;
  }
  .p-plan-about__priceTable .item__price .suffix {
    font-size: 15px;
  }
  .p-plan-about__caption {
    font-size: 12px;
    line-height: 1.5;
  }
  .p-plan-about__list {
    display: block;
    margin-top: 30px;
  }
  .p-plan-about__list .item {
    width: auto;
    margin-top: 25px;
    margin-right: 0;
  }
  .p-plan-about__list .item:first-child {
    margin-top: 0;
  }
  .p-plan-about__list .item__img {
    width: 100px;
  }
  .p-plan-about__list .item__text {
    margin-top: 20px;
  }
  .p-plan-about__list .item__ttl {
    font-size: 19px;
  }
  .p-plan-about__list .item__list {
    font-size: 14px;
    line-height: 1.72;
  }
}
/* p-tabList */
.p-tabList__tab {
  display: flex;
  gap: 0 10px;
}
.p-tabList__tab .tab {
  transition: background 0.5s ease-out;
  position: relative;
  display: flex;
  align-items: center;
  flex: 1;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.47;
  color: #ffffff;
  box-sizing: border-box;
  border-radius: 10px 10px 0 0;
  padding: 14px 54px 13px 17px;
  cursor: pointer;
}
.p-tabList__tab .tab:before {
  position: absolute;
  display: block;
  content: "";
  top: 1px;
  bottom: 0;
  right: 16px;
  width: 21px;
  height: 21px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-image: url(/assets/images/commons/arw-bottom.svg);
  margin: auto;
}
.p-tabList__item {
  display: none;
}
.p-tabList__item.is-current {
  display: block;
}
.is-open .p-tabList__head:before {
  background-image: url(/assets/images/commons/arw-top.svg);
}
.p-tabList__head {
  display: none;
}
.p-tabList__body {
  background: #ffffff;
  border: 1px solid #E2E9EF;
  border-radius: 0 0 20px 20px;
  padding: 49px;
}
.p-tabList__lead {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.734;
  margin: -2px 0 0;
}
.p-tabList__col {
  margin-top: 40px;
}
.p-tabList__col:first-child {
  margin-top: 0 !important;
}
.p-tabList__col .item__ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.471;
  text-align: center;
  margin-bottom: 13px;
}
.p-tabList__2col {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.p-tabList__2col:first-child {
  margin-top: 0 !important;
}
.p-tabList__2col .item {
  width: calc((100% - 40px) / 2);
}
.p-tabList__2col .item__ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.471;
  text-align: center;
  margin-bottom: 12px;
}
.p-tabList__3col {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.p-tabList__3col:first-child {
  margin-top: 0 !important;
}
.p-tabList__3col .item {
  width: calc((100% - 70px) / 3);
}
.p-tabList__3col .item__ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.471;
  text-align: center;
  margin-bottom: 13px;
}
.p-section--hotel .p-tabList__tab .tab {
  background: #082853;
}
.p-section--hotel .p-tabList__tab .tab:hover, .p-section--hotel .p-tabList__tab .tab.is-current {
  background: #1897db;
}
.p-section--hotel .p-tabList .is-open .p-tabList__head {
  background: #1897db;
}
.p-section--hotel .p-tabList__head {
  background: #082853;
}
.p-section--hotel .p-tabList__2col .item__ttl {
  color: #082853;
}
.p-section--hotel .p-tabList__3col .item__ttl {
  color: #082853;
}
.p-section--roomindicator .p-tabList__tab .tab {
  background: #0D6735;
}
.p-section--roomindicator .p-tabList__tab .tab:hover, .p-section--roomindicator .p-tabList__tab .tab.is-current {
  background: #8DC31E;
}
.p-section--roomindicator .p-tabList .is-open .p-tabList__head {
  background: #8DC31E;
}
.p-section--roomindicator .p-tabList__head {
  background: #0C6735;
}
.p-section--restaurant .p-tabList__tab .tab {
  background: #f08b00;
}
.p-section--restaurant .p-tabList__tab .tab:hover, .p-section--restaurant .p-tabList__tab .tab.is-current {
  background: #FFDF74;
}
.p-section--restaurant .p-tabList .is-open .p-tabList__head {
  background: #FFDF74;
}
.p-section--restaurant .p-tabList__head {
  background: #f08b00;
}
.p-section--restaurant .p-tabList__body {
  border-color: #EFEAE2;
}
.p-section--restaurant .p-tabList__2col .item__ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-tabList__3col .item__ttl {
  color: #4d2b04;
}

@media screen and (max-width: 864px) {
  .p-tabList__tab {
    display: none;
  }
  .p-tabList__item {
    display: block;
    margin-top: 10px;
  }
  .p-tabList__item:first-of-type {
    margin-top: 0;
  }
  .p-tabList__item.is-open + .p-tabList__item {
    margin-top: 40px;
  }
  .is-open .p-tabList__head {
    border-radius: 10px 10px 0 0;
  }
  .is-open .p-tabList__body {
    display: block;
  }
  .p-tabList__head {
    position: relative;
    display: block;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.47;
    color: #ffffff;
    border-radius: 10px 10px 10px 10px;
    padding: 14px 39px 14px 9px;
    cursor: pointer;
  }
  .p-tabList__head:before {
    position: absolute;
    display: block;
    content: "";
    top: 1px;
    bottom: 0;
    right: 9px;
    width: 21px;
    height: 21px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-image: url(/assets/images/commons/arw-bottom.svg);
    margin: auto;
  }
  .p-tabList__body {
    display: none;
    padding: 29px 19px;
  }
  .p-tabList__lead {
    margin-bottom: -2px;
  }
  .p-tabList__2col {
    display: block;
  }
  .p-tabList__2col .item {
    width: auto;
    margin-top: 35px;
  }
  .p-tabList__2col .item:first-child {
    margin-top: 0;
  }
  .p-tabList__2col .item__ttl {
    font-size: 19px;
    line-height: 1.5;
  }
  .p-tabList__2col .item__img img {
    width: 100%;
  }
  .p-tabList__3col {
    display: block;
  }
  .p-tabList__3col .item {
    width: auto;
    margin-top: 35px;
  }
  .p-tabList__3col .item:first-child {
    margin-top: 0;
  }
  .p-tabList__3col .item__ttl {
    font-size: 19px;
    line-height: 1.5;
  }
  .p-tabList__3col .item__img img {
    width: 100%;
  }
}
/* p-printing */
.p-printing__wrapper {
  display: flex;
  box-sizing: border-box;
  border: 1px solid;
  border-radius: 20px;
}
.p-section--hotel .p-printing__wrapper {
  border-color: #E2E9EF;
}
.p-section--restaurant .p-printing__wrapper {
  border-color: #EFEAE2;
}
.p-printing__head {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  width: 31.696%;
  box-sizing: border-box;
  border-right: 1px solid;
}
.p-section--hotel .p-printing__head {
  border-right-color: #E2E9EF;
}
.p-section--restaurant .p-printing__head {
  border-right-color: #EFEAE2;
}
.p-printing__head .print__img {
  display: table;
  margin: 0 auto;
}
.p-printing__head .print__ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.47;
  text-align: center;
  margin-top: 10px;
}
.p-printing__head .icon {
  position: absolute;
  top: 50%;
  right: -25px;
  background: #ffffff;
  box-sizing: border-box;
  padding: 5px 0 8px;
  transform: translateY(-50%);
}
.p-printing__head .icon__ttl {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.47;
  color: #1897db;
  text-align: center;
  margin-bottom: 6px;
}
.p-printing__head .icon__img {
  width: 49px;
}
.p-printing__body {
  width: 100%;
  box-sizing: border-box;
  padding: 39px 39px 39px 70px;
}
.p-printing__list {
  display: flex;
  justify-content: space-between;
}
.p-printing__list .item {
  width: calc((100% - 60px) / 3);
  box-sizing: border-box;
}
.p-printing__list .item__img img {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.p-printing__list .item__ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.47;
  text-align: center;
  margin-top: 10px;
}
.p-section--hotel .p-printing__head .print__ttl {
  color: #082853;
}
.p-section--hotel .p-printing__list .item__ttl {
  color: #082853;
}
.p-section--restaurant .p-printing__head .print__ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-printing__list .item__ttl {
  color: #4d2b04;
}

@media screen and (max-width: 864px) {
  .p-printing__wrapper {
    display: block;
  }
  .p-printing__head {
    width: auto;
    border-right: none;
    border-bottom: 1px solid;
    padding: 29px 0 0;
  }
  .p-section--hotel .p-printing__head {
    border-bottom-color: #E2E9EF;
  }
  .p-section--restaurant .p-printing__head {
    border-bottom-color: #EFEAE2;
  }
  .p-printing__head .print__ttl {
    font-size: 19px;
  }
  .p-printing__head .icon {
    position: relative;
    display: table;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0 6px;
    margin: 24px auto -23px;
    transform: translateY(0);
  }
  .p-printing__head .icon__img {
    transform: rotate(90deg);
  }
  .p-printing__body {
    padding: 50px 29px 29px;
  }
  .p-printing__list {
    display: block;
  }
  .p-printing__list .item {
    width: 190px;
    margin: 20px auto 0;
  }
  .p-printing__list .item:first-child {
    margin-top: 0;
  }
  .p-printing__list .item__ttl {
    font-size: 19px;
    margin-top: 5px;
  }
}
/* p-pricePlan */
.p-pricePlan__list {
  display: flex;
  margin-top: 56px;
}
.p-pricePlan__list .item {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  width: calc(100% / 3);
}
.p-pricePlan__list .item:first-child .item__head {
  border-radius: 20px 0 0 0;
}
.p-pricePlan__list .item:first-child .item__body {
  border-radius: 0 0 0 20px;
}
.p-pricePlan__list .item:last-child .item__head {
  border-radius: 0 20px 0 0;
}
.p-pricePlan__list .item:last-child .item__body {
  border-radius: 0 0 20px 0;
}
.p-pricePlan__list .item__head {
  position: relative;
  box-sizing: border-box;
  padding: 24px;
}
.p-pricePlan__list .item__label {
  display: table;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.462;
  background: #ffffff;
  border-radius: 100px;
  padding: 2px 10px 3px;
  margin: 0 auto;
}
.p-pricePlan__list .item__ttl {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
  margin-top: 5px;
}
.p-pricePlan__list .item__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  box-sizing: border-box;
  padding: 29px 29px 30px;
}
.p-pricePlan__list .item__price {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: normal;
}
.p-pricePlan__list .item__price .prefix {
  font-size: 20px;
  letter-spacing: 0.04em;
  margin-right: 1px;
}
.p-pricePlan__list .item__price .price {
  position: relative;
  top: 1px;
  font-size: 31px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  color: #BF0000;
}
.p-pricePlan__list .item__price .en {
  margin-left: -3px;
}
.p-pricePlan__list .item__price .suffix {
  letter-spacing: 0.04em;
  margin-left: 2px;
}
.p-pricePlan__list .item__contact {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.34;
}
.p-pricePlan__list .item__contact a {
  text-decoration: none;
  border-bottom: 1px solid #333;
}
.p-pricePlan__list .item__contact a:hover {
  border-bottom: none;
}
.p-pricePlan__list .recommend__label {
  position: absolute;
  display: block;
  top: -18px;
  left: 50%;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  color: #ffffff;
  background: #F0B900;
  padding: 2px 24px 4px;
  transform: translateX(-50%);
}
.p-pricePlan__list .recommend__label:after {
  position: absolute;
  display: block;
  content: "";
  bottom: -7px;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 8px 0 8px;
  border-color: #F0B900 transparent transparent transparent;
  margin: auto;
}
.p-pricePlan__caption {
  display: table;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  color: #9B9B9B;
  margin-top: 20px;
  margin-left: auto;
}
.p-pricePlan__btn {
  display: flex;
  justify-content: center;
  margin-top: 50px;
}
.p-section--hotel .p-pricePlan__list .item:first-child .item__body {
  border-left: 1px solid #E2E9EF;
}
.p-section--hotel .p-pricePlan__list .item__body {
  border-top: 1px solid #E2E9EF;
  border-right: 1px solid #E2E9EF;
  border-bottom: 1px solid #E2E9EF;
}
.p-section--hotel .p-pricePlan__list .light .item__head {
  background: #7DABE8;
}
.p-section--hotel .p-pricePlan__list .light .item__label {
  color: #7DABE8;
}
.p-section--hotel .p-pricePlan__list .standard .item__head {
  background: #285086;
}
.p-section--hotel .p-pricePlan__list .standard .item__label {
  color: #285086;
}
.p-section--hotel .p-pricePlan__list .enterprise .item__head {
  background: #082853;
}
.p-section--hotel .p-pricePlan__list .enterprise .item__label {
  color: #082853;
}
.p-section--roomindicator .p-pricePlan__list .item:first-child .item__body {
  border-left: 1px solid #E2E2E2;
}
.p-section--roomindicator .p-pricePlan__list .item__body {
  border-top: 1px solid #E2E2E2;
  border-right: 1px solid #E2E2E2;
  border-bottom: 1px solid #E2E2E2;
}
.p-section--roomindicator .p-pricePlan__list .light .item__head {
  background: #8DC31F;
}
.p-section--roomindicator .p-pricePlan__list .light .item__label {
  color: #8DC31F;
}
.p-section--roomindicator .p-pricePlan__list .standard .item__head {
  background: #179B64;
}
.p-section--roomindicator .p-pricePlan__list .standard .item__label {
  color: #179B64;
}
.p-section--roomindicator .p-pricePlan__list .enterprise .item__head {
  background: #0C6735;
}
.p-section--roomindicator .p-pricePlan__list .enterprise .item__label {
  color: #0C6735;
}
.p-section--restaurant .p-pricePlan__list .item:first-child .item__body {
  border-left: 1px solid #EFEAE2;
}
.p-section--restaurant .p-pricePlan__list .item__ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-pricePlan__list .item__body {
  border-top: 1px solid #EFEAE2;
  border-right: 1px solid #EFEAE2;
  border-bottom: 1px solid #EFEAE2;
}
.p-section--restaurant .p-pricePlan__list .free .item__head {
  background: #FFDF74;
}
.p-section--restaurant .p-pricePlan__list .light .item__head {
  background: #F0B900;
}
.p-section--restaurant .p-pricePlan__list .standard .item__head {
  background: #F08B00;
}
.p-section--restaurant .p-pricePlan__caption {
  color: #AC9C8B;
}

@media screen and (max-width: 1024px) {
  .p-pricePlan__list {
    display: block;
    margin-top: 0;
  }
  .p-pricePlan__list .item {
    width: auto;
    margin-top: 20px;
  }
  .p-pricePlan__list .item:first-child {
    margin-top: 0;
  }
  .p-pricePlan__list .item__head {
    border-radius: 20px 20px 0 0 !important;
  }
  .p-pricePlan__list .item__body {
    border-radius: 0 0 20px 20px !important;
  }
  .p-section--hotel .p-pricePlan__list .item__body {
    border-left: 1px solid #E2E9EF;
  }
  .p-section--roomindicator .p-pricePlan__list .item__body {
    border-left: 1px solid #E2E2E2;
  }
  .p-section--restaurant .p-pricePlan__list .item__body {
    border-left: 1px solid #EFEAE2;
  }
  .p-pricePlan__list .recommend {
    margin-top: 42px;
  }
}
@media screen and (max-width: 864px) {
  .p-pricePlan__list .item__head {
    padding: 14px 14px 13px;
  }
  .p-pricePlan__list .item__label {
    font-size: 14px;
  }
  .p-pricePlan__list .item__ttl {
    font-size: 20px;
    line-height: 1.45;
  }
  .p-pricePlan__list .item__body {
    padding: 16px;
  }
  .p-pricePlan__list .item__price {
    font-size: 18px;
  }
  .p-pricePlan__list .item__price .prefix {
    font-size: 18px;
  }
  .p-pricePlan__list .item__price .price {
    font-size: 32px;
  }
  .p-pricePlan__list .item__price .suffix span.pctb-hidden {
    display: inline;
  }
  .p-pricePlan__list .item__contact {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: -1px;
  }
  .p-pricePlan__list .recommend:first-child {
    margin-top: 52px;
  }
  .p-pricePlan__list .recommend__label {
    top: -23px;
    padding: 2px 20px;
  }
  .p-pricePlan__list .recommend__label:after {
    bottom: -6px;
    border-width: 6px 6px 0 6px;
  }
  .p-pricePlan__list .enterprise .item__body {
    padding: 30px 30px 29px;
  }
  .p-pricePlan__caption {
    font-size: 12px;
    line-height: 1.67;
    margin-top: 14px;
  }
  .p-pricePlan__btn {
    margin-top: 30px;
  }
}
/* p-PlanTable */
.p-PlanTable {
  margin-top: 50px;
}
.p-PlanTable__caption {
  display: table;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  color: #9B9B9B;
  margin-top: 20px;
  margin-left: auto;
}
.p-section--hotel .p-PlanTable__caption {
  color: #93A2B7;
}
.p-section--yellow .p-PlanTable__caption {
  color: #AC9C8B;
}

@media screen and (max-width: 1024px) {
  .p-PlanTable {
    margin-top: 30px;
  }
  .p-PlanTable__caption {
    font-size: 12px;
    line-height: 1.67;
    margin-top: 14px;
  }
  .p-section--roomindicator .p-PlanTable__caption {
    margin-top: 28px;
  }
}
.p-pcPlanTable__head {
  display: flex;
  margin-left: 230px;
}
.p-pcPlanTable__head .head {
  width: calc(100% / 3);
  box-sizing: border-box;
  padding: 20px 0 16px;
}
.p-pcPlanTable__head .head__label {
  display: table;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.462;
  background: #ffffff;
  border-radius: 100px;
  padding: 2px 14px 3px;
  margin: 0 auto;
}
.p-pcPlanTable__head .head__ttl {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
  margin-top: 5px;
}
.p-pcPlanTable__head .head__price {
  display: table;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: normal;
  color: #ffffff;
  margin: -1px auto 0;
}
.p-pcPlanTable__head .head__price .prefix {
  font-size: 20px;
  letter-spacing: 0.04em;
  margin-right: 4px;
}
.p-pcPlanTable__head .head__price .price {
  position: relative;
  top: 1px;
  font-size: 31px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
}
.p-pcPlanTable__head .head__price .en {
  margin-left: 1px;
}
.p-pcPlanTable__head .head__price .suffix {
  letter-spacing: 0.04em;
  margin-left: 6px;
}
.p-pcPlanTable__head .head__lead {
  display: table;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.43;
  color: #ffffff;
  margin: 14px auto 0;
}
.p-pcPlanTable__head .head__lead a {
  position: relative;
  color: inherit;
}
.p-pcPlanTable__head .head__lead a:after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentcolor;
}
.p-pcPlanTable__head .head__lead a:hover {
  text-decoration: none;
}
.p-pcPlanTable__head .head__lead a:hover:after {
  background: none;
}
.p-pcPlanTable__head .free {
  border-radius: 20px 0 0 0;
}
.p-pcPlanTable__head .light {
  border-radius: 20px 0 0 0;
}
.p-pcPlanTable__head .enterprise {
  border-radius: 0 20px 0 0;
}
.p-pcPlanTable__body {
  background: #ffffff;
  border: 1px solid #E2E2E2;
  border-radius: 20px 0 20px 20px;
  box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.16);
}
.p-pcPlanTable__body .row {
  display: flex;
  line-height: 1;
  border-bottom: 1px solid #E2E2E2;
}
.p-pcPlanTable__body .row:last-child {
  border-bottom: none;
}
.p-pcPlanTable__body .row dt {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 230px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.47;
  text-align: center;
  border-right: 1px solid #E2E2E2;
  box-sizing: border-box;
  padding: 16px 0;
}
.p-pcPlanTable__body .row dd {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((100% - 230px) / 3 + 1px);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.412;
  text-align: center;
  border-right: 1px solid #E2E2E2;
  box-sizing: border-box;
  padding: 16px 0;
}
.p-pcPlanTable__body .row dd:last-child {
  width: calc((100% - 230px) / 3 - 1px);
  border-right: none;
}
.p-pcPlanTable__body .row .baseline {
  align-items: baseline;
  line-height: 1;
}
.p-pcPlanTable__body .row .baseline .num {
  margin-right: 0;
}
.p-pcPlanTable__body .row .emp {
  display: block;
  font-size: 23px;
  letter-spacing: 0.02em;
  line-height: 1.044;
}
.p-pcPlanTable__body .row .num {
  display: block;
  font-size: 23px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.044;
  margin-right: 2px;
}
.p-pcPlanTable__body .row .suffix {
  display: block;
  font-size: 15px;
  font-family: "Poppins", sans-serif;
}
.p-section--hotel .p-pcPlanTable__head .price {
  color: #F0B900;
}
.p-section--hotel .p-pcPlanTable__head .light {
  background: #7DABE8;
}
.p-section--hotel .p-pcPlanTable__head .light .head__label {
  color: #7DABE8;
}
.p-section--hotel .p-pcPlanTable__head .standard {
  background: #285086;
}
.p-section--hotel .p-pcPlanTable__head .standard .head__label {
  color: #285086;
}
.p-section--hotel .p-pcPlanTable__head .enterprise {
  background: #082853;
}
.p-section--hotel .p-pcPlanTable__head .enterprise .head__label {
  color: #082853;
}
.p-section--hotel .p-pcPlanTable__body {
  border-color: #E2E9EF;
}
.p-section--hotel .p-pcPlanTable__body .row {
  border-bottom-color: #E2E9EF;
}
.p-section--hotel .p-pcPlanTable__body .row dt {
  border-right-color: #E2E9EF;
}
.p-section--hotel .p-pcPlanTable__body .row dd {
  border-right-color: #E2E9EF;
}
.p-section--roomindicator .p-pcPlanTable__head .price {
  color: #FFD800;
}
.p-section--roomindicator .p-pcPlanTable__head .light {
  background: #8DC31F;
}
.p-section--roomindicator .p-pcPlanTable__head .light .head__label {
  color: #8DC31F;
}
.p-section--roomindicator .p-pcPlanTable__head .standard {
  background: #179B64;
}
.p-section--roomindicator .p-pcPlanTable__head .standard .head__label {
  color: #179B64;
}
.p-section--roomindicator .p-pcPlanTable__head .enterprise {
  background: #0C6735;
}
.p-section--roomindicator .p-pcPlanTable__head .enterprise .head__label {
  color: #0C6735;
}
.p-section--roomindicator .p-pcPlanTable__body {
  border-color: #ffffff;
  border-bottom: none;
  box-shadow: 15px 15px 20px rgba(52, 52, 52, 0.1);
}
.p-section--yellow .p-pcPlanTable__head .head__label {
  color: #4d2b04;
}
.p-section--yellow .p-pcPlanTable__head .head__ttl {
  color: #4d2b04;
}
.p-section--yellow .p-pcPlanTable__head .head__price {
  color: #333333;
}
.p-section--yellow .p-pcPlanTable__head .head__lead {
  color: #4d2b04;
}
.p-section--yellow .p-pcPlanTable__head .price {
  color: #BF0000;
}
.p-section--yellow .p-pcPlanTable__head .free {
  background: #FFDF74;
}
.p-section--yellow .p-pcPlanTable__head .light {
  background: #F0B900;
  border-radius: 0;
}
.p-section--yellow .p-pcPlanTable__head .standard {
  background: #F08B00;
  border-radius: 0 20px 0 0;
}
.p-section--yellow .p-pcPlanTable__body {
  border-color: #EFEAE2;
}
.p-section--yellow .p-pcPlanTable__body .row {
  border-bottom-color: #EFEAE2;
}
.p-section--yellow .p-pcPlanTable__body .row dt {
  border-right-color: #EFEAE2;
}
.p-section--yellow .p-pcPlanTable__body .row dd {
  border-right-color: #EFEAE2;
}

.p-spPlanTable .item {
  box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  overflow: hidden;
  margin-top: 20px;
}
.p-spPlanTable .item:first-child {
  margin-top: 0 !important;
}
.p-spPlanTable .item__head {
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  padding: 14px 0 5px;
}
.p-spPlanTable .item__label {
  display: table;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 1.47;
  background: #ffffff;
  border-radius: 100px;
  padding: 2px 13px 3px;
  margin: 0 auto 5px;
}
.p-spPlanTable .item__ttl {
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.p-spPlanTable .item__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin-top: -2px;
}
.p-spPlanTable .item__price .prefix {
  margin-right: 6px;
}
.p-spPlanTable .item__price .price {
  position: relative;
  top: 1px;
  bottom: -1px;
  font-size: 32px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  color: #F0B900;
}
.p-spPlanTable .item__price .en {
  margin-left: 2px;
}
.p-spPlanTable .item__price .suffix {
  margin-left: 5px;
}
.p-spPlanTable .item__lead {
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.43;
  margin-top: 10px;
}
.p-spPlanTable .item__lead a {
  position: relative;
  color: inherit;
}
.p-spPlanTable .item__lead a:after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentcolor;
}
.p-spPlanTable .item__lead a:hover {
  text-decoration: none;
}
.p-spPlanTable .item__lead a:hover:after {
  background: none;
}
.p-spPlanTable .item__list {
  background: #ffffff;
}
.p-spPlanTable .item__list li {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.43;
  border-bottom: 1px solid #E2E2E2;
  box-sizing: border-box;
  padding: 10px 18px;
}
.p-spPlanTable .item__list li:last-child {
  border-bottom: none;
}
.p-spPlanTable .item__list .icon {
  line-height: 1;
  padding-top: 1px;
  margin-right: 7px;
}
.p-spPlanTable .item__list .ttl {
  display: flex;
}
.p-spPlanTable .item__list .emp {
  font-size: 17px;
  font-family: "Poppins", sans-serif;
  line-height: 1.18;
}
.p-spPlanTable .item__list .num {
  font-size: 17px;
  font-family: "Poppins", sans-serif;
}
.p-spPlanTable .item__list .suffix {
  font-size: 13px;
  font-family: "Poppins", sans-serif;
}
.p-spPlanTable .enterprise .item__head {
  padding: 18px 0 17px;
}
.p-section--hotel .p-spPlanTable .item__list li {
  border-bottom-color: #E2E9EF;
}
.p-section--hotel .p-spPlanTable .light .item__head {
  background: #7DABE8;
}
.p-section--hotel .p-spPlanTable .light .item__label {
  color: #7DABE8;
}
.p-section--hotel .p-spPlanTable .standard .item__head {
  background: #285086;
}
.p-section--hotel .p-spPlanTable .standard .item__label {
  color: #285086;
}
.p-section--hotel .p-spPlanTable .enterprise .item__head {
  background: #082853;
}
.p-section--hotel .p-spPlanTable .enterprise .item__label {
  color: #082853;
}
.p-section--roomindicator .p-spPlanTable .item__price .price {
  color: #FFD800;
}
.p-section--roomindicator .p-spPlanTable .light .item__head {
  background: #8DC31F;
}
.p-section--roomindicator .p-spPlanTable .light .item__label {
  color: #8DC31F;
}
.p-section--roomindicator .p-spPlanTable .standard .item__head {
  background: #179B64;
}
.p-section--roomindicator .p-spPlanTable .standard .item__label {
  color: #179B64;
}
.p-section--roomindicator .p-spPlanTable .enterprise .item__head {
  background: #0C6735;
}
.p-section--roomindicator .p-spPlanTable .enterprise .item__label {
  color: #0C6735;
}
.p-section--yellow .p-spPlanTable .item__head {
  color: #4d2b04;
}
.p-section--yellow .p-spPlanTable .item__label {
  min-width: 231px;
  color: #4d2b04;
}
.p-section--yellow .p-spPlanTable .item__ttl {
  color: #4d2b04;
}
.p-section--yellow .p-spPlanTable .item__price .price {
  color: #BF0000;
}
.p-section--yellow .p-spPlanTable .item__list li {
  border-bottom-color: #EFEAE2;
}
.p-section--yellow .p-spPlanTable .free .item__head {
  background: #FFDF74;
}
.p-section--yellow .p-spPlanTable .light .item__head {
  background: #F0B900;
}
.p-section--yellow .p-spPlanTable .standard .item__head {
  background: #F08B00;
}

/* p-OtherTable */
.p-OtherTable {
  margin-top: 40px;
}
.p-OtherTable .red {
  color: #BF0000 !important;
}
.p-OtherTable__caption {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  color: #9B9B9B;
  margin-top: 20px;
}
.p-section--restaurant .p-OtherTable__caption {
  color: #AC9C8B;
}

@media screen and (max-width: 1024px) {
  .p-OtherTable {
    margin-top: 30px;
  }
  .p-OtherTable__caption {
    font-size: 12px;
    line-height: 1.67;
    margin-top: 14px;
  }
}
.p-pcOtherTable__head {
  display: flex;
  margin-left: 229px;
}
.p-pcOtherTable__head .head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(100% / 4);
  font-weight: 700;
  color: #ffffff;
  background: #9B9B9B;
  padding: 22px 0 21px;
}
.p-pcOtherTable__head .head.multi {
  padding: 10px 0 15px;
}
.p-pcOtherTable__head .head__ttl {
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.p-pcOtherTable__head .head__txt {
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 1.43;
  margin-top: -2px;
}
.p-pcOtherTable__head .head:first-child {
  border-radius: 20px 0 0 0;
}
.p-pcOtherTable__head .head:last-child {
  border-radius: 0 20px 0 0;
}
.p-pcOtherTable__body {
  background: #ffffff;
  border-radius: 20px 0 20px 20px;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
}
.p-pcOtherTable__body .row {
  position: relative;
  display: flex;
  line-height: 1;
}
.p-pcOtherTable__body .row:last-child dt,
.p-pcOtherTable__body .row:last-child dd {
  border-bottom: none;
}
.p-pcOtherTable__body .row:last-child .border:before {
  bottom: 0;
}
.p-pcOtherTable__body .row dt {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 229px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.47;
  text-align: center;
  border-right: 1px solid #E2E2E2;
  border-bottom: 1px solid #E2E2E2;
  box-sizing: border-box;
  padding: 17px 0 16px;
}
.p-pcOtherTable__body .row dd {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  width: calc((100% - 229px) / 4);
  text-align: center;
  border-right: 1px solid #E2E2E2;
  border-bottom: 1px solid #E2E2E2;
  box-sizing: border-box;
  padding: 17px 0 16px;
}
.p-pcOtherTable__body .row dd:last-child {
  border-right: none;
}
.p-pcOtherTable__body .row .border {
  position: relative;
  z-index: 2;
}
.p-pcOtherTable__body .row .border:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: -1px;
  right: -1px;
  left: 0;
}
.p-pcOtherTable__body .row .border .row__price {
  color: #333;
}
.p-pcOtherTable__body .row .border .row__price .price {
  font-weight: 700;
}
.p-pcOtherTable__body .row__price {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #9B9B9B;
  padding: 2px 0 3px;
}
.p-pcOtherTable__body .row__price .price {
  position: relative;
  top: 1px;
  font-size: 23px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.p-pcOtherTable__body .row__text {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #9B9B9B;
  padding: 3px 0;
}
.p-pcOtherTable__body .row__txt {
  color: #9B9B9B;
  font-weight: 700;
}
.p-section--hotel .p-pcOtherTable__head .border {
  background: #082853;
}
.p-section--hotel .p-pcOtherTable__body .row dt,
.p-section--hotel .p-pcOtherTable__body .row dd {
  border-right-color: #E2E9EF;
  border-bottom-color: #E2E9EF;
}
.p-section--hotel .p-pcOtherTable__body .row:last-child .border:before {
  border-bottom: 4px solid #082853;
}
.p-section--hotel .p-pcOtherTable__body .border:before {
  border-right: 4px solid #082853;
  border-left: 4px solid #082853;
}
.p-section--hotel .p-pcOtherTable__body .border .row__txt {
  color: #082853;
}
.p-section--roomindicator .p-pcOtherTable__head .border {
  background: #0C6735;
}
.p-section--roomindicator .p-pcOtherTable__body .row:last-child .border:before {
  border-bottom: 4px solid #0C6735;
}
.p-section--roomindicator .p-pcOtherTable__body .border:before {
  border-right: 4px solid #0C6735;
  border-left: 4px solid #0C6735;
}
.p-section--roomindicator .p-pcOtherTable__body .border .row__txt {
  color: #0C6735;
}
.p-section--restaurant .p-pcOtherTable__head .border, .p-section--yellow .p-pcOtherTable__head .border {
  background: #f08b00;
}
.p-section--restaurant .p-pcOtherTable__body, .p-section--yellow .p-pcOtherTable__body {
  box-shadow: 15px 15px 20px rgba(46, 27, 0, 0.1);
}
.p-section--restaurant .p-pcOtherTable__body .row:last-child .border:before, .p-section--yellow .p-pcOtherTable__body .row:last-child .border:before {
  border-bottom: 4px solid #f08b00;
}
.p-section--restaurant .p-pcOtherTable__body .border:before, .p-section--yellow .p-pcOtherTable__body .border:before {
  border-right: 4px solid #f08b00;
  border-left: 4px solid #f08b00;
}
.p-section--restaurant .p-pcOtherTable__body .border .row__txt, .p-section--yellow .p-pcOtherTable__body .border .row__txt {
  color: #f08b00;
}

.p-spOtherTable .item {
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
  border-radius: 15px;
  overflow: hidden;
  margin-top: 20px;
}
.p-spOtherTable .item:first-child {
  margin-top: 0;
}
.p-spOtherTable .item__head {
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  background: #9B9B9B;
  padding: 17px 0;
}
.p-spOtherTable .item__ttl {
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.p-spOtherTable .item__text {
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 1.43;
}
.p-spOtherTable .item__list {
  background: #ffffff;
}
.p-spOtherTable .item__list li {
  display: flex;
  border-bottom: 1px solid #E2E2E2;
  box-sizing: border-box;
  padding: 10px 18px;
}
.p-spOtherTable .item__list li:last-child {
  border-bottom: none;
  padding-bottom: 15px;
}
.p-spOtherTable .item__list .icon {
  line-height: 1;
  padding-top: 1px;
  margin-right: 7px;
}
.p-spOtherTable .item__list .ttl {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.43;
}
.p-section--hotel .p-spOtherTable .item__list li {
  border-bottom-color: #E2E9EF;
}
.p-section--hotel .p-spOtherTable .item__list li .color {
  color: #082853;
}
.p-section--hotel .p-spOtherTable .emp .item__head {
  background: #082853;
}
.p-section--roomindicator .p-spOtherTable .emp .item__head {
  background: #0C6735;
}
.p-section--restaurant .p-spOtherTable .item__list li, .p-section--yellow .p-spOtherTable .item__list li {
  border-bottom-color: #EFEAE2;
}
.p-section--restaurant .p-spOtherTable .item__list li .color, .p-section--yellow .p-spOtherTable .item__list li .color {
  color: #f08b00;
}
.p-section--restaurant .p-spOtherTable .emp .item__head, .p-section--yellow .p-spOtherTable .emp .item__head {
  background: #f08b00;
}

/* p-PriceTable */
.p-PriceTable {
  margin-top: 60px;
}
.p-PriceTable:first-of-type {
  margin-top: 0;
}
.p-PriceTable__ttl {
  display: flex;
  align-items: center;
  font-weight: 700;
  margin-bottom: 25px;
}
.p-PriceTable__ttl .label {
  flex-shrink: 0;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 1.43;
  color: #ffffff;
  border-radius: 1000px;
  padding: 5px 8px;
  margin-right: 11px;
}
.p-PriceTable__ttl .ttl {
  font-size: 18px;
  letter-spacing: 0.02em;
}
.p-PriceTable__foot {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
}
.p-PriceTable__cap {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  color: #93A2B7;
}
.p-section--hotel .p-PriceTable__ttl .label {
  background: #285086;
}
.p-section--roomindicator .p-PriceTable__ttl .label {
  background: #8DC31F;
}
.p-section--restaurant .p-PriceTable__ttl .label {
  color: #4d2b04;
  background: #F08B00;
}
.p-section--restaurant .p-PriceTable__ttl .light {
  background: #F0B900;
}
.p-section--restaurant .p-PriceTable__ttl .ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-PriceTable__cap {
  color: #B9AEA2;
}
.p-section--restaurant .p-PriceTable__total {
  color: #4d2b04;
}
.p-PriceTable__total {
  display: flex;
  align-items: baseline;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.p-PriceTable__total .price {
  position: relative;
  top: 1px;
  display: block;
  font-size: 26px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.385;
  margin-left: 3px;
}
.p-PriceTable__total .suffix {
  display: block;
  font-size: 16px;
  letter-spacing: 0.02em;
  margin-left: 2px;
}
.p-PriceTable .red {
  color: #BF0000;
}

@media screen and (max-width: 1024px) {
  .p-PriceTable {
    margin-top: 40px;
  }
  .p-PriceTable__ttl {
    align-items: flex-start;
  }
  .p-PriceTable__ttl .label {
    font-size: 12px;
    line-height: 1.5;
    padding: 4px 7px;
  }
  .p-PriceTable__ttl .ttl {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 1px;
  }
  .p-PriceTable__foot {
    display: block;
    margin-top: 10px;
  }
  .p-PriceTable__cap {
    font-size: 12px;
    line-height: 1.67;
  }
  .p-PriceTable__total {
    justify-content: flex-end;
    font-size: 15px;
    margin-top: 20px;
  }
  .p-PriceTable__total .price {
    font-size: 20px;
  }
  .p-PriceTable__total .suffix {
    font-size: 14px;
  }
}
.p-pcPriceTable {
  font-weight: 700;
}
.p-pcPriceTable .head {
  display: flex;
  border-radius: 20px 20px 0 0;
}
.p-pcPriceTable .head li {
  position: relative;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
  box-sizing: border-box;
  padding: 12px 0 11px;
}
.p-pcPriceTable .head li:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  left: -1px;
  border-right: 1px solid rgba(255, 255, 255, 0.4);
  pointer-events: none;
}
.p-pcPriceTable .head li:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.4);
}
.p-pcPriceTable .row {
  display: flex;
}
.p-pcPriceTable .row dt {
  position: relative;
}
.p-pcPriceTable .row dt:after {
  position: absolute;
  display: block;
  content: "";
  right: 0;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #EFEAE2;
}
.p-pcPriceTable .row li {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding: 17px 19px;
}
.p-pcPriceTable .row li:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-right: 1px solid #EFEAE2;
  border-bottom: 1px solid #EFEAE2;
}
.p-pcPriceTable .row:last-child dt {
  border-radius: 0 0 0 20px;
}
.p-pcPriceTable .row:last-child dt:after {
  display: none;
}
.p-pcPriceTable .row:last-child ul:last-child li:last-child:after {
  border-radius: 0 0 20px 0;
}
.p-pcPriceTable dt {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 100px;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
  padding: 0;
}
.p-pcPriceTable dd {
  flex-grow: 1;
}
.p-pcPriceTable ul {
  display: flex;
}
.p-pcPriceTable .category {
  flex-grow: 1;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.47;
}
.p-pcPriceTable .unit {
  flex-shrink: 0;
  width: 180px;
}
.p-pcPriceTable .amount {
  flex-shrink: 0;
  width: 181px;
}
.p-pcPriceTable .price {
  flex-shrink: 0;
  width: 183px;
}
.p-pcPriceTable .number {
  font-size: 12px;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: right;
  margin-bottom: 4px;
}
.p-pcPriceTable .num {
  position: relative;
  top: 2px;
  font-size: 23px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
}
.p-pcPriceTable .prefix {
  margin-right: 3px;
}
.p-pcPriceTable .suffix {
  margin-left: 3px;
}
.p-section--hotel .p-pcPriceTable .head {
  background: #082853;
}
.p-section--hotel .p-pcPriceTable .row dt {
  background: #f0faff;
}
.p-section--roomindicator .p-pcPriceTable .head {
  background: #0C6735;
}
.p-section--roomindicator .p-pcPriceTable .row dt {
  background: #F7FFF0;
}
.p-section--restaurant .p-pcPriceTable .head {
  background: #f08b00;
}
.p-section--restaurant .p-pcPriceTable .row dt {
  color: #4d2b04;
  background: #FCFAE5;
}
.p-section--restaurant .p-pcPriceTable .row dd {
  color: #4d2b04;
}

.p-spPriceTable .block {
  margin-top: 30px;
}
.p-spPriceTable .block:first-child {
  margin-top: 0;
}
.p-spPriceTable .block__ttl {
  font-size: 19px;
  letter-spacing: 0.02em;
  line-height: 1.474;
  font-weight: 700;
  margin-bottom: 10px;
}
.p-spPriceTable .item {
  border-radius: 15px;
  overflow: hidden;
  margin-top: 20px;
}
.p-spPriceTable .item:first-of-type {
  margin-top: 0;
}
.p-spPriceTable .item__head {
  text-align: center;
  padding: 15px 0;
}
.p-spPriceTable .item__ttl {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #ffffff;
}
.p-spPriceTable .item__list {
  box-sizing: border-box;
  border-radius: 0 0 20px 20px;
}
.p-spPriceTable .item__list li {
  padding: 5px 0 8px;
}
.p-spPriceTable .item__list li:last-child {
  border-bottom: none !important;
  padding-top: 7px;
  padding-bottom: 13px;
}
.p-spPriceTable .item__number {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  font-weight: 700;
}
.p-spPriceTable .item__number span {
  display: block;
  font-size: 14px;
  letter-spacing: 0.04em;
}
.p-spPriceTable .item .prefix {
  margin-right: 3px;
}
.p-spPriceTable .item .num {
  position: relative;
  top: 1px;
  font-size: 20px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
}
.p-spPriceTable .item .suffix {
  margin-left: 2px;
}
.p-section--hotel .p-spPriceTable .block__ttl {
  color: #082853;
}
.p-section--hotel .p-spPriceTable .item__head {
  background: #082853;
}
.p-section--hotel .p-spPriceTable .item__list {
  border-right: 1px solid #E2E9EF;
  border-bottom: 1px solid #E2E9EF;
  border-left: 1px solid #E2E9EF;
}
.p-section--hotel .p-spPriceTable .item__list li {
  border-bottom: 1px solid #E2E9EF;
}
.p-section--roomindicator .p-spPriceTable .block__ttl {
  color: #0C6735;
}
.p-section--roomindicator .p-spPriceTable .item__head {
  background: #0C6735;
}
.p-section--roomindicator .p-spPriceTable .item__list {
  border-right: 1px solid #E2E9EF;
  border-bottom: 1px solid #E2E9EF;
  border-left: 1px solid #E2E9EF;
}
.p-section--roomindicator .p-spPriceTable .item__list li {
  border-bottom: 1px solid #E2E9EF;
}
.p-section--restaurant .p-spPriceTable .block__ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-spPriceTable .item__head {
  background: #f08b00;
}
.p-section--restaurant .p-spPriceTable .item__list {
  border-right: 1px solid #EFEAE2;
  border-bottom: 1px solid #EFEAE2;
  border-left: 1px solid #EFEAE2;
}
.p-section--restaurant .p-spPriceTable .item__list li {
  color: #4d2b04;
  border-bottom: 1px solid #EFEAE2;
}

/* p-faq */
.p-faq-about {
  border: 1px solid #E2E9EF;
  border-radius: 20px;
  margin-top: 40px;
}
.p-faq-about:first-child {
  margin-top: 0 !important;
}
.p-faq-about__head {
  position: relative;
  padding: 30px 39px;
  cursor: pointer;
}
.p-faq-about__head .icon {
  transition: background 0.5s cubic-bezier(0.33, 1, 0.68, 1) 0s;
  position: absolute;
  top: 0;
  right: 39px;
  bottom: 0;
  width: 20px;
  height: 20px;
  background: #DBDADA;
  border-radius: 50%;
  margin: auto;
}
.p-faq-about__head .icon:before, .p-faq-about__head .icon:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 12px;
  height: 2px;
  background: #ffffff;
  margin: auto;
}
.p-faq-about__head .icon:after {
  transform: rotate(90deg);
}
.p-faq-about__ttl {
  position: relative;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.477;
}
.p-faq-about__ttl:before {
  position: absolute;
  display: block;
  content: "";
  top: 5px;
  left: -40px;
  width: 4px;
  height: 22px;
}
.p-faq-about__body {
  display: none;
  padding: 7px 39px 39px 38px;
}
.p-faq-about.is-open .p-faq-about__head .icon:after {
  display: none;
}
.p-faq-about.is-open .p-faq-about__body {
  display: block;
}
.p-faq-qa {
  margin-top: 40px;
}
.p-faq-qa:first-child {
  margin-top: 0;
}
.p-faq-qa__head {
  position: relative;
  cursor: pointer;
}
.p-faq-qa__head .icon {
  transition: background 0.5s cubic-bezier(0.33, 1, 0.68, 1) 0s;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  width: 18px;
  height: 18px;
  background: #DBDADA;
  border-radius: 50%;
  margin: auto;
}
.p-faq-qa__head .icon:before, .p-faq-qa__head .icon:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 10px;
  height: 2px;
  background: #ffffff;
  margin: auto;
}
.p-faq-qa__head .icon:after {
  transform: rotate(90deg);
}
.p-faq-qa__ttl {
  position: relative;
  font-size: 16px;
  letter-spacing: 0.02em;
  line-height: 1.5;
  font-weight: 700;
  padding: 0 36px;
  margin-left: 1px;
}
.p-faq-qa__ttl:before {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "Q";
  top: 1px;
  left: 0;
  width: 24px;
  height: 24px;
  font-size: 15px;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  color: #ffffff;
  border-radius: 50%;
  box-sizing: border-box;
  padding-top: 1px;
}
.p-faq-qa__body {
  display: none;
  margin-top: 12px;
}
.p-faq-qa__inner {
  border-radius: 5px;
  padding: 18px 20px;
}
.p-faq-qa__text {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.7334;
}
.p-faq-qa.is-open .p-faq-qa__head .icon:after {
  display: none;
}
.p-faq-qa.is-open .p-faq-qa__body {
  display: block;
}
.p-section--hotel .p-faq-about__head:hover .icon {
  background: #082853;
}
.p-section--hotel .p-faq-about__ttl {
  color: #082853;
}
.p-section--hotel .p-faq-about__ttl:before {
  background: #F0B900;
}
.p-section--hotel .p-faq-qa__head:hover .icon {
  background: #082853;
}
.p-section--hotel .p-faq-qa__ttl {
  color: #082853;
}
.p-section--hotel .p-faq-qa__ttl:before {
  background: #F0B900;
}
.p-section--hotel .p-faq-qa__inner {
  background: #f0faff;
}
.p-section--roomindicator .p-faq-about__head:hover .icon {
  background: #8DC31F;
}
.p-section--roomindicator .p-faq-about__ttl {
  color: #0C6735;
}
.p-section--roomindicator .p-faq-about__ttl:before {
  background: #F0B900;
}
.p-section--roomindicator .p-faq-qa__head:hover .icon {
  background: #8DC31F;
}
.p-section--roomindicator .p-faq-qa__ttl {
  color: #0C6735;
}
.p-section--roomindicator .p-faq-qa__ttl:before {
  background: #F0B900;
}
.p-section--roomindicator .p-faq-qa__inner {
  background: #F7FFF0;
}
.p-section--restaurant .p-faq-about {
  border-color: #EFEAE2;
}
.p-section--restaurant .p-faq-about__head:hover .icon {
  background: #f08b00;
}
.p-section--restaurant .p-faq-about__ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-faq-about__ttl:before {
  background: #f08b00;
}
.p-section--restaurant .p-faq-qa__head:hover .icon {
  background: #f08b00;
}
.p-section--restaurant .p-faq-qa__ttl {
  color: #f08b00;
}
.p-section--restaurant .p-faq-qa__ttl:before {
  background: #FFD800;
}
.p-section--restaurant .p-faq-qa__inner {
  background: #fff9f0;
}

@media screen and (max-width: 864px) {
  .p-faq-about {
    margin-top: 20px;
  }
  .p-faq-about__head {
    padding: 19px;
  }
  .p-faq-about__head .icon {
    right: 20px;
  }
  .p-faq-about__ttl {
    font-size: 19px;
    line-height: 1.474;
  }
  .p-faq-about__ttl:before {
    top: 3px;
    left: -20px;
  }
  .p-faq-about__body {
    padding: 8px 19px 25px;
  }
  .p-faq-about.is-open + .p-faq-about {
    margin-top: 30px;
  }
  .p-faq-qa {
    margin-top: 22px;
  }
  .p-faq-qa__head .icon {
    right: 2px;
  }
  .p-faq-qa__ttl {
    font-size: 15px;
    line-height: 1.334;
    padding: 0 24px;
  }
  .p-faq-qa__ttl:before {
    top: 0;
    left: -1px;
    width: 20px;
    height: 20px;
    font-size: 12px;
    padding-top: 0;
  }
  .p-faq-qa__body {
    margin-top: 10px;
  }
  .p-faq-qa__inner {
    padding: 12px 15px;
  }
}
/* p-flow */
.p-flow__list .flow {
  display: flex;
  align-items: center;
  margin-top: 40px;
}
.p-flow__list .flow:first-child {
  margin-top: 0;
}
.p-flow__list .flow:last-child .flow__head:after {
  display: none;
}
.p-flow__list .flow__head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 165px;
  height: 165px;
  border-radius: 50%;
  margin-right: 41px;
  margin-left: 2px;
}
.p-flow__list .flow__head:after {
  position: absolute;
  display: block;
  content: "";
  right: 0;
  bottom: -40px;
  left: 0;
  width: 1px;
  height: 40px;
  margin: 0 auto;
}
.p-flow__list .flow__head .icon {
  position: absolute;
  top: 7px;
  left: -3px;
  width: 45px;
}
.p-flow__list .flow__head .ttl {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.36;
  text-align: center;
}
.p-flow__list .flow__body {
  flex-grow: 1;
}
.p-flow__list .flow__text {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.7334;
}
.p-flow__list .flow__list {
  display: flex;
}
.p-flow__list .flow__list .item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 135px;
  border: 1px solid;
  border-radius: 5px;
  box-sizing: border-box;
  padding: 18px 10px 12px;
  margin-right: 35px;
}
@media screen and (max-width: 1024px) {
  .p-flow__list .flow__list .item {
    width: 121px;
  }
}
.p-flow__list .flow__list .item:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: -27px;
  bottom: 0;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: auto;
}
.p-flow__list .flow__list .item:last-child {
  margin-right: 0;
}
.p-flow__list .flow__list .item:last-child:after {
  display: none;
}
.p-flow__list .flow__list .item__img {
  margin: 0 auto;
}
.p-flow__list .flow__list .item__img img {
  display: block;
}
.p-flow__list .flow__list .item__ttl {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.43;
  text-align: center;
  margin-top: auto;
}
.p-flow__list .flow__list .item__label {
  display: table;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #ffffff;
  border-radius: 100px;
  padding: 5px 9px 6px;
  margin: 9px auto 0;
}
.p-flow__list .flow__list .item-1 .item__img {
  width: 39px;
  margin-bottom: 17px;
}
.p-flow__list .flow__list .item-2 .item__img {
  width: 26px;
}
.p-flow__list .flow__list .item-3 .item__img {
  width: 40px;
}
.p-flow__list .flow__list .item-4 .item__img {
  width: 30px;
}
.p-section--hotel .p-flow__list .flow__head {
  background: #f0faff;
}
.p-section--hotel .p-flow__list .flow__head:after {
  background: #082853;
}
.p-section--hotel .p-flow__list .flow__head .ttl {
  color: #082853;
}
.p-section--hotel .p-flow__list .flow__list .item {
  border-color: #E2E9EF;
}
.p-section--hotel .p-flow__list .flow__list .item:after {
  background-image: url(/assets/images/hotel/plan/flow-item-arrow.svg);
}
.p-section--hotel .p-flow__list .flow__list .item__label {
  background: #F0B900;
}
.p-section--restaurant .p-flow__list .flow__head {
  background: #fff9f0;
}
.p-section--restaurant .p-flow__list .flow__head:after {
  background: #f08b00;
}
.p-section--restaurant .p-flow__list .flow__head .ttl {
  color: #f08b00;
}
.p-section--restaurant .p-flow__list .flow__list .item {
  border-color: #E2E9EF;
}
.p-section--restaurant .p-flow__list .flow__list .item:after {
  background-image: url(/assets/images/restaurant/plan/flow-item-arrow.svg);
}
.p-section--restaurant .p-flow__list .flow__list .item__label {
  background: #f08b00;
}

@media screen and (max-width: 864px) {
  .p-flow__list .flow {
    position: relative;
    display: block;
    margin-top: 25px;
  }
  .p-flow__list .flow:before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    bottom: -25px;
    left: 23px;
    width: 1px;
    z-index: -1;
  }
  .p-section--hotel .p-flow__list .flow:before {
    background: #082853;
  }
  .p-section--restaurant .p-flow__list .flow:before {
    background: #f08b00;
  }
  .p-flow__list .flow:first-child {
    margin-top: 0;
  }
  .p-flow__list .flow:last-child:before {
    height: 45px;
    bottom: auto;
  }
  .p-flow__list .flow__head {
    flex-direction: row;
    justify-content: flex-start;
    width: auto;
    height: auto;
    background: none !important;
    border-radius: 0;
    margin: 0;
  }
  .p-flow__list .flow__head:after {
    display: none;
  }
  .p-flow__list .flow__head .icon {
    position: relative;
    top: auto;
    left: auto;
  }
  .p-flow__list .flow__head .ttl {
    flex-grow: 1;
    font-size: 15px;
    letter-spacing: normal;
    line-height: 1.47;
    text-align: left;
    border-radius: 100px;
    padding: 4px 21px 4px 52px;
    margin-left: -40px;
  }
  .p-section--hotel .p-flow__list .flow__head .ttl {
    background: #f0faff;
  }
  .p-section--restaurant .p-flow__list .flow__head .ttl {
    background: #fff9f0;
  }
  .p-flow__list .flow__body {
    margin: 5px 18px 0 57px;
  }
  .p-flow__list .flow__text {
    margin: -2px 0;
  }
  .p-flow__list .flow__list {
    display: block;
  }
  .p-flow__list .flow__list .item {
    flex-direction: row;
    justify-content: flex-start;
    width: auto;
    padding: 14px 13px;
    margin-top: 36px;
    margin-right: 0;
  }
  .p-flow__list .flow__list .item:after {
    top: auto;
    right: 0;
    bottom: -27px;
    left: 0;
    transform: rotate(90deg);
  }
  .p-flow__list .flow__list .item:first-child {
    margin-top: auto;
  }
  .p-flow__list .flow__list .item__ttl {
    font-size: 14px;
    line-height: 2;
    margin-top: 0;
    margin-right: 10px;
  }
  .p-flow__list .flow__list .item__label {
    margin: 0 0 0 auto;
  }
  .p-flow__list .flow__list .item__img {
    margin: 0 20px 0 0;
  }
  .p-flow__list .flow__list .item-1 .item__img {
    width: 25px;
    margin: 0 13px 0 0;
  }
  .p-flow__list .flow__list .item-2 .item__img {
    width: 17px;
  }
  .p-flow__list .flow__list .item-3 .item__img {
    width: 25px;
    margin-right: 12px;
  }
  .p-flow__list .flow__list .item-4 .item__img {
    width: 18px;
  }
}
/* p-optionPlan */
.p-optionPlan__body {
  background: #ffffff;
  border-radius: 20px;
  padding: 51px 40px 40px;
}
.p-optionPlan__info {
  display: flex;
  align-items: center;
}
.p-optionPlan__info__img {
  flex-shrink: 0;
  width: 229px;
}
.p-optionPlan__info__text {
  margin-left: 40px;
}
.p-optionPlan__info__ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.48;
  margin-bottom: 20px;
}
.p-optionPlan__info__price {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #BF0000;
  margin: -16px 0 20px;
}
.p-optionPlan__info__price .price {
  display: block;
  font-size: 23px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin-right: 3px;
}
.p-optionPlan__info__txt {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.7334;
  margin: -2px 0;
}
.p-optionPlan__info__cap {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  color: #93A2B7;
  margin-top: 20px;
}
.p-optionPlan__label {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
  border-radius: 9999px;
  padding: 8px 10px 10px;
  margin-top: 45px;
}
.p-optionPlan__list {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
.p-optionPlan__list .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc((100% - 30px) / 3);
  border-radius: 15px;
  border: 1px solid;
  box-sizing: border-box;
  padding: 0 10px 22px;
}
.p-optionPlan__list .item__img {
  min-height: 0%;
  margin: 0 auto 17px;
}
.p-optionPlan__list .item__ttl {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.467;
  text-align: center;
  margin-top: auto;
}
.p-optionPlan__list .item-1 {
  padding-top: 33px;
}
.p-optionPlan__list .item-1 .item__img {
  max-width: 87px;
}
.p-optionPlan__list .item-2 {
  padding-top: 20px;
}
.p-optionPlan__list .item-2 .item__img {
  max-width: 109px;
}
.p-optionPlan__list .item-3 {
  padding-top: 26px;
}
.p-optionPlan__list .item-3 .item__img {
  max-width: 108px;
}
.p-section--hotel .p-optionPlan__body {
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
}
.p-section--hotel .p-optionPlan__info__ttl {
  color: #082853;
}
.p-section--hotel .p-optionPlan__label {
  background: #1897db;
}
.p-section--hotel .p-optionPlan__list .item {
  border-color: #E2E9EF;
}
.p-section--restaurant .p-optionPlan__body {
  box-shadow: 15px 15px 20px rgba(46, 27, 0, 0.1);
}
.p-section--restaurant .p-optionPlan__info__ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-optionPlan__info__cap {
  color: #AC9C8B;
}
.p-section--restaurant .p-optionPlan__label {
  background: #f08b00;
}
.p-section--restaurant .p-optionPlan__list .item {
  border-color: #EFEAE2;
}

@media screen and (max-width: 864px) {
  .p-optionPlan__body {
    padding: 30px 20px 20px;
  }
  .p-optionPlan__info {
    display: block;
  }
  .p-optionPlan__info__img {
    width: 200px;
    margin: 0 auto 25px;
  }
  .p-optionPlan__info__text {
    margin-left: 0;
  }
  .p-optionPlan__info__ttl {
    font-size: 19px;
    line-height: 1.37;
    text-align: center;
    margin-bottom: 8px;
  }
  .p-optionPlan__info__price {
    justify-content: center;
    font-size: 12px;
    margin-top: 1px;
  }
  .p-optionPlan__info__price .price {
    font-size: 21px;
  }
  .p-optionPlan__info__cap {
    font-size: 12px;
    line-height: 1.67;
    margin-top: 8px;
  }
  .p-optionPlan__label {
    font-size: 16px;
    line-height: 1.625;
    padding: 9px 10px 10px;
  }
  .p-optionPlan__list {
    display: block;
  }
  .p-optionPlan__list .item {
    display: block;
    width: auto;
    padding: 0 10px 22px;
    margin-top: 15px;
  }
  .p-optionPlan__list .item:first-child {
    margin-top: 0;
  }
  .p-optionPlan__list .item-1 {
    padding-top: 29px;
  }
  .p-optionPlan__list .item-1 .item__img {
    margin-bottom: 25px;
  }
  .p-optionPlan__list .item-2 {
    padding-top: 20px;
  }
  .p-optionPlan__list .item-2 .item__img {
    position: relative;
    left: 10px;
    margin-bottom: 15px;
  }
  .p-optionPlan__list .item-3 {
    padding-top: 22px;
  }
  .p-optionPlan__list .item-3 .item__img {
    margin-bottom: 21px;
  }
}
/*
---
name: Footer
category: Layout
---

*/
@-webkit-keyframes sitemap_arw {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }
  50% {
    transform: translate(5px, 0);
    opacity: 0;
  }
  50.1% {
    transform: translate(-5px, 0);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
@keyframes sitemap_arw {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }
  50% {
    transform: translate(5px, 0);
    opacity: 0;
  }
  50.1% {
    transform: translate(-5px, 0);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
/* f-sitemap */
.f-sitemap {
  border-bottom: 1px solid #E2E2E2;
}
.f-sitemap__wrapper {
  max-width: 1140px;
  box-sizing: border-box;
  padding: 70px 50px;
  margin: 0 auto;
}
.f-sitemap__list {
  display: flex;
  gap: 0 40px;
}
.f-sitemap__list .col {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
.f-sitemap__list .item__link {
  display: flex;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.43;
  text-decoration: none;
}
.f-sitemap__list .item__link .arw {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background: #F7F7F7;
  border: 1px solid #E8E8E8;
  box-sizing: border-box;
  border-radius: 50%;
  overflow: hidden;
}
.f-sitemap__list .item__link .arw:before {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  width: 10px;
  background: url(/assets/images/commons/icon_arrow-hotel.svg) no-repeat;
  background-position: center;
  background-size: contain;
  margin: auto;
}
@media (hover) {
  .f-sitemap__list .item__link:hover .arw:before {
    -webkit-animation: sitemap_arw 0.5s cubic-bezier(0.33, 1, 0.68, 1);
            animation: sitemap_arw 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  }
}
.f-sitemap__list .item__list {
  display: grid;
  gap: 11px 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
  margin-top: 13px;
}
.f-sitemap__list .item__list a {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  padding-left: 18px;
}
.f-sitemap__list .item__list a:before {
  position: absolute;
  top: 9px;
  left: 0;
  display: block;
  content: "";
  width: 8px;
  height: 1px;
  background: #9B9B9B;
}
.f-sitemap__list .item__list a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 864px) {
  .f-sitemap__wrapper {
    padding: 50px 25px;
  }
  .f-sitemap__list {
    display: grid;
    gap: 30px 0;
  }
  .f-sitemap__list .col {
    gap: 30px 0;
  }
  .f-sitemap__list .item__link {
    font-size: 15px;
    line-height: 1.467;
  }
  .f-sitemap__list .item__list {
    font-size: 13px;
    line-height: 1.385;
  }
  .f-sitemap__list .item__list a {
    padding-left: 16px;
  }
}
/* l-footer */
.l-footer {
  font-size: 0.8rem;
  padding: 32px 16px 16px;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 864px) {
  .l-footer {
    padding-bottom: 30px;
  }
}
.l-footer__main {
  display: flex;
}
@media screen and (max-width: 864px) {
  .l-footer__main {
    width: 100%;
    flex-wrap: wrap;
  }
  .l-footer__main address {
    margin-top: 10px;
  }
}
.l-footer__main > div {
  display: flex;
  margin-right: 16px;
  margin-bottom: 24px;
}
@media screen and (max-width: 864px) {
  .l-footer__main > div {
    display: block;
    font-size: 13px;
  }
}
.l-footer__main > div::after {
  content: "";
  width: 1px;
  height: 60%;
  top: 5px;
  position: relative;
  background: #e2e9ef;
  margin-left: 16px;
}
@media screen and (max-width: 864px) {
  .l-footer__main > div::after {
    display: none;
  }
}
.l-footer__main > div > a {
  text-decoration: underline;
  margin-right: 16px;
}
.l-footer__main > div > a:hover {
  text-decoration: none;
}
@media screen and (max-width: 864px) {
  .l-footer__main > nav {
    width: 100%;
    flex-wrap: wrap;
  }
}
.l-footer__main > nav > ul {
  display: flex;
}
@media screen and (max-width: 864px) {
  .l-footer__main > nav > ul {
    justify-content: flex-end;
  }
}
.l-footer__main > nav > ul li {
  margin-right: 16px;
}
.l-footer__main > nav > ul li > a {
  text-decoration: underline;
}
.l-footer__main > nav > ul li > a:hover {
  text-decoration: none;
}
.l-footer__copyright {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 864px) {
  .l-footer__copyright {
    margin: 0 auto;
    margin-top: 30px;
  }
}

/* js-scrollEffect */
.js-scrollEffect__ttl h2 {
  opacity: 0;
  transform: translateY(20px);
}
.js-scrollEffect__ttl p {
  opacity: 0;
  transform: translateY(10px);
}
.js-scrollEffect__obj.effect-fade {
  opacity: 0;
}
.js-scrollEffect__obj.effect-up {
  opacity: 0;
  transform: translateY(20px);
}
.js-scrollEffect__obj.effect-right {
  opacity: 0;
  transform: translateX(-20px);
}
.js-scrollEffect__obj.effect-left {
  opacity: 0;
  transform: translateX(20px);
}
.js-scrollEffect.is-visible .js-scrollEffect__ttl h2 {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  opacity: 1;
  transform: translateY(0);
}
.js-scrollEffect.is-visible .js-scrollEffect__ttl p {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
  transition-property: opacity, transform;
  opacity: 1;
  transform: translateY(0);
}
.js-scrollEffect.is-visible .js-scrollEffect__obj.effect-fade {
  transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  opacity: 1;
}
.js-scrollEffect.is-visible .js-scrollEffect__obj.effect-up {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  opacity: 1;
  transform: translateY(0);
}
.js-scrollEffect.is-visible .js-scrollEffect__obj.effect-right {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  opacity: 1;
  transform: translateX(0);
}
.js-scrollEffect.is-visible .js-scrollEffect__obj.effect-left {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  opacity: 1;
  transform: translateX(0);
}

/* p-lpTemplate__hero */
.p-lpTemplate__hero__thumbnails {
  transform: scale(1.1);
  opacity: 0;
}
.p-lpTemplate__hero__copy {
  transform: translateX(20px);
  opacity: 0;
}
.p-lpTemplate__hero.is-visible .p-lpTemplate__hero__thumbnails {
  transition: transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  transform: scale(1);
  opacity: 1;
}
.p-lpTemplate__hero.is-visible .p-lpTemplate__hero__copy {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
  transform: translateX(0);
  opacity: 1;
}

/* c-lpTemplateProblem */
.c-lpTemplateProblem__circle {
  transform: scale(0.7);
  opacity: 0;
}
.c-lpTemplateProblem__circle:before {
  transform: scale(0.7);
}
.c-lpTemplateProblem__image {
  transform: translateY(20px);
  opacity: 0;
}
.c-lpTemplateProblem.is-visible .c-lpTemplateProblem__circle {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  transition-property: opacity, transform;
  transform: scale(1);
  opacity: 1;
}
.c-lpTemplateProblem.is-visible .c-lpTemplateProblem__circle:before {
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  transform: scale(1);
}
.c-lpTemplateProblem.is-visible .c-lpTemplateProblem__image {
  transition: all 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  transform: translateY(0);
  opacity: 1;
}

/* p-lpTemplate__effects */
.p-lpTemplate__effects__head:after {
  transform: translateX(20px);
  opacity: 0;
}
.p-lpTemplate__effects.is-visible .p-lpTemplate__effects__head:after {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
  transition-property: opacity, transform;
  transform: translateX(0);
  opacity: 1;
}

/* p-lpTemplate__case */
.p-lpTemplate__case__head:after {
  transform: translateX(-20px);
  opacity: 0;
}
.p-lpTemplate__case.is-visible .p-lpTemplate__case__head:after {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  transform: translateX(0);
  opacity: 1;
}

/* js-gallery-modal */
.js-gallery-modal {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, visibility;
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  letter-spacing: 0;
  color: #fff;
  background: #000;
  z-index: 200;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
}
body.modal-open .js-gallery-modal {
  opacity: 1;
  visibility: visible;
}
.js-gallery-modal:before {
  position: absolute;
  inset: -1px 0;
  display: block;
  content: "";
}
.js-gallery-modal::-webkit-scrollbar {
  display: none;
}
.js-gallery-modal__wrapper {
  width: 850px;
  padding: 50px 0;
}
.js-gallery-modal .js-gallery-modal__pagination {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  line-height: 1.389;
  margin: 0 auto 20px;
}
.js-gallery-modal .item {
  width: 100% !important;
}
.js-gallery-modal .item__img {
  position: relative;
  aspect-ratio: 750/500;
}
.js-gallery-modal .item__img .img {
  position: absolute;
  inset: 0;
  background: transparent;
  cursor: auto;
}
.js-gallery-modal .item__text {
  font-size: 15px;
  line-height: 1.467;
  text-align: center;
  margin-top: 20px;
}
.js-gallery-modal__close {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 20px;
  height: 20px;
  cursor: pointer;
  z-index: 20;
}
.js-gallery-modal__close:before, .js-gallery-modal__close:after {
  transition: background 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  height: 3px;
  background: #fff;
  margin: auto;
}
.js-gallery-modal__close:before {
  rotate: 45deg;
}
.js-gallery-modal__close:after {
  rotate: -45deg;
}
@media (hover) {
  body.hotel .js-gallery-modal__close:hover:before, body.hotel .js-gallery-modal__close:hover:after, body.andon .js-gallery-modal__close:hover:before, body.andon .js-gallery-modal__close:hover:after, body.pms .js-gallery-modal__close:hover:before, body.pms .js-gallery-modal__close:hover:after {
    background: #082853;
  }
  body.roomindicator .js-gallery-modal__close:hover:before, body.roomindicator .js-gallery-modal__close:hover:after {
    background: #0C6735;
  }
  body.restaurant .js-gallery-modal__close:hover:before, body.restaurant .js-gallery-modal__close:hover:after, body.restaurant-register .js-gallery-modal__close:hover:before, body.restaurant-register .js-gallery-modal__close:hover:after {
    background: #f08b00;
  }
}
.js-gallery-modal__prev, .js-gallery-modal__next {
  transition: background 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 25px;
  height: 45px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 5px;
  cursor: pointer;
  margin: auto;
  z-index: 2;
}
.js-gallery-modal__prev:before, .js-gallery-modal__next:before {
  position: absolute;
  display: block;
  content: "";
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  box-sizing: border-box;
  margin: auto;
}
@media (hover) {
  body.hotel .js-gallery-modal__prev:hover, body.andon .js-gallery-modal__prev:hover, body.pms .js-gallery-modal__prev:hover, body.hotel .js-gallery-modal__next:hover, body.andon .js-gallery-modal__next:hover, body.pms .js-gallery-modal__next:hover {
    background: #082853;
  }
  body.roomindicator .js-gallery-modal__prev:hover, body.roomindicator .js-gallery-modal__next:hover {
    background: #0C6735;
  }
  body.restaurant .js-gallery-modal__prev:hover, body.restaurant-register .js-gallery-modal__prev:hover, body.restaurant .js-gallery-modal__next:hover, body.restaurant-register .js-gallery-modal__next:hover {
    background: #f08b00;
  }
}
.js-gallery-modal__prev {
  left: 40px;
}
.js-gallery-modal__prev:before {
  inset: 0 0 0 2px;
  border-left: 2px solid #fff;
  rotate: -45deg;
}
.js-gallery-modal__next {
  right: 40px;
}
.js-gallery-modal__next:before {
  inset: 0 2px 0 0;
  border-right: 2px solid #fff;
  rotate: 45deg;
}

@media screen and (max-width: 864px) {
  .js-gallery-modal__wrapper {
    width: 100%;
    height: 100%;
    padding: 0;
  }
  .js-gallery-modal .swiper-container {
    height: 100%;
  }
  .js-gallery-modal .js-gallery-modal__pagination {
    position: fixed;
    inset: 0 0 auto;
    width: auto;
    font-size: 15px;
    line-height: 1.4;
    text-align: center;
    background: rgba(0, 0, 0, 0.8);
    padding: 19px;
    z-index: 500;
  }
  .js-gallery-modal__close {
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
  }
  .js-gallery-modal__close:before, .js-gallery-modal__close:after {
    inset: 18px;
  }
  .js-gallery-modal__prev, .js-gallery-modal__next {
    height: 35px;
    background: rgba(255, 255, 255, 0.4);
  }
  .js-gallery-modal__prev {
    left: 0;
    border-radius: 0 10px 10px 0;
  }
  .js-gallery-modal__next {
    right: 0;
    border-radius: 10px 0 0 10px;
  }
  .js-gallery-modal .item {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .js-gallery-modal .item__img {
    height: 100%;
    aspect-ratio: auto;
  }
  .js-gallery-modal .item__text {
    position: absolute;
    inset: auto 0 0;
    font-size: 13px;
    line-height: 1.462;
    background: rgba(0, 0, 0, 0.8);
    padding: 20px 25px;
    z-index: 500;
  }
}
/* js-textarea-counter */
.js-textarea-counter {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 0 auto;
}

/* p-simulation__form */
.p-simulation__form[data-form=free] .js-free-hidden {
  display: none;
}
.p-simulation__form[data-form=light] .js-light-hidden {
  display: none;
}
.p-simulation__form[data-takeout=false] .p-simulation__plan .item:has(input[name=takeout]) {
  pointer-events: none;
}
.p-simulation__form[data-takeout=false] .p-simulation__plan .item:has(input[name=takeout]) .item__inner {
  background: #EBEBE8;
  padding: 20px;
}
.p-simulation__form[data-takeout=false] .p-simulation__plan .item:has(input[name=takeout]) .item__inner:before {
  opacity: 0;
}
.p-simulation__form[data-takeout=false] .p-simulation__plan .item:has(input[name=takeout]) .item__inner:after {
  opacity: 0;
}
@media screen and (max-width: 864px) {
  .p-simulation__form[data-takeout=false] .p-simulation__plan .item:has(input[name=takeout]) .item__inner {
    padding: 23px 20px 22px;
  }
}
.p-simulation__form[data-takeout=false] .p-simulation__plan .item:has(input[name=takeout]) * {
  color: #C4C4BE !important;
}

/*
---
name: Button
category: Components
---
*/
.c-button {
  border: none;
  padding: 0;
  vertical-align: middle;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 0 0 transparent;
  cursor: pointer;
  background-color: transparent;
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 24px;
  padding-right: 24px;
  border-radius: 99em;
  font-weight: bold;
  transition: all 300ms ease-out;
  cursor: pointer;
}
.c-button:hover {
  text-decoration: none;
}
.c-button.-large {
  height: 80px;
  font-size: 1.8666666667rem;
}
@media screen and (max-width: 864px) {
  .c-button.-large {
    height: 45px;
    font-size: 1rem;
  }
}
.c-button.-medium {
  height: 2.7333333333rem;
  font-size: 0.9333333333rem;
  letter-spacing: 0.06em;
  line-height: 1.429;
  padding-right: 16px;
  padding-bottom: 1px;
  padding-left: 18px;
}
.c-button.-small {
  height: 40px;
  font-size: 0.8rem;
}
.c-button.-fullWidth {
  width: 100%;
}
.c-button.-primary {
  background: #00b4a6;
  color: white;
}
.c-button.-primary::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: url("/assets/images/commons/icon-arrow.svg") no-repeat center center;
  background-size: 100% auto;
  margin-left: 15px;
}
.c-button.-primary:hover {
  background-position: 0 100%;
  background: #00645c;
}
.c-button.-secondary {
  background: #082853;
  color: white;
}
.c-button.-secondary::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url("/assets/images/commons/icon-arrow-warning.svg") no-repeat center center;
  background-size: 100% auto;
  margin-left: 32px;
}
.c-button.-secondary:hover {
  background-position: 0 100%;
}
.c-button.-secondary.-large:hover {
  background: rgba(8, 40, 83, 0.6);
}
.c-button.-secondary.-medium:hover {
  background: rgba(8, 40, 83, 0.6);
}
.c-button.-secondary.-small:hover {
  background: rgba(8, 40, 83, 0.6);
}
.c-button.-tertiary {
  background: #f08b00;
  color: white;
}
.c-button.-tertiary::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url("/assets/images/commons/icon-arrow-warning.svg") no-repeat center center;
  background-size: 100% auto;
  margin-left: 32px;
}
.c-button.-tertiary:hover {
  background-position: 0 100%;
}
.c-button.-tertiary.-large:hover {
  background: rgba(240, 139, 0, 0.6);
}
.c-button.-tertiary.-medium:hover {
  background: rgba(240, 139, 0, 0.6);
}
.c-button.-tertiary.-small:hover {
  background: rgba(240, 139, 0, 0.6);
}
.c-button.-roomindicator {
  color: #fff;
  background: #0C6735;
}
.c-button.-roomindicator::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(/assets/images/commons/icon-arrow-warning2.svg) no-repeat center center;
  background-size: 100% auto;
  margin-left: 8px;
  transform: translate(0, 0);
}
.c-button.-roomindicator:hover {
  background: #8DC31F;
}
.c-button.-roomindicator:hover::after {
  -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
          animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.c-button.-outline {
  border: 1px solid #ffffff;
  color: white;
}
.c-button.-outline::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url("/assets/images/commons/icon-arrow-warning.svg") no-repeat center center;
  background-size: 100% auto;
  margin-left: 32px;
}
.c-button.-outline:hover {
  background-position: 0 100%;
}
.c-button.-outline.-large:hover {
  background: rgba(0, 0, 0, 0.6);
}
.c-button.-outline.-medium:hover {
  background: rgba(0, 0, 0, 0.6);
}
.c-button.-outline.-small:hover {
  background: rgba(0, 0, 0, 0.6);
}

.m-button {
  border: none;
  padding: 0;
  vertical-align: middle;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 0 0 transparent;
  cursor: pointer;
  background-color: transparent;
  transition: all 300ms ease-out;
  transition-property: background, color;
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  min-width: 274px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 99em;
  cursor: pointer;
  padding: 18px 20px 18px 26px;
}
.m-button:hover {
  text-decoration: none;
}
.m-button.-secondary {
  color: #ffffff;
  background: #082853;
}
.m-button.-secondary:after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(/assets/images/commons/icon-arrow-warning2.svg) no-repeat center center;
  background-size: 100% auto;
  margin-left: 8px;
  transform: translate(0, 0);
}
.m-button.-secondary:hover {
  background: #1897db;
}
.m-button.-secondary:hover::after {
  -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
          animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.m-button.-roomindicator {
  color: #ffffff;
  background: #0C6735;
}
.m-button.-roomindicator:after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(/assets/images/commons/icon-arrow-warning2.svg) no-repeat center center;
  background-size: 100% auto;
  margin-left: 8px;
  transform: translate(0, 0);
}
.m-button.-roomindicator:hover {
  background: #8DC31F;
}
.m-button.-roomindicator:hover::after {
  -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
          animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.m-button.-tertiary {
  color: #ffffff;
  background: #f08b00;
}
.m-button.-tertiary:after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  background-image: url(/assets/images/commons/icon-arrow-warning.svg);
  margin-left: 8px;
  transform: translate(0, 0);
}
.m-button.-tertiary:hover {
  background: #ffd700;
}
.m-button.-tertiary:hover::after {
  background-image: url(/assets/images/commons/icon-arrow-warning2-white.svg);
  -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
          animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}

@media screen and (max-width: 864px) {
  .m-button {
    min-width: 260px;
    font-size: 14px;
    line-height: 1.43;
    padding: 17px 20px 18px 26px;
  }
}
/*
---
name: Link
category: Components
---
*/
.c-link {
  position: relative;
}
.c-link.-external {
  margin-right: 24px;
}
.c-link.-external::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  right: -16px;
  top: 6px;
  background: url("/assets/images/commons/icon-external.svg") no-repeat center center;
  background-size: contain;
  margin-left: 8px;
}

/*
---
name: MobileHomeMenu
category: Components
---
*/
.c-mobileHomeMenu {
  display: none;
}
@media screen and (max-width: 1240px) {
  .c-mobileHomeMenu {
    position: fixed;
    display: block;
    z-index: 100;
  }
}
.c-mobileHomeMenu__button {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  height: 60px;
  width: 60px;
  z-index: 20;
  justify-content: center;
  align-items: center;
  background-color: #00b4a6;
  cursor: pointer;
}
.c-mobileHomeMenu__button > span,
.c-mobileHomeMenu__button > span::before,
.c-mobileHomeMenu__button > span::after {
  content: "";
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #ffffff;
  position: absolute;
  transition: all 0.2s;
}
.c-mobileHomeMenu__button > span::before {
  bottom: 8px;
}
.c-mobileHomeMenu__button > span:after {
  top: 8px;
}
.c-mobileHomeMenu__overlay {
  position: fixed;
  top: 60px;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  background: rgba(0, 0, 0, 0.6);
  transition: visibility 0.4s, opacity 0.4s;
}
.c-mobileHomeMenu__content {
  transition: transform 0.4s;
  /*アニメーション設定*/
  position: fixed;
  top: 60px;
  right: 0;
  bottom: 0;
  left: 30%;
  z-index: 40;
  background: #00b4a6;
  overflow-y: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  transform: translateX(100%);
}
.c-mobileHomeMenu__content__wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.c-mobileHomeMenuContent {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.c-mobileHomeMenuContent__menu {
  font-weight: 700;
}
.c-mobileHomeMenuContent__menu a {
  display: block;
  width: 100%;
  position: relative;
  padding: 8px;
  font-size: 0.9333333333rem;
  color: #ffffff;
  display: flex;
  align-items: center;
  padding: 24px 16px;
}
.c-mobileHomeMenuContent__menu a::before {
  content: "";
  display: block;
  background: url("/assets/images/commons/icon-arrow-circle.svg") no-repeat left top;
  background-size: contain;
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
.c-mobileHomeMenuContent__menu a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-mobileHomeMenuContent__category {
  text-align: left;
}
.c-mobileHomeMenuContent__category > a {
  display: flex;
  padding: 12px;
}
.c-mobileHomeMenuContent__category > a::before {
  display: none;
}
.c-mobileHomeMenuContent__category > a > img {
  margin-right: 12px;
}
.c-mobileHomeMenuContent__category.-hotel {
  background: #082853;
}
.c-mobileHomeMenuContent__category.-restaurant {
  background: #f08b00;
}
.c-mobileHomeMenuContent__subMenu {
  position: relative;
  font-size: 0.8rem;
  padding: 20px 16px;
  margin-top: auto;
}
.c-mobileHomeMenuContent__subMenu a {
  display: table;
  color: #ffffff;
  margin-top: 4px;
}
.c-mobileHomeMenuContent__subMenu > nav {
  margin-top: 16px;
}

#c-mobileHomeMenu__buttonCheck {
  display: none;
}

body.nav-open .c-mobileHomeMenu__overlay {
  z-index: 10;
  visibility: visible;
  opacity: 1;
}
body.nav-open .c-mobileHomeMenu__content {
  transform: translateX(0);
}
body.nav-open .c-mobileHomeMenu__button span {
  background-color: rgba(255, 255, 255, 0);
  /*メニューオープン時は真ん中の線を透明にする*/
}
body.nav-open .c-mobileHomeMenu__button span::before {
  bottom: 0;
  transform: rotate(45deg);
}
body.nav-open .c-mobileHomeMenu__button span::after {
  top: 0;
  transform: rotate(-45deg);
}

/*
---
name: Bg
category: Components
---
*/
.c-bg {
  position: relative;
}
.c-bg.-shadow {
  box-shadow: 15px 15px 30px rgba(0, 0, 0, 0.05);
}
.c-bg.-white {
  background-color: #ffffff;
}
.c-bg.-gray {
  background-color: #F4F4F4;
}

/* p-simulation */
.p-simulation {
  scroll-margin-top: 74px;
}
.p-simulation .error {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.462;
  color: #BF0000;
  margin-top: 5px;
}
.p-simulation .p-section__ttl {
  margin-bottom: 20px;
}
.p-simulation .p-section__lead {
  margin: 0;
}
.p-simulation__head {
  margin-bottom: 50px;
}
.p-simulation__group {
  display: grid;
  gap: 25px 0;
}
.p-simulation__subHead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-top: 1px dashed #efeae2;
  padding-top: 24px;
  margin: 25px 0 14px;
}
.p-simulation__subHead .ttl {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4762;
  margin-right: 15px;
}
.p-section--restaurant .p-simulation__subHead .ttl {
  color: #4d2b04;
}
.p-simulation__takeoutCheck {
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: color, border-color, background-color;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 10px;
  width: 100%;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.471;
  background: #EBEBE8;
  border: 1px solid #D0D0D0;
  border-radius: 8px;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  padding: 15px;
  margin-top: 15px;
}
.p-simulation-estimate .p-simulation__takeoutCheck {
  pointer-events: none;
}
.p-simulation__takeoutCheck__icon {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 10px;
}
.p-simulation__takeoutCheck__icon:before {
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: absolute;
  top: -3px;
  bottom: 0;
  left: 11px;
  display: block;
  content: "";
  width: 18px;
  height: 10px;
  box-sizing: border-box;
  border-bottom: 3px solid #333;
  border-left: 3px solid #333;
  transform: rotate(-45deg);
  margin: auto;
  opacity: 0;
}
.p-simulation__takeoutCheck input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  z-index: -1;
}
.p-simulation__takeoutCheck:has(:checked) {
  color: #fff !important;
}
.p-simulation__takeoutCheck:has(:checked) .p-simulation__takeoutCheck__icon:before {
  opacity: 1;
}
.p-section--restaurant .p-simulation__takeoutCheck:has(:checked) {
  background: #f08b00;
  border-color: #f08b00;
}
.p-section--restaurant .p-simulation__takeoutCheck {
  color: #4d2b04;
}
.p-section--restaurant .p-simulation__takeoutCheck__icon:before {
  border-bottom-color: #f08b00;
  border-left-color: #f08b00;
}
.p-simulation__caption {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.539;
  margin: 20px 0 -1px;
}
.p-section--restaurant .p-simulation__caption {
  color: #AC9C8B;
}
.p-simulation__plan {
  display: flex;
  justify-content: space-between;
}
.p-simulation__plan .item {
  position: relative;
  display: block;
  width: calc((100% - 40px) / 2);
  background: #E5E5E5;
  border-radius: 15px;
  overflow: hidden;
  cursor: pointer;
  z-index: 1;
}
.p-section--hotel .p-simulation__plan .item {
  background: #f0faff;
}
.p-section--roomindicator .p-simulation__plan .item {
  background: #F7FFF0;
}
.p-section--restaurant .p-simulation__plan .item {
  background: #FCFAE5;
}
.p-simulation__plan .item__radio {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  opacity: 0;
}
.p-simulation__plan .item__radio:checked + .item__inner {
  padding-left: 83px;
}
.p-simulation__plan .item__radio:checked + .item__inner:before, .p-simulation__plan .item__radio:checked + .item__inner:after {
  opacity: 1;
}
.p-simulation__plan .item__inner {
  transition: padding-left 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
}
.p-simulation__plan .item__inner:before {
  transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "選択中";
  width: 63px;
  height: 100%;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.462;
  color: #fff;
  opacity: 0;
  pointer-events: none;
}
.p-simulation__plan .item__inner:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  border: 2px solid;
  box-sizing: border-box;
  border-radius: 15px;
  opacity: 0;
  pointer-events: none;
}
.p-simulation__plan .item__label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.462;
  background: #fff;
  border-radius: 12px;
  padding: 2px 17px 3px;
  margin-bottom: 15px;
}
.p-section--restaurant .p-simulation__plan .item__label {
  color: #4d2b04;
}
.p-simulation__plan .item__ttl {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.445;
}
.p-section--restaurant .p-simulation__plan .item__ttl {
  color: #4d2b04;
}
.p-simulation__plan .item__price {
  font-weight: 700;
  margin-left: 8px;
}
.p-simulation__plan .item__price span {
  display: inline-block;
}
.p-simulation__plan .item__price .prefix {
  font-size: 20px;
  letter-spacing: 0.04em;
  margin-right: 5px;
}
.p-simulation__plan .item__price .price {
  position: relative;
  top: 1px;
  font-size: 31px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.4194;
  color: #BF0000;
  padding-bottom: 1px;
}
.p-simulation__plan .item__price .en {
  font-size: 17px;
  letter-spacing: 0.04em;
  margin: 0 6px 0 1px;
}
.p-simulation__plan .item__price .suffix {
  font-size: 17px;
  letter-spacing: 0.04em;
}
.p-section--restaurant .p-simulation__plan .free .item__inner:before {
  color: #4d2b04;
  background: #FFDF74;
}
.p-section--restaurant .p-simulation__plan .free .item__inner:after {
  border-color: #FFDF74;
}
.p-section--hotel .p-simulation__plan .light .item__inner:before {
  background: #7DABE8;
}
.p-section--hotel .p-simulation__plan .light .item__inner:after {
  border-color: #7DABE8;
}
.p-section--roomindicator .p-simulation__plan .light .item__inner:before {
  background: #8DC31F;
}
.p-section--roomindicator .p-simulation__plan .light .item__inner:after {
  border-color: #8DC31F;
}
.p-section--restaurant .p-simulation__plan .light .item__inner:before {
  color: #4d2b04;
  background: #F0B900;
}
.p-section--restaurant .p-simulation__plan .light .item__inner:after {
  border-color: #F0B900;
}
.p-section--hotel .p-simulation__plan .standard .item__inner:before {
  background: #285086;
}
.p-section--hotel .p-simulation__plan .standard .item__inner:after {
  border-color: #285086;
}
.p-section--roomindicator .p-simulation__plan .standard .item__inner:before {
  background: #179B64;
}
.p-section--roomindicator .p-simulation__plan .standard .item__inner:after {
  border-color: #179B64;
}
.p-section--restaurant .p-simulation__plan .standard .item__inner:before {
  color: #4d2b04;
  background: #F08B00;
}
.p-section--restaurant .p-simulation__plan .standard .item__inner:after {
  border-color: #F08B00;
}
.p-simulation__plan.--3col .item {
  width: calc((100% - 32px) / 3);
}
.p-simulation__plan.--3col .item__inner:before {
  -ms-writing-mode: tb-lr;
      writing-mode: vertical-lr;
  letter-spacing: 0.15em;
}
.p-simulation__btn {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: color, background;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  height: 60px;
  font-size: 17px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.471;
  text-align: center;
  background: transparent;
  border: 2px solid;
  box-sizing: border-box;
  border-radius: 30px;
  text-decoration: none !important;
  margin: 80px auto 0;
  cursor: pointer;
}
.p-section--hotel .p-simulation__btn {
  color: #082853;
  border-color: #082853;
}
.p-section--hotel .p-simulation__btn:hover {
  color: #fff;
  background: #082853;
}
.p-section--roomindicator .p-simulation__btn {
  color: #0C6735;
  border-color: #0C6735;
}
.p-section--roomindicator .p-simulation__btn:hover {
  color: #fff;
  background: #0C6735;
}
.p-section--restaurant .p-simulation__btn {
  color: #f08b00;
  border-color: #f08b00;
}
.p-section--restaurant .p-simulation__btn:hover {
  color: #fff;
  background: #f08b00;
}

@media screen and (max-width: 1024px) {
  .p-simulation__plan.--3col {
    display: block;
  }
  .p-simulation__plan.--3col .item {
    width: auto;
    margin-top: 15px;
  }
  .p-simulation__plan.--3col .item:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 864px) {
  .p-simulation {
    scroll-margin-top: 60px;
  }
  .p-simulation .p-section__lead {
    margin: -2px 0;
  }
  .p-simulation__head {
    margin-bottom: 40px;
  }
  .p-simulation__head .p-section__ttl {
    font-size: 24px;
  }
  .p-simulation__group {
    gap: 15px 0;
  }
  .p-simulation__subHead {
    padding-top: 15px;
    margin-top: 19px;
  }
  .p-simulation__subHead .ttl {
    font-size: 19px;
    line-height: 1.474;
  }
  .p-simulation__takeoutCheck {
    font-size: 16px;
    line-height: 1.5;
    padding: 15px 15px 16px;
  }
  .p-simulation__takeoutCheck__icon {
    width: 35px;
    height: 35px;
  }
  .p-simulation__takeoutCheck__icon:before {
    left: 9px;
    width: 16px;
    height: 9px;
  }
  .p-simulation__caption {
    font-size: 12px;
    line-height: 1.5;
    margin: 15px 0 0;
  }
  .p-simulation__plan {
    display: block;
  }
  .p-simulation__plan .item {
    width: auto;
    margin-top: 15px;
  }
  .p-simulation__plan .item:first-child {
    margin-top: 0;
  }
  .p-simulation__plan .item__inner {
    padding: 23px 20px 22px;
  }
  .p-simulation__plan .item__label {
    font-size: 13px;
    line-height: 1.462;
  }
  .p-simulation__plan .item__ttl {
    font-size: 18px;
  }
  .p-simulation__plan .item__price {
    margin-left: 4px;
  }
  .p-simulation__plan .item__price .prefix {
    font-size: 18px;
  }
  .p-simulation__plan .item__price .price {
    font-size: 28px;
    line-height: 1.393;
  }
  .p-simulation__plan .item__price .en {
    font-size: 18px;
    margin-right: 5px;
  }
  .p-simulation__plan .item__price .suffix {
    font-size: 18px;
  }
  .p-simulation__btn {
    margin-top: 50px;
  }
}
/* p-simulation-step */
.p-simulation-step__block {
  margin-top: 80px;
}
.p-simulation-step__block:first-child {
  margin-top: 0;
}
.p-simulation-step__label {
  position: relative;
  display: flex;
  border-radius: 15px;
  margin-bottom: 30px;
  overflow: hidden;
}
.p-simulation-step__label:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  border: 2px solid;
  border-radius: 15px;
}
.p-simulation-step__label .label {
  flex-shrink: 0;
  min-width: 156px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 22px 0 30px;
}
.p-simulation-step__label .step {
  font-size: 20px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
}
.p-simulation-step__label .step .num {
  display: inline-block;
  font-size: 28px;
  letter-spacing: 0.02em;
  line-height: 1.393;
  margin: 0 5px;
}
.p-simulation-step__label .ttl {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
  padding: 16px 30px 17px;
}
.p-section--hotel .p-simulation-step__label:before {
  border-color: #082853;
}
.p-section--hotel .p-simulation-step__label .label {
  background: #082853;
}
.p-section--restaurant .p-simulation-step__label:before {
  border-color: #f08b00;
}
.p-section--restaurant .p-simulation-step__label .label {
  background: #f08b00;
}
.p-section--roomindicator .p-simulation-step__label:before {
  border-color: #0C6735;
}
.p-section--roomindicator .p-simulation-step__label .label {
  background: #0C6735;
}
.p-simulation-step__label + .p-simulation__subHead {
  border: none;
  padding-top: 0;
  margin-top: 0;
}

@media screen and (max-width: 864px) {
  .p-simulation-step__block {
    margin-top: 50px;
  }
  .p-simulation-step__label {
    margin-bottom: 20px;
    border-radius: 10px;
  }
  .p-simulation-step__label:before {
    border-radius: 10px;
  }
  .p-simulation-step__label .label {
    min-width: 96px;
    padding: 0 4px 0 11px;
  }
  .p-simulation-step__label .step {
    font-size: 16px;
  }
  .p-simulation-step__label .step .num {
    font-size: 22px;
    line-height: 1.41;
    margin: 0 3px;
  }
  .p-simulation-step__label .ttl {
    font-size: 17px;
    line-height: 1.471;
    padding: 12px 15px 13px;
  }
}
/* p-simulation-input */
.p-simulation-input {
  display: flex;
  border-radius: 20px;
}
.p-simulation-input__head {
  flex-grow: 1;
  padding: 30px 40px;
  border-right: 1px solid #EFEAE2;
  box-sizing: border-box;
}
.p-simulation-input__ttl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
  text-align: center;
  margin-bottom: 25px;
}
.p-simulation-input__sttl {
  position: relative;
  display: table;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.467;
  margin-bottom: 10px;
  z-index: 1;
}
.p-simulation-input__sttl:after {
  position: absolute;
  bottom: 2px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 4px;
  z-index: -1;
}
.p-simulation-input__info {
  display: flex;
}
.p-simulation-input__icon {
  display: block;
  flex-shrink: 0;
  width: 50px;
  margin-right: 30px;
}
.p-simulation-input__text {
  align-self: center;
}
.p-simulation-input__lead {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.734;
  margin: -2px 0;
}
.p-simulation-input__cap {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.539;
  margin: 5px 0 -1px;
}
.p-simulation-input__body {
  flex-shrink: 0;
  align-self: center;
  width: 400px;
  box-sizing: border-box;
  padding: 30px 40px;
}
.p-simulation-input__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 40px;
}
.p-simulation-input__item:first-child {
  margin-top: 0;
}
.p-simulation-input__unit {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.p-simulation-input__unit .unit-price {
  font-size: 23px;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.22;
  white-space: nowrap;
  margin-right: 15px;
}
.p-simulation-input__unit .unit-price .price {
  position: relative;
  top: 1px;
}
.p-simulation-input__unit .unit-price .en {
  display: inline-block;
  font-size: 15px;
  margin-left: 2px;
}
.p-simulation-input__unit .unit-price .times {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 14px;
}
.p-simulation-input__unit .unit-price .times:before, .p-simulation-input__unit .unit-price .times:after {
  position: absolute;
  top: -1px;
  right: 0;
  bottom: 0;
  left: -1px;
  display: block;
  content: "";
  width: 15px;
  height: 2px;
  background: #333;
  margin: auto;
}
.p-simulation-input__unit .unit-price .times:before {
  transform: rotate(45deg);
}
.p-simulation-input__unit .unit-price .times:after {
  transform: rotate(-45deg);
}
.p-simulation-input__unit .unit {
  width: 110px;
  height: 60px;
  font-size: 23px;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  text-align: right;
  box-sizing: border-box;
  border: 1px solid #EFEAE2;
  border-radius: 10px;
  padding: 0 19px;
}
.p-simulation-input__unit input:-moz-read-only + .controls {
  opacity: 0.2;
  pointer-events: none;
}
.p-simulation-input__unit input:read-only + .controls {
  opacity: 0.2;
  pointer-events: none;
}
.p-simulation-input__unit .controls {
  margin-left: 12px;
}
.p-simulation-input__unit .controls .up {
  transition: border-color 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 9px 14px 9px;
  border-color: transparent transparent #9B9B9B transparent;
  cursor: pointer;
}
.p-simulation-input__unit .controls .down {
  transition: border-color 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 9px 0 9px;
  border-color: #9B9B9B transparent transparent transparent;
  cursor: pointer;
  margin-top: 17px;
}
.p-section--hotel .p-simulation-input__unit .controls .up:hover {
  border-bottom-color: #082853;
}
.p-section--restaurant .p-simulation-input__unit .controls .up:hover {
  border-bottom-color: #f08b00;
}
.p-section--roomindicator .p-simulation-input__unit .controls .up:hover {
  border-bottom-color: #0C6735;
}
.p-section--hotel .p-simulation-input__unit .controls .down:hover {
  border-top-color: #082853;
}
.p-section--restaurant .p-simulation-input__unit .controls .down:hover {
  border-top-color: #f08b00;
}
.p-section--roomindicator .p-simulation-input__unit .controls .down:hover {
  border-top-color: #0C6735;
}
.p-simulation-input__unit input[type=checkbox] {
  margin: 0;
}
.p-simulation-input__unit input[type=checkbox]:checked + .check:after {
  opacity: 1;
}
.p-simulation-input__unit.checked {
  pointer-events: none;
}
.p-simulation-input__unit .check {
  position: relative;
  width: 40px;
  height: 40px;
  background: #fff;
  box-sizing: border-box;
  border: 1px solid #EFEAE2;
  border-radius: 10px;
  cursor: pointer;
}
.p-simulation-input__unit .check:after {
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  position: absolute;
  top: -3px;
  bottom: 0;
  left: 10px;
  display: block;
  content: "";
  width: 18px;
  height: 10px;
  box-sizing: border-box;
  border-bottom: 3px solid #333;
  border-left: 3px solid #333;
  transform: rotate(-45deg);
  margin: auto;
  opacity: 0;
}
.p-simulation-input__unit .suffix {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  margin-left: 18px;
}
.p-simulation-input__subtotal {
  display: table;
  font-weight: 700;
  margin: 20px 0 1px auto;
}
.p-simulation-input__subtotal span {
  display: inline-block;
}
.p-simulation-input__subtotal .prefix {
  font-size: 17px;
  letter-spacing: 0.02em;
}
.p-simulation-input__subtotal .price {
  position: relative;
  top: 1px;
  font-size: 23px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.392;
  margin: 0 3px;
}
.p-simulation-input__subtotal .suffix {
  font-size: 15px;
  letter-spacing: 0.02em;
}
.p-section--hotel .p-simulation-input {
  background: #f0faff;
}
.p-section--hotel .p-simulation-input__ttl {
  color: #082853;
}
.p-section--hotel .p-simulation-input__sttl:after {
  background: #96BEF7;
}
.p-section--hotel .p-simulation-input__cap {
  color: #93A2B7;
}
.p-section--hotel .p-simulation-input__unit .check:after {
  border-bottom-color: #082853;
  border-left-color: #082853;
}
.p-section--roomindicator .p-simulation-input {
  background: #F7FFF0;
}
.p-section--roomindicator .p-simulation-input__sttl:after {
  background: #9FE8C0;
}
.p-section--roomindicator .p-simulation-input__unit .check:after {
  border-bottom-color: #0C6735;
  border-left-color: #0C6735;
}
.p-section--restaurant .p-simulation-input {
  background: #FCFAE5;
}
.p-section--restaurant .p-simulation-input__ttl {
  color: #4d2b04;
}
.p-section--restaurant .p-simulation-input__sttl:after {
  background: #FFD591;
}
.p-section--restaurant .p-simulation-input__cap {
  color: #AC9C8B;
}
.p-section--restaurant .p-simulation-input__body {
  width: 412px;
}
.p-section--restaurant .p-simulation-input__unit .check:after {
  border-bottom-color: #f08b00;
  border-left-color: #f08b00;
}

@media screen and (max-width: 864px) {
  .p-simulation-input {
    display: block;
  }
  .p-simulation-input__head {
    padding: 26px 25px 19px 20px;
    border-right: none;
    border-bottom: 1px solid #EFEAE2;
  }
  .p-simulation-input__ttl {
    font-size: 18px;
    line-height: 1.5;
    margin-right: -5px;
  }
  .p-simulation-input__sttl {
    font-size: 13px;
    line-height: 1.462;
    margin-bottom: 10px;
  }
  .p-simulation-input__sttl:after {
    bottom: 1px;
  }
  .p-simulation-input__icon {
    width: 60px;
    margin-right: 20px;
  }
  .p-simulation-input__cap {
    font-size: 12px;
    line-height: 1.67;
    margin-top: 9px;
  }
  .p-simulation-input__body {
    width: auto !important;
    padding: 20px 20px 25px;
  }
  .p-simulation-input__inner .p-simulation-input__unit .suffix {
    margin-left: 15px;
  }
  .p-simulation-input__inner .p-simulation-input__subtotal {
    margin: 1px 0 0 auto;
  }
  .p-simulation-input__item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 30px 0 0 auto;
  }
  .p-simulation-input__unit {
    flex-wrap: wrap;
    justify-content: end;
  }
  .p-simulation-input__unit .unit-price {
    font-size: 22px;
    margin-right: 10px;
  }
  .p-simulation-input__unit .unit-price .en {
    font-size: 12px;
  }
  .p-simulation-input__unit .unit-price .times {
    width: 10px;
    height: 10px;
    margin-left: 10px;
  }
  .p-simulation-input__unit .unit-price .times:before, .p-simulation-input__unit .unit-price .times:after {
    width: 13px;
  }
}
@media screen and (max-width: 864px) and (max-width: 374px) {
  .p-simulation-input__unit .unit-price {
    display: flex;
    align-items: center;
    justify-content: end;
    width: 100%;
    line-height: 1;
    margin: 0 0 10px 0;
  }
}
@media screen and (max-width: 864px) {
  .p-simulation-input__unit .unit {
    width: 80px;
    height: 50px;
    font-size: 22px;
    padding: 0 9px;
  }
}
@media screen and (max-width: 864px) {
  .p-simulation-input__unit .controls {
    margin-left: 16px;
  }
  .p-simulation-input__unit .controls .down {
    margin-top: 14px;
  }
}
@media screen and (max-width: 864px) {
  .p-simulation-input__unit .check {
    width: 35px;
    height: 35px;
  }
  .p-simulation-input__unit .check:after {
    left: 8px;
    width: 16px;
    height: 9px;
  }
}
@media screen and (max-width: 864px) {
  .p-simulation-input__unit .suffix {
    font-size: 15px;
  }
}
@media screen and (max-width: 864px) {
  .p-simulation-input__subtotal {
    margin-top: 20px;
  }
  .p-simulation-input__subtotal .prefix {
    position: relative;
    top: -1px;
    font-size: 14px;
  }
  .p-simulation-input__subtotal .price {
    font-size: 22px;
    line-height: 1.41;
    margin: 0 2px 0 4px;
  }
  .p-simulation-input__subtotal .suffix {
    font-size: 12px;
  }
}
/* p-simulation-arrows */
.p-simulation-arrows {
  width: 97px;
  margin: 80px auto 0;
}

@media screen and (max-width: 864px) {
  .p-simulation-arrows {
    width: 56px;
    margin-top: 40px;
  }
}
/* p-simulation-result */
.p-simulation-result {
  border-radius: 20px;
  margin-top: 80px;
}
.p-simulation-result__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px 30px 28px;
  border-bottom: 3px solid;
}
.p-simulation-result__ttl {
  font-size: 31px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.097;
}
.p-simulation-result__body {
  display: flex;
  justify-content: center;
  padding: 39px 40px 40px;
}
.p-simulation-result__cost {
  flex-shrink: 0;
  width: 460px;
}
.p-simulation-result__cost .item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 15px;
  padding: 13px 30px 12px;
  margin-top: 20px;
}
.p-simulation-result__cost .item:first-child {
  margin-top: 0;
}
.p-simulation-result__cost .item__ttl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.p-simulation-result__cost .item__price {
  position: relative;
  top: -1px;
  flex-shrink: 0;
  font-weight: 700;
  line-height: 1;
}
.p-simulation-result__cost .item__price .price {
  position: relative;
  top: 1px;
  display: inline-block;
  font-size: 33px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.425;
  color: #BF0000;
}
.p-simulation-result__cost .item__price .en {
  display: inline-block;
  font-size: 17px;
  letter-spacing: 0.02em;
  margin-left: -2px;
}
.p-simulation-result__cost .item__price .tax {
  display: inline-block;
  font-size: 15px;
  letter-spacing: 0.02em;
  margin-left: -2px;
}
.p-simulation-result__btn {
  transition: background 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40.105%;
  text-decoration: none;
  border-radius: 20px;
  box-sizing: border-box;
  cursor: pointer;
  padding: 27px 0;
  margin: 0 auto 0 8.125%;
}
.p-simulation-result__btn .icon {
  width: 100px;
  margin-right: 29px;
}
.p-simulation-result__btn .txt {
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.566;
  color: #fff;
  text-align: center;
}
.p-simulation-result__btn:hover {
  text-decoration: none;
}
.p-section--hotel .p-simulation-result {
  background: #f0faff;
}
.p-section--hotel .p-simulation-result__head {
  border-bottom-color: #082853;
}
.p-section--hotel .p-simulation-result__ttl {
  color: #082853;
}
.p-section--hotel .p-simulation-result__btn {
  background: #082853;
}
.p-section--hotel .p-simulation-result__btn:hover {
  background: #1897db;
}
.p-section--roomindicator .p-simulation-result {
  background: #F7FFF0;
}
.p-section--roomindicator .p-simulation-result__head {
  border-bottom-color: #0C6735;
}
.p-section--roomindicator .p-simulation-result__btn {
  background: #0C6735;
}
.p-section--roomindicator .p-simulation-result__btn:hover {
  background: #8DC31F;
}
.p-section--restaurant .p-simulation-result {
  background: #FCFAE5;
}
.p-section--restaurant .p-simulation-result__head {
  border-bottom-color: #f08b00;
}
.p-section--restaurant .p-simulation-result__ttl {
  color: #f08b00;
}
.p-section--restaurant .p-simulation-result__btn {
  background: #f08b00;
}
.p-section--restaurant .p-simulation-result__btn:hover {
  background: #ffd700;
}

@media screen and (max-width: 1024px) {
  .p-simulation-result__btn {
    display: none;
  }
}
@media screen and (max-width: 864px) {
  .p-simulation-result {
    border-radius: 0;
    margin: 40px -25px 0;
  }
  .p-simulation-result__head {
    padding: 20px;
  }
  .p-simulation-result__ttl {
    font-size: 20px;
    line-height: 1.3;
    padding: 2px 0 0;
  }
  .p-simulation-result__body {
    padding: 25px;
  }
  .p-simulation-result__cost {
    width: 100%;
  }
  .p-simulation-result__cost .item {
    padding: 14px 20px 13px;
  }
  .p-simulation-result__cost .item__ttl {
    font-size: 15px;
  }
  .p-simulation-result__cost .item__price .price {
    font-size: 26px;
    line-height: 1.385;
  }
  .p-simulation-result__cost .item__price .en {
    font-size: 14px;
  }
  .p-simulation-result__cost .item__price .tax {
    font-size: 12px;
  }
}
/* A4印刷用 */
@media print {
  @page {
    size: A4;
  }
  body {
    zoom: 0.5;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  _:lang(x)::-moz-placeholder, body {
    zoom: 1;
    transform: scale(0.5);
    transform-origin: center 0;
  }
}
/* p-simulation-estimate */
.p-simulation-estimate {
  padding: 60px 0;
}
.p-simulation-estimate .p-section__body {
  max-width: 900px;
  transform: translateY(0);
}
.p-simulation-estimate .p-simulation__subHead {
  border: none;
  padding-top: 0;
  margin-top: 40px;
}
.p-simulation-estimate .p-simulation__subHead .check {
  pointer-events: none;
}
.p-simulation-estimate .p-simulation__plan .item {
  pointer-events: none;
}
.p-simulation-estimate .p-simulation__plan.--3col .item__radio:checked + .item__inner {
  padding-left: 57px;
}
.p-simulation-estimate .p-simulation__plan.--3col .item__inner {
  padding: 20px 17px;
}
.p-simulation-estimate .p-simulation__plan.--3col .item__inner:before {
  width: 40px;
}
.p-simulation-estimate .p-simulation__plan.--3col .item__label {
  white-space: nowrap;
}
.p-simulation-estimate .p-simulation__plan.grayout .item__inner {
  background: #EBEBE8;
  padding: 20px 17px !important;
}
.p-simulation-estimate .p-simulation__plan.grayout .item__inner:before {
  opacity: 0;
}
.p-simulation-estimate .p-simulation__plan.grayout .item__inner:after {
  opacity: 0;
}
.p-simulation-estimate .p-simulation__plan.grayout .item * {
  color: #C4C4BE !important;
}
.p-simulation-estimate__head {
  margin-bottom: 60px;
}
.p-simulation-estimate__head .p-section__ttl {
  margin-bottom: 0;
}
.p-simulation-estimate__head + .p-simulation__subHead {
  margin-top: 0;
}
.p-simulation-estimate__list {
  margin-top: 40px;
}
.p-simulation-estimate__list .item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 20px;
  padding: 25px 30px;
  margin-top: 15px;
}
.p-simulation-estimate__list .item:first-child {
  margin-top: 0;
}
.p-simulation-estimate__list .item__head {
  display: flex;
  align-items: center;
}
.p-simulation-estimate__list .item__icon {
  flex-shrink: 0;
  width: 50px;
  margin-right: 20px;
}
.p-simulation-estimate__list .item__ttl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
}
.p-simulation-estimate__list .item__sttl {
  position: absolute;
  left: -15px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.467;
  transform: translateX(-100%);
}
.p-simulation-estimate__list .item__sttl:after {
  position: absolute;
  bottom: 2px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 4px;
  z-index: -1;
}
.p-simulation-estimate__list .item__body {
  display: flex;
  align-items: center;
}
.p-simulation-estimate__list .item__block {
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 20px;
}
.p-simulation-estimate__list .item__block:first-child {
  margin-top: 0;
}
.p-simulation-estimate__list .item__price {
  font-size: 20px;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.6;
  white-space: nowrap;
  margin-right: 8px;
}
.p-simulation-estimate__list .item__price .en {
  position: relative;
  bottom: 1px;
  display: inline-block;
  font-size: 15px;
  margin-left: 2px;
}
.p-simulation-estimate__list .item__price .times {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 7px;
}
.p-simulation-estimate__list .item__price .times:before, .p-simulation-estimate__list .item__price .times:after {
  position: absolute;
  top: -1px;
  right: 0;
  bottom: 0;
  left: -1px;
  display: block;
  content: "";
  width: 15px;
  height: 2px;
  background: #333;
  margin: auto;
}
.p-simulation-estimate__list .item__price .times:before {
  transform: rotate(45deg);
}
.p-simulation-estimate__list .item__price .times:after {
  transform: rotate(-45deg);
}
.p-simulation-estimate__list .item__unit {
  display: flex;
  align-items: center;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  line-height: 1;
  margin-right: 20px;
}
.p-simulation-estimate__list .item__unit .unit {
  font-size: 20px;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.p-simulation-estimate__list .item__unit .suffix {
  font-size: 15px;
  letter-spacing: 0.02em;
  margin-top: 1px;
  margin-left: 5px;
}
.p-simulation-estimate__list .item__check {
  display: flex;
  align-items: center;
  margin-right: 20px;
}
.p-simulation-estimate__list .item__check.checked .check:after {
  opacity: 1;
}
.p-simulation-estimate__list .item__check.checked .suffix {
  display: block;
}
.p-simulation-estimate__list .item__check .check {
  position: relative;
  width: 40px;
  height: 40px;
  background: #fff;
  border: 1px solid #EFEAE2;
  box-sizing: border-box;
  border-radius: 10px;
}
.p-simulation-estimate__list .item__check .check:after {
  position: absolute;
  top: -3px;
  bottom: 0;
  left: 10px;
  display: block;
  content: "";
  width: 18px;
  height: 10px;
  box-sizing: border-box;
  border-bottom: 3px solid #333;
  border-left: 3px solid #333;
  transform: rotate(-45deg);
  margin: auto;
  opacity: 0;
}
.p-simulation-estimate__list .item__check .suffix {
  display: none;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-left: 10px;
}
.p-simulation-estimate__list .item__subtotal {
  display: flex;
  align-items: center;
  font-weight: 700;
  line-height: 1;
  margin-left: auto;
}
.p-simulation-estimate__list .item__subtotal .prefix {
  font-size: 17px;
  letter-spacing: 0.02em;
  margin-bottom: 1px;
}
.p-simulation-estimate__list .item__subtotal .price {
  font-size: 23px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.392;
  margin: 0 3px;
}
.p-simulation-estimate__list .item__subtotal .suffix {
  font-size: 15px;
  letter-spacing: 0.02em;
}
.p-section--hotel .p-simulation-estimate__list .item {
  background: #f0faff;
}
.p-section--hotel .p-simulation-estimate__list .item__sttl:after {
  background: #96BEF7;
}
.p-section--hotel .p-simulation-estimate__list .item__check .check:after {
  border-bottom-color: #082853;
  border-left-color: #082853;
}
.p-section--roomindicator .p-simulation-estimate__list .item {
  background: #F7FFF0;
}
.p-section--roomindicator .p-simulation-estimate__list .item__sttl:after {
  background: #9FE8C0;
}
.p-section--roomindicator .p-simulation-estimate__list .item__check .check:after {
  border-bottom-color: #0C6735;
  border-left-color: #0C6735;
}
.p-section--restaurant .p-simulation-estimate__list .item {
  background: #FCFAE5;
}
.p-section--restaurant .p-simulation-estimate__list .item__sttl:after {
  background: #FFD591;
}
.p-section--restaurant .p-simulation-estimate__list .item__check .check:after {
  border-bottom-color: #f08b00;
  border-left-color: #f08b00;
}
.p-simulation-estimate__foot {
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin-top: 100px;
  margin: 60px 0 -10px;
}
.p-simulation-estimate__manage {
  position: relative;
  display: flex;
  align-items: center;
  text-decoration: underline;
  margin: 0 20px 10px 0;
}
.p-simulation-estimate__manage:after {
  display: inline-block;
  content: "";
  width: 8px;
  height: 7px;
  background: url(/assets/images/commons/icon-external.svg) no-repeat center center;
  background-size: contain;
  margin-left: 6px;
}
.p-simulation-estimate__manage:hover {
  text-decoration: none;
}
.p-simulation-estimate__address {
  padding-right: 14px;
  border-right: 1px solid #C9C9C9;
  margin-bottom: 10px;
}
.p-simulation-estimate__copyright {
  margin: 0 0 10px auto;
}

@media screen and (max-width: 864px) {
  .p-simulation-estimate {
    padding-bottom: 30px;
  }
  .p-simulation-estimate__head {
    margin-bottom: 40px;
  }
  .p-simulation-estimate__head .p-section__ttl {
    font-size: 24px;
  }
  .p-simulation-estimate__list {
    margin-top: 40px;
  }
  .p-simulation-estimate__list .item {
    display: block;
    padding: 20px;
  }
  .p-simulation-estimate__list .item__head {
    margin-bottom: 15px;
  }
  .p-simulation-estimate__list .item__icon {
    width: 60px;
  }
  .p-simulation-estimate__list .item__ttl {
    font-size: 18px;
    line-height: 1.5;
  }
  .p-simulation-estimate__list .item__sttl {
    position: relative;
    left: auto;
    font-size: 13px;
    line-height: 1.462;
    transform: translateX(0);
    margin-right: 10px;
  }
  .p-simulation-estimate__list .item__body {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .p-simulation-estimate__list .item__block {
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: 10px;
  }
  .p-simulation-estimate__list .item__price {
    width: 100%;
    text-align: right;
    margin-right: 0;
  }
  .p-simulation-estimate__list .item__unit {
    margin-right: 15px;
  }
  .p-simulation-estimate__list .item__unit .unit {
    font-size: 18px;
  }
  .p-simulation-estimate__list .item__unit .suffix {
    margin-top: 0;
  }
  .p-simulation-estimate__list .item__check {
    margin-right: auto;
  }
  .p-simulation-estimate__list .item__check .check {
    width: 35px;
    height: 35px;
  }
  .p-simulation-estimate__list .item__check .check:after {
    width: 16px;
    height: 9px;
    left: 8px;
  }
  .p-simulation-estimate__list .item__subtotal {
    margin-left: 0;
  }
  .p-simulation-estimate__list .item__subtotal .prefix {
    position: relative;
    font-size: 14px;
  }
  .p-simulation-estimate__list .item__subtotal .price {
    font-size: 22px;
    line-height: 1.41;
    margin: 0 2px 0 4px;
  }
  .p-simulation-estimate__list .item__subtotal .suffix {
    font-size: 12px;
  }
  .p-simulation-estimate__foot {
    font-size: 11px;
    line-height: 1.55;
    margin-top: 40px;
  }
  .p-simulation-estimate__address {
    border-right: none;
  }
}
/* c-form */
.c-form .req {
  flex-shrink: 0;
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #BF0000;
  border: 1px solid #BF0000;
  border-radius: 2px;
  padding: 2px 3px;
}
.c-form label.error {
  display: block;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  color: #BF0000;
  margin-top: 10px;
}
.c-form__item:not(:first-child) {
  margin-top: 45px;
}
.c-form__item dt {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.467;
  padding-left: 10px;
  margin-bottom: 12px;
}
.c-form__item dt:before {
  position: absolute;
  inset: 1px auto 1px 0;
  display: block;
  content: "";
  width: 2px;
  background: #00b4a6;
}
.c-form__item dt .req {
  margin: 1px 0 0 8px;
}
.c-form__input {
  width: 100%;
  height: 50px;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.467;
  border: 1px solid #E2E2E2;
  border-radius: 5px;
  padding: 0 12px;
}
.c-form__input::-moz-placeholder {
  color: #9B9B9B;
}
.c-form__input:-ms-input-placeholder {
  color: #9B9B9B;
}
.c-form__input::placeholder {
  color: #9B9B9B;
}
.c-form__input.error {
  border-color: #BF0000;
}
.c-form__input:focus {
  border-color: #00b4a6;
}
.c-form__input[data-disabled=true] {
  background: #fafafa;
  pointer-events: none;
}
.c-form__input.size-s {
  width: min(100%, 150px);
}
.c-form__input.size-m {
  width: min(100%, 300px);
}
.c-form__checkList, .c-form__radioList {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 35px;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.467;
  margin-top: 15px;
}
.c-form__checkList label, .c-form__radioList label {
  position: relative;
  cursor: pointer;
}
.c-form__checkList label input, .c-form__radioList label input {
  position: absolute;
  inset: 0;
  padding: 0;
  margin: 0;
  opacity: 0;
}
.c-form__checkList label input:checked + .txt:before, .c-form__radioList label input:checked + .txt:before {
  background: #00b4a6;
  border-color: #00b4a6;
}
.c-form__checkList label input:checked + .txt:after, .c-form__radioList label input:checked + .txt:after {
  opacity: 1;
}
.c-form__checkList label input.error + .txt:before, .c-form__radioList label input.error + .txt:before {
  border-color: #BF0000;
}
.c-form__checkList .txt, .c-form__radioList .txt {
  position: relative;
  display: inline-block;
  padding-left: 24px;
}
.c-form__checkList .txt:before, .c-form__checkList .txt:after, .c-form__radioList .txt:before, .c-form__radioList .txt:after {
  position: absolute;
  display: block;
  content: "";
}
.c-form__checkList .txt:before {
  transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: background, border;
  top: 3px;
  left: 0;
  width: 17px;
  height: 17px;
  background: #fff;
  border: 1px solid #E2E2E2;
  border-radius: 2px;
}
.c-form__checkList .txt:after {
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  top: 7px;
  left: 3px;
  width: 12px;
  height: 9px;
  background: url(/assets/images/commons/icon_checkbox.svg) no-repeat;
  opacity: 0;
}
.c-form__radioList .txt:before {
  transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: background, border;
  top: 3px;
  left: 0;
  width: 17px;
  height: 17px;
  background: #fff;
  border: 1px solid #E2E2E2;
  border-radius: 50%;
}
.c-form__radioList .txt:after {
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  top: 8px;
  left: 5px;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
}
.c-form__other {
  display: flex;
  align-items: center;
  gap: 0 15px;
  width: 100%;
}
.c-form__other label {
  flex-shrink: 0;
}
.c-form__textarea {
  display: block;
  width: 100%;
  height: 230px;
  font-size: 14px;
  letter-spacing: 0.02em;
  border: 1px solid #E2E2E2;
  border-radius: 5px;
  padding: 12px;
}
.c-form__textarea::-moz-placeholder {
  color: #9B9B9B;
}
.c-form__textarea:-ms-input-placeholder {
  color: #9B9B9B;
}
.c-form__textarea::placeholder {
  color: #9B9B9B;
}
.c-form__textarea.error {
  border-color: #BF0000;
}
.c-form__textarea:focus {
  border-color: #00b4a6;
}
.c-form__btnArea {
  display: flex;
  justify-content: center;
  gap: 20px 30px;
  margin-top: 50px;
}
.c-form__btn {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: background, border-color;
  position: relative;
  display: block;
  width: min(100%, 330px);
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  background: #00b4a6;
  border: 2px solid #00b4a6;
  border-radius: 30px;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.c-form__btn:after {
  position: absolute;
  inset: 0 17px 0 auto;
  display: block;
  content: "";
  width: 14px;
  height: 14px;
  background: #fff;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url(/assets/images/commons/icon-arrow.svg);
          mask-image: url(/assets/images/commons/icon-arrow.svg);
  margin: auto;
}
.c-form__btn .txt {
  display: block;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.467;
  padding: 16px 18px 18px;
}
@media (hover) {
  .c-form__btn:hover {
    background: #00645c;
    border-color: #00645c;
  }
  .c-form__btn:hover:after {
    -webkit-animation: buttonHover 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
            animation: buttonHover 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  }
}
.c-form__btn.border {
  color: #9B9B9B;
  border-color: #9B9B9B;
  background: transparent;
}
.c-form__btn.border:after {
  inset: 0 auto 0 17px;
  background: #9B9B9B;
  rotate: -180deg;
}
.c-form__btn:disabled {
  background: #999999;
  border-color: #999999;
  pointer-events: none;
}
.c-form__table {
  width: 100%;
  border: 1px solid #E2E2E2;
  margin-top: 68px;
}
.c-form__table tr {
  border-bottom: 1px solid #E2E2E2;
}
.c-form__table tr:last-child {
  border-bottom: none;
}
.c-form__table th,
.c-form__table td {
  letter-spacing: 0.02em;
  line-height: 1.467;
  vertical-align: middle;
}
.c-form__table th {
  width: 279px;
  font-weight: 700;
  background: #F4F4F4;
  border-right: 1px solid #E2E2E2;
  text-align: left;
  padding: 23px 25px;
}
.c-form__table .line {
  display: flex;
  align-items: center;
}
.c-form__table .ttl {
  position: relative;
  display: block;
}
.c-form__table .req {
  margin: 1px 0 0 8px;
}
.c-form__table td {
  padding: 23px 25px;
}
.c-form__error {
  margin-top: 30px;
}

@media screen and (max-width: 864px) {
  .c-form__item:not(:first-child) {
    margin-top: 35px;
  }
  .c-form__item dt:before {
    inset: 0 auto 0 0;
  }
  .c-form__checkList, .c-form__radioList {
    flex-direction: column;
  }
  .c-form__textarea {
    height: 280px;
  }
  .c-form__btnArea {
    flex-wrap: wrap;
    margin-top: 30px;
  }
  .c-form__btn {
    width: 100%;
  }
  .c-form__btn .txt {
    font-size: 14px;
    line-height: 1.43;
    padding: 18px;
  }
  .c-form__table {
    display: block;
    margin-top: 50px;
  }
  .c-form__table tbody {
    display: block;
  }
  .c-form__table tr {
    display: block;
    border-bottom: none;
  }
  .c-form__table tr:last-child th:last-child,
.c-form__table tr:last-child td:last-child {
    border-bottom: none;
  }
  .c-form__table th,
.c-form__table td {
    display: block;
    font-size: 13px;
    line-height: 1.539;
    border-bottom: 1px solid #E2E2E2;
  }
  .c-form__table th {
    width: 100%;
    border-right: none;
    padding: 9px;
  }
  .c-form__table .req {
    margin-top: 0;
  }
  .c-form__table td {
    padding: 13px 11px 15px;
  }
}
/* c-form-privacy */
.c-form-privacy {
  background: #F4F4F4;
  border: 1px solid #E2E2E2;
  padding: 29px;
  margin-top: 67px;
}
.c-form-privacy__ttl {
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.467;
  margin-bottom: 20px;
}
.c-form-privacy__lead {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.77;
  margin: -2px 0;
}
.c-form-privacy__inner {
  background: #fff;
  border: 1px solid #333;
  border-radius: 5px;
  padding: 19px;
  margin-top: 30px;
}
.c-form-privacy__text {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.77;
}
.c-form-privacy .textlink {
  text-decoration: underline;
}
@media (hover) {
  .c-form-privacy .textlink:hover {
    text-decoration: none;
  }
}
.c-form-privacy__check {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 30px;
}
.c-form-privacy__label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 7px;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.467;
  cursor: pointer;
}
.c-form-privacy__label input {
  position: absolute;
  opacity: 0;
  padding: 0;
  margin: 0;
}
.c-form-privacy__label input:checked + .txt:before {
  background: #00b4a6;
  border-color: #00b4a6;
}
.c-form-privacy__label input:checked + .txt:after {
  opacity: 1;
}
.c-form-privacy__label input.error + .txt:before {
  border-color: #BF0000;
}
.c-form-privacy__label .txt {
  position: relative;
  display: inline-block;
  padding-left: 24px;
}
.c-form-privacy__label .txt:before, .c-form-privacy__label .txt:after {
  position: absolute;
  top: 1px;
  bottom: 0;
  display: block;
  content: "";
  margin: auto;
}
.c-form-privacy__label .txt:before {
  transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: background, border;
  left: 0;
  width: 17px;
  height: 17px;
  background: #fff;
  border: 1px solid #D6D6D6;
  border-radius: 2px;
}
.c-form-privacy__label .txt:after {
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  left: 3px;
  width: 12px;
  height: 9px;
  background: url(/assets/images/commons/icon_checkbox.svg) no-repeat;
  opacity: 0;
}

@media screen and (max-width: 864px) {
  .c-form-privacy {
    background: none;
    border: none;
    padding: 0;
    margin-top: 65px;
  }
  .c-form-privacy__ttl {
    margin-bottom: 15px;
  }
  .c-form-privacy__inner {
    padding: 14px;
    margin-top: 15px;
  }
  .c-form-privacy__text {
    line-height: 1.693;
  }
  .c-form-privacy__check {
    margin-top: 25px;
  }
}
/*
---
name: LpTemplateHeader
category: Components
---
*/
.c-lpTemplateHeader {
  width: 100%;
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 0;
  z-index: 11;
  padding: 30px;
}
.c-lpTemplateHeader a {
  text-decoration: none;
}
.c-lpTemplateHeader a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateHeader {
    padding: 14px 15px;
  }
}
.c-lpTemplateHeader.-restaurant.-fixed .c-lpTemplateHeader__logo {
  background: #f08b00;
}
.c-lpTemplateHeader.-restaurant.-fixed .c-lpTemplateHeader__logo svg {
  fill: #ffffff;
}
.c-lpTemplateHeader.-restaurant.-fixed .c-lpTemplateHeader__logo span {
  color: #ffffff;
}
.c-lpTemplateHeader.-restaurant.-fixed .c-lpTemplateHeader__mainNav a {
  color: #4d2b04 !important;
}
.c-lpTemplateHeader.-restaurant.-fixed .c-lpTemplateHeader__mainNav.-light a, .c-lpTemplateHeader.-restaurant.-fixed .c-lpTemplateHeader__mainNav.-dark a {
  color: #4d2b04 !important;
}
.c-lpTemplateHeader.-restaurant .c-lpTemplateHeader__logo {
  color: #f08b00;
}
.c-lpTemplateHeader.-restaurant .c-lpTemplateHeader__logo svg {
  fill: #f08b00;
}
.c-lpTemplateHeader.-restaurant .c-lpTemplateHeader__logo.-light svg {
  fill: #ffffff;
}
.c-lpTemplateHeader.-restaurant .c-lpTemplateHeader__logo.-light span {
  color: #ffffff;
}
.c-lpTemplateHeader.-restaurant .c-lpTemplateHeader__logo.-dark svg {
  fill: #f08b00;
}
.c-lpTemplateHeader.-restaurant .c-lpTemplateHeader__mainNav a {
  color: #4d2b04;
}
.c-lpTemplateHeader.-restaurant .c-lpTemplateHeader__mainNav.-light > li > a {
  color: #ffffff !important;
}
.c-lpTemplateHeader.-restaurant .c-lpTemplateHeader__mainNav.-dark a {
  color: #4d2b04 !important;
}
.c-lpTemplateHeader.-fixed {
  position: fixed;
  background: #fff;
  padding: 0 34px 0 0;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateHeader.-fixed {
    padding: initial;
  }
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__logo {
  flex-direction: row;
  width: 170px;
  background: #082853;
  display: flex;
  padding: 12px 0 11px 18px;
  align-items: center;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__logo {
    display: none;
    width: auto;
    height: 60px;
    padding: 12px;
  }
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__logo svg {
  width: 43px;
  height: 57px;
  margin-right: 14px;
  fill: #ffffff;
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__logo > span {
  font-size: 1rem;
  line-height: 1.334;
  color: #ffffff;
  margin-top: 0;
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__logo > span br {
  display: block;
}
.c-lpTemplateHeader.-fixed > nav {
  align-self: stretch;
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav {
  height: 100%;
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  color: #082853 !important;
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav a:before {
  transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  top: 0;
  right: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: center;
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav a.is-current:before, .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav a:hover:before {
  transform: scaleX(1);
}
.-hotel .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav a:before, .-roomindicator .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav a:before {
  background: #082853;
}
.-restaurant .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav a:before {
  background: #F08B00;
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav__list li a {
  color: #333 !important;
}
.-hotel .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav__list li a.is-current, .-roomindicator .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav__list li a.is-current, .-hotel .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav__list li a:hover, .-roomindicator .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav__list li a:hover {
  color: #082853 !important;
}
.-restaurant .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav__list li a.is-current, .-restaurant .c-lpTemplateHeader.-fixed .c-lpTemplateHeader__mainNav__list li a:hover {
  color: #f08b00 !important;
}
.c-lpTemplateHeader.-fixed .c-lpTemplateHeader__subNav {
  align-self: center;
  padding-bottom: 1px;
}
.c-lpTemplateHeader__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 117px;
  color: #082853;
}
.c-lpTemplateHeader__logo.-light {
  color: #ffffff;
}
.c-lpTemplateHeader__logo.-light svg {
  fill: #ffffff;
}
.c-lpTemplateHeader__logo.-dark {
  color: #082853;
}
.c-lpTemplateHeader__logo.-dark svg {
  fill: #082853;
}
.c-lpTemplateHeader__logo svg {
  width: 80px;
  fill: #082853;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateHeader__logo svg {
    width: 61px;
  }
}
.c-lpTemplateHeader__logo > span {
  display: block;
  font-size: 0.8666666667rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.462;
  margin-top: 0.4rem;
}
.c-lpTemplateHeader__logo > span br {
  display: none;
}
.c-lpTemplateHeader > nav {
  display: flex;
  width: 100%;
  align-self: flex-start;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateHeader > nav {
    display: none;
  }
}
.c-lpTemplateHeader__mainNav {
  display: flex;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateHeader__mainNav {
    display: none;
  }
}
.c-lpTemplateHeader__mainNav li {
  position: relative;
  margin-left: 40px;
}
.c-lpTemplateHeader__mainNav li:first-child {
  margin-left: 0;
}
.c-lpTemplateHeader__mainNav li:hover > .c-lpTemplateHeader__mainNav__list {
  opacity: 1;
  visibility: visible;
}
.c-lpTemplateHeader__mainNav a {
  display: block;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #082853;
  box-sizing: border-box;
  padding: 9px 0;
}
.c-lpTemplateHeader__mainNav.-light a {
  color: #ffffff;
}
.c-lpTemplateHeader__mainNav.-dark a {
  color: #082853;
}
.c-lpTemplateHeader__mainNav__list {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, visibility;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  opacity: 0;
  visibility: hidden;
}
.c-lpTemplateHeader__mainNav__list li {
  margin: 0;
  border-bottom: 1px solid #EAEAEA;
}
.c-lpTemplateHeader__mainNav__list li:last-child {
  border-bottom: none;
}
.c-lpTemplateHeader__mainNav__list li a {
  transition: color 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  display: block;
  font-size: 13px;
  letter-spacing: 0.06em;
  line-height: 1.462;
  white-space: nowrap;
  color: #333 !important;
  padding: 15px 30px;
}
.c-lpTemplateHeader__mainNav__list li a:before {
  display: none !important;
}
.-hotel .c-lpTemplateHeader__mainNav__list li a.is-current, .-roomindicator .c-lpTemplateHeader__mainNav__list li a.is-current, .-hotel .c-lpTemplateHeader__mainNav__list li a:hover, .-roomindicator .c-lpTemplateHeader__mainNav__list li a:hover {
  color: #082853 !important;
}
.-restaurant .c-lpTemplateHeader__mainNav__list li a.is-current, .-restaurant .c-lpTemplateHeader__mainNav__list li a:hover {
  color: #f08b00 !important;
}
.c-lpTemplateHeader__subNav {
  display: flex;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateHeader__subNav {
    display: none;
  }
}
.c-lpTemplateHeader__subNav li {
  margin-left: 10px;
}
.c-lpTemplateHeader__subNav li:first-child {
  margin-left: 0;
}

/* IE11 */
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
.c-lpTemplateHeader__logo {
    width: 130px;
  }
}
/*
---
name: LpTemplateMobileMenu
category: Components
---
*/
.c-lpTemplateMobileMenu {
  display: none;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateMobileMenu {
    position: absolute;
    display: block;
    z-index: 150;
  }
}
.c-lpTemplateMobileMenu.-restaurant .c-lpTemplateMobileMenu__button {
  background-color: #ffd700;
}
.c-lpTemplateMobileMenu.-restaurant .c-lpTemplateMobileMenu__head {
  color: #f08b00;
}
.c-lpTemplateMobileMenu.-restaurant .c-lpTemplateMobileMenu__head > svg {
  fill: #f08b00;
}
.c-lpTemplateMobileMenu.-fixed .c-lpTemplateMobileMenu__head {
  visibility: visible;
  opacity: 1;
}
.c-lpTemplateMobileMenu__button {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  height: 60px;
  width: 60px;
  z-index: 50;
  justify-content: center;
  align-items: center;
  background-color: #1897db;
  cursor: pointer;
}
.c-lpTemplateMobileMenu__button > span,
.c-lpTemplateMobileMenu__button > span::before,
.c-lpTemplateMobileMenu__button > span::after {
  content: "";
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #ffffff;
  position: absolute;
  transition: all 0.2s;
}
.c-lpTemplateMobileMenu__button > span::before {
  bottom: 8px;
}
.c-lpTemplateMobileMenu__button > span:after {
  top: 8px;
}
.c-lpTemplateMobileMenu__head {
  width: 100%;
  height: 60px;
  position: fixed;
  padding: 6px 10px;
  top: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  z-index: 20;
  background: #ffffff;
  transition: visibility 0.4s, opacity 0.4s;
  /*アニメーション設定*/
  color: #082853;
}
.c-lpTemplateMobileMenu__head a {
  display: flex;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
}
.c-lpTemplateMobileMenu__head a:hover {
  text-decoration: none;
}
.c-lpTemplateMobileMenu__head a svg {
  width: 2.4666666667rem;
  fill: #082853;
  margin-right: 8px;
}
.c-lpTemplateMobileMenu__head a span {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2667;
  padding-bottom: 1px;
}
.c-lpTemplateMobileMenu__overlay {
  position: fixed;
  top: 60px;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.6);
  transition: visibility 0.4s, opacity 0.4s;
  /*アニメーション設定*/
}
.c-lpTemplateMobileMenu__content {
  transition: transform 0.4s;
  /*アニメーション設定*/
  position: fixed;
  top: 60px;
  right: 0;
  bottom: 0;
  left: 30%;
  /*leftの値を変更してメニューを画面外へ*/
  background: #ffffff;
  z-index: 40;
  overflow-y: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  transform: translateX(100%);
}

.c-lpTemplateMobileMenuContent__mainNav > li {
  border-bottom: 1px solid #e2e9ef;
}
.c-lpTemplateMobileMenuContent__mainNav a {
  display: block;
  width: 100%;
  position: relative;
  padding: 8px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.467;
  display: flex;
  align-items: center;
  padding: 24px 16px;
  padding: 21px 16px;
}
.c-lpTemplateMobileMenuContent__mainNav a::before {
  content: "";
  display: block;
  background: url("/assets/images/commons/icon-arrow-circle-warning.svg") no-repeat left top;
  background-size: contain;
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
.c-lpTemplateMobileMenuContent__mainNav a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-lpTemplateMobileMenuContent__mainNav__list {
  position: relative;
  margin-top: -9px;
  z-index: 2;
}
.c-lpTemplateMobileMenuContent__mainNav__list li {
  padding: 0 30px 0 40px;
}
.c-lpTemplateMobileMenuContent__mainNav__list li a {
  min-height: 51px;
  font-size: 0.8666666667rem;
  letter-spacing: 0.02em;
  line-height: 1.693;
  border-top: 1px solid #E2E2E2;
  padding: 9px 0;
}
.c-lpTemplateMobileMenuContent__mainNav__list li a:before, .c-lpTemplateMobileMenuContent__mainNav__list li a:after {
  display: none;
}
.c-lpTemplateMobileMenuContent__mainNav__list li a.is-current, .c-lpTemplateMobileMenuContent__mainNav__list li a:hover {
  text-decoration: underline;
}
.c-lpTemplateMobileMenuContent__subNav {
  padding: 25px 15px 25px;
}
.c-lpTemplateMobileMenuContent__subNav li {
  margin-top: 15px;
}
.c-lpTemplateMobileMenuContent__subNav li:first-child {
  margin-top: 0;
}
.c-lpTemplateMobileMenuContent__subNav li a {
  font-size: 0.8666666667rem !important;
  padding: 0 1.0666666667rem 0 1.2rem;
}
.c-lpTemplateMobileMenuContent__category {
  text-align: left;
  font-size: 0.9333333333rem;
  line-height: 1.2;
}
.c-lpTemplateMobileMenuContent__category > a {
  display: flex;
  align-items: center;
  padding: 16px;
  font-weight: 700;
  color: #ffffff;
}
.c-lpTemplateMobileMenuContent__category > a::before {
  display: none;
}
.c-lpTemplateMobileMenuContent__category > a > img {
  margin-right: 8px;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
}
.c-lpTemplateMobileMenuContent__category.-hotel {
  background: #082853;
}
.c-lpTemplateMobileMenuContent__category.-restaurant {
  background: #f08b00;
}

#c-lpTemplateMobileMenu__buttonCheck {
  display: none;
}

body.nav-open .c-lpTemplateMobileMenu__head {
  visibility: visible;
  opacity: 1;
  z-index: 30;
}
body.nav-open .c-lpTemplateMobileMenu__overlay {
  left: 0;
  visibility: visible;
  opacity: 1;
  z-index: 20;
}
body.nav-open .c-lpTemplateMobileMenu__content {
  transform: translateX(0);
}
body.nav-open .c-lpTemplateMobileMenu__button span {
  background-color: rgba(255, 255, 255, 0);
  /*メニューオープン時は真ん中の線を透明にする*/
}
body.nav-open .c-lpTemplateMobileMenu__button span::before {
  bottom: 0;
  transform: rotate(45deg);
}
body.nav-open .c-lpTemplateMobileMenu__button span::after {
  top: 0;
  transform: rotate(-45deg);
}

.c-lpTemplateMobileMenu.-hotel .c-lpTemplateMobileMenu__head a {
  color: #082853;
}

.-hotel .c-lpTemplateMobileMenu__head a {
  color: #082853;
}

.c-lpTemplateMobileMenu.-restaurant .c-lpTemplateMobileMenu__head a {
  color: #f08b00;
}

.-restaurant .c-lpTemplateMobileMenu__head a {
  color: #f08b00;
}

.c-lpTemplateMobileMenu.-hotel .c-lpTemplateMobileMenu__head a svg {
  fill: #082853;
}

.c-lpTemplateMobileMenu.-restaurant .c-lpTemplateMobileMenu__head a svg {
  fill: #f08b00;
}

/*
---
name: LpTemplateEffect
category: Components
---
*/
.c-lpTemplateEffect {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateEffect {
    display: block;
  }
}
.c-lpTemplateEffect.-restaurant .c-lpTemplateEffect__title {
  color: #4d2b04;
}
.c-lpTemplateEffect.-restaurant .c-lpTemplateEffect__title > span {
  background: #65b1e8;
}
.c-lpTemplateEffect.-roomindicator .c-lpTemplateEffect__title {
  color: #0C6735;
}
.c-lpTemplateEffect__thumbnail {
  width: 430px;
  flex-shrink: 0;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.16);
  margin-right: 80px;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateEffect__thumbnail {
    width: 100%;
    margin-right: 0;
  }
}
@media screen and (max-width: 864px) {
  .c-lpTemplateEffect__body {
    padding-top: 20px;
  }
}
.c-lpTemplateEffect__body > p {
  letter-spacing: 0.02em;
  line-height: 1.7334;
  margin: 12px 0 -2px;
}
.c-lpTemplateEffect__title {
  font-size: 20px;
  color: #082853;
  font-weight: 700;
  display: flex;
  align-items: center;
}
.c-lpTemplateEffect__title > span {
  width: 24px;
  height: 24px;
  display: flex;
  font-size: 16px;
  letter-spacing: normal;
  justify-content: center;
  border-radius: 99em;
  margin-right: 8px;
  color: white;
  background: #ffd700;
}

/*
---
name: LpTemplateFeature
category: Components
---
*/
.c-lpTemplateFeature {
  background: #fff;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
  padding: 24px;
}
.c-lpTemplateFeature.-restaurant .c-lpTemplateFeature__head {
  color: #4d2b04;
}
.c-lpTemplateFeature.-restaurant .c-lpTemplateFeature__head h4 > span {
  background: #65b1e8;
}
.c-lpTemplateFeature.-roomindicator .c-lpTemplateFeature__head {
  color: #0C6735;
}
.c-lpTemplateFeature__head {
  font-size: 1.2666666667rem;
  letter-spacing: 0;
  color: #082853;
  font-weight: 700;
}
.c-lpTemplateFeature__head h4 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-lpTemplateFeature__head h4 > span {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  font-size: 16px;
  justify-content: center;
  align-items: center;
  border-radius: 99em;
  margin-right: 8px;
  color: white;
  background: #ffd700;
}
.c-lpTemplateFeature__body {
  padding-top: 24px;
}
.c-lpTemplateFeature__foot {
  padding-top: 24px;
}
.c-lpTemplateFeature__foot > p {
  text-align: left;
}

/*
---
name: LpTemplateFunction
category: Components
---
*/
.c-lpTemplateFunction {
  border: 1px solid #E2E9EF;
  border-radius: 20px;
  padding: 32px 39px 39px;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateFunction {
    border-radius: 15px;
    padding: 24px;
  }
}
.c-lpTemplateFunction.-restaurant {
  border-color: #EFEAE2;
}
.c-lpTemplateFunction.-restaurant .c-lpTemplateFunction__head {
  color: #4d2b04;
}
.c-lpTemplateFunction.-roomindicator .c-lpTemplateFunction__head {
  color: #0C6735;
}
.c-lpTemplateFunction__head {
  font-size: 21px;
  letter-spacing: 0.02em;
  line-height: 1.4762;
  text-align: center;
  color: #082853;
  font-weight: 700;
}
.c-lpTemplateFunction__head > * {
  line-height: inherit;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateFunction__head {
    font-size: 19px;
    line-height: 1.369;
    padding: 1px 0;
  }
}
.c-lpTemplateFunction__body {
  display: flex;
  justify-content: space-evenly;
  margin-top: 20px;
}
.c-lpTemplateFunction__body > p {
  letter-spacing: 0.02em;
  line-height: 1.7334;
  margin: -2px 0;
}
.c-lpTemplateFunction__body > p .cap {
  display: block;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.54;
  margin-top: 9px;
}
.-restaurant .c-lpTemplateFunction__body > p .cap {
  color: #AC9C8B;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateFunction__body {
    flex-wrap: wrap;
    margin-top: 15px;
  }
  .c-lpTemplateFunction__body > p {
    width: calc(100% - 80px - 17px);
  }
  .c-lpTemplateFunction__body > p small {
    color: #93a2b7;
  }
}
.c-lpTemplateFunction__thumbnail {
  flex-shrink: 0;
  width: 130px;
  margin-right: 30px;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateFunction__thumbnail {
    margin-right: 15px;
    width: 80px;
  }
}

/*
---
name: LpTemplateInfoPanel
category: Components
---
*/
.c-lpTemplateInfoPanel {
  display: block;
  border-radius: 12px;
  background: #fff;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
  padding: 24px;
}
.c-lpTemplateInfoPanel.-restaurant .c-lpTemplateInfoPanel__time {
  color: #ffd700;
}
.c-lpTemplateInfoPanel.-restaurant .c-lpTemplateInfoPanel__title {
  font-weight: bold;
  color: #4d2b04;
}
.c-lpTemplateInfoPanel__time {
  font-weight: bold;
  color: #1897db;
}
.c-lpTemplateInfoPanel__title {
  font-weight: bold;
  color: #082853;
}
.c-lpTemplateInfoPanel__text {
  margin-top: 12px;
}

/*
---
name: LpTemplateProblem
category: Components
---
*/
.c-lpTemplateProblem {
  display: flex;
  align-items: center;
}
.c-lpTemplateProblem.-problem1 .c-lpTemplateProblem__image {
  margin: auto 0 0 48px;
}
.c-lpTemplateProblem.-problem2 {
  flex-direction: row-reverse;
}
.c-lpTemplateProblem.-problem2 .c-lpTemplateProblem__image {
  margin: 0 auto;
}
.c-lpTemplateProblem.-problem3 .c-lpTemplateProblem__image {
  margin: 0 auto;
}
.c-lpTemplateProblem.-restaurant .c-lpTemplateProblem__circle::before {
  border: 1px solid #fcf0e0;
}
.c-lpTemplateProblem.-restaurant .c-lpTemplateProblem__circle__wrapper > h3 {
  color: #4d2b04;
}
.c-lpTemplateProblem.-roomindicator .c-lpTemplateProblem__circle::before {
  border: 1px solid #EBFFD8;
}
.c-lpTemplateProblem.-roomindicator .c-lpTemplateProblem__circle__wrapper > h3 {
  color: #0C6735;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateProblem__image {
    display: none;
  }
}
.c-lpTemplateProblem__circle {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  width: 374px;
  height: 374px;
  position: relative;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
  margin: 43px;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateProblem__circle {
    width: 100%;
    height: initial;
    border-radius: 10px;
    margin: 0;
  }
}
.c-lpTemplateProblem__circle::before {
  position: absolute;
  display: block;
  content: "";
  top: -43px;
  right: -43px;
  bottom: -43px;
  left: -43px;
  border: 1px solid #e0f2fc;
  border-radius: 50%;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateProblem__circle::before {
    display: none;
  }
}
.c-lpTemplateProblem__circle__wrapper {
  padding: 48px;
  text-align: center;
}
.c-lpTemplateProblem__circle__wrapper > h3 {
  font-size: 20px;
  color: #082853;
  font-weight: 700;
}
.c-lpTemplateProblem__circle__wrapper > p {
  letter-spacing: 0.02em;
  line-height: 1.7334;
  text-align: left;
  margin-top: 24px;
}

/*
---
name: LpTemplateSideNav
category: Components
---
*/
@media screen and (min-width: 1241px) {
  .c-lpTemplateSideNav {
    width: 46px;
    line-height: 1.1;
  }
  .c-lpTemplateSideNav li a {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding-left: 15px;
  }
}
.c-lpTemplateSideNav.-hotel .c-lpTemplateSideNav__list a {
  background: #082853;
}
.c-lpTemplateSideNav.-hotel .c-lpTemplateSideNav__list a:hover {
  background: #1897db;
}
.c-lpTemplateSideNav.-restaurant .c-lpTemplateSideNav__list a {
  background: #f08b00;
}
.c-lpTemplateSideNav.-restaurant .c-lpTemplateSideNav__list a:hover {
  background: #ffd700;
}
.c-lpTemplateSideNav.-restaurant .c-lpTemplateSideNav__list.-signin a:hover::before {
  background: url("/assets/images/commons/icon-signin-white.svg") no-repeat center center;
  background-size: contain;
}
.c-lpTemplateSideNav.-restaurant .c-lpTemplateSideNav__list.-login a:hover::before {
  background: url("/assets/images/commons/icon-login-white.svg") no-repeat center center;
  background-size: contain;
}
.c-lpTemplateSideNav__list {
  margin-bottom: 16px;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateSideNav__list {
    margin-bottom: 0;
  }
}
.c-lpTemplateSideNav__list a {
  display: block;
  color: #ffffff;
  padding: 16px 8px;
  background: #082853;
  border-radius: 16px 0 0 16px;
  text-decoration: none;
  transition: background 0.2s;
}
.c-lpTemplateSideNav__list a:hover {
  background: #1897db;
}
.c-lpTemplateSideNav__list a span {
  display: contents;
}
.c-lpTemplateSideNav__list a span.u-show--md {
  display: none;
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateSideNav__list a span.u-hide--md {
    display: none;
  }
  .c-lpTemplateSideNav__list a span.u-show--md {
    display: block;
  }
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateSideNav__list a {
    width: 60px;
    height: 60px;
    -ms-writing-mode: initial;
        writing-mode: initial;
    border-radius: 0;
    font-size: 10px;
    letter-spacing: 0;
    text-align: center;
    padding: 11px 8px 8px;
    margin-left: 1px;
  }
  .c-lpTemplateSideNav__list a::before {
    display: block;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1241px) {
  .c-lpTemplateSideNav__list.-login a {
    height: 124px;
  }
}
.c-lpTemplateSideNav__list.-login a::before {
  content: "";
  background: url("/assets/images/commons/icon-login.svg") no-repeat center center;
  background-size: contain;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-bottom: 8px;
}
@media screen and (min-width: 1241px) {
  .c-lpTemplateSideNav__list.-login a::before {
    margin-left: -2px;
  }
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateSideNav__list.-login a::before {
    display: block;
    margin: 0 auto 7px;
  }
}
@media screen and (min-width: 1241px) {
  .c-lpTemplateSideNav__list.-signin a {
    height: 172px;
  }
}
.c-lpTemplateSideNav__list.-signin a::before {
  content: "";
  background: url("/assets/images/commons/icon-signin.svg") no-repeat center center;
  background-size: contain;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-bottom: 8px;
}
@media screen and (min-width: 1241px) {
  .c-lpTemplateSideNav__list.-signin a::before {
    margin-left: -2px;
  }
}
@media screen and (max-width: 1240px) {
  .c-lpTemplateSideNav__list.-signin a::before {
    display: block;
    margin: 0 auto 7px;
  }
}

/*
---
name: LpTemplateStep
category: Components
---
*/
@media screen and (max-width: 864px) {
  .c-lpTemplateStep {
    padding-left: 25px;
  }
  .c-lpTemplateStep.-step2, .c-lpTemplateStep.-step4 {
    padding-right: 25px;
    padding-left: 0;
  }
  .c-lpTemplateStep.-step2 .c-lpTemplateStep__wrapper:after, .c-lpTemplateStep.-step4 .c-lpTemplateStep__wrapper:after {
    border-radius: 0 70px 70px 0;
    transform: translateX(-100%);
  }
  .c-lpTemplateStep.-step2 .c-lpTemplateStep__body, .c-lpTemplateStep.-step4 .c-lpTemplateStep__body {
    transform: translateX(-20px);
  }
}
.c-lpTemplateStep.-restaurant .c-lpTemplateStep__wrapper:after {
  background: #fff9f0;
}
.c-lpTemplateStep.-restaurant .c-lpTemplateStep__title {
  color: #4d2b04;
}
.c-lpTemplateStep.-restaurant .c-lpTemplateStep__title span {
  background: #65b1e8;
}
.c-lpTemplateStep.-yellow .c-lpTemplateStep__wrapper:after {
  background: #FCFAE5;
}
.c-lpTemplateStep.-roomindicator .c-lpTemplateStep__wrapper::after {
  background: #F7FFF0;
}
.c-lpTemplateStep.-roomindicator .c-lpTemplateStep__title {
  color: #0C6735;
}
.c-lpTemplateStep__wrapper {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 38px 0 37px;
  z-index: 1;
}
.c-lpTemplateStep__wrapper::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: calc(50% - 50vw);
  bottom: 0;
  left: 210px;
  background: #f0faff;
  border-radius: 100px 0 0 100px;
  z-index: -1;
  opacity: 0;
  transform: translateX(100%);
}
@media screen and (max-width: 864px) {
  .c-lpTemplateStep__wrapper::after {
    border-radius: 70px 0 0 70px;
    right: 0;
    left: 0;
  }
}
@media screen and (max-width: 864px) {
  .c-lpTemplateStep__wrapper {
    flex-wrap: wrap;
    padding: 45px 35px;
    margin: 0 -25px;
  }
}
.c-lpTemplateStep__thumbnail {
  flex-shrink: 0;
  width: 350px;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.16);
  margin-right: 60px;
  overflow: hidden;
  opacity: 0;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateStep__thumbnail {
    width: 100%;
    margin-right: 0;
  }
}
.c-lpTemplateStep__thumbnail img {
  width: 100%;
  transform: scale(1.05);
}
.c-lpTemplateStep__body {
  opacity: 0;
  transform: translateX(10px);
}
.c-lpTemplateStep__title {
  font-size: 20px;
  color: #082853;
  font-weight: 700;
}
@media screen and (max-width: 864px) {
  .c-lpTemplateStep__title {
    margin-top: 24px;
  }
}
.c-lpTemplateStep__title span {
  border-radius: 4px;
  margin-right: 8px;
  font-size: 14px;
  padding: 4px 12px;
  color: white;
  background: #ffd700;
}
.c-lpTemplateStep p {
  letter-spacing: 0.02em;
  line-height: 1.7334;
  margin: 18px 0 -2px;
}
.c-lpTemplateStep.is-visible .c-lpTemplateStep__wrapper:after {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  opacity: 1;
  transform: translateX(0) !important;
}
.c-lpTemplateStep.is-visible .c-lpTemplateStep__thumbnail {
  transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
  opacity: 1;
}
.c-lpTemplateStep.is-visible .c-lpTemplateStep__thumbnail img {
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
  transform: scale(1);
}
.c-lpTemplateStep.is-visible .c-lpTemplateStep__body {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  opacity: 1;
  transform: translateX(0);
}

@media screen and (max-width: 864px) {
  .c-lpTemplateStep__title {
    display: flex;
    align-items: baseline;
  }

  .c-lpTemplateStep__title span {
    width: 100px;
    text-align: center;
  }

  .c-lpTemplateStep__title em {
    display: block;
    width: calc(100% - 110px);
    margin-left: auto;
  }
}
/*
---
name: Commons
category: Components
---
*/
@media screen and (max-width: 864px) {
  .c-lpTemplateProblem__circle__wrapper {
    padding: 30px 25px;
  }
}

a.c-lpTemplateInfoPanel:hover {
  text-decoration: none;
}

/*
---
name: Home
category: Project
---

*/
body.home {
  overflow: auto;
}

@media screen and (max-width: 864px) {
  body.home.nav-open {
    overflow: hidden;
  }
}
.p-home {
  width: 100%;
}
.p-home__header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: absolute;
  z-index: 20;
  padding: 20px 20px 20px;
}
@media screen and (max-width: 864px) {
  .p-home__header {
    height: 60px;
    position: inherit;
    padding: 0 0 0 12px;
    position: fixed;
    background: #ffffff;
  }
}
.p-home__header > nav {
  margin-top: 8px;
}
.p-home__header > nav > ul {
  display: flex;
}
.p-home__header > nav > ul li {
  margin-left: 16px;
}
@media screen and (max-width: 864px) {
  .p-home__header > nav > ul {
    display: none;
  }
}
.p-home .c-mobileHomeMenu {
  display: none;
}
@media screen and (max-width: 864px) {
  .p-home .c-mobileHomeMenu {
    display: block;
  }
}
.p-home__siteId {
  width: 194px;
}
.p-home__siteId .-logo {
  width: 100%;
}
@media screen and (max-width: 864px) {
  .p-home__siteId .-logo {
    padding-top: 7px;
  }
}
.p-home__siteId .-servicesite {
  margin-top: 6px;
  background-color: #0557aa;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 17px;
  border-radius: 1000px;
}
.p-home__siteId .-servicesite img {
  width: 70px;
}
@media screen and (max-width: 864px) {
  .p-home__siteId .-servicesite {
    min-width: 80px;
    height: 17px;
    padding: 6px 12px;
    margin-left: 10px;
  }
}
@media screen and (max-width: 864px) {
  .p-home__siteId a {
    display: flex;
    align-items: center;
  }
}
.p-home__content {
  display: flex;
}
@media screen and (max-width: 864px) {
  .p-home__content {
    flex-wrap: wrap;
    padding-top: 60px;
  }
}
.p-home__content__title {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 90%;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.48;
  text-align: center;
  color: #ffffff;
  margin: 18.85% auto 0;
  z-index: 2;
}
@media screen and (max-width: 864px) {
  .p-home__content__title {
    display: none;
  }
}
.p-home__content__system {
  transition: background-color 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  width: 50%;
}
.p-home__content__system:hover {
  text-decoration: none;
}
@media screen and (max-width: 864px) {
  .p-home__content__system {
    width: 100%;
  }
}
.p-home__content__system.-hotel {
  background: #082853;
}
.p-home__content__system.-restaurant {
  background: #f08b00;
}
.p-home__content__system__thumbnail {
  position: relative;
  background: black;
}
.p-home__content__system__thumbnail img {
  transition: opacity 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  opacity: 0.7;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 864px) {
  .p-home__content__system__thumbnail img {
    height: 200px;
    overflow: hidden;
    opacity: 1;
  }
}
.p-home__content__system__body {
  padding: 32px 98px 32px 50px;
  display: flex;
  align-items: center;
  color: #ffffff;
  position: relative;
  min-height: 186px;
}
@media screen and (max-width: 864px) {
  .p-home__content__system__body {
    padding: 20px 64px 27px 25px;
  }
}
.p-home__content__system__body:hover {
  text-decoration: none;
}
.p-home__content__system__body::after {
  content: "";
  display: block;
  position: absolute;
  background: url("/assets/images/commons/icon-arrow-circle.svg") no-repeat left top;
  background-size: contain;
  width: 30px;
  height: 30px;
  right: 32px;
  top: calc(50% - 16px);
}
@media screen and (max-width: 864px) {
  .p-home__content__system__body::after {
    right: 16px;
  }
}
.p-home__content__system__body > img {
  margin-right: 34px;
}
@media screen and (max-width: 864px) {
  .p-home__content__system__body > img {
    display: none;
  }
}
.p-home__content__system h2 {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
  margin: -4px 0 12px;
}
.p-home__content__system h2 img {
  display: none;
}
@media screen and (max-width: 864px) {
  .p-home__content__system h2 {
    font-size: 1.2666666667rem;
    line-height: 1.474;
    display: flex;
    align-items: center;
    padding-left: 0.0666666667rem;
    margin: 0 0 1.0666666667rem;
  }
  .p-home__content__system h2 img {
    display: block;
  }
  .p-home__content__system h2 span {
    margin-left: 22px;
  }
}
.p-home__content__system p {
  font-size: 0.9333333333rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 864px) {
  .p-home__content__system p {
    font-size: 1rem;
    line-height: 1.734;
  }
}
.p-home__footer {
  font-size: 0.8rem;
  padding: 32px 16px 0;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
  display: flex;
}
@media screen and (max-width: 864px) {
  .p-home__footer {
    padding-bottom: 30px;
  }
}
.p-home__footer__main {
  margin-bottom: 16px;
  display: flex;
}
@media screen and (max-width: 864px) {
  .p-home__footer__main {
    flex-wrap: wrap;
  }
  .p-home__footer__main address {
    margin-top: 10px;
  }
}
.p-home__footer__main > div {
  display: flex;
  margin-right: 16px;
  margin-bottom: 24px;
}
@media screen and (max-width: 864px) {
  .p-home__footer__main > div {
    display: block;
  }
}
.p-home__footer__main > div::after {
  content: "";
  width: 1px;
  height: 60%;
  top: 5px;
  position: relative;
  background: #e2e9ef;
  margin-left: 16px;
}
@media screen and (max-width: 864px) {
  .p-home__footer__main > div::after {
    display: none;
  }
}
.p-home__footer__main > div > a {
  text-decoration: underline;
  margin-right: 16px;
}
@media screen and (max-width: 864px) {
  .p-home__footer__main > nav {
    width: 100%;
    flex-wrap: wrap;
  }
}
.p-home__footer__main > nav > ul {
  display: flex;
}
@media screen and (max-width: 864px) {
  .p-home__footer__main > nav > ul {
    justify-content: flex-end;
  }
}
.p-home__footer__main > nav > ul li {
  margin-right: 16px;
}
.p-home__footer__main > nav > ul li > a {
  text-decoration: underline;
}
.p-home__footer__copyright {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 864px) {
  .p-home__footer__copyright {
    margin: 0 auto;
    margin-top: 30px;
  }
}

@media (hover) {
  .p-home__content__system.-hotel:hover {
    background-color: #1897db;
  }
  .p-home__content__system.-hotel:hover .p-home__content__system__thumbnail img {
    opacity: 1;
  }
}
@media (hover) {
  .p-home__content__system.-restaurant:hover {
    background-color: #ffd700;
  }
  .p-home__content__system.-restaurant:hover .p-home__content__system__thumbnail img {
    opacity: 1;
  }
}

/* restaurant-register */
body.restaurant-register .p-lpTemplate__howTo,
body.restaurant-takeout .p-lpTemplate__howTo {
  margin-top: 110px;
}
body.restaurant-register .p-lpTemplate__function,
body.restaurant-takeout .p-lpTemplate__function {
  margin-top: 100px;
}

@media screen and (max-width: 864px) {
  body.restaurant-register .p-lpTemplate__howTo,
body.restaurant-takeout .p-lpTemplate__howTo {
    margin-top: 7px;
  }
  body.restaurant-register .p-lpTemplate__function,
body.restaurant-takeout .p-lpTemplate__function {
    margin-top: 60px;
  }
}
.p-lpTemplate__faq__head > h2, .p-lpTemplate__gallery__head > h2, .p-lpTemplate__system__head > h2, .p-lpTemplate__effects__head > h2, .p-lpTemplate__function__head > h2, .p-lpTemplate__howTo__head > h2, .p-lpTemplate__about__head > h2, .p-lpTemplate__problems__head span > h2, .p-lpTemplate__info__head > h2 {
  font-size: 40px;
  font-weight: 700;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__faq__head > h2, .p-lpTemplate__gallery__head > h2, .p-lpTemplate__system__head > h2, .p-lpTemplate__effects__head > h2, .p-lpTemplate__function__head > h2, .p-lpTemplate__howTo__head > h2, .p-lpTemplate__about__head > h2, .p-lpTemplate__problems__head span > h2, .p-lpTemplate__info__head > h2 {
    font-size: 30px;
  }
}
.p-lpTemplate__faq__head > h2::before, .p-lpTemplate__gallery__head > h2::before, .p-lpTemplate__system__head > h2::before, .p-lpTemplate__effects__head > h2::before, .p-lpTemplate__function__head > h2::before, .p-lpTemplate__howTo__head > h2::before, .p-lpTemplate__about__head > h2::before, .p-lpTemplate__problems__head span > h2::before, .p-lpTemplate__info__head > h2::before {
  content: "";
  background: url("/assets/images/commons/icon-title.svg") no-repeat center center;
  background-size: contain;
  display: block;
  width: 16px;
  height: 15px;
  margin-bottom: 12px;
}
.p-lpTemplate__faq__head > p, .p-lpTemplate__gallery__head > p, .p-lpTemplate__system__head > p, .p-lpTemplate__effects__head > p, .p-lpTemplate__function__head > p, .p-lpTemplate__howTo__head > p, .p-lpTemplate__about__head > p, .p-lpTemplate__problems__head span > p, .p-lpTemplate__info__head > p {
  font-size: 20px;
  font-weight: 700;
  color: #96a2b5;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__faq__head > p, .p-lpTemplate__gallery__head > p, .p-lpTemplate__system__head > p, .p-lpTemplate__effects__head > p, .p-lpTemplate__function__head > p, .p-lpTemplate__howTo__head > p, .p-lpTemplate__about__head > p, .p-lpTemplate__problems__head span > p, .p-lpTemplate__info__head > p {
    font-size: 16px;
  }
}

.p-lpTemplate {
  overflow: hidden;
}
.p-lpTemplate__container {
  max-width: 1140px;
  box-sizing: border-box;
  padding: 0 50px;
  margin: 0 auto;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__container {
    padding: 0 25px;
  }
}
.p-lpTemplate.-restaurant .p-lpTemplate__hero__balloon {
  background: #f08b00;
}
.p-lpTemplate.-restaurant .p-lpTemplate__hero__balloon::before {
  border-top-color: #f08b00;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate.-restaurant .p-lpTemplate__hero__head {
    color: #4d2b04;
  }
}
.p-lpTemplate.-restaurant .p-lpTemplate__info::after {
  background: #fff9f0;
}
.p-lpTemplate.-restaurant .p-lpTemplate__problems::after {
  background: #fff9f0;
}
.p-lpTemplate.-restaurant .p-lpTemplate__problems__balloon {
  background: #f08b00;
}
.p-lpTemplate.-restaurant .p-lpTemplate__problems__balloon::after {
  border-bottom: 14px solid #f08b00;
}
.p-lpTemplate.-restaurant .p-lpTemplate__about__wrapper {
  background: #fff9f0;
}
.p-lpTemplate.-restaurant .p-lpTemplate__about__features__title {
  color: #4d2b04;
}
.p-lpTemplate.-restaurant .p-lpTemplate__about__features__title span {
  color: #ffd700;
}
.p-lpTemplate.-restaurant .p-lpTemplate__conversion {
  background: #fff9f0;
}
.p-lpTemplate.-restaurant .p-lpTemplate__conversionPanel {
  background: #f08b00;
}
@media (hover) {
  .p-lpTemplate.-restaurant .p-lpTemplate__conversionPanel:hover {
    background: #ffd700;
  }
}
.p-lpTemplate.-restaurant .p-lpTemplate__conversionPanel__title .en {
  color: #ffd700;
}
.p-lpTemplate.-restaurant .p-lpTemplate__mobileConversion {
  background: #f08b00;
}
.p-lpTemplate.-restaurant .p-lpTemplate__mobileConversion__title > p {
  color: #ffd700;
}
.p-lpTemplate.-restaurant .p-lpTemplate__effects::after {
  background: #fff9f0;
}
.p-lpTemplate.-restaurant .p-lpTemplate__effects__head::after {
  background: url("/assets/images/restaurant/home/img-phone01.png") no-repeat center center;
  background-size: contain;
}
.p-lpTemplate.-restaurant .p-lpTemplate__effects__beforeAfter > h3 {
  color: #4d2b04;
}
.p-lpTemplate.-restaurant .p-lpTemplate__effects__beforeAfter > .table .head dt {
  background: #f08b00;
}
.p-lpTemplate.-restaurant .p-lpTemplate__effects__beforeAfter > .table .head dt:last-child {
  background: #ffd700;
}
.p-lpTemplate.-restaurant .p-lpTemplate__effects__beforeAfter > .table dt > span::before {
  background: #fff url("/assets/images/restaurant/home/icon-arrow-before-after.svg") no-repeat center center;
  background-size: contain;
}
.p-lpTemplate.-restaurant .p-lpTemplate__effects__beforeAfter__mobileTable li > dl + dl > dt {
  background: #ffd700;
}
.p-lpTemplate.-restaurant .p-lpTemplate__effects__beforeAfter__mobileTable dl dt {
  background: #f08b00;
}
.p-lpTemplate.-restaurant .p-lpTemplate__system::before, .p-lpTemplate.-restaurant .p-lpTemplate__system::after {
  background: #fff9f0;
}
.p-lpTemplate.-restaurant .p-lpTemplate__case__head::after {
  content: "";
  background: url("/assets/images/restaurant/home/img-phone02.png") no-repeat center center;
  background-size: contain;
}
.p-lpTemplate.-restaurant .p-lpTemplate__gallery__body > ul li:after {
  content: "";
  background: #f08b00 url("/assets/images/commons/icon-zoom.svg") no-repeat center center;
}
.p-lpTemplate.-restaurant .p-lpTemplate__services {
  background: #f08b00;
}
.p-lpTemplate.-restaurant .p-lpTemplate__services__head > p {
  color: #ffc77b;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__hero__copy {
  top: 25.93vw;
  left: 7.39%;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate.-roomindicator .p-lpTemplate__hero__copy {
    top: 0;
    left: 0;
    width: auto !important;
    padding: 0 15px;
    margin-top: 39px;
  }
}
.p-lpTemplate.-roomindicator .p-lpTemplate__hero__head > span {
  line-height: 1.74;
  margin-bottom: 5px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate.-roomindicator .p-lpTemplate__hero__head > span {
    letter-spacing: -0.03em;
    line-height: 1.58;
    margin-bottom: 3px;
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate.-roomindicator .p-lpTemplate__hero__head {
    color: #082853;
  }
}
.p-lpTemplate.-roomindicator .p-lpTemplate__problems::after {
  background: #F7FFF0;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__problems__balloon {
  background: #8DC31F;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__problems__balloon::after {
  border-bottom: 14px solid #8DC31F;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__about__wrapper {
  background: #F7FFF0;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__about__body {
  align-items: center;
  margin-bottom: 55px;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__about__body > img {
  display: block;
  width: 42.858%;
  border-radius: 20px;
  box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.16);
  margin-left: 70px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate.-roomindicator .p-lpTemplate__about__body {
    flex-direction: column;
  }
  .p-lpTemplate.-roomindicator .p-lpTemplate__about__body > img {
    width: 70.77%;
    border-radius: 6%;
    margin-top: 30px;
    margin-left: auto;
  }
}
.p-lpTemplate.-roomindicator .p-lpTemplate__about__features__title {
  color: #0C6735;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__about__features__title span {
  color: #8DC31F;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__conversion {
  background: #F7FFF0;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__conversionPanel {
  background: #0C6735;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__conversionPanel:hover {
  background: #8DC31F;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__conversionPanel__title > p {
  color: #FFD800;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__conversionPanel.-trial .p-lpTemplate__conversionPanel__title > p {
  color: #8DC31F;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__mobileConversion {
  background: #0C6735;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__mobileConversion__title > p {
  color: #8DC31F;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__effects::after {
  background: #F7FFF0;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__effects__head::after {
  background: url("/assets/images/hotel/roomindicator/img-phone01.png") no-repeat center center;
  background-size: contain;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__effects__beforeAfter > h3 {
  color: #8DC31F;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__effects__beforeAfter > .table .head dt {
  background: #0C6735;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__effects__beforeAfter > .table .head dt:last-child {
  background: #8DC31F;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__effects__beforeAfter > .table dt > span::before {
  background: #fff url("/assets/images/hotel/home/icon-arrow-before-after.svg") no-repeat center center;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__effects__beforeAfter__mobileTable li > dl + dl > dt {
  background: #8DC31F;
}
.p-lpTemplate.-roomindicator .p-lpTemplate__effects__beforeAfter__mobileTable dl dt {
  background: #0C6735;
}
.p-lpTemplate__conversion {
  width: 100%;
  background: #f0faff;
  padding: 60px 0;
  margin-top: 110px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__conversion {
    padding: 30px 0;
    margin-top: 70px;
  }
}
.p-lpTemplate__conversion.-nobg {
  background: none !important;
  padding: 0;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__conversion.-nobg {
    margin-top: 80px;
  }
}
.p-lpTemplate__conversion__wrapper {
  max-width: 1230px;
  padding: 0 25px;
  margin: 0 auto;
}
.p-lpTemplate__conversionPanel {
  transition: background 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  position: relative;
  display: flex;
  width: 100%;
  color: #ffffff;
  background: #082853;
  border-radius: 50px;
  overflow: hidden;
  margin: 0 auto;
}
.p-lpTemplate__conversionPanel:hover {
  text-decoration: none;
}
@media (hover) {
  .p-lpTemplate__conversionPanel:hover {
    background: #1897db;
  }
  .p-lpTemplate__conversionPanel:hover .p-lpTemplate__conversionPanel__thumbnail img {
    transform: scale(1.1);
  }
  .p-lpTemplate__conversionPanel:hover .p-lpTemplate__conversionPanel__title .en {
    color: #fff;
  }
  .p-lpTemplate__conversionPanel:hover .-arrow:after {
    -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
            animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__conversionPanel {
    flex-wrap: wrap;
    border-radius: 30px;
  }
}
.p-lpTemplate__conversionPanel__thumbnail {
  flex-shrink: 0;
  width: 41.526%;
  min-height: 345px;
  overflow: hidden;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__conversionPanel__thumbnail {
    width: 100%;
    min-height: inherit;
  }
}
.p-lpTemplate__conversionPanel__thumbnail img {
  transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  width: 100%;
}
.p-lpTemplate__conversionPanel__thumbnail.-cover img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-lpTemplate__conversionPanel__thumbnail.-cover + .p-lpTemplate__conversionPanel__body {
  padding: 78px 96px 90px 50px;
}
.simulation .p-lpTemplate__conversionPanel__thumbnail.-cover + .p-lpTemplate__conversionPanel__body {
  padding: 72px 96px 71px 50px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__conversionPanel__thumbnail.-cover img {
    position: relative;
    max-width: 100%;
  }
  .p-lpTemplate__conversionPanel__thumbnail.-cover + .p-lpTemplate__conversionPanel__body {
    padding: 35px 59px 40px 20px;
  }
  .simulation .p-lpTemplate__conversionPanel__thumbnail.-cover + .p-lpTemplate__conversionPanel__body {
    padding: 35px 59px 41px 20px;
  }
}
.p-lpTemplate__conversionPanel.-trial .p-lpTemplate__conversionPanel__thumbnail {
  align-self: flex-end;
  width: 50%;
}
.p-lpTemplate__conversionPanel.-trial .p-lpTemplate__conversionPanel__title {
  padding-right: 30.505%;
}
.p-lpTemplate__conversionPanel.-trial .p-lpTemplate__conversionPanel__title:before {
  display: block;
  content: "";
  width: 17px;
  height: 15px;
  background: url(/assets/images/commons/icon-title.svg) no-repeat center;
  background-size: contain;
  margin-bottom: 6px;
}
.p-lpTemplate__conversionPanel.-trial .p-lpTemplate__conversionPanel__title span {
  display: inline-block;
}
.p-lpTemplate__conversionPanel.-trial .-arrow {
  transform: translate(0, -25px);
}
.p-lpTemplate__conversionPanel.-trial .-arrow:before {
  width: 50px;
  height: 50px;
}
.p-lpTemplate__conversionPanel.-trial .-arrow:after {
  top: 16px;
  right: 16px;
  width: 18px;
  height: 18px;
}
.p-lpTemplate__conversionPanel.-plan .p-lpTemplate__conversionPanel__title {
  padding-right: 23.395%;
}
.p-lpTemplate__conversionPanel.-plan .p-lpTemplate__conversionPanel__badge {
  right: -32px;
}
.p-lpTemplate__conversionPanel__img {
  position: relative;
  width: 100%;
  height: 100%;
}
.p-lpTemplate__conversionPanel__body {
  position: relative;
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: 50px 11.102% 50px 23px;
}
.p-lpTemplate__conversionPanel__body .text {
  position: relative;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.667;
  padding-top: 19px;
  margin: 20px 0 -2px;
}
.p-lpTemplate__conversionPanel__body .text:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 27px;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__conversionPanel__body {
    padding: 24px 48px 24px 20px;
  }
  .p-lpTemplate__conversionPanel__body:before {
    content: "";
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    right: 18px;
    top: calc(50% - 15px);
    background: url("/assets/images/commons/icon-arrow-circle-white.svg") no-repeat center center;
    background-size: contain;
  }
  .p-lpTemplate__conversionPanel__body .text:before {
    width: 20px;
    background: rgba(255, 255, 255, 0.5);
  }
}
.p-lpTemplate__conversionPanel__title {
  position: relative;
  width: 100%;
}
.p-lpTemplate__conversionPanel__title > h2 {
  font-size: 39px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4616;
}
.simulation .p-lpTemplate__conversionPanel__title > h2 {
  line-height: 1.2821;
  padding: 3px 0 4px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__conversionPanel__title > h2 {
    font-size: 28px;
    letter-spacing: 0.04em;
    line-height: 1.1786;
    padding: 4px 0;
  }
  .simulation .p-lpTemplate__conversionPanel__title > h2 {
    line-height: 1.1786;
    padding: 4px 0;
  }
}
.p-lpTemplate__conversionPanel__title .en {
  transition: color 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  font-size: 20px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
  color: #1897db;
  margin-top: 5px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__conversionPanel__title .en {
    font-size: 17px;
    line-height: 1.412;
    margin-top: 2px;
  }
}
.p-lpTemplate__conversionPanel__lead {
  max-width: 360px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.471;
  margin-top: 30px;
}
.p-lpTemplate__conversionPanel__text {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.734;
  margin: 12px 0 -2px;
}
.p-lpTemplate__conversionPanel__badge {
  position: absolute;
  top: -24px;
  right: 3px;
  width: 30.505%;
}
.p-lpTemplate__conversionPanel .-arrow {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translate(0, -18px);
}
.p-lpTemplate__conversionPanel .-arrow:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  width: 36px;
  height: 36px;
  background-color: #fff;
  border-radius: 50%;
}
.p-lpTemplate__conversionPanel .-arrow:after {
  position: absolute;
  display: block;
  content: "";
  top: 11px;
  right: 12px;
  width: 13px;
  height: 13px;
  background: url(/assets/images/commons/icon_arrow-hotel.svg) no-repeat center center;
  background-size: contain;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__conversionPanel .-arrow {
    display: none;
  }
}
.p-lpTemplate__mobileConversion {
  position: relative;
  width: 100%;
  color: #ffffff;
  background: #082853;
  padding: 39px 0 50px;
  margin-top: 92px;
  overflow: hidden;
}
.p-lpTemplate__mobileConversion__thumbnail {
  width: 128.8%;
}
.p-lpTemplate__mobileConversion__thumbnail img {
  position: relative;
  width: 100%;
  max-width: inherit;
  left: -20.71%;
}
.p-lpTemplate__mobileConversion__badge {
  position: absolute;
  top: 30.75%;
  right: 22px;
  width: 29.34%;
}
.p-lpTemplate__mobileConversion__badge img {
  width: 100%;
  max-width: inherit;
}
.p-lpTemplate__mobileConversion__title {
  width: 100%;
  position: relative;
}
.p-lpTemplate__mobileConversion__title > h2 {
  font-size: 28px;
  font-weight: 700;
}
.p-lpTemplate__mobileConversion__title > h2::before {
  content: "";
  background: url("/assets/images/commons/icon-title.svg") no-repeat center center;
  background-size: contain;
  display: block;
  width: 17px;
  height: 15px;
  margin: 0 auto;
  margin-bottom: 12px;
}
.p-lpTemplate__mobileConversion__title > p {
  font-size: 20px;
  font-weight: 700;
  color: #1897db;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__mobileConversion__title > p {
    font-size: 14px;
  }
}
.p-lpTemplate__mobileConversion__body {
  text-align: center;
  padding: 0 25px;
  margin-top: -5px;
}
.p-lpTemplate__mobileConversion__body > p {
  display: table;
  margin: 20px auto 0;
}
.p-lpTemplate__mobileConversion__body > p em {
  font-weight: 700;
}
.p-lpTemplate__effects__beforeAfter {
  border-radius: 12px;
  background: #fff;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
  padding: 50px 60px 60px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__effects__beforeAfter {
    padding: 30px 20px 35px;
  }
  .-roomindicator .p-lpTemplate__effects__beforeAfter {
    padding-right: 19px;
    padding-left: 19px;
    border: 1px solid #E2E9EF;
  }
}
.p-lpTemplate__effects__beforeAfter > h3 {
  font-size: 20px;
  color: #082853;
  font-weight: 700;
  text-align: center;
}
.p-lpTemplate__effects__beforeAfter > .table {
  margin-top: 24px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__effects__beforeAfter > .table {
    display: none;
  }
}
.p-lpTemplate__effects__beforeAfter > .table dl {
  display: flex;
}
.p-lpTemplate__effects__beforeAfter > .table .head dt {
  color: #fff;
  background: #082853;
  padding: 19px 12px;
  width: 50%;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
  border-radius: 5px 0 0 0;
}
.p-lpTemplate__effects__beforeAfter > .table .head dt:last-child {
  background: #1897db;
  border-radius: 0 5px 0 0;
}
.p-lpTemplate__effects__beforeAfter > .table .row dt,
.p-lpTemplate__effects__beforeAfter > .table .row dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  min-height: 65px;
  padding: 12px 25px;
  border-right: 1px solid #e2e9ef;
  border-bottom: 1px solid #e2e9ef;
  font-size: 1rem;
  letter-spacing: 0.02em;
  line-height: 1.67;
}
.p-lpTemplate__effects__beforeAfter > .table .row dt:first-child,
.p-lpTemplate__effects__beforeAfter > .table .row dd:first-child {
  position: relative;
}
.p-lpTemplate__effects__beforeAfter > .table .row dt:first-child:before,
.p-lpTemplate__effects__beforeAfter > .table .row dd:first-child:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  border-left: 1px solid #e2e9ef;
}
.p-lpTemplate__effects__beforeAfter > .table .row dd {
  padding-right: 17px;
  padding-left: 26px;
}
.p-lpTemplate__effects__beforeAfter > .table .row dd:nth-child(even) {
  font-weight: bold;
}
.p-lpTemplate__effects__beforeAfter > .table .row dt > span {
  position: relative;
  display: block;
}
.p-lpTemplate__effects__beforeAfter > .table .row dt > span::before {
  content: "";
  width: 24px;
  height: 24px;
  display: block;
  position: absolute;
  right: -36px;
  top: calc(50% - 12px);
  background: #fff url("/assets/images/hotel/home/icon-arrow-before-after.svg") no-repeat center center;
}
.p-lpTemplate__effects__beforeAfter__mobileTable {
  display: none;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__effects__beforeAfter__mobileTable {
    display: block;
    margin-top: 20px;
  }
}
.p-lpTemplate__effects__beforeAfter__mobileTable li {
  margin-top: 10px;
}
.p-lpTemplate__effects__beforeAfter__mobileTable li > dl + dl > dt {
  background: #1897db;
}
.p-lpTemplate__effects__beforeAfter__mobileTable dl {
  display: flex;
  width: 100%;
  position: relative;
}
.p-lpTemplate__effects__beforeAfter__mobileTable dl:first-child::after {
  content: "";
  width: 16px;
  height: 16px;
  display: block;
  position: absolute;
  right: calc(50% - 8px);
  bottom: -8px;
  z-index: 1;
  transform: rotate(90deg);
  background: #fff url("/assets/images/commons/icon-arrow-circle-warning.svg") no-repeat center center;
  background-size: contain;
}
.p-lpTemplate__effects__beforeAfter__mobileTable dl:first-child dd {
  border-top: 1px solid #e2e9ef;
}
.p-lpTemplate__effects__beforeAfter__mobileTable dl dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  width: 10%;
  width: 6.32%;
  padding: 20px 4px;
  color: #ffffff;
  background: #082853;
}
.p-lpTemplate__effects__beforeAfter__mobileTable dl dt span {
  display: block;
  text-align: center;
}
.p-lpTemplate__effects__beforeAfter__mobileTable dl dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  padding: 8px;
  border-right: 1px solid #e2e9ef;
  border-bottom: 1px solid #e2e9ef;
}
.p-lpTemplate__effects__beforeAfter__mobileTable dl dd.-after {
  font-weight: bold;
}

/* IE11 */
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
.p-lpTemplate__conversionPanel__thumbnail {
    flex-wrap: wrap;
  }

  *::-ms-backdrop,
.p-lpTemplate__conversionPanel__thumbnail img {
    width: 490px;
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate.-restaurant .p-lpTemplate__hero__head {
    color: #4d2b04 !important;
  }
}
@media screen and (max-width: 864px) and (max-width: 320px) {
  .p-lpTemplate.-restaurant .p-lpTemplate__hero__head {
    font-size: 32px;
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate.-hotel .p-lpTemplate__hero__head {
    color: #082853 !important;
  }

  .p-lpTemplate.-hotel .c-lpTemplateHeader__logo {
    color: #082853 !important;
  }
  .p-lpTemplate.-hotel .c-lpTemplateHeader__logo svg {
    fill: #082853;
  }
}
.-restaurant .p-lpTemplate__problems__head,
.-restaurant .p-lpTemplate__gallery__head,
.-restaurant .p-lpTemplate__system__head,
.-restaurant .p-lpTemplate__effects__head,
.-restaurant .p-lpTemplate__function__head,
.-restaurant .p-lpTemplate__howTo__head,
.-restaurant .p-lpTemplate__about__head,
.-restaurant .p-lpTemplate__case__head,
.-restaurant .p-lpTemplate__info__head {
  color: #f08b00;
}
.-restaurant .p-lpTemplate__problems__head span h2,
.-restaurant .p-lpTemplate__gallery__head span h2,
.-restaurant .p-lpTemplate__system__head span h2,
.-restaurant .p-lpTemplate__effects__head span h2,
.-restaurant .p-lpTemplate__function__head span h2,
.-restaurant .p-lpTemplate__howTo__head span h2,
.-restaurant .p-lpTemplate__about__head span h2,
.-restaurant .p-lpTemplate__case__head span h2,
.-restaurant .p-lpTemplate__info__head span h2 {
  color: #f08b00;
}
.-restaurant .p-lpTemplate__problems__head > h2::before,
.-restaurant .p-lpTemplate__gallery__head > h2::before,
.-restaurant .p-lpTemplate__system__head > h2::before,
.-restaurant .p-lpTemplate__effects__head > h2::before,
.-restaurant .p-lpTemplate__function__head > h2::before,
.-restaurant .p-lpTemplate__howTo__head > h2::before,
.-restaurant .p-lpTemplate__about__head > h2::before,
.-restaurant .p-lpTemplate__case__head > h2::before,
.-restaurant .p-lpTemplate__info__head > h2::before {
  background: url(/assets/images/commons/icon-title-restaurant.svg) no-repeat center center;
  width: 17px;
}
.-restaurant .p-lpTemplate__problems__head .-brackets,
.-restaurant .p-lpTemplate__gallery__head .-brackets,
.-restaurant .p-lpTemplate__system__head .-brackets,
.-restaurant .p-lpTemplate__effects__head .-brackets,
.-restaurant .p-lpTemplate__function__head .-brackets,
.-restaurant .p-lpTemplate__howTo__head .-brackets,
.-restaurant .p-lpTemplate__about__head .-brackets,
.-restaurant .p-lpTemplate__case__head .-brackets,
.-restaurant .p-lpTemplate__info__head .-brackets {
  margin-left: -1.6rem;
}
.-restaurant .p-lpTemplate__problems__head > span h2::before {
  background: url(/assets/images/commons/icon-title-restaurant.svg) no-repeat center center;
  width: 17px;
}
.-restaurant .p-lpTemplate__mobileConversion__title > h2::before {
  background: url(/assets/images/commons/icon-title-restaurant.svg) no-repeat center center;
  width: 17px;
}

.-roomindicator .p-lpTemplate__problems__head,
.-roomindicator .p-lpTemplate__gallery__head,
.-roomindicator .p-lpTemplate__system__head,
.-roomindicator .p-lpTemplate__effects__head,
.-roomindicator .p-lpTemplate__function__head,
.-roomindicator .p-lpTemplate__howTo__head,
.-roomindicator .p-lpTemplate__about__head,
.-roomindicator .p-lpTemplate__case__head,
.-roomindicator .p-lpTemplate__info__head {
  color: #0C6735;
}
.-roomindicator .p-lpTemplate__problems__head span h2,
.-roomindicator .p-lpTemplate__gallery__head span h2,
.-roomindicator .p-lpTemplate__system__head span h2,
.-roomindicator .p-lpTemplate__effects__head span h2,
.-roomindicator .p-lpTemplate__function__head span h2,
.-roomindicator .p-lpTemplate__howTo__head span h2,
.-roomindicator .p-lpTemplate__about__head span h2,
.-roomindicator .p-lpTemplate__case__head span h2,
.-roomindicator .p-lpTemplate__info__head span h2 {
  color: #0C6735;
}
.-roomindicator .p-lpTemplate__problems__head > h2::before,
.-roomindicator .p-lpTemplate__gallery__head > h2::before,
.-roomindicator .p-lpTemplate__system__head > h2::before,
.-roomindicator .p-lpTemplate__effects__head > h2::before,
.-roomindicator .p-lpTemplate__function__head > h2::before,
.-roomindicator .p-lpTemplate__howTo__head > h2::before,
.-roomindicator .p-lpTemplate__about__head > h2::before,
.-roomindicator .p-lpTemplate__case__head > h2::before,
.-roomindicator .p-lpTemplate__info__head > h2::before {
  background: url(/assets/images/commons/icon-title.svg) no-repeat center center;
  width: 17px;
}
.-roomindicator .p-lpTemplate__problems__head .-brackets,
.-roomindicator .p-lpTemplate__gallery__head .-brackets,
.-roomindicator .p-lpTemplate__system__head .-brackets,
.-roomindicator .p-lpTemplate__effects__head .-brackets,
.-roomindicator .p-lpTemplate__function__head .-brackets,
.-roomindicator .p-lpTemplate__howTo__head .-brackets,
.-roomindicator .p-lpTemplate__about__head .-brackets,
.-roomindicator .p-lpTemplate__case__head .-brackets,
.-roomindicator .p-lpTemplate__info__head .-brackets {
  margin-left: -1.6rem;
}
.-roomindicator .p-lpTemplate__problems__head > span h2::before {
  background: url(/assets/images/commons/icon-title.svg) no-repeat center center;
  width: 17px;
}
.-roomindicator .p-lpTemplate__mobileConversion__title > h2::before {
  background: url(/assets/images/commons/icon-title.svg) no-repeat center center;
  width: 17px;
}

.-restaurant .p-lpTemplate__effects__beforeAfter__mobileTable dl:first-child::after {
  background: #fff url(/assets/images/commons/icon-arrow-circle-restaurant.svg) no-repeat center center;
  background-size: contain;
  transform: rotate(0);
}

/* メインビジュアル */
.p-lpTemplate__hero {
  position: relative;
  overflow: hidden;
}
.p-lpTemplate__hero__thumbnails img {
  width: 100%;
  max-width: inherit;
}
.p-lpTemplate__hero__copy {
  position: absolute;
  top: 34.896%;
  left: 6.62%;
  cursor: pointer;
  z-index: 20;
}
.p-lpTemplate__hero__copy:after {
  position: relative;
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  background: url("/assets/images/hotel/home/icon-scroll-bottom-light.svg") no-repeat center center;
  background-size: contain;
  margin-top: 48px;
}
.p-lpTemplate__hero__copy.-dark:after {
  background: url("/assets/images/hotel/home/icon-scroll-bottom-dark.svg") no-repeat center center;
  background-size: contain;
}
.p-lpTemplate__hero__copy.-light:after {
  background: url("/assets/images/hotel/home/icon-scroll-bottom-light.svg") no-repeat center center;
  background-size: contain;
}
.p-lpTemplate__hero__balloon {
  background: #1897db;
  font-weight: 700;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.28);
  padding: 4px 16px;
  border-radius: 99em;
  display: inline-block;
  font-size: 16px;
  color: #ffffff;
  position: relative;
  left: -30px;
}
.p-lpTemplate__hero__balloon:before {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  border-top-width: 15px;
  border-bottom-width: 15px;
  border-left-width: 10px;
  margin-left: -10px;
  border-top-color: #0099ff;
  left: 10%;
  top: 32px;
}
.p-lpTemplate__hero__head {
  font-size: 64px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  text-shadow: 0px 6px 18px rgba(0, 0, 0, 0.5);
  margin-top: 24px;
}
.p-lpTemplate__hero__head.-light {
  color: #ffffff;
}
.p-lpTemplate__hero__head.-dark {
  color: #082853;
}
.p-lpTemplate__hero__head > span {
  font-size: 20px;
  display: block;
}
.p-lpTemplate__hero__sideNav {
  position: fixed;
  right: 0;
  top: 140px;
  z-index: 151;
}
.p-lpTemplate__hero + .p-lpTemplate__problems {
  margin-top: 0;
  padding-top: 180px;
}
.p-lpTemplate__hero + .p-lpTemplate__problems:after {
  top: 100px;
}

@media screen and (max-width: 1240px) {
  .p-lpTemplate__hero__sideNav {
    top: 0;
    right: 61px;
  }
  .p-lpTemplate__hero__sideNav > .c-lpTemplateSideNav {
    display: flex;
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__hero__copy {
    position: relative;
    top: 35%;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
    margin: -16px auto 0;
    z-index: 1;
  }
  .p-lpTemplate__hero__copy:after {
    display: none;
  }
}
@media screen and (max-width: 864px) and (max-width: 374px) {
  .p-lpTemplate__hero__copy {
    width: 90%;
    padding: 0;
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__hero__balloon {
    padding: 4px 12px;
    font-size: 16px;
    left: 0;
  }
  .p-lpTemplate__hero__balloon:before {
    top: 32px;
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__hero__head {
    font-size: 40px;
    line-height: 1.3;
    text-shadow: none;
  }
}
/* お知らせ */
.p-lpTemplate__info {
  position: relative;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__info {
    margin-top: 60px;
  }
}
.p-lpTemplate__info:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  width: 24.7%;
  height: 100%;
  background: #f0faff;
  border-radius: 0 0 0 150px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__info:after {
    width: 82.67%;
    left: 0;
    border-radius: 0 100px 100px 0;
  }
}
.p-lpTemplate__info__wrapper {
  position: relative;
  display: flex;
  padding: 48px 0;
  z-index: 1;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__info__wrapper {
    display: block;
    padding: 40px 0 60px;
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__info__head {
    margin-bottom: 30px;
  }
}
.p-lpTemplate__info__body {
  width: 72.22%;
  margin-left: auto;
}
.p-lpTemplate__info__body > .c-lpTemplateInfoPanel {
  margin-top: 24px;
}
.p-lpTemplate__info__body > .c-lpTemplateInfoPanel:first-child {
  margin-top: 0;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__info__body {
    width: auto;
    margin-left: 0;
  }
}

/* こんな悩みありませんか？ */
.p-lpTemplate__problems {
  position: relative;
  padding-top: 70px;
  margin-top: 115px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__problems {
    padding-top: 0;
    margin-top: 70px;
  }
}
.p-lpTemplate__problems:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 42.31%;
  height: 560px;
  background: #f0faff;
  border-radius: 0 150px 150px 0;
  z-index: -1;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__problems:after {
    display: none;
  }
}
.p-lpTemplate__problems__head {
  display: flex;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__problems__head {
    margin-bottom: 30px;
  }
}
.p-lpTemplate__problems__head span {
  display: inline-block;
  margin-left: auto;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__problems__head span {
    text-align: center;
    margin: 0 auto;
  }
  .p-lpTemplate__problems__head span > h2::before {
    margin: 0 auto;
  }
}
.p-lpTemplate__problems__body {
  position: relative;
  max-width: 1000px;
  box-sizing: border-box;
  padding-right: 20px;
  margin: 0 auto;
  z-index: 1;
}
.p-lpTemplate__problems__body > .c-lpTemplateProblem {
  margin-top: 92px;
}
.p-lpTemplate__problems__body > .c-lpTemplateProblem:first-child {
  margin-top: -20px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__problems__body > .c-lpTemplateProblem {
    margin-top: 25px;
  }
  .p-lpTemplate__problems__body > .c-lpTemplateProblem:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__problems__body {
    padding-right: 0;
  }
}
.p-lpTemplate__problems__foot {
  margin-top: 120px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__problems__foot {
    margin-top: 60px;
  }
}
.p-lpTemplate__problems__balloon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.45;
  color: #ffffff;
  border-radius: 12px;
  background: #1897db;
  padding: 25px 45px 25px 46px;
  margin: 0 auto;
  opacity: 0;
  transform: scale(0);
}
.p-lpTemplate__problems__balloon:before {
  flex-shrink: 0;
  content: "";
  width: 27px;
  height: 27px;
  display: block;
  margin-right: 10px;
  background: url("/assets/images/commons/icon-check-circle.svg") no-repeat center center;
  background-size: contain;
  opacity: 0;
}
.p-lpTemplate__problems__balloon:after {
  content: "";
  position: absolute;
  top: -26px;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  border: 12px solid transparent;
  border-bottom: 14px solid #1897db;
  margin: auto;
}
.p-lpTemplate__problems__balloon span {
  opacity: 0;
}
.p-lpTemplate__problems__balloon.is-visible {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition-property: opacity, transform;
  opacity: 1;
  transform: scale(1);
}
.p-lpTemplate__problems__balloon.is-visible:before {
  transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  opacity: 1;
}
.p-lpTemplate__problems__balloon.is-visible span {
  transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  opacity: 1;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__problems__balloon {
    align-items: flex-start;
    font-size: 16px;
    line-height: 1.5625;
    text-align: left;
    padding: 15px;
  }
  .p-lpTemplate__problems__balloon:before {
    width: 18px;
    height: 18px;
    margin: 2px 6px 0 0;
  }
}

/* 「轟」とは */
.p-lpTemplate__about {
  max-width: 1220px;
  padding: 0 25px;
  margin: 180px auto 0;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__about {
    padding: 0;
    margin-top: 90px;
  }
}
.p-lpTemplate__about__wrapper {
  background: #f0faff;
  border-radius: 150px;
  padding: 110px 25px 140px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__about__wrapper {
    border-radius: 0;
    padding: 80px 25px;
  }
}
.p-lpTemplate__about__inner {
  max-width: 980px;
  margin: 0 auto;
}
.p-lpTemplate__about__head {
  text-align: center;
  text-align: center;
}
.p-lpTemplate__about__head > h2::before {
  margin: 0 auto;
}
.p-lpTemplate__about__body {
  margin-top: 92px;
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__about__body {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    margin-top: 24px;
  }
}
.p-lpTemplate__about__body > img {
  flex-shrink: 0;
  width: 53.572%;
  margin-left: 48px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__about__body > img {
    width: auto;
    margin: 0 auto;
  }
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__about__features {
    margin-top: 24px;
  }
}
.p-lpTemplate__about__features__title {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  color: #082853;
}
.p-lpTemplate__about__features__title span {
  font-size: 40px;
  color: #1897db;
}
.p-lpTemplate__about__features__body {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 25px;
  padding: 0 15px;
  margin-top: 48px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__about__features__body {
    grid-template-columns: auto;
    gap: 24px 0;
    padding: 0;
    margin-top: 24px;
  }
}
.p-lpTemplate__about__features__body > .c-lpTemplateFeature {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  text-align: center;
  border-radius: 12px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__about__features__body > .c-lpTemplateFeature {
    display: block;
    grid-row: auto;
  }
}

/* 「轟」の使い方 */
.p-lpTemplate__howTo {
  margin-top: 160px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__howTo {
    margin-top: 80px;
  }
}
.p-lpTemplate__howTo__head {
  margin-bottom: 40px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__howTo__head {
    margin-bottom: 30px;
  }
}
.p-lpTemplate__howTo__body > .c-lpTemplateStep {
  margin-top: 50px;
}
.p-lpTemplate__howTo__body > .c-lpTemplateStep:first-child {
  margin-top: 0;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__howTo__body > .c-lpTemplateStep {
    margin-top: 30px;
  }
}

/* 主な機能 */
.p-lpTemplate__function {
  margin-top: 160px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__function {
    margin-top: 80px;
  }
}
.p-lpTemplate__function__head {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__function__head {
    margin-bottom: 30px;
  }
}
.p-lpTemplate__function__head > h2::before {
  margin: 0 auto;
}
.p-lpTemplate__function__body {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-lpTemplate__function__body > .c-lpTemplateFunction {
  width: calc((100% - 40px) / 2);
  margin-top: 40px;
}
.p-lpTemplate__function__body > .c-lpTemplateFunction:first-child {
  margin-top: 0;
}
.p-lpTemplate__function__body > .c-lpTemplateFunction:nth-child(-n+2) {
  margin-top: 0;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__function__body > .c-lpTemplateFunction {
    margin-top: 20px;
    width: 100%;
  }
  .p-lpTemplate__function__body > .c-lpTemplateFunction:nth-child(-n+2) {
    margin-top: 20px;
  }
}
.p-lpTemplate__function__foot {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__function__foot {
    margin-top: 35px;
  }
}
.p-lpTemplate__function__foot .c-button {
  width: 200px;
  height: 60px;
}

/* 導入の効果 */
.p-lpTemplate__effects {
  position: relative;
  padding-bottom: 150px;
  margin-top: 237px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__effects {
    margin-top: 92px;
    padding: 74px 0 80px;
    overflow: hidden;
  }
}
.p-lpTemplate__effects::after {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  content: "";
  width: 63.077%;
  height: 100%;
  background: #f0faff;
  border-radius: 150px 0 0 150px;
  z-index: -1;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__effects::after {
    width: 42.67%;
    border-radius: 100px 0 0 100px;
  }
}
.p-lpTemplate__effects__head {
  position: relative;
  z-index: 2;
  margin-bottom: 79px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__effects__head {
    margin-bottom: 30px;
  }
}
.p-lpTemplate__effects__head::after {
  content: "";
  background: url("/assets/images/hotel/home/img-phone01.png") no-repeat center center;
  background-size: contain;
  display: block;
  width: 530px;
  height: 280px;
  position: absolute;
  right: 0;
  z-index: -1;
  top: -97px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__effects__head::after {
    width: 280px;
    height: 190px;
    right: -60px;
    top: -80px;
  }
}
.p-lpTemplate__effects__body > .c-lpTemplateEffect {
  margin-top: 48px;
}
.p-lpTemplate__effects__body > .c-lpTemplateEffect:first-child {
  margin-top: 0;
}
.p-lpTemplate__effects__foot {
  position: relative;
  margin-top: 72px;
  z-index: 1;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__effects__foot {
    margin-top: 36px;
  }
}

/* システム構成 */
.p-lpTemplate__system {
  position: relative;
  padding: 116px 0 111px;
  margin-top: 107px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__system {
    padding: 0;
    margin: 60px auto 0;
  }
}
.p-lpTemplate__system:before, .p-lpTemplate__system:after {
  position: absolute;
  top: 0;
  content: "";
  width: 120px;
  height: 100%;
  background: #f0faff;
  z-index: -1;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__system:before, .p-lpTemplate__system:after {
    display: none;
  }
}
.p-lpTemplate__system:before {
  left: 0;
  border-radius: 0 150px 150px 0;
}
.p-lpTemplate__system:after {
  right: 0;
  border-radius: 150px 0 0 150px;
}
.p-lpTemplate__system__head {
  text-align: center;
  margin-bottom: 48px;
}
.p-lpTemplate__system__head > h2::before {
  margin: 0 auto;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__system__head {
    margin-bottom: 30px;
  }
}
.p-lpTemplate__system__body {
  max-width: 800px;
  text-align: center;
  margin: 0 auto;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__system__body {
    width: 100%;
  }
  .p-lpTemplate__system__body > p {
    text-align: left;
  }
}
.p-lpTemplate__system__image {
  margin-top: 48px;
  border: 1px solid #e2e9ef;
  border-radius: 20px;
  padding: 40px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__system__image {
    padding: 20px;
    margin-top: 30px;
  }
  .p-lpTemplate__system__image img {
    margin: 0 auto;
  }
}

/* ギャラリー */
.p-lpTemplate__gallery {
  position: relative;
  padding: 60px 0 234px;
  margin-top: 140px;
}
.p-lpTemplate__gallery:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  width: calc(650 / 1300 * 100%);
  height: 100%;
  z-index: -1;
  background: #f0faff;
  border-radius: 150px 0 0 150px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__gallery {
    padding: 40px 0 80px;
    margin-top: 80px;
  }
  .p-lpTemplate__gallery::after {
    width: calc(130 / 375 * 100%);
    border-radius: 7em 0 0 7em;
  }
}
.p-lpTemplate__gallery__head {
  margin-bottom: 50px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__gallery__head {
    margin-bottom: 20px;
  }
}
.p-lpTemplate__gallery__body > ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 45px 35px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__gallery__body > ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
}
.p-lpTemplate__gallery__body > ul li {
  position: relative;
  background: #000000;
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
}
.p-lpTemplate__gallery__body > ul li:after {
  content: "";
  background: #082853 url("/assets/images/commons/icon-zoom.svg") no-repeat center center;
  background-size: 12px;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 0;
  bottom: 0;
}
.p-lpTemplate__gallery__body > ul li img {
  display: block;
  width: 100%;
}
.p-lpTemplate__gallery__body > ul a {
  transition: opacity 0.2s;
  display: block;
}
.p-lpTemplate__gallery__body > ul a:hover {
  opacity: 0.8;
}
.p-lpTemplate__gallery__body > ul.none li:after {
  display: none;
}

/* よくある質問 */
.p-lpTemplate__faq {
  margin-top: 140px;
}
.p-lpTemplate__faq__head {
  text-align: center;
  margin-bottom: 40px;
}
.p-lpTemplate__faq__head > h2:before {
  width: 17px;
  margin: 0 auto;
}
.p-lpTemplate__faq.-roomindicator .p-lpTemplate__faq__head h2 {
  color: #0C6735;
}

@media screen and (max-width: 864px) {
  .p-lpTemplate__faq {
    margin-top: 40px;
  }
  .p-lpTemplate__faq__head {
    margin-bottom: 30px;
  }
}
/* 導入事例 */
.p-lpTemplate__case {
  padding-top: 234px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__case {
    padding-top: 250px;
  }
}
.p-lpTemplate__case__head {
  position: relative;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__case__head {
    margin-bottom: 35px;
  }
}
.p-lpTemplate__case__head:after {
  position: absolute;
  top: -318px;
  left: -256px;
  content: "";
  display: block;
  width: 655px;
  height: 348px;
  background: url(/assets/images/hotel/home/img-phone02.png) no-repeat center center;
  background-size: contain;
  z-index: 1;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__case__head:after {
    top: -220px;
    left: -100px;
    width: 376px;
    height: 200px;
  }
}
.p-lpTemplate__case__head > h2 {
  font-size: 40px;
  font-weight: 700;
}
.p-lpTemplate__case__head > h2:before {
  content: "";
  background: url("/assets/images/commons/icon-title.svg") no-repeat center center;
  background-size: contain;
  display: block;
  width: 16px;
  height: 15px;
  margin-bottom: 12px;
  margin: 0 auto;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__case__head > h2 {
    font-size: 28px;
  }
}
.p-lpTemplate__case__head > p {
  font-size: 20px;
  font-weight: 700;
  color: #96a2b5;
}
.p-lpTemplate__case__body > ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px 22.5px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__case__body > ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 9px;
  }
}
.p-lpTemplate__case__body > ul li > * {
  display: block;
}
.p-lpTemplate__case__body > ul a {
  transition: opacity 0.2s;
}
.p-lpTemplate__case__body > ul a:hover {
  opacity: 0.7;
}
.p-lpTemplate__case__body > ul img {
  width: 100%;
}
body.roomindicator .p-lpTemplate__case {
  padding-top: 110px;
}
body.roomindicator .p-lpTemplate__case__head:after {
  display: none;
}
@media screen and (max-width: 864px) {
  body.roomindicator .p-lpTemplate__case {
    padding-top: 40px;
  }
}

/* サービス */
.p-lpTemplate__services {
  padding: 70px 0 80px;
  background: #082853;
  margin-top: 140px;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__services {
    margin-top: 80px;
  }
}
.p-lpTemplate__services__head {
  text-align: center;
}
.p-lpTemplate__services__head > h2 {
  font-size: 31px;
  font-weight: 700;
  line-height: 1.484;
  color: #ffffff;
}
.p-lpTemplate__services__head > p {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.43;
  color: #96a2b5;
  margin-top: -2px;
}
.p-lpTemplate__services__body {
  max-width: 1190px;
  box-sizing: border-box;
  padding: 0 25px;
  margin: 30px auto 0;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__services__body {
    margin: 32px auto 0;
  }
}
.p-lpTemplate__services__body > ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__services__body > ul {
    flex-wrap: wrap;
  }
}
.p-lpTemplate__services__body > ul li {
  width: calc((100% - 30px) / 3);
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__services__body > ul li {
    width: 100%;
    margin-top: 16px;
  }
}
.p-lpTemplate__services__body > ul .index img {
  max-width: 160px;
}
.p-lpTemplate__services__body > ul a {
  height: 100%;
  display: flex;
  padding: 18px;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  position: relative;
  transition: background 0.2s, color 0.2s;
}
.p-lpTemplate__services__body > ul a:hover {
  text-decoration: none;
  color: #e2e9ef;
  background: #e6e6e6;
}
@media screen and (max-width: 864px) {
  .p-lpTemplate__services__body > ul a {
    width: 100%;
  }
}
.p-lpTemplate__services__body > ul a::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  right: 12px;
  bottom: 12px;
  background: url("/assets/images/commons/icon-external.svg") no-repeat center center;
  background-size: contain;
  margin-left: 8px;
}
.p-lpTemplate__services__body > ul a img {
  width: 100%;
  max-width: 214px;
}

@media screen and (max-width: 864px) {
  .p-lpTemplate__hero__head > span {
    font-size: 1.2666666667rem;
    letter-spacing: 0;
    margin-bottom: calc(7 / 375 * 100%);
  }
}
.-hotel .-notes {
  color: #93a2b7;
  line-height: 1.2;
}
.-hotel .p-lpTemplate__problems__head,
.-hotel .p-lpTemplate__gallery__head,
.-hotel .p-lpTemplate__system__head,
.-hotel .p-lpTemplate__effects__head,
.-hotel .p-lpTemplate__function__head,
.-hotel .p-lpTemplate__howTo__head,
.-hotel .p-lpTemplate__about__head,
.-hotel .p-lpTemplate__case__head,
.-hotel .p-lpTemplate__info__head {
  color: #122850;
}
.-hotel .p-lpTemplate__problems__head .-brackets,
.-hotel .p-lpTemplate__gallery__head .-brackets,
.-hotel .p-lpTemplate__system__head .-brackets,
.-hotel .p-lpTemplate__effects__head .-brackets,
.-hotel .p-lpTemplate__function__head .-brackets,
.-hotel .p-lpTemplate__howTo__head .-brackets,
.-hotel .p-lpTemplate__about__head .-brackets,
.-hotel .p-lpTemplate__case__head .-brackets,
.-hotel .p-lpTemplate__info__head .-brackets {
  margin-left: -1.6rem;
}
@media screen and (max-width: 864px) {
  .-hotel .-problem01-img {
    padding: 0 calc(135 / 375 * 100%);
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 864px) {
  .-hotel .-problem02-img {
    padding: 0 calc(100 / 375 * 100%);
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 864px) {
  .-hotel .-problem03-img {
    padding: 0 calc(140 / 375 * 100%);
    display: block;
    margin: 0 auto;
  }
}

.-restaurant .-notes {
  color: #b9aea2;
  line-height: 1.2;
}
.-restaurant .p-lpTemplate__case__head > p,
.-restaurant .p-lpTemplate__gallery__head > p,
.-restaurant .p-lpTemplate__system__head > p,
.-restaurant .p-lpTemplate__effects__head > p,
.-restaurant .p-lpTemplate__function__head > p,
.-restaurant .p-lpTemplate__howTo__head > p,
.-restaurant .p-lpTemplate__about__head > p,
.-restaurant .p-lpTemplate__problems__head span > p,
.-restaurant .p-lpTemplate__info__head > p {
  color: #b9aea2;
}
@media screen and (max-width: 864px) {
  .-restaurant .-problem01-img {
    padding: 0 calc(135 / 375 * 100%);
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 864px) {
  .-restaurant .-problem02-img {
    padding: 0 calc(100 / 375 * 100%);
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 864px) {
  .-restaurant .-problem03-img {
    padding: 0 calc(140 / 375 * 100%);
    display: block;
    margin: 0 auto;
  }
}
.-restaurant .p-lpTemplate__gallery::after {
  background-color: #fff9f0;
}

.-roomindicator .-notes {
  color: #96a2b5;
  line-height: 1.2;
}
.-roomindicator .p-lpTemplate__case__head > p,
.-roomindicator .p-lpTemplate__gallery__head > p,
.-roomindicator .p-lpTemplate__system__head > p,
.-roomindicator .p-lpTemplate__effects__head > p,
.-roomindicator .p-lpTemplate__function__head > p,
.-roomindicator .p-lpTemplate__howTo__head > p,
.-roomindicator .p-lpTemplate__about__head > p,
.-roomindicator .p-lpTemplate__problems__head span > p,
.-roomindicator .p-lpTemplate__info__head > p {
  color: #96a2b5;
}
@media screen and (max-width: 864px) {
  .-roomindicator .-problem01-img {
    padding: 0 calc(122 / 375 * 100%);
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 864px) {
  .-roomindicator .-problem02-img {
    padding: 0 calc(94 / 375 * 100%);
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 864px) {
  .-roomindicator .-problem03-img {
    padding: 0 calc(119 / 375 * 100%);
    display: block;
    margin: 0 auto;
  }
}
.-roomindicator .p-lpTemplate__gallery {
  padding: 0 0 150px;
}
@media screen and (max-width: 864px) {
  .-roomindicator .p-lpTemplate__gallery {
    padding: 28px 0 80px;
  }
}
.-roomindicator .p-lpTemplate__gallery::after {
  background-color: #F7FFF0;
}

.p-lpTemplate__case__body .-col-3 {
  max-width: 620px;
  margin: 0 auto;
}

.hotel .p-lpTemplate__conversionPanel__body::before,
.hotel-about .p-lpTemplate__conversionPanel__body::before,
.hotel-plan .p-lpTemplate__conversionPanel__body::before,
.hotel-estimate .p-lpTemplate__conversionPanel__body::before,
.andon .p-lpTemplate__conversionPanel__body::before,
.pms .p-lpTemplate__conversionPanel__body::before,
.pms-about .p-lpTemplate__conversionPanel__body::before {
  background: url(/assets/images/commons/icon-arrow-circle-white-hotel.svg) no-repeat center center;
  background-size: contain;
}

.-restaurant .p-lpTemplate__conversionPanel .-arrow:after {
  background: url(/assets/images/commons/icon_arrow-restaurant.svg) no-repeat center center;
  background-size: contain;
}

.-roomindicator .p-lpTemplate__conversionPanel__body::before {
  background: url(/assets/images/commons/icon-arrow-circle-white-roomindicator.svg) no-repeat center center;
  background-size: contain;
}
.-roomindicator .p-lpTemplate__conversionPanel .-arrow:after {
  background: url(/assets/images/commons/icon_arrow-roomindicator.svg) no-repeat center center;
  background-size: contain;
}

.restaurant .c-button.-tertiary::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(/assets/images/commons/icon-arrow-warning2.svg) no-repeat center center;
  background-size: 100% auto;
  margin-left: 8px;
  transform: translate(0, 0);
}
.restaurant .c-button.-tertiary:hover {
  background: #ffd700;
}
.restaurant .c-button.-tertiary:hover::after {
  -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
          animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  background: url(/assets/images/commons/icon-arrow-warning2-white.svg) no-repeat center center;
}

.hotel .c-button.-secondary::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(/assets/images/commons/icon-arrow-warning2.svg) no-repeat center center;
  background-size: 100% auto;
  margin-left: 8px;
  transform: translate(0, 0);
}
.hotel .c-button.-secondary:hover {
  background: #1897db;
}
.hotel .c-button.-secondary:hover::after {
  -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
          animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}

/* pms */
body.pms {
  /* p-lpTemplate__hero */
  /* p-lpTemplate__problems */
  /* p-lpTemplate__about */
  /* p-lpTemplate__effects */
  /* p-lpTemplate__case */
}
body.pms .p-lpTemplate__hero__copy {
  top: 39.974%;
  left: 6.539%;
}
body.pms .p-lpTemplate__hero__copy:after {
  margin: 56px 0 0 8px;
}
body.pms .p-lpTemplate__hero__balloon {
  left: -34px;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.467;
  padding: 8px 17px 9px 13px;
}
body.pms .p-lpTemplate__hero__balloon:before {
  top: 39px;
  left: 38px;
}
body.pms .p-lpTemplate__hero__head {
  font-size: 62px;
  letter-spacing: -0.03em;
  line-height: 1.2097;
}
body.pms .p-lpTemplate__hero__head > span {
  font-size: 26px;
  letter-spacing: -0.03em;
  line-height: 1.3077;
  padding: 2px 0;
  margin-bottom: 8px;
}
@media screen and (max-width: 864px) {
  body.pms .p-lpTemplate__hero__copy {
    top: auto;
    left: 0;
    margin-top: -23px;
  }
  body.pms .p-lpTemplate__hero__balloon {
    left: -5px;
  }
  body.pms .p-lpTemplate__hero__head {
    font-size: 40px;
    line-height: 1.225;
    margin-top: 28px;
  }
  body.pms .p-lpTemplate__hero__head > span {
    font-size: 19px;
    line-height: 1.474;
    padding: 0;
    margin-bottom: 4px;
  }
}
@media screen and (max-width: 864px) {
  body.pms .p-lpTemplate__problems {
    position: relative;
    padding-top: 60px;
    margin-top: 60px;
  }
  body.pms .p-lpTemplate__problems:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "";
    width: 82.667%;
    height: 400px;
    background: #f0faff;
    border-radius: 0 100px 100px 0;
    z-index: -1;
  }
  body.pms .p-lpTemplate__problems__head span {
    text-align: left;
    margin: 0;
  }
  body.pms .p-lpTemplate__problems__head span h2:before {
    margin: 0;
  }
}
body.pms .p-lpTemplate__about__body {
  margin: 51px 0 55px;
}
body.pms .p-lpTemplate__about__body > img {
  display: block;
  width: 42.858%;
  border-radius: 20px;
  box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.16);
  margin-left: 70px;
}
body.pms .p-lpTemplate__about__features__body .c-lpTemplateFeature__head {
  text-align: left;
}
@media screen and (max-width: 864px) {
  body.pms .p-lpTemplate__about__body {
    margin: 24px 0 0;
  }
  body.pms .p-lpTemplate__about__body > p {
    align-self: self-start;
    letter-spacing: 0.02em;
    margin: 36px 0 0;
  }
  body.pms .p-lpTemplate__about__body > img {
    width: 100%;
    border-radius: 6%;
    margin-left: auto;
  }
}
body.pms .p-lpTemplate__effects__head:after {
  display: none;
}
body.pms .p-lpTemplate__case {
  padding-top: 110px;
}
body.pms .p-lpTemplate__case__head:after {
  display: none;
}
@media screen and (max-width: 864px) {
  body.pms .p-lpTemplate__case {
    padding-top: 80px;
  }
}

/* andon */
body.andon {
  /* p-lpTemplate__hero */
  /*  p-andon__about */
  /* p-lpTemplate__effects */
  /* p-andon__equipment */
  /* p-lpTemplate__case */
}
body.andon .p-lpTemplate__hero__copy {
  top: 44.41%;
  left: 6.693%;
}
body.andon .p-lpTemplate__hero__copy:after {
  margin: 56px 0 0 8px;
}
body.andon .p-lpTemplate__hero__balloon {
  left: -34px;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.467;
  padding: 8px 19px 9px 13px;
}
body.andon .p-lpTemplate__hero__balloon:before {
  top: 39px;
  left: 38px;
}
body.andon .p-lpTemplate__hero__head {
  font-size: 62px;
  letter-spacing: -0.03em;
  line-height: 1.2097;
}
body.andon .p-lpTemplate__hero__head > span {
  font-size: 26px;
  letter-spacing: -0.03em;
  line-height: 1.3077;
  padding: 2px 0;
  margin-bottom: 8px;
}
@media screen and (max-width: 864px) {
  body.andon .p-lpTemplate__hero__copy {
    top: auto;
    left: 0;
    margin-top: -23px;
  }
  body.andon .p-lpTemplate__hero__balloon {
    left: -5px;
  }
  body.andon .p-lpTemplate__hero__head {
    font-size: 40px;
    line-height: 1.225;
    margin-top: 28px;
  }
  body.andon .p-lpTemplate__hero__head > span {
    font-size: 19px;
    line-height: 1.474;
    padding: 0;
    margin-bottom: 4px;
  }
}
body.andon .p-andon__about {
  margin-top: 100px;
}
body.andon .p-andon__about__lead {
  font-size: 1rem;
  letter-spacing: 0.02em;
  line-height: 1.934;
  text-align: center;
  padding-left: 8px;
  margin: 46px 0 -3px;
}
body.andon .p-andon__about__body {
  display: grid;
  grid-template-columns: 48.066% 1fr;
  gap: 40px 50px;
  margin: 54px -1px 0;
}
body.andon .p-andon__about__right .image {
  border-radius: 20px;
  overflow: hidden;
}
body.andon .p-andon__about .image {
  box-shadow: 15px 15px 20px rgba(0, 24, 46, 0.1);
}
body.andon .p-andon__about .caption {
  font-size: 1rem;
  letter-spacing: 0.02em;
  line-height: 1.734;
  margin: 8px 0 -3px;
}
@media screen and (max-width: 864px) {
  body.andon .p-andon__about {
    margin-top: 64px;
  }
  body.andon .p-andon__about__lead {
    line-height: 1.734;
    text-align: left;
    padding-left: 0;
    margin: 40px 0 -2px;
  }
  body.andon .p-andon__about__body {
    grid-template-columns: auto;
    margin: 39px 0 0;
  }
}
body.andon .p-lpTemplate__effects__head:after {
  display: none;
}
body.andon .p-andon__equipment {
  padding-top: 110px;
}
body.andon .p-andon__equipment__head {
  text-align: center;
}
body.andon .p-andon__equipment__head h2 {
  font-size: 39px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.462;
  color: #082853;
}
body.andon .p-andon__equipment__head h2:before {
  display: block;
  content: "";
  width: 17px;
  height: 15px;
  background-image: url(/assets/images/commons/icon-title.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: 0 auto 6px;
}
body.andon .p-andon__equipment__head p {
  font-size: 20px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
  color: #96A2B5;
  margin-top: 5px;
}
body.andon .p-andon__equipment__lead {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.734;
  text-align: center;
  margin: 38px 0 -2px;
}
body.andon .p-andon__equipment__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px 24px;
  margin-top: 45px;
}
body.andon .p-andon__equipment__list .item {
  border: 1px solid #E2E9EF;
  border-radius: 20px;
  padding: 39px 29px 28px;
}
body.andon .p-andon__equipment__list .item__img {
  width: 170px;
  margin: 0 auto 30px;
}
body.andon .p-andon__equipment__list .item__title {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4762;
  color: #082853;
  text-align: center;
}
body.andon .p-andon__equipment__list .item__text {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.534;
  text-align: center;
  margin: 15px 0 0;
}
@media screen and (max-width: 864px) {
  body.andon .p-andon__equipment {
    padding-top: 80px;
  }
  body.andon .p-andon__equipment__head h2 {
    font-size: 30px;
    line-height: 1.5;
  }
  body.andon .p-andon__equipment__head h2:before {
    margin-bottom: 8px;
  }
  body.andon .p-andon__equipment__head p {
    font-size: 17px;
    line-height: 1.412;
    margin-top: 0;
  }
  body.andon .p-andon__equipment__lead {
    text-align: left;
    margin-top: 28px;
  }
  body.andon .p-andon__equipment__list {
    grid-template-columns: auto;
    margin-top: 29px;
  }
  body.andon .p-andon__equipment__list .item {
    padding-top: 29px;
  }
  body.andon .p-andon__equipment__list .item__img {
    margin-bottom: 25px;
  }
  body.andon .p-andon__equipment__list .item__title {
    font-size: 19px;
    line-height: 1.369;
    padding: 1px 0;
  }
  body.andon .p-andon__equipment__list .item__text {
    line-height: 1.734;
    margin: 13px 0 -2px;
  }
}
body.andon .p-lpTemplate__case {
  padding-top: 110px;
}
body.andon .p-lpTemplate__case__head:after {
  display: none;
}
@media screen and (max-width: 864px) {
  body.andon .p-lpTemplate__case {
    padding-top: 80px;
  }
}

/*
---
name: Contact
category: Project
---
*/
input,
button,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  border: none;
  outline: none;
}

body.contact {
  background-color: #F4F4F4;
  color: #333;
}

/* p-contact */
.p-contact {
  overflow: hidden;
}
.p-contact .l-header__inner:after {
  background-image: url("/assets/images/contact/header.jpg");
}
@media screen and (max-width: 864px) {
  .p-contact .l-header__inner:after {
    background-image: url("/assets/images/contact/header-sp.jpg");
  }
}
.p-contact__wrapper {
  position: relative;
  background: #fff;
  padding: 110px max(calc((100% - 1040px) / 2), 50px) 130px clamp(50px, calc((100% - 1040px) / 2), 130px);
  margin-left: max(calc((100% - 1040px) / 2), 50px);
  z-index: 2;
}
.p-contact section:first-of-type {
  margin-top: 0;
}
.p-contact__current {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
  margin-bottom: 67px;
}
.p-contact__current li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.43;
  color: #9B9B9B;
  background: #F4F4F4;
  padding: 12px 12px 13px;
}
.p-contact__current li.is-current {
  color: #fff;
  background: #333333;
}
.p-contact__current li span {
  display: block;
}
.p-contact-privacy {
  margin-top: 80px;
}

@media screen and (max-width: 864px) {
  .p-contact__wrapper {
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.05);
    padding: 35px 25px;
    margin: 0 25px;
  }
  .p-contact section:first-of-type {
    margin-top: -140px;
  }
  .p-contact__current {
    margin-bottom: 30px;
  }
  .p-contact__current li {
    font-size: 12px;
    line-height: 1.334;
    padding: 11px 9px 12px;
  }
  .p-contact-privacy {
    margin-top: 50px;
  }
}
/* p-contact-section */
.p-contact-section__ttl {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin-bottom: 69px;
}
.p-contact-section__ttl span {
  display: inline-block;
}
.p-contact-section__lead {
  letter-spacing: 0.02em;
  line-height: 1.734;
  margin: -2px 0;
}
.p-contact-section__lead.center {
  text-align: center;
}

@media screen and (max-width: 864px) {
  .p-contact-section__ttl {
    font-size: 18px;
    line-height: 1.556;
    margin: -1px 0 30px;
  }
  .p-contact-section__lead {
    font-size: 13px;
    line-height: 1.77;
    margin-top: 48px;
  }
  .p-contact-section__lead.center {
    text-align: left;
  }
}
/*
---
name: partner
category: Project
---
*/
@-webkit-keyframes buttonHover {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }
  50% {
    transform: translate(14px, 0);
    opacity: 0;
  }
  51% {
    transform: translate(-14px, 0);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
@keyframes buttonHover {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }
  50% {
    transform: translate(14px, 0);
    opacity: 0;
  }
  51% {
    transform: translate(-14px, 0);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
body.partner {
  background-color: #F4F4F4;
  color: #333;
}

.p-title {
  font-weight: 700;
  position: relative;
  z-index: 10;
}
.p-title.-level-1 {
  font-size: 2.6666666667rem;
  padding-bottom: 40px;
}
@media screen and (max-width: 864px) {
  .p-title.-level-1 {
    font-size: 1.8rem;
    padding-bottom: 20px;
  }
}
.p-title.-level-1 .-en {
  font-size: 1.8rem;
  padding-top: 12px;
}
@media screen and (max-width: 864px) {
  .p-title.-level-1 .-en {
    font-size: 1.1333333333rem;
    padding-top: 6px;
  }
}
.p-title.-level-1 .-brackets {
  margin-left: -2rem;
}
.p-title.-level-2 {
  font-size: 2.2rem;
  padding-bottom: 40px;
}
@media screen and (max-width: 864px) {
  .p-title.-level-2 {
    font-size: 1.8rem;
    padding-bottom: 20px;
    text-align: center;
  }
}
.p-title.-level-2 .-en {
  font-size: 1.2rem;
  padding-top: 8px;
}
@media screen and (max-width: 864px) {
  .p-title.-level-2 .-en {
    font-size: 1.1333333333rem;
    padding-bottom: 20px;
  }
}
.p-title.-level-2 .-brackets {
  margin-left: -1.5333333333rem;
}
.p-title.-level-3 {
  color: #00b4a6;
  font-size: 1.6666666667rem;
}
@media screen and (max-width: 864px) {
  .p-title.-level-3 {
    font-size: 1.4rem;
  }
}
.p-title span.-en {
  color: #00b4a6;
  display: block;
}
.p-title.-center {
  text-align: center;
}

.p-banner {
  position: relative;
  width: 100%;
  height: 345px;
  background-color: #fff;
  box-sizing: content-box;
  padding-top: 130px;
  z-index: 2;
}
@media screen and (max-width: 864px) {
  .p-banner {
    height: auto;
    padding-top: 80px;
  }
}
.p-banner__contact {
  position: relative;
  height: 100%;
}
.p-banner__contact a {
  transition: background-color 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  background-color: #00b4a6;
  text-decoration: none !important;
}
.p-banner__contact a .-img::before {
  position: absolute;
  content: "";
  display: block;
  width: 40.77%;
  height: 100%;
  background: url(/assets/images/commons/banner-contact.jpg) no-repeat center;
  background-size: cover;
}
@media screen and (max-width: 864px) {
  .p-banner__contact a .-img::before {
    width: 100%;
    height: 168px;
  }
}
.p-banner__contact a .-text {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  color: #fff;
  margin: 0 30px 0 45.385%;
}
@media screen and (max-width: 864px) {
  .p-banner__contact a .-text {
    padding: 208px 24px 40px;
    margin: 0;
  }
}
.p-banner__contact a .-text h3 {
  font-size: 2.2rem;
  font-weight: 700;
}
@media screen and (max-width: 864px) {
  .p-banner__contact a .-text h3 {
    font-size: 1.8rem;
  }
}
.p-banner__contact a .-text h3 .-en {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #A3EBE6;
  position: relative;
}
@media screen and (max-width: 864px) {
  .p-banner__contact a .-text h3 .-en {
    font-size: 1.1333333333rem;
  }
}
.p-banner__contact a .-text h3 .-en::after {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background-color: #A3EBE6;
  margin: 20px 0;
}
.p-banner__contact a .-text p {
  font-size: 0.9333333333rem;
}
@media screen and (max-width: 864px) {
  .p-banner__contact a .-text p {
    font-size: 1rem;
  }
}
.p-banner__contact a .-text .-arrow {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -13px);
}
@media screen and (max-width: 864px) {
  .p-banner__contact a .-text .-arrow {
    top: 70%;
    right: 16px;
  }
}
.p-banner__contact a .-text .-arrow::before {
  content: "";
  display: block;
  position: absolute;
  width: 36px;
  height: 36px;
  background-color: #fff;
  border-radius: 18px;
  top: 0;
  right: 0;
}
@media screen and (max-width: 864px) {
  .p-banner__contact a .-text .-arrow::before {
    transform: scale(0.8);
  }
}
.p-banner__contact a .-text .-arrow::after {
  content: "";
  display: block;
  position: absolute;
  width: 13px;
  height: 13px;
  background: url(/assets/images/commons/icon_arrow-primary.svg) no-repeat;
  background-size: contain;
  top: 12px;
  right: 12px;
}
@media screen and (max-width: 864px) {
  .p-banner__contact a .-text .-arrow::after {
    transform: scale(0.8);
  }
}
@media (hover) {
  .p-banner__contact a:hover {
    text-decoration: none;
    background-color: #00645C;
  }
  .p-banner__contact a:hover .-text .-arrow::after {
    -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
            animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  }
}

.p-partner {
  overflow: hidden;
  /*
  ---
  name: partner
  category: Project
  parent: .p-partner {}
  ---
  */
  /*
  ---
  name: partner
  category: Project
  parent: .p-partner {}
  ---
  */
}
.p-partner .l-header__inner:after {
  background-image: url("/assets/images/partner/header.jpg");
}
@media screen and (max-width: 864px) {
  .p-partner .l-header__inner:after {
    background-image: url("/assets/images/partner/header-sp.jpg");
  }
}
.p-partner__content .p-section__body {
  position: relative;
  z-index: 1;
}
.p-partner__content .p-section__body:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: -50vw;
  bottom: 0;
  left: 50px;
  background: #ffffff;
  box-shadow: 15px 15px 30px rgba(0, 0, 0, 0.05);
  z-index: -1;
}
@media screen and (max-width: 864px) {
  .p-partner__content .p-section__body:before {
    display: none;
  }
}
@media screen and (max-width: 864px) {
  .p-partner__content {
    margin-top: -140px;
  }
}
.p-partner__content__inner {
  max-width: 960px;
  padding: 115px 0 115px 50px;
  margin-left: auto;
}
@media screen and (max-width: 864px) {
  .p-partner__content__inner {
    padding: 40px 25px;
    background: #fff;
    filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.05));
  }
}
@media screen and (max-width: 374px) {
  .p-partner__content__inner .p-title br {
    display: none;
  }
}
.p-partner .lead-text {
  padding-bottom: 50px;
}
@media screen and (max-width: 864px) {
  .p-partner .lead-text {
    padding-bottom: 25px;
    font-size: 1rem;
  }
}
.p-partner__about {
  padding: 188px 0 132px;
}
.p-partner__about__inner {
  display: flex;
  align-items: center;
}
.p-partner__about__img {
  width: 75.674%;
  margin-left: -17.79%;
}
.p-partner__about__img img {
  width: 100%;
}
.p-partner__about__lead {
  flex: 1;
  text-align: center;
  margin-left: 8.943%;
}
.p-partner__about__lead figure {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.p-partner__about__lead figure img {
  max-width: 130px;
}
.p-partner__about__lead figure figcaption {
  text-align: left;
  margin-top: 35px;
}
@media screen and (max-width: 864px) {
  .p-partner__about {
    padding: 80px 0 70px;
  }
  .p-partner__about__inner {
    display: block;
  }
  .p-partner__about__img {
    width: auto;
    margin-right: -7px;
    margin-left: -17.85%;
  }
  .p-partner__about__lead {
    margin-top: 28px;
    margin-left: 0;
  }
  .p-partner__about__lead figure {
    margin-top: -10px;
  }
  .p-partner__about__lead figure img {
    max-width: 107px;
  }
  .p-partner__about__lead figure figcaption {
    margin-top: 30px;
  }
}
.p-partner__products {
  padding: 135px 0 150px;
}
@media screen and (max-width: 864px) {
  .p-partner__products {
    padding: 70px 0 80px;
  }
}
.p-partner__products nav ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 40px;
}
@media screen and (max-width: 864px) {
  .p-partner__products nav ul {
    grid-template-columns: auto;
  }
}
.p-partner__products nav ul li a {
  transition: opacity 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  display: block;
}
.p-partner__products nav ul li a:hover {
  opacity: 0.7;
}
.p-partner__products nav ul li a img {
  width: 100%;
}
.p-partner__price-plans {
  padding: 130px 0 146px;
}
.p-partner__price-plans:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  width: 61.54%;
  background: #F4F4F4;
  z-index: 0;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans {
    padding: 70px 0 80px;
  }
  .p-partner__price-plans:before {
    width: 48%;
  }
}
.p-partner__price-plans__inner {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 60px;
  z-index: 10;
  padding: 50px 0 0 0;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans__inner {
    display: block;
  }
}
.p-partner__price-plans .-brackets span {
  display: inline-block;
}
.p-partner__price-plans .-invalid {
  pointer-events: none;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .-img {
    padding: 0 25px;
  }
}
.p-partner__price-plans .for-hotel,
.p-partner__price-plans .for-restaurant {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 0 8.164% 50px;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel,
.p-partner__price-plans .for-restaurant {
    padding: 0 0 40px;
  }
}
@media (hover) {
  .p-partner__price-plans .for-hotel:hover .c-button::after,
.p-partner__price-plans .for-restaurant:hover .c-button::after {
    -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
            animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .p-partner__price-plans .for-hotel:hover .c-button.-hotel,
.p-partner__price-plans .for-restaurant:hover .c-button.-hotel {
    background-color: #1897db;
  }
  .p-partner__price-plans .for-hotel:hover .c-button.-restaurant,
.p-partner__price-plans .for-restaurant:hover .c-button.-restaurant {
    background-color: #ffd700;
  }
}
.p-partner__price-plans .for-hotel .c-button,
.p-partner__price-plans .for-restaurant .c-button {
  transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
  max-width: 180px;
  width: 100%;
  font-size: 1rem;
  padding: 18px 26px;
}
@media screen and (min-width: 865px) {
  .p-partner__price-plans .for-hotel .c-button,
.p-partner__price-plans .for-restaurant .c-button {
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
.p-partner__price-plans .for-hotel .c-button.-hotel,
.p-partner__price-plans .for-restaurant .c-button.-hotel {
  background: #082853;
  color: #fff;
}
.p-partner__price-plans .for-hotel .c-button.-hotel::after,
.p-partner__price-plans .for-restaurant .c-button.-hotel::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url("/assets/images/commons/icon-arrow.svg") no-repeat center center;
  background-size: 100% auto;
  margin-left: 8px;
  transform: translate(0, 0);
}
.p-partner__price-plans .for-hotel .c-button.-hotel:hover,
.p-partner__price-plans .for-restaurant .c-button.-hotel:hover {
  background-color: #1897db;
}
.p-partner__price-plans .for-hotel .c-button.-hotel:hover::after,
.p-partner__price-plans .for-restaurant .c-button.-hotel:hover::after {
  -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
          animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-partner__price-plans .for-hotel .c-button.-restaurant,
.p-partner__price-plans .for-restaurant .c-button.-restaurant {
  background: #f08b00;
  color: #fff;
}
.p-partner__price-plans .for-hotel .c-button.-restaurant::after,
.p-partner__price-plans .for-restaurant .c-button.-restaurant::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url("/assets/images/commons/icon-arrow.svg") no-repeat center center;
  background-size: 100% auto;
  margin-left: 8px;
  transform: translate(0, 0);
}
.p-partner__price-plans .for-hotel .c-button.-restaurant:hover,
.p-partner__price-plans .for-restaurant .c-button.-restaurant:hover {
  background-color: #ffd700;
}
.p-partner__price-plans .for-hotel .c-button.-restaurant:hover::after,
.p-partner__price-plans .for-restaurant .c-button.-restaurant:hover::after {
  -webkit-animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
          animation: buttonHover 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-partner__price-plans .for-hotel picture,
.p-partner__price-plans .for-restaurant picture {
  position: relative;
  display: block;
  top: -50px;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel picture,
.p-partner__price-plans .for-restaurant picture {
    top: -33px;
  }
}
.p-partner__price-plans .for-hotel h3,
.p-partner__price-plans .for-restaurant h3 {
  font-size: 1.6666666667rem;
  font-weight: 700;
  text-align: center;
  margin-top: -15px;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel h3,
.p-partner__price-plans .for-restaurant h3 {
    font-size: 1.4rem;
    margin-top: -4px;
  }
}
.p-partner__price-plans .for-hotel h3 .-en,
.p-partner__price-plans .for-restaurant h3 .-en {
  font-size: 1.1333333333rem;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  display: block;
  margin-top: 8px;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel h3 .-en,
.p-partner__price-plans .for-restaurant h3 .-en {
    font-size: 0.9333333333rem;
    margin-top: 4px;
  }
}
.p-partner__price-plans .for-hotel dl,
.p-partner__price-plans .for-restaurant dl {
  padding: 30px 0 90px 0;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl,
.p-partner__price-plans .for-restaurant dl {
    padding: 15px 0 30px 0;
  }
}
.p-partner__price-plans .for-hotel dl dt,
.p-partner__price-plans .for-restaurant dl dt {
  font-size: 1rem;
  font-weight: 700;
  padding-bottom: 16px;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl dt,
.p-partner__price-plans .for-restaurant dl dt {
    font-size: 0.9333333333rem;
  }
}
.p-partner__price-plans .for-hotel dl dd ul,
.p-partner__price-plans .for-restaurant dl dd ul {
  display: flex;
  justify-content: center;
  flex-basis: auto;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl dd ul,
.p-partner__price-plans .for-restaurant dl dd ul {
    padding: 0 15px;
  }
}
.p-partner__price-plans .for-hotel dl dd ul li,
.p-partner__price-plans .for-restaurant dl dd ul li {
  min-height: 35px;
  border-radius: 4px;
  padding: 3px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  line-height: 1.2;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl dd ul li,
.p-partner__price-plans .for-restaurant dl dd ul li {
    min-height: 29px;
    font-size: 0.8666666667rem;
    padding: 3px 4px;
    letter-spacing: 0;
  }
}
.p-partner__price-plans .for-hotel dl dd ul .-multiplication,
.p-partner__price-plans .for-hotel dl dd ul .-addition,
.p-partner__price-plans .for-restaurant dl dd ul .-multiplication,
.p-partner__price-plans .for-restaurant dl dd ul .-addition {
  position: relative;
  margin-right: 32px;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl dd ul .-multiplication,
.p-partner__price-plans .for-hotel dl dd ul .-addition,
.p-partner__price-plans .for-restaurant dl dd ul .-multiplication,
.p-partner__price-plans .for-restaurant dl dd ul .-addition {
    margin-right: 18px;
  }
}
.p-partner__price-plans .for-hotel dl dd ul .-multiplication::after,
.p-partner__price-plans .for-hotel dl dd ul .-addition::after,
.p-partner__price-plans .for-restaurant dl dd ul .-multiplication::after,
.p-partner__price-plans .for-restaurant dl dd ul .-addition::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  right: 0;
  left: 100%;
  transform: translate(0%, -50%);
}
.p-partner__price-plans .for-hotel dl dd small,
.p-partner__price-plans .for-restaurant dl dd small {
  font-size: 0.9333333333rem;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl dd small,
.p-partner__price-plans .for-restaurant dl dd small {
    font-size: 0.8rem;
  }
}
.p-partner__price-plans .for-hotel dl dd small span,
.p-partner__price-plans .for-restaurant dl dd small span {
  font-size: 0.8rem;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl dd small span,
.p-partner__price-plans .for-restaurant dl dd small span {
    font-size: 0.6666666667rem;
  }
}
.p-partner__price-plans .for-hotel dl dd .-en,
.p-partner__price-plans .for-restaurant dl dd .-en {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 1.5333333333rem;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl dd .-en,
.p-partner__price-plans .for-restaurant dl dd .-en {
    font-size: 1.2rem;
  }
}
.p-partner__price-plans .for-hotel dl dd .-notes,
.p-partner__price-plans .for-restaurant dl dd .-notes {
  padding-top: 8px;
  color: #999999;
  font-size: 0.8rem;
}
@media screen and (min-width: 865px) {
  .p-partner__price-plans .for-hotel picture {
    background-color: rgba(150, 162, 181, 0.5);
  }
}
.p-partner__price-plans .for-hotel h3 {
  color: #082853;
}
.p-partner__price-plans .for-hotel h3 .-en {
  color: #96a2b5;
}
.p-partner__price-plans .for-hotel dl dd li {
  font-weight: 700;
  color: #082853;
  border: solid 1px #082853;
}
.p-partner__price-plans .for-hotel dl dd li.-multiplication::after {
  background: url(/assets/images/partner/x.svg) no-repeat;
  background-size: contain;
  width: 13px;
  height: 13px;
  margin-left: 10px;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl dd li.-multiplication::after {
    width: 8px;
    height: 8px;
    margin-left: 5px;
  }
}
.p-partner__price-plans .for-hotel dl dd li.-addition::after {
  background: url(/assets/images/partner/+.svg) no-repeat;
  background-size: contain;
  width: 17px;
  height: 17px;
  margin-left: 8px;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-hotel dl dd li.-addition::after {
    width: 10px;
    height: 10px;
    margin-left: 5px;
  }
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-restaurant {
    margin-top: 68px;
  }
}
@media screen and (min-width: 865px) {
  .p-partner__price-plans .for-restaurant picture {
    background-color: rgba(185, 174, 162, 0.5);
  }
}
.p-partner__price-plans .for-restaurant h3 {
  color: #f08b00;
}
.p-partner__price-plans .for-restaurant h3 .-en {
  color: #b9aea2;
}
.p-partner__price-plans .for-restaurant dt {
  color: #4d2b04;
}
.p-partner__price-plans .for-restaurant dl dd li {
  font-weight: 700;
  color: #f08b00;
  border: solid 1px #f08b00;
}
.p-partner__price-plans .for-restaurant dl dd li.-multiplication::after {
  background: url(/assets/images/partner/x_2.svg) no-repeat;
  background-size: contain;
  width: 13px;
  height: 13px;
  margin-left: 10px;
}
@media screen and (max-width: 864px) {
  .p-partner__price-plans .for-restaurant dl dd li.-multiplication::after {
    width: 8px;
    height: 8px;
    margin-left: 5px;
  }
}
.p-partner__merit {
  padding: 166px 0 170px;
}
@media screen and (max-width: 864px) {
  .p-partner__merit {
    padding: 76px 0 80px;
  }
}
@media screen and (max-width: 374px) {
  .p-partner__merit .p-title br {
    display: none;
  }
}
.p-partner__merit ol {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 40px;
}
@media screen and (max-width: 864px) {
  .p-partner__merit ol {
    grid-template-columns: auto;
  }
}
.p-partner__merit ol li {
  text-align: center;
  padding: 36px 20px;
}
@media screen and (max-width: 864px) {
  .p-partner__merit ol li {
    padding: 35px 20px 40px;
  }
}
.p-partner__merit ol li h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2666666667rem;
  font-weight: 700;
  color: #00b4a6;
}
@media screen and (max-width: 864px) {
  .p-partner__merit ol li h3 {
    font-size: 1.2rem;
  }
}
.p-partner__merit ol li h3 span {
  display: block;
  width: 24px;
  height: 24px;
  font-size: 1.0666666667rem;
  color: #ffffff;
  background-color: #00b4a6;
  border-radius: 50%;
  margin-left: 4px;
}
.p-partner__merit ol li picture {
  margin: 20px 0;
  display: block;
}
.p-partner__merit ol li p {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 864px) {
  .p-partner__merit ol li p {
    font-size: 1rem;
  }
}
.p-partner__partner {
  padding: 130px 0 177px;
}
.p-partner__partner:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 37.7%;
  height: 578px;
  background: #F4F4F4;
}
@media screen and (max-width: 864px) {
  .p-partner__partner {
    padding: 72px 0 76px;
  }
  .p-partner__partner:before {
    width: 48%;
    height: 50%;
  }
}
.p-partner__partner ul {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  z-index: 11;
}
@media screen and (max-width: 864px) {
  .p-partner__partner ul {
    grid-template-columns: auto;
    padding: 0 25px;
    margin: 0 -25px;
  }
  .p-partner__partner ul.-shadow {
    box-shadow: none;
  }
}
.p-partner__partner ul li {
  padding: 60px 46px;
}
@media screen and (max-width: 864px) {
  .p-partner__partner ul li {
    padding: 48px 0 0;
  }
}
.p-partner__partner ul li.sales-partner {
  border-left: solid 1px #EAEAEA;
}
@media screen and (max-width: 864px) {
  .p-partner__partner ul li.sales-partner {
    border-left: none;
  }
}
.p-partner__partner ul li h3 {
  font-size: 1.6666666667rem;
  font-weight: 700;
  color: #00b4a6;
  text-align: center;
}
@media screen and (max-width: 864px) {
  .p-partner__partner ul li h3 {
    font-size: 1.4rem;
  }
}
.p-partner__partner ul li h3 span {
  display: block;
}
.p-partner__partner ul li h3 span.-round {
  max-width: 110px;
  font-size: 0.9333333333rem;
  font-weight: 700;
  color: #fff;
  background-color: #00b4a6;
  border-radius: 25px;
  padding: 2px 10px;
  margin: 0 auto 8px;
}
@media screen and (max-width: 864px) {
  .p-partner__partner ul li h3 span.-round {
    font-size: 0.8rem;
  }
}
.p-partner__partner ul li h3 span.-en {
  color: #333;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 1.1333333333rem;
  margin: 8px auto 0;
}
@media screen and (max-width: 864px) {
  .p-partner__partner ul li h3 span.-en {
    font-size: 0.9333333333rem;
    margin: 4px auto 0;
  }
}
.p-partner__partner ul li figure {
  text-align: center;
}
.p-partner__partner ul li figure img {
  margin: 30px 0;
}
.p-partner__partner ul li figure figcaption {
  text-align: left;
  border: solid 2px #E2E2E2;
  border-radius: 8px;
  font-size: 0.9333333333rem;
  font-weight: 700;
  padding: 12px 22px;
  position: relative;
}
@media screen and (max-width: 864px) {
  .p-partner__partner ul li figure figcaption {
    font-size: 0.8666666667rem;
    padding: 12px 16px;
  }
  .p-partner__partner ul li figure figcaption p {
    font-size: 0.8666666667rem;
  }
}
.p-partner__partner ul li figure figcaption:before {
  content: "";
  display: block;
  width: 26px;
  height: 13px;
  background: url(/assets/images/partner/bg-ar.svg) no-repeat;
  position: absolute;
  left: 50%;
  top: -13px;
  transform: translateX(-50%);
}
.p-partner__partner .-notes {
  font-size: 0.9333333333rem;
  font-weight: 700;
  color: #BF0000;
  margin-top: 40px;
}
@media screen and (max-width: 864px) {
  .p-partner__partner .-notes {
    font-size: 0.8666666667rem;
    margin-top: 25px;
  }
}
.p-partner__partner .p-title.-level-3 {
  margin: 80px 0 25px;
}
@media screen and (max-width: 864px) {
  .p-partner__partner .p-title.-level-3 {
    text-align: center;
    margin: 50px 0 20px;
  }
}
.p-partner__partner .p-table {
  width: 100%;
}
@media screen and (max-width: 864px) {
  .p-partner__partner .p-table th,
.p-partner__partner .p-table td,
.p-partner__partner .p-table p {
    font-size: 0.8666666667rem;
  }
}
.p-partner__partner .p-table .-head {
  color: #fff;
  background-color: #00b4a6;
}
.p-partner__partner .p-table .-head th {
  border-right: solid 1px #86D0CA;
  padding: 8px;
}
.p-partner__partner .p-table .-body {
  vertical-align: middle;
  border-bottom: solid 1px #EAEAEA;
}
.p-partner__partner .p-table .-body th {
  width: 185px;
  font-weight: 700;
  vertical-align: middle;
  text-align: center;
  background-color: #F4F4F4;
  padding: 32px 30px;
}
@media screen and (max-width: 864px) {
  .p-partner__partner .p-table .-body th {
    width: 95px;
    padding: 12px;
  }
}
.p-partner__partner .p-table .-body td {
  padding: 32px 30px;
  vertical-align: middle;
}
@media screen and (max-width: 864px) {
  .p-partner__partner .p-table .-body td {
    width: calc(95px - 100%);
    padding: 16px;
  }
}
.p-partner__partner .p-table .-body td:last-child {
  border-right: solid 1px #EAEAEA;
}
.p-partner__flow {
  padding: 130px 0 170px;
}
@media screen and (max-width: 864px) {
  .p-partner__flow {
    padding: 70px 0 80px;
  }
}
.p-partner__flow ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px 40px;
}
@media screen and (max-width: 864px) {
  .p-partner__flow ol {
    grid-template-columns: auto;
  }
}
.p-partner__flow ol li {
  position: relative;
  text-align: center;
  padding: 28px;
}
@media screen and (max-width: 864px) {
  .p-partner__flow ol li {
    font-size: 0.9333333333rem;
    padding: 28px 20px;
  }
}
.p-partner__flow ol li::after {
  position: absolute;
  top: 50%;
  right: -26px;
  content: "";
  display: block;
  width: 11px;
  height: 20px;
  background: url(/assets/images/partner/arrow.svg) no-repeat;
  transform: translate(0, -50%);
}
@media screen and (max-width: 864px) {
  .p-partner__flow ol li::after {
    top: auto;
    right: -10px;
    bottom: -33px;
    left: 50%;
    transform: rotate(90deg) translate(0px, 5px);
  }
}
.p-partner__flow ol li:last-child::after {
  content: none;
}
.p-partner__flow ol li h3 {
  font-size: 1.2666666667rem;
  font-weight: 700;
  color: #00b4a6;
}
.p-partner__flow ol li picture {
  display: block;
  margin: 24px 0;
}
@media screen and (max-width: 864px) {
  .p-partner__flow ol li picture {
    margin: 16px 0;
  }
}
.p-partner__flow ol li p {
  text-align: left;
}
.p-partner__flow ol li p a {
  color: #333;
  text-decoration: underline;
}
.p-partner__list {
  padding: 154px 0 167px;
}
@media screen and (max-width: 864px) {
  .p-partner__list {
    padding: 66px 0 80px;
  }
}
.p-partner__list nav ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px 22.5px;
}
@media screen and (max-width: 864px) {
  .p-partner__list nav ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 9px;
  }
}
.p-partner__list nav ul li {
  height: 100%;
}
.p-partner__list nav ul li[data-type=募集中] {
  position: relative;
}
.p-partner__list nav ul li[data-type=募集中]::after {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "募集中";
  font-size: 0.7333333333rem;
  color: #999999;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: solid 1px #e2e2e2;
}
.p-partner__list nav ul li[data-type=募集中] span {
  display: block;
  padding-bottom: 57.9%;
}
.p-partner__faq {
  padding: 130px 0 152px;
}
.p-partner__faq:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  width: 62.31%;
  background: #F4F4F4;
}
@media screen and (max-width: 864px) {
  .p-partner__faq {
    padding: 70px 0 80px;
  }
  .p-partner__faq:before {
    width: 48%;
  }
}
.p-partner__faq .-faq li {
  margin: 50px 0 0 0;
}
.p-partner__faq .-faq li:first-child {
  margin-top: 0;
}
.p-partner__faq .-faq li dl dt {
  font-weight: 700;
  font-size: 1.1333333333rem;
  color: #00b4a6;
  position: relative;
  padding-left: 42px;
}
@media screen and (max-width: 864px) {
  .p-partner__faq .-faq li dl dt {
    font-size: 1rem;
  }
}
.p-partner__faq .-faq li dl dt:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "Q";
  width: 30px;
  height: 30px;
  font-size: 1.1333333333rem;
  font-family: "Poppins", sans-serif;
  line-height: 1.7;
  color: #fff;
  text-align: center;
  background-color: #00b4a6;
}
@media screen and (max-width: 864px) {
  .p-partner__faq .-faq li dl dt:before {
    font-size: 1rem;
    line-height: 1.9;
  }
}
.p-partner__faq .-faq li dl dd {
  margin-top: 16px;
  padding: 26px 22px;
  font-size: 1rem;
}
@media screen and (max-width: 864px) {
  .p-partner__faq .-faq li dl dd {
    padding: 22px 18px;
  }
  .p-partner__faq .-faq li dl dd p {
    font-size: 0.8666666667rem;
  }
}

/*
---
name: company
category: Project
---
*/
/* p-company */
.p-company {
  overflow: hidden;
}
.p-company .l-header__inner:after {
  background-image: url("/assets/images/company/header.jpg");
}
@media screen and (max-width: 864px) {
  .p-company .l-header__inner:after {
    background-image: url("/assets/images/company/header-sp.jpg");
  }
}
.p-company__ttl {
  font-weight: 700;
  margin-bottom: 40px;
}
.p-company__ttl .ja {
  font-size: 33px;
  letter-spacing: 0.04em;
  line-height: 1.455;
  padding-bottom: 1px;
}
.p-company__ttl .en {
  font-size: 18px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.389;
  color: #00b4a6;
  margin-top: 3px;
}
.p-company__ttl .en.white {
  color: #fff;
  opacity: 0.6;
}

@media screen and (max-width: 864px) {
  .p-company__ttl {
    margin-bottom: 35px;
  }
  .p-company__ttl .ja {
    font-size: 27px;
    line-height: 1.297;
    padding: 2px 0 3px;
  }
  .p-company__ttl .en {
    font-size: 17px;
    line-height: 1.53;
    margin: -1px 0;
  }
}
/* p-company-lead */
.p-company-lead {
  background: #F4F4F4;
  padding: 0 0 170px;
}
.p-company-lead__wrapper {
  position: relative;
  background: #fff;
  box-shadow: 15px 15px 30px rgba(0, 0, 0, 0.05);
  margin-left: max(calc((100% - 1040px) / 2), 50px);
  z-index: 2;
}
.p-company-lead__list .item {
  display: flex;
  gap: 0 10px;
}
.p-company-lead__list .item:not(:first-child) {
  border-top: 1px solid #E2E2E2;
}
.p-company-lead__list .item__head {
  display: grid;
  place-items: center;
  place-content: center;
  flex-shrink: 0;
  width: min(35.4701%, 415px);
}
.p-company-lead__list .item__icon {
  width: 70px;
  margin-bottom: 10px;
}
.p-company-lead__list .item__ttl {
  text-align: center;
}
.p-company-lead__list .item__ttl .ja {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.475;
}
.p-company-lead__list .item__ttl .en {
  font-size: 27px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.371;
  color: #00b4a6;
  margin-top: 10px;
}
.p-company-lead__list .item__body {
  flex: 1;
  padding: 118px 50px 118px 0;
}
.p-company-lead__list .item__lead {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.334;
  padding: 1px 0 2px;
}
.p-company-lead__list .item__txt {
  letter-spacing: 0.02em;
  line-height: 1.867;
  margin: 16px 0 -3px;
}
.p-company-lead__list .vision .item__body {
  padding: 146px 50px 146px 0;
}

@media screen and (max-width: 864px) {
  .p-company-lead {
    padding: 60px 0 80px;
    margin-top: -200px;
  }
  .p-company-lead__wrapper {
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.05);
    margin: 0 25px;
  }
  .p-company-lead__list .item {
    display: grid;
    gap: 20px 0;
    padding: 35px 25px;
  }
  .p-company-lead__list .item__head {
    width: auto;
  }
  .p-company-lead__list .item__icon {
    width: 50px;
    margin-bottom: 5px;
  }
  .p-company-lead__list .item__ttl .ja {
    font-size: 27px;
    line-height: 1.297;
    padding: 3px 0 2px;
  }
  .p-company-lead__list .item__ttl .en {
    font-size: 17px;
    line-height: 1.412;
    margin-top: 0;
  }
  .p-company-lead__list .item__body {
    padding: 0 !important;
  }
  .p-company-lead__list .item__lead {
    font-size: 15px;
    line-height: 1.7334;
    text-align: center;
    padding: 0;
    margin: -2px 0;
  }
  .p-company-lead__list .item__txt {
    font-size: 15px;
    line-height: 1.7334;
    text-align: center;
    margin: 2px 0 -2px;
  }
}
/* p-company-story */
.p-company-story {
  color: #fff;
  background: #00b4a6;
  padding: 110px 0 138px;
}
.p-company-story__story {
  display: flex;
  align-items: center;
  gap: 0 80px;
}
.p-company-story__img {
  flex-shrink: 0;
  width: 282px;
}
.p-company-story__txt {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 2;
  margin: -4px 0;
}
.p-company-story__txt:not(:first-child) {
  margin-top: 28px;
}

@media screen and (max-width: 864px) {
  .p-company-story {
    padding: 70px 0 80px;
  }
  .p-company-story__story {
    flex-direction: column;
    gap: 35px 0;
  }
  .p-company-story__img {
    width: 200px;
  }
  .p-company-story__txt {
    line-height: 1.7334;
    margin: -2px 0;
  }
  .p-company-story__txt:not(:first-child) {
    margin-top: 18px;
  }
}
/* p-company-message */
.p-company-message {
  margin-top: 177px;
}
.p-company-message__about {
  display: flex;
  flex-direction: row-reverse;
  gap: 0 79px;
}
.p-company-message__img {
  width: 288px;
}
.p-company-message__name {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 2.134;
  margin: 15px 0 -5px;
}
.p-company-message__name .company {
  display: block;
}
.p-company-message__name .txt {
  display: block;
}
.p-company-message__txt {
  letter-spacing: 0.02em;
  line-height: 1.734;
  margin: -2px 0;
}

@media screen and (max-width: 864px) {
  .p-company-message {
    margin-top: 70px;
  }
  .p-company-message__about {
    flex-direction: column;
    gap: 40px 0;
  }
  .p-company-message__img {
    width: auto;
  }
  .p-company-message__img img {
    width: 100%;
    max-width: inherit;
  }
  .p-company-message__name {
    line-height: 1.7334;
    margin: 30px 0 -5px;
  }
}
/* p-company-profile */
.p-company-profile {
  position: relative;
  padding: 130px 0 170px;
  margin-top: 170px;
}
.p-company-profile:before {
  position: absolute;
  inset: 0;
  width: 61.539%;
  display: block;
  content: "";
  background: #F4F4F4;
  z-index: -1;
}
.p-company-profile__table {
  width: 100%;
  background: #fff;
  filter: drop-shadow(15px 15px 30px rgba(0, 0, 0, 0.05));
  margin-top: 45px;
}
.p-company-profile__table tr {
  border-bottom: 1px solid #E2E2E2;
}
.p-company-profile__table th,
.p-company-profile__table td {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.734;
  vertical-align: middle;
  padding: 24px 25px 22px;
}
.p-company-profile__table th {
  width: 281px;
  font-weight: 700;
  color: #00b4a6;
  border-right: 1px solid #E2E2E2;
}

@media screen and (max-width: 864px) {
  .p-company-profile {
    padding: 70px 0 80px;
    margin-top: 80px;
  }
  .p-company-profile:before {
    width: 72%;
  }
  .p-company-profile__table {
    display: block;
    border: 1px solid #E2E2E2;
    margin-top: 0;
  }
  .p-company-profile__table tr {
    display: block;
    padding: 12px 14px;
  }
  .p-company-profile__table tr:last-child {
    border-bottom: none;
  }
  .p-company-profile__table tbody {
    display: block;
  }
  .p-company-profile__table th,
.p-company-profile__table td {
    display: block;
    padding: 0;
  }
  .p-company-profile__table th {
    width: auto;
    text-align: left;
    border-right: none;
  }
  .p-company-profile__table td {
    margin-top: 3px;
  }
}
/* p-company-history */
.p-company-history {
  margin-top: 170px;
}
.p-company-history__list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 80px;
  margin-top: 51px;
}
.p-company-history__list .year {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #fff;
  background: #00b4a6;
  border-radius: 16px;
  padding: 4px 14px 4px 15px;
  margin-top: -4px;
}
.p-company-history__list .date {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 30px 0 14px;
}
.p-company-history__list .date:first-child {
  margin-top: 0;
}
.p-company-history__list .txt {
  letter-spacing: 0.02em;
  line-height: 1.734;
  margin: -2px 0;
}
.p-company-history__list dt {
  position: relative;
}
.p-company-history__list dt:before {
  position: absolute;
  inset: 0 0 0 calc(50% - 1px);
  display: block;
  content: "";
  width: 3px;
  background: #E2E2E2;
  z-index: -1;
}
.p-company-history__list dt:not(:first-of-type) {
  padding-top: 50px;
}
.p-company-history__list dt:last-of-type {
  align-self: self-start;
}
.p-company-history__list dd:not(:first-of-type) {
  padding-top: 50px;
}
.p-company-history__list dd:not(:last-child) {
  border-bottom: 1px solid #E2E2E2;
  padding-bottom: 50px;
}

@media screen and (max-width: 864px) {
  .p-company-history {
    margin-top: 70px;
  }
  .p-company-history__list {
    gap: 0 17px;
    margin-top: 40px;
  }
  .p-company-history__list .year {
    font-size: 14px;
    line-height: 1.43;
    padding: 5px 12px;
    margin-top: -5px;
  }
  .p-company-history__list .date {
    font-size: 15px;
    line-height: 1.7334;
    margin: 20px 0 10px;
  }
  .p-company-history__list dt:before {
    width: 2px;
  }
  .p-company-history__list dt:not(:first-of-type) {
    padding-top: 20px;
  }
  .p-company-history__list dd:first-of-type {
    margin-top: -3px;
  }
  .p-company-history__list dd:not(:first-of-type) {
    padding-top: 17px;
  }
  .p-company-history__list dd:not(:last-child) {
    padding-bottom: 20px;
  }
}
/*
---
name: document
category: Project
---
*/
body.document {
  background-color: #F4F4F4;
  color: #333;
}

/* p-document */
.p-document {
  overflow: hidden;
}
.p-document .l-header__inner:after {
  background-image: url("/assets/images/document/header.jpg");
}
@media screen and (max-width: 864px) {
  .p-document .l-header__inner:after {
    background-image: url("/assets/images/document/header-sp.jpg");
  }
}
.p-document__wrapper {
  position: relative;
  background: #fff;
  padding: 110px max(calc((100% - 1040px) / 2), 50px) 130px clamp(50px, calc((100% - 1040px) / 2), 130px);
  margin-left: max(calc((100% - 1040px) / 2), 50px);
  z-index: 2;
}
.p-document section:first-of-type {
  margin-top: 0;
}

@media screen and (max-width: 864px) {
  .p-document__wrapper {
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.05);
    padding: 35px 25px;
    margin: 0 25px;
  }
  .p-document section:first-of-type {
    margin-top: -140px;
  }
}
/* p-document-lead */
.p-document-lead .p-document__wrapper {
  padding-top: 120px;
}
.p-document-lead__ttl {
  font-weight: 700;
  margin-bottom: 40px;
}
.p-document-lead__ttl .ja {
  font-size: 40px;
  letter-spacing: 0.02em;
  line-height: 1.475;
}
.p-document-lead__ttl .en {
  font-size: 27px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.3704;
  color: #00b4a6;
  margin-top: 10px;
}
.p-document-lead__lead {
  letter-spacing: 0.02em;
  line-height: 1.867;
  margin: -3px 0;
}

@media screen and (max-width: 864px) {
  .p-document-lead {
    margin-top: -140px;
  }
  .p-document-lead .p-document__wrapper {
    padding-top: 35px;
  }
  .p-document-lead__ttl {
    margin-bottom: 25px;
  }
  .p-document-lead__ttl .ja {
    font-size: 27px;
    letter-spacing: 0.04em;
    line-height: 1.297;
    padding: 2px 0 3px;
  }
  .p-document-lead__ttl .en {
    font-size: 17px;
    line-height: 1.53;
    margin: -1px 0;
  }
  .p-document-lead__lead {
    line-height: 1.7334;
    margin: -2px 0;
  }
}
/* p-document-delivered */
.p-document-delivered {
  margin-top: 170px;
}
.p-document-delivered__ttl {
  font-weight: 700;
  margin-bottom: 45px;
}
.p-document-delivered__ttl .ja {
  font-size: 33px;
  letter-spacing: 0.02em;
  line-height: 1.485;
}
.p-document-delivered__ttl .en {
  font-size: 27px;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.3704;
  color: #00b4a6;
  margin-top: 12px;
}
.p-document-delivered__2col {
  display: flex;
  flex-direction: row-reverse;
  gap: 30px 80px;
}
.p-document-delivered__img {
  flex-shrink: 0;
  width: 46.443%;
}
.p-document-delivered__info {
  display: grid;
  gap: 24px 0;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.334;
  padding: 21px 12px 22px 21px;
  background: #fff;
}
.p-document-delivered__info li {
  position: relative;
  padding-left: 20px;
}
.p-document-delivered__info li:before {
  position: absolute;
  top: 8px;
  left: 0;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.p-document-delivered__info li.hotel:before {
  background: #082853;
}
.p-document-delivered__info li.roomindicator:before {
  background: #0C6735;
}
.p-document-delivered__info li.restaurant:before {
  background: #f08b00;
}
.p-document-delivered__lead {
  letter-spacing: 0.02em;
  line-height: 1.867;
  margin: 37px 0 -3px;
}

@media screen and (max-width: 864px) {
  .p-document-delivered {
    margin-top: 70px;
  }
  .p-document-delivered__ttl {
    margin-bottom: 35px;
  }
  .p-document-delivered__ttl .ja {
    font-size: 27px;
    line-height: 1.43;
  }
  .p-document-delivered__ttl .en {
    font-size: 17px;
    line-height: 1.53;
    margin: -1px 0;
  }
  .p-document-delivered__2col {
    flex-direction: column;
  }
  .p-document-delivered__img {
    width: 100%;
  }
  .p-document-delivered__info {
    gap: 22px 0;
    font-size: 16px;
    line-height: 1.375;
    padding: 21px 21px;
  }
  .p-document-delivered__info li:before {
    top: 5px;
  }
  .p-document-delivered__lead {
    margin: 23px 0 -2px;
  }
}
/* p-document-request */
.p-document-request {
  margin-top: 170px;
}
.p-document-request__ttl {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin-bottom: 69px;
}
.p-document-request__ttl span {
  display: inline-block;
}
.p-document-request__current {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
  margin-bottom: 67px;
}
.p-document-request__current li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.43;
  color: #9B9B9B;
  background: #F4F4F4;
  padding: 12px 12px 13px;
}
.p-document-request__current li.is-current {
  color: #fff;
  background: #333333;
}
.p-document-request__current li span {
  display: block;
}
.p-document-request__lead {
  letter-spacing: 0.02em;
  line-height: 1.734;
  margin: -2px 0;
}
.p-document-request__lead.center {
  text-align: center;
}
.p-document-request__downloads {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 20px;
  margin-top: 70px;
}
.p-document-request__downloads .item__head {
  position: relative;
}
.p-document-request__downloads .item__img {
  position: relative;
  box-shadow: 15px 15px 30px rgba(0, 0, 0, 0.05);
}
.p-document-request__downloads .item__img img {
  width: 100%;
}
.p-document-request__downloads .item__phone {
  position: absolute;
  right: -4px;
  bottom: 25%;
  rotate: 13deg;
}
.p-document-request__downloads .item__btn {
  transition: background 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  display: flex;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 9px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.467;
  color: #fff;
  background: #00b4a6;
  border-radius: 100px;
  text-decoration: none !important;
  padding: 19px 30px;
  margin: 30px auto 0;
}
.p-document-request__downloads .item__btn:after {
  flex-shrink: 0;
  display: block;
  content: "";
  width: 17px;
  height: 17px;
  background: currentColor;
  -webkit-mask-image: url(/assets/images/document/icon-pdf.png);
          mask-image: url(/assets/images/document/icon-pdf.png);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (hover) {
  .p-document-request__downloads .item__btn:hover {
    background: #00645c;
  }
}
.p-document-request__downloads .item.hotel .item__phone {
  width: 19.656%;
}
.p-document-request__downloads .item.roomindicator .item__phone {
  width: 18.621%;
}
.p-document-request__downloads .item.restaurant .item__phone {
  width: 18.621%;
}
.p-document-request__caption {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.462;
  color: #9B9B9B;
  text-align: center;
  margin-top: 70px;
}

@media screen and (max-width: 864px) {
  .p-document-request {
    margin-top: 80px;
  }
  .p-document-request__ttl {
    font-size: 18px;
    line-height: 1.556;
    margin: -1px 0 30px;
  }
  .p-document-request__current {
    margin-bottom: 30px;
  }
  .p-document-request__current li {
    font-size: 12px;
    line-height: 1.334;
    padding: 11px 9px 12px;
  }
  .p-document-request__lead {
    margin-top: 48px;
  }
  .p-document-request__lead.center {
    text-align: left;
  }
  .p-document-request__downloads {
    grid-template-columns: auto;
    gap: 45px 0;
    margin: 50px -7px 0 -8px;
  }
  .p-document-request__caption {
    line-height: 1.77;
    text-align: left;
    margin: 43px -8px -2px -7px;
  }
}
.u-mt_0 {
  margin-top: 4px;
}

.u-lh_xs {
  line-height: 1.2;
}

.u-lh_sm {
  line-height: 1.4;
}

.u-lh_md {
  line-height: 1.6;
}

.u-lh_lg {
  line-height: 1.8;
}

.u-tx_center {
  text-align: center;
}

.u-tx_left {
  text-align: left;
}

.u-tx_right {
  text-align: right;
}

.u-show--lg {
  display: inherit;
}
@media screen and (max-width: 1024px) {
  .u-show--lg {
    display: none;
  }
}
.u-show--md {
  display: none;
}
@media screen and (max-width: 864px) {
  .u-show--md {
    display: inherit;
  }
}
.u-show--sm {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-show--sm {
    display: inherit;
  }
}

.u-hide--md {
  display: inherit;
}
@media screen and (max-width: 864px) {
  .u-hide--md {
    display: none;
  }
}
.u-hide--sm {
  display: inherit;
}
@media screen and (max-width: 566px) {
  .u-hide--sm {
    display: none;
  }
}

.u-mt_1x {
  margin-top: 4px !important;
}

.u-mt_2x {
  margin-top: 8px !important;
}

.u-mt_3x {
  margin-top: 16px !important;
}

.u-mt_4x {
  margin-top: 24px !important;
}
