@charset "utf-8";
html{font-size: 10px;-webkit-text-size-adjust: 100%;}
* {-webkit-touch-callout: none;-webkit-user-select: none;}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike,
strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td
{border: 0;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}
ol, ul {list-style: none;}
li {list-style-type: none;}
#contents li a{ display: block; }
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
img {border: 0;display:block;margin:1em auto;max-width: 100%;height: auto;}
a img:hover , span img:hover{
  opacity:0.7;
  -webkit-transition: 0.7s;
  -moz-transition: 0.7s;
  -o-transition: 0.7s;
  -ms-transition: 0.7s;
  transition: 0.7s;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

/* clearfix */
.clearfix:after {content: "."; display: block; visibility: hidden; height: 0.1px; font-size: 0.1em; line-height: 0; clear: both;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

body {
  color: #666;
  font-family:
  "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
  "メイリオ","ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.5rem;
  line-height: 1.5;
  margin: 0 auto;
  padding: 0;
  vertical-align: baseline;
  -webkit-overflow-scrolling:touch;
  border: 0;
  background: #FFF url(images/bg.jpg) no-repeat 50% 50%;
  background-attachment: fixed;
  background-size: cover;
}

.webfont{font-family: 'Josefin Sans', sans-serif;}

main a{text-decoration:underline; color:#0044CC;}
main a:hover{text-decoration: none; color:#0044CC;}
main a:visited{text-decoration: underline; color: #503160; }

#sub a{text-decoration: none; color:#0044CC;}
#sub a:hover{text-decoration: underline; color:#0044CC;}
#sub a:visited{text-decoration: none; color: #503160;}

#sub .dtnds {
  text-decoration: none;
  color:#0044CC;
  cursor: pointer;
}
#sub .dtnds:hover{
  text-decoration: underline;
  color:#0044CC;
}
main .dtnds {
  text-decoration: underline;
  color:#0044CC;
  cursor: pointer;
}
main .dtnds:hover{
  text-decoration: none;
  color:#0044CC;
}

.center{
  text-align:center;
  margin: 0px auto;
}

.imgR {
  float: right;
  margin: 5px;
  padding:5px;
}

.imgL {
  float: left;
  margin: 5px;
  padding:5px;
}
.clear{
  clear: both;
  margin-bottom: 20px;
}
@media screen and (max-width:479px) {
  .imgR {float: none;}
  .imgL {float: none;}
}

.em{background: linear-gradient(transparent 40%, #ffffcc 40%);}
.em2{border-bottom: 2px dashed red;}
.red{color:red;}

.top{
  position:fixed;
  bottom:10px;
  right:10px;
  z-index: 2;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -o-transition: 0.2s;
  -ms-transition: 0.2s;
  transition: 0.2s;
}

.top:hover{
  position:fixed;
  bottom:5px;
  right:10px;
}

/*icon*/
.fa-star,.fa-star-half{
  font-size: 30px!important;
  padding: 3px;
  color: #e6e600;
}
.fa-angle-double-right{
  padding-right: 1em;
  color: blue;
}

/*mainimage*/
.mainimage{margin:0px auto 50px auto;}
.mainimage img{border-radius: 6px;}

/*contents*/
#contents {
  width:78%;
  margin: 25px auto 0px auto;
  text-align: left;
}

main {
  float: left;
  width: 70%;
  padding:1%;
  margin: 0px auto;
  overflow:visible;
}

main p{
  font-size:17px;
  font-size:1.7rem;
  line-height: 40px;
  padding: 10px 10px 10px 10px;
  margin:0px 0px 50px 0px;
}

section,article,.sidebox{
  padding: 10px;
  margin: 0 0 75px 0;
  background: #FFF;
  border-radius: 5px;
  filter: drop-shadow(0px 0px 2px rgba(179, 179, 179,.8));
}
.sidebox{
  padding: 1em;
}

/*sub*/
#sub {
  float: right;
  width: 25%;
  padding:1%;
  margin: 0 auto;
}

#sub .arwbox{
  font-size:18px;
  font-size:1.8rem;
  font-weight: bold;
  text-align:center;
  color:#fff;
  margin: 0px auto 30px auto;
  position: relative;
  padding: 0.6em;
  background: #5A7284;
}
#sub .arwbox:after {
  position: absolute;
  content:'';
  top: 100%;
  left: 20px;
  border: 15px solid transparent;
  border-top: 15px solid #5A7284;
  width: 0;
  height: 0;
}

#sub .menu, #sub .mainmenu{
  font-size:18px;
  font-size:1.8rem;
  font-weight: bold;
  text-align:center;
  color: #010079;
  margin: 0px auto 15px auto;
  text-shadow: 0 0 5px white;
  padding: 0.5em;
  background: #FFF;
  border-bottom: solid #00768A 5px;
  filter: drop-shadow(2px 2px 4px #CCC);
}
#sub .mainmenu{ border-bottom: solid #D7768A 5px;}

#sub ul {
  margin: 0 0 0 0;
  padding: 5px;
}

