/* Base PC styles: merged from style.css */

html {
	overflow-y:scroll;
}

body,td,th {
	font-size: 15px;
	line-height: 1.7;
	color: #000000;
}

body {
	background-color: #FFFFFF;
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	font-family:
		sans-serif;
}

#top-head-img {
	font-size:18px;
	float:left;
}

#top-head-mes {
	float:left;
	font-weight:bold;
	line-height:50px; /* ロゴ高さに合わせる */
	margin-left:10px;
}


.top-tilte {
	font-size: 11px;
	text-align:center;
	height: 10px;
	background-image: url(img/title.jpg);
	color: #000000;
	padding: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 15px;
	margin-left: 0px;
}
h1 {
	font-size: 19px;
	padding: 3px;
	margin-top: 7px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}
h2 {
	font-size: 22px;
	padding: 3px;
	margin-top: 7px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}
h3 {
	font-size: 20px;
	padding: 3px;
	margin-top: 7px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}
h4 {
	font-size: 18px;
	padding: 3px;
	margin-top: 7px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}
h5 {
	font-size: 16px;
	padding: 3px;
	margin-top: 7px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}
h6 {
	font-size: 14px;
	padding: 3px;
	margin-top: 7px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

form {
	margin: 0px;
	padding: 0px;
}

.menutitle{
	background-image: url(img/title.jpg);
	border: 1px solid #CCCCCC;
	background-repeat: repeat-x;
	padding-bottom: 5px;
	margin-bottom: 20px;
	padding-right: 3px;
	padding-left: 3px;
	text-align: right;
	padding-top: 1px;
}

#main {
	width: 900px;
	margin-top: 0px;
	margin-right: auto;
	margin-left: auto;
	padding: 0px;
}

#main-menu {
	padding: 5px;
	width: 250px;
	float:left;
	clear:both;
	margin-top: 10px;
	font-size:13px;
}

#main-body {
	padding: 5px;
	width: 700px;
	float:left;
	clear:both;
	margin-left: 5px;
	margin-top: 10px;
}


#foot {
	width: 800px;
	float:left;
	overflow:hidden;
	font-size: 14px;
	text-align:center;
	margin-bottom: 3px;
	margin-top: 20px;
	padding-top: 5px;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #CCCCCC;
	border-bottom-color: #CCCCCC;
	padding-bottom: 5px;
}

#foot2 {
	width: 800px;
	float:left;
	overflow:hidden;
	font-size: 14px;
	text-align:center;
	margin-bottom: 3px;
	margin-top: 2px;
	padding-top: 5px;
	padding-bottom: 5px;
}

form {
	margin: 0px;
	padding: 0px;
}

li {
	padding: 0px;
	margin-top: 3px;
	margin-right: 0px;
	margin-bottom: 3px;
	margin-left: 0px;
}

.panel_title {
	color: #FFFFFF;
	background-color: #0099FF;
	padding: 3px;
	margin-top: 10px;
}
.panel_url {
	margin-top: 20px;
	margin-bottom: 5px;
	padding: 8px;
	border: 1px dotted #CCCCCC;
}
.panel_list {
	margin-right: 20px;
	margin-left: 20px;
	margin-bottom: 10px;
}
.panel_color1 {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999999;
	padding: 3px;
}
.panel_color2 {
	background-color: #AECACA;
	padding: 3px;
	margin-top: 10px;
	margin-bottom: 0px;
}
.panel_color3 {
	background-color: #FAFAFA;
	padding: 5px;
	margin-top: 15px;
	margin-bottom: 25px;
	border-width: 1px;
	border-style: solid;
	border-color: #CCCCCC;
	border-radius: 10px;
}
dt {
	font-size: 15px;
	text-transform: none;
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999999;
	padding-left: 10px;
	font-weight: bold;
}
dl {
	margin: 0px;
	padding: 0px;
}
dd {
	padding-top: 5px;
	padding-right: 25px;
	padding-bottom: 25px;
	padding-left: 5px;
	font-size: 14px;
	line-height: 150%;
}
.mini {
	font-size: 13px;
}
.margin {
	margin: 13px 13px 20px 13px;
	font-size: 15px;
}
.bigbutton {
	 width:200px; 
	 height:40px;
}

#login{
	margin-top:10px;
	padding:10px;
}

