﻿/* 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:800px) { /* 狭い画面では小見出を非表示にする。 */
	#narrow-erase { 
		display: none; 
	}
}
p.midashi + h1.midashi {
    margin-top: 0px;
	font-size: 39px;
	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;
}
@media all and (max-width: 400px) {
	#container {
		width: calc(100vw - 10px);
	}
}

/*left_colは左側の列を規定*/

#left_col-out {
	display: block;
	width: 200px;
	height: 100%;
}

/*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 {
		float: none;
		margin-top: 30px;
		margin-left:230px;
		width:calc(100vw - 270px);
	}
}
@media (max-width: 749.9px) {
	#right_col {
		float: none;
		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;
}

.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;
}

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

#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: 790px;
	}
}
@media all and  (max-width: 749.9px) {
	#page_content {
		float: none;
		width:calc(100% - 10px);
		max-width: 700px;
		margin: 0px 5px 0px 5px;
	}
}

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

#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:0;
	border-top: 1px solid #bbb;
	border-bottom: 1px solid #fff;
    margin: 20px 0px 0px 0px;
	width: auto;
}
/* 以下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 0 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: 3em 0em 0em 0em;
	padding: 1em 1em 0.5em 0em;
	position: relative;
}
div.sample-box-top::before {
    background-color: #ffffff;
    color: #da4033;
    content: "柳川行雄のご紹介";
    font-weight: bold;
    left: 1em;
    padding: 0.2em;
    position: absolute;
    top: -1em;
}

/*中断トップの内容を規定*/
p.sample-box-top{
	list-style: none;
/*	list-style-position: inside;
	list-style-image: url(../img/point027_04.png);*/
	text-align: justify;
	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;
	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;
	}
}

.illustration-setumeiwakunai {
    float: right;
    height: 150px;
    margin-left: 1rem;
}
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;
}
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;
}

/*項目の枠囲い*/

.sample-box-waku {
	background-color: #ffffff;
	margin: 0.5em 0em 2em 0.5em;
	padding: 0em 1em 1em 0em;
	color: #da4033;
	border: 2px ridge #da4033;
	border-radius: 4px;
	position: relative;
}

/* 目次 */
@media (min-width:750px) {
	section.mokuji-waku {
		display:none;
	}
}
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-left: 2rem;
	line-height:1.5rem;
	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-left: 3rem;
	line-height:1.5rem;
	text-align: justify;
	font-size: medium;
	font-family: Century;
	text-align: left;
}

/*見出しｈ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: 2em 0.5em 1em 1em;
	padding: 10px 0px 10px 10px;
	font-family: "ＭＳ 明朝", serif;
	font-size: medium;
	color: green; 
	text-align: left;
	border-style: solid ; 
	border-width: 2px; 
	border-color: red; 
	border-radius: 5px; 
	background-color: lavender; 
	box-shadow: 5px 5px 5px #999;
}

/*.samplu-box-naiyou{
}*/

/*見出しｈ4*/

.midashi-style4 {
	margin: 15px 0px 10px 3em;
	padding: 5px 0px 5px 1em;
	line-height: 1.6; /* 行間のスペースを指定 */
	text-indent: 0em;
	text-align: left;
	font-size: medium;
/*	color: #fff;*/ 
	font-family: Century;
	border-style: solid ; 
	border-width: 2px; 
	border-radius: 10px; 
	border-color: #800000; 
	background-color: #eaffff; 
}

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

p.honbun{
	list-style-type: none;
	margin-top: 1em;
	margin-left: 2em;
	padding-left: 2em;
	background: url(../img/point026_06.png) 0.7em 0.4em no-repeat;/* 行頭のポイント */
	text-indent: 0em;
	text-align: justify;
	font-size: 15px;
	font-family: Century;
	color: #000;
	line-height: 1.6; /* 行間のスペースを指定 */
	width: auto;
}
p.tyuuki{
	list-style-type: none;
	margin-top: 0.5em;
	text-align: right;
	font-size: 15px;
	font-family: Century;
	color: #047004;
	line-height: 1.6; /* 行間のスペースを指定 */
	width: auto;
}

/*見出しｈ4*/

.auto-styleh4 {
	display: block;
	position:relative;
	margin: 15pt 0pt 10pt 13pt;
	padding: 5px 5px 5px 1.5em;
	background: url(../img/arrow047_01.gif) 0.8em 0.8em no-repeat;/* 行頭のポイント */
	line-height: 1.6; /* 行間のスペースを指定 */
	text-indent: 1em;
	text-align: left;
	font-size: medium;
	font-family: Century;
	text-decoration: none;
	border-style: solid ; 
	border-width: 2px; 
	border-radius: 10px; 
	border-color: #0000ff; 
	width: auto; 
}
.auto-styleh4:hover {
	top: -5px;
	right: 5px;
	box-shadow: 5px 5px 5px #999;
}
@media (min-width:1200.5px) {
	.auto-styleh4 {
		margin-top: 40px;
	}
}