#sub ul li span{display:block;}
#sub ul li span:hover{text-decoration: underline;}

#sub ul li {
  font-size:17px;
  font-size:1.7rem;
  position: relative;
  display: block;
  text-decoration: none;
  color:#0044CC;
}

#fontSize{
  color:#0044CC;
  text-align: center;
  cursor: pointer;
  margin:0px auto;
  display: flex;
  justify-content:center;
}
#sub .small , #sub .middle , #sub .large {text-align:center;padding: 0px 10px;}
@media screen and (max-width:1259px) {
  #sub .small , #sub .middle , #sub .large {text-align:center;padding: 0px 2px;}
}

.icon{padding: 12px 0px 12px 30px;background: url(images/icon.png) no-repeat 0% 50%;}
.icon:hover{background: url(images/icon.png) no-repeat 1% 50%;transition: 0.1s;}
.icon_ranking{padding: 12px 0px 12px 30px;background: url(images/icon_ranking.png) no-repeat 0% 50%;}
.icon_ranking_second{padding: 12px 0px 12px 30px;background: url(images/icon_ranking_second.png) no-repeat 0% 50%;}
.category, .item{
  cursor: pointer;
  padding: 12px 0px 12px 30px;
}

.category::before,.item::before{
  content: "\f114";
  font-family: "FontAwesome";
  color: #333;
  position: absolute;
  top: auto;
  left: 0;
}
.item::before{
  content: "\f067";
  font-family: "FontAwesome";
}

@media screen and (max-width:1279px) {
  #contents {width:98%;}
}
@media screen and (max-width:959px) {
  #contents {width:98%;}
  main {
  float: none;
  width: 98%;
  border: none;
  }
  #sub{
  float: none;
  width: 98%;
  border: none;
  }
}

/*見出し*/
main h1{
  font-size: 26px;
  font-size:2.6rem;
  font-weight: bold;
  color:#FFF;
  text-align:center;
  background: #8B8276;
  border-radius: 6px;
  padding: 15px 0px;
  margin: 0px 0px 30px 0px;
  letter-spacing:5px;
  text-align: center;
}

main h2{
  font-size: 26px;
  font-size:2.6rem;
  font-weight: bold;
  border-bottom: solid 3px #5A7284;
  padding: 5px 10px 5px 10px;
  margin: 0px 0px 30px 0px;
  letter-spacing:2px;
}

main h3{
  font-size: 22px;
  font-size:2.2rem;
  color: #5A7284;
  border-bottom: dashed 2px #B8C6D1;
  padding: 5px 10px 5px 10px;
  margin: 0px 0px 30px 0px;
  letter-spacing:2px;
}

