@charset "utf-8";
/**
 * Minified by jsDelivr using clean-css v5.3.3.
 * Original file: /npm/remodal@1.1.1/dist/remodal.css
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
html.remodal-is-locked{overflow:hidden;-ms-touch-action:none;touch-action:none}.remodal,[data-remodal-id]{display:none}.remodal-overlay{position:fixed;z-index:9999;top:-5000px;right:-5000px;bottom:-5000px;left:-5000px;display:none}.remodal-wrapper{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;display:none;overflow:auto;text-align:center;-webkit-overflow-scrolling:touch}.remodal-wrapper:after{display:inline-block;height:100%;margin-left:-.05em;content:""}.remodal-overlay,.remodal-wrapper{-webkit-backface-visibility:hidden;backface-visibility:hidden}.remodal{position:relative;outline:0;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}.remodal-is-initialized{display:inline-block}
/* ---------------------------------------------------------

	.remodal │ 表示・非表示のアニメーション
	（三喜LPと同じ仕様）

--------------------------------------------------------- */
.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
	-webkit-animation-duration: .3s;
	animation-duration: .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;}
.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
	-webkit-animation-duration: .3s;
	animation-duration: .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;}
@-webkit-keyframes remodal-opening-keyframes {
	from {-webkit-transform: scale(.9);transform: scale(.9);opacity: 0;}
	to {-webkit-transform: none;transform: none;opacity: 1;}
}
@keyframes remodal-opening-keyframes {
	from {-webkit-transform: scale(.9);transform: scale(.9);opacity: 0;}
	to {-webkit-transform: none;transform: none;opacity: 1;}
}
@-webkit-keyframes remodal-closing-keyframes {
	from {-webkit-transform: scale(1);transform: scale(1);opacity: 1;}
	to {-webkit-transform: scale(.9);transform: scale(.9);opacity: 0;}
}
@keyframes remodal-closing-keyframes {
	from {-webkit-transform: scale(1);transform: scale(1);opacity: 1;}
	to {-webkit-transform: scale(.9);transform: scale(.9);opacity: 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;}}
/* モーダルを開いている間、背後の本文をぼかす（.remodal-bg は index.html の <body> 直下、header/main/footer をまとめて囲うラッパー） */
.remodal-bg {transition: filter .3s ease;}
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {filter: blur(6px);}
/*--------------------------------------------------

	MODAL

--------------------------------------------------*/
/*---------------------------
	COMMON
---------------------------*/
.remodal-overlay {background: rgba(17, 17, 17, .7);}
.remodal, .remodal-wrapper:after {vertical-align: top;}
/* 開いた時に remodal が $modal.focus() するため、縦長のモーダルだと上端までスクロールされ外側の×が隠れる → 上余白分を確保 */
.remodal-wrapper {scroll-padding-top: 5em;}
.remodal {width: 92%;margin: 5em auto;background: #fff;}
/* 閉じるボタンはモーダルの右上の外側（暗い背景の上）に白い×で表示 */
.remodal .cancel {position: absolute;bottom: 101%;right: 10px;z-index: 2;width: var(--size60);height: var(--size60);border: none;border-radius: 50%;background: transparent;cursor: pointer;}
.remodal .cancel::before,
.remodal .cancel::after {content: '';position: absolute;top: 50%;left: 50%;width: 100%;height: 2px;background: #fff;}
.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: clamp(45px, calc(45px + 40 * ((100vw - 375px) / 1545)), 85px);
  background: url(../img/front/business/img_border.webp) no-repeat center / cover;
}
.remodal.business .en {
  position: absolute;
  top: clamp(25px, calc(25px + 40 * ((100vw - 375px) / 1545)), 65px);
  right: 2%;
  color: rgba(235, 23, 52, 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 #EB1734 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: #EB1734;
  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: #EB1734;
}
.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 #EB1734;
}
.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: #EB1734;
}
.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: 10px clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px) 10px 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: #EB1734;
  color: #fff;
  font-weight: 500;
  font-size: clamp(15px, calc(15px + 3 * ((100vw - 375px) / 1545)), 18px);
  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;
  vertical-align: top;
  padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px) 0;
}
.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;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 .container {box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);background: #fff;}
.remodal.map .container h3 {
	padding: 5% 6%;
	background: #EB1734;
	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;overflow: hidden;}
.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: #EB1734;
}
.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: #EB1734;
  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: #EB1734;
  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%;}
}