@charset "utf-8";

/* -----reset css------ */
html,body,address,h1,h2,h3,h4,h5,h6,dl,dt,dd,ol,ul,li,div,p,pre,blockquote,hr,bdo,a,br,del,ins,abbr,dfn,sub,sup,q,cite,code,var,kbd,samp,map,area,iframe,img,form,label,fieldset,legend,input,textarea,select,option,optgroup,button,command,details,menu,summary,article,aside,header,footer,nav,section,figcaption,figure,main,mark,rp,rt,ruby,time,wbr,audio,canvas,embed,object,param,source,video,datalist,keygen,meter,output,progress{margin:0;padding:0;border:0;outline:0;font-size:100%;font-weight:normal;vertical-align:baseline;list-style-type:none;background:transparent;box-sizing:border-box;}embed,iframe,img,table,textarea{max-width:100%;}table{border-collapse:collapse;border-spacing:0;}a,a:link,a:visited{color:#333;text-decoration:none;}a:hover,a:active{color:#777;}article,aside,canvas,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block;}
/* ---reset css end----2019/12/03更新 */

html,body{
  width:100%;
  min-height:100%;
}
html{
  font-size:90%; /* フォントサイズは1em(16px)の90% */
  overflow-x:hidden;
}
body{
  animation:fadeIn 0.5s ease 0s 1 normal;
}
@keyframes fadeIn{
  0%{opacity:0}
  100%{opacity:1}
}
img {
  opacity: 1;
  transition: opacity 0.5s;
  border:none;
  max-width:100%;
  height:auto;
}
img[data-src] {
  opacity: 0;
  display:none;
}
body{
  font-size:1.0em;
  color:#000; /* 基本文字色 */
  line-height: 1.8;
  font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Verdana,sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -ms-text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
  -webkit-overflow-scrolling:touch !important;
}
body::before{
  background:#7ecaff; /* 色 */
  position:fixed;
  display:block;
  top:0;
  left:0;
  width:100%;
  height:100%;
  content:"";
  z-index:-1;
  transform:translate3d(0,0,0);
}
#wrapper{
  width:100%;
  min-height:100%;
  text-align:center;
  position:relative;
  overflow:hidden;
}
body > #wrapper{
  height:auto;
}
h1, h2, h3, h4{
  font-weight:normal;
}
a,
a:link,
a:visited{
  color:#207e41;
  text-decoration:none;
}
a:hover{
  color:#ff8b8b;
  text-decoration:none;
}
.emoji{
  margin:0;
  vertical-align:middle;
}
hr{
  border-top:solid 1px #666;
  height:1px;
}
.hr1{
  border-top:dashed 1px #63b46f;
  height:1px;
  padding-bottom:10px;
}
.hr2{
  border-top:dotted 1px #ccc;
  height:1px;
  margin:0 10px;
}
strong{
  font-weight:bold;
}
b{
  font-weight:bold;
}
blockquote{
  padding:10px 15px;
  margin:10px;
  background-color:#f7f7f7;
  border:solid 1px #ccc;
  border-radius: 5px;
}

/* トップ画像 */
.topimg{
  height:auto;
  position: relative;
  overflow: hidden;
  padding-top:40%; /* トップ画像の高さ */
  background:url('https://blog-imgs-27.fc2.com/s/o/r/sorauta1/gre-1.jpg'); /* 表示したい画像URL */
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  border:1px dotted #63b46f;
  border-radius:7px;
  margin:0 20px 30px 0;
}

/* ヘッダー部分 */
header {
  width:660px;
  top:25px;
  position:absolute;
  z-index:1;
}

/* ブログタイトル */
header a,
header a:link,
header a:visited{
  color:#469552; /* ブログタイトルの文字色 */
  font-weight: bold;
  font-size:1.8em;
  text-decoration:none;
}
h1{
  top:0;
  margin:30px 1px 0;
  padding:0 20px;
  line-height:1.5;
  background-color:rgba(255,255,255,0.5);
}

/* ブログ説明部分 */
.introduction{
  margin:5px 20px;
  padding:0 10px;
  color:#000; /* --説明文の文字色-- */
}

/* 管理リンク・パンくず表示部分 */
.pan_box{
  display:-webkit-flex;
  display:flex;
  margin:0 10px;
}
.pan{
  -webkit-flex:1;
  flex:1;
  text-align:left;
}
.adm{
  text-align:right;
}
.adm2{
  display:none; /* メニューカラムの管理リンク、2カラム時非表示 */
}
.pankuzu{
  text-align:left; 
  margin:0 20px 0 10px;
  color:#777;
  font-size:0.9em;
} 
span.breadcrumb_entry:nth-last-child(3){
  display:none;
}
.clearfix:after{
  content:"";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
}

