@charset "utf-8";

/* ****************************************************
Title: layout.css
***************************************************** */

@import url('https://fonts.googleapis.com/css2?family=Italianno&family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');

.fontItalianno {
	font-family: "Italianno", cursive;
}

.fontRobotoCondensed {
	font-family: "Roboto Condensed", sans-serif;
}

.boxShadow01 {
	box-shadow: 0px 5px 20px 0px rgba( 0,0,0,0.1 );
	-webkit-box-shadow: 0px 5px 20px 0px rgba( 0,0,0,0.1 );
	-moz-box-shadow: 0px 5px 20px 0px rgba( 0,0,0,0.1 );
	-o-box-shadow: 0px 5px 20px 0px rgba( 0,0,0,0.1 );
	-ms-box-shadow: 0px 5px 20px 0px rgba( 0,0,0,0.1 );
}

/* -------------------------------------------------------------------- 
 body
-------------------------------------------------------------------- */

body {
 color: #333333;

font-family: "Noto Sans JP", sans-serif;

font-size: 13px;
 *font-size:small;
 *font:x-small;
 text-align: center;
	text-size-adjust: 100%;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	max-height: 999999px;
}

#top {
	/*overflow: hidden;*/
}

#wrap {
	overflow: hidden;
	/*width: 640px;*/
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	min-width: 1000px;
	padding: 96px 0px 140px;
	background-color: #F5F5F5;
}


img {
	vertical-align: bottom;
}

.relative-wrap {
	position: relative;
}

.contDispN {
	display: none;
}

p, span, dt, dd, th, td, li, h1, h2, h3, h4 {
	max-height: 999999px;
	background-image: url("../images/spacer.gif");
}


/*-----------------------*/

.anc {
	position: relative;
}
.ancIn {
	position: absolute;
	/*top: -69px;*/
}

#top {
	/*padding-top: 69px;*/
}

/*-----------------------*/

.pc {
	display: block;
}

.sp {
	display: none;
}

.pcBr {
	display: inline;
}

.spBr {
	display: none;
}

.pcTable {
	display: table !important;
}
.spTable {
	display: none !important;
}

.contIn1000 {
	width: 1000px;
	margin: 0px auto;
	position: relative;
}

.contIn1160 {
	width: 1160px;
	margin: 0px auto;
	position: relative;
}


.radius200 {
	-moz-border-radius: 200px;
	-webkit-border-radius: 200px;
	-o-border-radius: 200px;
	-ms-border-radius: 200px;
	border-radius: 200px;
}

@media screen and (max-width:1025px) {

	body {
	}

	#wrap {
		overflow: hidden;
		width: auto;
		margin-top: 0px;
		margin-right: auto;
		margin-bottom: 0px;
		margin-left: auto;
		min-width: 200px;
		padding: 60px 0px 80px;
		background-color: #F5F5F5;
	}

	img {
		width: 100%;
		height: auto;
	}

	/*-----------------------*/

	.anc {
		position: relative;
	}
	.ancIn {
		position: absolute;
		/*top: -79px;*/
	}

	#top {
		/*padding-top: 79px;*/
	}

	/*-----------------------*/

	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.pcBr {
		display: none;
	}
	.spBr {
		display: inline;
	}

	.pcTable {
		display: none !important;
	}
	.spTable {
		display: table !important;
	}

	.contIn1000 {
		width: auto;
	}
	.contIn1160 {
		width: auto;
		padding: 0px 15px;
	}


}


/* -------------------------------------------------------------------- 
 header
-------------------------------------------------------------------- */

.headerWrap01 {
	width: 100%;
	min-width: 1160px;
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 100;
}
.headerBlock01 {
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0px 30px;
}
.headerBlock01 .header01 {
	box-sizing: border-box;
	padding: 0px 30px;
	width: 394px;
}
.headerBlock01 .header02 {
	box-sizing: border-box;
	width: 1000px;
}

.headerNavi01 {
	display: flex;
	width: 100%;
	height: 96px;
}
.headerNavi01 li {
	/* flex-grow: 1; */
	position: relative;
	flex: 1;
}
/* .headerNavi01 li::before {
	content: "";
	width: 1px;
	height: 60px;
	background-color: #4E6197;
	position: absolute;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
} */
.headerNavi01 li:first-child::before {
	display: none;
}

