.sw-modal-overlay{
  position: fixed;
  inset: 0; /* Safari対策込みでこれを正にする */
  background: rgba(0,0,0,.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 2147483647;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.sw-modal-overlay[data-open='1']{
  display: flex;
}

.sw-modal-box{
  background:#fff;
	padding:24px;
	border-radius:10px;
  text-align:center;
  width:80%;
  max-width:400px;
  box-shadow:0 4px 15px rgba(0,0,0,.2);
}

.sw-modal-title{
  font-size:18px;
  font-weight:600;
  margin-bottom:12px;
  color:#333;
}

.sw-modal-msg{
  font-size:16px;
  margin-bottom:24px;
  line-height:1.6;
	overflow-wrap:anywhere;
  color:#555;
}

.sw-modal-actions{
  display:flex;
	gap:12px;
	justify-content:center;
  align-items:center;
}

.sw-modal-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #999;
  background:#fff;
  color:#333;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  font-size:22px;
	font-weight:400;
	border-radius:4px;
  min-width:150px;
  min-height:48px;
	padding:12px 16px;
	text-align:center;
  text-decoration:none;
}

.sw-modal-actions .sw-modal-btn[data-variant='set1']{
background:#000080 !important;
color:#fff !important;
border-color:#000080 !important;
}

.sw-modal-actions .sw-modal-btn[data-variant='set1']:hover{
  background:#555555 !important;
  color:#fff !important;
  border-color:#555555 !important;
}

.sw-modal-actions .sw-modal-btn[data-variant='set2']{
  background:#f5f5f5 !important;
  color:#333 !important;
  border-color:#ccc !important;
}

.sw-modal-actions .sw-modal-btn[data-variant='set2']:hover{
  background:#555555 !important;
  color:#fff !important;
  border-color:#555555 !important;
}

@media (max-width: 480px) {
.sw-modal-btn{
  font-size: 16px;
  min-width: 120px;
  min-height: 44px;
  padding: 10px 12px;
  }
}