@charset "UTF-8";

/*----------------------------------------------------------------------------------------*
 *	共通の記述
 *----------------------------------------------------------------------------------------*/
img {
	max-width: 100%;
	line-height: 1;
}
.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}
.fwb {
	font-weight: 700;
}
.fred {
	color: #b51614;
}
.fblue {
	color: #1416b5;
}
.btn-link {
	text-align: center;
}
.btn-link a {
	display: inline-block;
	background: #b51614;
	color: #fff;
	font-weight: 500;
}
ul.notice {
	list-style-type: none;
	text-indent: -1em;
	margin-left: 1em;
}
p.notice {
	text-indent: -1em;
	margin-left: 1em;
}


/*-------------------------------------------------------------- body */
body {
	color: #491e0c;
}

/*-------------------------------------------------------------- header */
header {
	background: #491e0c;
}
header a,
header a:hover {
	color: #fff;
	text-decoration: none;
}
header p {
	margin: 0;
	line-height: 1;
}
header #site-title {
	font-weight: 700;
}

/*-------------------------------------------------------------- container */


/*-------------------------------------------------------------- nav */
nav ul {
	margin: 0;
	list-style-type: none;
}
nav#gmenu > ul > li span {
	display: block;
	color: #fff;
	background: #491e0c;
	font-weight: 700;
	line-height: 1.4;
}
nav#gmenu ul li ul.sub-menu li a {
	display: block;
	font-weight: 600;
	color: #491e0c;
	text-decoration: none;
}

/*-------------------------------------------------------------- main */

/*-------------------------------------------------------------- article */
article a {
	color: #491e0c;
	word-break: break-all;
}
article h1,
article h2,
article h3 {
	font-weight: 700;
	line-height: 1.4;
}
article table,
article th,
article td {
	border: 1px solid #7d6224;
}
article th {
	background: #491e0c;
	color: #fff;
}

/*-------------------------------------------------------------- footer */
footer {
	background: #000;
}
footer #copy p {
	margin: 0;
	color: #fff;
}

/*-------------------------------------------------------------------------------*
 *	768px以下用（SP用）の記述
 *-------------------------------------------------------------------------------*/
@media (max-width: 767px) {
/* 768px以下用（SP用）の記述 */
.btn-link a {
	padding: 2.5% 5%;
}

/*-------------------------------------------------------------- body */
body {
	font-size: calc(16/375*100vw);
}

/*-------------------------------------------------------------- header */
header{
	position: sticky;
	top: 0;
	z-index: 100;
}
header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: calc(10/375*100vw);
}
header #site-title {
	font-size: calc(16/375*100vw);
}
header .menu-trigger a,
header .menu-trigger span {
	display: inline-block;
	transition: all .4s;
}
header .menu-trigger {
	height: calc(38/375*100vw);
	position: relative;
	width: calc(34/375*100vw);
}
header .menu-trigger span {
	background: #fff;
	border-radius: calc(4/375*100vw);
	height: calc(4/375*100vw);
	left: 0;
	position: absolute;
	width: 100%;
}
header .menu-trigger span:nth-of-type(1) {
	top: 0;
}
header .menu-trigger span:nth-of-type(2) {
	top: calc(9/375*100vw);
}
header .menu-trigger span:nth-of-type(3) {
	top: calc(18/375*100vw);
}
header .menu-trigger.active span {
	background: #fff;
	height: calc(4/375*100vw);
	left: 0;
	right: 0;
}
header .menu-trigger.active span:nth-of-type(1) {
	transform: translate3d(calc(2/375*100vw), calc(3/375*100vw), 0) rotate(45deg);
	width: 50%;
}
header .menu-trigger.active span:nth-of-type(2) {
	transform: translate3d(0px, 0px, 0) rotate(-45deg);
	width: 100%;
}
header .menu-trigger.active span:nth-of-type(3) {
	transform: translate3d(calc(14/375*100vw), calc(-3/375*100vw), 0) rotate(45deg);
	width: 50%;
}
header .menu-trigger p {
	position: absolute;
	left: calc(-5/375*100vw);
	bottom: calc(-5/375*100vw);
	color: #fff;
	font-size: calc(14/375*100vw);
	font-weight: 700;
}

/*-------------------------------------------------------------- container */

/*-------------------------------------------------------------- nav */
nav#gmenu {
	display: none;
	position: fixed;
	width: 100%;
	height: 84.5vh;
	overflow-y: scroll;
	z-index: 99;
}
nav#gmenu > ul > li span {
	padding: calc(10/375*100vw);
}
nav#gmenu .sub-menu li:nth-of-type(n+2) {
	border-top: 1px solid #491e0c;
	box-sizing: border-box;
}
nav#gmenu .sub-menu li a {
	padding: calc(10/375*100vw);
	background: #eae1cc;
	font-size: calc(14/375*100vw);
}
.modal-overlay {
	background: rgba(0,0,0, 0.0);
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 98;
}