/* 管理ページ部分 */
ul.admin{
  margin:0;
  padding-right:10px;
  list-style-type:none;
  text-align:right;
}
ul.admin li{
  display:inline;
  margin:0;
}

/* メインカラム枠部分 */
.blog-con{
  position:relative;
  margin:10px 0 30px;
  padding:20px 10px;
  background:#fff;
  border:1px dotted #63b46f;
  border-radius:7px;
}
.entry_date{
  text-align:right;
  margin:3px;
  padding-right:10px;
  font-size:1em;
  color:#5b4035;
  line-height:1.7;
  background-color:#e8ffdc;
  border-bottom:#ddd 1px solid;
  border-radius:3px;
}
.entry_title h2{
  border:none !important;
}
.entry_title h2 a{
  font-size:1em;
  font-weight:bold;
  color:#469552;
}
.con_body{
  margin:25px 25px 0;
}
.con_body ul li{
  margin-left:20px;
  list-style-type:disc;
}
.con_body ol li{
  margin-left:20px;
  list-style-type:decimal;
}
.relate_dd .relate_ul .relate_li,
.relate_dd .relate_ul .relate_li_nolink {
  margin-left:0;
  list-style-type:none; /* 関連記事のリストマーク */
}
.entry-footer{
  padding:15px 5px 0;
  font-size:0.8em;
  text-align:right;
}
.topentry_comment_body{
  padding:0 25px;
}
.pen-link{
  font-size:1.5em;
  color:#000;
  margin-left:2px;
  line-height:1;
  vertical-align:middle;
  transform:rotate(110deg);
  display:inline-block;
}

/* 記事ページ追記ボタン */
.hidden_box label{
  padding:0 10px;
  border:solid 1px #aaa;
  cursor:pointer;
}
.hidden_box label:hover{
  background:#e1f0f6;
  color:#333;
}
.hidden_box input {
  display:none;
}
.hidden_box .hidden_show{
  height:0;
  padding:0;
  overflow:hidden;
  opacity:0; /* 中身を非表示にしておく */
}
.hidden_box input:checked ~ .hidden_show{
  padding:10px 0;
  height:auto;
  opacity:1; /* クリックで中身表示 */
}

/* メニュー部分 */
.archive h2,
.menu3 h2,
.entry_title h2,
.menu_title,
h3.entry_title{
  background:url(https://blog-imgs-27.fc2.com/s/o/r/sorauta1/lea-g.gif) no-repeat;
  padding-left:30px;
  color:#666;
  font-weight:bold;
  text-align:left;
  margin:0 5px;
  border-bottom:2px dashed #63b46f;
}
nav li{
  list-style-type:none;
  padding:0;
  font-size:1.0em;
  line-height:1.8;
}
nav li a{
  display:inline-block;
}
nav li a:hover{
  color:#ff8b8b;
}
#tools_container{
  margin-top:15px;
}


/* ２カラム＋ベース部分 */

#box{
  width:950px;
  height:100%;
  margin:0 auto;
  text-align:left;
  background-color:rgba(255,255,255,0.5);
}
#content{
  width:680px;
  float:right;
}
.blog{
  padding-right:20px;
}
.archive,.menu3{
  padding-right:20px;
}
.title_list{
  padding:0 15px;
}
#left-box{
  float:left;
  width:270px;
  padding:0 15px 20px;
}
.menu-box{
  padding:10px 15px 40px;
  overflow:hidden;
}
.menu_block{
  padding-top:10px;
  background-color:rgba(255,255,255,0.6);
}
#footer{
  width:950px;
  margin:0 auto;
  padding:7px;
  height:auto;
  color:#666;
  background-color:#e8ffdc; /* フッター背景色 */
  border-top:#fff 1px solid;
  text-align:center;
  line-height:1.5;
}
#footer a,
#footer a:link,
#footer a:visited{
  color:#207e41;
  text-decoration:none;
}
#btn1,
#btn2{
  display:none; /* ドロワーメニューボタン、2カラム時非表示 */
}
.kiji1{
  display:none; /* 記事表示時要約非表示 */
}
.kiji2{
  display:block; /* 要約表示時記事非表示 */
}

