@charset "UTF-8";
/**************************************************
    sass
***************************************************/
/* ---------- Media Query --------- */
/* ---------- Common --------- */
/**************************************************
  base
***************************************************/
/* -----------------------------------------------
  1. Body
-------------------------------------------------- */
body {
  color: #333;
  text-align: left;
  margin: 0;
}

body, input, textarea, select {
  font-size: 16px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  line-height: 1.7;
}

body {
  font-size: 16px;
}
body.font-size-normal {
  font-size: 16px;
}
body.font-size-large {
  font-size: 18px;
}
body.font-size-xlarge {
  font-size: 20px;
}

@media only screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
  body.font-size-normal {
    font-size: 14px;
  }
  body.font-size-large {
    font-size: 16px;
  }
  body.font-size-xlarge {
    font-size: 18px;
  }
}
/* -----------------------------------------------
  2. Elements
-------------------------------------------------- */
/* ---------- base ---------- */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  margin: 0;
}

img, video {
  border: 0;
  vertical-align: bottom;
  max-width: 100%;
}

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  margin: 0;
  padding: 0;
}

dl, dt, dd {
  margin: 0;
  padding: 0;
}

i {
  font-style: normal;
}

/* ---------- text ---------- */
p {
  margin: 0 0 20px;
}

a {
  color: inherit;
  text-decoration: underline;
  transition: all 0.3s;
}

a:hover {
  color: #e90000;
  text-decoration: underline;
  transition: all 0.3s;
}

a[nohref] {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}
a[nohref]:hover {
  text-decoration: none !important;
}

a img {
  transition: all 0.3s;
}

a:hover img {
  opacity: 0.6;
  transition: all 0.3s;
}

.attention {
  color: #e90000;
}

.attention-box {
  width: 75%;
  margin: 30px auto 50px;
  padding: 40px 50px;
  border: 2px solid #e90000;
}
.attention-box table {
  margin: 30px 0 10px;
}

@media only screen and (max-width: 767px) {
  .attention-box {
    padding: 15px;
    width: 100%;
    box-sizing: border-box;
  }
}

._underline {
  text-decoration: underline;
}

/* ---------- plain ---------- */
ul.plain, .wysiwyg ul, ol.plain, .entry-content ol, .wysiwyg ol, dl.plain {
  margin-left: 20px;
  margin-bottom: 20px;
}

.plain ul, .entry-content ol ul, .wysiwyg ol ul, .wysiwyg ul ul, .plain ol, .entry-content ol ol, .wysiwyg ol ol, .wysiwyg ul ol {
  margin: 0 0 0 20px;
}

ul.plain, .wysiwyg ul {
  list-style-type: disc;
}
ul.plain ul, .wysiwyg ul ul {
  list-style-type: circle;
}
ul.plain ul ul, .wysiwyg ul ul ul {
  list-style-type: square;
}

ol.plain, .entry-content ol, .wysiwyg ol, ol.plain ol {
  list-style-type: decimal;
}
/* ---------- note ---------- */
ol.note {
  margin-top: 20px;
}
ol.note li {
	list-style-type: none;
	counter-increment: cnt;
  margin-left: 30px;
  margin-bottom: 20px;
  position: relative;
}
ol.note li::before {
	content: "※" counter(cnt) " ";
  position: absolute;
  left: -30px;
  top: 0;
}
/* ---------- number ---------- */

ol.number  {
  margin-left: 0;
  margin-bottom: 20px;
}
ol.number li  {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
}

/* ---------- device ---------- */
@media only screen and (max-width: 767px) {
  img {
    max-width: 100%;
    height: auto;
  }

  p {
    margin-bottom: 15px;
  }
}
/* -----------------------------------------------
  3. Helper Class
-------------------------------------------------- */
/* ---------- clear ---------- */
._clearfix {
  zoom: 1;
}
._clearfix:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

._float-l {
  float: left;
}

._float-r {
  float: right;
}

._clear {
  clear: both;
}

._hidden {
  display: none;
}

/* ---------- text ---------- */
._small {
  font-size: 88% !important;
}

._large {
  font-size: 113% !important;
}

._valignt {
  vertical-align: top !important;
}

._valignm {
  vertical-align: middle !important;
}

._valignb {
  vertical-align: bottom !important;
}

._txtc, ._txtc th, ._txtc td {
  text-align: center !important;
}

._txtr, ._txtr th, ._txtr td {
  text-align: right !important;
}

._txtl, ._txtl th, ._txtl td {
  text-align: left !important;
}

._wordbreak {
  word-break: break-all !important;
}

._nowrap {
  white-space: nowrap !important;
}

._image-text {
  overflow: hidden !important;
}

._italic {
  font-style: italic;
}

/* ---------- margin ---------- */
._first {
  margin-top: 0 !important;
}

._zero {
  margin-bottom: 0 !important;
}

._half {
  margin-bottom: 10px !important;
}

._default {
  margin-bottom: 20px !important;
}

._double {
  margin-bottom: 40px !important;
}

._bold {
  font-weight: bold;
}

._youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
._youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/* ---------- device ---------- */
@media (min-width: 769px) {
  .sp-only {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}
/* -----------------------------------------------
  4. Irregular Class
-------------------------------------------------- */
.max-w250 {
  max-width: 250px;
}

.height-185 {
  height: 185px;
}

@media only screen and (max-width: 767px) {
  .height-185 {
    height: auto;
  }
}
/**************************************************
  Header
***************************************************/
.site-header {
  border-top: 4px solid #e90000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}
.site-header > .wrapper {
  background: #FFF;
}
.site-header > .wrapper > .inner {
  position: relative;
  background: #FFF;
  width: 1200px;
  margin: 0 auto;
  padding: 6px 0 9px;
  display: flex;
  align-items: center;
}
.site-header > .wrapper > .inner > .logo {
  padding-top: 2px;
  margin-right: auto;
}
.site-header > .wrapper > .inner > .utility-nav {
  display: flex;
  align-items: center;
  margin-right: 18px;
}
.site-header > .wrapper > .inner > .utility-nav > .tel, .site-header > .wrapper > .inner > .utility-nav > .access, .site-header > .wrapper > .inner > .utility-nav > .about {
  position: relative;
  padding: 0 18px;
}
.site-header > .wrapper > .inner > .utility-nav > .tel::after, .site-header > .wrapper > .inner > .utility-nav > .access::after, .site-header > .wrapper > .inner > .utility-nav > .about::after {
  top: 50%;
  right: 0;
  transform: translateY(-11px);
  content: "";
  position: absolute;
  width: 1px;
  height: 22px;
  background: #464646;
}
.site-header > .wrapper > .inner > .utility-nav > .tel a, .site-header > .wrapper > .inner > .utility-nav > .access a, .site-header > .wrapper > .inner > .utility-nav > .about a {
  color: #333;
  font-size: 13px;
  text-decoration: none;
  display: flex;
  align-items: center;
  line-height: 1.3;
}
.site-header > .wrapper > .inner > .utility-nav > .tel a:hover, .site-header > .wrapper > .inner > .utility-nav > .access a:hover, .site-header > .wrapper > .inner > .utility-nav > .about a:hover {
  text-decoration: underline;
}
.site-header > .wrapper > .inner > .utility-nav > .tel a::before, .site-header > .wrapper > .inner > .utility-nav > .access a::before, .site-header > .wrapper > .inner > .utility-nav > .about a::before {
  margin-right: 10px;
  vertical-align: middle;
}
.site-header > .wrapper > .inner > .utility-nav > .tel a {
  font-size: 24px;
  font-weight: bold;
  font-family: Arial, sans-serif;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
.site-header > .wrapper > .inner > .utility-nav > .tel a::before {
  margin-right: 5px;
  display: inline-block;
  content: "";
  width: 14px;
  height: 19px;
  background: url(../images/ico_tel.svg) no-repeat 0 0;
  background-size: 14px 19px;
  vertical-align: middle;
}
.site-header > .wrapper > .inner > .utility-nav > .access a::before {
  display: inline-block;
  content: "";
  width: 16px;
  height: 18px;
  background: url(../images/ico_access.svg) no-repeat 0 0;
  background-size: 16px 18px;
  vertical-align: middle;
}
.site-header > .wrapper > .inner > .utility-nav > .about a::before {
  display: inline-block;
  content: "";
  width: 16px;
  height: 16px;
  background: url(../images/ico_about.svg) no-repeat 0 0;
  background-size: 16px 16px;
  vertical-align: middle;
}
.site-header > .wrapper > .inner > .font-size {
  position: relative;
  padding-right: 13px;
  margin-right: 18px;
  display: flex;
  align-items: center;
}
.site-header > .wrapper > .inner > .font-size::before {
  margin-right: 10px;
  display: inline-block;
  content: "";
  width: 24px;
  height: 13px;
  background: url(../images/ico_fontsize.svg) no-repeat 0 0;
  background-size: 24px 13px;
  vertical-align: middle;
}
.site-header > .wrapper > .inner > .font-size::after {
  top: 50%;
  right: 0;
  transform: translateY(-11px);
  content: "";
  position: absolute;
  width: 1px;
  height: 22px;
  background: #464646;
}
.site-header > .wrapper > .inner > .font-size > li {
  margin: -5px 5px 0;
}
.site-header > .wrapper > .inner > .font-size > li > a {
  color: #333;
  font-size: 13px;
  padding-bottom: 2px;
  border-bottom: 3px solid #FFF;
  text-decoration: none;
}
.site-header > .wrapper > .inner > .font-size > li > a.-current {
  font-weight: bold;
  border-bottom: 3px solid #e90000;
}
.site-header > .wrapper > .inner > .font-size > li > a:hover {
  border-bottom: 3px solid #e90000;
}
.site-header > .wrapper > .inner > .language {
  position: relative;
  margin-right: 18px;
}
.site-header > .wrapper > .inner > .language > dt {
  font-size: 14px;
  font-weight: bold;
  font-family: Arial, sans-serif;
  padding-right: 18px;
}
.site-header > .wrapper > .inner > .language > dt a {
  color: #333;
  text-decoration: none;
}
.site-header > .wrapper > .inner > .language > dt::before {
  margin-right: 10px;
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_language.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
}
.site-header > .wrapper > .inner > .language > dt::after {
  top: 50%;
  right: 0;
  transform: translateY(-11px);
  content: "";
  position: absolute;
  width: 1px;
  height: 22px;
  background: #464646;
}
.site-header > .wrapper > .inner > .language > dd {
  position: absolute;
  z-index: 10;
  display: none;
  top: 2em;
  left: -0.5em;
}
.site-header > .wrapper > .inner > .language > dd a {
  display: block;
  color: #000;
  background: #f3f4f5;
  font-size: 0.88em;
  text-decoration: none;
  padding: 0.5em 1em;
  width: 6em;
}
.site-header > .wrapper > .inner > .language > dd a:hover {
  background: #e5e7e9;
}
.site-header > .wrapper > .inner > .search-button {
  padding-right: 18px;
  margin-bottom: 0;
  font-size: 0;
  border-top: 1px solid #FFF;
  position: relative;
}
.site-header > .wrapper > .inner > .search-button > dt a {
  margin-top: -2px;
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_search.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
}
.site-header > .wrapper > .inner > .search-button > dd {
  position: absolute;
  z-index: 10;
  display: none;
  top: 32px;
  left: -310px;
  background: #f3f4f5;
  padding: 10px;
}
.site-header > .wrapper > .inner > .search-button > dd::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent #f3f4f5 transparent;
  position: absolute;
  top: -10px;
  left: 310px;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field {
  font-size: 0;
  width: 330px;
  height: 100%;
  min-height: 28px;
  overflow: hidden;
  z-index: 10;
  transition: all 0.3s;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field .cse .gsc-control-cse, .site-header > .wrapper > .inner > .search-button > dd > .search-field .gsc-control-cse {
  padding: 0;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field .gsc-search-box {
  margin-bottom: 0;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field .gsc-input {
  width: 100%;
  padding-right: 0;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field .gsc-input .gsib_a {
  padding: 0.25em 0.5em;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field .gsc-input .gsib_a input {
  font-size: 14px;
  line-height: 1;
  vertical-align: middle;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field .gsc-input .gsib_b {
  display: none;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field .gsc-search-button .gsc-search-button-v2 {
  position: absolute;
  top: 16px;
  right: 20px;
  padding: 0;
  border: 0;
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_search.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field .gsc-search-button .gsc-search-button-v2 svg {
  display: none;
}
.site-header > .wrapper > .inner > .search-button > dd > .search-field .gsc-clear-button {
  display: none !important;
}
.site-header > .global-nav {
  position: relative;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.05);
}
.site-header > .global-nav > ul {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  width: 1200px;
  margin: 0 auto;
}
.site-header > .global-nav > ul > li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20%;
  height: 60px;
}
.site-header > .global-nav > ul > li > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #333333;
  font-size: 0.94em;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s;
}
.site-header > .global-nav > ul > li > a::after {
  transition: all 0.3s;
  top: 100%;
  left: 0;
  transform: translateY(-1.5px);
  content: "";
  position: absolute;
  width: 0;
  height: 3px;
  background: #e90000;
}
.site-header > .global-nav > ul > li > a:hover::after, .site-header > .global-nav > ul > li > a.-current::after {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .site-header {
    display: none;
  }

  .sp-site-header {
    border-top: 4px solid #e90000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    background: #fff;
  }
  .sp-site-header > .inner {
    height: 56px;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .sp-site-header > .inner > .logo {
    max-width: 210px;
    padding-left: 12px;
    margin-right: auto;
    box-sizing: border-box;
  }
  .sp-site-header > .inner > .wrapper {
    display: flex;
  }
  .sp-site-header > .inner > .wrapper .menu-language {
    position: relative;
  }
  .sp-site-header > .inner > .wrapper .menu-language #sp-icon2 {
    height: 56px;
    padding: 0 10px;
    display: flex;
    align-items: center;
  }
  .sp-site-header > .inner > .wrapper .menu-language #sp-icon2.sp-open2 {
    background: #f3f4f5;
  }
  .sp-site-header > .inner > .wrapper .menu-language .menu-content {
    display: none;
    background: #f3f4f5;
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    padding: 15px 15px 0;
    box-sizing: border-box;
  }
  .sp-site-header > .inner > .wrapper .menu-language .menu-content .menu-list > li {
    margin-bottom: 5px;
  }
  .sp-site-header > .inner > .wrapper .menu-language .menu-content .menu-list > li a {
    width: 100%;
    padding: 0.6em 0.8em;
    box-sizing: border-box;
    display: block;
    font-size: 14px;
    background: #fff;
    color: #333;
  }
  .sp-site-header > .inner > .wrapper .menu-language .menu-content .menu-list > li:last-child {
    margin-bottom: 0;
  }
  .sp-site-header > .inner > .wrapper .menu-language .menu-content .btn-close2 {
    margin: 15px -15px 0;
  }
  .sp-site-header > .inner > .wrapper .menu-language .menu-content .btn-close2 a {
    display: block;
    background: #e90000;
    color: #fff;
    text-align: center;
    padding: 0.8em 0;
    font-size: 12px;
    font-weight: bold;
  }
  .sp-site-header > .inner > .wrapper .menu-language::before, .sp-site-header > .inner > .wrapper .menu-language::after {
    top: 50%;
    transform: translateY(-7px);
    content: "";
    position: absolute;
    width: 1px;
    height: 14px;
    background: #d7d7d7;
  }
  .sp-site-header > .inner > .wrapper .menu-language::before {
    left: 0;
  }
  .sp-site-header > .inner > .wrapper .menu-language::after {
    right: 0;
  }
  .sp-site-header > .inner > .wrapper .menu-category {
    position: relative;
  }
  .sp-site-header > .inner > .wrapper .menu-category #sp-icon {
    height: 56px;
    padding: 0 12px 0 34px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
  }
  .sp-site-header > .inner > .wrapper .menu-category #sp-icon span {
    display: inline-block;
    width: 16px;
    height: 2px;
    background: #e90000;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.3s;
    top: 52%;
    left: 20px;
    transform: translate(-50%, -50%);
  }
  .sp-site-header > .inner > .wrapper .menu-category #sp-icon span::before, .sp-site-header > .inner > .wrapper .menu-category #sp-icon span::after {
    display: inline-block;
    width: 16px;
    height: 2px;
    background: #e90000;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.3s;
  }
  .sp-site-header > .inner > .wrapper .menu-category #sp-icon span::before {
    content: "";
    transform: translateY(-4px) rotate(0deg);
  }
  .sp-site-header > .inner > .wrapper .menu-category #sp-icon span::after {
    content: "";
    transform: translateY(4px) rotate(0deg);
  }
  .sp-site-header > .inner > .wrapper .menu-category #sp-icon.sp-open {
    background: #f3f4f5;
  }
  .sp-site-header > .inner > .wrapper .menu-category #sp-icon.sp-open span {
    background: transparent !important;
  }
  .sp-site-header > .inner > .wrapper .menu-category #sp-icon.sp-open span::before {
    content: "";
    transform: rotate(45deg) !important;
  }
  .sp-site-header > .inner > .wrapper .menu-category #sp-icon.sp-open span::after {
    content: "";
    transform: rotate(-45deg) !important;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content {
    display: none;
    background: #f3f4f5;
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100% - 60px);
    padding: 15px 15px 1px;
    box-sizing: border-box;
    z-index: 9998;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .search-box {
    margin-bottom: 20px;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .search-box .gsc-input-box {
    padding: 0 !important;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .search-box .gsc-search-button-v2 {
    padding: 10px !important;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li {
    margin-bottom: 10px;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li a {
    width: 100%;
    height: 40px;
    padding: 0.6em 0.8em;
    box-sizing: border-box;
    display: block;
    font-size: 14px;
    background: #fff;
    color: #333;
    text-decoration: none;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li a[target=_blank]::after {
    display: inline-block;
    content: "";
    width: 8px;
    height: 8px;
    background: url(../images/ico_external.svg) no-repeat 0 0;
    background-size: 8px 8px;
    vertical-align: middle;
    margin-left: 8px;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.bnr-donate-sp {
    margin-top: 15px;
    border: 2px solid #e90000;
    font-weight: bold;
    text-align: center;
    color: #fff;
    position: relative;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.bnr-donate-sp a {
    color: #fff;
    background: #e90000;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.bnr-donate-sp .donate-close {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #2b2b2b;
    position: absolute;
      left: 15px;
      bottom: 10px;
    font-size: 30px;
    font-family: revert;
    color: #fff;
		top:0;
		bottom: 0;
		right: 10px;
		left: unset;
		margin: auto;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li .social-nav a[target=_blank]::after {
    display: none;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li .utility-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li .utility-nav > li {
    width: calc((100% - 1px) / 2);
    margin-top: 1px;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li .utility-nav > li.one-column {
    width: 100%;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li .social-nav {
    display: flex;
    justify-content: center;
    margin: 15px 0;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li .social-nav > li {
    margin: 0 5px;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li .social-nav > li a {
    background: none;
    padding: 0;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.accordion > .inner {
    zoom: 1;
    display: none;
    position: relative;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.accordion > .inner:after {
    content: "";
    display: block;
    clear: both;
    overflow: auto;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.accordion > .inner .title {
    font-size: 13px;
    background: #585858;
    height: 40px;
    padding: 0.6em 0.8em;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    margin-top: 10px;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.accordion > .inner > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.accordion > .inner > ul > li {
    width: calc((100% - 1px) / 2);
    margin-top: 1px;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.accordion > .inner > ul > li.toplink {
    width: 100%;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.accordion > .inner > ul > li > a {
    font-size: 12px;
    height: 100%;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.switch > .menu {
    display: block;
    position: relative;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.switch > .menu::after {
    content: "";
    background: url(../images/btn_menu_open.svg) no-repeat;
    background-size: 40px 40px;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0;
    right: 0;
    transition: all, 0.25s, linear;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li.switch > .menu.active::after {
    background: url(../images/btn_menu_close.svg) no-repeat;
    background-size: 40px 40px;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .menu-list > li:last-child {
    margin-bottom: 0;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .btn-close {
    margin: 0 -15px 0;
  }
  .sp-site-header > .inner > .wrapper .menu-category .menu-content .btn-close a {
    display: block;
    background: #e90000;
    color: #fff;
    text-align: center;
    padding: 0.8em 0;
    font-size: 12px;
    font-weight: bold;
  }
}
/**************************************************
  Footer
***************************************************/
.pagetop {
  position: fixed;
  bottom: 30px;
  right: 30px;
  margin-bottom: 0;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  #registered .pagetop {
    bottom: 70px;
  }
}
.site-footer {
  border-bottom: 4px solid #e90000;
}
.site-footer > .address {
  padding: 25px 0;
}
.site-footer > .address > .inner {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 15px;
  letter-spacing: 0.1em;
}
.site-footer > .address > .inner dt {
  margin-right: auto;
}
.site-footer > .address > .inner dd {
  position: relative;
  padding-right: 18px;
  margin-right: 18px;
}
.site-footer > .address > .inner dd span {
  color: #e90000;
  font-family: Arial, sans-serif;
}
.site-footer > .address > .inner dd::after {
  top: 50%;
  right: 0;
  transform: translateY(-7px);
  content: "";
  position: absolute;
  width: 1px;
  height: 14px;
  background: #464646;
}
.site-footer > .address > .inner dd.certification img {
  margin-left: 14px;
  width: auto;
  height: 50px;
}
.site-footer > .address > .inner dd:nth-child(n+4) {
  padding-right: 0;
  margin-right: 0;
}
.site-footer > .address > .inner dd:nth-child(n+4)::after {
  display: none;
}
.site-footer > .sitemap {
  background: #585858;
  padding: 40px 0;
  color: #FFF;
}
.site-footer > .sitemap a {
  color: #FFF;
  font-size: 15px;
  text-decoration: none;
  outline: 0;
}
.site-footer > .sitemap a.external::after {
  content: "2";
  margin-left: 0.5em;
  font-size: 10px;
  font-family: Webdings;
}
.site-footer > .sitemap a.small {
  font-size: 13px;
}
.site-footer > .sitemap > .inner {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.site-footer > .sitemap > .inner .column {
  width: 17%;
  box-sizing: border-box;
  padding-right: 30px;
}
.site-footer > .sitemap > .inner .column:last-child {
  padding-right: 0;
}
.site-footer > .sitemap > .inner .column.department {
  width: 50%;
}
.site-footer > .sitemap > .inner .column.department p {
  font-size: 15px;
  margin-bottom: 0;
}
.site-footer > .sitemap > .inner .column.department .parent-list {
  float: left;
  width: 33%;
}
.site-footer > .sitemap > .inner .column.department .parent-list:first-of-type {
  width: 66%;
}
.site-footer > .sitemap > .inner .column.department .parent-list:first-of-type .child-list {
  display: flex;
  flex-wrap: wrap;
}
.site-footer > .sitemap > .inner .column.department .parent-list:first-of-type .child-list > li {
  width: 50%;
}
.site-footer > .sitemap > .inner .column.department .parent-list:nth-of-type(3), .site-footer > .sitemap > .inner .column.department .parent-list:nth-of-type(6) {
  clear: left;
}
.site-footer > .sitemap > .inner .parent-list > li {
  margin-bottom: 16px;
}
.site-footer > .sitemap > .inner .parent-list > li > .has-child .icon {
  padding-right: 8px;
}
.site-footer > .sitemap > .inner .parent-list > li > .has-child .icon.-open {
  display: inline-block;
  content: "";
  width: 14px;
  height: 14px;
  background: url(../images/ico_minus_square.svg) no-repeat 0 0;
  background-size: 14px 14px;
  vertical-align: middle;
}
.site-footer > .sitemap > .inner .parent-list > li > .has-child .icon.-close {
  display: inline-block;
  content: "";
  width: 14px;
  height: 14px;
  background: url(../images/ico_plus_square.svg) no-repeat 0 0;
  background-size: 14px 14px;
  vertical-align: middle;
}
.site-footer > .sitemap > .inner .child-list > li > a {
  margin: 0.3em 0 0;
  font-size: 13px;
  display: flex;
  align-items: center;
}
.site-footer > .sitemap > .inner .child-list > li > a:hover {
  text-decoration: underline;
}
.site-footer > .sitemap > .inner .child-list > li > a::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 0.5em;
  background: #FFF;
}
.site-footer > .sitemap > .inner .child-list > li.indent {
  margin-left: 1em;
}
.site-footer > .copyright {
  margin-bottom: 0;
  padding: 1.5em 0;
  text-align: center;
  color: #585858;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-family: Arial, sans-serif;
}

@media only screen and (max-width: 767px) {
  .site-footer > .address {
    padding: 20px 0 0;
  }
  .site-footer > .address > .inner {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 13px;
    text-align: center;
  }
  .site-footer > .address > .inner dt {
    margin: 0 auto 10px;
  }
  .site-footer > .address > .inner dd {
    padding-right: 10px;
    margin-right: 10px;
  }
  .site-footer > .address > .inner dd a {
    color: #333;
  }
  .site-footer > .address > .inner dd.certification {
    margin-top: 10px;
  }
  .site-footer > .address > .inner dd.certification img {
    margin-left: 0;
  }
  .site-footer > .address > .inner dd:first-child {
    padding-right: 0;
    margin-right: 0;
  }
  .site-footer > .address > .inner dd:first-child::after {
    display: none;
  }
  .site-footer > .sitemap {
    display: none;
  }
  .site-footer >.banner-section > ul.column3 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 32px auto -10px;
  }
  .site-footer >.banner-section > ul.column3 li {
    width: calc(50% - 2px);
  }
  }


/* -----------------------------------------------
  4. Common
-------------------------------------------------- */
.banner-section {
  background: #f3f4f5;
  padding: 40px 0 ;
}
.banner-section > ul {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.banner-section > ul.column2 > li {
  width: calc(50% - 2px);
}
.banner-section > ul.column2 > li > a {
  height: 120px;
}
.banner-section > ul.column3 > li {
  width: 33%;
}
.banner-section > ul.column3 > li > a {
  height: 80px;
}
.banner-section > ul.column3 > li > a > img {
  display: block !important;
}
.banner-section > ul.column4 > li {
  width: 24%;
}
.banner-section > ul.column4 > li > a {
  height: 58px;
}
.banner-section > ul.column4 > li > a > img {
  display: block !important;
}
.banner-section > ul li {
  margin: 0 1px 1px;
}
.banner-section > ul li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  color: #FFF;
  font-size: 1.25em;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  letter-spacing: 0.1em;
  text-decoration: none;
  background: #EEE;
  transition: all 0.3s;
}
.banner-section > ul li > a:hover {
  opacity: 0.7;
}
.banner-section > ul li > a.community {
  background: url(../images/banner_community.jpg) no-repeat;
  justify-content: flex-start;
  padding-left: 30px;
  text-align: center;
  color: #000;
  font-size: 1.88em;
  line-height: 1.3;
  letter-spacing: 0.3em;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.banner-section > ul li > a.magazine {
  background: url(../images/banner_magazine.png) no-repeat;
  background-size: 100%;
  text-indent: -9999px;
}
.banner-section > ul li > a.mrco {
  background: url(../images/banner_community.jpg) no-repeat;
  background-size: 100%;
  text-indent: -9999px;
}
.banner-section > ul li > a.director_blog {
  background: url(../images/banner_director_blog.jpg) no-repeat;
  background-size: 100%;
  text-indent: -9999px;
}
.banner-section > ul li > a.doctor {
  background: url(../images/banner_doctor.jpg) no-repeat;
  background-size: 100%;
  text-indent: -9999px;
}
.banner-section > ul li > a.seminar {
  background: url(../images/banner_seminar.jpg) no-repeat;
}
.banner-section > ul li > a.disaster {
  background: url(../images/banner_disaster.jpg) no-repeat;
}
.banner-section > ul li > a.dummy {
  background: url(../images/banner_dummy.jpg) no-repeat 100% 100%;
}
.banner-section > ul li > a.facebook {
  font-size: 1.06em;
  font-weight: 500;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  background: #3b5998;
}
.banner-section > ul li > a.facebook::before {
  margin-right: 18px;
  display: inline-block;
  content: "";
  width: 30px;
  height: 30px;
  background: url(../images/banner_facebook.png) no-repeat 0 0;
  background-size: 30px 30px;
  vertical-align: middle;
}
.banner-section > ul li > a.line {
  font-size: 1.06em;
  font-weight: 500;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  background: #06c755;
}
.banner-section > ul li > a.line::before {
  margin-right: 18px;
  display: inline-block;
  content: "";
  width: 45px;
  height: 45px;
  background: url(../images/banner_line.png) no-repeat 0 0;
  background-size: 45px 45px;
  vertical-align: middle;
}
.banner-section > ul li > a.instagram,
.banner-section > ul li > a.youtube {
  color: #000;
  font-size: 1.06em;
  font-weight: 500;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  background: #FFFFFF;
}
.banner-section > ul li > a.instagram::before {
  margin-right: 18px;
  display: inline-block;
  content: "";
  width: 30px;
  height: 30px;
  background: url(../images/banner_instagram.png) no-repeat 0 0;
  background-size: 30px 30px;
  vertical-align: middle;
}
.banner-section > ul li > a.youtube::before {
  margin-right: 20px;
  display: inline-block;
  content: "";
  width: 43px;
  height: 30px;
  background: url(../images/banner_youtube.png) no-repeat 0 0;
  background-size: 43px 30px;
  vertical-align: middle;
}
.banner-section > ul li > a.contact {
  justify-content: flex-end;
  padding-right: 40px;
  background: #708bb5 url(../images/banner_contact.jpg) no-repeat;
}
.banner-section > ul li > a.kokotto {
  background: url(../images/banner_kokotto.jpg) no-repeat 100% 100%;
}
.banner-section > ul li > a.donate {
  background: url(../images/banner_donate.jpg) no-repeat 100% 100%;
}

@media only screen and (max-width: 767px) {
  .banner-section {
    background: #efefef;
    padding: 1px 0 40px;
  }
  .banner-section > ul {
    width: 100%;
    display: block;
  }
  .banner-section > ul.column2 > li {
    width: 100%;
  }
  .banner-section > ul.column2 > li > a {
    height: 75px;
  }
  .banner-section > ul.column3 li {
    width: 100%;
  }
  .banner-section > ul.column3 li > a {
    height: 80px;
  }
  .banner-section > ul.column4 li {
    width: 100%;
  }
  .banner-section > ul.column4 li > a {
    height: 80px;
  }
  .banner-section > ul li > a {
    width: 100%;
    font-size: 1em;
  }
  .banner-section > ul li > a.community {
    background: url(../images/banner_community_sp.jpg) no-repeat;
    background-size: contain;
    padding-left: 14px;
    font-size: 20px;
    letter-spacing: 0.2em;
  }
  .banner-section > ul li > a.magazine {
    background: url(../images/banner_magazine.png) no-repeat;
    background-size: contain;
  }
  .banner-section > ul li > a.facebook {
    font-size: 1em;
  }
  .banner-section > ul li > a.facebook::before {
    margin-left: 6px;
    margin-right: 20px;
    display: inline-block;
    content: "";
    width: 40px;
    height: 30px;
    background: url(../images/banner_facebook.png) no-repeat 0 0;
    background-size: 30px 30px;
    vertical-align: middle;
  }
  .banner-section > ul li > a.instagram {
    font-size: 1em;
  }
  .banner-section > ul li > a.instagram::before {
    margin-left: 6px;
    margin-right: 20px;
    display: inline-block;
    content: "";
    width: 40px;
    height: 30px;
    background: url(../images/banner_instagram.png) no-repeat 0 0;
    background-size: 30px 30px;
    vertical-align: middle;
  }

  .banner-section > ul li > a.youtube::before {
    margin-left: 6px;
    margin-right: 20px;
    display: inline-block;
    content: "";
    width: 43px;
    height: 30px;
    background: url(../images/banner_youtube.png) no-repeat 0 0;
    background-size: 34px 24px;
    vertical-align: middle;
  }

  .banner-section > ul li > a.contact {
    padding-right: 20px;
    background:#708bb5 url(../images/banner_contact.jpg) no-repeat 30% 100%;
  }
  .banner-section > ul li > a.kokotto {
    background-size: 100%;
    background-position: center;
    background-color: #fff;
  }
  
}
/**************************************************
  Content
***************************************************/
.site-content {
  padding-top: 60px;
  margin-bottom: 50px;
}
.site-content > .inner {
  zoom: 1;
  position: relative;
  width: 1200px;
  margin: 0 auto;
}
.site-content > .inner:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}
.site-content > .inner.-centered {
  width: 840px;
}
.site-content > .inner > .primary {
  float: right;
  width: 840px;
}
.site-content > .inner > .primary.-full {
  float: none;
  width: 100%;
}
.site-content > .inner > .secondary {
  float: left;
  width: 300px;
}

.category-title {
  color: #e90000;
  font-size: 2.25em;
  letter-spacing: 0.1em;
  text-align: center;
  height: 230px;
  background: #d3e3f3 url(../images/bg_department.png) no-repeat 100% 100%;
  padding-top: 60px;
  margin-bottom: 20px;
  box-sizing: border-box;
  transition: all 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.category-title small {
  display: block;
  font-size: 16px;
}
.category-title #advanced {
  background: url(../images/bg_advanced.png) repeat-x 50% 100%;
}

.page-title {
  margin-bottom: 50px;
}

.breadcrumb {
  font-size: 0.81em;
  margin-bottom: 30px;
}
.breadcrumb > li {
  display: inline;
}
.breadcrumb > li::after {
  content: "／";
  padding-left: 0.5em;
  margin-right: 0.5em;
}
.breadcrumb > li:last-child::after {
  content: "";
}
.breadcrumb > li > a {
  color: #000;
  text-decoration: underline;
}
.breadcrumb > li > strong {
  font-weight: normal;
}

@media only screen and (max-width: 767px) {
  .site-content {
    margin-bottom: 0;
  }
  .site-content > .inner {
    width: auto;
    margin: 0 auto;
    overflow: hidden;
  }
  .site-content > .inner.-centered {
    width: auto;
    padding: 0 15px 15px;
  }
  .site-content > .inner.-centered .breadcrumb {
    padding: 0;
  }
  .site-content > .inner > .primary,
.site-content > .inner > .secondary {
    float: none;
    width: auto;
    padding: 0 15px 15px;
    box-sizing: border-box;
  }

  .category-title {
    font-size: 21px;
    height: 100px;
    padding-top: 0;
    background-size: cover;
  }
  .category-title small {
    font-size: 12px;
  }

  .page-title {
    margin-bottom: 20px;
  }

  .breadcrumb {
    padding: 0 15px;
    margin-bottom: 20px;
  }
}
/* -----------------------------------------------
  6. Secondary
-------------------------------------------------- */
.secondary {
  position: sticky;
}
.secondary .secondary-widget:not(:last-child) {
  margin-bottom: 40px;
}
.secondary .title {
  border-top: 3px solid #e90000;
  font-size: 1.13em;
  font-weight: bold;
  text-align: center;
  padding: 0.75em;
  border-bottom: 1px solid #cccccc;
}
.secondary .title a {
  text-decoration: none;
}
.secondary .local-nav a, .secondary .local-nav i {
  position: relative;
  display: block;
  color: #333;
  text-decoration: none;
  padding: 0.7em 1.7em 0.7em 1em;
  border-bottom: 1px solid #CCC;
  transition: all 0.3s;
}
.secondary .local-nav a small, .secondary .local-nav i small {
  font-size: 0.75em;
}
.secondary .local-nav a::after, .secondary .local-nav i::after {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-color: transparent transparent transparent #aaa;
}
.secondary .local-nav a.-current, .secondary .local-nav i.-current {
  color: #e90000;
  background: #fafafa;
}
@media only screen and (min-width: 767px) {
  .secondary .local-nav a[href]:hover, .secondary .local-nav i[href]:hover {
    background: #fafafa;
  }
}
.secondary .local-nav a[nohref], .secondary .local-nav i[nohref] {
  color: #CCC;
}
.secondary .local-nav a[nohref]::after, .secondary .local-nav i[nohref]::after {
  display: none;
}
.secondary .local-nav i {
  font-style: normal;
}
.secondary .local-nav i::after {
  display: none;
}
.secondary .local-nav i:hover {
  background: #fff;
}
.secondary .local-nav a.has-child::before, .secondary .local-nav a.has-child::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 10px;
  height: 1px;
  transition: transform 0.3s;
  transform: rotate(90deg) translateY(0.5px);
  background: #999;
}
.secondary .local-nav a.has-child::after {
  border: 0;
  width: 10px;
  height: 1px;
  transform: translateY(0);
  background: #999;
}
.secondary .local-nav a.has-child.-close::before {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 10px;
  height: 1px;
  transition: transform 0.3s;
  transform: rotate(90deg) translateY(0.5px);
  background: #999;
}
.secondary .local-nav a.has-child.-open::before {
  transform: rotate(0deg);
}
.secondary .local-nav > li > ul > li > a {
  padding-left: 2em;
}
.secondary .local-nav > li > ul > li > ul > li a {
  font-size: 0.88em;
  padding-left: 2.4em;
  border-bottom: 1px solid #eeeeee;
}
.secondary .local-nav > li > ul > li > ul > li a::after {
  display: none;
}
.secondary .local-nav > li > ul > li > ul > li:last-child a {
  border-bottom: 1px solid #CCC;
}

@media only screen and (max-width: 767px) {
  .secondary > .title {
    border-top: 3px solid #e90000;
    font-size: 1.13em;
    font-weight: bold;
    text-align: center;
    padding: 0.75em;
    border-bottom: 1px solid #cccccc;
  }
  .secondary > .local-nav a {
    position: relative;
    display: block;
    color: #333;
    text-decoration: none;
    padding: 0.7em 0.7em 0.7em 1em;
    border-bottom: 1px solid #CCC;
    transition: all 0.3s;
  }
  .secondary > .local-nav a small {
    font-size: 0.75em;
  }
  .secondary > .local-nav a::after {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-color: transparent transparent transparent #aaa;
  }
  .secondary > .local-nav a.-current {
    color: #e90000;
    background: #fafafa;
  }
  .secondary > .local-nav a:hover {
    background: #fafafa;
  }
  .secondary > .local-nav > li > a.has-child {
    color: #FFF;
    background: #666666;
  }
  .secondary > .local-nav > li > a.has-child::after {
    border: 0;
    width: 10px;
    height: 1px;
    transform: translateY(0);
    background: #FFF;
  }
  .secondary > .local-nav > li > a.has-child.-close::before {
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    width: 10px;
    height: 1px;
    transition: transform 0.3s;
    transform: rotate(90deg) translateY(0.5px);
    background: #FFF;
  }
  .secondary > .local-nav > li > a.has-child.-open::before {
    transform: rotate(0deg);
  }
  .secondary > .local-nav > li > ul > li > a.has-child {
    border-bottom: 1px solid #eeeeee;
  }
  .secondary > .local-nav > li > ul > li > a.has-child::after {
    display: none;
  }
  .secondary > .local-nav > li > ul > li > ul > li a {
    font-size: 0.88em;
    padding-left: 2.4em;
    border-bottom: 1px solid #eeeeee;
  }
  .secondary > .local-nav > li > ul > li > ul > li a::after {
    display: none;
  }
  .secondary > .local-nav > li > ul > li > ul > li:last-child a {
    border-bottom: 1px solid #CCC;
  }
}
.secondary.checkbox-group .checkbox {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  position: relative;
  padding-left: 30px;
}
.secondary.checkbox-group .checkbox input[type=checkbox] {
  display: none;
}
.secondary.checkbox-group .checkbox input[type=checkbox] + label {
  padding-left: 25px;
  cursor: pointer;
}
.secondary.checkbox-group .checkbox input[type=checkbox] + label::before {
  background: #fff;
  border: 1px solid #333;
  border-radius: 2px;
  content: '';
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 16px;
  width: 16px;
}
.secondary.checkbox-group .checkbox input[type=checkbox]:checked + label::after {
  border-right: 3px solid #ed7a9c;
  border-bottom: 3px solid #ed7a9c;
  content: '';
  display: block;
  height: 9px;
  left: 10px;
  margin-top: -7px;
  position: absolute;
  top: 16px;
  transform: rotate(45deg);
  width: 5px;
}
.secondary.checkbox-group .local-nav {
  margin-bottom: 30px;
}
.secondary.checkbox-group .local-nav .checkbox {
  position: relative;
  padding: 2px 0;
}
.secondary.checkbox-group .local-nav ul {
  padding-left: 30px;
}
.secondary.checkbox-group .local-nav .checkbox span {
  position: absolute;
  top:7px;
  right: 0;
  display: block;
  width: 30px;
  height: 15px;
}
.secondary.checkbox-group .local-nav .checkbox span.has-child::before, 
.secondary.checkbox-group .local-nav .checkbox span.has-child::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  top: 50%;
  width: 12px;
  height: 2px;
  transition: transform 0.3s;
  transform: rotate(90deg) translateY(0.5px);
  background: #999;
}
.secondary.checkbox-group .local-nav .checkbox span.has-child::after {
  border: 0;
  width: 13px;
  height: 2px;
  transform: translateY(0);
  background: #999;
}
.secondary.checkbox-group .local-nav .checkbox span.has-child.-close::before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  top: 50%;
  width: 13px;
  height: 2px;
  transition: transform 0.3s;
  transform: rotate(90deg) translateY(0.5px);
  background: #999;
}
.secondary.checkbox-group .local-nav .checkbox span.has-child.-open::before {
  transform: rotate(0deg);
}
.mixitup-control-active[data-toggle]:after {
  opacity: 1;
}
.secondary.checkbox-group .checkbox-search-menu {
  margin-bottom: 0;
}
.secondary.checkbox-group .checkbox-group-inner {
  margin-top: 5px;
}
@media only screen and (max-width: 767px) { 
  .site-content > .inner > .checkbox-group {

    z-index: 9999;
  }
  .secondary.checkbox-group.active {
    bottom: inherit;
    top: 0;
  }
  .secondary.checkbox-group .checkbox-search-menu {
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    border: 3px solid #e90000;
    font-size: 1.13em;
    font-weight: bold;
    width: 100%;
    background-color: #fff;
    box-sizing: border-box;
    margin-bottom: 0;
    height: 50px;
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .secondary.checkbox-group .checkbox-search-menu::after {
    display: block;
    content: "";
    border-top: solid 2px #e90000;
    border-left: solid 2px #e90000;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    position: absolute;
    right: 20px;
    top: 40%;
    margin: auto;
  }
  .secondary.checkbox-group.active .checkbox-search-menu::before,
  .secondary.checkbox-group.active .checkbox-search-menu::after {
    display: block;
    content: "";
    position: absolute;
    border: none;
    transform: inherit;
    right: inherit;
    margin: auto;
    top: 50%;
    left: 85%;
    width: 2px;
    height: 22px;
    background: #e90000;
  }
  .secondary.checkbox-group.active .checkbox-search-menu::before {
    transform: translate(-50%,-50%) rotate(45deg);
  }
  .secondary.checkbox-group.active .checkbox-search-menu::after {
    transform: translate(-50%,-50%) rotate(-45deg);
  }
  .secondary.checkbox-group.active .checkbox-search-menu {
    top: 0;
    bottom: inherit;
    border-top: 3px solid #e90000;
    border-bottom: 3px solid #e90000;
    font-size: 1.13em;
    font-weight: bold;
    text-align: center;
  }
  .secondary.checkbox-group .checkbox-group-inner {
    overflow: scroll;
    height: calc(100% - 50px);
    display: none;
  }
  .secondary.checkbox-group .checkbox-group-inner p._small {
    padding: 5px 10px;
  }
  .secondary.checkbox-group.active .checkbox-group-inner {
    display: block;
    top: 50px;
    position: fixed;
    right: 0;
    left: 0;
    margin: auto;
    background-color: #fff;
  }
  .secondary.checkbox-group .checkbox-group-inner .title {
    background-color: #f3f3f3;
    left: 0;
    border: none;
  }
  .secondary.checkbox-group .checkbox-group-inner .sp-inline li {
    display: inline-block;
    margin-right: 10px;
  }
  .secondary.checkbox-group .local-nav {
    padding: 5px 10px;
  }
  .secondary.checkbox-group .checkbox input[type=checkbox] + label {
    padding-left: 30px;
  }
  .control[data-toggle]:before {
    width: 12px;
    height: 12px;
  }
  .control[data-toggle]:after {
    height: 7px;
    left: 9px;
    width: 4px;
  }
}
/**************************************************
  Grid
***************************************************/
.image-full {
  width: 100%;
}
.image-full img {
  width: 100%;
}

.image-l {
  float: left;
  margin-right: 30px;
}

.image-r {
  float: right;
  margin-left: 30px;
}

.image-text {
  overflow: hidden;
}

.column-2, .column-3, .column-4, .column-5, .column-full {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.column-2 > .column, .column-3 > .column, .column-4 > .column, .column-5 > .column, .column-full > .column {
  text-align: center;
  margin-bottom: 30px;
  box-sizing: border-box;
}
.column-2 > .column img, .column-3 > .column img, .column-4 > .column img, .column-5 > .column img, .column-full > .column img {
  max-width: 100%;
}
.column-2 > .column.-full img, .column-3 > .column.-full img, .column-4 > .column.-full img, .column-5 > .column.-full img, .column-full > .column.-full img {
  width: 100%;
  height: auto;
}
.column-2.column-2 > .column, .column-3.column-2 > .column, .column-4.column-2 > .column, .column-5.column-2 > .column, .column-full.column-2 > .column {
  width: calc((100% - 20px) / 2);
}
.column-2.column-3 > .column, .column-3.column-3 > .column, .column-4.column-3 > .column, .column-5.column-3 > .column, .column-full.column-3 > .column {
  width: calc((100% - 20px - 20px) / 3);
}
.column-2.column-3::after, .column-3.column-3::after, .column-4.column-3::after, .column-5.column-3::after, .column-full.column-3::after {
  content: "";
  display: block;
  width: calc((100% - 20px - 20px) / 3);
}
.column-2.column-4 > .column, .column-3.column-4 > .column, .column-4.column-4 > .column, .column-5.column-4 > .column, .column-full.column-4 > .column {
  width: calc((100% - 20px - 20px - 20px) / 4);
}
.column-2.column-5 > .column, .column-3.column-5 > .column, .column-4.column-5 > .column, .column-5.column-5 > .column, .column-full.column-5 > .column {
  width: calc((100% - 10px - 10px - 10px - 10px) / 5);
}
.column-2 + .h2, .entry-content .column-2 + h3, .column-3 + .h2, .entry-content .column-3 + h3, .column-4 + .h2, .entry-content .column-4 + h3, .column-5 + .h2, .entry-content .column-5 + h3, .column-full + .h2, .entry-content .column-full + h3 {
  margin-top: 20px;
}
.column-2 + .h3, .entry-content .column-2 + h4, .column-3 + .h3, .entry-content .column-3 + h4, .column-4 + .h3, .entry-content .column-4 + h4, .column-5 + .h3, .entry-content .column-5 + h4, .column-full + .h3, .entry-content .column-full + h4 {
  margin-top: 0;
}
.column-3 > .column1 {
  width: calc((100% - 20px - 20px) / 3);
}
.column-3 > .column2 {
  width: calc((100% - 20px - 20px) / 3 * 2);
}
.column-full {
  justify-content: flex-start;
  flex-wrap: nowrap;
  margin: 0 -10px;
}
.column-full > .column {
  flex-grow: 1;
  margin: 0 10px 30px;
}

@media only screen and (max-width: 767px) {
  .image-l {
    margin-right: 15px;
  }
  .image-l img {
    max-width: 180px;
  }

  .image-r {
    margin-left: 15px;
  }
  .image-r img {
    max-width: 180px;
  }

  .image-text {
    overflow: visible;
  }

  .column-2 > .column, .column-3 > .column, .column-4 > .column, .column-5 > .column, .column-full > .column {
    margin-bottom: 20px;
  }
  .column-2 > .column .caption, .column-3 > .column .caption, .column-4 > .column .caption, .column-5 > .column .caption, .column-full > .column .caption {
    font-size: 10px;
  }
  .column-2.column-2 > .column, .column-3.column-2 > .column, .column-4.column-2 > .column, .column-5.column-2 > .column, .column-full.column-2 > .column {
    width: calc((100% - 10px) / 2);
  }
  .column-2.column-3 > .column, .column-3.column-3 > .column, .column-4.column-3 > .column, .column-5.column-3 > .column, .column-full.column-3 > .column {
    width: calc((100% - 10px - 10px) / 3);
  }
  .column-2.column-3::after, .column-3.column-3::after, .column-4.column-3::after, .column-5.column-3::after, .column-full.column-3::after {
    width: calc((100% - 10px - 10px) / 3);
  }
  .column-2.column-4 > .column, .column-2.column-5 > .column, .column-3.column-4 > .column, .column-3.column-5 > .column, .column-4.column-4 > .column, .column-4.column-5 > .column, .column-5.column-4 > .column, .column-5.column-5 > .column, .column-full.column-4 > .column, .column-full.column-5 > .column {
    width: calc((100% - 10px - 10px) / 3);
  }
  .column-2 + .h2, .entry-content .column-2 + h3, .column-3 + .h2, .entry-content .column-3 + h3, .column-4 + .h2, .entry-content .column-4 + h3, .column-5 + .h2, .entry-content .column-5 + h3, .column-full + .h2, .entry-content .column-full + h3 {
    margin-top: 20px;
  }
  .column-2 + .h3, .entry-content .column-2 + h4, .column-3 + .h3, .entry-content .column-3 + h4, .column-4 + .h3, .entry-content .column-4 + h4, .column-5 + .h3, .entry-content .column-5 + h4, .column-full + .h3, .entry-content .column-full + h4 {
    margin-top: 0;
  }

  .column-full {
    padding: 0 5px;
  }
  .column-full > .column {
    margin: 0 5px 20px;
  }
  .column-2.column-2 > .column-full-sp {
		width: 100%;
	}
}
/**************************************************
  Icon
***************************************************/
/* -----------------------------------------------
  Badge
-------------------------------------------------- */
.badge {
  display: inline-block;
  color: #FFF;
  background: #999;
  font-size: 10px;
  padding: 0.5em 1em;
  border-radius: 5px;
  margin: 0 0.5em;
}

/* -----------------------------------------------
  Icon
-------------------------------------------------- */
.ico-pdf::after {
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_pdf.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
  margin-left: 8px;
  vertical-align: middle;
}

.ico-xls::after, .ico-xlsx::after {
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_xls.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
  margin-left: 8px;
  vertical-align: middle;
}

.ico-doc::after, .ico-docx::after {
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_doc.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
  margin-left: 8px;
  vertical-align: middle;
}

.ico-ppt::after, .ico-pptx::after {
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_ppt.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
  margin-left: 8px;
  vertical-align: middle;
}

.ico-external::after {
  display: inline-block;
  content: "";
  width: 12px;
  height: 12px;
  background: url(../images/ico_external.svg) no-repeat 0 0;
  background-size: 12px 12px;
  vertical-align: middle;
  margin-left: 8px;
}

.only-referred,
.only-reservation,
.only-new {
  display: inline-block;
  color: #FFF;
  font-size: 10px;
  padding: 0 0.3em;
  border-radius: 3px;
}

.only-reservation {
  white-space: nowrap;
  background: #e90000;
}

.only-referred {
  background: #009812;
}

.only-new {
  background: #0099FF;
}

.link-a {
  color: #333;
  text-decoration: underline;
  position: relative;
}
.link-a::before {
  display: inline-block;
  display: inline-block;
  content: "";
  width: 12px;
  height: 12px;
  background: url(../images/ico_link_red.svg) no-repeat 0 0;
  background-size: 12px 12px;
  vertical-align: middle;
  margin-right: 0.5em;
}
.ico_mark::before {
  display: inline-block;
  content: "";
  width: 16px;
  height: 19px;
  background: url(../images/ico_about.svg) no-repeat 0 0;
  background-size: 16px 16px;
  vertical-align: middle;
}
/**************************************************
  heading
***************************************************/
.wysiwyg h1 {
  font-size: 2em;
  font-weight: bold;
  margin: 40px 10px 30px;
}

.wysiwyg h2 {
  font-size: 1.7em;
  font-weight: bold;
  margin: 40px 10px 30px;
}

.h2, .entry-content h3 {
  font-size: 1.13em;
  font-weight: bold;
  margin-top: 40px;
  margin-bottom: 20px;
  background: #f3f3f3;
  padding: 0.75em 1em;
  border-top: 3px solid #e90000;
}
.h2:first-child, .entry-content h3:first-child, .acms-admin-module-edit + .h2, .entry-content .acms-admin-module-edit + h3 {
  margin-top: 0;
}
@media only screen and (max-width: 767px) {
  .h2, .entry-content h3 {
    margin-top: 20px;
    margin-bottom: 15px;
  }
}
.h2.-note, .entry-content h3.-note {
  display: flex;
  justify-content: space-between;
}
.module-section:not(:first-child) > .h2, .entry-content .module-section:not(:first-child) > h3 {
  margin-top: 40px;
}

.h3, .entry-content h4 {
  position: relative;
  font-size: 1.13em;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 20px;
  padding: 0.37em 1em;
  background: #f3f3f3;
}
.h3::before, .entry-content h4::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 10px;
  height: 3px;
  background: #e90000;
  transition: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .h3, .entry-content h4 {
    margin-top: 20px;
    margin-bottom: 15px;
  }
}
.h3 .badge, .entry-content h4 .badge {
  float: right;
}

.h4, .entry-content h5 {
  font-size: 100%;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.h4::after, .entry-content h5::after {
  content: "";
  height: 1px;
  background: #dddddd;
  flex: auto;
  margin-left: 10px;
}
@media only screen and (max-width: 767px) {
  .h4, .entry-content h5 {
    margin-bottom: 15px;
  }
}

.b_pharmaceutical .entry-content h5 {
  padding-top: 30px;
}

.h5 {
  color: #e90000;
  font-weight: bold;
  margin-bottom: 10px;
}

.h6 {
  font-weight: bold;
  margin-bottom: 10px;
}

/**************************************************
  list
***************************************************/
/* -----------------------------------------------
  Backward
-------------------------------------------------- */
.list {
  margin-left: 0;
}

/* -----------------------------------------------
  Common List
-------------------------------------------------- */
.list-a, .list {
  margin-bottom: 20px;
}
.list-a li, .list li {
  text-indent: -0.8em;
  padding-left: 0.8em;
}
.list-a li::before, .list li::before {
  content: "";
  display: inline-block;
  width: 0.31em;
  height: 0.31em;
  background: #e90000;
  vertical-align: middle;
  margin-right: 0.5em;
}
.list-none li {
  text-indent: 0;
}
.list-none li::before {
  display: none;
}

.list-b {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 40px;
}
.list-b li {
  width: 20%;
}

.attention-list {
  padding-left: 1.8em;
}
.attention-list > li {
  text-indent: -5.5em;
  padding-left: 5.5em;
}

.anclist li {
  color: #333;
  position: relative;
}
.anclist li::before {
  display: inline-block;
  display: inline-block;
  content: "";
  width: 12px;
  height: 12px;
  background: url(../images/ico_link_red.svg) no-repeat 0 0;
  background-size: 12px 12px;
  vertical-align: middle;
  margin-right: 0.5em;
}

/* -----------------------------------------------
  Anchor List
-------------------------------------------------- */
.anchor {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.anchor.-clone {
  position: fixed;
  top: -200px;
  width: 840px;
  margin: 0 auto;
  z-index: 1;
  transition: all 0.2s;
  transform: translateY(-200px);
}
.anchor.-fixed {
  transform: translateY(0);
  top: 124px;
}
.anchor > li {
  flex-grow: 1;
  align-items: center;
}
.anchor > li > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  height: 100%;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  position: relative;
  color: #999;
  background: #EEE;
  padding: 0.75em 3em 0.75em 1.5em;
  transition: all 0.3s;
}
.anchor > li > a ._small {
  display: none;
}
.anchor > li > a::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 6px 0 6px;
  border-color: #bbbbbb transparent transparent transparent;
}
.anchor > li > a.-current {
  color: #FFF;
  background: #e90000;
}
.anchor > li > a.-current::after {
  border-color: #FFF transparent transparent transparent;
}
@media (min-width: 769px) {
  .anchor > li > a:hover {
    color: #FFF;
    background: #e90000;
  }
  .anchor > li > a:hover::after {
    border-color: #FFF transparent transparent transparent;
  }
}
.anchor.-wrap {
  flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
  .anchor {
    flex-wrap: wrap;
  }
  .anchor.-clone {
    top: -200px;
    left: 0;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
  }
  .anchor.-fixed {
    top: 60px;
  }
  .anchor > li {
    margin-bottom: 1px;
  }
  .anchor > li > a {
    white-space: normal;
    padding: 0.75em 3em 0.75em 1.5em;
    font-size: 12px;
  }
  .anchor > li > a::after {
    right: 15px;
  }
}
/* -----------------------------------------------
  Index List
-------------------------------------------------- */
.category-panel, .entry-panel {
  display: flex;
  flex-wrap: wrap;
}
.category-panel > .panel, .entry-panel > .panel {
  width: calc((100% - 1px - 1px) / 3);
  box-sizing: border-box;
  margin: -1px 0 0 -1px;
}
.category-panel > .panel > a, .entry-panel > .panel > a, .category-panel > .panel > .inner, .entry-panel > .panel > .inner {
  border: 1px solid #e6e6e6;
  height: 100%;
  padding: 30px 30px 40px;
  box-sizing: border-box;
  display: block;
  text-decoration: none;
  position: relative;
  transition: all 0.3s;
}
.category-panel > .panel > a .detail .title, .entry-panel > .panel > a .detail .title, .category-panel > .panel > .inner .detail .title, .entry-panel > .panel > .inner .detail .title {
  font-weight: bold;
  margin-bottom: 8px;
  color: #000;
}
.category-panel > .panel > a .detail .lead, .entry-panel > .panel > a .detail .lead, .category-panel > .panel > .inner .detail .lead, .entry-panel > .panel > .inner .detail .lead {
  font-size: 14px;
  color: #333;
}
.category-panel > .panel > a::after, .entry-panel > .panel > a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent #cccccc transparent;
  position: absolute;
  right: 30px;
  bottom: 30px;
}
.category-panel > .panel > a:hover, .entry-panel > .panel > a:hover {
  background: #ec2828;
  transition: all 0.3s;
}
.category-panel > .panel > a:hover .detail .title, .entry-panel > .panel > a:hover .detail .title {
  color: #fff;
}
.category-panel > .panel > a:hover .detail .lead, .entry-panel > .panel > a:hover .detail .lead {
  color: #fff;
}
.category-panel > .panel > a:hover::after, .entry-panel > .panel > a:hover::after {
  border-color: transparent transparent #fff transparent;
}
.category-panel.-department > .panel a .detail .title, .-department.entry-panel > .panel a .detail .title {
  color: #e90000;
}
.category-panel.-department > .panel a::after, .-department.entry-panel > .panel a::after {
  border-color: transparent transparent #e90000 transparent;
}
.category-panel.-department > .panel a:hover .detail .title, .-department.entry-panel > .panel a:hover .detail .title {
  color: #fff;
}
.category-panel.-department > .panel a:hover .detail .lead, .-department.entry-panel > .panel a:hover .detail .lead {
  color: #fff;
}
.category-panel.-department > .panel a:hover::after, .-department.entry-panel > .panel a:hover::after {
  border-color: transparent transparent #fff transparent;
}
.category-panel.-department > .panel.-close > a, .-department.entry-panel > .panel.-close > a {
  pointer-events: none;
}
.category-panel.-department > .panel.-close > a .detail .title, .-department.entry-panel > .panel.-close > a .detail .title, .category-panel.-department > .panel.-close > a .detail .lead, .-department.entry-panel > .panel.-close > a .detail .lead {
  color: #CCC;
}
.category-panel.-department > .panel.-close > a::after, .-department.entry-panel > .panel.-close > a::after {
  border-color: transparent transparent #CCC transparent;
}
.category-panel.-column2 > .panel, .-column2.entry-panel > .panel {
  width: calc((100% - 1px) / 2);
}
.category-panel.-lastn9 > .panel:nth-child(n+10), .-lastn9.entry-panel > .panel:nth-child(n+10) {
  display: none;
}

@media only screen and (max-width: 767px) {
  .category-panel > .panel, .entry-panel > .panel {
    width: calc((100% - 1px) / 2);
  }
  .category-panel > .panel a, .entry-panel > .panel a {
    padding: 20px 20px 30px;
  }
  .category-panel > .panel a .detail .title, .entry-panel > .panel a .detail .title {
    font-size: 14px;
    margin-bottom: 4px;
  }
  .category-panel > .panel a .detail .lead, .entry-panel > .panel a .detail .lead {
    font-size: 12px;
  }
  .category-panel > .panel a::after, .entry-panel > .panel a::after {
    right: 15px;
    bottom: 15px;
  }
}
/* -----------------------------------------------
  Entry List
-------------------------------------------------- */
.entry-panel > .panel {
  width: auto;
}
.entry-panel > .panel a {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.entry-panel > .panel a:hover .meta {
  color: #FFF;
}
.entry-panel > .panel .image {
  width: 240px;
  flex-shrink: 0;
  margin-right: 30px;
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .entry-panel > .panel .image {
    width: 120px;
  }
}
.entry-panel > .panel .detail .meta {
  color: #999;
  font-size: 12px;
  line-height: 1;
  margin-top: 1em;
}
.entry-panel > .panel .detail .meta .category, .entry-panel > .panel .detail .meta .date {
  display: inline-block;
}
.entry-panel > .panel .detail .meta .category {
  border-right: 1px solid #EEE;
  padding-right: 0.75em;
  margin-right: 0.5em;
}

/* -----------------------------------------------
  News List
-------------------------------------------------- */
.news-list > .item {
  border-bottom: 1px solid #DDD;
}
.news-list > .item a {
  display: flex;
  align-items: flex-start;
  padding: 0.9em;
  transition: all 0.3s;
  color: #333;
  text-decoration: none;
}
.news-list > .item a:hover {
  background: #f3f4f5;
}
@media only screen and (max-width: 767px) {
  .news-list > .item a {
    flex-wrap: wrap;
  }
}
.news-list > .item .date {
  color: #e90000;
  font-size: 0.81em;
  margin-top: 0.2em;
  margin-right: 20px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.news-list > .item .category {
  margin-top: 0.5em;
}
@media only screen and (max-width: 767px) {
  .news-list > .item .category {
    width: 10.33em;
  }
}
.news-list > .item .title {
  width: 100%;
  letter-spacing: 0.05em;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .news-list > .item .title {
    margin-top: 0.5em;
  }
}
.news-list.-lastn5 > .item:nth-child(n+6) {
  display: none;
}

/* -----------------------------------------------
  Magazine List
-------------------------------------------------- */
.magazine-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -20px -20px;
}
.magazine-list > li {
  width: calc((100% - 20px - 20px - 20px - 20px - 20px - 20px) / 6);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 0 20px 20px;
}
.magazine-list > li a {
  width: 100%;
  padding: 30px;
  box-sizing: border-box;
  border: 1px solid #e5e5e5;
  display: block;
  opacity: 1;
  transition: all 0.3s;
}
.magazine-list > li a .caption {
  margin-top: 1em;
}
.magazine-list > li a:hover {
  text-decoration: none;
  opacity: 0.6;
  transition: all 0.3s;
}

@media only screen and (max-width: 767px) {
  .magazine-list {
    margin: 0 0 -10px -10px;
  }
  .magazine-list > li {
    width: calc((100% - 10px - 10px) / 2);
    margin: 0 0 10px 10px;
  }
  .magazine-list > li a {
    padding: 20px;
  }
}
/* -----------------------------------------------
  Topics List
-------------------------------------------------- */
.topics-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: -20px;
}
.topics-list > li {
  width: calc((100% - 20px) / 2);
  margin-bottom: 20px;
  text-align: center;
}
.topics-list > li a {
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 1px solid #eee;
  padding: 20px;
  text-decoration: none;
}
.topics-list::after {
  content: "";
  display: block;
  width: calc((100% - 20px) / 2);
}

@media only screen and (max-width: 767px) {
  .topics-list {
    margin-bottom: -10px;
  }
  .topics-list > li {
    width: calc((100% - 10px) / 2);
    margin-bottom: 10px;
  }
  .topics-list > li a {
    padding: 10px;
  }
  .topics-list::after {
    width: calc((100% - 10px) / 2);
  }
}
/* -----------------------------------------------
  Backnumber List
-------------------------------------------------- */
.backnumber-card {
  display: block;
  box-sizing: border-box;
  border: 1px solid #eee;
  padding: 20px;
  margin: 0 10px 20px;
  text-decoration: none;
}
.backnumber-card .title {
  display: block;
  color: #e90000;
  font-weight: bold;
  margin: 0 0 10px;
}
.backnumber-card .title::after {
  display: none;
}
.backnumber-card .list-a, .backnumber-card .list {
  margin-bottom: 0;
}
.backnumber-card:hover {
  border: 1px solid #e90000;
  text-decoration: none;
}
.backnumber-card:hover .list-a, .backnumber-card:hover .list {
  color: #000;
}
@media only screen and (max-width: 767px) {
  .backnumber-card {
    padding: 10px;
    margin-bottom: 10px;
  }
}

/* CMS化にともない未使用 */
.backnumber-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.backnumber-list > li {
  width: calc((100% - 20px) / 2);
  margin-bottom: 20px;
}
.backnumber-list > li a {
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 1px solid #eee;
  padding: 20px;
  text-decoration: none;
}
.backnumber-list > li a:hover {
  border: 1px solid #e90000;
}
.backnumber-list::after {
  content: "";
  display: block;
  width: calc((100% - 20px) / 2);
}

@media only screen and (max-width: 767px) {
  .backnumber-list {
    display: block;
    margin-bottom: 0;
  }
  .backnumber-list > li {
    width: 100%;
    margin-bottom: 10px;
  }
  .backnumber-list > li a {
    padding: 10px;
  }
  .backnumber-list > li:last-child {
    margin-bottom: 0;
  }
  .backnumber-list::after {
    display: none;
  }
}
/**************************************************
  Button
***************************************************/
/* -----------------------------------------------
  Common Button
-------------------------------------------------- */
.button-a {
  font-size: 100%;
  display: inline-block;
  color: #FFF;
  text-decoration: none;
  background: #e90000;
  border: 2px solid #e90000;
  box-sizing: border-box;
  letter-spacing: 0.3em;
  border-radius: 5px;
  padding: 0.8em 2em;
  font-weight: bold;
  text-align: center;
  transition: all 0.3s;
}
.button-a.-full {
  position: relative;
  width: 100%;
  padding: 0.8em 0;
}
.button-a.-full::before {
  display: inline-block;
  content: "";
  width: 13px;
  height: 13px;
  background: url(../images/arrow_a_white.svg) no-repeat 0 0;
  background-size: 13px 13px;
  vertical-align: middle;
}
@media (min-width: 769px) {
  .button-a.-full::before {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .button-a.-full::before {
    margin-right: 1em;
    vertical-align: middle;
  }
}
.button-a.-confirm::before, .button-a.-send::before {
  display: none;
}
.button-a.-back {
  color: #999;
  background: #eeeeee;
  border: 2px solid #eeeeee;
}
.button-a.-back::before {
  display: none;
}
.button-a.-large {
  position: relative;
  padding: 0.8em 4em;
}
.button-a.-large::before {
  content: "";
  background: url(../images/ico_link_white.svg) no-repeat;
  background-size: 12px;
  position: absolute;
  left: 20px;
  top: calc((100% - 10px) / 2);
  width: 12px;
  height: 12px;
}
@media only screen and (max-width: 767px) {
  .button-a.-large {
    width: 100%;
    padding: 0.8em 2em;
    box-sizing: border-box;
  }
  .button-a.-large::before {
    left: 10px;
  }
}
.button-a:hover {
  color: #e90000;
  background: #FFF;
  text-decoration: none;
}
.button-a:hover.-full::before {
  display: inline-block;
  content: "";
  width: 13px;
  height: 13px;
  background: url(../images/arrow_a.svg) no-repeat 0 0;
  background-size: 13px 13px;
  vertical-align: middle;
}
.button-a:hover.-confirm::before, .button-a:hover.-send::before {
  display: none;
}
.button-a:hover.-back {
  color: #999;
  background: #fff;
}
.button-a:hover.-back::before {
  display: none;
}

/**************************************************
table
***************************************************/
/* -----------------------------------------------
Common Table
-------------------------------------------------- */
.table-a, .entry-content table, .wysiwyg table, .column-table- table {
  position: relative;
  width: 100%;
  margin: 0 auto 30px;
  border-collapse: collapse;
  padding: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.table-a th, .entry-content table th, .wysiwyg table th, .table-a td, .entry-content table td, .wysiwyg table td, .column-table- table th, .column-table- table td {
  border: 1px solid #ddd;
  border-collapse: collapse;
  padding: 1em 1.5em;
  text-align: left;
}
.table-a th, .entry-content table th, .wysiwyg table th, .column-table- table th {
  font-weight: bold;
  vertical-align: top;
}
.table-a thead tr:first-child th, .entry-content table thead tr:first-child th, .wysiwyg table thead tr:first-child th, .column-table- table thead tr:first-child th {
  border-top: 1px solid #ccc;
}
.table-a thead th, .entry-content table thead th, .wysiwyg table thead th, .column-table- table thead th {
  background: #eee;
  text-align: center;
}
.table-a thead th:first-child, .entry-content table thead th:first-child, .wysiwyg table thead th:first-child, .column-table- table thead th:first-child {
  border-left: 1px solid #fff;
}
.table-a thead th:last-child, .entry-content table thead th:last-child, .wysiwyg table thead th:last-child, .column-table- table thead th:last-child {
  border-right: 1px solid #fff;
}
.table-a tbody th:first-child, .entry-content table tbody th:first-child, .wysiwyg table tbody th:first-child, .column-table- table tbody th:first-child {
  border-left: 1px solid #fff;
}
.table-a tbody th:last-child, .entry-content table tbody th:last-child, .wysiwyg table tbody th:last-child, .column-table- table tbody th:last-child {
  border-right: 1px solid #fff;
}
.table-a tbody td:first-child, .entry-content table tbody td:first-child, .wysiwyg table tbody td:first-child, .column-table- table tbody td:first-child {
  border-left: 1px solid #fff;
}
.table-a tbody td:last-child, .entry-content table tbody td:last-child, .wysiwyg table tbody td:last-child, .column-table- table tbody td:last-child {
  border-right: 1px solid #fff;
}
.table-a tbody tr:last-child th, .entry-content table tbody tr:last-child th, .wysiwyg table tbody tr:last-child th, .column-table- table tbody tr:last-child th {
  border-bottom: 1px solid #ccc;
}
.table-a tbody tr:last-child td, .entry-content table tbody tr:last-child td, .wysiwyg table tbody tr:last-child td, .column-table- table tbody tr:last-child td {
  border-bottom: 1px solid #ccc;
}
.table-a.-cell2 th, .entry-content table.-cell2 th, .wysiwyg table.-cell2 th, .column-table- table.-cell2 th {
  width: 25%;
}
.table-a.-cell2 td, .entry-content table.-cell2 td, .wysiwyg table.-cell2 td, .column-table- table.-cell2 td {
  width: 75%;
}
.table-a.-staff, .entry-content table.-staff, .wysiwyg table.-staff, .column-table- table.-staff {
  table-layout: fixed;
}
.table-a.-staff th, .entry-content table.-staff th, .wysiwyg table.-staff th, .table-a.-staff td, .entry-content table.-staff td, .wysiwyg table.-staff td, .column-table- table.-staff th, .column-table- table.-staff td {
  word-wrap: break-word;
}
.entry-content table.-staff tr th:first-child, .wysiwyg table.-staff tr th:first-child, .table-a.-staff tr td:first-child, .entry-content table.-staff tr td:first-child, .wysiwyg table.-staff tr td:first-child, .column-table- table.-staff tr th:first-child, .column-table- table.-staff tr td:first-child {
  width: 40%;
}
.entry-content table.-staff tr th:last-child, .wysiwyg table.-staff tr th:last-child, .table-a.-staff tr td:last-child, .entry-content table.-staff tr td:last-child, .wysiwyg table.-staff tr td:last-child, .column-table- table.-staff tr th:last-child, .column-table- table.-staff tr td:last-child {
  width: 40%;
}
.table-a.-staff tr th { width: 20%; }
.table-a.-staff tr th:first-child, .table-a.-staff tr th:last-child { width: 40%; }
_:-ms-input-placeholder, :root .table-a.-staff tbody td .person .photo { width: 130px; }
.table-a.-staff thead th, .entry-content table.-staff thead th, .wysiwyg table.-staff thead th, .column-table- table.-staff thead th {
  text-align: center;
  background: #f6f6f6;
}
.table-a.-staff tbody td, .entry-content table.-staff tbody td, .wysiwyg table.-staff tbody td, .column-table- table.-staff tbody td {
  vertical-align: top;
  font-size: 14px;
  border-left: 1px solid #fff;
}
.table-a.-staff tbody td .person, .entry-content table.-staff tbody td .person, .wysiwyg table.-staff tbody td .person, .column-table- table.-staff tbody td .person {
  display: flex;
}
.table-a.-staff tbody td .person .photo, .entry-content table.-staff tbody td .person .photo, .wysiwyg table.-staff tbody td .person .photo, .column-table- table.-staff tbody td .person .photo {
  width: 110px;
  margin: 0 20px 0 0;
}
.table-a.-staff tbody td .person .detail, .entry-content table.-staff tbody td .person .detail, .wysiwyg table.-staff tbody td .person .detail, .column-table- table.-staff tbody td .person .detail {
  width: 160px;
}
.table-a.-staff tbody td .person .detail .head, .entry-content table.-staff tbody td .person .detail .head, .wysiwyg table.-staff tbody td .person .detail .head, .column-table- table.-staff tbody td .person .detail .head {
  margin-top: -2px;
}
.table-a.-staff tbody td .person .detail .head span, .entry-content table.-staff tbody td .person .detail .head span, .wysiwyg table.-staff tbody td .person .detail .head span, .column-table- table.-staff tbody td .person .detail .head span {
  display: block;
}
.table-a.-staff tbody td .person .detail .head span.department, .entry-content table.-staff tbody td .person .detail .head span.department, .wysiwyg table.-staff tbody td .person .detail .head span.department, .column-table- table.-staff tbody td .person .detail .head span.department {
  font-size: 12px;
  white-space: break-spaces;
}
.table-a.-staff tbody td .person .detail .head span.name, .entry-content table.-staff tbody td .person .detail .head span.name, .wysiwyg table.-staff tbody td .person .detail .head span.name, .column-table- table.-staff tbody td .person .detail .head span.name {
  font-size: 21px;
  font-weight: bold;
  margin: 0.1em 0 0.3em;
}
.table-a.-staff tbody td .person .detail .head span.name a {
  padding-left: 20px;
  text-indent: -20px;
  display: block;
}
.table-a.-staff tbody td .person .detail .foot span, .entry-content table.-staff tbody td .person .detail .foot span, .wysiwyg table.-staff tbody td .person .detail .foot span, .column-table- table.-staff tbody td .person .detail .foot span {
  display: block;
  font-size: 12px;
}
.table-a.-doctor-list a {
  word-break: break-all;
}
.table-a.-doctor-list .is-hide {
	display: none;
}
._tdcenter tbody td {
  text-align: center;
}

._tdright tbody td {
  text-align: right;
}

.table-a._small th, .entry-content table._small th, .wysiwyg table._small th, .table-a._small td, .entry-content table._small td, .wysiwyg table._small td {
  padding: 0.5em 1em;
}

.column-table- {
  margin-bottom: 30px;
}
.column-table- table {
  margin-bottom: 0;
}

.acms-grid > table {
  margin: 0 10px 30px;
  max-width: calc(100% - 20px);
}
.acms-grid > table p {
  margin: 0;
}

.table-b {
  width: 100%;
  margin-bottom: 30px;
  border-collapse: collapse;
}
.table-b th, .table-b td {
  padding: 0.6em 1em;
  text-align: left;
  vertical-align: middle;
  border: 1px solid #ddd;
}
.table-b th {
  background: #f2f2f2;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
}
.table-b td {
  background: #fff;
}
.table-b.-thin th, .table-b.-thin td {
  padding: 0.6em;
}
.table-b.-thin td {
  vertical-align: top;
}

.supplement {
  text-align: right;
  font-size: 0.88em;
  margin: -20px 0 20px;
}

@media only screen and (max-width: 767px) {
  colgroup {
    display: none;
  }
  .table-scroll colgroup {
    display: table-column-group;
  }
  .table-a, .entry-content table, .wysiwyg table, .column-table- table {
    margin: 0 auto 20px;
    font-size: 12px;
    width: 100%;
    box-sizing: border-box;
  }
  .table-a th, .entry-content table th, .wysiwyg table th, .column-table- table th {
    padding: 0.8em 1em;
  }
  .table-a td, .entry-content table td, .wysiwyg table td, .column-table- table td {
    padding: 0.8em 1em;
  }
  .table-a.-staff, .entry-content table.-staff, .wysiwyg table.-staff, .column-table- table.-staff {
    border-top: 0;
  }
  .table-a.-staff thead, .entry-content table.-staff thead, .wysiwyg table.-staff thead, .column-table- table.-staff thead {
    display: none;
  }
  .table-a.-staff tr, .entry-content table.-staff tr, .wysiwyg table.-staff tr, .column-table- table.-staff tr {
    border-top: 1px solid #ccc;
  }
  .table-a.-staff tr th:first-child, .entry-content table.-staff tr th:first-child, .wysiwyg table.-staff tr th:first-child, .table-a.-staff tr td:first-child, .entry-content table.-staff tr td:first-child, .wysiwyg table.-staff tr td:first-child, .column-table- table.-staff tr th:first-child, .column-table- table.-staff tr td:first-child {
    width: auto;
  }
  .table-a.-staff tr th:last-child, .entry-content table.-staff tr th:last-child, .wysiwyg table.-staff tr th:last-child, .table-a.-staff tr td:last-child, .entry-content table.-staff tr td:last-child, .wysiwyg table.-staff tr td:last-child, .column-table- table.-staff tr th:last-child, .column-table- table.-staff tr td:last-child {
    width: auto;
    border-bottom: 1px solid #ddd;
  }
  .table-a.-staff tr td, .entry-content table.-staff tr td, .wysiwyg table.-staff tr td, .column-table- table.-staff tr td {
    border-top: 0;
    border-bottom: 0;
    padding: 5px 12px;
  }
  .table-a.-staff tr td:first-child, .entry-content table.-staff tr td:first-child, .wysiwyg table.-staff tr td:first-child, .column-table- table.-staff tr td:first-child {
    padding-top: 15px;
  }
  .table-a.-staff tr td:last-child, .entry-content table.-staff tr td:last-child, .wysiwyg table.-staff tr td:last-child, .column-table- table.-staff tr td:last-child {
    padding-bottom: 15px;
  }
  .table-a.-staff tbody td, .entry-content table.-staff tbody td, .wysiwyg table.-staff tbody td, .column-table- table.-staff tbody td {
    font-size: 12px;
    display: block;
    border-bottom: 0 !important;
    border-right: 0;
  }
  .table-a.-staff tbody td:last-child, .entry-content table.-staff tbody td:last-child, .wysiwyg table.-staff tbody td:last-child, .column-table- table.-staff tbody td:last-child {
    border-bottom: 0;
  }
  .table-a.-staff tbody td:nth-child(2)::before, .entry-content table.-staff tbody td:nth-child(2)::before, .wysiwyg table.-staff tbody td:nth-child(2)::before, .table-a.-staff tbody td.expertise::before, .entry-content table.-staff tbody td.expertise::before, .wysiwyg table.-staff tbody td.expertise::before, .column-table- table.-staff tbody td:nth-child(2)::before, .column-table- table.-staff tbody td.expertise::before {
    display: block;
    content: "専門分野";
    font-weight: bold;
  }
  .table-a.-staff tbody td:nth-child(3)::before, .entry-content table.-staff tbody td:nth-child(3)::before, .wysiwyg table.-staff tbody td:nth-child(3)::before, .table-a.-staff tbody td.physicians::before, .entry-content table.-staff tbody td.physicians::before, .wysiwyg table.-staff tbody td.physicians::before, .column-table- table.-staff tbody td:nth-child(3)::before, .column-table- table.-staff tbody td.physicians::before {
    display: block;
    content: "認定医・専門医等";
    font-weight: bold;
  }
  .table-a.-staff tbody td.position::before, .entry-content table.-staff tbody td.position::before, .wysiwyg table.-staff tbody td.position::before, .column-table- table.-staff tbody td.position::before {
    display: block;
    content: "役職";
    font-weight: bold;
  }
  .table-a.-staff tbody td.affiliation::before, .entry-content table.-staff tbody td.affiliation::before, .wysiwyg table.-staff tbody td.affiliation::before, .column-table- table.-staff tbody td.affiliation::before {
    display: block;
    content: "所属学会・学会認定医・専門医等";
    font-weight: bold;
  }
  .table-a.-staff tbody td.blank::before, .entry-content table.-staff tbody td.blank::before, .wysiwyg table.-staff tbody td.blank::before, .column-table- table.-staff tbody td.blank::before {
    content: "";
  }
  .table-a.-staff tbody td .person .detail, .entry-content table.-staff tbody td .person .detail, .wysiwyg table.-staff tbody td .person .detail, .column-table- table.-staff tbody td .person .detail {
    width: auto;
  }
  .table-a.-staff tbody td .person .detail .head, .entry-content table.-staff tbody td .person .detail .head, .wysiwyg table.-staff tbody td .person .detail .head, .column-table- table.-staff tbody td .person .detail .head {
    margin-top: 0;
  }
  .table-a.-staff tbody td .person .detail .head span.department, .entry-content table.-staff tbody td .person .detail .head span.department, .wysiwyg table.-staff tbody td .person .detail .head span.department, .column-table- table.-staff tbody td .person .detail .head span.department {
    font-size: 10px;
  }
  .table-a.-staff tbody td .person .detail .head span.name, .entry-content table.-staff tbody td .person .detail .head span.name, .wysiwyg table.-staff tbody td .person .detail .head span.name, .column-table- table.-staff tbody td .person .detail .head span.name {
    font-size: 18px;
    margin: 0.1em 0 0.3em;
  }  
  .table-a.-doctor-list thead {
    display: none;
  }
  .table-a.-doctor-list tr {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    border-top: 1px solid #ddd;
  }
  .table-a.-doctor-list td {
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    width: 100%;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid #ddd;
  }
  .table-a.-doctor-list td:before {
    content: attr(data-label);
    font-weight: bold;
    margin-right: 10px;
    width: 30%;
  }
  .table-a.-doctor-list td span {
    width: 70%;
  }

  .supplement {
    margin: -15px 0 15px;
  }

  .table-scroll {
    width: 100%;
    overflow: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .vertical-table {
    border-bottom: none;
  }

  .vertical-table th,
.vertical-table td {
    display: block;
    width: 100% !important;
    border: none !important;
    border-bottom: solid 1px #ddd !important;
    box-sizing: border-box;
  }
}
/**************************************************
Box
***************************************************/
/* -----------------------------------------------
Common Box
-------------------------------------------------- */
.box-a, .box-b, .box-c, .box-d {
  zoom: 1;
  padding: 30px 30px 10px;
  margin-top: 30px;
  margin-bottom: 30px;
}
.box-a:after, .box-b:after, .box-c:after, .box-d:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

.box-a {
  border: 1px solid #e5e5e5;
}

.box-b {
  background: #f9f9f9;
  border: 5px solid #DDD;
}
.box-b h3 {
  margin-bottom: 10px;
}
.box-b li::before {
  background: #CCC;
}

.box-c {
  background: #FFE;
}

.box-d {
  border: 1px solid #e5e5e5;
  background: #FFF;
}

.blockquote-a {
  width: 100%;
  padding: 30px 50px 30px 140px;
  margin: 30px auto;
  box-sizing: border-box;
  position: relative;
  background: #fafafa;
}
.blockquote-a::before {
  content: url(../images/ico_blockquote.png);
  width: 87px;
  height: 60px;
  position: absolute;
  top: 0px;
  left: 30px;
  display: block;
}
.blockquote-a p {
  position: relative;
  z-index: 3;
  color: #000;
  line-height: 2.4;
  font-style: italic;
}
.blockquote-a p:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .box-a, .box-b, .box-c {
    padding: 20px 20px 10px;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .box-b {
    background: #f9f9f9;
    border: 5px solid #DDD;
  }
  .box-b h3 {
    margin-bottom: 10px;
  }
  .box-b li::before {
    background: #CCC;
  }
  .box-b li a {
    word-break: break-all;
  }

  .blockquote-a {
    padding: 30px 25px 25px;
    margin: 20px auto;
    box-sizing: border-box;
    position: relative;
    background: #fafafa;
  }
  .blockquote-a::before {
    content: "";
    background: url(../images/ico_blockquote.png) no-repeat;
    background-size: 30px 21px;
    width: 30px;
    height: 21px;
    top: 0px;
    left: 20px;
  }
  .blockquote-a p {
    line-height: 1.8;
  }
}
/* -----------------------------------------------
Contact Box
-------------------------------------------------- */
.box-contact {
  position: relative;
  background: #fafafa;
  padding: 1.5em;
  margin: 30px 10px 60px 0;
  text-align: center;
}
.box-contact:last-child {
  margin-bottom: 10px;
}
.box-contact::before {
  position: absolute;
  bottom: -10px;
  right: -10px;
  content: "";
  width: 100%;
  height: 100%;
  background: #eeeeee;
  z-index: -1;
}
.box-contact > .title {
  color: #e90000;
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.box-contact > .time {
  font-size: 0.88em;
  font-weight: bold;
  margin-bottom: 0;
}
.box-contact > .tel {
  font-size: 2.19em;
  font-family: Arial, sans-serif;
  font-weight: bold;
  margin-bottom: 0;
}
.box-contact > .tel::before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 25px;
  background: url(../images/ico_tel.svg) no-repeat 0 0;
  background-size: 20px 25px;
  vertical-align: middle;
  vertical-align: baseline;
  margin-right: 0.1em;
}
.box-contact > .tel small {
  font-size: 0.46em;
}
.box-contact > .note {
  font-size: 0.81em;
}

.box-contact-b {
  position: relative;
  background: #fafafa;
  padding: 1.5em 80px 2em;
  margin: 30px 10px 60px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.box-contact-b:last-child {
  margin-bottom: 10px;
}
.box-contact-b .head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.box-contact-b .head > .title {
  color: #e90000;
  font-size: 1.25em;
  font-weight: bold;
  margin: 0 0 0.5em 0;
  flex: 1;
}
.box-contact-b .head > .tel {
  font-size: 2.19em;
  font-family: Arial, sans-serif;
  font-weight: bold;
  margin: 0 0 0 0.5em;
}
.box-contact-b .head > .tel::before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 25px;
  background: url(../images/ico_tel.svg) no-repeat 0 0;
  background-size: 20px 25px;
  vertical-align: middle;
  vertical-align: baseline;
  margin-right: 0.1em;
}
.box-contact-b .head > .tel small {
  font-size: 0.46em;
}
.box-contact-b .foot {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.box-contact-b .foot > .note {
  font-size: 0.81em;
}
.box-contact-b .foot > .time {
  font-size: 0.88em;
  font-weight: bold;
  margin-bottom: 0;
}
.box-contact-b::before {
  position: absolute;
  bottom: -10px;
  right: -10px;
  content: "";
  width: 100%;
  height: 100%;
  background: #eeeeee;
  z-index: -1;
}

.box-contact-c {
  position: relative;
  background: #fafafa;
  padding: 1.5em;
  margin: 30px 10px 60px 0;
  text-align: center;
}
.box-contact-c:last-child {
  margin-bottom: 10px;
}
.box-contact-c::before {
  position: absolute;
  bottom: -10px;
  right: -10px;
  content: "";
  width: 100%;
  height: 100%;
  background: #eeeeee;
  z-index: -1;
}
.box-contact-c > .title {
  color: #e90000;
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.box-contact-c > .time {
  font-size: 0.88em;
  font-weight: bold;
  margin-bottom: 0;
}
.box-contact-c > .contact {
  display: flex;
  justify-content: center;
  align-items: center;
}
.box-contact-c > .contact > .tel {
  font-size: 2.19em;
  font-family: Arial, sans-serif;
  font-weight: bold;
  margin-bottom: 0;
}
.box-contact-c > .contact > .tel::before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 25px;
  background: url(../images/ico_tel.svg) no-repeat 0 0;
  background-size: 20px 25px;
  vertical-align: middle;
  vertical-align: baseline;
  margin-right: 0.1em;
}
.box-contact-c > .contact > .tel small {
  font-size: 0.46em;
}
.box-contact-c > .contact > .fax {
  font-size: 1em;
  line-height: 1.2;
  font-weight: bold;
  text-align: left;
  padding-left: 2.15em;
  margin: 0 0 0 1em;
  text-indent: -2.15em;
}
.box-contact-c > .note {
  font-size: 0.81em;
  text-align: left;
  max-width: 580px;
  margin: 0 auto;
}
.grecaptcha-badge {
  bottom: 100px!Important;
}

@media only screen and (max-width: 767px) {
  .box-contact {
    margin: 20px 10px 30px 0;
  }
  .box-contact > .title {
    font-size: 15px;
  }
  .box-contact > .time {
    font-size: 12px;
  }
  .box-contact > .tel {
    font-size: 28px;
  }
  .box-contact > .tel::before {
    display: inline-block;
    content: "";
    width: 16px;
    height: 20px;
    background: url(../images/ico_tel.svg) no-repeat 0 0;
    background-size: 16px 20px;
    vertical-align: middle;
    vertical-align: baseline;
  }
  .box-contact > .tel small {
    font-size: 14px;
  }
  .box-contact > .note {
    font-size: 10px;
    margin-top: -4px;
  }

  .box-contact-b {
    padding: 1.5em 20px;
    margin: 20px 10px 30px 0;
    display: block;
  }
  .box-contact-b .head {
    display: block;
    text-align: center;
  }
  .box-contact-b .head > .title {
    font-size: 15px;
    display: block;
  }
  .box-contact-b .head > .tel {
    font-size: 28px;
  }
  .box-contact-b .head > .tel::before {
    display: inline-block;
    content: "";
    width: 16px;
    height: 20px;
    background: url(../images/ico_tel.svg) no-repeat 0 0;
    background-size: 16px 20px;
    vertical-align: middle;
    vertical-align: baseline;
  }
  .box-contact-b .head > .tel small {
    font-size: 14px;
  }
  .box-contact-b .foot {
    flex-wrap: wrap;
  }
  .box-contact-b .foot > .note {
    width: 100%;
    order: 2;
  }
  .box-contact-b .foot > .time {
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
    order: 1;
  }

  .box-contact-c {
    padding: 1.5em;
    margin: 20px 10px 30px 0;
  }
  .box-contact-c > .title {
    font-size: 15px;
  }
  .box-contact-c > .time {
    font-size: 0.88em;
    font-weight: bold;
    margin-bottom: 0;
  }
  .box-contact-c > .contact {
    display: block;
  }
  .box-contact-c > .contact > .tel {
    font-size: 28px;
  }
  .box-contact-c > .contact > .tel::before {
    display: inline-block;
    content: "";
    width: 16px;
    height: 20px;
    background: url(../images/ico_tel.svg) no-repeat 0 0;
    background-size: 16px 20px;
    vertical-align: middle;
    vertical-align: baseline;
  }
  .box-contact-c > .contact > .tel small {
    font-size: 14px;
  }
  .box-contact-c > .contact > .fax {
    display: block;
    font-size: 0.88em;
    text-align: center;
    padding-left: 0;
    margin: 0 0 10px 0;
    text-indent: 0;
  }
  .box-contact-c > .contact > .fax br {
    display: none;
  }
  .box-contact-c > .note {
    max-width: 100%;
  }
}
/**************************************************
  Form
***************************************************/
.form-step {
  display: flex;
  flex-direction: row;
  margin-bottom: 30px;
  overflow: hidden;
  background: #eee;
  font-size: 14px;
  color: #999;
}
@media only screen and (max-width: 767px) {
  .form-step {
    margin-bottom: 10px;
  }
}
.form-step > li {
  position: relative;
  width: 33.3%;
  padding: 1em;
  text-align: center;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .form-step > li {
    padding: 1em 0;
  }
  .form-step > li:nth-child(2) {
    width: 50%;
  }
}
.form-step > li.-done {
  background: #fafafa;
}
.form-step > li.-current {
  font-weight: bold;
  background: #e90000;
  color: #fff;
}
.form-step > li.-current::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 10px solid #fafafa;
}
.form-step > li.-current::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 0;
  width: 0;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 10px solid #e90000;
}
.form-step > li:first-child {
  border-left: 0;
}
.form-step > li:first-child.-current::before {
  display: none;
}
.form-step > li:last-child {
  border-right: 0;
}

.required, .any {
  color: #FFF;
  font-size: 12px;
  background: #000;
  padding: 0.1em 0.5em;
  font-size: 12px;
  display: inline-block;
  margin-right: 20px;
  float: right;
}
@media only screen and (max-width: 767px) {
  .required, .any {
    margin-right: 0;
  }
}
.th_required .any {
	display: none;
}
.any {
  background: #aaa;
}

.form-table {
  width: 100%;
  margin-bottom: 40px;
}
.form-table th, .form-table td {
  zoom: 1;
  border-bottom: 1px solid #dddddd;
}
.form-table th:after, .form-table td:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}
.form-table th table th, .form-table th table td, .form-table td table th, .form-table td table td {
  border-bottom: none;
}
.form-table th {
  font-size: 0.94em;
  vertical-align: middle;
  padding: 1em 1em 1em 0;
}
.form-table th .note {
  color: #e90000;
}
.form-table td {
  padding: 1em 0;
}
.form-table table {
  width: 100%;
}
.form-table table th, .form-table table td {
  padding: 0.5em 1em 0.5em 0;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .form-table {
    margin-bottom: 20px;
  }
  .form-table tr, .form-table th, .form-table td {
    display: block;
  }
  .form-table th {
    padding-bottom: 0;
    border-bottom: 0;
  }
}

.form-row:not(:last-child) {
  margin-bottom: 10px;
}

.form-action {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.form-action > li {
  margin: 0 10px 20px;
}

.error {
  display: block;
  color: #ff0000;
  font-size: 0.88em;
  padding-top: 0.5em;
}

.alert {
  width: 22px;
  height: 22px;
  display: block;
  float: left;
}
.alert img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.text-field, .text-area, .select-box {
  width: 100%;
  background: #f9f9f9;
  border: 1px solid #e8e8e8;
  border-radius: 5px;
  padding: 0.5em 1em;
  box-sizing: border-box;
}
.text-field.-error, .text-area.-error, .select-box.-error {
  background: #fff0f0;
  border-color: #f4c2c2;
}
.text-field.-inline, .text-area.-inline, .select-box.-inline {
  width: 20%;
  margin-right: 1em;
}
.text-field[disabled], .text-field[readonly], .text-area[disabled], .text-area[readonly], .select-box[disabled], .select-box[readonly] {
  color: #999;
  background: #DDD;
  border: 1px solid #CCC;
}
.text-field[name=email2], .text-area[name=email2], .select-box[name=email2] {
  margin-top: 10px;
}
.text-field[name=inquiry], .text-area[name=inquiry], .select-box[name=inquiry] {
  height: 8em;
}
@media only screen and (max-width: 767px) {
  .text-field, .text-area, .select-box {
    padding: 0.5em;
  }
}

.radio-button, .check-box {
  margin: 0 0 0.5em;
}
.radio-button input, .check-box input {
  display: none;
}
.radio-button span, .check-box span {
  position: relative;
  display: inline-block;
  padding-left: 25px;
  padding-right: 25px;
}
.radio-button span::before, .check-box span::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #d7d7d7;
  background: #F9F9F9;
  vertical-align: middle;
}
.radio-button input:checked + span::before, .check-box input:checked + span::before {
  border-color: #cacaca;
}
.radio-button input:checked + span::after, .check-box input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 9px;
  left: 5px;
  width: 9px;
  height: 9px;
  background: #333;
}
.radio-button.radio-button span::before, .check-box.radio-button span::before {
  border-radius: 50%;
}
.radio-button.radio-button input:checked + span::after, .check-box.radio-button input:checked + span::after {
  border-radius: 50%;
}

.agreement {
  text-align: center;
  margin-bottom: 30px;
}
.agreement label {
  display: inline-block;
  padding: 0.5em 1em;
  background: #EEE;
  margin-top: 1.5em;
}

/**************************************************
  Other
***************************************************/
/* -----------------------------------------------
  FAQ
-------------------------------------------------- */
.faq dt {
  position: relative;
  margin-top: 20px;
  background: #fafafa;
  display: block;
  padding: 30px 80px 30px 80px;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
  color: #000;
  cursor: pointer;
  transition: all, 0.25s, linear;
  position: relative;
}
.faq dt:first-child {
  margin-top: 0;
}
.faq dt:hover, .faq dt.active {
  text-decoration: none;
}
.faq dt::before {
  content: "";
  background: url(../images/ico_q.png) no-repeat;
  background-size: 26px;
  width: 26px;
  height: 28px;
  position: absolute;
  top: 31px;
  left: 30px;
}
.faq dt a::after {
  content: "";
  background: url(../images/ico_plus.png) no-repeat;
  background-size: 32px;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 30px;
  right: 30px;
  transition: all, 0.25s, linear;
}
.faq dt a.active::after {
  background: url(../images/ico_minus.png) no-repeat;
  background-size: 32px;
}
.faq dt a.-open::after {
  content: "";
  background: url(../images/ico_minus.png) no-repeat;
  background-size: 32px;
}
.faq dd {
  zoom: 1;
  display: none;
  padding: 0 80px 40px 80px;
  background: #fafafa;
  margin: 0;
  position: relative;
  font-size: 15px;
  line-height: 2;
  color: #666;
}
.faq dd:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}
.faq dd:last-child {
  margin-bottom: 0;
}

.accordion > ul > li {
  margin-bottom: 20px;
  background: #fafafa;
}
.accordion > ul > li > a {
  display: block;
  padding: 30px 80px 30px 80px;
  text-decoration: none;
  font-size: 18px;
  color: #000;
  cursor: pointer;
  transition: all, 0.25s, linear;
  position: relative;
}
.accordion > ul > li > a:hover, .accordion > ul > li > a.active {
  text-decoration: none;
}
.accordion > ul > li > a::before {
  content: "";
  background: url(../images/ico_q.png) no-repeat;
  background-size: 26px;
  width: 26px;
  height: 28px;
  position: absolute;
  top: 31px;
  left: 30px;
}
.accordion > ul > li .inner {
  zoom: 1;
  display: none;
  padding: 0 80px 40px 80px;
  margin: 0;
  position: relative;
}
.accordion > ul > li .inner:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}
.accordion > ul > li .inner p {
  font-size: 15px;
  line-height: 2;
  color: #666;
}
.accordion > ul > li .inner p:last-child {
  margin-bottom: 0;
}
.accordion > ul > li:last-child {
  margin-bottom: 0;
}
.accordion.graph .inner {
  display: none;
}

.switch .menu {
  display: block;
  position: relative;
  font-weight: bold;
}
.switch .menu::after {
  content: "";
  background: url(../images/ico_plus.png) no-repeat;
  background-size: 32px;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 30px;
  right: 30px;
  transition: all, 0.25s, linear;
}
.switch .menu.active::after {
  background: url(../images/ico_minus.png) no-repeat;
  background-size: 32px;
}
.switch .menu.notoggle {
  pointer-events: none;
}
.switch .menu.notoggle::after {
  display: none;
}
.switch > ul > li.open .menu::after {
  content: "";
  background: url(../images/ico_minus.png) no-repeat;
  background-size: 32px;
}
.switch > ul > li.open .menu.active::after {
  background: url(../images/ico_plus.png) no-repeat;
  background-size: 32px;
}
.switch > ul > li.open .inner {
  display: block;
}
.switch.graph .menu {
  margin: auto;
  cursor: pointer;
}
.switch.graph .menu::after {
  display: none;
}

@media only screen and (max-width: 767px) {
  .accordion > ul > li {
    margin-bottom: 10px;
  }
  .accordion > ul > li > a {
    padding: 20px 60px 20px 50px;
    font-size: 16px;
  }
  .accordion > ul > li > a::before {
    background-size: 16px;
    width: 16px;
    height: 17px;
    top: 26px;
    left: 20px;
  }
  .accordion > ul > li .inner {
    padding: 0 60px 20px 50px;
  }
  .accordion > ul > li .inner p {
    font-size: 14px;
    line-height: 1.8;
  }
  .accordion > ul > li .inner a {
    word-break: break-all;
  }

  .switch .menu::after {
    background-size: 16px;
    width: 16px;
    height: 16px;
    top: 26px;
    right: 20px;
  }
  .switch .menu.active::after {
    background-size: 16px;
  }
  .switch > ul > li.open .menu::after {
    background-size: 16px;
  }
  .switch > ul > li.open .menu.active::after {
    background-size: 16px;
  }
}
/* -----------------------------------------------
  Modal
-------------------------------------------------- */
@media (min-width: 769px) {
  .modal {
    width: 960px;
    margin: 60px 20px 20px !important;
  }
}
@media only screen and (max-width: 767px) {
  .modal {
    margin: 20px !important;
  }
}
.modal .table-a th, .modal .entry-content table th, .entry-content .modal table th, .modal .wysiwyg table th, .wysiwyg .modal table th {
  width: 25%;
}

body.modal {
  width: 960px;
  margin: 20px auto !important;
}
body.modal .fancybox-close-small {
  display: none;
}
body.modal .button-print {
  margin-top: 20px;
}

@media (min-width: 769px) {
  .fancybox-slide .modal {
    height: 90vh;
  }
}
@media (min-width: 769px) {
  .fancybox-slide .print {
    position: absolute;
    top: 40px;
    right: calc(50vw - 480px);
    color: #FFF;
    font-size: 14px;
    padding: 0;
    margin: 0;
    background: none;
  }
  .fancybox-slide .print::before {
    display: inline-block;
    content: "";
    width: 20px;
    height: 20px;
    background: url(../images/ico_print.svg) no-repeat 0 0;
    background-size: 20px 20px;
    vertical-align: middle;
    margin-right: 0.5em;
  }
}
@media only screen and (max-width: 767px) {
  .fancybox-slide .print {
    display: none;
  }
}

/**************************************************
  a-blog cms
***************************************************/
/* -----------------------------------------------
  Bugfix
-------------------------------------------------- */
/* acms.css に対応した記述 */
.acms-form select,
.acms-form select:hover,
.acms-form .acms-form-select .acms-form .acms-form-select:hover {
  -webkit-appearance: none;
}

/* 管理画面・閲覧側の編集画面のUI に対応した記述 */
.acms-admin-form select,
.acms-admin-form select:hover,
.acms-admin-form .acms-form-select .acms-admin-form .acms-form-select:hover {
  -webkit-appearance: none;
}

/* -----------------------------------------------
  AdminBox
-------------------------------------------------- */
.entryFormColumn #more {
  display: none !important;
}

#adminBox {
  margin: 0;
  margin-top: 125px;
}
#adminBox + .site-header {
  position: static;
}
#adminBox + .site-header + .sp-site-header + .site-content {
  padding-top: 0;
}
#adminBox + .site-header + .sp-site-header + .site-content .category-title {
  padding-top: 0;
  height: 170px;
}

/* -----------------------------------------------
  Lite Editor
-------------------------------------------------- */
.color-red {
  font-weight: bold;
  color: #F00;
}

.color-orange {
  font-weight: bold;
  color: #F60;
}

.color-green {
  font-weight: bold;
  color: #096;
}

.color-blue {
  font-weight: bold;
  color: #06C;
}

.color-pink {
  font-weight: bold;
  color: #F06;
}

.color-gray {
  font-weight: bold;
  color: #888;
}

.lite-editor-toolbox span[class*=color-] {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
}
.lite-editor-toolbox .color-red {
  background-color: #F00;
}
.lite-editor-toolbox .color-orange {
  background-color: #F60;
}
.lite-editor-toolbox .color-green {
  background-color: #096;
}
.lite-editor-toolbox .color-blue {
  background-color: #06C;
}
.lite-editor-toolbox .color-pink {
  background-color: #F06;
}
.lite-editor-toolbox .color-gray {
  background-color: #888;
}

/* -----------------------------------------------
  Grid Custom
-------------------------------------------------- */
.acms-grid > .column-image-center {
  margin-bottom: 20px;
}

.acms-grid > .column-image-left,
.box-a > .column-image-left,
.box-b > .column-image-left,
.box-c > .column-image-left,
.acms-grid > .column-media-left,
.box-a > .column-media-left,
.box-b > .column-media-left,
.box-c > .column-media-left {
  padding-right: 25px;
}

.acms-grid > .column-image-right,
.box-a > .column-image-right,
.box-b > .column-image-right,
.box-d > .column-image-right,
.acms-grid > .column-media-right,
.box-a > .column-media-right,
.box-b > .column-media-right,
.box-d > .column-media-right {
  padding-left: 25px;
}

.acms-grid > .list-a, .acms-grid > .list,
.acms-grid > .list-b,
.acms-grid > .plain,
.entry-content .acms-grid > ol,
.wysiwyg .acms-grid > ol,
.wysiwyg .acms-grid > ul,
.acms-grid > .anclist {
  padding-left: 10px;
}

.acms-grid > .box-a,
.acms-grid > .box-b,
.acms-grid > .box-c {
  margin-left: 10px;
  margin-right: 10px;
  padding: 30px 20px 10px;
}

.acms-grid > ul.box-a {
  margin-top: 0;
  padding-bottom: 30px;
}

.caption {
  display: block;
  font-size: 88%;
  margin-top: 0.5em;
  text-align: center;
}

/* -----------------------------------------------
  Text Unit
-------------------------------------------------- */
/* ---------- wysiwyg ---------- */
.wysiwyg ol, .wysiwyg ul {
  padding-left: 10px;
}
.wysiwyg blockquote {
  margin-left: 10px;
}
.wysiwyg table {
  max-width: calc(100% - 20px);
  margin-left: 10px;
  margin-right: 10px;
  border: 0;
}

/**************************************************
  Top
***************************************************/
@keyframes sdb {
  0% {
    transform: rotate(45deg) translate(0, 0);
  }
  50% {
    transform: rotate(45deg) translate(5px, 5px);
  }
  80% {
    transform: rotate(45deg) translate(0, 0);
  }
}
#top .site-content {
  margin-bottom: 0;
}
#top .hero {
  position: relative;
  z-index: 0;
  max-height: calc(100vh - 60px);
  overflow: hidden;
}
#top .hero img {
  width: 100%;
}
#top .hero .slick-prev,
#top .hero .slick-next {
  position: absolute;
  top: 50%;
  border: 0;
  background: none;
  padding: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  box-sizing: content-box;
  z-index: 100;
}
#top .hero .slick-prev::before,
#top .hero .slick-next::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  border: 1px solid #e90000;
  border-width: 0 1px 1px 0;
  transform: translate(-75%, -50%) rotate(-45deg);
}
#top .hero .slick-prev.slick-prev,
#top .hero .slick-next.slick-prev {
  left: 10px;
}
#top .hero .slick-prev.slick-prev::before,
#top .hero .slick-next.slick-prev::before {
  transform: translate(-25%, -50%) rotate(135deg);
}
#top .hero .slick-prev.slick-next,
#top .hero .slick-next.slick-next {
  right: 10px;
}
#top .hero .scroll {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  text-decoration: none;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.8);
  color: #e90000;
  padding: 8px;
  width: 32px;
  height: 32px;
}
#top .hero .scroll .arrow {
  display: block;
  width: 15px;
  height: 15px;
  border: 1px solid #e90000;
  border-width: 0 1px 1px 0;
  margin: 0 auto;
  transform: rotate(45deg);
  animation: sdb 2s infinite;
}
#top .hero .scroll .arrow:first-child {
  margin-bottom: -8px;
}
#top .hero .scroll .text {
  display: block;
  margin-top: 15px;
  font-size: 10px;
  line-height: 1;
  transform: scale(0.8, 0.8);
}
#top .change{
  position: relative;
}
#top .change .change01, #top .change .change02{
  position: absolute;
  top: 0;
  left: 0;
  animation: imgchange 14s infinite;
  opacity: 0;
}
#top img.nomal {
  animation-delay: 3s;
  animation: fadeout;
}
#top .change01 {
  animation-delay: 0s;
}
#top .change02 {
  animation-delay: 3s;
}
@keyframes imgchange{
  0%{ opacity: 0;}
  25%{ opacity: 0;}
  50%{ opacity: 1;}
  75%{ opacity: 1;}
  100%{ opacity: 0;}
}

