@charset "UTF-8";
/*-------------------------
 + reset styles
--------------------------*/
html {
  overflow: scroll;
  overflow: -moz-scrollbars-vertical;
}
body,
div,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
address,
em, strong,
pre,
form, fieldset,
p, blockquote,
table, thead, tbody, tfoot, caption, th, td {
  margin: 0;
  padding: 0;
  font-weight: normal;
  text-decoration: none;
  font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
}
h1, p, li {
  text-align: justify;
  text-justify: inter-ideograph;
}
li {
  list-style-type: none;
}
table, th, td {
  border-collapse: collapse;
  border-spacing: 0;
}
figure {
  margin: 0;
  padding: 0;
}
img {
  border: none;
  vertical-align: top;
}
hr {
  display: none;
}
/*-------------------------
 + base elements
--------------------------*/
html {
  height: 100%;
}
body {
  color: #474747;
  font: normal 15px "Lucida Grande", "Lucida Sans Unicode", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  line-height: 1.6;
}
@media screen and (max-width: 640px) {
  body {
    font-size: 16px !important;
  }
}
a {
  color: #c30000;
}
a:hover {
  color: #eb5c8c;
}
a:active {
  color: #eb5c8c;
}
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0.5em;
  line-height: 1.4;
}
p {
  margin: 0;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 640px) {
  img {
    width: 100%;
    height: auto;
    margin: 0 0 1em;
  }
}
em {
  font-style: italic;
}
strong {
  font-weight: bold;
}
small {
  font-size: 0.8em;
}
blockquote {
  margin: 1em 0;
  padding: 1em;
  border: 1px dotted #ddd;
  border-left: 5px solid #ddd;
}
ul, ol, dl {
  margin: 0 0 1em 0;
}
ul li {
  list-style: disc;
}
ol li {
  list-style: decimal;
}
li {
  margin-left: 2em;
}
dt {
  margin-bottom: 0.5em;
}
dd {
  margin-bottom: 0.5em;
}
table {
  width: 100%;
  margin: 1em auto;
  border-collapse: collapse;
  border: 1px solid #ddd;
}
th {
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  background: #f1f1f1;
  border: 1px solid #ddd;
}
td {
  padding: 10px;
  text-align: left;
  border: 1px solid #ddd;
}
input, textarea, select {
  font-size: 1em;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}
button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 10px;
  width: 90%;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}
