@charset "utf-8";

body {
	margin:0;
	padding:0;
	color:#333;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "Hiragino Kaku Gothic Pro",  Osaka, sans-serif;
}

div, p, h1, h2, h3, ul, li{
	margin:0;
	padding:0;
}

li{
	list-style:none;
}

img{
	vertical-align:bottom;
	border-radius:6px;
}



iframe {margin-top:-560px;position:relative;z-index:99;}

.webcon {
	float: left;
	margin: 6px 6px 6px 2px;
	width:30px;
	height:30px;
}
.webcon.chrome {background:url(../../program/img/chrome-icon.png);background-size:30px 30px;}
.webcon.firefox {background:url(../../program/img/firefox-icon.png);background-size:30px 30px;}
.webcon.edge {background:url(../../program/img/edge-icon.png);background-size:30px 30px;}
.webcon.safari {background:url(../../program/img/safari-icon.png);background-size:30px 30px;}
/* テキストのリンク文字色 */
a:link {
	color: #003a66;
}
a:visited {
	color: #003a66;
}
a:hover {
	color:#ff7200;
}


.txLink{
	background:url(../img/link_arrow_b.png) 0 7px no-repeat;
	padding:0 0 0 16px;
	background-size: 10px 10px;
}

.txLink a{
	text-decoration:none;
	font-size:14px;
	line-height:26px;
}

/* clearfix*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
*html .clearfix {
	height:1%
}
.clearfix {
	display: block
}

/*ヘッダー*/


#header{
	width:980px;
	margin:0 auto;
}

#header .scopy{
	height:20px;
	padding:18px 0 10px;
	color:#fff;
	font-size:12px;
	line-height:12px;
	text-align:right;
}

#header div.caplogo{
	float:left;
	margin:15px 0;
}

#header .sitetitle{
	clear:both;
	float:left;
	color:#666;
	font-size:32px;
	line-height:32px;
	font-weight:normal;
}

#header .sitetitle a,
#header .sitetitle a:hover{
	color:#666;
	text-decoration:none;
}

#header ul#actBtn{
	width:284px;
	float:right;
	margin-top:40px;
}

#header ul#actBtn li{
	float:left;
	width:130px;
	height:40px;
	margin-right:10px;
}

#header ul#actBtn li a{
	border-radius:6px;
	display:block;
	height:25px;
	font-size:16px;
	text-decoration: none;
	color:#666;
	line-height:25px;
	text-align:center;
	padding:6px 12px 4px 12px;
	border:1px solid #666;
	background:#e5f2ff;
	transition:all .5s;
}
#header ul#actBtn li a:hover {
	background:#f4fee7;
	border:1px solid #5e8c49;
}
#header ul#actBtn li a.selected {
	background:#e5f2ff;
	border:1px solid #496b8c;
}

#header ul#actBtn li.answer a{
	background-color:#4b84be;
}




/*ナビゲーション*/
#nav{
	clear:both;
	margin-top:20px;
	width:100%;
}

#nav ul{
	width:1020px;
	margin:0 auto;
}

#nav ul li{
	border:1px solid transparent;
	float:left;
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	margin-left: 2px;
	transition:all .5s;
}

#nav ul li:hover {
	border-top:1px solid #5e8c49;
	border-right:1px solid #5e8c49;
	border-left:1px solid #5e8c49;
	background-color:#f4fee7;

}

#nav ul li a {
	display:block;
	padding:14px 31px 14px;
	text-decoration:none;
	font-size:16px;
	line-height:16px;
	color:#666;
}

#nav ul li.crt {
	border-top:1px solid #496b8c;
	border-right:1px solid #496b8c;
	border-left:1px solid #496b8c;
	background-color:#e5f2ff;
}

#nav ul li.crt a {

}

/*メインビジュアル*/
#mainVisual{
	position:relative;
	clear:both;
	width:100%;
	height:607px;
	background: url(../img/lab5.jpg) center bottom no-repeat;
	background-size:cover;
}
#mainVisual.form {opacity:.4;}

#mainVisual .band{
	width:100%;
	height:138px;
	background-color: rgba(0,51,102,0.7);
	box-shadow:8px 0px 16px white;
}
#mainVisual .band.form {
height:20px;
}