@keyframes fadeout{
  0%{ opacity: 0;}
  50%{ opacity: 1;}
}
#top .information {
  background: #f3f4f5;
  padding: 30px 0;
}
#top .information > .inner {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
#top .information > .inner > .schedule, #top .information > .inner > .contents {
  width: 580px;
}
#top .information .schedule > h2 {
  margin-top: -8px;
  font-size: 1.13em;
  text-align: center;
  letter-spacing: 0.3em;
  border-bottom: 3px solid #e90000;
  padding-bottom: 10px;
  transition: all 0.3s;
}
#top .information .schedule > h2::before {
  display: inline-block;
  content: "";
  width: 19px;
  height: 19px;
  background: url(../images/top/ico_schedule.png) no-repeat 0 0;
  background-size: 19px 19px;
  vertical-align: middle;
  margin-right: 15px;
  vertical-align: -2px;
}
#top .information .schedule > table {
  background: #FFF;
  width: 100%;
  margin-bottom: 16px;
  border-collapse: collapse;
  border-spacing: 0;
}
#top .information .schedule > table.type02 th,
#top .information .schedule > table.type02 td {
  vertical-align: top;
}
#top .information .schedule > table tr:last-child th, #top .information .schedule > table tr:last-child td {
  border-bottom: 0;
}
#top .information .schedule > table th {
  font-size: 0.88em;
  transition: all 0.3s;
  font-weight: bold;
  letter-spacing: 0.1em;
  vertical-align: middle;
  text-align: left;
  padding: 1em 0.5em 1em 1em;
  border-bottom: 1px solid #dcdcdc;
}
#top .information .schedule > table td {
  font-size: 0.88em;
  transition: all 0.3s;
  padding: 1.0em 0.8em;
  border-bottom: 1px solid #dcdcdc;
}
#top .information .schedule > table td.pdg {
  padding: 1.7em 0.8em;
}
@-moz-document url-prefix() {
  #top .information .schedule > table td.pdg {
    padding: 1.4em 0.8em;
  }
}
#top .information .schedule > table td.pdg span {
  line-height: 1.2;
  display: inline-block;
  margin-top: 5px;
}
#top .information .schedule > table td .weekday {
  font-size: 22px;
  line-height: 1.3;
}
#top .information .schedule > table td .weekday time {
  font-size: 26px;
  font-family: Arial, sans-serif;
  vertical-align: -1px;
}
#top .information .schedule > table td small {
  font-size: 13px;
}
#top .information .schedule > table td dl dd {
  font-size: 15px;
  font-family: Arial, sans-serif;
  margin: -1.6em 0 0.2em 12em;
}
#top .information .schedule > table td dl dd:last-child {
  margin-bottom: 0;
}
#top .information .schedule p {
  margin-bottom: 0;
}
#top .information .contents ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 32px auto -10px;
}
#top .information .contents ul > li {
  width: 285px;
  margin-bottom: 10px;
}
#top .information .contents ul > li > a {
  display: flex;
  background: #FFF;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  height: 100%;
  transition: all 0.3s;
}
#top .information .contents ul > li > a .image {
  order: 2;
  min-width: 145px;
  overflow: hidden;
}
#top .information .contents ul > li > a .image img {
  transition: all 0.25s ease-out;
}
#top .information .contents ul > li > a .text {
  position: relative;
  display: flex;
  align-items: center;
  order: 1;
  min-width: 140px;
  box-sizing: border-box;
  height: 100%;
  font-size: 1.11em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 0 20px;
}
#top .information .contents ul > li > a .text::after {
  position: absolute;
  right: 3px;
  bottom: 3px;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent #e90000 transparent;
}
#top .information .contents ul > li > a:hover img {
  transform: scale(1.1);
}
#top .information .contents ul > li:nth-child(1) > a, #top .information .contents ul > li:nth-child(4) > a, #top .information .contents ul > li:nth-child(5) > a {
  color: #FFF;
  background: #e90000;
}
#top .information .contents ul > li:nth-child(1) > a .text::after, #top .information .contents ul > li:nth-child(4) > a .text::after, #top .information .contents ul > li:nth-child(5) > a .text::after {
  border-color: transparent transparent #FFF transparent;
}
#top .service ul {
  display: flex;
}
#top .service ul > li {
  width: 16.67%;
}
#top .service ul > li > a {
  display: block;
  padding: 30px 0;
  font-size: 1.13em;
  letter-spacing: 0.1em;
  text-align: center;
  color: #333;
  border: 1px solid #e3e3e3;
  border-right-color: transparent;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s;
}
#top .service ul > li > a:hover {
  color: #FFF;
  background: #e90000;
}
#top .service ul > li > a > .icon {
  display: block;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 1px solid #e3e3e3;
  margin: 0 auto 20px;
}
#top .service ul > li > a > .icon.-first {
  background: #FFF url(../images/top/ico_first.png) no-repeat 50% 50%;
  background-size: 43px 35px;
}
#top .service ul > li > a > .icon.-return {
  background: #FFF url(../images/top/ico_return.png) no-repeat 50% 50%;
  background-size: 29px 48px;
}
#top .service ul > li > a > .icon.-visit {
  background: #FFF url(../images/top/ico_visit.png) no-repeat 50% 50%;
  background-size: 46px 25px;
}
#top .service ul > li > a > .icon.-firstaid {
  background: #FFF url(../images/top/ico_firstaid.png) no-repeat 50% 50%;
  background-size: 45px 34px;
}
#top .service ul > li > a > .icon.-birth {
  background: #FFF url(../images/top/ico_birth.png) no-repeat 50% 50%;
  background-size: 36px 36px;
}
#top .service ul > li > a > .icon.-mandock {
  background: #FFF url(../images/top/ico_mandock.png) no-repeat 50% 50%;
  background-size: 29.5px 35px;
}
#top .service ul > li > a > .title {
  display: block;
}
#top .news {
  padding: 40px 0;
}
#top .news > .inner {
  width: 1200px;
  margin: 0 auto;
}
#top .news .importantNews {
  width: 75%;
  margin: 30px auto 50px;
  padding: 15px 50px;
  border: 2px solid #e90000;
}
#top .news .importantNews h2 {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  color: #e90000;
}
#top .news .importantNews .importantNews-list {
  margin: 5px 0 0;
  text-align: center;
}
#top .news .importantNews .importantNews-list .item > a {
  text-decoration: none;
}
#top .news .importantNews .importantNews-list .item .date {
  display: inline-block;
  margin-right: 1.5em;
  font-weight: bold;
  color: #e90000;
}
#top .news .heading {
  border-bottom: 2px solid #e90000;
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
}
#top .news .heading h2 {
  font-size: 0.94em;
  font-weight: 500;
  margin-right: auto;
  padding-left: 10px;
}
#top .news .heading h2::before {
  content: "";
  margin-right: 6px;
  display: inline-block;
  content: "";
  width: 16px;
  height: 16px;
  background: url(../images/ico_news.png) no-repeat 0 0;
  background-size: 16px 16px;
  vertical-align: middle;
}
#top .news .heading .tab {
  display: flex;
  flex-direction: row;
  margin-right: 30px;
}
#top .news .heading .tab > li {
  margin-right: -1px;
}
#top .news .heading .tab > li > a {
  outline: 0;
  display: block;
  color: #333;
  font-size: 0.88em;
  padding: 0.35em 1em;
  border: 1px solid #e5ada9;
  border-bottom: 0;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: all 0.3s;
}
#top .news .heading .tab > li > a:hover, #top .news .heading .tab > li > a.-active {
  color: #FFF;
  border-color: #e90000;
  background: #e90000;
}
#top .news .heading .tab > li:first-child a {
  border-radius: 5px 0 0 0;
}
#top .news .heading .tab > li:last-child a {
  border-radius: 0 5px 0 0;
}
#top .news .heading .more {
  padding: 0 16px 0 0;
  margin-bottom: 0;
}
#top .news .heading .more a {
  display: inline-block;
  color: #333;
  text-decoration: none;
  font-size: 0.88em;
  letter-spacing: 0.1em;
}
#top .news .heading .more a::before {
  margin-right: 8px;
  display: inline-block;
  content: "";
  width: 15px;
  height: 10px;
  background: url(../images/ico_list.svg) no-repeat 0 0;
  background-size: 15px 10px;
  vertical-align: middle;
}
#top .news .news-list {
  font-size: 0.81em;
}
#top .news .news-list > .item a {
  align-items: center;
}
#top .news .news-list > .item .date {
  font-size: 1em;
}
#top .news .news-list > .item .category {
  font-size: 0.75em;
}
#top .news .news-list > .item .title {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
#top .thanksmedicalworkers {
  width: 90%;
  margin: auto;
  padding: 30px 0;
}
#top .thanksmedicalworkers h2 {
  text-align: center;
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 20px;
}
#top .thanksmedicalworkers p {
  text-align: center;
}
.lum-lightbox.lum-open {
  z-index: 9999;
}
@media only screen and (max-width: 767px) {
  #top .hero {
    max-height: auto;
  }
  #top .hero .scroll {
    display: none;
  }
  #top .information {
    padding: 20px 0;
  }
  #top .information > .inner {
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
    display: block;
  }
  #top .information > .inner > .schedule, #top .information > .inner > .contents {
    width: 100%;
  }
  #top .information .schedule > h2 {
    font-weight: bold;
    padding-bottom: 20px;
  }
  #top .information .schedule > table th,
  #top .information .schedule > table .pdg02 th {
    font-size: 13px;
    text-align: center;
    padding: 1em 1em 0;
    border-bottom: none;
    display: block;
  }
  #top .information .schedule > table td,
  #top .information .schedule > table td.pdg,
  #top .information .schedule > table .pdg02 td {
    width: 100%;
    padding: 0 1em 1em;
    font-size: 13px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
  }
  #top .information .schedule > table td .weekday {
    font-size: 18px;
  }
  #top .information .schedule > table td .weekday time {
    font-size: 22px;
  }
  #top .information .schedule > table td .closed-day {
    font-size: 16px;
  }
  #top .information .schedule > table td small {
    display: none;
  }
  #top .information .schedule > table td dl {
    text-align: left;
  }
  #top .information .schedule > table td dl dd {
    font-size: 14px;
    margin: -1.5em 0 0 7em;
  }
  #top .information .contents ul {
    margin-top: 0;
    margin-bottom: -15px;
  }
  #top .information .contents ul > li {
    width: calc((100% - 15px) / 2);
    margin-bottom: 15px;
  }
  #top .information .contents ul > li > a .image {
    min-width: auto;
  }
  #top .information .contents ul > li > a .text {
    min-width: 80px;
    font-size: 12px;
    padding: 0 0 0 10px;
  }
  #top .information .contents ul > li > a .text::after {
    border-width: 0 0 6px 6px;
  }
  #top .information + .banner-section {
    padding: 20px 15px;
  }
  #top .service ul {
    flex-wrap: wrap;
  }
  #top .service ul > li {
    width: 33.33%;
  }
  #top .service ul > li > a {
    display: block;
    padding: 20px 0;
    font-size: 1em;
    letter-spacing: 0;
  }
  #top .service ul > li > a > .icon {
    width: 75px;
    height: 75px;
    margin: 0 auto 10px;
  }
  #top .service ul > li > a > .icon.-first {
    background-size: 33px 27px;
  }
  #top .service ul > li > a > .icon.-return {
    background-size: 22px 36px;
  }
  #top .service ul > li > a > .icon.-visit {
    background-size: 34px 26px;
  }
  #top .service ul > li > a > .icon.-firstaid {
    background-size: 35px 21px;
  }
  #top .service ul > li > a > .icon.-birth {
    background-size: 27px 27px;
  }
  #top .service ul > li > a > .icon.-mandock {
    background-size: 23px 27px;
  }
  #top .service ul > li:nth-child(1) > a, #top .service ul > li:nth-child(4) > a {
    border-left-color: transparent;
  }
  #top .service ul > li:nth-child(1) > a, #top .service ul > li:nth-child(2) > a, #top .service ul > li:nth-child(3) > a {
    border-bottom-color: transparent;
  }
  #top .news {
    padding: 20px 0;
  }
  #top .news > .inner {
    width: 100%;
    margin: 0 auto;
  }
  #top .news .importantNews {
    width: 90%;
    padding: 15px 25px;
    box-sizing: border-box;
  }
  #top .news .importantNews .importantNews-list .item {
    margin: 0;
    padding: 7px 0;
    border-bottom: 1px solid #ddd;
  }
  #top .news .importantNews .importantNews-list .item:last-of-type {
    border-bottom: none;
  }
  #top .news .importantNews .importantNews-list .item .date {
    display: block;
  }
  #top .news .heading {
    flex-wrap: wrap;
    padding: 0 15px;
    margin-bottom: 5px;
  }
  #top .news .heading h2 {
    font-size: 15px;
    padding-left: 0;
    margin-bottom: 10px;
    order: 1;
  }
  #top .news .heading .tab {
    flex-wrap: wrap;
    margin-right: 0;
    order: 3;
  }
  #top .news .heading .tab > li {
    width: 33.33%;
    text-align: center;
  }
  #top .news .heading .tab > li > a {
    height: 100%;
    min-height: 40px;
    padding: 0.35em 0.8em;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0;
  }
  #top .news .heading .tab > li:first-child a {
    border-radius: 0;
  }
  #top .news .heading .tab > li:last-child a {
    border-radius: 0;
  }
  #top .news .heading .more {
    padding: 0;
    margin-bottom: 10px;
    order: 2;
  }
  #top .news .heading .more a {
    font-size: 14px;
  }
  #top .news .news-list > .item a {
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0.9em;
  }
  #top .news .news-list > .item .date {
    margin: 0 0 4px;
  }
  #top .news .news-list > .item .category {
    margin: 0 0 4px;
  }
  #top .news .news-list > .item .title {
    white-space: normal;
    font-size: 13px;
    line-height: 1.5;
  }
  #top .thanksmedicalworkers p {
    text-align: left;
  }
  #top .thanksmedicalworkers .column-4.column-4 > .column {
    width: calc((100% - 10px) / 2);
  }
  .lum-lightbox-inner img {
    width: 100%;
  }
}
/**************************************************
  Entry
***************************************************/
.tags {
  margin-top: 30px;
}
.tags > .tag {
  display: inline;
}
.tags > .tag a {
  display: inline-block;
  color: #000;
  margin-right: 5px;
  margin-bottom: 10px;
  font-size: 12px;
  padding: 3px 15px 5px;
  background: #e5eaed;
  border-radius: 20px;
}