main h4{
  font-size: 20px;
  font-size:2.0rem;
  padding: 5px 10px 5px 10px;
  margin: 0px 0px 30px 0px;
  font-weight: 100;
  letter-spacing:2.5px;
}
@media screen and (max-width:599px) {
  main h1,main h2{font-size: 22px;font-size: 2.2rem;}
  main h1,main h2,main h3,main h4{font-size: 20px;font-size: 2.0rem;}
}

main .ranking_title{
  font-size: 20px;
  font-size: 2.0rem;
  display: block;
  position: relative;
  background: #5E768A;
  box-shadow: 0px 0px 0px 5px #5E768A;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
  margin: 15px 1%;
  color: #FFF;
  width: 15%;
  text-align: center;
}

main .ranking_title:after{
  position: absolute;
  content: '';
  left: -7px;
  top: -7px;
  border-width: 0 0 15px 15px;
  border-style: solid;
  border-color: #fff #fff #5E768A;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

/*box*/
.bg{
  padding:10px;
  margin:0px 0px 75px 0px;
  background:#B8C6D1;
  border-radius: 6px;
}
.bg div{
  padding:5px;
  background:#FFF;
  border-radius: 6px;
}

.bg_box{
  padding:10px;
  margin:0px 0px 75px 0px;
  border: solid 2px #847967;
  border-radius: 6px;
}
.bg p , .bg_box p{margin: 0 0 0 0;}

#toc {
    padding: 0.5em 1em;
    margin: 2em 0;
    background: rgba(179, 179, 179,.1);
    border-top: solid 10px #5A7284;
}

.link_box{
  display: flex;
  justify-content: center;
}
.link_box a{text-decoration: none;}
.link_box a:hover{color: red;}
.link_box div{
  flex: 1;
  margin: 1%;
}
.link_box img{
  padding: 1%;
  margin: 1%;
}
.link_comment{
  display: block;
  font-size: 16px;
  margin: 10px auto;
  padding: 1%;
}
.link_comment::after{
  content: "...詳しく読む";
  display: block;
  position: absolute;
  bottom: 1%;
  text-align:center;
  font-size: 90%;
}
@media screen and (max-width:959px) {
  .link_box{
    display: block;
    text-align: center;
  }
  .link_box img{
    padding: 1%;
    margin: 1% auto;
  }
  .link_comment::after{
    position: relative;
  }
}

main p.reviewBox{
  margin:20px auto 50px auto;
  width:75%;
}
@media only screen and (max-width: 480px){
  main .reviewBox{
    width:100%;
  }
}

/*リスト*/
main ul{
  padding:10px;
  margin:0px 0px 50px 0px;
}

main ul li{
  border-bottom: solid 1px #CCC;
  padding:12px 0px 7px 5px;
  margin:0px 0px 10px 0px;
  font-size:17px;
  font-size:1.7rem;
  color:#555;
}
main ul li::before{
  content: "●";
  color: skyblue;
  padding-right: 1em;
}

/*footer*/
footer {
  clear: both;
  color: #333;
  background: #847967;
  margin: 30px auto 0px auto;
}

footer .copyright {
  font-size:15px;
  font-size:1.5rem;
  color: #FFF;
  text-align: center;
  padding: 30px;
}

/*ボタン*/
main .more a, main .more span{
  font-size: 22px;
  font-size: 2.2rem;
  text-align: center;
  display: block;
  margin:30px auto 60px auto;
  padding: 0.7em 1em;
  text-decoration: none;
  border-radius: 4px;
  color: #ffffff;
  background-image: -webkit-linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%);
  background-image: linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
  border-bottom: solid 3px #c58668;
  width: 70%;
}

main .more a:hover, main .more span:hover{
  -ms-transform: translateY(4px);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  transition: .3s ease-in-out;
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
  border-bottom: none;
  color: #ffffff;
}
@media screen and (max-width:599px) {
  main .more a, main .more span{width:98%;padding: 0.7em 1%;}
}

/*ページ最上部*/
.midashi {
  margin:0px auto 0px auto;
  padding:5px 0px 5px 0px;
  color:#444;
  width:76%;
}
.midashi img{float:right}