.login-wrap{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:20px;
}

.login-new{
	flex:0 0 auto;
	padding-right:20px;
	border-right:1px solid #999;
}

.login-form{
	text-align:right;
	flex:1;
}

.login-form input[type="email"],
.login-form input[type="password"]{
	width:150px;
}

.login-links{
	margin-top:8px;
}

.login-links a{
	margin-left:10px;
}


	.login-form input[type="submit"]{
		margin-top:5px;
		font-size:16px;
	}


	.fm-feature-box{
	margin:20px 0;
	padding:18px;
	border:1px solid #ccc;
	background:#fff;
	border-radius: 10px;
}

.fm-feature-box h3{
	margin:0 0 15px 0;
	font-size:20px;
}

.fm-feature-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
}

.fm-feature-tile{
	padding:14px;
	border:1px solid #d8d8d8;
	background:#f9f9f9;
	box-sizing:border-box;
}

.fm-feature-tile h4{
	margin:0 0 8px 0;
	font-size:16px;
}

.fm-feature-tile p{
	margin:0;
	line-height:1.7;
}


.top-menu{
	text-align:center;
	margin:8px 0;
	padding:10px 0;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
}

.top-menu a{
	display:inline-block;
	margin:0 15px;
	padding-bottom:2px;
	font-weight:bold;
	font-size:14px;
	text-decoration:none;
	border-bottom:2px solid transparent;
}

.top-menu a:hover{
	border-bottom:2px solid #3399ff;
}


/* スマホ */
@media screen and (max-width:768px){

	.fm-feature-box{
		padding:12px;
	}

	.fm-feature-grid{
		grid-template-columns:1fr;
		gap:10px;
	}

	.fm-feature-tile{
		padding:12px;
	}

}

/* Smartphone styles: merged from mstyle.css */
@media screen and (max-width: 640px) {

html {
	overflow-y:scroll;
}

body,td,th {
	font-size: 14px;
	line-height: 1.7;
	color: #000000;
}

body {
	background-color: #FFFFFF;
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	font-family: sans-serif;
}

.top-tilte {
	font-size: 10px;
	text-align:center;
	height: 10px;
	background-image: url(img/title.jpg);
	color: #000000;
	padding: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 15px;
	margin-left: 0px;
}

h1 {
	font-size: 18px;
	padding: 3px;
	margin-top: 8px;
	margin-right: 0px;
	margin-bottom: 8px;
	margin-left: 0px;
}
h2 {
	font-size: 17px;
	padding: 3px;
	margin-top: 8px;
	margin-right: 0px;
	margin-bottom: 8px;
	margin-left: 0px;
}
h3 {
	font-size: 16px;
	padding: 3px;
	margin-top: 8px;
	margin-right: 0px;
	margin-bottom: 8px;
	margin-left: 0px;
}
h4 {
	font-size: 15px;
	padding: 3px;
	margin-top: 8px;
	margin-right: 0px;
	margin-bottom: 8px;
	margin-left: 0px;
}
h5 {
	font-size: 14px;
	padding: 3px;
	margin-top: 8px;
	margin-right: 0px;
	margin-bottom: 8px;
	margin-left: 0px;
}
h6 {
	font-size: 13px;
	padding: 3px;
	margin-top: 3px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

form {
	margin: 0px;
	padding: 0px;
}

img {
	max-width:100%;
}

.menutitle{
	background-image: url(img/title.jpg);
	border: 1px solid #CCCCCC;
	background-repeat: repeat-x;
	padding-bottom: 5px;
	margin-bottom: 20px;
	padding-right: 3px;
	padding-left: 3px;
	text-align: right;
	padding-top: 1px;
}

	#top-head-img {
		float:none;
		font-size:17px;
	}

	#top-head-mes {
		float:none;
		font-weight:bold;
		margin-top:5px;
		line-height:normal;
		margin-left:0;
	}


#main {
	width: 100%;
	margin-top: 0px;
	margin-right: auto;
	margin-left: auto;
	padding: 0px;
}

#main-menu {
	padding: 12px;
	width:auto;
	float:none;
	overflow:hidden;
	margin-top: 10px;
	font-size:12px;
}