#mainVisual .band .cont{
	width:980px;
	margin:0 auto;
	padding-top:18px;
}

#mainVisual .band .cont .cme_mark{
	float:left;
}

#mainVisual .band .cont .chCopy{
	color:#fff;
	float:left;
	font-size:20px;
	line-height:30px;
	padding:20px 0 0 20px;

}

/*メニューパネル*/
#menuPanel{
	position:relative;
	clear:both;
	width:726px;
	margin:-360px auto 47px;
	padding-left:5px;
	opacity:.89;
}

#menuPanel ul li {
	float:left;
	margin-right:16px;
	width:198px;
	height:256px;
	padding:14px 13px 0px 13px;
	background-color:#fff;
	box-shadow:3px 3px 5px 2px rgba(213,213,213,0.58);
	-moz-box-shadow:3px 3px 5px 2px rgba(213,213,213,0.58);
	-webkit-box-shadow:3px 3px 5px 2px rgba(213,213,213,0.58);
	border-radius: 6px;
	border: 1px solid #a2b0bf;
}

#mmenu.active {
	left:0px;
}
#mmenu {
	left:-100%;
	z-index:1;
	transition:all .5s;
}

#mmenu li {
	cursor:pointer;
}
#mmenu li:hover {
	background:#f4fee7;
}

#menuPanel ul li h3 {
	font-size:16px;
	color:#435e8c;
	text-align:center;
	font-weight:normal;
	font-weight:bold;
}

#menuPanel ul li p{
	text-align:center;
	font-size:13px;
	line-height:20px;
	height:94px;
}

#menuPanel ul li p.icon{
	text-align:center;
}

#menuPanel ul li div.btn{
	width:137px;
	margin:0px auto 0px auto;
}

#menuPanel ul li div.btn a{
	border-radius: 6px;
	display: block;
	height: 25px;
	font-size: 16px;
	text-decoration: none;
	color: #fff;
	line-height: 25px;
	text-align: center;
	padding: 6px 12px 4px 12px;
	background: #9bbb4e;
}

#menuPanel ul li div.btn a:hover{
	opacity:0.7;
}

/* リードコピー＆推薦のことば */

#readCopy{
	clear:both;
	width:100%;
	background-color:#e7eaea;
	margin:40px 0;
	box-shadow:0px 2px 4px grey;
	padding: 20px 0px 0px 0px;
}

#readCopy .cont{
	width:980px;
	margin:0 auto;
	padding:35px 0;
}

#readCopy .cont .copy{
	width:478px;
	float:left;
	font-size:14px;
	line-height:28px;
}

#readCopy .cont .clm{
	width:478px;
	float:right;
	background-color:#f6f5e8;
	padding-bottom:10px;
}

#readCopy .cont .clm h3{
	font-weight:normal;
	padding-top:3px;
	background-color:#d2cd8b;
}

#readCopy .cont .clm p{
	margin:15px 15px 0;
	font-size:13px;
	line-height:20px;
}

#readCopy .cont .clm p.profile{
	float:right;
	text-align:right;
	line-height:18px;
}

#readCopy .cont .clm div.right{
	float:right;
	margin:18px 15px 8px 10px;
}


/*お知らせ*/

#news{
	clear:both;
	width:100%;
}

#news .cont{
	width:980px;
	margin:30px auto 50px;
}

#news .cont h2{
	color:#003a66;
	padding:5px 0 5px 65px;
	margin-top:-48px;
}


#news .cont dl{
	margin:20px 0 0 65px;
	padding:0;
	font-size:14px;
}

#news .cont dl dt{
	width:7em;
}

#news .cont dl dd{
	margin:-1.5em 0 1em 8em;
}


/*バナー*/

div#ftbanner{
	width:100%;
	padding:40px 0;
	background-color:#e7eaea;
	text-align:center;
}

div#ftbanner img{
	margin:0 10px;
}


/*セカンドページ用*/

body#second h1{
	clear:both;
	background-color:#3e6e9f;
}

body#second h1 span{
	display:block;
	width:980px;
	margin:0 auto;
	padding:10px 0;
	color:#fff;
	font-size:26px;
	font-weight:normal;
	text-shadow:0px 0px 2px black;
}

div.wrapWhite{
	clear:both;
	width:100%;
}