/* 簡易表示トップページエントリー */
.kiji1{
  overflow: hidden;
  margin:0;
}
.left{
  float:left;
  width:40%; /* サムネイル部分の幅 */
  height:auto;
  max-height:140px;
  margin-right:10px;
  text-align:center;
  position: relative;
  overflow:hidden;
}
.left img{
  width:100%;
  height:auto;
  max-height:140px;
  -o-object-fit: cover; /* 古いopera用ベンダー */
  font-family:'object-fit:cover;'; /* IE対策 */
  object-fit:cover;
  border:1px solid #ddd;
  vertical-align:middle;
}
.left img[src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="],
.left img[style*="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="]{
  display:none; /* 要約表示時に画像が無い場合ダミー画像を非表示 */
}
.moji-c{
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4; /* 表示したい行数（4行表示で末尾に3点リーダー表示、webkit系のみ) */
  max-height:7.0em; /* IE,Firefox対策（3行は5.2em、5行は8.8em) */
}
p.right-txt{
  text-align:right;
  margin-right:20px;
}
.clearLeft{
  clear:left;
}

/*コメントリスト*/
.sidehide{
  display:none;
  padding:10px 0;
  text-align:left;
  color:#454545;
}

/*プロフィール画像の余白・表示位置 */
.plugin-myimage{
  margin:0 auto;
  text-align:center !important;
}

/* 記事ページ移動 */
.page_navi{
  padding-bottom:10px;
  text-align:center;
  margin:0px auto;
}

/* ページネーション */
#pagenavi{
  line-height:30px;
  font-size:1.0em;
  text-align:center;
  margin:5px;
}
#pagenavi a,#pagenavi span{
  margin:2px 1px;
  padding:0 11px;
  background:#fff;
  border:2px solid #ccc;
  border-radius:5px;
  text-decoration:none;
  transition:all 0.3s;
  display:inline-block;
}
#pagenavi span{
  font-weight:bold;
  background:#e1f0f6;
}
#pagenavi a.dot{
  text-decoration:none;
  border:2px solid #ccc;
}
#pagenavi a:hover{
  border-color:#fff;
  background:#fcccd3;
  color:#fff;
  font-weight: bold;
}
.pagenation{
  overflow:hidden;
  margin:5px;
}
.pagenation ul{
  text-align:center;
  position:relative;
  list-style:none;
  padding-left:0;
}
.pagenation li{
  position:relative;
  display:inline-block;
}
.pagenation_prev,.pagenation_next{
  margin:10px;
  font-size:1.0em;
}

/* ページトップ・ボトムボタン */
#pagetop{
  bottom:180px;
}
#pagebottom{
  bottom:135px;
}
#pagetop,#pagebottom{
  display:none;
  position:fixed;
  right:30px;
  background-color:rgba(173,216,230,.75);
  border:2px solid #f5f5f5;
  text-align:center;
  color:#fff;
  font-size:22px;
  text-decoration:none;
  padding:0 8px;
  border-radius:5px;
  z-index:4;
  -webkit-transform:translate3d(0,0,0);
  transform:translate3d(0,0,0);
}
#pagetop:hover,#pagebottom:hover{
  background-color:rgba(255,182,193,.8);
}

/* カレンダー */
table.calender{
  width: 100%;
}
.calender caption{
  font-size:1.0em;
  border-bottom:1px solid #ccc;
}
.calender th{
  font-weight:normal;
  text-align:center;
  border-bottom:1px dotted #ccc;
}
.calender td{
  text-align:center;
  border-bottom:1px dotted #ccc;
}
.calender td a:link,.calender td a:visited{
  font-weight:nomal;
  color:#3c0;
  text-shadow: 0px 0px 15px #ff0;
}
.calender td a:hover{
  color:#ff8b8b;
  text-decoration:none;
}
th#sun{
  color:#9d5555;
}
th#sat{
  color:#0000ff;
}

/* 全記事表示 */
.all_body{
  margin:10px;
  border-bottom:1px dotted #ccc;
}
.all_day{
  padding:0;
  margin:0;
}

/* コメント部分 */
.com_block{
  margin:10px 0 30px;
  padding:10px 35px;
  background-color:#fff;
  border:1px solid #ccc;
  border-radius:7px;
}
.com_title{
  margin: 10px 0 15px;
  color:#469552;
  font-weight:bold;
  border-bottom:1px dotted #ccc;
}
.com_state{
  margin-top:10px;
  text-align:right; 
}
input[type=text],
input[type=password],
select,
textarea {
  border:solid 1px #aaa;
  padding:2px;
  background-color:#fff;
  width:100%;
}
input[type="password"]{
  margin-bottom:5px;
}
input[type=submit],
input[type=reset],
input[type=button],
input[type=image],
button{
  border:solid 1px #aaa;
  padding:2px;
  background-color:#e1f0f6;
}
input[type=checkbox],
input[type=radio]{
  margin:5px;
  vertical-align:middle;
}
input[type="password"],
input[type="text"],
textarea,select{
  font-size:1.0em;
  font-family:sans-serif;
}
::placeholder{
  color:#c3c3c3;
}


