
header {
	height: 1100px;
}

div.header {
	background-color: rgba(0,0,0,.7);
	height: 270px;
}

#header-logo {
	top: 28px;
}

nav#globalnav {
	font-size: 17px;
	width: 900px;
}

nav#globalnav ul {
	padding-top: 30px;
}

nav#globalnav ul li a {
	height: 170px;
	padding-top: 32px;
}

nav#globalnav ul li a::before {
	height: 20px;
}

#english {
	height: 190px;
}

#english a {
	padding-top: 130px;
}

#english a::before {
	height: 110px;
}

div.top-mainimg {
	background-repeat: no-repeat;
	background-size: cover;
	height: 100%;
}

div.top-mainimg div.top-mainimg-sp {
	background-image: none;
}

div.top-mainimg div.top-mainimglogo {
	color: white;
	padding-top: 140px;
	text-align: center;
}

div.top-mainimg div.top-mainimglogo h2 {
	align-items: center;
	display: flex;
	font-size: 20px;
	justify-content: center;
	line-height: 1.5em;
	padding-top: 20px;
	text-shadow: black 5px 0 5px;
}

div.top-mainimg div.top-mainimglogo h2::before,
div.top-mainimg div.top-mainimglogo h2::after {
	background-color: white;
	content: "";
	height: 1px;
	width: 60px;
}

div.top-mainimg div.top-mainimglogo h2::before {
	margin-right: 15px;
}

div.top-mainimg div.top-mainimglogo h2::after {
	margin-left: 15px;
}

div.top-mainimg div.top-mainimglogo p {
	font-size: 25px;
	margin: 5px;
	text-align: center;
	text-shadow: black 5px 0 5px;
}

div.news {
	display: flex;
	justify-content: center;
}

div.news div.news-info {
	padding-right: 30px;
	text-align: center;
	width: 200px;
}

div.news div.news-info h2 {
	display: inline-block;
	font-size: 40px;
	font-weight: 500;
	writing-mode: vertical-rl;
}

div.news div.news-info p {
	text-align: center;
}

div.news div.news-info p:last-child {
	margin-top: 20px;
}

div.news div.news-info p:last-child a.link-btn {
	background-size: 6px;
	font-size: 14px;
	padding: 2px 30px 2px 20px;
}

div.news ul.news-list {
	width: 770px;
}

div.pickup {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

div.pickup div.title {
	border-top: 1px solid black;
	margin-right: 50px;
	padding-top: 30px;
	text-align: center;
	width: 120px;
}

div.pickup div.title h2 {
	display: inline-block;
	font-size: 35px;
	font-weight: 500;
	writing-mode: vertical-rl;
}

div.pickup div.title p {
	border-bottom: 1px solid black;
	padding-bottom: 30px;
	text-align: center;
}

div.pickup ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

div.pickup ul li {
	margin-left: 32px;
	width: 260px;
}

div.pickup ul li a {
	text-decoration: none;
}

div.pickup ul li a h3 {
	border-bottom: 1px solid black;
	border-top: 1px solid black;
	font-size: 18px;
	margin-top: 10px;
	padding: 5px 0;
}

div.pickup ul li a p.detail {
	font-size: 13px;
	line-height: 1.5em;
	vertical-align: middle;
	width: 260px;
}

div.pickup ul li a p.link {
	background: url(images/link_btn.svg) no-repeat right 12px center;
	background-size: 6px;
	border: 1px solid black;
	font-size: 14px;
	font-weight: 600;
	margin: 0 auto;
	padding: 2px 25px 2px 30px;
	text-align: center;
	text-decoration: none;
	transition: all .3s;
}

div.pickup ul li a:hover p.link {
	background-color: white;
	background-position: right 8px center;
	transition: all .4s;
}

div.about a {
	background: url(images/link_btn_white.svg) no-repeat right 25px center,
	url(images/top_about.jpg) no-repeat center center;
	background-size: 20px, auto;
	color: white;
	display: block;
	height: 314px;
	text-decoration: none;
}

div.about a:hover {
	background-position: right 18px center,
	center center;
	opacity: .60;
	transition: all .3s;
}

div.about h2 {
	font-size: 40px;
	padding: 70px 0 10px 0;
}

div.about h2 em {
	display: block;
	font-size: 20px;
}

div.about p {
	text-align: center;
}

div.topmenu {
	position: relative;
}

div.topmenu div.title {
	border-top: 1px solid black;
	left: 50%;
	padding-top: 50px;
	position: absolute;
	text-align: center;
	top: 300px;
	transform: translate(-50%, -50%);
	width: 130px;
}

div.topmenu div.title h2 {
	display: inline-block;
	font-size: 35px;
	font-weight: 500;
	writing-mode: vertical-rl;
}

div.topmenu div.title p {
	border-bottom: 1px solid black;
	padding-bottom: 30px;
	text-align: center;
}

div.topmenu div.title::before {
	background-color: black;
	content: "";
	height: 150px;
	position: absolute;
	right: 50%;
	top: 330px;
	width: 1px;
}

div.topmenu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

div.topmenu ul li {
	text-align: center;
	width: 410px;
}

div.topmenu ul li:nth-child(2) div.img {
	margin-left: -40px;
}

div.topmenu ul li h3 {
	font-size: 25px;
	padding-top: 20px;
}

div.topmenu ul li p {
	font-size: 14px;
	line-height: 1.5em;
	margin-bottom: 20px;
	text-align: center;
}

div.topmenu ul li ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 420px;
}

div.topmenu ul li ul li {
	width: 204px;
}

div.topmenu ul li a {
	text-decoration: none;
}

div.topmenu ul li:nth-child(1) ul li a.link-btn,
div.topmenu ul li:nth-child(2) ul li a.link-btn {
	display: block;
	height: 40px;
	padding: 10px 0 14px 0;
}

div.topmenu ul li ul li a.link-btn span.small {
	display: block;
	font-size: 11px;
}

div.topmenu ul li.shojin {
	padding-top: 50px;
	position: relative;
	text-align: center;
	width: 100%;
}

div.topmenu ul li.shojin img.shoku {
	left: 50%;
	position: absolute;
	top: 30px;
	transform: translate(-50%, -50%);
}

ul.submenu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

ul.submenu li {
	padding: 10px;
	position: relative;
}

ul.submenu li a {
	display: block;
	text-decoration: none;
}

ul.submenu li a strong {
	background: url(images/link_btn.svg) no-repeat right 12px center;
	background-size: 8px;
	display: block;
	font-weight: 600;
	margin: 0 auto;
	padding: 8px 55px 8px 50px;
	text-align: center;
	text-decoration: none;
	transition: all .3s;
}

ul.submenu li a:hover strong {
	background-color: #eeeeee;
	background-position: right 8px center;
	transition: all .4s;
}

footer {
	padding-bottom: 40px;
}

ul.footerlinks {
	bottom: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: absolute;
	right: 0;
	width: 830px;
}

ul.footerlinks li {
	display: inline-block;
}
