@charset "utf-8";
p, h1, h2, h3, ul, body {
	margin: 0;
	padding: 0;
	font-family: "メイリオ", "Meiryo", "sans-serif";
}
img {
	vertical-align: bottom;
	border: none;
	max-width: 100%;
	height: auto;
}
header {
	width: 1200px;
	margin: 0 auto;
}
.button {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 40px;
	height: 28px;
	display: none;
}
.button span {
	width: 100%;
	height: 4px;
	border-radius: 5px;
	background-color: #21c1f0;
	transition: 0.5s;
	position: absolute;
}
.button span:nth-of-type(1) {
	top: 0px;
}
.button span:nth-of-type(2) {
	top: 12px;
}
.button span:nth-of-type(3) {
	bottom: 0;
}
.button span.action:nth-of-type(1) {
	top: 12px;
	transform: rotate(315deg);
}
.button span.action:nth-of-type(2) {
	opacity: 0;
	transform: rotateZ(900deg);
}
.button span.action:nth-of-type(3) {
	bottom: 12px;
	transform: rotate(-315deg);
}
nav {
	text-align: center;
	box-shadow: 0px 6px 3px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: 0px 6px 3px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 6px 3px rgba(0, 0, 0, 0.1);
}
nav ul {
	display: inline-block;
}
nav ul li {
	display: inline-block;
	margin: 0 20px;
}
nav ul li a {
	color: #595757;
	text-decoration: none;
	font-weight: bold;
}
nav ul li a:before {
	content: attr(data-text);
	color: #21c1f0;
	font-size: 14px;
	display: block;
	font-weight: bold;
}
main {
	display: block;
	margin: 0 auto;
	width: 950px;
}
section {
	clear: both;
	padding: 20px 0 30px;
}
.back {
	background-color: #f7f7f7;
}
main h2 {
	color: #595757;
	font-weight: bold;
	border-bottom: 1px solid #000;
	font-size: 28px;
	letter-spacing: 8px;
}
main h2:before {
	content: attr(data-text);
	color: #21c1f0;
	display: block;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 3px;
}
.greeting {
	overflow: hidden;
}
.greeting .photo {
	margin: 5px 60px 20px 60px;
	float: left;
}
.greeting .text {
	margin: 20px 60px 0px 60px;
}
p.migoyose {
	text-align: right;
}
.circumstances .text {
	margin: 30px 60px;
}
.official {
	overflow: hidden;
	font-size: 12px;
}
.official .left {
	width: 60%;
	float: left;
	margin-top: 30px;
}
.official .left table {
	margin-left: auto;
}
.official .left table td {
	padding: 1px 10px;
	text-align: center;
}
.official .left .affiliation {
	text-align: left;
}
.official h3 {
	text-align: right;
}
.official table {
	border-collapse: collapse;
}
.official table th {
	background-color: #7dcdf3;
	border: 1px solid #a0a0a0;
	color: white;
}
.official table td {
	background-color: #f3f3f3;
	border: 1px solid #a0a0a0;
}
.official .right {
	width: 33%;
	float: left;
	margin-top: 50px;
	padding: 0 5% 0 2%;
}
.official .right h3 {
	text-align: left;
}
.official .right table {
	width: 100%;
}
.official .right table td {
	padding: 0px 10px;
}
.official .right table+h3 {
	margin-top: 16px;
}
.official .right table+h3+table {
	font-size: 11px;
}
.newsletter {
	text-align: center;
}
.maru {
	color: #7dcdf3;
}
.newsletter h2 {
	text-align: left;
}
.newsletter .photo {
	width: 268px;
	display: inline-block;
	margin: 30px 10px;
}
.newsletter h3 {
	margin-top: 10px;
	font-size: 14px;
}
.newsletter p {
	font-size: 12px;
}
footer {
	text-align: center;
	background-color: #7dcdf3;
	font-size: 10px;
	color: #595757;
	padding: 20px 0;
	font-weight: bold;
}
footer p strong {
	font-size: 12px;
}
.pc_view {
	visibility: visible;
	display: block;
}
.sp_view {
	visibility: hidden;
	display: none;
}
.photo a:hover{
opacity: 0.8 ;
}
@media screen and (max-width: 768px) {
header {
	width: 100%;
}
.button {
	display: block;
}
nav {
	display: none;
}
nav ul li {
	display: block;
	margin: 0 0 15px;
}
main {
	width: 95%;
}
.greeting .photo {
	margin: 0px 20px;
}
.greeting .text {
	font-size: 95%;
	line-height: 160%;
	margin: 20px 0 10px 0;/*margin-right: 0;
	*/
}
.circumstances .text {
	font-size: 95%;
	line-height: 160%;
	margin: 20px 0;
}
.official .left table {
	width: 100%;
}
.official .left, .official .right {
	float: none;
	width: 100%;
}
.official .right {
	padding: 0;
	margin-top: 16px;
}
.pc_view {
	visibility: hidden;
	display: none;
}
.sp_view {
	visibility: visible;
	display: block;
}
}

.companyname {
	 text-align: left;
	padding-left: 1em;
	margin-top: 2em;
}

@media screen and (min-width: 769px) {
nav {
	display: block!important;
}
}