/* ２カラム */

@media only screen and (min-width:770px) and (max-width:970px) {
#box{
  max-width:95%;
}
header {
  width:95%;
  top:25px;
  padding-left:280px;
}
#content{
  width:100%;
  margin-left:-270px;
  float:right;
}
#left-box{
  float:left;
  margin-left:0;
  padding:0 20px 20px;
}
.menu-box{
  padding:10px 15px 30px;
  overflow:hidden;
}
.topimg {
  margin-left:280px;
  padding-top:30%;
}
.blog{
  margin-left:270px;
  padding-right:20px;
}
.archive,.menu3{
  margin-left:270px;
}
.pagenation{
  margin-left:270px;
}
#footer{
  width:95%;
}
.adm2{
  display:none; /* メニューカラムの管理リンク、2カラム時非表示 */
}
#btn1,
#btn2 {
  display:none; /* ドロワーメニューボタン、2カラム時非表示 */
}
}


/* １カラム */

@media only screen and (max-width:769px) {
body::-webkit-scrollbar{
  display:none;
}
body{
  -ms-overflow-style:none;
}
#box {
  width:95%;
  min-height:90vh;
}
#content{
  width:100%;
  float:none;
  padding-top:20px;
  margin-left:0;
}
header{
  width:95%;
  top:25px;
  overflow:hidden;
  height:auto;
  margin:0;
  padding:0;
  position:absolute;
}
.introduction{
  margin:5px 20px;
  padding:0 30px;
}
.topimg{
  margin:0 20px 20px;
  padding-top:35%; /* トップ画像の高さ */
}
h1{
  margin:5px 21px;
  padding:0 30px;
  line-height:1.3;
}
.pan_box{
  display:none; /* １カラム時非表示 */
}
.adm{
  display:none; /* 上部管理リンク、1カラム時非表示 */
}
.adm2{
  display:block; /* ドロワーメニュー下の管理リンク表示 */
}
.blog{
  padding:0 20px;
}
.archive,.menu3{
  padding:0 20px;
  margin-top:7px;
}
.blog-con2{
  margin:20px 0;
}
#footer{
  width:95%;
}
#left-box{
  width:100%;
  padding:0 5px 10px;
}
.menu-box{
  padding:10px 15px 30px;
  overflow:hidden;
}
.menu_title{
  padding-bottom:3px;
  cursor:pointer;
}

/* ドロワーメニュー部分 */
#btn1,
#btn2{
  display:block; /* ドロワーメニューボタン表示 */
}
#btn1{
  overflow:hidden;
  height:27px;
  top:0;
  right:0;
  width:43px;
  position:absolute;
}
#btn2{
  background-color:#e8ffdc;
  border-bottom:#ddd 1px solid;
}
#nav_open {
  margin:0 13px;
  position:fixed !important;
  cursor:pointer;
  width:17px;
  height:26px;
  z-index:3;
}
#nav_open span, #nav_open span:before, #nav_open span:after{
  position:absolute;
  bottom:18px;
  right:0;
  height:2px; /* ハンバーガーボタン 線の太さ */
  width:17px; /* ハンバーガーボタン 線の長さ */
  background:#666;
  display:block;
  content: '';
  transform: translate3d(0,0,0);
}
#nav_open span:before{
  bottom:-6px;
}
#nav_open span:after{
  bottom:-12px;
}
#nav_close{
  cursor:pointer;
  position:relative;
  padding-left:215px;
}
#nav_wrap{
  display:none;
}
.css-cancel{
  display:inline-block;
  position:relative;
  margin:3px 12px 0 20px;
  padding:0;
  width:2px; /* キャンセルボタン 線の太さ */
  height:20px; /* キャンセルボタン 線の長さ */
  background:#666; /* 線の色 */
  transform:rotate(45deg);
}
.css-cancel:before{
  display:block;
  content:"";
  position:absolute;
  top:50%;
  left:-9px; /* 左からの位置 */
  width:20px; /* キャンセルボタン 線の長さ */
  height:2px; /* キャンセルボタン 線の太さ */
  margin-top:-1px; /* 上からの位置 */
  background:#666; /* 線の色 */
}
nav{
  position:fixed;
  top:0;
  bottom:0;
  height:100vh;
  width:270px;
  right:-270px;
  padding-bottom:150px;
  background:#fff;
  z-index:5;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
.tree-m{
  display:none; /* メニューを閉じて表示 */
}

/* モバイル入力時フォントサイズ（これより小さいと画面が勝手に拡大される） */
input[type="password"],input[type="text"],textarea,select{
  font-size:16px;
  font-family:sans-serif;
}

/* ページトップ・ボトムボタン */
#pagetop{
  bottom:180px;
}
#pagebottom{
  bottom:150px;
}
#pagetop,#pagebottom{
  right:10px;
  font-size:14px;
  padding:0 6px;
}
}


