@charset "utf-8";
/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  -webkit-filter: blur(3px);
  filter: blur(3px);
}
/* Default theme styles of the overlay */
.remodal-overlay {
  background: rgba(43, 46, 56, 0.5);
}
.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes;
}
.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes;
}
/* Default theme styles of the modal dialog */
.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes;
}

/* Vertical align of the modal dialog */

.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}

/* Close button */

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
  font: inherit;

  display: inline-block;
  overflow: visible;

  min-width: 110px;
  margin: 0;
  padding: 12px 0;

  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;

  border: 0;
  outline: 0;
}

.remodal-confirm {
  color: #fff;
  background: #81c784;
}

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a;
}

.remodal-cancel {
  color: #fff;
  background: #e57373;
}

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350;
}

/* Remove inner padding and border in Firefox 4+ for the button tag. */

.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal_close::-moz-focus-inner {
  padding: 0;

  border: 0;
}

/* Keyframes
   ========================================================================== */

@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);

    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;

    opacity: 1;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);

    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;

    opacity: 1;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);

    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);

    opacity: 0;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);

    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);

    opacity: 0;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@-webkit-keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* IE8
   ========================================================================== */
.lt-ie9 .remodal-overlay {
	background: #2b2e38;
}
.lt-ie9 .remodal {
	width: 700px;
}
html.remodal-is-locked {
	overflow: hidden;
	-ms-touch-action: none;
	touch-action: none;
}
/* Anti FOUC */
.remodal,
[data-remodal-id] {
	display: none;
}
/* Necessary styles of the overlay */
.remodal-overlay {
	position: fixed;
	z-index: 9999;
	top: -5000px;
	right: -5000px;
	bottom: -5000px;
	left: -5000px;
	display: none;
}
/* Necessary styles of the wrapper */
.remodal-wrapper {
	position: fixed;
	z-index: 10000;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	overflow: auto;
	text-align: center;
	padding: 80px 20px;
	-webkit-overflow-scrolling: touch;
}
.remodal-wrapper:after {
	display: inline-block;
	height: 100%;
	margin-left: -0.05em;
	content: "";
}
/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.remodal-is-initialized {
	/* Disable Anti-FOUC */
	display: inline-block;
}
/*--------------------------------------------------

	MODAL

--------------------------------------------------*/
/*---------------------------
	COMMON
---------------------------*/
.remodal {
  display: inline-block;
	position: relative;
	transform: translate3d(0, 0, 0);
	margin: 0 auto;
  overflow: hidden;
	background: #fff;
}
.remodal .cancel {
  position: absolute;
  top: 40px;
  right: 20px;
  width: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
  height: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
  border: none;
  background: transparent;
}
.remodal .cancel::before,
.remodal .cancel::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 1px;
  height: 100%;
  background: #222;
}
.remodal .cancel::before {transform: translate(-50%, -50%) rotate(45deg);}
.remodal .cancel::after {transform: translate(-50%, -50%) rotate(-45deg);}
/*---------------------------
	BUSINESS
---------------------------*/
.remodal.business {position: relative;max-width: 1424px;box-shadow: 3px 3px 15px rgba(0, 0, 0, 16%);}
.remodal.business .header {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 30px;
  background: linear-gradient(90deg, #0D6A81, #72939A);
}
.remodal.business .en {
  position: absolute;
  top: 0;
  right: 2%;
  color: rgba(14, 105, 129, 11%);
  font-size: clamp(50px, calc(50px + 114 * ((100vw - 375px) / 1545)), 164px);
  line-height: 1;
  letter-spacing: .1em;
  word-break: keep-all;
}
.remodal.business .block {
  padding: clamp(20px, calc(20px + 35 * ((100vw - 375px) / 1545)), 55px);
  padding-bottom: clamp(45px, calc(45px + 40 * ((100vw - 375px) / 1545)), 85px);
}
.remodal.business .block .title_wrap {
  padding-top: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
  padding-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
  padding-left: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
  border-left: solid #0E6981 clamp(10px, calc(10px + 6 * ((100vw - 375px) / 1545)), 16px);
}
.remodal.business .block .title_wrap h2 {
  position: relative;
  margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
  padding-left: 30px;
  color: #0E6981;
  font-weight: 500;
  font-size: clamp(20px, calc(20px + 15 * ((100vw - 375px) / 1545)), 35px);
  line-height: 1.4;
}
.remodal.business .block .title_wrap h2::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #0E6981;
}
.remodal.business .block .title_wrap p {
  font-size: clamp(15px, calc(15px + 4 * ((100vw - 375px) / 1545)), 19px);
  letter-spacing: .022em;
}
.remodal.business .block .container {
  padding-top: clamp(20px, calc(20px + 15 * ((100vw - 375px) / 1545)), 35px);
  padding-left: clamp(20px, calc(20px + 65 * ((100vw - 375px) / 1545)), 85px);
  overflow: hidden;
  border-left: 1px solid #0E6981;
}
.remodal.business .block .container h3 {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(20px, calc(20px + 40 * ((100vw - 375px) / 1545)), 60px);
}
.remodal.business .block .container h3::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
  width: 100%;
  height: 1px;
  background: #0E6981;
}
.remodal.business .block .container h3 span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
  z-index: 1;
  padding-right: 10px;
  background: #fff;
  font-weight: 500;
  font-size: clamp(18px, calc(18px + 12 * ((100vw - 375px) / 1545)), 30px);
}
.remodal.business .block .container h3 span img {width: clamp(28px, calc(28px + 20 * ((100vw - 375px) / 1545)), 48px);}
.remodal.business .block .container .wrap {align-items: flex-start;}
.remodal.business .block .container .wrap table {width: 60%;}
.remodal.business .block .container .wrap table tr th {
  padding-right: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
  padding-left: 10px;
}
.remodal.business .block .container .wrap table tr th span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: clamp(100px, calc(100px + 200 * ((100vw - 375px) / 1545)), 300px);
  padding: 10px 20px;
  background: #0E6981;
  color: #fff;
  font-weight: 500;
  font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
  line-height: 1.4;
  text-align: center;
}
.remodal.business .block .container .wrap table tr th span::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 105%;
  transform: translateY(-50%);
  width: 50px;
  height: 1px;
  background: linear-gradient(to right, #707070 4px, transparent 4px) repeat-x;
  background-size: 9px 1px;
}
.remodal.business .block .container .wrap table tr th span span {flex: 1;padding: 0;}
.remodal.business .block .container .wrap table tr th span span::before {display: none;}
.remodal.business .block .container .wrap table tr td {
  position: relative;
  padding-top: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
  padding-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
}
.remodal.business .block .container .wrap table tr:first-child td {padding-top: 0;}
.remodal.business .block .container .wrap table tr:last-child td {padding-bottom: 0;}
.remodal.business .block .container .wrap table tr td::before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #707070 4px, transparent 4px) repeat-x;
  background-size: 8px 1px;
}
.remodal.business .block .container .wrap table tr:last-child td::before {display: none;}
.remodal.business .block .container .wrap table tr td ul {display: grid;gap: 20px;margin-bottom: 20px;}
.remodal.business .block .container .wrap table tr td ul:last-child {margin-bottom: 0;}
.remodal.business .block .container .wrap table tr td ul li {position: relative;padding-left: 10px;}
.remodal.business .block .container .wrap table tr td ul li::before {content: '•';position: absolute;left: 0;}
.remodal.business .block .container .wrap table tr td ul li h4 {font-weight: 500;line-height: 1.7;}
.remodal.business .block .container .wrap ul.img {
  display: grid;
  gap: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
  width: 30%;
}
/*---------------------------
	COMPANY MAP
---------------------------*/
.remodal.map {max-width: 400px;}
.remodal.map .cancel {top: 6%;right: 5%;width: 19px;height: 19px;}
.remodal.map .cancel::before,
.remodal.map .cancel::after {background: #fff;}
.remodal.map .container {box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);background: #fff;}
.remodal.map .container h3 {
	padding: 5% 6%;
	background: #0E6981;
	color: #fff;
	font-weight: 500;
	font-size: clamp(15px, calc(15px + 3 * ((100vw - 375px) / 1545)), 18px);
}
.remodal.map .container .wrap {position: relative;padding: 4% 6% 6%;}
.remodal.map.skyblue .container .wrap {padding-bottom: 17%;}
.remodal.map .container .wrap .content {margin-bottom: 5%;}
.remodal.map .container .wrap .content p {border-bottom: 1px solid #707070;margin-bottom: 5%;padding-bottom: 5%;line-height: 2;}
.remodal.map .container .wrap .content p:last-child {margin-bottom: 0;padding-bottom: 0;border-bottom: none;}
.remodal.map .container .wrap .icon {position: absolute;right: 0;bottom: 0;width: 30%;}
.remodal.map.skyblue .container .wrap .icon {right: -4%;bottom: -4%;width: auto;}
.remodal.map.skyblue .container .wrap .icon img {height: 10em;}
/*---------------------------
	VOICE
---------------------------*/
.remodal.voice {max-width: 1000px;}
.remodal.voice .main_block {padding-top: 25px;}
.remodal.voice .main_block figure {position: relative;z-index: 2;width: 45%;}
.remodal.voice .main_block figure img {
  height: clamp(400px, calc(400px + 100 * ((100vw - 375px) / 1545)), 500px);
  object-fit: cover;
  object-position: top center;
}
.remodal.voice .main_block .wrap {
  width: 54%;
  padding-top: 8%;
  padding-right: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
}
.remodal.voice .main_block .wrap dl {
  display: flex;
  align-items: center;
  gap: clamp(20px, calc(20px + 25 * ((100vw - 375px) / 1545)), 45px);
  position: relative;
  z-index: 1;
  margin-bottom: 20px;
}
.remodal.voice .main_block .wrap dl::before {
  content: '';
  position: absolute;
  top: 0;
  left: calc(0% - 50vw);
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #0E6981;
}
.remodal.voice .main_block .wrap dl dt {
  color: #fff;
  font-size: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
  letter-spacing: .1em;
}
.remodal.voice .main_block .wrap dl dd {flex: 1;color: #fff;letter-spacing: .1em;}
.remodal.voice .main_block .wrap dl dd span {display: block;font-weight: bold;line-height: 1.7;}
.remodal.voice .main_block .wrap h2 {
  margin-bottom: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
  color: #0E6981;
  font-weight: bold;
  font-size: clamp(16px, calc(16px + 8 * ((100vw - 375px) / 1545)), 24px);
  line-height: 1.4;
}
.remodal.voice h3 {
  display: inline-block;
  transform: skewX(-10deg);
  margin-bottom: 15px;
  padding: 5px 15px;
  background: #0E6981;
  color: #fff;
  font-weight: bold;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);
  text-align: center;
}
.remodal.voice h3 span {display: block;position: relative;transform: skewX(10deg);padding-left: 20px;line-height: 1.4;}
.remodal.voice h3 span::before {content: 'Q.';position: absolute;left: 0;}
.remodal.voice .faq_block {
  padding: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
  padding-right: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
  padding-left: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
}
.remodal.voice p {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
.remodal.voice p:last-child {margin-bottom: 0;}
.remodal.voice .faq_block ul li {margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);}
.remodal.voice .faq_block ul li:nth-child(odd) {flex-direction: row-reverse;}
.remodal.voice .faq_block ul li figure {width: 40%;}
.remodal.voice .faq_block ul li .wrap {width: 55%;}
.remodal.voice .faq_block ul li .wrap .content {margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);}
.remodal.voice .faq_block ul li .wrap .content:last-child {margin-bottom: 0;}
.remodal.voice .faq_block .container {
  padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
  border: 1px solid #222;
}
@media only screen and ( max-width : 1024px ) {
  .remodal.business .block .container .wrap table {width: 100%;margin-bottom: 30px;}
  .remodal.business .block .container .wrap ul.img {grid-template-columns: repeat(2, 1fr);width: 100%;}
}
@media only screen and ( max-width : 767px ) {
  .remodal.business .block .container .wrap table tr {display: block;padding-bottom: 20px;}
  .remodal.business .block .container .wrap table tr:last-child {padding-bottom: 0;}
  .remodal.business .block .container .wrap table tr th {display: block;margin-bottom: 20px;padding: 0;}
  .remodal.business .block .container .wrap table tr th span {justify-content: flex-start;width: 100%;}
  .remodal.business .block .container .wrap table tr th span span {margin-left: 20px;}
  .remodal.business .block .container .wrap table tr td {display: block;padding: 0;}
  .remodal.business .block .container .wrap table tr td::before {display: none;}

  .remodal.voice .main_block figure {width: 100%;}
  .remodal.voice .main_block .wrap {width: 100%;padding: 20px 20px 0;}
  .remodal.voice .main_block .wrap dl::before {left: calc(50% - 50vw);}
  .remodal.voice .faq_block ul li figure {width: 100%;margin-bottom: 20px;}
  .remodal.voice .faq_block ul li .wrap {width: 100%;}
}