/*-------------------------------------------------------------- main */
main {
	background: #ece6e7;
}
/*-------------------------------------------------------------- article */
article h1 {
	margin:  calc(10/375*100vw) 0 calc(20/375*100vw);
	font-size: calc(24/375*100vw);
}
article h2 {
	margin: calc(10/375*100vw) 0 0;
	font-size: calc(20/375*100vw);
}
article h3 {
	margin: calc(10/375*100vw) 0 0;
	padding-left: calc(5/375*100vw);
	border-left: calc(3/375*100vh) solid #491e0c;
	font-size: calc(16/375*100vw);
}
article table {
	width: 100%;
	margin:  calc(10/375*100vw) 0 calc(20/375*100vw);
	font-size: calc(12/375*100vw);
}
article section:not(.picture) {
	padding: calc(10/375*100vw);
}

/*-------------------------------------------------------------- footer */
footer {
	position: sticky;
	bottom: 0;
}
footer #copy {
	padding: 0 calc(10/375*100vw);
}
footer #copy p {
	font-size: calc(12/375*100vw);
}

/*-------------------------------------------------------------- visible hidden */
.visible-pc {
	display: none !important;
}

.visible-sp {
	display: inline-block !important;
}
.hidden-sp{
	display:none !important
}

/* 768px以下用（SP用）の記述 end */
}


/*-------------------------------------------------------------------------------*
 *	768px以上用（タブレット用）の記述
 *-------------------------------------------------------------------------------*/
@media (min-width: 768px) {
/* 768px以上用（タブレット用）の記述 */
.btn-link a {
	padding: 10px 10px;
}
.btn-link a:hover {
	background: #8e717e;
	color: #fff;
	text-decoration: none;
}

/*-------------------------------------------------------------- visible hidden */
.visible-sp {
	display: none !important;
}

.visible-pc {
	display: inline-block !important;
}
.hidden-pc{
	display:none !important
}

/*-------------------------------------------------------------- body */
body {
	background: #ddcdab;
}

/*-------------------------------------------------------------- header */
header .inner {
	padding: min(calc(10/768*100vw) , 20px);
}
header #site-title {
	font-size: min(calc(20/768*100vw) , 2.8rem);
}
header .menu-trigger {
	display: none;
}

/*-------------------------------------------------------------- container */
.container {
	display: flex;
	justify-content: center;
	padding: calc(10/768*100vw) 0;
}

/*-------------------------------------------------------------- nav */
nav#gmenu {
	width: min(calc(180/768*100vw) , 300px);
	background: #eae1cc;
	box-shadow: 3px 6px 10px 0px rgba(0, 0, 0, 0.2);
}
nav#gmenu > ul > li span {
	padding: min(calc(10/768*100vw) , 10px);
}
nav#gmenu .sub-menu li a {
	padding: min(calc(10/768*100vw) , 10px);
}
nav#gmenu .sub-menu li:last-child a {
	padding-bottom: min(calc(20/768*100vw) , 20px);
}
nav#gmenu .sub-menu a:hover {
	color: #b51614;
	text-decoration: underline;
}

/*-------------------------------------------------------------- main */
main {
	width: min(calc(550/768*100vw) , 880px);
	margin-left: min(calc(12/768*100vw) , 20px);
}

/*-------------------------------------------------------------- article */
article {
	padding: min(calc(10/768*100vw) , 10px);
	background: #ece6e7;
	box-shadow: 3px 6px 10px 0px rgba(0, 0, 0, 0.2);
}
article h1 {
	margin: min(calc(10/768*100vw) , 10px) 0 min(calc(20/768*100vw) , 20px);
	font-size: min(calc(28/768*100vw) , 2.8rem);
}
article h2 {
	margin: min(calc(20/768*100vw) , 20px) 0 0;
	font-size: min(calc(22/768*100vw) , 2.2rem);
}
article h3 {
	margin: min(calc(20/768*100vw) , 20px) 0 0;
	padding-left: min(calc(5/768*100vw) , 5px);
	border-left: calc(5/768*100vh) solid #491e0c;
	font-size: min(calc(18/768*100vw) , 1.8rem);
}
article table {
	margin: min(calc(15/768*100vw) , 15px) 0 min(calc(30/768*100vw) , 30px);
}
article a:hover{
	color: #b51614;
	text-decoration: none;
}

/*-------------------------------------------------------------- footer */
footer #copy .inner {
	padding: 0 min(calc(12/768*100vw) , 10px);
	box-sizing: border-box;
}
footer #copy p {
	text-align: right;
}

/* 768px以上用（タブレット用）の記述 end */

}

/*-------------------------------------------------------------------------------*
 *	1024px以上用（PC用）の記述
 *-------------------------------------------------------------------------------*/
@media (min-width: 1024px), print {
/* 1024px以上用（PC用）の記述 */




/*-------------------------------------------------------------- header */
header .inner {
	max-width: 1200px;
	margin: 0 auto;
}

/*-------------------------------------------------------------- article */
.container {
	max-width: 1200px;
	margin: 0 auto;
}

/*-------------------------------------------------------------- footer */
footer #copy .inner {
	max-width: 1200px;
	margin: 0 auto;
}


}