select {
  padding: 10px 20px;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  outline: none;
  background: #eee;
  background-image: none;
  border: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
textarea {
  margin: 0;
}

button {
  margin: 0 auto;
  padding: 0.8em 2em 0.6em;
  color: #333;
  font-size: 1.2em;
  text-transform: uppercase;
  background: #ececec;
  border: solid 1px #ccc;
  border-radius: 5px;
  cursor: pointer;
}
@media screen and (max-width: 640px) {
  button {
    width: 80%;
    margin: 0 auto 14px;
  }
}
button:hover {
  color: #fff;
  background: #999;
}

/*-------------------------
 + general class
--------------------------*/
.alignright, .right {
  float: right;
}
@media screen and (max-width: 640px) {
  .alignright, .right {
    float: none;
  }
}
.alignleft, .left {
  float: left;
}
@media screen and (max-width: 640px) {
  .alignleft, .left {
    float: none;
  }
}
.aligncenter, .center {
  display: block;
  margin: 0 auto;
}
.clear {
  clear: both;
}
.list-inline li {
  float: left;
  display: inline;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 640px) {
  .list-inline li {
    float: none;
    display: block;
  }
}
.text-right {
  text-align: right !important;
}
.text-left {
  text-align: left !important;
}
.text-center {
  text-align: center !important;
}
.font-small {
  font-size: 0.8em;
}
.font-large {
  font-size: 1.2em;
}
.clearfix {
  *zoom: 1;
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}
.hide {
  display: none;
}
.display-hide {
  position: absolute;
  overflow: hidden;
  text-indent: -9999px;
}
.text-hide {
  overflow: hidden;
  text-indent: -9999px;
}
@media screen and (min-width: 769px) {
  .pc-hide {
    display: none !important;
  }
}
@media screen and (max-width: 640px) {
  .sm-hide {
    display: none !important;
  }
}
.nowrap {
  white-space: nowrap;
}
.fade a {
  -moz-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.fade a:hover {
  opacity: 0.6;
  filter: alpha(opacity=40);
  -moz-opacity: 0.6;
}
.wp-caption {
  width: auto !important;
}
.wp-caption-text {
  margin: 0;
  padding: 0;
  font-size: 0.8em;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .gmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
  }
  .gmap iframe, .gmap object, .gmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.icon-external-link:before,
.icon-external-link-after:after {
  font-family: FontAwesome;
  content: "\f08e";
  padding-right: 0.5em;
  padding-left: 0.5em;
}
.icon-university-link:before,
.icon-university-link-after:after {
  font-family: FontAwesome;
  content: "\f19c";
  padding-right: 0.5em;
  padding-left: 0.5em;
}
.icon-home-link:before,
.icon-home-link-after:after,
.icon-li-home-link a:after {
  font-family: FontAwesome;
  content: "\f015";
  padding-right: 0.5em;
  padding-left: 0.5em;
}
.icon-file-link:before,
.icon-file-link-after:after,
.icon-li-file-link a:after {
  font-family: FontAwesome;
  content: "\f016";
  padding-right: 0.5em;
  padding-left: 0.5em;
}
.icon-contact-link:before,
.icon-contact-link-after:after,
.icon-li-contact-link a:after {
  font-family: FontAwesome;
  content: "\f095";
  padding-right: 0.5em;
  padding-left: 0.5em;
}
.icon-limited-link:before,
.icon-limited-link-after:after,
.icon-li-limited-link a:after {
  font-family: FontAwesome;
  content: "\f023";
  padding-right: 0.5em;
  padding-left: 0.5em;
}
.icon-access-link:before,
.icon-access-link-after:after,
.icon-li-access-link a:after {
  font-family: FontAwesome;
  content: "\f1b9";
  padding-right: 0.5em;
  padding-left: 0.5em;
}
.icon-page-link:before,
.icon-page-link-after:after,
.icon-li-page-link a:after {
  font-family: FontAwesome;
  content: "\f24d";
  padding-right: 0.5em;
  padding-left: 0.5em;
}
.w1em {
  width: 1em;
}
.w2em {
  width: 2em;
}
.w3em {
  width: 3em;
}
.w4em {
  width: 4em;
}
.w5em {
  width: 5em;
}
.w6em {
  width: 6em;
}
.w7em {
  width: 7em;
}
.w8em {
  width: 8em;
}
.w9em {
  width: 9em;
}
.w10em {
  width: 10em;
}
.w11em {
  width: 11em;
}
.w12em {
  width: 12em;
}
.p0-05em {
  padding: 0 1.4em;
}
.btn01 a {
  display: block;
  width: 80%;
  margin: 0 auto;
  padding: 1em;
  color: #fff;
  font-size: 1.1em;
  text-decoration: none;
  text-align: center;
  font-weight: normal;
  line-height: 1.4;
  border-radius: 3px;
  background: #c30000;
  transition: all 0.2s ease 0s;
}
.btn01 a:before {
  font-family: FontAwesome;
  content: "\f138";
  padding-right: 0.5em;
}
.btn01 a:hover {
  color: #fff;
  background: #eb5c8c;
  transition: all 0.2s ease 0s;
}
/*-------------------------
 + layout
--------------------------*/
#header {
  margin: 20px 0 0;
  border-bottom: 4px solid #e3898a;
}
#page-title {
  padding: 70px 0;
  color: #fff;
  font-size: 2em;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #e8505d), color-stop(0, #ca1a25));
  background: -webkit-linear-gradient(#ca1a25, #e8505d);
  background: -moz-linear-gradient(#ca1a25, #e8505d);
  background: -o-linear-gradient(#ca1a25, #e8505d);
  background: -ms-linear-gradient(#ca1a25, #e8505d);
  background: linear-gradient(#ca1a25, #e8505d);
}
#page-title h1 span {
  padding-bottom: 5px;
  border-bottom: 3px solid #fff;
}
@media only screen and (max-width: 640px) {
  #page-title h1 {
    margin: 0 3%;
  }
}
#container {
  padding-top: 35px;
}
@media only screen and (max-width: 640px) {
  #container {
    padding-top: 20px;
  }
}
#contents {
  float: left;
  width: 685px;
  margin-bottom: 50px !important;
  *zoom: 1;
}
@media screen and (max-width: 640px) {
  #contents {
    float: none;
  }
}
@media screen and (max-width: 640px) {
  #contents {
    float: none;
    width: 94%;
    margin: auto 3%;
  }
}
#contents:after {
  content: "";
  display: table;
  clear: both;
}
#sidebar {
  float: right;
  width: 245px;
}
@media screen and (max-width: 640px) {
  #sidebar {
    float: none;
  }
}
@media screen and (max-width: 640px) {
  #sidebar {
    float: none;
    width: 94%;
    margin: auto 3%;
  }
}
#footer {
  color: #fff;
  background: #df0013;
}
.inner {
  clear: both;
  width: 960px;
  margin: 0 auto;
  *zoom: 1;
}
@media screen and (max-width: 640px) {
  .inner {
    width: 100%;
    padding: 0;
  }
}
.inner:after {
  content: "";
  display: table;
  clear: both;
}
.breadcrumbs {
  padding: 5px 0 10px;
  font-size: 0.9em;
  *zoom: 1;
}
.breadcrumbs:after {
  content: "";
  display: table;
  clear: both;
}
.breadcrumbs li {
  float: left;
  display: inline;
  margin: 0;
  padding: 0;
  list-style: none;
}
.breadcrumbs li:before {
  content: '»';
  margin: 0 0.5em;
}
.breadcrumbs li:first-child:before {
  content: none;
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .breadcrumbs {
    padding-left: 3%;
  }
}
.two-col {
  overflow: hidden;
  margin: 0 -2% 50px 0;
}
.two-col li {
  width: 48%;
  float: left;
  margin-right: 2%;
  margin-left: 0;
  list-style: none;
}
.two-col img {
  width: 100%;
  margin-bottom: 5px;
  border-radius: 5px;
}
.three-col {
  overflow: hidden;
  margin: 0 -3% 50px 0;
}
.three-col li {
  float: left;
  width: 31%;
  margin-right: 2%;
  margin-left: 0;
  list-style: none;
}
.three-col img {
  width: 100%;
  margin-bottom: 5px;
  border-radius: 5px;
}
/*-------------------------
 + header
--------------------------*/
.site-branding {
  margin-bottom: 15px;
}
.site-branding h1 {
  margin-bottom: 0;
}
.site-branding img {
  margin-bottom: 0;
}
.site-title {
  float: left;
}
@media screen and (max-width: 640px) {
  .site-title {
    float: none;
  }
}
.site-info {
  float: right;
  margin-bottom: 15px;
  font-size: 0.8em;
  line-height: 1.4;
}
@media screen and (max-width: 640px) {
  .site-info {
    float: none;
  }
}
.site-info ul {
  margin: 0;
  padding: 0;
}
.site-info li {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 640px) {
  .site-info {
    margin: 20px 1em;
    font-size: 1em;
  }
}
.header-subnav {
  float: right;
  margin-top: 10px;
}
@media screen and (max-width: 640px) {
  .header-subnav {
    float: none;
  }
}
@media screen and (max-width: 640px) {
  .header-subnav {
    margin-top: 0;
  }
}
.header-subnav li {
  float: left;
  display: inline;
  margin: 0;
  padding: 0;
  margin-left: 2em;
  color: #df0013;
  line-height: 20px;
  list-style: none;
}
.header-subnav a {
  display: inline-block;
  height: 20px;
  padding-left: 30px;
  color: #474747;
}
.header-subnav a:hover {
  color: #eb5c8c;
  text-decoration: underline;
}
.header-subnav a.org {
  background: url(../images/ico-org.png) left center no-repeat;
}
.header-subnav a.faq {
  background: url(../images/ico-faq.png) left center no-repeat;
}
.header-subnav a.contact {
  background: url(../images/ico-contact.png) left center no-repeat;
}
@media only screen and (max-width: 640px) {
  .header-subnav {
    margin-top: 0;
    padding-left: 0.5em;
    border-top: 1px solid #e3898a;
    border-bottom: 1px solid #e3898a;
    *zoom: 1;
  }
  .header-subnav:after {
    content: "";
    display: table;
    clear: both;
  }
  .header-subnav li {
    margin: 0;
  }
  .header-subnav a {
    display: block;
    width: auto;
    height: auto;
    padding: 0.5em 1em 0.5em 27px;
    font-size: 1em;
    background: none;
    text-decoration: none;
    text-indent: 0px;
    background: #fff;
  }
  .header-subnav a:last-child {
    border-left: none;
  }
  .header-subnav a:active {
    color: #fff;
    text-decoration: none;
    background: #eb5c8c;
  }
}
.header-nav {
  *zoom: 1;
  clear: both;
  border-top: 1px solid #acacac;
}
.header-nav:after {
  content: "";
  display: table;
  clear: both;
}
.header-nav li {
  float: left;
  display: inline;
  margin: 0;
  padding: 0;
  position: relative;
  width: 20%;
}
.header-nav a {
  display: block;
  margin: 0 auto;
  padding: 20px 30px;
  color: #333;
  font-size: 1.1em;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  background: #fff;
  border-top: 5px solid #fff;
}
.header-nav a:hover {
  color: #fff;
  background: #df0013;
  border-top: 5px solid #df0013;
}
.header-nav a.active {
  border-top: 5px solid #df0013;
}
@media only screen and (max-width: 640px) {
  .header-nav {
    background: none;
  }
  .header-nav li {
    width: 50%;
    height: auto;
  }
  .header-nav a {
    display: block;
    width: auto !important;
    height: auto;
    padding: 1em;
    font-size: 1em;
    text-align: left;
    border-bottom: 1px solid #e3898a;
  }
  .header-nav a:after {
    font-family: FontAwesome;
    content: "\f054";
    float: right;
    color: #df0013;
  }
  .header-nav a:active {
    background: #eb5c8c;
  }
}
.header-nav ul.sub-menu {
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  background: #fff;
  border-right: 1px solid #df0013;
  border-left: 1px solid #df0013;
}
.header-nav ul.sub-menu li {
  clear: both;
  width: auto;
  height: 0;
  background: none;
  border: none;
  overflow: hidden;
  transition: 0.2s;
}
.header-nav ul.sub-menu li:hover > a {
  border: none;
}
.header-nav ul.sub-menu a {
  display: block;
  text-align: left;
  width: auto;
  margin: 0;
  padding: 0 1em;
  white-space: nowrap;
  background: none;
  border: none;
}
.header-nav ul.sub-menu a:before {
  font-family: FontAwesome;
  content: "\f111";
  padding-right: 0.5em;
  color: #df0013;
}
.header-nav ul.sub-menu a:hover {
  color: #eb5c8c;
  border: none;
  background: none;
}
.header-nav .subsidy ul.sub-menu {
  right: 0;
  left: auto;
}
.header-nav li:hover > a {
  border-top: 5px solid #df0013;
  border-right: 1px solid #df0013;
  border-left: 1px solid #df0013;
}
.header-nav li:hover ul.sub-menu {
  border-top: 1px solid #df0013;
  border-bottom: 1px solid #df0013;
}
.header-nav li:hover li {
  overflow: visible;
  height: 2em;
}
.header-nav li:hover li:first-child {
  margin-top: 1.5em;
}
.main-visual {
  clear: both;
}
.main-visual ul {
  margin: 0;
  padding: 0;
}
.main-visual li {
  margin: 0;
  padding: 0;
}
.main-visual img {
  width: 100%;
  height: auto;
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .main-visual {
    margin: 0 0 1px;
  }
}
.main-visual .flexslider {
  margin: 0 !important;
}
/*-------------------------
 + main
--------------------------*/
.main section {
  clear: both;
  margin-bottom: 50px;
}
.main article {
  clear: both;
  margin-bottom: 50px;
}
.main nav {
  margin-bottom: 50px;
  *zoom: 1;
}
.main nav:after {
  content: "";
  display: table;
  clear: both;
}
.main nav li {
  float: left;
  display: inline;
  margin: 0;
  padding: 0;
  width: 49%;
  margin-bottom: 1%;
  margin-left: 1%;
  list-style: none;
}
.main nav a {
  display: block;
  padding: 1em;
  text-decoration: none;
  border: 1px solid #e3898a;
  border-radius: 5px;
}
@media screen and (max-width: 640px) {
  .main nav li {
    width: 100%;
    margin-left: 0;
  }
}
.main h1 {
  margin-bottom: 20px;
  padding: 1em 0;
  color: #df0013;
  border-top: 1px solid #df0013;
  border-bottom: 1px solid #df0013;
}
.main h2 {
  margin-bottom: 15px;
}
.main h3 {
  margin-bottom: 10px;
}
.main h4 {
  margin-bottom: 10px;
  padding: 0 5px;
  font-size: 1.3em;
  border-bottom: solid 1px #1C82C6;
}
.main p {
  margin-bottom: 0.5em;
}
.main li {
  margin: 0.5em 1.5em;
}
.main table {
  width: 100%;
  line-height: 1.4;
  border: solid 1px #e3e3e3;
  border-collapse: collapse;
  border-spacing: 0;
}
.main table ul, .main table ol {
  margin: 0;
}
.main th {
  min-width: 6em;
  padding: 1em;
  font-weight: bold;
  text-align: center;
  border: solid 1px #e3e3e3;
  border-width: 0 0 1px 1px;
  background: #f5f5f5;
  white-space: nowrap;
}
.main td {
  padding: 1em;
  text-align: left;
  border: 1px #e3e3e3 solid;
  border-width: 0 0 1px 1px;
}
.main img {
  margin-bottom: 0.5em;
}
.main img.alignright, .main img.right {
  margin-left: 20px;
}
.main img.alignleft, .main img.left {
  margin-right: 20px;
}
.main figcaption {
  font-size: 0.8em;
  text-align: center;
}
.main .text-center th, .main .text-center td {
  text-align: center;
}
@media screen and (max-width: 640px) {
  .main img.alignright, .main img.right, .main img.alignleft, .main img.left {
    float: none;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}
.post-contents a {
  padding: 0;
}
.post-contents a:hover {
  color: #fff;
  text-decoration: none;
  background: #e3898a;
}
.post-contents a[href$='.pdf']:after {
  font-family: FontAwesome;
  content: "\f1c1";
  padding-left: 0.5em;
}
.post-contents a[href$='.doc']:after, .post-contents a[href$='.docs']:after, .post-contents a[href$='.docx']:after {
  font-family: FontAwesome;
  content: "\f1c2";
  padding-left: 0.5em;
}
.post-contents a[href$='.xls']:after, .post-contents a[href$='.xlsx']:after {
  font-family: FontAwesome;
  content: "\f1c3";
  padding-left: 0.5em;
}
.post-contents .icon-none a:after,
.post-contents a:after.icon-none {
  content: "";
  margin: 0;
  padding: 0 !important;
}
/*-------------------------
 + sidebar
--------------------------*/
.side section {
  clear: both;
  margin-bottom: 30px;
  *zoom: 1;
}
.side section:after {
  content: "";
  display: table;
  clear: both;
}
.side nav {
  margin-bottom: 30px;
}
.side h2 {
  padding: 0.5em 0;
  text-align: center;
  background: #eee;
}
.side h3 {
  color: #df0013;
}
.side p {
  margin-bottom: 1em;
}
.side li {
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}
.side a img {
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 640px) {
  .side a img {
    display: block;
    width: 70%;
    margin: 0 auto;
  }
}
.side img.alignright, .side img.right {
  margin-left: 0 !important;
}
.side img.alignleft, .side img.left {
  margin-right: 0 !important;
}
.side .topics-post {
  clear: both;
}
.side .menu-item {
  margin-top: 1em;
  border-top: 1px dotted #df0013;
  border-bottom: 1px dotted #df0013;
}
.side .menu-item a {
  display: block;
  padding: 0.5em;
  text-decoration: none;
}
.side .menu-item a:before {
  font-family: FontAwesome;
  content: "\f0da";
  padding-right: 0.5em;
}
@media screen and (max-width: 640px) {
  .side img {
    display: block;
    width: 60%;
    margin: 0 auto;
  }
}
.side-nav {
  background: #f9f9f9;
}
.side-nav h2 {
  padding: 0.7em 0;
  color: #fff;
  font-size: 1.3em;
  background: #df0013;
}
.side-nav ul {
  padding: 0 1em 0.5em;
}
.side-nav a {
  display: block;
  margin-left: 1.5em;
  color: #474747;
  text-decoration: none;
  text-indent: -1.4em;
  line-height: 1.3;
}
.side-nav a:before {
  font-family: FontAwesome;
  content: "\f111";
  padding-right: 0.5em;
  color: #df0013;
}
.side-nav a:hover {
  color: #eb5c8c;
}
.side-nav .navchildren ul {
  display: none;
}
@media screen and (max-width: 640px) {
  .side-nav {
    display: none;
  }
}
/*-------------------------
 + footer
--------------------------*/
.pagetop {
  clear: both;
  margin: 30px auto 10px;
  font-size: 0.85em;
  text-align: right;
}
.pagetop a {
  color: #eb5c8c;
  text-decoration: none;
}
.pagetop a:before {
  font-family: FontAwesome;
  content: "\f139";
  padding-right: 0.5em;
}
@media only screen and (max-width: 640px) {
  .pagetop {
    text-align: center;
  }
  .pagetop a {
    display: block;
    padding-top: 10px;
    border-top: 1px solid #e3898a;
  }
  .pagetop a:active {
    color: #eb5c8c;
  }
}
.footer-info {
  padding: 1em 0 0;
  text-align: center;
  *zoom: 1;
}
.footer-info:after {
  content: "";
  display: table;
  clear: both;
}
.footer-info dt {
  font-size: 1.2em;
  margin-bottom: 0.3em;
}
.footer-info dd {
  line-height: 1.2;
}
.footer-info a {
  color: #fff;
  text-decoration: none;
}
/*-------------------------
 + home page elements
--------------------------*/
.home .main h2 {
  clear: both;
  padding: 0.5em 1em;
  font-weight: bold;
  text-align: left;
  background: #eee;
}
.home .main .news {
  position: relative;
}
.home .main .news dl {
  clear: both;
}
.home .main .news dt {
  display: inline;
  float: left;
  padding: 0.2em 1em 0.2em 0;
}
.home .main .news dd {
  padding: 0.2em 0 0.2em 9em;
}
.home .main .news dd.latest-post {
  margin: 0;
}
.home .main .news dd.latest-date {
  font-size: 0.9em;
  text-align: right;
}
.home .main .news dd.latest-content {
  margin-bottom: 1em;
  padding-left: 0;
}
.home .main .news dd.latest-content img {
  display: none;
}
.home .main .news p {
  display: inline;
  margin: 0;
}
.home .main .news .latest-content p {
  display: block;
  margin: 0.2em 0;
}
.home .main .news .news-list {
  position: absolute;
  top: 6px;
  right: 1em;
}
.home .main .news .news-list a {
  color: #474747;
}
.home .main .news .news-list a:hover {
  color: #c30000;
}
@media screen and (max-width: 640px) {
  .home .main .news dl {
    padding: 0.2em 0;
    border-bottom: 1px solid #ccc;
  }
  .home .main .news dt {
    display: block;
    float: none;
    margin: 0;
    padding: 0;
  }
  .home .main .news dd {
    padding: 0.2em 0;
  }
  .home .main .news img {
    display: block;
    width: auto;
    margin: 0 auto 0.5em;
  }
  .home .main .news .news-list {
    position: static;
    text-align: right;
  }
}
.home .main .page-link li {
  float: left;
  display: inline;
  margin: 0;
  padding: 0;
  margin: 0 0 20px;
}
.home .main .page-link li:nth-child(2), .home .main .page-link li:nth-child(5) {
  margin: 0 55px 20px;
}
@media screen and (max-width: 640px) {
  .home .main .page-link {
    margin: 0 5%;
  }
  .home .main .page-link li:nth-child(odd) {
    float: left;
    margin: 0 0 20px;
  }
  .home .main .page-link li:nth-child(even) {
    float: right;
    margin: 0 0 20px;
  }
}
/*-------------------------
 + page elements
--------------------------*/
.page .main h2 {
  margin-bottom: 15px;
  padding: 0.3em 0.5em;
  font-size: 1.6em;
  border-bottom: 1px solid #df0013;
  border-left: 7px solid #df0013;
}
.page .main h3 {
  margin: 40px 0 15px;
  padding: 0.3em 0.5em;
  font-size: 1.4em;
  border-bottom: 1px solid #acacac;
  border-left: 7px solid #acacac;
}
.page .main ul li {
  margin-left: 1.5em;
  text-indent: -1.4em;
}
.page .main ul li:before {
  font-family: FontAwesome;
  content: "\f111";
  padding-right: 0.5em;
  color: #df0013;
}
/*-------------------------
 + hanbaiki-list page elements
--------------------------*/
.hanbaiki-list .main .secchi {
  width: 15em;
}
.hanbaiki-list .main .toriatsukai {
  width: 12em;
}
/*-------------------------
 + howtouse page elements
--------------------------*/
.howtouse .main table th:first-child {
  min-width: 5em;
}
.howtouse .main table td:last-child {
  width: 8em;
  text-align: right;
}
/*-------------------------
 + faq page elements
--------------------------*/
.faq .main dl {
  margin-bottom: 50px;
}
.faq .main dt {
  color: #df0013;
  font-size: 1.2em;
  border-bottom: 1px solid #df0013;
}
.faq .main dt:before {
  content: "Q";
  padding-right: 0.5em;
  font-size: 1.66em;
  font-weight: bold;
}
.faq .main dd:before {
  content: "A";
  padding-right: 0.5em;
  color: #eb5c8c;
  font-size: 2em;
  font-weight: bold;
}
/*-------------------------
 + goods page elements
--------------------------*/
.goodslist {
  clear: both;
  margin-bottom: 60px;
}
.goodslist h4 {
  width: 99.3%;
  margin: 0;
  padding: 1em 0;
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  background: #f5f5f5;
  border: solid 1px #e3e3e3;
}
.goodslist h4.miku {
  color: #fff;
  background: #e5235a;
}
.goodslist dl {
  float: left;
  margin: 0;
  padding: 2%;
  border-right: 1px #e3e3e3 solid;
  border-bottom: 1px #e3e3e3 solid;
}
/* .goodslist dl:hover {
  background: #fef4f8;
  transition: 0.3s;
} */
.goodslist dt {
  padding: 4px;
  font-size: 1em;
  text-align: center;
  border-bottom: dotted 1px #ddd;
}
.goodslist figure {
  margin-bottom: 10px;
  margin: 0 auto;
}
.goodslist img {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto;
}
.goodslist dd.name {
  min-height: 3em;
  line-height: 1.5;
}
.goodslist dd.kosu {
  min-height: 1em;
  margin-bottom: 0;
  text-align: center;
}

#goods01 dl,
#goods-miku dl {
  width: 29%;
}
#goods01 figure  {
  width: 190px;
  height: 190px;
}
#goods01 img  {
  width: auto;
  height: auto;
  max-width: 190px;
  max-height: 190px;
}
#goods-miku figure  {
  width: 190px;
  height: auto;
}
#goods-miku img  {
  width: auto;
  height: auto;
  max-width: 190px;
  max-height: auto;
}
#goods02 {
  margin-top: 30px;
}
#goods02 dl {
  width: 20.7%;
  height: 230px;
}
#goods02 figure {
  width: 140px;
  height: 140px;
}
#goods02 img {
  width: auto;
  height: auto;
  max-width: 140px;
  max-height: 140px;
}
#goods-miku2025 dl {
  width: calc(96% - 4px);
  border: 1px #e3e3e3 solid;
}
#moshikomi th {
  width: 7em;
}
.submit {
  margin-bottom: 100px;
  text-align: center;
}
.mw_wp_form_confirm dl.non-select dt,
.mw_wp_form_confirm dl.non-select dd {
  opacity: 0.2;
}
.mw_wp_form p .error {
  display: block;
  margin: 40px 0 20px;
  padding: 10px;
  border: 1px solid #B70000;
}
@media screen and (min-width: 641px) {
  #goods-miku dl:nth-child(3n+2) {
    border-left: 1px #e3e3e3 solid;
  }
  #goods01 dl:nth-child(3n+2) {
    border-left: 1px #e3e3e3 solid;
  }
  #goods01 dl:nth-child(-n+4) {
    border-top: 1px #e3e3e3 solid;
  }
  #goods02 dl:nth-child(4n+2) {
    border-left: 1px #e3e3e3 solid;
  }
  #goods02 dl:nth-child(-n+5) {
    border-top: 1px #e3e3e3 solid;
  }
}
@media screen and (max-width: 640px) {
  #goods01 dl,
  #goods02 dl {
    width: 45.4%;
  }
  #goods01 dl:nth-child(2n+2),
  #goods02 dl:nth-child(2n+2) {
    border-left: 1px #e3e3e3 solid;
  }
  #goods01 dl:nth-child(-n+3),
  #goods02 dl:nth-child(-n+3) {
    border-top: 1px #e3e3e3 solid;
  }
  #goods02 dl {
    height: 200px;
  }
  #goods01 figure,
  #goods02 figure {
    width: 100%;
    height: 100%;
  }
  #goods01 img,
  #goods02 img {
    width: 100px;
    height: 100px;
  }
  #moshikomi th,
  #moshikomi td {
    display: block;
    width: 94%;
    padding: 1em 3%;
  }
}

