@charset "UTF-8";
/*----------------------------
	共通設定
----------------------------*/
html{
		color:#303030;
		margin-top:0px;
		padding-top:0px;
		height:100%;
}
.biz-udgothic-regular {
		font-family: "BIZ UDGothic", sans-serif;
		font-weight: 400;
		font-style: normal;

}
*{
		margin-top:0px;
		padding-top:0px;
}
body{
		margin: 0;
		padding: 0;
		background-color: #f1f9e4;/*#DBF3C9;*/
}
main{
		width:100%;
		max-width:44rem;
		background-color:white;
		margin:0 auto;
		min-height: 100vh
		display: flex; 
		flex-direction: column;
}
.box{
		width:100%;
		max-width:42rem;
		margin:0 auto;
		min-height: 100vh
}
a{
		color:#303030;
		text-decoration:none;
}
a:hover {
		color: #0056b3;
		text-decoration: none; 
}
a:active {
		color: #0056b3;
		text-decoration: none;
}
.clearfix::after {
		content: "";
		display: block;
		clear: both;
}
p{
		width:98%;
		padding:1.2%;
}
header{
		background-color:#246351;
		margin-top:0;

}
h1,h1 a{
		margin:0;
		color:#fff;
		font-size:2rem;
		padding:2%;
}
h2 {
		display: flex; 
		align-items: center;
		position: relative;
		margin-top: 2.5rem;
		margin-bottom: 1.5rem;
		padding-bottom: 18px; 
		font-size:1.6rem;

}
h2::before {
		content: '';
		width:2.7rem;
		height: 2.7rem;
		background-image: url('../images/icon2.png'); 
		background-size: contain;
		background-repeat: no-repeat;
		flex-shrink: 0;
}
h2::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 5px;
		background-image: url('../images/border-bottom5px.png'); 
		background-repeat: repeat-x;
}
h3{
		display:flex;
		align-items: center;
		position: relative;
		margin-top:2.5rem;
		margin-bottom:1.5rem;
		padding-bottom:18px;
		font-size:1.4rem;
}
h3::before {
		content: '';
		width: 2.5rem;
		height: 2.7rem;
		margin-right:0.3rem;
		background-image: url('../images/present.png'); 
		background-size: contain;
		background-repeat: no-repeat;
		flex-shrink: 0;
}
h3::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 5px;
		background-image: url('../images/border-bottom5px.png');
		background-repeat: repeat-x;
}
h4{
		text-align:center;
		font-size:1.4rem;
		margin-bottom:1rem;
}
dl{
		font-weight:bold;
}
img{
		max-width:100%;
		margin:0 auto;
}
table{
		max-width:100%;
		width:93%;
		margin-bottom:1%;
		margin:3% auto;
		caption-side: bottom;
}
tbody{
		color:#40140a;
		border:4px solid #40140a;
}
table caption{
		color:#303030;
		text-align:left;
		font-size:0.9rem;
}
th,td{
		border:1px solid #40140a;
		padding:0.5rem;
}
.highlight{
		font-weight:bold;
		text-decoration:underline;
		font-size:1.1rem;
}
.back_white{
		background-color:white;
}
.price{
		color:red;
		font-weight:bold;
		font-size:1.5rem;
}
footer{
		text-align:center;
		background-color:#246351;

}
small{
		display:inline-block;
		margin:0 auto;
		text-align:center;
		max-width:30rem;
		padding:1rem;
		color:white;
}
ul{
		margin-bottom:1%;
}
li{
		margin-bottom:0;
}
/*----------------------------
	詳細設定
----------------------------*/
h1 a:hover {
		color: #fff;
		text-decoration: none; 
}
h1 a:active {
		color: #fff;
		text-decoration: none;
}
.video-container {
		position: relative; 
		width: 100%;
		padding-top: 56.25%;
		overflow: hidden;
}
.video-container iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%; 
		height: 100%; 
}
#globalnav ul {
		display: flex;
		width:100%;
		margin: 0 auto;
		font-size: 1rem;
		background-color: white;
		min-height:4rem;
		padding:1.5rem;
}
#globalnav ul li:not(:last-child) {
		border-right: 1px solid #303030;
}
#globalnav ul li {
		flex-grow: 1; 
		text-align: center; 
}
#gaiyo img{
		width: 100%;
		height: 100%;
		object-fit: cover; 
}
.hosoku{
		background-color:#d7dade;
		Width:85%;
		margin:1% auto;
		padding:1rem;
}

