﻿/* CSS layout */

/*サイトトップの画像*/

#masthead {
	clear: both;
	margin-top: 30px;
	margin-bottom: 10px;
	width: calc(100vw - 20px);
	max-width: 1366px;
	height: 10vw;
	max-height: 133px;
	min-height: 75px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
}
@media (max-width: 1000px) and (min-width:679px) {
	#masthead {
	margin-top: 130px;
	margin-bottom: 20px;
	}
}
@media (min-width: 465px) and (max-width: 678.9px){
	#masthead {
	margin-top: 130px;
	margin-bottom: 20px;
	}
}
@media (max-width: 464.9px) {
	#masthead {
	margin-top: 220px;
	margin-bottom: 20px;
	}
}

.midashi {
    margin: 80px 1em 0 0;
	font-size: 49px;
	font-size:clamp(22px, 5.1vw, 54px);;
	color: #ff0;
    font-family: 'M PLUS 1p', sans-serif,G2サンセリフ-B;
    font-weight:bold;
	-webkit-text-stroke-color: #000; /* 文字の縁取り */
	-webkit-text-stroke-width: 1px;
	text-shadow: 8px 6px 5px #333; /* 文字の影 */
	position: relative;
	top: 20%;
	left:0.5em;
}

p.midashi {
	font-size: 17px;
	font-size:clamp(16px, 3.8vw, 22px);;
	color: #ff0;
    font-family: 'M PLUS 1p', sans-serif,G2サンセリフ-B;
    font-weight:bold;
	-webkit-text-stroke-color: #000; /* 文字の縁取り */
	-webkit-text-stroke-width: 1.0px;
	text-shadow: 8px 6px 5px #333; /* 文字の影 */
	position: relative;
	top: 0.5rem;
	left:0.5em;
}
@media (max-width:320px) {
    p.midashi {
        display: none;
    }
}
p.midashi + h1.midashi {
    margin-top: 0px;
	font-size: 40px;
	font-size:clamp(21px, 4.4vw, 45px);;
	color: #ff0;
    font-family: 'M PLUS 1p', sans-serif,G2サンセリフ-B;
    font-weight:bold;
	-webkit-text-stroke-color: #000; /* 文字の縁取り */
	-webkit-text-stroke-width: 1px;
	text-shadow: 8px 6px 5px #333; /* 文字の影 */
	position: relative;
	top: 0.9rem;
	left:1em;
}

/*containerは中央の３列全体を規定*/

@media (min-width:750px){
	.display-box {
	display: -webkit-flex;
	display: flex;
	}
	.display-box{
	flex-direction: row;
	flex-wrap:wrap;
	}
	.order1 {
		order: 1;
	}
	.order2 {
		order: 2;
	}
	.order3 {
		order: 3;
	}
}
@media (max-width: 749.9px){
	.display-box {
	display: -webkit-flex;
	display: flex;
	}
	.display-box{
	flex-direction: row;
	flex-wrap:wrap;
	}
	.order1 {
		order: 3;
	}
	.order2 {
		order: 1;
	}
	.order3 {
		order: 2;
	}
}

#container {
	width: calc(100vw - 20px);
	max-width: 1366px;
	margin-top:20px;
	margin-bottom:5px;
	position:relative;
}
@media all and (max-width: 400px) {
	#container {
		width: calc(100vw - 10px);
	}
}

/*left_colは左側の枠を規定*/
#left_col-out {
	display: block;
	width: 200px;
	height: 100%;
	float: left;
}

/*left_colはサイドメニュー（左側枠内）を規定*/
#left_col {
	width:180px;
	height: min-content;
	float: left;
	border: 4px double #000;
	border-radius: 4px;
	margin-top: 10px;
	padding: 6px;
}
@media all and (max-width: 749.9px) {
	#left_col {
		display: none;
	}
	#left_col-out {
		float: none;
		margin-left: 5vw;
		width: 83vw;
	}
}