/*-------------------------
 + category page elements
--------------------------*/
.category .post-contents dl {
  clear: both;
  padding: 1em;
  border-bottom: 1px solid #e3898a;
}
.category .post-contents dt {
  margin-bottom: 0.2em;
}
.category .post-contents a {
  border-bottom: none;
}
/*-------------------------
 + single page elements
--------------------------*/
.single .main .page-title {
  font-size: 2em;
}
.single .main .post-date {
  margin-bottom: 20px;
  text-align: right;
}
.single .main .post-area ul li {
  margin-left: 1.5em;
  text-indent: -1.4em;
}
.single .main .post-area ul li:before {
  font-family: FontAwesome;
  content: "\f111";
  padding-right: 0.5em;
  color: #df0013;
}
.single .main .post-nav {
  clear: both;
  margin: 100px 0 0;
  *zoom: 1;
}
.single .main .post-nav:after {
  content: "";
  display: table;
  clear: both;
}
.single .main .post-nav li {
  width: 40%;
  margin: 0;
  list-style: none;
}
.single .main .post-nav a {
  display: block;
  padding: 0.5em 0;
  text-decoration: none;
  text-align: center;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
}
.single .main .post-nav a:hover {
  color: #df0013;
  border: 1px solid #df0013;
}
.single .main .post-nav .prev {
  float: left;
}
.single .main .post-nav .next {
  float: right;
}
/* ===== 印刷用 =====*/
@media print {
  body {
    width: 100% !important;
    _zoom: 0.75;
  }
}