.comment{
  font-size: 12px;
  font-size: 1.2rem;
  background:#F5EFE5;
  margin:0px auto 0px auto;
  padding:5px 0px;
  color:#666;
}
.comment div{
  display: block;
  width:76%;
  margin:0px auto 0px auto;
}


/*
- Name: megamenu.js - style.css
- Version: 1.0
- Latest update: 29.01.2016.
- Author: Mario Loncarek
- Author web site: http://marioloncarek.com
*/

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Screen style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.menu-container {
    margin: 0 auto;
    background: #847967;
    border-bottom: 1px solid #CCC;
}

.menu ul li a,.menu ul li span{
  font-size: 15px;
  color: #FFF;
  cursor: pointer;
}
.menu ul li ul li a:hover,.menu ul li ul li span:hover{opacity: 0.6;}

.menu-container>div{
  width: 78%;
  margin: 0 auto;
}

.menu-mobile {
    display: none;
    padding: 20px;
}

.menu-mobile:after {
    content: "\f0c9";
    font-family: "FontAwesome";
    font-size: 2.5rem;
    padding: 0;
    float: right;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-25%);
    -ms-transform: translateY(-25%);
    transform: translateY(-25%);
}

.menu-dropdown-icon:before {
    content: "\f067";
    font-family: "FontAwesome";
    display: none;
    float: right;
    padding: 1em 2em;
    background: #fff;
    color: #333;
}

.menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;
    position: relative;
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
    box-sizing: border-box;
}

.menu > ul:before,
.menu > ul:after {
    content: "";
    display: table;
}

.menu > ul:after {
    clear: both;
}

.menu > ul > li {
    float: left;
    padding: 0;
    margin: 0;
}

.menu > ul > li a {
    text-decoration: none;
    padding: .7em 2em;
    display: block;
}

.menu > ul > li span {
    text-decoration: none;
    padding: .7em 0;
    display: block;
}

.menu > ul > li > ul {
    display: none;
    width: 100%;
    background: #847967;
    padding: 20px;
    position: absolute;
    z-index: 99;
    left: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li {
    margin: 0;
    padding-bottom: 0;
    list-style: none;
    width: 25%;
    background: none;
    float: left;
}

.menu > ul > li > ul > li a {
    color: #FFF;
    padding: .2em 0;
    width: 95%;
    display: block;
    border-bottom: 1px solid #FFF;
}

.menu > ul > li > ul > li > ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul > li > ul:before,
.menu > ul > li > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li > ul > li {
    float: left;
    width: 100%;
    padding: 10px 0;
    margin: 0;
}

.menu > ul > li > ul > li > ul > li a {
    border: 0;
}

.menu > ul > li > ul.normal-sub {
    width: 300px;
    left: auto;
    padding: 10px 20px;
}

.menu > ul > li > ul.normal-sub > li {
    width: 100%;
}

.menu > ul > li > ul.normal-sub > li a {
    border: 0;
    padding: 1em 0;
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

@media only screen and (max-width: 959px) {
    .menu-container {
        background: #847967;
    }
    .menu-container>div{
      width: 100%;
    }
    .menu-mobile {
        display: block;
        background: #847967;
        font-size: 15px;
        color: #FFF;
        text-decoration: none;
    }
    .menu-dropdown-icon:before {
        display: block;
        cursor: pointer;
    }
    .menu > ul {
        display: none;
    }
    .menu > ul > li {
        width: 100%;
        float: none;
        display: block;
    }
    .menu > ul > li a {
        padding: 1em;
        display: block;
    }
    .menu > ul > li > ul {
        position: relative;
    }
    .menu > ul > li > ul.normal-sub {
        width: 100%;
    }
    .menu > ul > li > ul > li {
        float: none;
        width: 100%;
        margin-top: 20px;
    }
    .menu > ul > li > ul > li:first-child {
        margin: 0;
    }
    .menu > ul > li > ul > li > ul {
        position: relative;
    }
    .menu > ul > li > ul > li > ul > li {
        float: none;
    }
    .menu .show-on-mobile {
        display: block;
    }
}

/* ページ内目次（toc.min.js） */
[id^="toc"] {
  margin-top:-100px;
  padding-top:100px;
}

#toc{
  padding: 15px;
  margin-top:0px;
}

#toc ol{
  padding-left: 0px;
}