label.left_col{/*　親メニューボタン　*/
	display: block;
	margin: 3px 0 0 0;
	padding: 8px 0px 8px 10px;
	background: linear-gradient(#080, #040);
	border-bottom:1px solid #CCC;
	border-top:1px solid #CCC;
	border-radius: 4px;

	text-decoration: none;
	line-height: 1.4;
	text-align: left;
	font-size:medium;
	color: #fff;
	text-shadow: -2px -2px 2px rgba(0,0,0,0.6);
	transition: background-color 0.2s,color 0.2s;
}
label.left_col:hover{/*　親メニューボタン マウスオーバー　*/
	background: linear-gradient(#0a0, #060);
}

a.left_col_3{/*　親メニューボタン　*/
	display: block;
	margin: 3px 0 0 0;
	padding: 8px 0px 8px 10px;
	background: linear-gradient(#080, #040);
	border-bottom:1px solid #CCC;
	border-top:1px solid #CCC;
	border-radius: 4px;
	text-decoration: none;
	line-height: 1.4;
	text-align: left;
	font-size:medium;
	color: #fff;
	text-shadow: -2px -2px 2px rgba(0,0,0,0.6);
	transition: background-color 0.2s,color 0.2s;
}
a.left_col_3:hover{/*　親メニューボタン マウスオーバー　*/
	background: linear-gradient(#0a0, #060);
}

li.left_col_2{/*　子メニューボタン　*/
	display: block;
	margin: 0 0 0 10px;
	padding: 8px 0px 8px 10px;
	border-bottom:1px solid #CCC;
	border-top:1px solid #CCC;
	border-radius: 4px;
	list-style-type: none; 
	line-height: 1.4;
	text-align: left;
	font-size:medium;

	text-decoration: none;
	background-color: #080;
	padding-left: 10px;
	transition: background-color 0.2s,color 0.2s;
}
li.left_col_2:hover{/*　子メニューボタン　マウスオーバー*/
	background-color: #0a0;
}
a.left_col_2{/*　子メニューリンク　*/
	display: block;
	padding: 0px 0px 0px 10px;
	color: #fff;
	text-decoration: none;
	text-shadow: -2px -2px 2px rgba(0,0,0,0.6);
}

input[type=checkbox].bellows{
    display: none;/* チェックボックスの非表示 */
}

/* メニュー開閉時アニメーション */
.ac_menu ul {
    transition: all 0.2s;
    margin: 0;
    padding: 0;
    list-style: none;
/*    background :#f4f4f4;*/
}
.ac_menu li {
    padding: 5px;
}

/* ▽▽アコーディオン開閉指定▽▽ */
input[type=checkbox].bellows + ul{
    max-height: 0;/* チェックが入っていない時の高さ */
    overflow: hidden;
}
input[type=checkbox].bellows:checked + ul{
    max-height: 50em;/* チェックが入っているときの高さ */
}
/* △△アコーディオン開閉指定△△ */

/*left_col-conはコンサルタント試験等の赤枠を規定*/
#left_col-con {
	width: calc(100% - 20px);
	height: min-content;
	float: left;
	border: 2px red double;
	border-radius: 4px;
	margin-top: 10px;
	padding: 7px;
}
@media (max-width: 749.9px) {
	#left_col-con {
		width: 100%;
	}
}

/*#left_col-con はコンサルタント試験等のボタンを規定*/
li.left_col-con{
	float:left;
	border-radius: 5px;
	width:180px;
	padding: 1px;
	margin: 4px 0 0 0;
	list-style-type: none;
	line-height: 1.4;
	text-align: left;
	box-shadow: 0 0 2px #2a46cc;
}
@media (max-width: 749.9px) {
	li.left_col-con {
		display: block;
		margin-right: 16px;
		margin-left: 16px;
		width:calc(50% - 36px);
	}
}

li.left_col-con a{
	display: block;
	border-radius: 5px;
	margin: 0;
	padding: 16px 0px 16px 10px;
	text-shadow: 0 1px 1px #fff;
	background: #8a9b0f;
	background: linear-gradient(#800, #400);
	box-shadow: inset 0 1px 1px rgba(255,255,255,0.5),inset 0 -1px 1px rgba(0,0,0,0.9);
	color: #fff;
	text-decoration: none;
	text-shadow: 0 1px 1px #fff;
	font-family: Arial,Helvetica,sans-serif;
/*	font-weight: bold;*/
/*	font-size:medium;*/
	font-size: small;
	line-height: 1.4;
	text-decoration: none;
}
li.left_col-con :hover{
	background: linear-gradient(#a00, #600);
}

/*right_colは右側の列を規定*/

#right_col {
	display: block;
	position:relative;
	width: 300px;
}
@media (max-width: 1000px) and (min-width:750px) {
	#right_col {
		margin-top: 30px;
		margin-left:230px;
		width: 500px;
	}
}
@media (max-width: 749.9px) {
	#right_col {
		margin-top: 30px;
		margin-left: 5vw;
		width: 85vw;
	}
}
.sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 60px;
}
.sample-box-right {
	margin-top: 10px;
	padding: 0 5px 0px 5px;
	/*border: 2px solid #da4033;
	border-radius: 4px;*/
	position: relative;
}
.sample-box-right-img{
	vertical-align: middle;
	border: 1px solid #0f0
}
.sample-box-right-img:hover{
	opacity: 0.5;
}
/*.sample-box-right::before {
	background-color: #eeeeee;
	color: #da4033;
	content: "外部リンク／サイト内検索";
	font-weight: bold;
	left: 1em;
	padding: 0.2em;
	position: absolute;
	top: -1em;
}*/