div.wrapGray{
	clear:both;
	width:100%;
	background-color:#f3f5f5;
	box-shadow:0px 2px 4px grey;
}

div.wrapWhite div.wrap,
div.wrapGray div.wrap{
	width:980px;
	margin:0 auto;
	padding:40px 0;
	font-size:14px;
	line-height:28px;
}

div.wrapWhite div.wrap p,
div.wrapGray div.wrap p{
	margin-bottom:1.3em;
}

div.wrapWhite div.wrap h2,
div.wrapGray div.wrap h2{
	font-size:24px;
	font-weight:normal;
	color:#003a66;
	margin-bottom:1em;
}

div.textLeft{
	width:640px;
	float:left;
}

div.textRight{
	width:640px;
	float:right;
}

div.picLeft{
	width:270px;
	float:left;
}

div.picRight{
	width:270px;
	float: right;
}

div.picLeft div.ph,
div.picRight div.ph{
	margin-bottom:10px;
}

div.picRight .clm{
	background-color:#f6f5e8;
	padding-bottom:10px;
}

div.picRight .clm h3{
	font-weight:normal;
	padding-top:3px;
	padding-left:15px;
	background-color:#d2cd8b;
}

div.picRight .clm p{
	margin:15px 15px 0;
	font-size:13px;
	line-height:20px;
}

div.picRight .clm p.profile{
	text-align:right;
	line-height:18px;
}

div.halfLeft{
	width:455px;
	float:left;
}

div.halfRight{
	margin-top:22px;
	width:455px;
	float:right;
}


ul.list{
	margin:0 0 15px 20px;
}


ul.list li{
	list-style:disc;
	margin-left:20px;
}

p.alignR {
	text-align:right;
}

p.capR {
	text-align:right;
	margin-top:10px;
	line-height:1.4em;
}


span.redB {
	color:#C30;
	font-weight:bold;
}

span.red {
	color:#C30;
}


span.blueB {
	color: #039;
	font-weight:bold;
}

div.textRight div.clm{
	width:610px;
	background-color:#e0dfc7;
	padding:15px;
	margin:20px 0;
}


div.textLeft div.clm{
	width:610px;
	background-color:#f6f5e8;
	padding:15px;
	margin:20px 0;
}


/* 申込方法 */
table.cost {
	width:100%;
	background-color:#CCC;
}

table.cost td {
	text-align:center;
	background-color:#FFF;
	padding:5px;
}


table.cost th {
	text-align:center;
	background-color:#e7e7e7;
	padding:5px;
}



table.cost td.cot {
	text-align:left;
	padding-left:10px;
}

table.cost td.cot span {
padding:10px;
}

table.cost td.note {
	text-align:right;
}


/* FAQ */
dl.faq dt {
	color:#900;
	font-weight:bold;
	font-size:115%;
	background:url(../../faq/img/faqQ.png) no-repeat;
	background-size:35px 35px;
	padding:8px 0px 8px 48px;
	margin-bottom:0;
	line-height:1.2em;
	height:35px;
}
	

dl.faq dd {
	background:url(../../faq/img/faqA.png) no-repeat;
	background-size:35px 35px;
	padding:5px 0px 8px 48px;
	margin:0px 0px 40px 0;
}



	

/* 過去のリスト */	
div.buyBtn{
	width:280px;
	margin:0px auto;
	padding:30px;
	text-align:center;
	clear:both;
}

div.buyBtn a{
	display:block;
	width:250px;
	height:30px;
	font-size:20px;
	line-height:16px;
	text-decoration:none;
	color:#fff;
	padding:25px 5px 10px 25px;
	background:#9bbb4e url(../img/link_arrow_w.png) 50px center no-repeat;
}

div.buyBtn a:hover{
	opacity:0.7;
}

ol.list li{
	list-style: decimal;
	margin:0 20px 10px 0;
}


ol.list {
	margin:0 0 30px 20px;
}


h3.oldList {
	font-size:18px;
	border-bottom:#000 dotted 1px;
	margin-bottom:8px;
	clear:both;
	}

h3.oldListLeft {
	font-size:18px;
	border-bottom:#000 dotted 1px;
	margin-bottom:8px;
	padding-top:30px;
	clear:both;
	}