div.MsoNormal{
	margin: 10px 0 1em 2em;
	text-align: justify;
/*	text-justify: inter-ideograph;*/
	width: auto;
	border: 0.5px solid #c92ad2;
	border-radius: 3px;
	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:1200.5px) {
	div.MsoNormal {
		margin-top: 2rem;
	}
}
img.top-small {
	z-index: 1;
	position: relative;
	float: left;
	width:100%;
	margin-right: 1rem;
	border-radius: 3px;
}
@media (min-width: 350.5px) and (max-width: 1200px) {
	img.top-small {
		width:170px;
	}
}
@media (min-width: 1200.5px) {
	img.top-small {
		width:240px;
	}
}

a.top-small {
	position: relative;
}
.caption-p {
	text-align: right;
	font-size: small;
	margin-top: 10px;
	color: #008800;
}

p.samplu-box-gyou{
    display: block;
    overflow: hidden;
	background-color: #fff;
	border: 0.5px solid #c92ad2;
	border-radius: 3px; 
	color: #000;
	margin-top: 15px;
	margin-left: 2em;
	padding: 5px 10px;
	font-size: 15px;
	line-height: 1.7;  /* 行間のスペースを指定 */
	box-shadow: inset 4px 4px 8px rgba(255,255,255,0.5),inset -4px -4px 8px rgba(0,0,0,0.2);
}
.samplu-box-gyou-2{
	display: block;
	margin-left: 1em;
	padding: 5px 10px;
	color: #000;
	font-family: Century;
	line-height: 1.6rem;
	padding: 5px 10px;
	font-size: 15px;
	line-height: 1.6rem;  /* 行間のスペースを指定 */
	position: relative;
	width: auto;
}
ul.list-1 {
	color: #060;
}
li.list-1 {
	list-style: none;
	background: url(../img/point022_04.png) 1.5rem 0.5rem no-repeat;/* 行頭のポイント */
	margin: 5px 0px 0px 15px;
	padding-left: 3rem;
	line-height:1.5rem;
	text-align: justify;
	font-size: 15px;
	font-family: Century;
	text-align: left;
}


/*　このサイトについて　*/

.auto-style17 {
	list-style: none;
	margin: 1em 1em 1em 2em;
	padding-left: 1em;
	background: url(../img/point026_06.png) 0em 0.3em no-repeat;
	text-indent: 0em;
	text-align: justify;
	font-size: 15px;
	color: maroon;
	line-height: 1.6rem;
	width: auto;
	border-width: 0px;
}

.banner-yanagawa{
	margin: 15px 10px 0px 2.5em;
	width: 233px;
	height: 50px;
}

img.Amour-and-Psyche{
	margin: 5px 0 15px 40px;
	float:left;
	width: 200px;
	height: 113px;
	box-shadow: 5px 5px 5px #999;
}
@media (min-width:1200.5px) {
	img.Amour-and-Psyche{
		margin-bottom: 2rem;
		width:340px;
		height:191px;
	}
}
span.Amour-and-Psyche{
    display: block;
    float: left;
	position: relative;
	width: auto;
	margin: 0px 0px 10px 40px;
	padding: 5px 0px 0px 1px;
}
span.Amour-and-Psyche:after{
	display: block;	
	clear:both;
}
p.Amour-and-Psyche{
	font-size: medium;
	line-height: 1.5rem;  /* 行間のスペースを指定 */
}
ul.Amour-and-Psyche{
	color: #060;
}
li.Amour-and-Psyche{
	list-style: none;
	background: url(../img/point022_04.png) 1.5rem 0.5rem no-repeat;/* 行頭のポイント */
	margin: 5px 0px 0px 10px;
	padding-left: 3rem;
	line-height:1.5rem;
	text-align: justify;
	font-size: 15px;
	font-family: Century;
	text-align: left;
}
p.Comment{/* 通常のコメント */
	margin-top: 15px;
	margin-left: 1em;
    padding-left: 8em;
	text-indent: -2em;
	text-align: justify;
	font-size: small;
    color: #006400;
	line-height: 1.6; /* 行間のスペースを指定 */
	width: auto;
	clear: both;
}
@media (min-width:1200.5px) {
	p.auto-style17,p.samplu-box-gyou-2,p.tyuuki,p.honbun,p.sample-box-top,li.mokuji-1,li.mokuji-2 {
		font-size: 17px;
		line-height: 1.7;
	}
}
@media (min-width:1200.5px) {
	p.Comment {
		font-size: 15px;
	}
}
@media (min-width:1200.5px) {
	h3.midashi-style3,h4.midashi-style4 {
		font-size: 20px;
		margin-top: 45px;
	}
}

p.end {/* 枠内に納める */
    clear: both;
}
