@charset "UTF-8";
a:active {
  color: #1572cf;
}
a:visited{
  color: #1572cf;
}
a.btn_04 {
	display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 100%;
  margin: auto;
  padding: 0.2rem 0;
  font-weight: bold;
  border: 2px solid #cb413e;
  background: #cb413e;
  color: #fff;
  border-radius: 100vh;
  transition: 0.5s;
}
a.btn_04:hover {
	color: #cb413e;
	background: #fff;
}
.block{
	margin: 3rem 0;
}
.block h2{
	background: none;
  border: none;
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
  border-bottom-width: medium;
  border-bottom-style: none;
  border-bottom-color: currentcolor;
  font-size: 2rem;
  color: #666;
  border-bottom: 2px solid #35b2f2;
  width: 100%;
  margin: 0 auto 2rem;
}

.block.top{
	margin:0;
}
h1.top_ttl {
  padding: 1rem 2rem;
  color: #fff;
  background: #35b2f2;
  -webkit-box-shadow: 5px 5px 0 #35b2f2;
  box-shadow: 5px 5px 0 #0c7cb5;
  width: 90%;
  border: none;
  text-align: center;
  font-size: 1.3rem;
  margin: 0 auto 2rem;
}
.top_main_images{
}
.lead-box{
	margin: 2rem auto;
	width: 90%;
}
.lead-box p{
}
a.btn_top {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 80%;
	margin: auto;
	padding: 0.8rem 2rem;
	font-weight: bold;
	border: 2px solid #35b2f2;
	color: #35b2f2;
	border-radius: 100vh;
	transition: 0.5s;
}
a.btn_top:hover {
	color: #fff;
	background: #35b2f2;
}
/*目次**************************************/
.block.table_of_contents{
}
.readmore {
	position: relative;
	box-sizing: border-box;
	/*以下お好み*/
    /* ボーダーを付ける場合 */
    border: 1px solid #CCC;
	background: #f2f3f7;
}
.readmore-content {
	position: relative;
	overflow: hidden;
	/*以下お好み*/
    /*高さの初期値*/
    height: 200px;
	padding: 2em 4em 1em;
}
.readmore-content::before {
 display: block;
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
 content: "";
    /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
    height: 100px;
 background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(20%, rgba(242, 243, 247, .5)), to(#f2f3f7));
 background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(242, 243, 247, .5) 20%, #f2f3f7);
}
/* 続きを読むボタン */
.readmore-label {
	display: table;
	bottom: 1em;
	position: absolute;
	bottom: 5px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	margin: 0 auto;
	z-index: 2;
	padding: 0 10px;
	background-color: #35b2f2;
	color: #FFF;
	padding: .25em 2em;
	font-size: 1.2em;
	margin: 0 0 10px;
}
.readmore-label:before {
	content: '続きを読む';
}
.readmore-check {
	display: none;
}
/*チェック時にボタンを非表示*/
.readmore-check:checked ~ .readmore-label {
 position: relative;
 transform: translateX(0);
 -webkit-transform: translateX(0);
 left:40%;
/* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
    /* display: none; */
}
.readmore-check:checked ~ .readmore-label:before {
 content: '閉じる';
}
/*チェック時に高さを自動に戻す*/
.readmore-check:checked ~ .readmore-content {
 height: auto;
}
/*チェック時グラデーション等を削除*/
.readmore-check:checked ~ .readmore-content::before {
 display: none;
}
.readmore-content .readmore-content-ttl{
	text-align: center;
	  font-size: 1.5em;
	  font-weight: bold;
}
.readmore-content ol {
    list-style-type: decimal;
    margin: 0;
    padding: 0 1.2em;
    overflow: hidden;
}

.readmore-content ol ol {
    margin-top: 5px;
}

.readmore-content li {
    padding: 5px 0;
}
.readmore-content ol li.liststyle {
    list-style-type: none;
}
.readmore-content a {
    color: #166c9d;
}
/*目次**************************************/
ul.ranking_list{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content: space-between;
	padding: 0;
	counter-reset: rank;
}
ul.ranking_list li{
	width: 18%;
	list-style: none;
	position: relative;
	margin: 1rem 0;
}
ul.ranking_list li:not(:last-child) {
  margin-bottom: 10px;
}
ul.ranking_list li::before { /* ラベルと順位のスタイル */
  counter-increment: rank;
  content: counter(rank) " 位";
  position: absolute;
  padding: 3px 10px;
  font-size: 1em;
  color: #fff;
  background: rgba(0,0,0,0.8);
  top: -30px;
}
ul.ranking_list li:nth-child(1)::before { /* 1位（王冠）のスタイル */
   background: #e6c300;
}
 
ul.ranking_list li:nth-child(2)::before { /* 2位（王冠）のスタイル */
   background: #a9a9a9;
}
 
ul.ranking_list li:nth-child(3)::before { /* 3位（王冠）のスタイル */
   background: #815a2b;
}
ul.ranking_list li img{
	width: 100%;
	object-fit: cover;
}
p.ranking_list_data{
  font-size: 0.8rem;
}
.ranking_list_sub{
		font-size: 13px;
	display: inline-block;
	padding: 1px 5px;
	border-radius: 5px;
	left: 12px;
	bottom: 10px;
	margin: 0px;
	color: #000;
	width: 90%;

}
.block.item{
}
.item_block {
	border-bottom: 1px dashed #35b2f2;
	padding: 3rem 0 4rem;
}
.item_block h3{
margin: 0 0 1rem;
  padding: 2px 0 1px 0.5em;
  border-left: 5px solid #35b2f2;
  font-size: 1.6em;
  font-weight: bold;
  color: #666;
  border-bottom: 1px dotted #35b2f2;
}
.item_block .fig{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content: space-between;
}
.item_block .fig .img_wrap{
	width: 50%;
  margin: 0 auto;
  text-align: center;
}
.item_block .fig .img_wrap img{
	width: 70%;
}

.item_block .fig2{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content: space-between;
}
.item_block .fig2 img{
	width:33%;
}
.item_block .txt{
	margin:1rem 0;
}
.item_block .txt p{
}
.item_block .txt2{
	margin:1rem 0;
}
.item_block .txt2 ol{
	background: #35b2f22b;
  padding: 2rem 3rem;
  border-radius: 10px;
}
.item_block .txt2 ol li{
	list-style: square;
	color: #35b2f2;
	margin: 0 0 1rem;
}
.item_block .txt2 ol li span{
	color:#666;
}
ul.item_list{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content: space-between;
	padding: 0;
	counter-reset: rank;
}
ul.item_list li{
	width: 23%;
	list-style: none;
	position: relative;
	margin: 1rem 0;
}
ul.item_list li img{
	width: 100%;
	object-fit: cover;
}
p.item_list_data{
  font-size: 0.8rem;
}
.item_list_sub{
		font-size: 13px;
	display: inline-block;
	padding: 1px 5px;
	border-radius: 5px;
	left: 12px;
	bottom: 10px;
	margin: 0px;
	color: #000;
	width: 90%;

}