.category-label, .news-list > .item .category {
  display: inline-block;
  color: #FFF;
  font-size: 0.69em;
  letter-spacing: 0.15em;
  text-align: center;
  background: #e90000;
  width: 16.33em;
  flex-shrink: 0;
  white-space: nowrap;
  margin-right: 20px;
}

.entry-header {
  border-top: 3px solid #e90000;
  border-bottom: 1px solid #CCC;
  padding: 1.3em 0;
  margin-bottom: 30px;
}
.entry-header .meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 10px;
}
.entry-header .meta .date {
  color: #e90000;
  font-size: 0.81em;
  margin-right: 20px;
  letter-spacing: 0.1em;
}
.entry-header .title {
  font-size: 168.75%;
}

.entry-content table {
  border: 0;
}
.entry-content table td p {
  margin-bottom: 0;
}
.entry-content ol {
  margin: 0 30px 20px;
}

.entry-pager {
  margin: 40px auto 30px;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .entry-pager {
    margin: 20px auto;
  }
}
.entry-pager li {
  margin: 0;
}
.entry-pager li span {
  display: inline-block;
  padding: 0.4em 1em;
  color: #FFF;
  background: #e90000;
  text-decoration: none;
}
.entry-pager li a {
  text-decoration: none;
}
.entry-pager li a span {
  color: #000;
  background: #eeeeee;
}
.entry-pager li a:hover span {
  color: #fff;
  background: #e90000;
}
.entry-pager li.prev {
  margin-right: 1px;
}
.entry-pager li.next {
  margin-left: 1px;
}
.entry-pager.-white li span {
  color: #fff;
  background: #1a74ad;
}
.entry-pager.-white li a {
  text-decoration: none;
}
.entry-pager.-white li a span {
  color: #333;
  background: #fff;
}
.entry-pager.-white li a:hover span {
  color: #fff;
  background: #1a74ad;
}