.banner-right {
	margin-top: 15px;
	margin-bottom: 10px;
	text-align: left;
}

time.topic-date {
	margin-top: 10px;  /* 段落間のスペースを指定 */
    margin-left: 1rem;
	font-weight: bold;
	color: #FF0000;
}
.twitter-box {
    margin-top: 20px;
    font-size: small;
    background-color: #eee;
}
p.SNS-box {
    margin-top: 0px;
    font-size: 20px;
    font-weight: 900;
    color: #00f
}

/*page_contentは中央のコンテンツ置き場の最上段*/

#page_content {
	display: block;
	float: left;
	width:calc(100vw - 585px);
	max-width: 802px ;
	margin: 0px 20px 0px 20px;
	padding: 5px;
	text-align: left;
	background-color: #ffffff;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}
@media all and (max-width: 1000px) and (min-width: 750px) {
	#page_content {
		float: none;
		width:calc(100vw - 270px);
		max-width: 800px;
	}
}
@media all and  (max-width: 749.9px) {
	#page_content {
		float: none;
		width:calc(100% - 10px);
		max-width: 700px;
		margin: 0px 5px 0px 5px;
	}
}
/*.content1 {
}*/

/*ページトップへ移動するボタンを表示*/

#page-top1{
	display: block;
	z-index: 9999;
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 50px;
	height:50px;
	border-radius:50px;
	padding: 15px 5px 0px 5px;
	background: #59d;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
    text-decoration: none;
	text-shadow: -1px -1px 1px rgba(0,0,0,0.3);
	box-shadow: inset 2px 2px 8px rgba(255,255,255,0.5),inset -2px -2px 8px rgba(0,0,0,0.2);
	transition: background-color 0.3s,color 0.3s;
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}
@media (max-width: 850px) {
    #page-top1 {
        bottom: 0px;
        right: 0px;
        width: 20px;
        height:80px;
        border-radius:10px 0 0 10px;
        padding: 10px 5px 0px 5px;
        }
}

