/*----------------------------------------------------
header
----------------------------------------------------*/
#header {
	width: 100%;
	background-color: #FFF;
	background-color: transparent;
}

#header .nwu_logo {
	position: fixed;
	box-sizing: border-box;
	width: 100%;
	height: 80px;
	padding: 20px 0 10px 0.5em;
	top: 0;
	z-index: 100;
	font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	color: #333;
	background-color: #FFF;
	font-weight: normal;
	font-size: clamp(20px, 4vw, 32px);
	opacity:90%;
}

#header .nwu_logo img {
	width: clamp(30px, 26vw, 205px);
	margin-right: 2vw;
}
#header .nwu_logo a {
	text-decoration: none;
	color: #333;
}
/* ボタンの基本スタイル */
.back-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	background-color:#006D4D;
	color: #fff;
	padding: 15px 20px;
	font-size: 14px;
	text-decoration: none;
	border-radius: 5px;
	display: none; /* 初期状態では非表示 */
	transition: opacity 0.3s ease, transform 0.3s ease;
	z-index: 2000;
  }
  
  /* ボタンのホバーエフェクト */
  .back-to-top:hover {
	background-color:#7EBEA5;
  }
  
  /* スクロール時に表示されるアニメーション */
  .back-to-top.show {
	display: block;
	opacity: 1;
	transform: translateY(0);
  }

/*----------------------------------------------------
ハンバーガーメニュー
----------------------------------------------------*/
#header .hamburger-menu {
	position: fixed;
	width: 25px;
	height: 27px;
	padding: 12px 14px 10px 12px;
	float: right;
	top: 8px;
	right: 9px;
	z-index: 1200;
}

.hamburger-menu a,
.hamburger-menu a span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.hamburger-menu a {
	position: relative;
	width: 26px;
	height: 21px;
}

.hamburger-menu a span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #22825D;
	border-radius: 3px;
}

.hamburger-menu a span:nth-of-type(1) {
	top: 0;
}

.hamburger-menu a span:nth-of-type(2) {
	top: 9px;
}

.hamburger-menu a span:nth-of-type(3) {
	bottom: 0;
}

/***  アニメーション  ***/
.hamburger-menu a.active span:nth-of-type(1) {
	-moz-transform: translateY(9px) rotate(-45deg);
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}

.hamburger-menu a.active span:nth-of-type(2) {
	opacity: 0;
}

.hamburger-menu a.active span:nth-of-type(3) {
	-moz-transform: translateY(9px) rotate(-45deg);
	-webkit-transform: translateY(-9px) rotate(45deg);
	transform: translateY(-9px) rotate(45deg);
}

#nav {
	position: fixed;
	width: 100%;
	top: 80px;
	z-index: 1200;
}

#nav ul {
	position: absolute;
	background-color: #22825D;
	font-family: 'Noto Serif JP Bold';
	width: 100%;
}

#nav ul.menu {
	font-size: 1rem;
	top: 0;
	left: 0;
	padding-bottom: 100px;
	-moz-box-shadow: 0px 5px 8px -1px #d6d6d6;
	-webkit-box-shadow: 0px 5px 8px -1px #454545;
	box-shadow: 0px 5px 8px -1px #454545;
}

#nav ul.language {
	font-size: 0.9rem;
	margin: 350px 3em;
	z-index: 1000;
}

#nav ul li a {
	display: block;
	box-sizing: border-box;
	padding: 1rem 0.5rem;
	color: #FFF;
	text-decoration: none;
	line-height: 1.0;
}

#nav ul li a:hover {
	color: #DDD;
}

#nav ul.menu li a {
	width: 90%;
	margin: 0 5%;
	text-align: left;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	background: url(/life/2017/img/arrow_01_2.png) no-repeat right 10px center;
	background-size: 5px 10px;
}

#nav ul.language li a {
	width: 28%;
	text-align: center;
	float: left;
}

#nav ul.language li.en a,
#nav ul.language li.in a {
	border-right: 1px solid rgba(255, 255, 255, 0.4);
}


/*----------------------------------------------------
footer
----------------------------------------------------*/
#footer {
	box-sizing: border-box;
	width: 100%;
	padding: 2rem 0 1.5rem 0;
	text-align: center;
	background-color: #22825D;
	color: #FFF;
}


#footer .footer_logo {
	clear: both;
	font-weight: normal;
	width: 250px;
	margin: 2rem auto 1rem;
	background: transparent;
}

#footer .footer_logo img {
	width: 100%;
}

#footer>h2 {
	font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 1.3rem;
	margin: 0;
	color: #FFF;
}

#footer .footer_nav {
	margin: 0 5%;
	display: flex;
	justify-content: space-around;
	/* 均等配置 */
	gap: 2rem;
	/* 列間の余白調整 */
	text-align: left;

}

/* 各リスト設定 */
.footer_nav ul {
	flex-basis: 33%;
	list-style: none;
	padding: 0;
	margin: 0;
}

/* リスト内リンク設定 */
.footer_nav ul li a {
	display: block;
	padding: 0.5rem 0;
	color: #FFF;
	text-decoration: none;
	font-size: 0.9rem;
}