.entry-nav {
  position: relative;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  margin: 40px 0 0;
  padding: 10px 0;
  font-size: 0.88em;
  overflow: hidden;
  min-height: 1.7em;
}
.entry-nav a {
  color: #666;
  text-decoration: none;
}
.entry-nav .previous {
  float: right;
}
.entry-nav .previous a {
  color: #333;
}
.entry-nav .previous a::after {
  display: inline-block;
  content: "";
  width: 8px;
  height: 8px;
  background: url(../images/arrow_b.svg) no-repeat 0 0;
  background-size: 8px 8px;
  vertical-align: middle;
  margin-left: 10px;
}
.entry-nav .index {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
}
.entry-nav .index a {
  color: #333;
}
.entry-nav .next {
  float: left;
}
.entry-nav .next a {
  color: #333;
}
.entry-nav .next a::before {
  display: inline-block;
  content: "";
  width: 8px;
  height: 8px;
  background: url(../images/arrow_b.svg) no-repeat 0 0;
  background-size: 8px 8px;
  vertical-align: middle;
  transform: rotate(180deg);
  margin-right: 10px;
}

.entry-social {
  display: flex;
  justify-content: center;
  margin: 2em 0 0;
}
.entry-social > li {
  margin: 0 0.63em;
}
.entry-social > li a {
  display: inline-block;
  background: #DDD;
  width: 3em;
  height: 3em;
  border-radius: 50% 50%;
  text-indent: -9999px;
  transition: all 0.2s;
}
.entry-social > li a.facebook {
  background: transparent url(../images/ico_facebook.svg) no-repeat 50% 50%;
  background-size: 1.5em 1.5em;
  border: 1px solid #3b5998;
}
.entry-social > li a.facebook:hover {
  background-color: #3b5998;
  background-image: url(../images/ico_facebook_white.svg);
}
.entry-social > li a.twitter {
  background: transparent url(../images/ico_twitter.svg) no-repeat 50% 50%;
  background-size: 1.5em 1.5em;
  border: 1px solid #55acee;
}
.entry-social > li a.twitter:hover {
  background-color: #55acee;
  background-image: url(../images/ico_twitter_white.svg);
}
.entry-social > li a.line {
  background: transparent url(../images/ico_line.svg) no-repeat 50% 50%;
  background-size: 1.5em 1.5em;
  border: 1px solid #00B900;
}
.entry-social > li a.line:hover {
  background-color: #00B900;
  background-image: url(../images/ico_line_white.svg);
}