#page-top1:hover{
	background: #099;
	font-weight: bold;
	font-size: 14px;
	color: #fff;
	filter:alpha(opacity=100);
    -moz-opacity: 1.0;
    opacity: 1.0;
    transform: rotatey(360deg);  /* 回転 */
    transition: 0.3s;             /* 0.3秒かけて動く */
}

/*これは水平線の規定*/

.horizontal {
	border:0;
	border-top: 1px solid #bbb;
	border-bottom: 1px solid #fff;
	width: 100%;
	margin: 2px 0px;
	float:left;
}

.horizontal2 {
	border-top: 1px solid #bbb;
	border-bottom: 1px solid #fff;
    margin: 20px 0px 0px 0px;
	width: 100%;
}

/* 以下SNSボタンについて横並びにするための規定*/

.social {
	width:100%;
	margin: 15px 0 0 15px;
	padding: 5px 0 5px 0;
}

.social_inner {
	position: relative;
	left: 0%;
	float: left;
}

.facebook,
.twitter,
.hatebu,
.LINE,
div.note {
	position: relative;
	left: 0%;
	float: left;
	margin: 1rem 10px 0px 0;
}

.facebook {width: 180px;height: 30px;padding-left: 0px;}
.fb_iframe_widget > span {vertical-align: baseline !important;}
.twitter {width: 80px;padding-left: 5px;height: 30px;}
.hatebu {width: 120px;padding-left: 12px;height: 30px;}
.LINE {width: 84px;padding-left: 5px;}
div.note {width: 75px;padding-left: 5px;height: 30px;}

/* 中段トップの枠 */

div.sample-box-top {
	border: 2px ridge #da4033;
	border-radius: 4px;
	margin: 1.5em 0em 0em 0em;
	padding: 1em 1em 0.5em 0em;
	position: relative;
}
@media (max-width:749.9px) {
	div.sample-box-top {
		display:none;
	}
}

div.sample-box-top::before {
    background-color: #ffffff;
    color: #da4033;
    content: "このページのポイント";
    font-weight: bold;
    left: 1em;
    padding: 0.5em;
    position: absolute;
    top: -1em;
}

/*中断トップの内容を規定*/
span.phot-setumeiwakunai {
    float: right;
	width: 90%;
	aspect-ratio: 340 / 227;
	margin-bottom: 10px;
}
@media (min-width: 390px) and (max-width: 1200px) {
	span.phot-setumeiwakunai {
		width: 210px;
		height: 195px;
		margin-left: 1rem;
	}
}
@media (min-width: 1200.5px) {
	span.phot-setumeiwakunai {
		width: 340px;
		height: 270px;
		margin-left: 1rem;
	}
}
img.phot-setumeiwakunai {
	width:100%;
	aspect-ratio: 340 / 227;
	object-fit: cover;
}
video.phot-setumeiwakunai {
	width:100%;
	height:auto;
}

p.sample-box-top{
	list-style: none;
/*	list-style-position: inside;
	list-style-image: url(../img/point027_04.png);*/
	background: url(../img/point027_04.png) 0 0.5rem no-repeat;/* 行頭のポイント */
	margin: 10px 0px 0px 10px;
	padding: 0px 0px 0px 1em;
	line-height:1.7rem;
	text-indent: 0em;
	text-align: justify;
	font-size: medium;
	font-family: Century;
	text-align: left;
}
p.sample-box-top-phot{
	list-style: none;
	background: url(../img/point027_04.png) 0 0.5rem no-repeat;/* 行頭のポイント */
	margin: 10px 0px 0px 10px;
	padding: 0px 0px 0px 1em;
	line-height:1.8;
	text-indent: 0em;
	text-align: justify;
	font-size: medium;
	font-family: Century;
	text-align: left;
}
@media (max-width: 389.5px) {
	p.sample-box-top-phot {
		clear: both;
	}
}
/* 目次 */
@media (min-width:750px) {
	section.mokuji-waku {
		display:none;
	}
}
p.document-2{/* 資料出所の表示 */
	margin: 5px 0px 5px 10%;
	padding-left: 1em;
	text-indent: -1em;
	text-align: left;
    text-decoration: none;
	font-size: small;
    color: #006400;
	line-height: 1.6; /* 行間のスペースを指定 */
	width: auto;
	clear: both;
}
p.document-2r{/* 資料出所の表示 */
	margin: 5px 0px 5px 10%;
	padding-left: 1em;
	text-indent: -1em;
	text-align: right;
    text-decoration: none;
	font-size: small;
    color: #006400;
	line-height: 1.6; /* 行間のスペースを指定 */
	width: auto;
	clear: both;
}

