@charset "UTF-8";


/*common*/
/*=====================================*/
body,header,nav,footer,section,label,input,textarea,button,form,
h1,h2,h3,h4,h5,a,p,img,td,ul,li,dl,dt,dd,small,container,row,table {
		color:#FFFFFF;
		margin: 0px;
        padding: 0px;
	}
body {
		width:100%;
        font-family: "Libre Baskerville", serif;
        line-height: 1.6;
        margin: 0px;
        padding: 0px;
        background-color:#caaed6;
		color:#FFFFFF;
    }
header,.m-visual,section {
	max-width:1280px;
	width:100%;
	margin:0 auto;
	}
h1,h2,h3,h4,h5 {font-family: "Playfair Display", serif; letter-spacing: 0.08em;}
h1 {text-align:center; font-size:15px;}
h2 {font-size:32px;	padding:50px 0px 0px 20px; font-weight:bold;}
h3 {font-size:20px; margin:10px 0px 0px 20px; padding-left:10px; border-left:5px solid #ffffff;}
h4 {font-size:20px; font-weight:bold;}
p {font-family: "Libre Baskerville", serif;letter-spacing: 0.05em;}
li {list-style:none;}
a {text-decoration: none;}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mt60{margin-top:60px;}
.ml10{margin-left:10px;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb60{margin-bottom:60px;}

.pr20{padding-right:20px;}
.pr30{padding-right:30px;}
.pr40{padding-right:40px;}
.pr50{padding-right:50px;}
.bb1 {border-bottom:1px solid #ffccb3;margin:0px 50px;}
.bl5-g {border-left:5px solid #58595b;}
.bn {border:none;}
.bg01{background:#662d91;}
.bg02{background:#e8d4ff;}
.fcg {color:#58595b;}
.clear{clear: both;}



/* header */
/*=====================================*/
header {
	height:100px;
	background:#662d91;
	}
h1.md {display:none;}
h1.sm {display:none;}
img.logo {display:block; width:100%; height:auto; paddign:5px 10px;}
nav.navigation > ul {
	display:block;
	width:100%;
	height:50px; 
	text-align:right;
	margin-top:30px;
	}
nav.navigation > ul li {
	display:inline-block;
	width:200px;
	height:40px;
	font-size:18px;
	text-align:center;
	line-height: 40px;
	margin-top:10px;
	}
nav.navigation > ul li.en,nav.navigation > ul li.ja	{width:30px;}

/*m-visual*/
/*=====================================*/
.m-visual {
	width: 100%; /* 幅を親要素いっぱいに */
	height: auto; /* 高さを自動調整 */
	background-image:url("../images/main.jpg");
	background-repeat: no-repeat;
	background-size: cover; /* 画像を崩さずエリア全体を覆う */
	background-position: right; /* 画像の中心を配置 */
	aspect-ratio: 16 / 9; /* アスペクト比を維持 (例: 16:9) */	
	}
		
/*contents  START*/
	
/* cont1 */
/*=====================================*/
section.cont1 {background:#482a68;}
.cont1-txt1,.cont1-txt2,.cont1-txt3 {
	margin:40px 0px 0px 30px;
	line-height:35px;
	}
.cont1-txt2,.cont1-txt3 {margin:40px 0px 50px 30px;}
img.pic1 {display:block; width:100%; margin: 0px 0px 0px auto;}
.cont1-txt3 ul li {color:#58595b;}

/* cont2 */
/*=====================================*/
section.cont2 {background:#482a68;}
h3.bn {padding-left:0px;}
.cont2-txt1,.cont2-txt2{margin:40px 0px 0px 30px;line-height:30px;}
.cont2-txt1{margin:40px 0px 50px 30px;}
.cont2-txt1 dl {margin-left:;}
.cont2-txt1 dl > dd {margin-bottom:15px;}

/* cont3 */
/*=====================================*/
section.cont3 {background:#e8d4ff;}
.cont3-txt1{margin:40px 0px 0px 30px;line-height:30px;}
.cont3-txt1 dl {margin-left:;}
.cont3-txt1 dl > dt,.cont3-txt1 dl > dd {color:#58595b;}
.cont3-txt1 dl > dd {margin-bottom:15px;}
img.pic2 {display:block;width:100%; margin: 0px 0px 0px auto;}


/* cont4 */
/*=====================================*/
section.cont4 {background:#662d91;}
.cont4-txt1{margin:20px 0px 0px 20px;line-height:30px;}
h3.menu-head {
	margin-top:50px;
	font-size:25px;
	border-left:30px solid #ffffff;
	}
.menu-box {
	margin:10px 15px 20px 18px;
	padding:20px 25px;
	border-radius:5px;
	box-shadow:0px 3px 5px #231f20;
	background:#431b66;
	}
h3.m-name {
	margin:0px;
	padding:0px;
	font-weight:bold;
	font-size:25px;
	border:0px;
	}
h3.m-name2 {
	margin:30px 0px 0px 0px;
	padding:0px;
	font-weight:bold;
	font-size:25px;
	border:0px;
	}
p.a {margin-top:10px;}
.recommended-box {
	margin-top:20px;
	padding:20px 25px;
	border-radius:8px;
	border:3px solid #FFFFFF;
	background:#caaed6;
	}
span.reco-title {color:#431b66;font-weight:bold;}
ul.reco-txt {display:block; margin-top:15px;}
ul.reco-txt li {
	color:#431b66;
	list-style:circle;
	margin-left:20px;
	}
.price-box {
	margin-top:20px;
	padding:20px 0px;
}
table.price-table {
	margin-left:auto;
	margin-right:0px;
	}
table.price-table th.table-head {padding-bottom:20px;}
table.price-table td.mins {padding-right:100px;}
table.price-table td.price {text-align:right;}
table.price-table th.other-price,table.price-table th.area {padding-right:120px;}
table.price-table th.area {padding-right:35px;}

/* cont5 */
/*=====================================*/
section.cont5 {background:#482a68;}
.cont5-txt1{
	margin:20px 0px 0px 20px;
	line-height:30px;

	}
table.payment-table {
	display:block;
	max-width:620px;
	width:100%;
	margin-top:50px;
	margin-bottom:50px;
	padding:20px 25px;
	border-radius:8px;
	border:3px solid #FFFFFF;
	background:#caaed6;
	}
table.payment-table th,
table.payment-table td.p-explain {padding-left:20px;color:#431b66;}
.copy-button i {
	transition: all 0.2s ease;
}

/* cont6 */
/*=====================================*/
section.cont6 {background:#e8d4ff;}
.cont6-txt1,.cont6-txt2 {margin:20px 0px 0px 20px;line-height:30px;}
.cont6-txt1 P {
	max-width:620px;
	width:100%;
	padding:20px 25px;
	color:#be1e2d;
	font-weight:bold;
	border:3px solid #be1e2d;
	border-radius:8px;
	background:#ffffff;
	}
.cont6-txt1 span {display:block;margin-top:10px;color:#58595b;}
.cont6-txt2 {margin-top:40px;}
.cont6-txt2 P {
	max-width:620px;
	width:100%;
	padding:20px 25px;
	color:#FFFFFF;
	font-weight:bold;
	border:3px solid #FFFFFF;
	border-radius:8px;
	background:#482a68;
	}
table.contact-icon {display:block;}
table.contact-icon td {padding:20px 10px;}
table.contact-icon td img {width:65px; height:65px;}
.btn-box {margin:50px 0px;}
button {
	display:block;
	padding:5px 10px;
	margin-bottom:20px;
	font-family: "Libre Baskerville", serif;
	border:3px solid #FFFFFF;
	border-radius:8px;
	background:#482a68;
	}
	
/* cont7 */
/*=====================================*/
section.cont7 {background:#482a68;}
.cont7-txt1,p.tandc-sub {margin:20px 0px 0px 20px;line-height:20px;}
.cont7-txt1 P {margin-top:10px;font-size:12px}
.cont7-txt1 P.tandc-title {font-weight:bold;}
P.tandc-cont {margin-bottom:30px;}
	
/* responsive */
/*=====================================*/

/* Nav container */
.nav-container {
  position: relative;
  z-index: 1000;
}
/* Hamburger button */
.hamburger {
  position: fixed;
  top: 35px;
  right: 20px;
  width: 40px;
  height: 24px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1100;
}
.hamburger span {
  display: block;
  height: 3px;
  width: 100%;
  background: #fff;
  margin: 5px 0;
  transition: 0.3s;
}
.slide-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 80%;
  max-width: 320px;
  height: 100%;
  background: #5a2d82;
  box-shadow: -8px 0 30px rgba(0,0,0,0.15);
  padding: 80px 30px;
  z-index: 1200 !important;; /* ←最重要 */

  /* Animation */
  opacity: 0;
  transform: translateX(40px);
  transition:
    right 0.6s cubic-bezier(0.4, 0.0, 0.2, 1),
    opacity 0.4s ease,
    transform 0.6s cubic-bezier(0.4, 0.0, 0.2, 1);
}
.slide-menu a {
  font-family: "Playfair Display", "Noto Serif", serif;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.04em;
}
.slide-menu.active {
  right: 0;
  opacity: 1;
  transform: translateX(0);
}
/* Active state */
.slide-menu.active {
  right: 0;
}
/* Close button */
.close-btn {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 30px;
  background: none;
  border: none;
  cursor: pointer;
}
.menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.35);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
  z-index: 1050;
}
.menu-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
/* Menu list */
.slide-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.slide-menu li {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}
.slide-menu.active li {
  opacity: 1;
  transform: translateY(0);
}
.slide-menu.active li:nth-child(1) { transition-delay: 0.15s; }
.slide-menu.active li:nth-child(2) { transition-delay: 0.25s; }
.slide-menu.active li:nth-child(3) { transition-delay: 0.35s; }
.slide-menu.active li:nth-child(4) { transition-delay: 0.45s; }

table.lang-sp {
	position:absolute;
	left:0px;
	bottom:0px;
	width:100%;
	table-layout: fixed; /* 列幅を均等に固定 */
	border-collapse: collapse;
}
table.lang-sp td {
	height:70px;
	border-top:0.5px solid #5a2d82;
}
table.lang-sp td.eng {
	border-left:0.5px solid #5a2d82;
}
table.lang-sp td.jap {
	border-left:0.5px solid #5a2d82;
	border-right:0.5px solid #5a2d82;
}
table.lang-sp td a {
	display:block;
	width:100%;
	height:70px;
	padding:23px;
	text-align:center;
	background: linear-gradient(to bottom, #5a2d82 0%, #482a68 100%);
	transition:0.3s;
}
table.lang-sp td a:hover {
	color:#caaed6;
	background: linear-gradient(to bottom, #482a68 0%, #5a2d82 100%);
}

@media (min-width: 521px) and (max-width: 991px) {
	h1.md {display:block;}
}
@media screen and (max-width: 1399px) {
	h1{font-size:12px;}
}
@media screen and (max-width: 1199px) {
	img.logo {margin-top:10px;}
	img.pic1 { margin:60px 0px 50px auto}
	img.pic2 {margin:230px 0px 70px auto}
}
@media screen and (min-width: 991px) {
	nav.md {display:none;}
}
@media screen and (max-width: 991px) {
	h1.pc {display:none;}
	img.logo {margin-top:20px;}
	nav.pc {display:none;}
	nav.md {display:block;}
	img.pic1 { margin:170px 0px 50px auto}
	img.pic2 {margin:370px 0px auto;}
}
@media screen and (max-width: 767px) {
	.pe-0 {padding-left:0px !important}
	img.logo {width:60%;margin-top:12px;}
	img.pic1 {margin:20px auto 0px auto}
	img.pic2 {margin:20px 0px auto;}
	table.price-table {margin:0px}
	table.payment-table ta.p-explain {padding-bottom:20px;}
}
@media screen and (max-width: 575px) {
	img.logo {width:40%;margin-top:12px;}
}
@media screen and (max-width: 575px) {
	img.logo {width:40%;margin-top:12px;}
}
@media screen and (max-width: 520px) {
	h1.sm {display:block;}
}
@media screen and (max-width: 469px) {
	table.contact-icon td {padding:20px 5px;}
	table.contact-icon td img {width:50px; height:50px;}
}
@media screen and (max-width: 445px) {
	header {height:80px;}
	.hamburger {top: 25px;}
}