.entry-form {
  border: 5px solid #EEE;
  margin-top: 40px;
  padding: 30px 30px 10px;
}
@media only screen and (max-width: 767px) {
  .entry-form {
    padding: 15px;
  }
}
.entry-form > .title {
  text-align: center;
  font-size: 1.13em;
  font-weight: bold;
  margin-bottom: 1em;
}
.entry-form .form-table:not(.-confirm) {
  margin-bottom: 10px;
}
.entry-form .form-table:not(.-confirm) tr:last-child th, .entry-form .form-table:not(.-confirm) tr:last-child td {
  border-bottom: 0;
}
.entry-form .form-table:not(.-confirm) + p {
  font-size: 0.88em;
}

/**************************************************
  Magazine
***************************************************/
/* -----------------------------------------------
  Partials
-------------------------------------------------- */
#magazine .header-wrap {
  position: fixed;
  height: 149px;
  background: #fff;
  z-index: 999;
  width: 100%; }
  #magazine .header-wrap.fixed {
    height: 80px;
    transition: all 0.3s; }
    #magazine .header-wrap.fixed .magazine-header {
      height: 80px;
      padding: 5px 40px;
      transition: all 0.3s; }
      #magazine .header-wrap.fixed .magazine-header .logo {
        top: 5px;
        transition: all 0.3s; }