ul.mokuji {
    margin-bottom: 10px;
  border: solid 2px #ffb03f;
  padding: 0.5em;
  position: relative;
  margin-top: 2em;
}
ul li.mokuji-1 {
	list-style: none;
	background: url(../img/point022_01.png) 0.5rem 0.5rem no-repeat;/* 行頭のポイント */
	margin: 5px 0px 0px 10px;
	padding: 0px 0px 0px 3rem;
	line-height:1.5rem;
	text-indent: -1em;
	text-align: justify;
	font-size: medium;
	font-family: Century;
	text-align: left;
}
ul li.mokuji-1:after {
  /*タイトルタブ*/
  background: #ffb03f;
  color: #fff;
  font-weight: bold;
  position: absolute;
  left: -2px;
  bottom: 100%;
  padding: 1px 5px 1px 35px;
  content: "目次";/*タブの文字*/
  letter-spacing: 1.05em;/*字間*/
}
ul li.mokuji-2 {
	list-style: none;
	background: url(../img/point022_04.png) 1.5rem 0.5rem no-repeat;/* 行頭のポイント */
	margin: 5px 0px 0px 10px;
	padding: 0px 0px 0px 5rem;
	line-height:1.5rem;
	text-indent: -2rem;
	text-align: justify;
	font-size: medium;
	font-family: Century;
	text-align: left;
}

/*項目の枠囲い*/

.sample-box-waku {
	border: 2px ridge #da4033;
	border-radius: 4px;
	margin: 1.5em 0em 1em 0em;
	padding: 0em 1em 1em 0em;
	position: relative;
}
.sample-box-waku::before {
    background-color: #ffffff;
    color: #da4033;
    content: "リンク";
    font-weight: bold;
    left: 1em;
    padding: 0.5em;
    position: absolute;
    top: -1em;
}

/*見出しｈ2*/