#zigyou tbody{
		max-width:100%;
		background-color:#246351;
		color:white;
		border:2px solid #aaadb3;
		border-bottom:4px solid #694933;
}
#zigyou th,#zigyou td{
		border:1px solid #fff;
		padding:0.5rem;
}
/*	    お礼・返礼品   	*/ 
#henrei h4{
		flex-basis: 100%;
}
.henrei_box{
		display:flex;
		max-width:95%;
		margin:1rem auto;
		gap: 1rem;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-start;
		align-content: center;
		
}
.henrei{
		background-color: #fff0e0;
		margin:2% 0;
		padding:1.5rem 1rem;
}
.orei{
		background-color: #e0f0ff;
		padding:1.5rem 1rem;
}
#henrei img{
		width:15rem;
		min-width:100px;
		height:auto;
		flex-shrink: 0;
		object-fit: contain;
		margin:0;
		align-self: flex-start;
}
.price_tag{
		display:inline-block;
		width:16rem;
		height:5rem;
		margin-bottom:0;
		text-align:center;
}
.order{
		display: inline-block; 
		width: 45%;
		height: 5rem;        
		background-color:#191970;
		text-decoration: none; 
		color: #fff;
		font-weight: bold;
		text-align: center;
		border-radius: 5px; 
		overflow: hidden; 
		padding:2%;
		margin:0 auto;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
		/*background-image: radial-gradient(circle at center, #2a2a90 0%, #191970 50%, #00004d 100%);*/
		background: radial-gradient(circle at center, #4285F4 0%, #191970 50%, #00004d 100%);
		background-color: transparent; 
}
.order:hover {
		background-image: radial-gradient(circle at center, #191970 0%, #00004d 50%, #2a2a90 100%);
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
		transform: translateY(2px);
		color:#99ffff;
}
}
.order:active {
		background-color: #00004d;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
		transform: translateY(2px);
}
.price_tag,.order{
		display: flex; 
		flex-direction: column;
		align-items: center;
		justify-content: center;
}
.about{
		max-width:45%;
		padding:0 auto;
}
.tate .about{
		max-width:100%;
		padding:0 auto;
}
.tate {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		max-width:300px;
		min-width:15rem;
}
/*		footer  	*/
#footernav {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: repeat(2, minmax(0, 1fr));
		gap: 1rem;
		background-color: #c9ad93;
		padding: 2rem;
		width: 100%;
		max-width: 44rem;
		margin: 0 auto;
}
#footernav a:last-of-type {
		grid-row: 1 / 3;
		display: flex;
		justify-content: center;
		align-items: center;
}
.pagetop{
		display: block;
		width: 50px;
		height: 50px;
		background: url("../images/pagetop.png") no-repeat left center;
		position: sticky;
		align-self: flex-end; 
		bottom: 5%;
		margin-left:auto;
		margin-right:1%;
		right: 5%;
		transition: background-position 0s ease-in-out; 
}
.pagetop:hover {
		background-position: -53px center; 
}
/*-------------------------------------
	レスポンシブ関連
---------------------------------------*/
/*	タイトル	*/
@media (max-width: 768px) {
	h2,h3{
			padding: 0.5rem;
	}
/*	返礼品	*/
	#henrei .hosoku{
		width:100%;
	}
	.hosoku ul{
		padding-left:1rem;
	}
	.henrei_box{
		max-width:98%;
		margin:1rem auto;
		gap: 0.5rem;
		margin-bottom:0;
	}
	.about{
		margin-bottom:0.2rem;
		max-width:100%;
	}
	.order{
		width:80%;
	}
	.tate{
	    display: flex;
		align-items: center;
	}
	#henrei img{
	width:95%;
	align-self: center;
	}

/*フッター*/
	#footernav {
		grid-template-columns: 1fr;
		font-weight:bold;
    }
    #footernav a:last-of-type {
        grid-row: auto;
    }
}

/*--------------------------------------
 	印刷時
-----------------------------------------*/
@media print {

  header, main, main > *, .container, .row {
    display: block !important;
    flex-direction: initial !important;
    justify-content: initial !important;
    align-items: initial !important;
  }
}
  body {
    -webkit-transform: none !important;
    transform: none !important;
    margin: 0 !important;
  }
  
  @page {
    margin: 1cm 2cm; 
  }
}

