@charset "UTF-8";

/************************************************

dialog

*************************************************/


/* ダイアログ開時に背景のスクロールを防ぐ */
html:has(dialog[open]) {
  overflow: hidden;
}

/* ダイアログにCSSトランジションを設定 */
dialog{
  transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
/* ダイアログ開時の背景 */
dialog::backdrop {
	background: rgba(0, 0, 0, 0.3);
}

/* ダイアログメニュー */
dialog.js-dialog-menu{
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	width: 50%;
	left: auto;
	margin: 0;
	border: 0;
	outline: 0;
	padding: 0;
}
/* ダイアログメニューの表示前*/
dialog.js-dialog-menu.show-from,
dialog.js-dialog-menu.hide-to{
  translate: 100% 0%;
}
/* ダイアログメニューの表示前、非表示後は背景を透明にする */
dialog.js-dialog-menu.show-from::backdrop,
dialog.js-dialog-menu.hide-to::backdrop{
  opacity: 0;
}

/* ダイアログモーダル
dialog.js-dialog-modal{
  opacity: 1;
}
/* モーダルの表示前、非表示後は下に移動 */
dialog.js-dialog-modal.show-from,
dialog.js-dialog-modal.hide-to {
  opacity: 0;
  translate: 0% 10%;
}

/* モーダルの表示前、非表示後は背景を透明にする */
dialog.js-dialog-modal.show-from::backdrop,
dialog.js-dialog-modal.hide-to::backdrop {
  opacity: 0;
}


.dialog-menu-btn {
	position: relative;
	width: 32px;
	height: 20px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}
.dialog-menu-btn span {
  position: relative;
  width: 32px;
  height: 1px;
  background-color: #000;
  transition: transform .2s cubic-bezier(.27,1.2,.6,1);
}


.dialog_btn {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
  margin-top: 30px;
}

.dialog_btn .btn{
	background: transparent;
	border: 1px #644839 solid;
	color: #644839;
}
.dialog_btn .btn:after {
  background-color: #644839;
}

@media (any-hover: hover) {
  .dialog-menu-btn:hover span:nth-child(1) {
	  transform: translateY(3px)
  }
  .dialog-menu-btn:hover span:nth-child(3) {
	  transform: translateY(-3px)
  }
}

.dialog-menu-btn.js-dialog-menu-close{
	background:#000;
	padding: 10px;
	height: 56px;
	width: 56px;
	margin: 0 0 0 auto;
	align-items: center;
}
.dialog-menu-btn.js-dialog-menu-close span {
  position: absolute;
  background-color: #fff;
}
.dialog-menu-btn.js-dialog-menu-close span:nth-child(1) {
   transform: translateY(18px) rotate(-45deg);
}
.dialog-menu-btn.js-dialog-menu-close span:nth-child(2) {
  opacity: 0;
}
.dialog-menu-btn.js-dialog-menu-close span:nth-child(3) {
    transform: translateY(18px) rotate(45deg);
}


.js-dialog-modal {
	padding: 30px 20px;
	border-radius: 20px;
	max-width: 780px;
	background:#fff;
	margin:auto;
	width: 96%;
}
.js-dialog-modal .js-dialog-inner {
	display: grid;
	gap: 22px;
	justify-content: center;
	justify-items: center;
	grid-template-columns: 1fr;
}

.js-dialog-modal .js-dialog-inner .head{
	font-weight: 500;
	font-size: 16px;
	line-height: 160%;
	text-align: center;
	background:#D9D9D9;
	padding:6px;
	  width: 100%;
}

.js-dialog-modal .js-dialog-inner ul{
  list-style: disc;
  margin-left: 25px;
  font-weight: 400;
  font-size: 14px;
  line-height: 170%;
}

.js-dialog-modal .js-dialog-inner a{
  text-align: center;
  color: #000;
  /* display: inline-block; */
  border-bottom: 1px #000 solid;
  text-decoration: none;
}
.js-dialog-inner .js-dialog-close {
	font-weight: 500;
	font-size: 14px;
	line-height: 160%;
	letter-spacing: 10%;
	text-align: center;
	background:#000;
	color: #fff;
	padding: 8px 40px;
	border-radius: 5px;
	margin: 20px auto 0;
}



.cms__tokuten {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

.cms__element_img img{
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.cms__element_img figure {
  position: relative;
}
.cms__element_img figure figcaption {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #fff;
  font-size: 11px;
}

.cms__element_headling,
.cms__element_wysiwyg{
	padding: 0 16px;
}


.cms__element_headling h3{
	color: #F0ECCD;
	font-family: Zen Old Mincho;
	font-weight: 700;
	font-size: 21px;
	line-height: 140%;
	color: #0B2E5E;
	text-align: center;
	padding: 16px 0;
}
.cms__element_wysiwyg p{
  font-size: 14px;
  font-weight: 500;
}

.js-dialog-open,
.cms__btn__basic {
	border: 1px #281815 solid;
	padding: 15px 10px;
	display: table;
	width: auto;
	border-radius: 99999px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	border: 1px #0B2E5E solid;
	background: #0B2E5E;
	color: #fff;
	min-width: 248px;
	margin: 20px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	cursor: pointer;
}


.js-dialog-open:after,
.cms__btn__basic span:after  {
  mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20123.93%20123.93%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20d%3D%22M61.97%2C0C27.74%2C0%2C0%2C27.74%2C0%2C61.97s27.74%2C61.97%2C61.97%2C61.97%2C61.97-27.74%2C61.97-61.97S96.19%2C0%2C61.97%2C0ZM81.11%2C65.62l-23.24%2C23.24c-1.01%2C1.01-2.33%2C1.51-3.65%2C1.51s-2.64-.5-3.65-1.51c-2.02-2.02-2.02-5.29%2C0-7.3l19.59-19.59-19.59-19.59c-2.02-2.02-2.02-5.29%2C0-7.3s5.29-2.02%2C7.3%2C0l23.24%2C23.24c2.02%2C2.02%2C2.02%2C5.29%2C0%2C7.3Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
}
.btn__icon:after {
display:none;
}

.cms__btn__basic span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.js-dialog-open:after,
.cms__btn__basic span:after  {
  content: "";
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: currentColor;
  background-repeat: no-repeat;
  background-position: center;
  width: 12px;
  height: 12px;
  display: block;
}


.js-dialog-modal .js-dialog-inner p {
  width: 100%;
}

.js-dialog-modal {
  width: 80%;
}