.midashi-style2 {
	text-align: left;
	line-height: 30px;
	margin: 10px 0px 0px 0px; 
	padding: 10px 10px 10px 65px;
	font-family: Century;
	font-size:large;
	color:#4a1086;
	background:  url(../img/GreenCloss_mini.png) 0.7em 0.7em no-repeat, -webkit-linear-gradient(top, #fff 0%, #f0f0f0 100%);
	background:  url(../img/GreenCloss_mini.png) 0.7em 0.7em no-repeat, linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
	border: 1px solid #ccc;
	border-top: 4px solid #1c66fe;
	box-shadow: 0 -1px 0 rgba(255, 255, 255, 1) inset;
}

/*見出しｈ3*/

.midashi-style3 {
	width: auto; 
	margin: 25px 40px 10px 10px;
	padding: 10px 0px 10px 10px;
	font-family: "ＭＳ 明朝", serif;
	font-size: medium;
	color: green; 
	text-align: left;
	font-family: Century;
	border-style: solid ; 
	border-width: 2px; 
	border-color: red; 
	border-radius: 5px; 
	background-color: lavender; 
	box-shadow: 5px 5px 5px #999;
}

/*見出しｈ4*/

.auto-styleh4 {
	margin: 15pt 0pt 10pt 5pt;
	padding: 5px 0px 5px 3.0em;
	background: url(../img/point022_01.png) 0.5em 0.7em no-repeat;/* 行頭のポイント */
	font-family: "ＭＳ 明朝", serif;
	line-height: 1.6; /* 行間のスペースを指定 */
	text-indent: -1em;
	text-align: left;
	font-size: medium;
/*	color: #fff;*/ 
	font-family: Century;
	border-style: solid ; 
	border-width: 2px; 
	border-radius: 10px; 
	border-color: #ff9393; 
	background-color: #eeeeee; 
	width: auto; 
}

/*以下で中央部の一般的なpタグを規定*/

div.MsoNormal{
	text-align: justify;
	font-size: small;
	font-family: Century;
	line-height: 1.7; /* 行間のスペースを指定 */
	width: auto;
}
ul.samplu-box-gyou{
	background-color: #fefefe;
	border: 0.5px solid #c92ad2;
	border-radius: 3px; 
	color: #000;
	margin: 5px 0px 0px 15px;
	padding: 0.5em 10px 10px 5px;
	font-size: medium;
	line-height: 1.7;  /* 行間のスペースを指定 */
	position: relative;
	width: auto;
	box-shadow: inset 4px 4px 8px rgba(255,255,255,0.5),inset -4px -4px 8px rgba(0,0,0,0.2);
}
@media (min-width:450px) {
	ul.samplu-box-gyou {
		margin: 15px 0px 0px 30px;
		}
}

li.samplu-box-line{
	list-style: none;
	margin: 5px 0px 0px 5px;
	padding: 0 0 0 1em;
	background: url(../img/point026_06.png) 0em 0.5em no-repeat;
	text-indent: 1em;
}
li.samplu-box-line-sub{
	list-style: none;
	margin: 5px 0px 0px 5px;
	padding: 0 0 0 3em;
	background: url(../img/point026_05.png) 2em 0.5em no-repeat;
	text-indent: 1em;
}
li.samplu-box-comm{
	list-style: none;
	margin-top: 7px;
    color: #f00;
    font-weight: 600;
}
li em{
	font-style: normal;
	color: red;
}
.samplu-box-gyou2{
	background-color: #eeeeee;
	border-left: 3px solid #c92ad2;
	color: #000;
/*	margin-bottom:.0001pt;
	margin-right: 0mm;
	margin-top: 0mm;*/
	margin-left: 4em;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 10px;
	padding-right: 10px;
	font-size: small;
	line-height: 1.6;  /* 行間のスペースを指定 */
	position: relative;
	width: 85%;
}

.tyuusyaku2 {
	margin-top: 1rem;
	font-weight:bold;
	color:maroon;
	list-style:none;
}
.tyuusyaku2 :first-child {
	margin-top: 5px;
}
ul.samplu-box-gyou + li.tyuusyaku2  {
	margin-top: 5px;
}

.tyuusyaku{
	width: inherit;
/*	border-style:solid;
	border-color:aqua;
	border-width: 1px;
	background-color: #eee;*/
	margin: 0px 10px 0px 0px;
	padding: 3px 5px 5px 2em;
	text-indent: -1em;
	color:green;
	list-style:none;
}
.tyuusyaku-para2{
	width: inherit;
/*	border-style:solid;
	border-color:aqua;
	border-width: 1px;
	background-color: #eee;*/
	margin: 0px 10px 0px 0px;
	padding: 3px 5px 5px 2em;
	text-indent: 1em;
	color:green;
	list-style:none;
}
@media (min-width:450px) {
	.tyuusyaku,.tyuusyaku-para2 {
		margin: 0px 10px 0px 70px;
		padding: 3px 5px 5px 2em;
	}
}
div.youtube {
    display: block;
    margin: 5px 0 5px 15px;
    float: right;
    width: 180px;
    height: 105px;
}
p.end {/* 動画を枠内に納める */
    clear: both;
}