div.backBtn{
	float:right;
	width:162px;
	margin:-30px 0 0 0;
	padding:0px 0 19px 0;
	text-align:center;

}

div.backBtn a{
	display:block;
	width:146px;
	height:15px;
	font-size:14px;
	line-height:16px;
	text-decoration:none;
	color:#003a66;
	padding:7px 0px 7px 15px;
	background: url(../img/link_arrow_b.png) 16px center no-repeat;
	border:#003a66 solid 2px;
}

div.backBtn a:hover{
	opacity:0.7;
}



/* デモ操作 */	
ol.demo li {
	list-style:decimal;
	padding:0px 0 30px 0;
	margin:0px;
	font-weight:bold;	
}

ol.demo li a{
	font-size:140%;	
}

ol.demo li img{
	margin-top:15px;	
}

ol.demo li span{
	font-weight:normal;	
}


/* 総評 */	
p.general {
	text-align:right;
	margin-bottom:15px;
	font-weight:bold;
}



ul.commentList li {
	float:left;
	width:195px;
	list-style:disc;
	margin:5px 0px 30px 30px;
	
}

h3.comment {
	font-size:16px;
	border-bottom:#000 dotted 1px;
	margin:15px 0 8px 0;
	clear:both;
	}
	
	
div.commentbackBtn{
	width:162px;
	margin:30px 0 40px 0;
	padding:0px 0 19px 0;
	text-align:center;

}

div.commentbackBtn a{
	display:block;
	width:146px;
	height:15px;
	font-size:14px;
	line-height:16px;
	text-decoration:none;
	color:#003a66;
	padding:7px 0px 7px 15px;
	background: url(../img/link_arrow_b.png) 10px center no-repeat;
	border:#003a66 solid 2px;
	border-radius:6px;
}

div.commentbackBtn a:hover{
	opacity:0.7;
}



/* フッター */	
div#footer{
	clear:both;
	width:100%;
	background-color:#003a66;
	padding:40px 0;
	color:#fff;
}


div#footer p{
	text-align:center;
	margin-bottom:5px;
	font-size:16px;
}

div#footer p a{
	color:#fff;
	text-decoration:none;
}


div#footer p.copy {
	font-size:12px;
}



/* PageTop */	
#page-top {
	cursor:pointer;
	height:56px;
	width:56px;
	color: #fff;
	padding: 20px 10px 0px 10px;
	opacity: .8;
	clear:both;
	position:fixed;
	bottom:20px;
	border:1px solid white;
	right: 20px;
	z-index: 3;
	text-align: center;
	background: #003a66;
	border-radius: 70px;
	line-height:1.3;
	transition:all .5s;
}
#page-top:hover {
	opacity:.6;
}