#main-body {
	padding: 12px;
	width:auto;
	float:none;
	overflow:hidden;
	margin-left: 5px;
	margin-top: 10px;
}


#foot {
	width: 100%;
	float:left;
	overflow:hidden;
	font-size: 13px;
	text-align:center;
	margin-bottom: 3px;
	margin-top: 20px;
	padding-top: 5px;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #CCCCCC;
	border-bottom-color: #CCCCCC;
	padding-bottom: 5px;
}

#foot2 {
	width: 100%;
	float:left;
	overflow:hidden;
	font-size: 13px;
	text-align:center;
	margin-bottom: 3px;
	margin-top: 2px;
	padding-top: 5px;
	padding-bottom: 5px;
}

form {
	margin: 0px;
	padding: 0px;
}

li {
	padding: 0px;
	margin-top: 3px;
	margin-right: 0px;
	margin-bottom: 3px;
	margin-left: 0px;
}

.panel_title {
	color: #FFFFFF;
	background-color: #0099FF;
	padding: 3px;
	margin-top: 10px;
}
.panel_url {
	margin-top: 20px;
	margin-bottom: 5px;
	padding: 8px;
	border: 1px dotted #CCCCCC;
}
.panel_list {
	margin-right: 20px;
	margin-left: 20px;
	margin-bottom: 10px;
}
.panel_color1 {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999999;
	padding: 3px;
}
.panel_color2 {
	background-color: #AECACA;
	padding: 3px;
	margin-top: 10px;
	margin-bottom: 0px;
}
.panel_color3 {
	background-color: #FAFAFA;
	padding: 5px;
	margin-bottom: 25px;
	border-width: 1px;
	border-style: solid;
	border-color: #CCCCCC;
}
dt {
	font-size: 14px;
	text-transform: none;
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999999;
	padding-left: 10px;
	font-weight: bold;
}
dl {
	margin: 0px;
	padding: 0px;
}
dd {
	padding-top: 5px;
	padding-right: 25px;
	padding-bottom: 25px;
	padding-left: 5px;
	font-size: 13px;
	line-height: 150%;
}
.mini {
	font-size: 12px;
}
.margin {
	margin: 13px 13px 20px 13px;
	font-size: 14px;
}

#login{
	margin-top:10px;
	padding:10px;
}

.login-wrap{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:20px;
}

.login-new{
	flex:0 0 auto;
	padding-right:20px;
	border-right:1px solid #999;
}

.login-form{
	text-align:right;
	flex:1;
}

.login-form input[type="email"],
.login-form input[type="password"]{
	width:150px;
}

.login-links{
	margin-top:8px;
}

.login-links a{
	margin-left:10px;
}

@media screen and (max-width:768px){

	.login-new{
		border-right:none;
		padding-right:0;
		margin-bottom:15px;
	}

	.login-form{
		text-align:left;
	}

	.login-form label{
		display:flex;
		align-items:center;
		margin-bottom:8px;
	}

	.login-form label span{
		width:110px;
		text-align:right;
		padding-right:8px;
		box-sizing:border-box;
	}

	.login-form input[type="email"],
	.login-form input[type="password"]{
		flex:1;
		width:auto;
	}

	.login-form input[type="submit"]{
		margin-top:5px;
		font-size:16px;
	}

	.login-links a{
		display:block;
		margin:5px 0 0 0;
	}

.login-form input[type="submit"]{
	display:block;
	margin:10px 0 0 auto;
}

}


.fm-feature-box{
	margin:20px 0;
	padding:18px;
	border:1px solid #ccc;
	background:#fff;
}

.fm-feature-box h3{
	margin:0 0 15px 0;
	font-size:20px;
}

.fm-feature-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
}

.fm-feature-tile{
	padding:14px;
	border:1px solid #d8d8d8;
	background:#f9f9f9;
	box-sizing:border-box;
}

.fm-feature-tile h4{
	margin:0 0 8px 0;
	font-size:16px;
}

.fm-feature-tile p{
	margin:0;
	line-height:1.7;
}

/* スマホ */
@media screen and (max-width:768px){

	.login-wrap{
		display:block;
	}

	.fm-feature-box{
		padding:12px;
	}

	.fm-feature-grid{
		grid-template-columns:1fr;
		gap:10px;
	}

	.fm-feature-tile{
		padding:12px;
	}

}
