@charset "UTF-8";

/*common*/
/*=====================================*/
.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}
body,header,nav,label,input,textarea,button,form,
h1,h2,h3,h4,h5,a,p,img,li,dl,dt,dd,small,container {
			color:#D4AF37;
			margin: 0;
            padding: 0;
		}
h1 {font-size:12px;color:#D4AF37;}
h2 {}
h3 {font-weight:bold;background:#2f1744;}
h4 {font-size:20px; font-weight:bold;}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.ml10{margin-left:10px;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.bb1 {border-bottom:1px solid #ffccb3;margin:0px 50px;}
li {list-style:none;}
.solid {
		
		border-top:1px solid #ffccb3;
		border-bottom:1px solid #ffccb3;
	}
.clear{clear: both;}
body {
			width:100%;
            font-family: Arial, sans-serif;
            line-height: 1.6;
            margin: 0;
            padding: 0;
            background-color:#2f1744;
			color:#D4AF37;
        }
.sp {display:none;}
.htop-lang-s {display:none;}



/* header */
/*=====================================*/
header > .container {padding:0px; margin:0px auto;}
a img.logo {
		display:block;
		width:155px;
		height:40px;
		margin:0px;
		padding:0px;
	}
h1.htop-txt {margin:0;padding:3px 10px 0;text-align:center;}
ul.htop-lang {display:block;text-align:right;margin:5px 0px 0px;
}
ul.htop-lang li {
		display:inline;
		font-size:13px;
		margin-left:auto;
		margin-right:0px;
	}
ul.htop-lang li a {transition:0.3s;}
ul.htop-lang li a:hover {color:#fff;}
.main-visual {
    position: relative;
    width: 100%;
    height: 500px; /* 必要に応じて変更 */
    background-image: url('../images/main.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
	flex-direction: column; /* ← これで縦並びになる */
    justify-content: center;  /* 横方向センター */
    align-items: center;      /* 縦方向センター */
    text-align: center;       /* 中央寄せ */
}
.hmain-txt {
    font-size: 52px;
    margin-bottom: 10px;
	color:#ffffff;
}
.hmain-subtxt {
    font-size: 18px;
    line-height: 1.6;
	color:#ffffff;
}

/*nav*/
/*=====================================*/	
nav {
			display:block;
            width:100%;
			height:70px;
			margin:0px;
			padding:0px;
			background:#261238;
        }
.pc-menu {
		max-width:1125px;
		width:100%;
		margin:0px auto;
		text-align:center;
	}
.pc-menu ul {
		display:flex;
		justify-content: space-evenly;
		height:70px;
		padding-top:20px;
	}
.pc-menu ul li {
		color:black;
		padding:5px 0px 0px;
	}
.pc-menu a {
}
nav a {
            color: white;
            padding: 14px 20px;
            text-decoration: none;
            text-align: center;
			transition:0.3s;
        }

nav a:hover {
            color: #D4AF37;
        }
		
/*contents  START*/
/*=====================================*/		


.service-info, .payment-info, .contact-info,.terms-info {
            margin: 20px 0;
            background-color:#2f1744;
            padding: 20px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
		
/*service-info*/
/*=====================================*/
.service-list {
			max-width:885px;
			width:100%;
			padding:0px 0px 0px 0px;
			margin-bottom:20px;
		}
.menu-box {padding-bottom:50px;border-bottom:1px solid #F1E9C9;}
h4.menu-title {
			display: block;
			width: 100%;
			/* アイコンのスペースを確保したpadding-leftを設定する */
			  padding: 16px 16px 16px 55px;
			  background-color: #2f1744;
			/* 左から16pxの上下中央に背景画像を配置*/
			  background-position: 0px center;
			  background-repeat: no-repeat;
			  background-size: 35px 35px;
			  &.leaf {
					background-image: url("../images/leaf.png");
			}
		}
dl.info-txt {
			display:block;
			width:100%;
			padding:0px 0px 30px 30px;
		}
dl.info-txt2 {
			display:block;
			width:100%;
			padding:25px 0px 25px 20px;
			border:3px solid #F1E9C9;
			border-radius:8px;
			box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);
		}
dl.price {
			display:block;
			max-width:330px;
			width:100%;
			padding:0px 0px 15px 30px;
		}
dl.price dd {
			text-align:right;
			padding:10px 0px 3px 0px;
			border-bottom:3px dotted #F1E9C9;
		}


.service-list ul {
            list-style-type: none;
            padding: 0;
        }
.service-list dl dt dd {text-align:right;
}
.xservice-list {
			max-width:885px;
			width:100%;
			padding:30px 90px 10px 10px;
			margin:0px 0px 50px 0px;
		}
dl.transpo div {display:flex;width:100%;}
dl.transpo div dt {
			width:200px;
			padding:10px 0px 3px 0px;

			border-bottom:3px dotted #F1E9C9;
		}
dl.transpo div dd {
			width:100%;
			text-align:right;
			padding:10px 0px 3px 0px;
			border-bottom:3px dotted #F1E9C9;
		}

/*Payment*/
/*=====================================*/
.p-method ul li{
			margin:0px 0px 30px 0px;
		}
img.cash {
			width:49px;
			height:40px;
		}
img.gcash {
			width:40px;
			height:40px;
			margin-left:2px;
		}


/*contact*/
/*=====================================*/
.contact-info p {
            margin: 10px 0;
        }
.list-group {max-width:650px;}

p.notice {
		padding:15px 20px;
		color:#ff9999;
		border:2px solid #ff9999;
		border-radius:10px;
		background:#ffffff;
		box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);
		}
img.contact-icon {width:30px; height:30px;}
P.template {padding:15px;border:1px solid #F1E9C9;}

button {
            background-color: #3A2057;
            color: D4AF37;
            padding: 12px 20px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }

button:hover {
            background-color: #555;
        }
		


/*=======================================================*/
/* 991px 以下のレスポンシブ対応 */
/*=======================================================*/
@media screen and (max-width: 991px) {
ul.htop-lang {display:none;}
.htop-lang-s {display:block; text-align:right; padding-top:10px;}
.htop-lang-s li{display:inline;}
}

	
		
/*=======================================================*/
/* 768px 以下のレスポンシブ対応 */
/*=======================================================*/
@media screen and (max-width: 768px) {
.htop-lang-s li{display:none;}
dl.info-txt2 {margin-bottom:30px;}
dl.price {
	max-width:500px;
	width:100%;
	margin:0px auto;
	padding:0px 10px;
	}
}



/*=======================================================*/
/* 767px 以下のレスポンシブ対応 */
/*=======================================================*/
@media screen and (max-width: 767px) {
    .pc {display: none;}
	.sp {display:block;}
}
/*=======================================================*/
/* 698px 以下のレスポンシブ対応 */
/*=======================================================*/
@media screen and (max-width: 698px) {

    /* トップ部分：日本語・English以外は非表示 */

    .h-top-right {
        flex: 1 1 100%;
        text-align: center;
        font-size: 13px;
        padding: 8px 5px;
    }

    .main-pic {
        height: 350px;
        background-position: center center;
    }

    h2 {
        font-size: 30px;
    }

    p.main-subtxt {
        font-size: 16px;
    }
}






/*=======================================================*/
/* スマホサイズ（480px以下） */
/*=======================================================*/
@media screen and (max-width: 480px) {

    .main-pic {
        height: 300px;
    }

    h2 {
        font-size: 24px;
    }

    p.main-subtxt {
        font-size: 14px;
        line-height: 1.4em;
    }
}
