/* 表示が少ない際にフッターをウィンドウ下部に表示 */
html { min-height: 100%; position: relative; }
html,
body { width: 100%; /* viewport */ }
body { font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-weight: 500; margin-bottom: 132px; -webkit-text-size-adjust: 100%; /* iOSバグ対策 */ }
strong { font-weight: bold; }
a { text-decoration: none; }
a:visited { color: #afafaf; }
a:hover { opacity: .7; transition: .9s; }

/* Wrapper
========================================== */
.wrapper { margin: 0 auto; min-width: 980px; }
.innerWrapper { min-width: 980px; }

/* header
========================================== */
header { background: rgba(255, 255, 255, 0.75); height: 75px; position: fixed; top: 0; width: 100%; z-index: 70; }
.logo { float: left; margin: 23px 0 0; }
.logo a { display: block; }
.logo img { max-width: 342px; }
#globalNav { float: right; margin: 30px 0 0; }
#globalNav li { float: left; margin: 0 0 0 25px; }
#globalNav li a,
#globalNav li a:hover { color: #494b4d; padding: 0 0 3px; }
#globalNav li a { border-bottom: 1px solid rgba(255, 255, 255, 0); }
#globalNav li a:hover { border-bottom: 1px solid rgba(73, 75, 77, 1); opacity: .8; transition: .4s; }
#spMenu { display: none; }
#spMenu { display: none; }
#spMenu li a { color: #333; display: block; line-height: 50px; margin: 0 5%; border-bottom: 1px dotted #CCc; }
#spMenu li.last a { border: none; }
#spMenu li a:visited { color: #333; }
.drawer-open .drawer-hamburger-icon { background-color: transparent !important; }
/*.drawer--top.drawer-open .drawer-nav { top: 60px !important; }*/
.drawer--top.drawer-open .drawer-nav { top: 88px; }

/* footer
====================================== */
footer { bottom: 0; height: 132px; position: absolute; width: 100%; }
#footer { font-size: 0.93em; }
#footer p { margin: 0; }
.footerMain { background: #919191; color: #fff; height: 94px; }
.footerContent { padding: 35px 0 0; }
#footerNav ul { margin: 0; list-style-type: none; }
#footerNav li { float: left; line-height: 1.9; margin: 0 25px 0 0; list-style-type: none; }
#footerNav li a { display: block; color: #fff; }
.footerLogo { float: right; }
.footerLogo a { display: block; }
.footerLogo img { max-width: 342px; }
.footerBottom { background: #525252; color: #efefef; padding: 12px 0; text-align: right; line-height: 1.2; }
.copyright { font-size: 12px; font-weight: 100; }

/* main
=========================================== */
#main { padding-top: 70px; padding-bottom: 1px; }
#main h1 { border-bottom: 1px solid #494b4d; color: #494b4d; font-size: 1.6em; font-weight: bold; margin: 40px 0 40px 0; padding: 0 0 5px 0; }
#main h2 { border-bottom: 1px solid #636363; color: #636363; font-size: 1.3em; font-weight: bold; margin: 0 0 30px; padding: 0 0 5px 0; line-height: 1.4; }
#main h4 { font-weight: bold; margin: 10px 0 10px; }
#main p,
#main li,
#main span,
#main td,
#main th { color: #333; line-height: 2; }
#main p { margin: 0 0 20px; }
#main tr { }
#main th { border: 1px solid #a2a2a2; color: #262626; white-space: nowrap; }
#main td { position: relative; }
#main td,
#main th { padding: 10px; }
#main ol ol { margin-left: 10px; }
#main ul { list-style-type: disc; margin-left: 18px; }

/* section
========================================= */
section { margin-bottom: 50px; }
section table { width: 100%; }

/* column
========================================= */
.col { margin: 0 30px 0 30px; }
.col-left,
.col-right { float: left; width: 50%; }
.col-left section { margin-right: 15px; margin-left: 30px; }
.col-right section { margin-right: 30px; margin-left: 15px; }
.col-left img,
.col-right img { width: 100%; }
.col .col-left { margin-right: 15px; margin-left: 0; width: calc(50% - 15px); }
.col .col-right { margin-right: 0; margin-left: 15px; width: calc(50% - 15px); }
#main .col-nav { margin: 30px 30px 75px; list-style-type: none; }
.col-nav li { float: left; margin: 0 1.25%; text-align: center; width: 18%; }
.col-nav li.first { margin-left: 0; }
.col-nav li.last { margin-right: 0; }
.col-nav li a { display: block; background: #636363; color: #fff; height: 50px; width: 100%; line-height: 50px; text-align: center; }
.col-nav li a:hover { background: #efefef; color: #636363; }

/* sns
======================================= */
.share { list-style-type: none !important; margin-left: 0 !important; padding-bottom: 10px; }
.share li { display: inline-block; vertical-align: top; }
#main .share li { line-height: 0; }
.share .share-fb { font-size: 0; }

/* single
======================================== */
#prevnext { margin: 30px 0; margin-left: 0 !important; padding: 0 0 30px; width: 100%; }
#prevnext .prev { float: left; }
#prevnext .next { float: right; }
#prevnext > li { list-style-type: none; }
#prevnext a { background: #636363; color: #ffffff; font-size: .9em; padding: 5px 14px; }

/* guide
======================================= */
.guide #main h4 { margin: 6px 20px 10px; }
.guide-nav { margin-top: 40px; }
.guide-nav li { float: left; width: 31%; text-align: center; }
.guide-nav li { margin: 0 1.75%; }
.download { text-align: left; }
.download td { border: 1px solid #a2a2a2; }

/* news
========================================= */
.newsWrap { width: 1080px; margin: 0 auto; padding-bottom: 50px; }
.newsWrap h1 { margin: 0 0 50px; padding: 140px 0 0; text-align: center; }
#main .newsList { margin-left: 0; }
#main .newsList li { float: left; font-size: 14px; line-height: 1; margin: 0 9px 40px; overflow: hidden; width: 342px; /* height: 340px; 20180313*/ }
#main .newsList li span { line-height: 1; }
#main .newsList li span p { line-height: 1.5; }
#main .newsList { list-style-type: none; }
.newsList li a { display: block; }
.newsList li img { background-color: #cccccc; min-height: 240px; min-width: 360px; }
#main .newsList li a:hover { transition: none; }
.newsListTitle { color: #252525; display: block; font-size: 1.15em; font-weight: bold; margin: 20px 0 12px; }
.newsListText { color: #313131; font-size: 1em; }
.moreBtn a { background: url(./images/arrow_more.png) 80px 50% no-repeat; border: 1px solid #1b1b1b; color: #1b1b1b; display: block; margin: 0 auto; padding: 20px 0; text-align: center; width: 240px; }
.moreBtn a:hover { background-color: rgba(111, 111, 111, .1); }
#next-page { display: none; }

/* news-article
========================================= */
.content h3 { font-size: 1.3em; font-weight: bold; margin: 30px 0 20px; }
.content p img { width: 100%; height: auto; }
.content a:link { color: #577fbc; text-decoration: underline; }
.content ul { margin-bottom: 14px; }
.content table { margin-bottom: 14px; }
.content table tr { border: none; }
.content table td,
.content table th { border: 1px solid #ccc; }
#main p.meta,
#main p.meta span { color: #888 !important; }
#main p.meta span.article-date { color: #888 !important; }
.category-name a { color: #333; text-decoration: underline; }
.category-name a:visited { color: #333; }
.single-post #main h2 { position: relative; padding-left: 24px; border-bottom: none !important; font-size: 1.72em; color: #000000; }
.single-post #main h2:before { position: absolute; content: ""; background: #000; width: 14px; height: 100%; left: 0; top: -3px; border-radius: 3px 3px 3px 3px; }
.content section:after { visibility: hidden; display: block; content: " "; clear: both; height: 0; }
.single-post .col-right { float: right; }

/* access
=================================================== */
#main .access-info td,
#main .access-info th { padding: 10px 14px 10px 0; text-align: left; }
#main .access-info th,
#main .access-info td { border: none; }
#main .gmap { display: block; }

/* contact
============================================ */
.contactform { margin: 0 30px; }
.contactform label { font-weight: bold; }
.contactform input,
.contactform textarea { border: 0; border: solid 1px #ccc; box-sizing: border-box; color: #888888; font-family: Arial, sans-serif; font-size: 1.3em; margin: 0 0 20px; padding: 10px; width: 100%; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.contactform .your-name .wpcf7-text,
.contactform .wpcf7-email { max-width: 500px; }
.contactform .wpcf7-submit { background: #636363; color: #ffffff; display: block; margin: 0 auto; text-align: center; width: 240px; }
/* 2018/03/21 スパム対策 */
.contactform input[type="checkbox"] {width: 16px; height: 16px; margin: 0 4px 0 0;}
span.wpcf7-acceptance span.wpcf7-list-item {margin: 0;}

/* util
========================================= */
.clearfix:after { visibility: hidden; display: block; content: " "; clear: both; height: 0; }
a.pdf,
a.word { position: relative; color: #777; text-decoration: underline; margin-right: 40px; }
a.pdf:after,
a.word:after { position: absolute; content: ""; color: #333; height: 30px; margin-top: -15px; right: -35px; top: 50%; width: 30px; }
a.pdf:after { background: url(./images/icon_pdf.png) 0 0 no-repeat; background-size: 84%; }
a.word:after { background: url(./images/icon_word.png) 0 0 no-repeat; background-size: 80%; margin-top: -14px; }
.newwindow { background: url(./images/arrow_newwindow.png) center right no-repeat; padding: 5px 20px 5px 0; }
#anchor01,
#anchor02,
#anchor03,
#anchor04,
#anchor05 { margin-top: -90px !important; /* 固定ナビの高さ分のネガティブマージン */ padding-top: 90px !important; /* 打ち消し用のパディング */ }
.nowrap { white-space: nowrap !important; }
.ml20 { margin-left: 20px !important; }
.mb40 { margin-bottom: 40px !important; }
.mt10 { margin-bottom: 10px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.vw40per { width: 40vw; }
.vw43per { width: 43vw; }
.vw50per { width: 50vw; }
.vw60per { width: 60vw; }
.w155__pc { width: 155px; }

/* responsive
========================================== */
@media screen and (min-width:1301px) {
  body { font-size: 1vw; }
  .innerBlock { margin: 0 20px; }
}
@media screen and (max-width:1300px) {
  body { font-size: 14px; }
  .innerBlock { margin: 0 20px; }
  #globalNav { font-size: 1em; }
}
@media screen and (max-width:1080px) {

  /* header */
  .logo img,
  .footerLogo img { max-width: 257px }
  #globalNav { margin-top: 26px; }

  /* col */
  .col-nav li a { font-size: .9em; }
}
@media screen and (max-width:1024px) {
  .newsWrap { width: 980px; }
  #main .newsList li { width: 308px; height: 340px; overflow: visible; }
  #main .newsList li img { min-height: 0; min-width: 0; width: 100%; height: auto; }
}
@media screen and (max-width:980px) {

  /* wrapper */
  .newsWrap { width: 900px; }
  #main .newsList li { width: 282px; height: 300px; }
}
@media screen and (max-width:768px) {

  /* wrapper */
  .wrapper { min-width: 0; width: 100%; }
  .innerWrapper { min-width: 0; width: auto; }
  .innerBlock { min-width: 0; margin: 0 10px; width: auto; }

  /* header */
  header { height: 60px; }
  .logo { margin-top: 15px; max-width: 350px; }
  .logo img { width: 100%; }
  #globalNav { display: none; }
  #spMenu { display: block; }

  /* footer */
  footer { height: 189px; }
  .footerMain { height: auto; }
  .footerContent { padding: 28px 0 0; }
  #footerNav { margin-bottom: 30px; }
  #footerNav:after { visibility: hidden; display: block; content: " "; clear: both; height: 0; }
  .footerLogo { border-top: 1px dotted #ccc; float: none; padding: 20px 0 20px; }
  .footerLogo img { max-width: 350px; }
  .footerBottom { text-align: left; }
  .copyright { font-size: 10px !important; margin-right: 10px; margin-left: 10px; }

  /* main */
  #main { padding-top: 50px; padding-bottom: 70px; }
  #main table { width: 100%; }
  #main table td { margin-bottom: 10px; }

  /* col */
  .col { margin: 0 10px; }
  .col .col-left,
  .col .col-right { width: auto; margin: 0; }
  .col .col-right { margin-top: 30px; margin-bottom: 30px; }
  #main .col-nav { margin: 0 10% 50px; }
  #main .col-nav li { float: none; margin: 0 10px 20px; width: auto; }
  .col-nav li a { font-size: 1em; }
  .col-left,
  .col-right { float: none; width: 100%; }
  .col-left section { margin-right: 10px; margin-left: 10px; }
  .col-right section { margin-right: 10px; margin-left: 10px; }

  /* guide */
  .guide #main h4 { margin: 10px 0 10px; }
  #main .guide-nav { margin: 0 5% 50px; }
  #main .guide-nav { margin-top: 30px; }
  #main .download { margin: 0; }

  /* news-archive */
  #main .newsWrap { width: 100%; }
  .newsWrap h1 { margin-bottom: 46px; }
  #main .newsList li { border-bottom: 1px solid #ccc; float: none; height: auto; margin: 0 auto 40px; max-width: 100%; padding-bottom: 20px; width: 360px; }
  .newsList li img { height: auto; width: 100%; }
  .moreBtn a { max-width: 100%; }

  /* news-article */
  .news-page .col-right { float: none; }
  .content p img { width: 100%; }

  /* util */
  .disp__pc { display: none; }
}
@media screen and (max-width:438px) {

  /* header */
  .logo { margin-top: 18px; max-width: 79%; }

  /* footer */
  .footerLogo img { max-width: 70%; }

  /* main */
  #main { padding-top: 60px; }
  #main img { width: 100%; }
  #main table td,
  #main table th { display: block; }
  #main table th { background: #efefef; border-bottom: none; }

  /* col */
  .col { margin: 0; }
  .col-left section { margin-right: 0px; margin-left: 0px; }
  .col-right section { margin-right: 0px; margin-left: 0px; }

  /* guide */
  .guide-nav li { margin-right: 0px !important; margin-left: 0px !important; }

  /* access */
  #main .access-info th { text-align: center; }
  #main .access-info td,
  #main .access-info th { padding: 10px; }

  /* contact */
  .contactform { margin: 0 10px; }

  /* util */
  .w155__pc { width: auto; }
}

/* 2017/02/22 YouTube レスポンシブ対応 */
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* 2020/02/15 ページの上に戻るリンク追加 */
#page-top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 50px;
  background: #ef3f98;
  opacity: 0.6;
  border-radius: 50%;
  z-index: 1;
}
#page-top a  {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page-top a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f062';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/*--------------------------------------------------------------
2.0 Accessibility
--------------------------------------------------------------*/

/* Text meant only for screen readers. */

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}