/* ホバー時の色変更 */
.footer_nav ul li a:hover {
	color: #DDD;
}

/* メニューリストの境界線 */
.footer_nav ul.menu {
	border-right: 1px solid rgba(255, 255, 255, 0.4);
}

/* 最後のリストの境界線を削除 */
.footer_nav ul:last-child.menu {
	border-right: none;
}

#footer .copyright {
	font-size: 0.9rem;
	color: #FFF;
	width: 100%;
}

  
.external-link::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 0.5rem;
	background-image: url('/life/2017/img/ext_site.png'); /* アイコン画像のパス */
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
  }
  
  
  .external-link:hover::after {
	transform: translateX(3px); /* ホバー時に少し右に移動 */
  }
  
/*----------------------------------------------------
topに戻る
----------------------------------------------------*/
.totop a {
	display: none;
}

/***************************************@media screen and (min-width:768px)**************************************************/
@media print,
screen and (min-width:768px) {

	/*----------------------------------------------------
header
----------------------------------------------------*/
	#header .nwu_logo {
		height: 80px;
		padding: 10px 0 15px 25px;
	}



	/*----------------------------------------------------
ハンバーガーメニュー
----------------------------------------------------*/
	#header .hamburger-menu {
		top: 20px;
		right: 23px;
	}

	/*----------------------------------------------------
ナビゲーション
----------------------------------------------------*/
	#nav {
		top: 80px;
	}

	#nav ul li a {
		padding: 1.2em 0;
		font-size: 1.2em;
		background-size: 7px 14px;
	}

	#nav ul.language {
		margin: 470px 0 0 0;
		font-size: 1em;
	}

	#nav ul.language li a {
		padding: 0.65em 0;
	}



br.smp{
	display:none;
}
	/*----------------------------------------------------
お問い合わせ（スマホ専用）
----------------------------------------------------*/
	.contact_sp>ul>li>a img {
		width: 25%;
		margin: 0 37.5%;
		padding: 1.2em 0;
	}

	/*----------------------------------------------------
footer
----------------------------------------------------*/


	#footer>h2 {
		font-size: 1.5em;
		margin: 0 0 1em 0;
	}

	#footer .footer_nav>a {
		font-size: 1em;
	}
}

/***************************************@media screen and (min-width:1024px)**************************************************/
@media print,
screen and (min-width:1024px) {

	/*----------------------------------------------------
header
----------------------------------------------------*/

	#header>.clearfix {
		height: 600px;
	}

	#header .nwu_logo {
		position: relative;
		float: left;
		width: auto;
		height: 80px;
		padding: 10px 0 10px 25px;
		border: none;
		background: transparent;
	}



	/*----------------------------------------------------
ハンバーガーメニュー
----------------------------------------------------*/
	#header .hamburger-menu {
		display: none;
	}

	/*----------------------------------------------------
	ナビゲーション
----------------------------------------------------*/
	#nav {
		position: relative;
		top: 0;
		z-index: 1;
		background: transparent;
		pointer-events: none;
		background-color: #FFF;
		opacity: 0.9;
	}

	#nav ul {
		display: flex;
		/*	justify-content: flex-end;*/
		justify-content: center;
		padding: 0;
		margin: 0;
		border: none;
		list-style: none;
		pointer-events: auto;
		/* メニュー部分のみ有効化 */
	}

	#nav ul li {
		flex-grow: 0;
	}

	#nav ul.language {
		position: absolute;
		width: 40%;
		top: 0;
		right: 0;
		font-size: 1rem;
		margin: 20px 3em;
		z-index: 1000;
		background: transparent;
	}

	#nav ul.menu {
		font-size: 1.3rem;
		position: relative;
		width: 100%;
		/*	justify-content: flex-end;*/
		justify-content: center;
		padding: 0;
		/* スマホ表示の打ち消しに必要*/
		list-style: none;
		background: none;
		background-color: #FFF;
	}

	#nav ul.language li a {
		transition: all 0.3s;
		font-size: clamp(0.8rem, 1.3vw, 1rem);
		text-align: center;
		padding: 1vw clamp(0.8em, 2vw, 1.2em);
		width: 100%;

	}

	#nav ul.language li.en a,
	#nav ul.language li.in a {
		border-right: 1px solid rgba(0, 0, 0, 0.4);
	}

	#nav ul.menu li a {
		font-size: clamp(0.8rem, 1.3vw, 1.2rem);
		width: clamp(6em, 15vw, 8em);
		height: auto;
		color: #333;
		border: none;
		transition: all 0.3s;
		margin: 0;
		padding: 1vw clamp(0.8em, 2vw, 1.2em);
		text-align: center;
		box-sizing: border-box;
		background-image: none;
	}

	#nav ul.language li a {
		color: #333;
	}

	#nav ul li a:hover {
		background-color: #006D4D;
		color: #FFF;
		transform: scale(1.1);
	}

	/*----------------------------------------------------
footer
----------------------------------------------------*/
	#footer .footer_nav {
		margin: 0 20%;
	}
}