#magazine .magazine-header {
  width: 1200px;
  height: 149px;
  padding: 40px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#magazine .magazine-header .logo {
  position: absolute;
  top: 40px;
  left: calc((100% - 348px) / 2);
}
#magazine .magazine-header .summary, #magazine .magazine-header .main-site {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 0;
}
#magazine .magazine-header .link {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#magazine .magazine-header .link .main-site {
  position: relative;
  padding-right: 20px;
}
#magazine .magazine-header .link .main-site a {
  display: block;
  text-decoration: none;
}
#magazine .magazine-header .link .main-site a::before {
  content: "";
  background: url(../magazine/images/ico_arrow.svg) no-repeat 0 0;
  background-size: 5px 8px;
  width: 5px;
  height: 8px;
  margin-right: 4px;
  display: inline-block;
  vertical-align: middle;
}
#magazine .magazine-header .link .main-site a::after {
  content: "";
  background: url(../magazine/images/ico_external.svg?v=2) no-repeat 0 0;
  background-size: 10px 10px;
  width: 10px;
  height: 10px;
  margin-left: 6px;
  display: inline-block;
  vertical-align: middle;
}
#magazine .magazine-header .link .main-site::after {
  content: "";
  top: 50%;
  right: 0;
  transform: translateY(-10px);
  position: absolute;
  width: 1px;
  height: 20px;
  background: #dddddd;
}
#magazine .magazine-header .link .sns-link {
  display: flex;
  align-items: center;
}
#magazine .magazine-header .link .sns-link li {
  display: block;
  margin-left: 15px;
}
#magazine .magazine-header .link .sns-link li a {
  display: block;
}
#magazine .magazine-header .link .sns-link li a img {
  vertical-align: middle;
}
#magazine .magazine-header .link .sns-link li:first-child {
  margin-left: 20px;
}
#magazine .magazine-content {
  background: #f3f4f5;
  padding-top: 149px;
}
#magazine .magazine-content > .inner {
  width: 1200px;
  padding: 50px 40px 40px;
  margin: 0 auto;
  box-sizing: border-box;
}
#magazine .magazine-content .latest-issue {
  position: relative;
}
#magazine .magazine-content .latest-issue .latest-issue-cover {
  width: 1220px;
  margin: 0 auto;
  position: absolute;
  top: calc((100% - 345px) / 2);
  left: calc((100% - 1220px) / 2);
  pointer-events: none;
}
#magazine .magazine-content .latest-issue .latest-issue-cover a {
  pointer-events:painted;
}
#magazine .magazine-content .latest-issue .latest-issue-cover img {
  border: 1px solid #eee;
}
#magazine .magazine-content .latest-issue .head {
  background: #1a74ad;
  color: #fff;
}
#magazine .magazine-content .latest-issue .head > .inner {
  width: 1200px;
  padding: 50px 40px 30px 275px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
#magazine .magazine-content .latest-issue .head > .inner .index {
  text-align: center;
  position: relative;
  padding-right: 40px;
  margin-right: 40px;
}
#magazine .magazine-content .latest-issue .head > .inner .index .sub {
  font-weight: bold;
}
#magazine .magazine-content .latest-issue .head > .inner .index .number {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 55px;
  font-weight: 300;
  line-height: 1;
}
#magazine .magazine-content .latest-issue .head > .inner .index .latest {
  font-weight: bold;
  margin-bottom: 0;
}
#magazine .magazine-content .latest-issue .head > .inner .index::after {
  content: "";
  top: 50%;
  right: 0;
  transform: translateY(-50px);
  position: absolute;
  width: 1px;
  height: 100px;
  background: #fff;
}
#magazine .magazine-content .latest-issue .head > .inner .overview {
  flex: 1;
  display: flex;
  align-items: center;
}
#magazine .magazine-content .latest-issue .head > .inner .overview .lead {
  flex: 1;
  font-size: 15px;
  margin-bottom: 0;
}
#magazine .magazine-content .latest-issue .head > .inner .overview .ico-free {
  margin: 0 0 0 30px;
}
#magazine .magazine-content .latest-issue .foot {
  background: #fff;
}
#magazine .magazine-content .latest-issue .foot > .inner {
  width: 1200px;
  padding: 30px 40px 50px 275px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
}
#magazine .magazine-content .latest-issue .foot > .inner .text {
  flex: 1;
}
#magazine .magazine-content .latest-issue .foot > .inner .text .column {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#magazine .magazine-content .latest-issue .foot > .inner .text .column .sub span {
  display: block;
}
#magazine .magazine-content .latest-issue .foot > .inner .text .column .sub span.label {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 600;
  color: #1a74ad;
  font-size: 12px;
  line-height: 1;
}
#magazine .magazine-content .latest-issue .foot > .inner .text .column .sub span.cover {
  font-weight: bold;
}
#magazine .magazine-content .latest-issue .foot > .inner .text .column .title {
  font-size: 30px;
  font-weight: bold;
  color: #f16598;
  margin-left: 20px;
}
#magazine .magazine-content .latest-issue .foot > .inner .text .lead {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 0;
}
#magazine .magazine-content .latest-issue .foot > .inner .photo {
  margin-left: 30px;
}
#magazine .magazine-footer {
  background: #f3f4f5;
  padding: 40px 0;
  text-align: center;
}
#magazine .magazine-footer > .copyright {
  margin: 15px 0 0;
  color: #585858;
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  #magazine .header-wrap.fixed .magazine-header {
    display: flex;
    justify-content: space-between;
    padding: 5px 15px; }
    #magazine .header-wrap.fixed .magazine-header .summary {
      display: none; }
    #magazine .header-wrap.fixed .magazine-header .logo {
      position: relative;
      width: 47%; }
      #magazine .header-wrap.fixed .magazine-header .logo img {
        width: 100%; }
    #magazine .header-wrap.fixed .magazine-header .link {
      flex-direction: column; }
      #magazine .header-wrap.fixed .magazine-header .link .main-site {
        padding: 0;
        margin-bottom: 5px; }
        #magazine .header-wrap.fixed .magazine-header .link .main-site::after {
          display: none; }
        #magazine .header-wrap.fixed .magazine-header .link .main-site a::before {
          display: none; }
        #magazine .header-wrap.fixed .magazine-header .link .main-site a::after {
          display: none; }
      #magazine .header-wrap.fixed .magazine-header .link .sns-link li {
        margin: 0 5px; }
  #magazine .magazine-header {
    width: 100%;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
    display: block;
  }
  #magazine .magazine-header .logo {
    position: relative;
    top: 0;
    left: 0;
    text-align: center;
    margin: 10px auto;
  }
  #magazine .magazine-header .logo img {
    max-width: 260px;
  }
  #magazine .magazine-header .summary, #magazine .magazine-header .main-site {
    font-size: 12px;
    text-align: center;
  }
  #magazine .magazine-header .link {
    justify-content: center;
  }
  #magazine .magazine-content > .inner {
    width: 100%;
    padding: 30px 20px;
  }
  #magazine .magazine-content .latest-issue {
    position: relative;
  }
  #magazine .magazine-content .latest-issue .latest-issue-cover {
    width: 100%;
    margin: 0 auto -40px;
    position: relative;
    top: 0;
    left: 0;
    text-align: center;
  }
  #magazine .magazine-content .latest-issue .head > .inner {
    width: 100%;
    padding: 60px 20px 30px;
    display: block;
  }
  #magazine .magazine-content .latest-issue .head > .inner .index {
    padding-right: 0;
    margin-right: 0;
  }
  #magazine .magazine-content .latest-issue .head > .inner .index .latest {
    margin-bottom: 20px;
  }
  #magazine .magazine-content .latest-issue .head > .inner .index::after {
    display: none;
  }
  #magazine .magazine-content .latest-issue .head > .inner .overview {
    display: block;
  }
  #magazine .magazine-content .latest-issue .head > .inner .overview .lead {
    font-size: 14px;
  }
  #magazine .magazine-content .latest-issue .head > .inner .overview .ico-free {
    display: none;
  }
  #magazine .magazine-content .latest-issue .foot > .inner {
    width: 100%;
    padding: 30px 20px;
    display: block;
  }
  #magazine .magazine-content .latest-issue .foot > .inner .text .column {
    flex-direction: column;
    align-items: flex-start;
  }
  #magazine .magazine-content .latest-issue .foot > .inner .text .column .title {
    font-size: 24px;
    margin-left: 0;
  }
  #magazine .magazine-content .latest-issue .foot > .inner .text .lead {
    font-size: 14px;
    margin-bottom: 20px;
  }
  #magazine .magazine-content .latest-issue .foot > .inner .photo {
    margin: 0 auto;
    text-align: center;
  }
  #magazine .magazine-footer {
    padding: 30px 20px;
  }
}

/* -----------------------------------------------
  Entry
-------------------------------------------------- */
#magazine .magazine-content > .inner {
  zoom: 1;
}
#magazine .magazine-content > .inner:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}
#magazine .magazine-content > .inner > .entry, #magazine .magazine-content > .inner > .entry-nav {
  width: 840px;
  margin: 0 auto;
}
#magazine .magazine-content > .inner > .primary {
  float: left;
  width: 790px;
  margin-right: 40px;
}
#magazine .magazine-content > .inner > .primary .anchor {
  display: none;
}
#magazine .magazine-content > .inner > .secondary {
  position: relative;
  float: right;
  width: 290px;
  top: 40px;
}
#magazine .magazine-content > .inner > .secondary .secondary-widget .title {
  border-top: 0;
}
#magazine .entry-header {
  border: 0;
  display: flex;
  flex-direction: column;
  padding-top: 0;
}
#magazine .entry-header .meta {
  order: 1;
  margin: 10px 0 0;
  text-align: right;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  #magazine .entry-header .meta {
    display: block;
    text-align: left;
  }
}
#magazine .entry-header .meta .date {
  color: #000;
}
@media only screen and (max-width: 767px) {
  #magazine .entry-header .meta .date {
    display: block;
  }
}
#magazine .entry-header .meta .category-label, #magazine .entry-header .meta .news-list > .item .category, .news-list > .item #magazine .entry-header .meta .category {
  width: auto;
  padding: 0 1em;
}
#magazine .entry-header .title {
  order: 0;
  font-size: 1.88em;
  font-weight: bold;
}
#magazine .h2, #magazine .entry-content h3, .entry-content #magazine h3 {
  font-size: 1.31em;
  background: none;
  padding: 0.5em 0;
  border-top: 0;
  border-bottom: 3px solid #CCC;
}
#magazine .h4, #magazine .entry-content h5, .entry-content #magazine h5 {
  background: transparent;
}
@media only screen and (max-width: 767px) {
  #magazine .magazine-content .breadcrumb {
    padding: 0;
  }
  #magazine .magazine-content > .inner > .entry, #magazine .magazine-content > .inner > .entry-nav {
    width: 100%;
  }
  #magazine .magazine-content > .inner .entry-nav {
    padding: 10px 0 30px;
    margin: 20px 0 0;
    font-size: 0.75em;
  }
  #magazine .magazine-content > .inner .entry-nav .index {
    text-align: center;
  }
  #magazine .magazine-content > .inner .entry-social {
    margin: 20px 0;
  }
  #magazine .magazine-content > .inner > .primary {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  #magazine .magazine-content > .inner > .secondary {
    float: none;
    width: 100%;
    top: 0;
  }
  #magazine .magazine-content > .inner > .secondary .secondary-widget {
    margin-bottom: 20px;
  }
  #magazine .entry-header {
    margin-bottom: 0;
  }
  #magazine .entry-header .title {
    font-size: 1.5em;
  }
  #magazine .h2, #magazine .entry-content h3, .entry-content #magazine h3 {
    font-size: 1.13em;
  }
  #magazine .box-a .column-media-left,
#magazine .box-a .column-media-right {
    float: none;
    margin: 0 auto 20px;
    text-align: center;
  }
}

/* -----------------------------------------------
  Secondary
-------------------------------------------------- */
.secondary-article-list {
  margin-top: 15px;
}
.secondary-article-list > .item {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #DDD;
}

.article-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-decoration: none;
}
.article-card:hover {
  color: #1a74ad;
}
.article-card > .image {
  width: 100px;
  flex-shrink: 0;
  margin-right: 10px;
}

.secondary-search {
  position: relative;
}
.secondary-search .search-button {
  position: absolute;
  right: 1em;
  top: 1em;
  border: 0;
  padding: 0;
  text-indent: -9999px;
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_search_black.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
}

/* -----------------------------------------------
  Components
-------------------------------------------------- */
.category-list {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}
.category-list > li a {
  text-decoration: none;
  font-weight: bold;
  padding-bottom: 0.5em;
  border-bottom: 3px solid transparent;
}
.category-list > li a:hover {
  color: #1a74ad;
}
.category-list > li a:hover, .category-list > li a.-current {
  border-bottom: 3px solid #1a74ad;
}
.category-list > li::after {
  content: "／";
  padding-left: 1em;
  margin-right: 1em;
}
.category-list > li:last-child::after {
  display: none;
}

@media only screen and (max-width: 767px) {
  .category-list {
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
}
.article-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0 -20px -40px;
}
.article-list .article {
  width: 25%;
  padding: 0 20px;
  box-sizing: border-box;
  margin-bottom: 40px;
  position: relative;
  display: flex;
}
.article-list .article a {
  position: relative;
  display: block;
  height: 100%;
  background: #fff;
  text-decoration: none;
}
.article-list .article a .thumb img {
  width: 100%;
  height: auto;
}
.article-list .article a .text {
  padding: 20px;
}
.article-list .article a .text .label {
  font-size: 13px;
  font-weight: bold;
  color: #1a74ad;
}
.article-list .article a .text .title {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 40px;
}
.article-list .article a .text .sub {
  font-size: 14px;
  display: flex;
  justify-content: flex-end;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 400;
  position: absolute;
  right: 20px;
  bottom: 20px;
}
.article-list .article a .text .sub > li::after {
  content: "／";
  padding-left: 0.2em;
  margin-right: 0.2em;
}
.article-list .article a .text .sub > li:last-child::after {
  display: none;
}
.article-list .article a:link .text, .article-list .article a:visited .text, .article-list .article a:hover .text, .article-list .article a:active .text {
  color: #000;
}