#toc li{
  margin: 7px 2px;
  font-size: 17px;
  font-size: 1.7rem;
}

#toc ol li{
  list-style: none;
}

#toc ol li + li{
  margin-top: 2px;
}

#toc ol li a{
  position: relative;
  display: block;
  padding: 0 0 0 1.3em;
}

#toc ol li a::before,
#toc ol li a::after{
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 20px;
  height: 1em;
  text-align: center;
}

#toc ol li a::before{
  margin-top: .2rem;
  color: #666;
  font-weight: 500;
  z-index: 2;
}

#toc ol li a::after{
  content: "";
  border-radius: 2px;
}

/* 大見出し */
#toc ol{
  counter-reset: contentNum;
}

#toc ol li.toc-h2 a::before{
  content: counter(contentNum) ".";
  counter-increment: contentNum;
}

/* 中見出し */
#toc ol li.toc-h3{
  padding-left: 1em;
}

#toc ol li.toc-h3 a{
  padding-left: 2.3em;
}

#toc ol li.toc-h3 a::before,
#toc ol li.toc-h3 a::after{
  width: 39px;
}

#toc ol li.toc-h2{
  counter-reset: subContNum;
}

#toc ol li.toc-h3 a::before,
#toc ol li.toc-h4 a::before{
  white-space: nowrap;
  color: #333;
}

#toc ol li.toc-h3 a::before{
  counter-increment: subContNum;
  content: counter(contentNum) "-" counter(subContNum) ".";
  color: #666;
}

#toc ol li.toc-h3 a::after,
#toc ol li.toc-h4 a::after{
}

/* 小見出し */
#toc ol li.toc-h4{
  padding-left: 3em;
}

#toc ol li.toc-h4 a{
  padding: 0 0 0 3.2em;
}

#toc ol li.toc-h4 a::before,
#toc ol li.toc-h4 a::after{
  width: 54px;
}

#toc ol li.toc-h3{
  counter-reset: section;
}

#toc ol li.toc-h4 a::before{
  counter-increment: section;
  content: counter(contentNum) "-" counter(subContNum) "-" counter(section) ".";
  color: #666;
}

/*table*/
table {
  font-size: 18px;
  table-layout: fixed;
  border: 1px solid skyblue;
  border-collapse: collapse;
  margin: 10px 0 50px 0;
  padding: 0;
  width: auto;
}
table tr {
  border: 1px solid #ddd;
  padding: .35em;
}
table th,
table td {
  padding: .625em;
  text-align: left;
}
table th{
  background: #D1C7B8;
  color: #333;
  font-weight: bold;
}
table td{
  background: white;
}

.main_table{
  table-layout: fixed;
  width: 100%;
}

.description th{
  min-width: 200px;
}
@media (max-width: 960px) {
  .description{
    table-layout: fixed;
    width: 100%;
  }
  .description th{
    min-width: 0;
  }
}

@media (max-width: 600px) {
  table.main_table thead {
    display: none;
  }
  table.main_table tr {
    display: block;
  }
  table.main_table td {
    border-bottom: none;
    display: block;
    text-align: center;
    border-bottom: 1px solid #CCC;
  }
  table.main_table td:last-child{border: none;}
  table.main_table td:before {
    color: #010079;
    font-weight: bold;
    padding-right: 5px;
    content: attr(aria-label);
    display: block;
  }
  table.main_table tbody td::before {
  	content: attr(label);
  	clear:both;
  	font-weight:bold;
    display: block;
  }
}
