@charset "utf-8";
/* CSS Document */

/* 0) リセット＋計算安定化 */
*,
*::before,
*::after { box-sizing: border-box; }

html, body { height: 100%; margin: 0; padding: 0; }

/* 1) 画面高いっぱい + 縦フレックスでフッターを押し下げる */
body {
  min-height: 100vh;      /* 旧ブラウザ用 */
  min-height: 100dvh;     /* モバイルでのアドレスバー対策 */
  display: flex;
  flex-direction: column;
	padding-top: 5em;
	background-color: #fff4da;
	width: 100%;
	font-size:1em;
	color: #2a0000;
}

/* 2) 本文領域を伸ばして“下詰め”にする */
main { flex: 1 0 auto; }

/* 3) フッター（幅100%・最下部に吸着） */
div.footer_container{
  width: 100%;
  padding: 1em 0;
  margin-top: auto;        /* 最下部へ押し出す */
  /* ラッパーの中でも画面端まで広げたい場合は以下2行を有効化 */
  /* width: 100vw;
  margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); */
}

/* 4) “謎の余白”の典型原因：最後の要素の margin-bottom を潰す */
main > :last-child { margin-bottom: 0; }
.footer_container > :last-child { margin-bottom: 0; }

/* 5) iPhone などの安全域（ノッチ）で下に隙間が出る対策 */
@supports (padding: env(safe-area-inset-bottom)) {
  div.footer_container {
    padding-bottom: calc(1em + env(safe-area-inset-bottom));
  }
}

/* 6) もし横スクロールが出る場合の保険（100vw使用時の端数対策） */
html { overflow-x: clip; }  /* 旧ブラウザなら hidden でも可 */



/***
body{	
	padding-top: 5em;
	background-color: #fff4da;
	width: 100%;
	font-size:1em;
	color: #2a0000;
}
***/

/*** 追随するメニュー ***/
.fix-menu {
display:block;
z-index: 500;
pointer-events: none;
width: 100%;
position: fixed;
left: 0;
top: 0;
padding:0px;
background-color: rgba(255,211,32,1);
}
.fix-menu .fix-menu-contents {
width: 100%;
max-width: 1350px;	
height: 100%;
margin: 0 auto;
padding: 4px;
position: relative;
box-sizing: border-box;
pointer-events: auto;
}

.fix-menu .logo{
width: 15.18%;
float: left;
text-align: left;
pointer-events: auto;
cursor: pointer;
}
.fix-menu .logo img{
	margin-left: 0 !important;
}
.fix-menu .menu {
width: 4.29%;
float: right;	
text-align: right;
padding-top: 6px;
pointer-events: auto;
cursor: pointer;
}
.fix-menu .menu img{
	margin-right: 0 !important;
}
.fix-menu .title {
float: left;
width: 80.53%;
}

@media screen and (max-width:750px) {
	body{	
		padding-top: 50%;
	}	
	.fix-menu {
		width: 100%;		
		min-width: auto;
		height: auto;
		text-align: center;
		padding: 2%;
		box-sizing: border-box;
		vertical-align:middle;
	}
	.fix-menu .fix-menu-contents {
		width: 100%;
		height: auto;
		position: relative;
		padding: 0 !important;
	}
	.fix-menu .logo {
		width: 100%;	
		text-align: center;
	}
	.fix-menu .logo img{
		width: 53.8% !important;
		margin: 0 auto !important;
	}
	.fix-menu .menu {
		width: 14.96%;
		padding:0;
		float: none;
		position: absolute;
		right: 0;
		top: 10%;
	}
	.fix-menu .title {
		float: none;
		width: 100%;
		padding:4% 0 0;
	}
}


/*** コンテンツ ***/
.contents_wrap {
width: 100%;
margin: 80px 0px 0px 0px;
}
.contents_wrap .contents {
width: 80%;
max-width: 900px;
margin: 0px auto;
padding:0px auto;
box-sizing: border-box;
position: relative;
font-family: "minamoto-r";
}
.contents_wrap .contents a{
	color: #2a0000;
	font-weight: bold;
}
.contents_wrap .contents .block{
	padding-bottom: 1.5em;
}
.contents_wrap .contents p{
	font-size:1.125em;
}
.contents_wrap .contents h2,.contents_wrap .contents h3,.contents_wrap .contents h4{
	font-size:1.125em;
color: #356f9a;
}
.contents_wrap_e .contents h2,.contents_wrap_e .contents h3,.contents_wrap_e .contents h4{
	margin-bottom: 1.0em;
}

@media screen and (max-width: 600px) {
  /* ここに700px以下の場合のスタイルを書く */
.contents_wrap {
width: 100%;
margin: 180px 0px 0px 0px;
}
.contents_wrap .block{
	max-width: 580px;
	margin: 10px auto;
	}
}


/*** 第二階層用 ***/
div.footer_container {
width: 100%;
padding-bottom: 70px;
color: #FFFFFF;
background-color: #0c0802;
position: relative;
text-align: center;
	-webkit-border-radius: 20px 10px 0px 0px;
	-moz-border-radius: 20px 10px 0px 0px;
}

div.footer_container a {
color: #FFFFFF;
}

div.footer_container{
padding:1em 0;
width:100%;
}
/*** もどるボタン ***/
.bt-back{
	text-align: left;
	margin-top: 1rem;
	margin-bottom: 1em;
}