@media only screen and (max-width: 767px) {
  .article-list {
    margin-bottom: -10px;
  }
  .article-list .article {
    width: 100%;
    margin-bottom: 10px;
  }
  .article-list .article a {
    display: flex;
    width: 100%;
    min-height: 134px;
    flex-direction: row;
    align-items: stretch;
  }
  .article-list .article a .thumb {
    position: relative;
    width: 40%;
    flex-shrink: 0;
    overflow: hidden;
  }
  .article-list .article a .thumb img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
    max-width: none;
  }
  .article-list .article a .text {
    padding: 10px 15px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .article-list .article a .text .label {
    font-size: 12px;
  }
  .article-list .article a .text .title {
    font-size: 15px;
    margin-bottom: 20px;
  }
  .article-list .article a .text .sub {
    font-size: 12px;
    right: 10px;
    bottom: 10px;
  }
  .article-list::after {
    width: calc((100% - 20px) / 2);
  }
}
.new-post .post {
  display: inline-block;
  padding: 50px 0 0;
  margin: 0 25px;
  outline: none;
  opacity: 0.5;
}
.new-post .post a {
  width: 800px;
  margin: 0 auto;
  display: flex;
  text-decoration: none;
  transition: all 0.3s;
}
.new-post .post a .cover {
  position: relative;
}
.new-post .post a .text {
  background: #fff;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px;
}
@media only screen and (max-width: 767px) {
  .new-post .post a .text {
    align-items: flex-start;
  }
}
.new-post .post a .text .inner {
  position: relative;
}
.new-post .post a .text .inner .sub {
  display: flex;
  align-items: center;
}
.new-post .post a .text .inner .sub .number {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
  font-size: 18px;
  position: relative;
  padding-right: 20px;
}
.new-post .post a .text .inner .sub .number::after {
  content: "";
  top: 50%;
  right: 0;
  transform: translateY(-7px);
  position: absolute;
  width: 1px;
  height: 14px;
  background: #b3b3b3;
}
.new-post .post a .text .inner .sub .category {
  font-size: 14px;
  font-weight: bold;
  margin-left: 20px;
}
.new-post .post a .text .inner .title {
  font-size: 28px;
  color: #2078b0;
  font-weight: bold;
  margin-bottom: 16px;
}
.new-post .post a .text .inner .lead {
  line-height: 2;
  margin-bottom: 0;
  color: #333;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.new-post .post a .text .inner .more {
  position: absolute;
  right: 0;
  bottom: 0.1em;
  background: #fff;
  margin-bottom: 0;
  color: #333;
}
.new-post .post a .text .inner .more span {
  text-decoration: underline;
}
.new-post .post a:hover {
  color: #333;
  opacity: 0.8;
}
.new-post .post a:hover .text .inner .more span {
  color: #e90000;
  transition: all 0.3s;
}
.new-post .post.slick-center {
  opacity: 1 !important;
}
.new-post .slick-prev, .new-post .slick-next {
  width: 60px;
  position: absolute;
  top: calc((100% - 60px) / 2);
  z-index: 2;
  cursor: pointer;
}
.new-post .slick-prev {
  text-align: left;
  left: calc((100% - 1020px) / 2);
}
.new-post .slick-next {
  text-align: right;
  right: calc((100% - 1020px) / 2);
}
.new-post::after {
  content: "";
  background: url(../magazine/images/ico_new.png) no-repeat 0 0;
  background-size: 122px 122px;
  width: 842px;
  height: 122px;
  position: absolute;
  top: 39px;
  left: calc((100% - 842px) / 2);
  pointer-events: none;
}

@media only screen and (max-width: 767px) {
  .new-post {
    overflow: hidden;
  }
  .new-post .post {
    padding: 30px 0 0;
    margin: 0 10px;
  }
  .new-post .post a {
    width: 100%;
    display: block;
  }
  .new-post .post a .text {
    padding: 20px;
  }
  .new-post .post a .text .inner .sub .number {
    font-size: 16px;
    padding-right: 10px;
  }
  .new-post .post a .text .inner .sub .category {
    font-size: 12px;
    margin-left: 10px;
  }
  .new-post .post a .text .inner .title {
    font-size: 21px;
    margin-bottom: 4px;
  }
  .new-post .post a .text .inner .lead {
    font-size: 12px;
    line-height: 1.8;
  }
  .new-post .post a .text .inner .more {
    font-size: 12px;
  }
  .new-post .slick-prev, .new-post .slick-next {
    width: 100%;
    top: calc((100% - 1px) / 2);
    left: 0;
  }
  .new-post .slick-prev img, .new-post .slick-next img {
    max-width: 40px;
  }
  .new-post::after {
    background-size: 60px 60px;
    width: 100%;
    height: 60px;
    top: 28px;
    left: calc((100% - 260px) / 2);
  }
}
/**************************************************
  Director_blog
***************************************************/
/* -----------------------------------------------
  Partials
-------------------------------------------------- */
#director_blog .director_blog-header {
  width: 1200px;
  height: 149px;
  padding: 40px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#director_blog .director_blog-header .logo {
  position: absolute;
  top: 17px;
  left: calc((100% - 348px) / 2);
}
#director_blog .director_blog-header .summary, #director_blog .director_blog-header .main-site {
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 0 100px;
}
#director_blog .director_blog-header .link {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#director_blog .director_blog-header .link .main-site {
  position: relative;
  padding-right: 20px;
}
#director_blog .director_blog-header .link .main-site a {
  display: block;
  text-decoration: none;
}
#director_blog .director_blog-header .link .main-site a::before {
  content: "";
  background: url(../director_blog/images/ico_arrow.svg) no-repeat 0 0;
  background-size: 5px 8px;
  width: 5px;
  height: 8px;
  margin-right: 4px;
  display: inline-block;
  vertical-align: middle;
}
#director_blog .director_blog-header .link .main-site a::after {
  content: "";
  background: url(../director_blog/images/ico_external.svg?v=2) no-repeat 0 0;
  background-size: 10px 10px;
  width: 10px;
  height: 10px;
  margin-left: 6px;
  display: inline-block;
  vertical-align: middle;
}
#director_blog .director_blog-header .link .main-site::after {
  content: "";
  top: 50%;
  right: 0;
  transform: translateY(-10px);
  position: absolute;
  width: 1px;
  height: 20px;
  background: #dddddd;
}
#director_blog .director_blog-header .link .sns-link {
  display: flex;
  align-items: center;
}
#director_blog .director_blog-header .link .sns-link li {
  display: block;
  margin-left: 15px;
}
#director_blog .director_blog-header .link .sns-link li a {
  display: block;
}
#director_blog .director_blog-header .link .sns-link li a img {
  vertical-align: middle;
}
#director_blog .director_blog-header .link .sns-link li:first-child {
  margin-left: 20px;
}
#director_blog .entry-pager {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
}
#director_blog .director_blog-content {
  background: #f3f4f5;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
#director_blog .director_blog-content > .inner {
  width: 1200px;
  padding: 50px 40px 40px;
  margin: 0 auto;
  box-sizing: border-box;
}
#director_blog .director_blog-content .latest-issue {
  position: relative;
}
#director_blog .director_blog-content .latest-issue .latest-issue-cover {
  width: 1220px;
  margin: 0 auto;
  position: absolute;
  top: calc((100% - 345px) / 2);
  left: calc((100% - 1220px) / 2);
  pointer-events: none;
}
#director_blog .director_blog-content .latest-issue .latest-issue-cover img {
  border: 1px solid #eee;
}
#director_blog .director_blog-content .latest-issue .head {
  background: #989898;
  color: #fff;
}
#director_blog .director_blog-content .latest-issue .head > .inner {
  width: 1200px;
  padding: 50px 40px 30px 275px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
#director_blog .director_blog-content .latest-issue .head > .inner .index {
  text-align: center;
  position: relative;
  padding-right: 40px;
  margin-right: 40px;
}
#director_blog .director_blog-content .latest-issue .head > .inner .index .sub {
  font-weight: bold;
}
#director_blog .director_blog-content .latest-issue .head > .inner .index .number {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 55px;
  font-weight: 300;
  line-height: 1;
}
#director_blog .director_blog-content .latest-issue .head > .inner .index .latest {
  font-weight: bold;
  margin-bottom: 0;
}
#director_blog .director_blog-content .latest-issue .head > .inner .index::after {
  content: "";
  top: 50%;
  right: 0;
  transform: translateY(-50px);
  position: absolute;
  width: 1px;
  height: 100px;
  background: #fff;
}
#director_blog .director_blog-content .latest-issue .head > .inner .overview {
  flex: 1;
  display: flex;
  align-items: center;
}
#director_blog .director_blog-content .latest-issue .head > .inner .overview .lead {
  flex: 1;
  font-size: 15px;
  margin-bottom: 0;
}
#director_blog .director_blog-content .latest-issue .head > .inner .overview .ico-free {
  margin: 0 0 0 30px;
}
#director_blog .director_blog-content .latest-issue .foot {
  background: #fff;
}
#director_blog .director_blog-content .latest-issue .foot > .inner {
  width: 1200px;
  padding: 30px 40px 50px 275px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
}
#director_blog .director_blog-content .latest-issue .foot > .inner .text {
  flex: 1;
}
#director_blog .director_blog-content .latest-issue .foot > .inner .text .column {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#director_blog .director_blog-content .latest-issue .foot > .inner .text .column .sub span {
  display: block;
}
#director_blog .director_blog-content .latest-issue .foot > .inner .text .column .sub span.label {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 600;
  color: #989898;
  font-size: 12px;
  line-height: 1;
}
#director_blog .director_blog-content .latest-issue .foot > .inner .text .column .sub span.cover {
  font-weight: bold;
}
#director_blog .director_blog-content .latest-issue .foot > .inner .text .column .title {
  font-size: 30px;
  font-weight: bold;
  color: #f16598;
  margin-left: 20px;
}
#director_blog .director_blog-content .latest-issue .foot > .inner .text .lead {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 0;
}
#director_blog .director_blog-content .latest-issue .foot > .inner .photo {
  margin-left: 30px;
}
#director_blog .director_blog-footer {
  background: #f3f4f5;
  padding: 40px 0;
  text-align: center;
}
#director_blog .director_blog-footer > .copyright {
  margin: 15px 0 0;
  color: #585858;
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  #director_blog .director_blog-header {
    width: 100%;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
    display: block;
  }
  #director_blog .director_blog-header .logo {
    position: relative;
    top: 0;
    left: 0;
    text-align: center;
    margin: 10px auto;
  }
  #director_blog .director_blog-header .logo img {
    max-width: 260px;
  }
  #director_blog .director_blog-header .summary, #director_blog .director_blog-header .main-site {
    font-size: 12px;
    text-align: center;
    margin: 0;
  }
  #director_blog .director_blog-header .link {
    justify-content: center;
  }
  #director_blog .director_blog-content > .inner {
    width: 90%;
    padding: 30px 20px;
  }
  #director_blog .director_blog-content .latest-issue {
    position: relative;
  }
  #director_blog .director_blog-content .latest-issue .latest-issue-cover {
    width: 100%;
    margin: 0 auto -40px;
    position: relative;
    top: 0;
    left: 0;
    text-align: center;
  }
  #director_blog .director_blog-content .latest-issue .head > .inner {
    width: 100%;
    padding: 60px 20px 30px;
    display: block;
  }
  #director_blog .director_blog-content .latest-issue .head > .inner .index {
    padding-right: 0;
    margin-right: 0;
  }
  #director_blog .director_blog-content .latest-issue .head > .inner .index .latest {
    margin-bottom: 20px;
  }
  #director_blog .director_blog-content .latest-issue .head > .inner .index::after {
    display: none;
  }
  #director_blog .director_blog-content .latest-issue .head > .inner .overview {
    display: block;
  }
  #director_blog .director_blog-content .latest-issue .head > .inner .overview .lead {
    font-size: 14px;
  }
  #director_blog .director_blog-content .latest-issue .head > .inner .overview .ico-free {
    display: none;
  }
  #director_blog .director_blog-content .latest-issue .foot > .inner {
    width: 100%;
    padding: 30px 20px;
    display: block;
  }
  #director_blog .director_blog-content .latest-issue .foot > .inner .text .column {
    flex-direction: column;
    align-items: flex-start;
  }
  #director_blog .director_blog-content .latest-issue .foot > .inner .text .column .title {
    font-size: 24px;
    margin-left: 0;
  }
  #director_blog .director_blog-content .latest-issue .foot > .inner .text .lead {
    font-size: 14px;
    margin-bottom: 20px;
  }
  #director_blog .director_blog-content .latest-issue .foot > .inner .photo {
    margin: 0 auto;
    text-align: center;
  }
  #director_blog .director_blog-footer {
    padding: 30px 20px;
  }
}

/* -----------------------------------------------
  Entry
-------------------------------------------------- */
#director_blog .director_blog-content > .inner {
  zoom: 1;
}
#director_blog .director_blog-content > .inner:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}
#director_blog .director_blog-content > .inner > .entry, #director_blog .director_blog-content > .inner > .entry-nav {
  width: 840px;
  margin: 0 auto;
}
#director_blog .director_blog-content > .inner > .primary {
  float: left;
  width: 790px;
  margin-right: 40px;
}
#director_blog .director_blog-content > .inner > .primary .anchor {
  display: none;
}
#director_blog .director_blog-content > .inner > .secondary {
  position: relative;
  float: right;
  width: 290px;
  top: 40px;
}
#director_blog .director_blog-content > .inner > .secondary .secondary-widget .title {
  border-top: 0;
}
#director_blog .entry-header {
  border: 0;
  display: flex;
  flex-direction: column;
  padding-top: 0;
}
#director_blog .entry-header .meta {
  order: 1;
  margin: 10px 0 0;
  text-align: right;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  #director_blog .entry-header .meta {
    display: block;
    text-align: left;
  }
}
#director_blog .entry-header .meta .date {
  color: #000;
}
@media only screen and (max-width: 767px) {
  #director_blog .entry-header .meta .date {
    display: block;
  }
}
#director_blog .entry-header .meta .category-label, #director_blog .entry-header .meta .news-list > .item .category, .news-list > .item #director_blog .entry-header .meta .category {
  width: auto;
  padding: 0 1em;
}
#director_blog .entry-header .title {
  order: 0;
  font-size: 1.88em;
  font-weight: bold;
}
#director_blog .h2, #director_blog .entry-content h3, .entry-content #director_blog h3 {
  font-size: 1.31em;
  background: none;
  padding: 0.5em 0;
  border-top: 0;
  border-bottom: 3px solid #CCC;
}
#director_blog .h4, #director_blog .entry-content h5, .entry-content #director_blog h5 {
  background: transparent;
}
@media only screen and (max-width: 767px) {
  #director_blog .director_blog-content .breadcrumb {
    padding: 0;
  }
  #director_blog .director_blog-content > .inner > .entry, #director_blog .director_blog-content > .inner > .entry-nav {
    width: 100%;
  }
  #director_blog .director_blog-content > .inner .entry-nav {
    padding: 10px 0 30px;
    margin: 20px 0 0;
    font-size: 0.75em;
  }
  #director_blog .director_blog-content > .inner .entry-nav .index {
    text-align: center;
  }
  #director_blog .director_blog-content > .inner .entry-social {
    margin: 20px 0;
  }
  #director_blog .director_blog-content > .inner > .primary {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  #director_blog .director_blog-content > .inner > .secondary {
    float: none;
    width: 100%;
    top: 0;
  }
  #director_blog .director_blog-content > .inner > .secondary .secondary-widget {
    margin-bottom: 20px;
  }
  #director_blog .entry-header {
    margin-bottom: 0;
  }
  #director_blog .entry-header .title {
    font-size: 1.5em;
  }
  #director_blog .h2, #director_blog .entry-content h3, .entry-content #director_blog h3 {
    font-size: 1.13em;
  }
  #director_blog .box-a .column-media-left,
#director_blog .box-a .column-media-right {
    float: none;
    margin: 0 auto 20px;
    text-align: center;
  }
}

/* -----------------------------------------------
  Secondary
-------------------------------------------------- */
.director_blog-content .secondary-article-list {
  margin-top: 15px;
}
.director_blog-content .secondary-article-list > .item {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #DDD;
}
.director_blog-content .article-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-decoration: none;
}
.director_blog-content .article-card:hover {
  color: #989898;
}
.director_blog-content .article-card > .image {
  width: 100px;
  flex-shrink: 0;
  margin-right: 10px;
}
.director_blog-content .secondary-search {
  position: relative;
}
.director_blog-content .secondary-search .search-button {
  position: absolute;
  right: 1em;
  top: 1em;
  border: 0;
  padding: 0;
  text-indent: -9999px;
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/ico_search_black.svg) no-repeat 0 0;
  background-size: 18px 18px;
  vertical-align: middle;
}

/* -----------------------------------------------
  Components
-------------------------------------------------- */
.director_blog-content .category-list {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}
.director_blog-content .category-list > li a {
  text-decoration: none;
  font-weight: bold;
  padding-bottom: 0.5em;
  border-bottom: 3px solid transparent;
}
.director_blog-content .category-list > li a:hover {
  color: #989898;
}
.director_blog-content .category-list > li a:hover, .director_blog-content .category-list > li a.-current {
  border-bottom: 3px solid #989898;
}
.director_blog-content .category-list > li::after {
  content: "／";
  padding-left: 1em;
  margin-right: 1em;
}
.director_blog-content .category-list > li:last-child::after {
  display: none;
}

@media only screen and (max-width: 767px) {
  .category-list {
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
}
.director_blog-content .article-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0 -20px -40px;
}
.director_blog-content .article-list .article {
  width: 100%;
  padding: 0px 0px;
  box-sizing: border-box;
  margin-bottom: 30px;
  position: relative;
  display: flex;
  background-color: #FFF;
}
.director_blog-content .article-list .article a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  text-decoration: none;
}
.director_blog-content .article-list .article a .thumb {
  float: left;
  margin: 0;
}
.director_blog-content .article-list .article a .thumb img {
  width: 220px;
  height: 130px;
}
.director_blog-content .article-list .article a .text {
  padding: 20px 40px 0 250px;
}
.director_blog-content .article-list .article a .text .label {
  font-size: 13px;
  font-weight: bold;
  color: #989898;
}
.director_blog-content .article-list .article a .text .title {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 40px;
}
.director_blog-content .article-list .article a .text .sub {
  font-size: 14px;
  display: flex;
  justify-content: flex-end;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 400;
  position: abusolute !important;
  right: auto !important;
  bottom: 20px;
}
.director_blog-content .article-list .article a .text .sub > li::after {
  content: "／";
  padding-left: 0.2em;
  margin-right: 0.2em;
}
.director_blog-content .article-list .article a .text .sub > li::after:last-child::after {
  display: none;
}
.director_blog-content .article-list .article a .text:link .text, .director_blog-content .article-list .article a .text:visited .text, .director_blog-content .article-list .article a .text:hover .text, .director_blog-content .article-list .article a .text:active .text {
  color: #000;
}
.director_blog-content .article-list .article::after {
  content: "";
  background: url(../director_blog/images/ico_arrow.svg) no-repeat 0 0;
  background-size: 5px 8px;
  width: 5px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 2%;
}

@media only screen and (max-width: 767px) {
  .director_blog-content .article-list {
    margin-bottom: -10px;
  }
  .director_blog-content .article-list .article {
    width: 100%;
    margin-bottom: 10px;
  }
  .director_blog-content .article-list .article a {
    display: flex;
    width: 100%;
    min-height: 134px;
    flex-direction: row;
    align-items: stretch;
  }
  .director_blog-content .article-list .article a .thumb {
    position: relative;
    width: 40%;
    flex-shrink: 0;
    overflow: hidden;
  }
  .director_blog-content .article-list .article a .thumb img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
    max-width: none;
  }
  .director_blog-content .article-list .article a .text {
    padding: 10px 15px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .director_blog-content .article-list .article a .text .label {
    font-size: 12px;
  }
  .director_blog-content .article-list .article a .text .title {
    font-size: 15px;
    margin-bottom: 20px;
  }
  .director_blog-content .article-list .article a .text .sub {
    font-size: 12px;
    right: 10px;
    bottom: 10px;
  }
  .director_blog-content .article-list::after {
    width: calc((100% - 20px) / 2);
  }
}

#outline_not_covered::before {
  content:'';
  display: block;
  padding-top: 150px;
  margin-top: -150px;
}

@media only screen and (max-width: 767px) {

  #outline_not_covered::before {
    content:'';
    display: block;
    padding-top: 80px;
    margin-top: -80px;
  }

}