@media only screen and (max-width:420px) {
#box {
  width:100%;
}
header{
  width:100%;
}
header a,
header a:link,
header a:visited{
  font-size:1.4em;
}
h1{
  margin:5px 16px;
  padding:0 15px;
}
.introduction{
  display:none; /* 420px時非表示 */
}
.adm{
  display:none;
}
.topimg{
  margin:0 15px 20px;
}
.archive,.menu3{
  padding:0 15px;
}
.title_list{
  padding:0 5px;
}
.blog{
  padding:0 15px;
}
.con_body{
  margin:15px;
}
.com_block{
  padding:10px 25px;
}
.topentry_comment_body {
  padding:0 15px;
}
.kiji1{
  display:block; /* 1カラム時要約表示 */
}
.kiji2{
  display:none; /* 1カラム時記事非表示 */
}
.left{
  float:none;
  width:100%;
}
.right {
  padding-top:10px;
}
.sidehide {
  padding:10px 0;
}
#footer{
  width:100%;
  padding:8px;
  font-size:0.9em;
}
/* ページネーション */
#pagenavi{
  line-height:20px;
  font-size:0.8em;
  margin:10px 0;
}
.pagenation{
  margin-bottom:20px;
}
.pagenation_prev,.pagenation_next{
  margin:5px;
  font-size:0.8em;
}
}


/* その他、表示幅で変更 */

@media only screen and (max-width: 960px) {
/* 動画サイズレスポンシブ用（iframeをdiv class="player"で括る） */
/* 960pxまでは埋め込みコード560×315で表示 */
.player{
  position:relative;
  height:0;
  padding-bottom:56.25%; /* アスペクト比16:9の場合 */
  overflow: hidden;
}
.player iframe{
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
}
}

@media screen and (min-width:600px) {
.entry-navi{
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
}
.entry-prev,.entry-next{
max-width:45%;
}
}

.entry-navi{
margin:0 auto 20px;
width:100%;
font-size:12px;
}
.entry-prev{
list-style:none;
margin:0 5px 0 15px;
}
.entry-next{
list-style:none;
margin:0 15px 0 5px;
}
.entry-prev a{
padding:0 10px;
display: block;
position: relative;
max-width: 100%;
text-align: left;
}
.entry-prev a:before {
display: block;
content: "";
position: absolute;
top: 50%;
left: -3px;
width: 10px;
height: 10px;
margin: -7px 0 0 0;
border-top: solid 2px #666;
border-right: solid 2px #666;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.entry-next a{
padding:0 10px;
display: block;
position: relative;
max-width: 100%;
text-align: right;
}
.entry-next a:after {
display: block;
content: "";
position: absolute;
top: 50%;
right: -3px;
width: 10px;
height: 10px;
margin: -7px 0 0 0;
border-top: solid 2px #666;
border-right: solid 2px #666;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

/* 管理者コメントの背景に色を付ける 他のスタイル追加可能
記事のコメント投稿、管理画面コメント返信（ログイン時のみ） */
.author-comment{
  background-color:#e8f3f5;
}

/* Newマーク、日付・タイトル前 */
.new{
margin-right:5px;
font-size:0.9em; /* 文字サイズ */
font-weight:normal;
color:red; /* 文字の色 */
}

/* タグリスト */
.tag_list{
  display:inline-block;
  margin:20px 25px 15px;
  padding:0 5px;
  border:1px dotted #999;
  border-radius:3px;
  font-size:0.8em;
}
@media only screen and (max-width:420px){
.tag_list{margin:15px;}
}

table th {/*table内のthに対して*/
  padding: 10px;/*上下左右10pxずつ*/
}

table td {/*table内のtdに対して*/
  padding: 3px 10px;/*上下3pxで左右10px*/
}

table {width: 100%}

table td{/*tdに対して*/
  
  background: #f0f8ff;/*背景色*/
}