table {}
th {padding:0px 4px;text-align:left;color:#003a66;}
table tr td {}
tbody.roundedTable {box-shadow:1px 2px 4px #366d96;border-radius:6px;}
table tr:nth-child(even) {background: #f3f5f5}
td {padding-left:8px;}

/*NEW STUFF FOR 2023*/

.listImage {
	display:inline-block;
	float:left;
}

.ftimage {
	padding:2px;
	background:white;
}

select, .loadBtn {
	transition:.5s;
	border-radius: 6px;
	display: block;
	height:32px;
	font-size: 16px;
	text-decoration: none;
	color: #666;
	line-height:32px;
	text-align: center;
	padding: 2px 12px;
	border:2px solid #496b8c;
	background:#e5f2ff;
	float:left;
}
select:hover, .loadBtn:hover {
	cursor:pointer;
	background:#f4fee7;
	border:2px solid #5e8c49;
}

.loadBtn {
	height:24px;
	float:left;
	margin-left: 8px;
	line-height: 27px;
}

.arrowDown {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #003a66;

	margin: 8px 0px 0px 25px;
}

.imgListText {
	float:left;
	padding-left:8px;
}


.tableBtn {
	background:#e5f2ff;
	border:1px solid #003a66;
	border-radius:4px;
	padding:6px 8px 4px 8px;
	text-decoration:none;
	transition:all .5s;
}
.tableBtn:hover {
	background:#f4fee7;
	border:1px solid #5e8c49;
	color:#003a66;
}

ul.menu {display:none;}
/** MOBILE DEVICE **/
@media (min-width:360px) {
	@media (max-width:1019px) {
		ul.menu {display:flex;}
		h1 a {
			font-size: 22px;
		}
		h1 {padding-left:10px;}

		div.wrapWhite div.wrap, div.wrapGray div.wrap {
			width:calc(100% - 30px);
			float:left;
			padding:10px 20px 10px 10px;
		}
		body#second h1 span {width:100%;}

		.sitetitle {
			padding:10px 0px;
		}

		.textLeft {
			padding:0px 10px;
			width:calc(100% - 20px)!important;
		}
		.ph {display:none;}
		.picRight {
			float:left !important;
		}

		.textRight {
			width:calc(100% - 20px)!important;
			float:left !important;
			padding:10px 0px 10px 10px;
		}
		div.textRight {
			width:100%;
		}

		#header {
			margin:0px;
			width:calc(100% - 10px);
			padding-left:10px;
		}
		#mainVisual .band .cont {width:100%;}

		#mainVisual .band .cont .chCopy {
			font-size:14px;
			width:260px;
			line-height: 24px;
			padding: 4px 0px 0px 6px;
		}
		.cme_mark {margin-left:6px;}
		#menuPanel {
			width:100%;
			margin-top:-465px;
			padding:0px;
		}
		#menuPanel ul li {
			width:80%;
			margin:20px auto 0px auto;
			float:none;
			background: rgba(255,255,255,0.8);
		}
		#header ul#actBtn {
			float:none;
			margin:0px;
		}
		#nav {display:none;}

		#readCopy .cont .clm {
			width:80%;
			float:none;
			margin: 0px auto;
		}
		#readCopy .cont .copy {
			width:80%;
			float:none;
			margin: 0px auto;
		}
		#readCopy .cont {
		 	width:100%;
		}
		#readCopy .cont .clm p.profile {
			float:none;
		}
		#news .cont {
			width:100%;
		}
		.top-nav {
			display: flex;
			flex-direction: row;
			align-items: center;
			justify-content: space-between;
			/* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
			color: #000;
			padding: 1em;
		}

		.menu {
			display: flex;
			flex-direction: row;
			list-style-type: none;
			margin: 0;
			padding: 0;
		}

		.menu > li {
			margin: 0 1rem;
			overflow: hidden;
		}

		.menu-button-container {
			display: none;
			height: 100%;
			width: 30px;
			cursor: pointer;
			flex-direction: column;
			justify-content: center;
			align-items: center;
		}

		#menu-toggle {
			display: none;
		}

		.menu-button,
		.menu-button::before,
		.menu-button::after {
			display: block;
			background-color: #000;
			position: absolute;
			height: 4px;
			width: 30px;
			transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
			border-radius: 2px;
		}

		.menu-button::before {
			content: '';
			margin-top: -8px;
		}

		.menu-button::after {
			content: '';
			margin-top: 8px;
		}

		#menu-toggle:checked + .menu-button-container .menu-button::before {
			margin-top: 0px;
			transform: rotate(405deg);
		}

		#menu-toggle:checked + .menu-button-container .menu-button {
			background: rgba(255, 255, 255, 0);
		}

		#menu-toggle:checked + .menu-button-container .menu-button::after {
			margin-top: 0px;
			transform: rotate(-405deg);
		}


			.menu-button-container {
				display: flex;
			}
			.menu {
				position: absolute;
				top:-18px;
				margin-top: 50px;
				left: 0;
				flex-direction: column;
				width: 100%;
				justify-content: center;
				align-items: center;
			}
			#menu-toggle ~ .menu li {
				height: 0;
				margin: 0;
				padding: 0;
				border: 0;
				transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
			}
			#menu-toggle:checked ~ .menu li {
				border: 1px solid #333;
				height: 2.5em;
				padding: 0.5em;
				transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
			}
			.menu > li {
				display: flex;
				justify-content: center;
				margin: 0;
				padding: 0.5em 0;
				width: 100%;
				color: #666;
				background-color: #e5f2ff;
				font-weight:bold;
			}
			.menu > li:not(:last-child) {
				border-bottom: 1px solid #666;
			}
		#mmenu li:first-child {
			border-top: 1px solid #666;
		}


	}
}