.headerNavi01 li a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background-color: #003478;
	font-size: 14px;
	line-height: 1.4em;
	font-weight: 500;
	transition-duration: 0.3s;
}
.headerNavi01 li a:link {	color: #ffffff;	text-decoration: none;}
.headerNavi01 li a:visited {	color: #ffffff;	text-decoration: none;}
.headerNavi01 li a:hover {	color:#ffffff;	text-decoration: none;
	background-color: #5166A1;
	transition-duration: 0.3s;
}
.headerNavi01 li a:active {	color:#ffffff;	text-decoration: none;}

.headerNavi01 li.naviActive a {
	background-color: #5166A1;
}

body.front-page .headerNavi01 li.top a {
	background-color: #5166A1;
}
body.archive-secretariat .headerNavi01 li.secretariat a {
	background-color: #5166A1;
}
body.archive-longevity .headerNavi01 li.longevity a {
	background-color: #5166A1;
}
body.archive-obinformation .headerNavi01 li.obinformation a {
	background-color: #5166A1;
}
body.archive-interview .headerNavi01 li.interview a {
	background-color: #5166A1;
}
body.archive-travel .headerNavi01 li.travel a {
	background-color: #5166A1;
}
body.archive-condolences .headerNavi01 li.condolences a {
	background-color: #5166A1;
}



@media screen and (max-width:1025px) {

	.headerWrap01 {
		width: 100%;
		min-width: 1160px;
		position: fixed;
		left: 0px;
		top: 0px;
		z-index: 200;
	}
	.headerBlock01 {
		background-color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0px 0px;
		height: 60px;
	}
	.headerBlock01 .header01 {
		box-sizing: border-box;
		padding: 10px;
		width: 175px;
	}
	.headerBlock01 .header02 {
		box-sizing: border-box;
		width: auto;
	}

	.headerNavi01 {
		display: block;
		width: 100%;
		height: 96px;
	}
	.headerNavi01 li {
		flex-grow: 1;
		position: relative;
	}
	/* .headerNavi01 li::before {
		display: none;
	} */


	.headerNavi01 li a {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		box-sizing: border-box;
		background-color: #003478;
		font-size: 18px;
		line-height: 1.4em;
		font-weight: 500;
		transition-duration: 0.3s;
		border-bottom: 1px solid #4E6197;
		padding: 20px 15px;
	}
	.headerNavi01 li a::after {
		content: "";
		background-image: url("../images/btn_sp_ar01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 10px auto;
		width: 10px;
		height: 16px;
		position: absolute;
		right: 13px;
		top: 50%;
		transform: translateY(-50%);
	}
	.headerNavi01 li a:link {	color: #ffffff;	text-decoration: none;}
	.headerNavi01 li a:visited {	color: #ffffff;	text-decoration: none;}
	.headerNavi01 li a:hover {	color:#ffffff;	text-decoration: none;
		background-color: #003478;
		transition-duration: 0.3s;
	}
	.headerNavi01 li a:active {	color:#ffffff;	text-decoration: none;}

	.headerNavi01 li.naviActive a {
		background-color: #003478;
	}

	/*------------------------*/


	/*--------------------------------
		2025/07/22 ハンバーガーメニュー
	---------------------------------*/

/*	.menuBtn01 {
		background-image: url("../img/250729/menu_btn.webp");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 118px auto;
		width: 118px;
		height: 87px;
		position: fixed;
		top: 20px;
		left: 50%;
		margin-left: 230px;
		z-index: 100000;
	}
	.menuBtn01.active {
		background-image: url("../img/250729/menu_btn_close.webp");
	}*/

	/*-------------------------*/

	.menu_btn {
		background: none;
		border: none;
		appearance: none;
		cursor: pointer;
		width: 28px;
		height: 22px;
		transition: all 1s;
		position: fixed;
		right: 15px;
		top: 20px;
	}
	.menu_btn span {
		display: inline-block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #003478;
		transition: all .4s;
	}

	.menu_btn span:nth-of-type(1) {
		top: 0;
	}
	.menu_btn span:nth-of-type(2) {
		top: 10px;
	}
	.menu_btn span:nth-of-type(3) {
		bottom: 0;
	}

	.active .menu_btn span:nth-of-type(1) {
		transform: translateY(10px) rotate(45deg);
	}
	.active .menu_btn span:nth-of-type(2) {
		opacity: 0;
	}
	.active .menu_btn span:nth-of-type(3) {
		transform: translateY(-9px) rotate(-45deg);
	}

	/*------------------------*/

	.headerMenuWrap01 {
		/*display: none;*/
		width: 100%;
		height: 100%;
		position: fixed;
		top: 60px;
		left: 0px;
		z-index: 99999;
		visibility: hidden;
		opacity: 1;
		/*transition-duration: 0.6s;*/
		transition: all 0.6s;
	}
	.headerMenuWrap01.contOpen {
		visibility: visible;
		opacity: 1;
		/*transition-duration: 0.2s;*/
		transition: all 0.6s;
	}

	.headerMenuBox01 {
		background-color: #fccaa7;
		/*border: 1px solid #000000;*/
		box-sizing: border-box;
		width: 100%;
		margin: auto 0px auto auto;
		padding: 40px;
	}

	.headerMenuBg01 {
		
		display: none;
		
		width: 110vw;
		height: 100%;
		background-color: #ffffff;
		filter: alpha(opacity=50);
		-moz-opacity:0.5;
		opacity: 1;
		position: fixed;
		top: 0px;
		left: 0px;
	}
	.headerMenu01 {
		overflow: hidden;
		width: 100%;
		height: 100vh;
		position: relative;
		top: 0px;
		/*left: -110vw;*/
		right: -110vw;
		transition: all 0.6s;
		padding-top: 0px;
		/*color: #000000;*/
		background-color: #003478;
	}
	.contOpen .headerMenu01 {
		width: 100%;
		transition: all 0.6s;
		/*left: 0px;*/
		right: 0px;
	}

	.headerMenuIn01 {
		box-sizing: border-box;
		/*background-color: #ffffff;*/
		width: 750px;
		/*height: 746px;*/
		/*height: auto;*/
		height: calc( 100vh - 43px );
		/*height: calc( 100vh - 132px );*/
		overflow: auto;
		text-align: left;
		/*padding: 120px 20px 50px 80px;*/
		/*padding: 80px 34px 64px 34px;*/
		position: relative;
		margin: auto;
	}

	/*--------------------------*/

	.headerMenuFlex01 {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 25px 0px;
	}
	.headerMenuFlex01 li {
	}
	.headerMenuFlex01 li a {
		background-image: url("../../../assets/img/250729/menu_btn_bg01.webp");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100% 100%;
		width: 585px;
		height: 81px;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		color: #f3786a;
		font-size: 23px;
		line-height: 1.25em;
		font-weight: 900;
		letter-spacing: -0.05em;
	}




}




/* -------------------------------------------------------------------- 
 footer
-------------------------------------------------------------------- */

.pagetopButton {
	display: none;
	width: 120px;
	position: fixed;
	bottom: 0px;
	right: 30px;
	z-index: 100;
}
.pagetopButton img {
	width: 100%;
	height: auto;
}

.pagetopButton.is-footer{
	bottom: 135px;
}

/*------------------*/

.footerBlock01 {
	background-color: #052855;
	padding: 60px 0px 40px;
	color: #ffffff;
}
.footerLogo01 img {
	width: 205px;
	height: auto;
}
.footerCopy01 {
	font-size: 11px;
	line-height: 1.0em;
}
.footerBottom01 {
	display: inline-block;
	text-align: left;
}

.footerFlex01 {
	display: flex;
	justify-content: space-between;
	gap: 0px 40px;
	margin-bottom: 40px;
}
.footerFlexBox01 {
	width: 100%;
}
.footerNavi01 {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	font-size: 13px;
	line-height: 1.3em;
}
.footerNavi01 a:link {	color: #ffffff;	text-decoration: none;}
.footerNavi01 a:visited {	color: #ffffff;	text-decoration: none;}
.footerNavi01 a:hover {	color:#ffffff;	text-decoration: underline;}
.footerNavi01 a:active {	color:#ffffff;	text-decoration: none;}

.footerFlexBox02 {
	display: flex;
	gap: 0px 30px;
}
.footerSnsTit01 {
	font-size: 18px;
	line-height: 1.3em;
}
.footerFlexBox02 .boxIn01 img {
	width: 269px;
	height: auto;
}

.footerSnsFlex01 {
	display: flex;
	gap: 0px 20px;
	margin-top: 18px;
}
.footerSnsFlex01 .li01 img {
	width: 31px;
	height: auto;
}
.footerSnsFlex01 .li02 img {
	width: 30px;
	height: auto;
}




@media screen and (max-width:1025px) {

	.pagetopButton {
		display: none;
		width: 90px;
		position: fixed;
		bottom: 0px;
		right: 0px;
	}
	.pagetopButton.is-footer{
		bottom: 140px;
	}
	/*------------------*/

	.footerBlock01 {
		background-color: #052855;
		padding: 40px 0px 20px;
		color: #ffffff;
	}
	.footerLogo01 img {
		width: 170px;
		height: auto;
	}
	.footerCopy01 {
		font-size: 10px;
		line-height: 1.0em;
	}
	.footerBottom01 {
		display: inline-block;
		text-align: left;
	}

	.footerFlex01 {
		display: block;
		margin-bottom: 30px;
	}
	.footerFlexBox01 {
		width: auto;
	}
	.footerNavi01 {
		display: flex;
		flex-wrap: wrap;
		gap: 10px 15px;
		font-size: 12px;
		line-height: 1.3em;
	}
	.footerNavi01 a:link {	color: #ffffff;	text-decoration: none;}
	.footerNavi01 a:visited {	color: #ffffff;	text-decoration: none;}
	.footerNavi01 a:hover {	color:#ffffff;	text-decoration: underline;}
	.footerNavi01 a:active {	color:#ffffff;	text-decoration: none;}

	.footerFlexBox02 {
		display: flex;
		justify-content: space-between;
		gap: 0px 0px;
		margin-top: 25px;
	}
	.footerSnsTit01 {
		font-size: 15px;
		line-height: 1.3em;
	}
	.footerFlexBox02 .boxIn01 img {
		width: 184px;
		height: auto;
	}

	.footerFlexBox02 .boxIn02 {
		padding-right: 15px;
	}

	.footerSnsFlex01 {
		display: flex;
		gap: 0px 20px;
		margin-top: 10px;
	}
	.footerSnsFlex01 .li01 img {
		width: auto;
		height: 24px;
	}
	.footerSnsFlex01 .li02 img {
		width: auto;
		height: 24px;
	}




}






/*-----*/
