﻿@charset "UTF-8";
/**
 * 目次
 *
 * 01. Reset
 * 02. Base
 * 03. Layout
 * 04. Parts
 * 05. Responisive
 *
 */
/* ==========================================================================
   01. Reset
   ========================================================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* ==========================================================================
   02. Base
   ========================================================================== */
html {
  color: #777;
  font-size: 62.5%;
  min-width: 1200px; }

body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 160%;
  line-height: 1.875;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  min-width: 1200px; }

@media screen and (min-width: 768px) and (max-width: 1039px) {
  body {
    overflow-x: scroll; } }
@media screen and (max-width: 767px) {
  html {
    overflow-y: scroll;
    min-width: inherit; }

  body {
    font-size: 140%;
    line-height: 1.5;
    overflow-y: scroll;
    min-width: inherit; }

  .nav-open {
    height: 100%; } }
/* link
   ========================================================================== */
a {
  color: #777;
  text-decoration: none; }

a:visited {
  color: #777;
  text-decoration: none; }

a:hover {
  color: #777;
  text-decoration: underline; }

.link02 {
  color: #1c46a7; }

.link02:visited {
  color: #1c46a7;
  text-decoration: none; }

.link02:hover {
  color: #1c46a7;
  text-decoration: underline; }

.link03 {
  color: #777 !important;
  text-decoration: underline; }

.link03:visited {
  color: #777; }

.link03:hover {
  color: #777; }

/* image
   ========================================================================== */
img {
  line-height: 1.0;
  vertical-align: bottom; }

table th img,
table td img {
  vertical-align: middle; }

/* ClearFix
   ========================================================================== */
.clear {
  clear: both; }

.clearfix,
.fbox,
#contents,
.item-wrap {
  display: block; }
  .clearfix:after,
  .fbox:after,
  #contents:after,
  .item-wrap:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

/* float
   ========================================================================== */
.fr {
  float: right; }

.fl {
  float: left; }

ul.fbox li {
  float: left;
  display: inline; }

/* margin
   ========================================================================== */
.mt0 {
  margin-top: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt55 {
  margin-top: 55px !important; }

.mt60 {
  margin-top: 60px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.mb5 {
  margin-bottom: 5px !important; }

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

.mb15 {
  margin-bottom: 15px !important; }

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

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mr0 {
  margin-right: 0px !important; }

.mr5 {
  margin-right: 5px !important; }

.mr10 {
  margin-right: 10px !important; }

.mr15 {
  margin-right: 15px !important; }

.mr20 {
  margin-right: 20px !important; }

.ml0 {
  margin-left: 0px !important; }

.ml5 {
  margin-left: 5px !important; }

.ml10 {
  margin-left: 10px !important; }

.ml15 {
  margin-left: 15px !important; }

.ml20 {
  margin-left: 20px !important; }

/* padding
   ========================================================================== */
.pt0 {
  padding-top: 0 !important; }

.pb0 {
  padding-bottom: 0 !important; }

/* form label
   ========================================================================== */
input,
textarea,
label {
  vertical-align: middle; }

/* position
   ========================================================================== */
.text-r {
  text-align: right !important; }

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

.text-l {
  text-align: left !important; }

/* ==========================================================================
   03. Layout
   ========================================================================== */
/* wrapper
   ========================================================================== */
/* header
   ========================================================================== */
header {
  margin: 0 auto;
  padding-top: 40px;
  position: relative;
  z-index: 2; }

#header-inner {
  margin: 0 auto;
  position: relative;
  width: 1200px; }

#gnav-wrap {
  position: relative; }
  #gnav-wrap:before {
    background: rgba(88, 118, 185, 0.9);
    content: '';
    display: block;
    height: 100px;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%; }

#gnav-inner {
  margin: 0 auto;
  position: relative;
  width: 1200px; }

#header-logo {
  left: 30px;
  position: absolute;
  top: 30px; }

#gnav {
  padding-left: 212px; }
  #gnav li {
    border-left: 1px solid #899dcc;
    color: #FFF;
    line-height: 1;
    text-align: center;
    width: 163px; }
    #gnav li:last-child {
      border-right: 1px solid #899dcc;
      width: 165px; }
  #gnav a {
    color: #FFF;
    display: block;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease; }
    #gnav a:hover {
      background-color: #5876b9;
      text-decoration: none; }
    #gnav a:visited {
      color: #FFF; }
  #gnav .gnav-parent {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    padding-top: 40px;
    position: relative;
    height: 100px; }
    #gnav .gnav-parent:after {
      background: url(img/gnav_arrow.png) no-repeat center bottom;
      bottom: 10px;
      content: '';
      display: block;
      height: 4px;
      left: 79px;
      position: absolute;
      width: 12px; }

.head-utility-wrap {
  background-color: #f1f1f5;
  font-size: 12px;
  font-size: 1.2rem;
  position: absolute;
  right: 0;
  top: -40px;
  width: 565px; }

.head-utility-list,
.head-srch-btn,
.head-tsushin-btn {
  float: left; }

.head-utility-list {
  display: table;
  table-layout: fixed;
  width: 378px; }
  .head-utility-list li {
    display: table-cell;
    line-height: 1;
    text-align: center;
    vertical-align: middle; }
  .head-utility-list a {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    height: 40px;
    padding-top: 13px; }

.head-srch-btn {
  height: 40px;
  text-align: center;
  width: 46px; }
  .head-srch-btn span {
    background-color: #dcdce6;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
    cursor: pointer;
    display: block;
    height: 40px;
    padding-top: 13px;
    width: 46px; }
    .head-srch-btn span img {
      vertical-align: top; }
    .head-srch-btn span:hover {
      background-color: #5876b9; }

.head-tsushin-btn {
  height: 40px;
  line-height: 1;
  text-align: center;
  width: 141px; }
  .head-tsushin-btn a {
    background-color: #8fa9e3;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
    color: #FFF;
    display: block;
    height: 40px;
    padding-top: 13px; }
    .head-tsushin-btn a:hover {
      background-color: #5876b9;
      text-decoration: none; }

.head-srch-wrap {
  background-color: #dcdce6;
  text-align: center; }

.head-srch-inner {
  padding-bottom: 30px;
  padding-top: 30px; }
  .head-srch-inner legend {
    display: none; }

.head-srch-wrap.pc-item {
  display: none; }

.head-srch-keyword {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #d5d5d5;
  font-size: 16px;
  font-size: 1.6rem;
  margin: 0 auto;
  padding: 5px 7px;
  height: 40px;
  width: 700px; }

.head-srch-submit {
  background-color: #000;
  color: #FFF;
  cursor: pointer;
  font-size: 14px;
  font-size: 1.4rem;
  height: 40px;
  width: 150px; }

#head-target-nav {
  position: absolute;
  left: 72px;
  top: -40px; }
  #head-target-nav li {
    font-size: 12px;
    font-size: 1.2rem;
    display: table-cell;
    line-height: 1;
    padding-right: 20px;
    padding-top: 13px; }

@media screen and (max-width: 767px) {
  header {
    background: rgba(88, 118, 185, 0.9);
    padding-top: 0;
    width: 100%; }

  #header-inner {
    padding-top: 15px;
    width: 100%; }

  #header-logo {
    left: 20px;
    padding-bottom: 10px;
    position: absolute;
    top: 15px;
    height: 35px;
    width: 110px;
    position: relative;
    top: auto; }
    #header-logo a {
      display: block; }

  #head-btn-target {
    position: absolute;
    right: 60px;
    top: 0;
    z-index: 10; }
    #head-btn-target span {
      background-image: url(img/head_btn_target.png);
      background-size: 60px auto;
      background-repeat: no-repeat;
      background-position: left top;
      -webkit-transition: background-position 0.25s ease;
      transition: background-position 0.25s ease;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      zoom: 1;
      display: block;
      height: 60px;
      width: 60px; }

  #head-btn-target.close span {
    background-position: left bottom; }

  #head-btn-menu {
    position: absolute;
    right: 0;
    top: -15px;
    z-index: 10; }
    #head-btn-menu span {
      background-image: url(img/head_btn_menu.png);
      background-size: 60px auto;
      background-repeat: no-repeat;
      background-position: left top;
      -webkit-transition: background-position 0.25s ease;
      transition: background-position 0.25s ease;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      zoom: 1;
      display: block;
      height: 60px;
      width: 60px; }

  #head-btn-menu.close span {
    background-position: left bottom; }

  #gnav-wrap {
    position: inherit; }
    #gnav-wrap:before {
      display: none; }

  #gnav-inner {
    width: 100%; }

  #gnav-parts {
    display: none; }

  #gnav {
    border-top: 1px solid #899dcc;
    padding-left: 0; }
    #gnav li {
      border-bottom: 1px solid #899dcc;
      border-left: none;
      display: block;
      float: none;
      position: relative;
      text-align: left;
      width: 100%; }
      #gnav li:last-child {
        border-bottom: none;
        border-right: none;
        width: 100%; }
      #gnav li:after {
        border-right: 1px solid #FFF;
        border-top: 1px solid #FFF;
        bottom: 0;
        content: "";
        height: 10px;
        margin: auto;
        position: absolute;
        right: 15px;
        top: 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        width: 10px; }
    #gnav .gnav-parent {
      padding: 20px;
      height: auto; }
      #gnav .gnav-parent:after {
        display: none; }
    #gnav a {
      display: block; }

  .head-utility-wrap {
    background-color: #FFF;
    position: relative;
    top: auto;
    width: 100%; }

  .head-utility-list,
  .head-srch-btn,
  .head-tsushin-btn {
    float: none; }

  .head-utility-list {
    background-color: #f1f1f5;
    display: block;
    width: 100%; }
    .head-utility-list li {
      border-bottom: 1px solid #FFF;
      display: block;
      position: relative;
      text-align: left; }
      .head-utility-list li:last-child {
        border-bottom: none; }
      .head-utility-list li:after {
        border-right: 1px solid #8fa9e3;
        border-top: 1px solid #8fa9e3;
        bottom: 0;
        content: "";
        height: 7px;
        margin: auto;
        position: absolute;
        right: 15px;
        top: 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        width: 7px; }
    .head-utility-list a {
      height: auto;
      padding: 15px 20px; }

  .head-srch-btn {
    display: none; }

  .head-tsushin-btn {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    height: auto;
    padding: 10px 20px;
    width: 100%; }
    .head-tsushin-btn a {
      transition: none;
      height: auto;
      padding: 15px 20px; }

  .head-srch-inner {
    padding: 20px; }

  .head-srch-keyword {
    border-radius: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    font-size: 1.6rem;
    height: auto;
    padding: 5px;
    width: 70%; }

  .head-srch-submit {
    background-color: #000;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    color: #FFF;
    cursor: pointer;
    font-size: 10px;
    font-size: 1rem;
    height: auto;
    padding: 5px;
    width: 25%; }

  #head-target-nav {
    left: auto;
    top: 60px;
    width: 100%;
    display: none; }
    #head-target-nav li {
      background-color: #f1f1f5;
      border-bottom: 1px solid #FFF;
      display: block;
      padding: 0;
      position: relative;
      text-align: left; }
      #head-target-nav li:last-child {
        border-bottom: none; }
      #head-target-nav li:after {
        border-right: 1px solid #8fa9e3;
        border-top: 1px solid #8fa9e3;
        bottom: 0;
        content: "";
        height: 7px;
        margin: auto;
        position: absolute;
        right: 15px;
        top: 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        width: 7px; }
    #head-target-nav a {
      display: block;
      padding: 15px 20px; }

  .spmenu-close {
    background-color: #000;
    color: #FFF;
    font-size: 12px;
    font-size: 1.2rem;
    padding: 10px;
    text-align: center; } }
/* navigation
   ========================================================================== */
/*#header-nav-wrap{
  padding-top:70px;
}

#header-nav{
  border-right:1px solid #ccc;
  @include inblock-parent;
  text-align:center;

  li{
    @include css3(box-sizing, border-box);
    @include inblock;
    border-left:1px solid #ccc;
    width:20%;
  }

  a,
  span{
    display:block;
  }

  span{
    padding:10px;
  }

}

@include mq-sp  {

  #header-nav-wrap{
    display:none;
    padding-top:0;
  }

  #header-nav{
    border-top:1px solid #dbdbdb;
    text-align:left;

    li{
      border-left:none;
      border-bottom:1px solid #dbdbdb;
      position:relative;
      display:block;
      width:100%;

      &:before{
        color:#73706e;
        top:10px;
        content: '>';
        display:block;
        position:absolute;
        right:10px;
      }
    }
  }

}*/
/* contents
   ========================================================================== */
.main-wrap.cont-col2 {
  display: table;
  table-layout: fixed;
  width: 100%; }
  .main-wrap.cont-col2 #main,
  .main-wrap.cont-col2 #side {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    display: table-cell;
    padding-bottom: 100px;
    vertical-align: top; }
  .main-wrap.cont-col2 #main {
    border-right: 1px solid #e2e3e4;
    padding-right: 37px;
    padding-top: 80px;
    width: 888px; }
  .main-wrap.cont-col2 #side {
    padding-top: 55px;
    width: 252px; }

@media screen and (max-width: 767px) {
  #contents {
    width: 100%; }

  .main-wrap.cont-col2 #main,
  .main-wrap.cont-col2 #side {
    display: block;
    width: 100%; }
  .main-wrap.cont-col2 #main {
    border-right: none;
    padding: 30px 0 28px 0; }
  .main-wrap.cont-col2 #side {
    padding-bottom: 0;
    padding-top: 0; } }
/* topicpath
   ========================================================================== */
.topicpath {
  font-size: 12px;
  font-size: 1.2rem;
  position: absolute;
  bottom: 25px; }
  .topicpath li {
    padding-left: 7px; }
    .topicpath li:before {
      border-right: 1px solid #777;
      border-top: 1px solid #777;
      content: '';
      display: inline-block;
      height: 5px;
      margin-right: 10px;
      position: relative;
      top: -1px;
      width: 5px;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    .topicpath li:first-child {
      padding-left: 0; }
      .topicpath li:first-child:before {
        display: none; }
  .topicpath img {
    vertical-align: middle; }

@media screen and (max-width: 767px) {
  .topicpath {
    display: none; } }
/* side
   ========================================================================== */
.snav {
  /*a[target="_blank"]{
  	display:block;
  	position:relative;
  	&:after{
  		background:url(img/icon_blank.png) no-repeat right center;
  		background-size:13px auto;
  		content:'';
  		display:block;
  		height:20px;
  		position:absolute;
  		right:20px;
  		top:10px;
  		width:19px;
  	}
  }*/ }
  .snav li {
    border-bottom: 1px solid #e2e3e4;
    line-height: 1.25;
    margin-left: 20px; }
  .snav .snav-top {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 500; }
    .snav .snav-top > a {
      color: #1c46a7; }
  .snav a[href$=".pdf"] {
    display: block;
    position: relative; }
    .snav a[href$=".pdf"]:after {
      background: url(img/icon_pdf.png) no-repeat right top;
      background-size: 13px auto;
      content: '';
      display: block;
      height: 23px;
      position: absolute;
      right: 20px;
      top: 10px;
      width: 19px; }
  .snav .active {
    background-color: #f6f6f6;
    font-weight: bold; }
    .snav .active .snav-parent.has-child:before {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }

.snav-parent {
  cursor: pointer;
  display: block;
  padding: 25px;
  position: relative; }
  .snav-parent:before {
    bottom: 0;
    border-top: 1px solid #1c46a7;
    border-right: 1px solid #1c46a7;
    content: "";
    height: 10px;
    margin: auto;
    position: absolute;
    right: 3px;
    top: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 10px; }

.snav-grand {
  cursor: pointer;
  display: block;
  padding: 25px;
  position: relative; }
  .snav-grand:before {
    bottom: 0;
    border-top: 1px solid #1c46a7;
    border-right: 1px solid #1c46a7;
    content: "";
    height: 10px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 10px; }

.active .snav-parent {
  cursor: default; }
  .active .snav-parent:before {
    display: none; }

.has-child:before {
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg); }

.snav-open:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.snav-lv2 {
  display: none; }
  .snav-lv2 li {
    border-bottom: none;
    font-size: 14px;
    font-size: 1.4rem; }
  .snav-lv2 a {
    color: #777; }
  .snav-lv2 .active {
    font-weight: bold; }
    .snav-lv2 .active > .snav-inner {
      background-color: #f6f6f6;
      margin-left: -20px;
      padding-left: 50px; }

.snav-lv3 {
  display: none; }
  .snav-lv3 li {
    border-bottom: none;
    font-weight: normal;
    /*@include fontsize(14);*/
    margin-left: 0;
    padding-left: -50px; }
  .snav-lv3 a {
    color: #777; }
  .snav-lv3 .active {
    font-weight: bold; }
    .snav-lv3 .active .snav-inner {
      background-color: #f6f6f6;
      /*margin-left: -20px;*/
      /*padding-left:-50px;*/ }

.current {
  /*.snav-lv3{
  	display:block;
  }*/ }
  .current .snav-lv2 {
    display: block; }

.snav-inner {
  display: block;
  padding: 10px 0 10px 30px; }

@media screen and (max-width: 767px) {
  .snav li {
    border-bottom: none;
    border-top: 1px solid #e2e3e4;
    margin-left: 0; }
  .snav .snav-top {
    font-size: 16px;
    font-size: 1.6rem; }

  .snav-parent {
    padding: 18px 20px; }
    .snav-parent:before {
      right: 20px; }

  .snav-lv2 li {
    border-top: none; }

  .snav-inner {
    padding: 10px 10px 10px 30px; } }
/* footer
   ========================================================================== */
.inner-footer {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 50px 30px;
  width: 1200px; }

#pagetop {
  background-color: #f0f2f6;
  font-size: 14px;
  font-size: 1.4rem;
  text-align: center; }
  #pagetop p {
    margin: 0 auto;
    width: 1140px; }
  #pagetop a {
    color: #1c46a7;
    display: block;
    line-height: 1;
    padding-bottom: 28px;
    padding-top: 28px; }
    #pagetop a:after {
      border-top: 1px solid #1c46a7;
      border-right: 1px solid #1c46a7;
      content: "";
      display: inline-block;
      height: 10px;
      margin-left: 10px;
      position: relative;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      top: 2px;
      width: 10px;
      vertical-align: middle; }
    #pagetop a:hover {
      text-decoration: none; }

.fbnr-wrap {
  margin: 0 auto;
  padding-bottom: 30px;
  padding-top: 50px;
  width: 940px; }

.fbnr {
  letter-spacing: -.40em; }
  .fbnr li {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    margin-right: 20px; }
    .fbnr li:last-child {
      margin-right: 0; }

.fbnr-wrap .bx-wrapper {
  border: none;
  box-shadow: none;
  margin: 0 auto; }
.fbnr-wrap .bx-wrapper .bx-controls-direction a {
  background: none; }
  .fbnr-wrap .bx-wrapper .bx-controls-direction a:before {
    bottom: 0;
    border-right: 1px solid #1c46a7;
    border-top: 1px solid #1c46a7;
    content: "";
    height: 10px;
    margin: auto;
    position: absolute;
    right: 3px;
    top: 0;
    width: 10px; }
.fbnr-wrap .bx-wrapper .bx-prev {
  left: -50px; }
  .fbnr-wrap .bx-wrapper .bx-prev:before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg); }
.fbnr-wrap .bx-wrapper .bx-next {
  right: -30px; }
  .fbnr-wrap .bx-wrapper .bx-next:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }

.fnav-area {
  border-left: 1px solid #e5e5e5;
  display: table;
  float: right;
  table-layout: fixed;
  width: 529px; }

.fnav-wrap {
  display: table-cell;
  padding-left: 30px;
  vertical-align: top; }
  .fnav-wrap li {
    font-size: 14px;
    font-size: 1.4rem; }

.foot-other-nav {
  padding-left: 15px; }
  .foot-other-nav a {
    background: url(img/icon_blank.png) no-repeat right center;
    background-size: 10px auto;
    padding-right: 15px; }

.foot-info {
  letter-spacing: -.40em;
  float: left;
  width: 570px; }
  .foot-info dd {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6; }
  .foot-info dt,
  .foot-info dd {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    vertical-align: top; }
  .foot-info .foot-add {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 20px; }
    .foot-info .foot-add dt {
      padding-right: 30px; }
  .foot-info .foot-jihee {
    margin-top: 30px; }
    .foot-info .foot-jihee dt {
      padding-right: 20px;
      width: 70px; }
    .foot-info .foot-jihee dd {
      width: 480px; }

#foot-sns-wrap {
  border-top: 1px solid #e5e5e5;
  margin: 0 auto;
  width: 1140px; }
  #foot-sns-wrap #sns-list {
    float: right;
    /*margin:0 auto;*/
    padding: 15px 0;
    width: 170px; }
    #foot-sns-wrap #sns-list li {
      display: inline-block;
      margin-right: 10px; }
      #foot-sns-wrap #sns-list li:last-child {
        margin-right: 0; }

#copyright-wrap {
  background-color: #1c46a7; }

#copyright {
  color: #FFF;
  font-size: 12px;
  font-size: 1.2rem;
  margin: 0 auto;
  padding-bottom: 15px;
  padding-top: 15px;
  text-align: right;
  width: 1140px; }

@media screen and (max-width: 767px) {
  .inner-footer {
    padding: 0 0 80px 0;
    width: 100%; }

  #pagetop p {
    width: 100%; }
  #pagetop a {
    display: block;
    padding-bottom: 20px;
    padding-top: 20px; }

  .fbnr-wrap {
    border-bottom: 1px solid #e5e5e5;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    padding: 25px 20px;
    width: 100%; }

  .fbnr li {
    margin-bottom: 4%;
    margin-right: 4%;
    width: 48%; }
    .fbnr li:nth-child(2n) {
      margin-right: 0; }

  .fnav-area {
    border-left: 1px solid #e5e5e5;
    display: block;
    float: none;
    width: 100%; }

  .fnav-wrap {
    display: block;
    padding-left: 0; }
    .fnav-wrap li {
      font-size: 12px;
      font-size: 1.2rem; }
    .fnav-wrap a {
      display: block;
      padding: 15px 13px; }

  .fbnr-wrap .bx-wrapper .bx-prev {
    left: -30px; }
  .fbnr-wrap .bx-wrapper .bx-next {
    right: -15px; }

  .foot-target-nav,
  .foot-utility-nav {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    width: 50%; }

  .foot-other-nav {
    clear: both;
    display: block; }

  .foot-utility-nav {
    border-left: 1px solid #e5e5e5; }
    .foot-utility-nav li {
      border-bottom: 1px solid #e5e5e5; }
      .foot-utility-nav li:last-child {
        border-bottom: none; }

  .foot-other-nav {
    border-top: 1px solid #e5e5e5;
    padding-left: 0; }
    .foot-other-nav li {
      border-bottom: 1px solid #e5e5e5; }
      .foot-other-nav li:last-child {
        border-bottom: none; }
    .foot-other-nav a {
      background-position: 96% center; }
    .foot-other-nav .fnav-link-none {
      display: block;
      padding: 15px 13px; }

  .foot-info {
    border-top: 1px solid #e5e5e5;
    float: none;
    padding-top: 35px;
    text-align: center;
    width: 100%; }
    .foot-info dd {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 12px;
      font-size: 1.2rem;
      padding-left: 20px;
      padding-right: 20px; }
    .foot-info dt,
    .foot-info dd {
      display: block; }
    .foot-info .foot-add {
      border-bottom: 1px solid #e5e5e5;
      padding-bottom: 20px; }
      .foot-info .foot-add dt {
        padding-right: 0; }
        .foot-info .foot-add dt img {
          height: auto;
          width: 110px; }
    .foot-info .foot-jihee {
      margin-top: 30px; }
      .foot-info .foot-jihee dt {
        padding-right: 0;
        width: 100%; }
        .foot-info .foot-jihee dt img {
          height: auto;
          width: 71px; }
      .foot-info .foot-jihee dd {
        text-align: left;
        width: 100%; }

  #foot-sns-wrap {
    width: 100%; }
    #foot-sns-wrap #sns-list {
      float: none;
      margin: 0 auto;
      padding: 15px 0;
      /*width:170px;*/ }
      #foot-sns-wrap #sns-list li {
        display: inline-block;
        margin-right: 10px;
        /*width:100%;*/ }
        #foot-sns-wrap #sns-list li:last-child {
          margin-right: 0; }

  #copyright-wrap {
    background-color: #1c46a7; }

  #copyright {
    font-family: Arial;
    text-align: center;
    width: 100%; } }
.cattop-box-img {
  width: 100%;
  height: 100%; }
  .cattop-box-img span {
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    background-position: center 20%;
    background-size: cover; }
  .cattop-box-img img {
    height: auto;
    width: 100%; }

.cattop-box-ttl-wrap {
  background: #8b9fcd url(/share/css/img/bg_cattop_box_ttl.png) no-repeat center center;
  box-sizing: border-box;
  padding: 4px 8px;
  position: absolute;
  text-align: center;
  z-index: 101; }

.cattop-box-ttl {
  color: #fff;
  line-height: 1.2;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }
  .cattop-box-ttl span {
    display: block; }
  .cattop-box-ttl .trajan {
    font-size: 14px;
    font-size: 1.4rem;
    padding-bottom: 5px; }
  .cattop-box-ttl .folk-m {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .cattop-box-ttl .faculty-field {
    padding-top: 12px;
    line-height: 1;
    font-size: 12px;
    font-size: 1.2rem; }

.cattop-box {
  background: url(/share/css/img/bg_cattop_box.gif);
  background-size: cover;
  position: relative;
  overflow: hidden; }
  .cattop-box.color-transparent {
    background: none; }
  .cattop-box a,
  .cattop-box a:hover,
  .cattop-box a:visited,
  .cattop-box a:active {
    color: #fff;
    display: block;
    height: 100%;
    width: 100%; }

@media screen and (min-width: 768px) {
  .cattop-box-wrap {
    box-sizing: border-box;
    margin-right: -8px;
    opacity: 0;
    padding: 4px;
    width: 100%; }
    .cattop-box-wrap.show {
      opacity: 1;
      -webkit-transition: opacity 0.3s linear;
      transition: opacity 0.3s linear; }

  .cattop-box {
    border: 4px solid #fff;
    box-sizing: border-box;
    height: 250px;
    position: relative;
    width: 25%; }
    .cattop-box a,
    .cattop-box a:hover,
    .cattop-box a:visited,
    .cattop-box a:active {
      color: #fff; }

  .cattop-box.col2 {
    width: 50%; }
    .cattop-box.col2 .cattop-box-ttl .folk-m {
      font-size: 18px;
      font-size: 1.8rem; }

  .cattop-box.col3 {
    width: 75%; }
    .cattop-box.col3 .cattop-box-ttl .folk-m {
      font-size: 18px;
      font-size: 1.8rem; }

  .cattop-box.row2 {
    height: 500px; }

  .cattop-box.cattop-box-noimg .cattop-box-ttl-wrap {
    background-color: rgba(0, 0, 0, 0.2);
    background-image: none;
    left: 50%;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%); }

  .cattop-box.cattop-box-main {
    margin-right: 8px;
    height: 428px;
    width: 100%; }
    .cattop-box.cattop-box-main .cattop-box-ttl .folk-m {
      font-size: 24px;
      font-size: 2.4rem; } }
/* タイトル サイズ指定
	 ========================================================================== */
@media screen and (min-width: 768px) {
  .cattop-box .cattop-box-ttl-wrap {
    height: 80px;
    min-width: 200px; }
  .cattop-box .cattop-box-ttl .folk-m {
    font-size: 18px;
    font-size: 1.8rem; }

  .cattop-box.col2 .cattop-box-ttl-wrap,
  .cattop-box.col3 .cattop-box-ttl-wrap {
    height: 100px;
    min-width: 300px; }

  .cattop-box-main .cattop-box-ttl-wrap {
    height: 150px;
    min-width: 300px; } }
/* タイトル 位置指定
	 ========================================================================== */
@media screen and (min-width: 768px) {
  .cattop-box-ttl-wrap.left {
    left: 0; }
  .cattop-box-ttl-wrap.right {
    right: 0; }
  .cattop-box-ttl-wrap.top {
    top: 0; }
  .cattop-box-ttl-wrap.bottom {
    bottom: 0; }

  .cattop-box-noimg .cattop-box-ttl-wrap {
    left: 40px;
    top: 85px; }

  .cattop-box-main .cattop-box-ttl-wrap {
    left: 100px;
    top: 140px; } }
/* タイトル 色指定
	 ========================================================================== */
.cattop-box.color-blue .cattop-box-ttl-wrap {
  background-color: #4e7497; }
.cattop-box.color-pink .cattop-box-ttl-wrap {
  background-color: #edada8; }
.cattop-box.color-brown .cattop-box-ttl-wrap {
  background-color: #c2a88f; }
.cattop-box.color-green .cattop-box-ttl-wrap {
  background-color: #638270; }
.cattop-box.color-yellow .cattop-box-ttl-wrap {
  background-color: #bdb272; }
.cattop-box.color-jpn .cattop-box-ttl-wrap {
  background-color: #004f99; }
.cattop-box.color-history .cattop-box-ttl-wrap {
  background-color: #550025; }
.cattop-box.color-geography .cattop-box-ttl-wrap {
  background-color: #e5a950; }
.cattop-box.color-cultural .cattop-box-ttl-wrap {
  background-color: #e7373f; }
.cattop-box.color-psychology .cattop-box-ttl-wrap {
  background-color: #f7c608; }
.cattop-box.color-social .cattop-box-ttl-wrap {
  background-color: #94a05f; }
.cattop-box.color-cul .cattop-box-ttl-wrap {
  background-color: #f3b3bb; }
.cattop-box.color-tsushin .cattop-box-ttl-wrap {
  background-color: #98a9d1; }
.cattop-box.color-gs .cattop-box-ttl-wrap {
  background-color: #93556c; }

/* スマホ用スタイル
	 ========================================================================== */
@media screen and (max-width: 767px) {
  .cattop-box-ttl-wrap {
    height: 50px;
    left: 0;
    bottom: 0;
    top: inherit;
    right: inherit;
    width: 100%; }

  .cattop-box-ttl .trajan {
    font-size: 8px;
    font-size: 0.8rem;
    padding-bottom: 2px; }
  .cattop-box-ttl .folk-m {
    font-size: 13px;
    font-size: 1.3rem; }
  .cattop-box-ttl .faculty-field {
    font-size: 8px;
    font-size: 0.8rem;
    padding-top: 5px; }

  .cattop-box-wrap {
    box-sizing: border-box;
    margin-right: 0;
    padding: 3px;
    width: 100%; }

  .cattop-box {
    border: 3px solid #fff;
    box-sizing: border-box;
    height: 180px;
    margin-bottom: 0;
    margin-right: 0;
    width: 50%; }
    .cattop-box a,
    .cattop-box a:hover,
    .cattop-box a:visited,
    .cattop-box a:active {
      color: #fff; }

  .cattop-box.cattop-box-noimg .cattop-box-ttl-wrap {
    background-color: rgba(0, 0, 0, 0.2); }

  .cattop-box.cattop-box-main {
    height: 220px;
    width: 100%; } }
/* マウスオーバー処理
   ========================================================================== */
@media screen and (min-width: 768px) {
  .cattop-box-img:after {
    background-color: rgba(144, 177, 255, 0.2);
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    visibility: hidden;
    z-index: 100;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear; }
  .cattop-box-img span {
    overflow: hidden;
    -webkit-transition: -webkit-transform .3s linear;
    transition: transform .3s linear;
    -webkit-transform: perspective(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }

  .cattop-box a:hover .cattop-box-img:after {
    opacity: 1;
    visibility: visible; }
  .cattop-box a:hover .cattop-box-img span {
    -webkit-transition: transform 5s linear;
    transition: transform 5s linear;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
  .cattop-box.color-blue .cattop-box-img:after {
    background-color: rgba(113, 171, 225, 0.2); }
  .cattop-box.color-pink .cattop-box-img:after {
    background-color: rgba(255, 189, 183, 0.2); }
  .cattop-box.color-brown .cattop-box-img:after {
    background-color: rgba(255, 203, 153, 0.3); }
  .cattop-box.color-green .cattop-box-img:after {
    background-color: rgba(180, 248, 208, 0.2); }
  .cattop-box.color-yellow .cattop-box-img:after {
    background-color: rgba(189, 178, 114, 0.2); }
  .cattop-box.color-jpn .cattop-box-img:after {
    background-color: rgba(0, 79, 153, 0.2); }
  .cattop-box.color-history .cattop-box-img:after {
    background-color: rgba(85, 0, 37, 0.2); }
  .cattop-box.color-geography .cattop-box-img:after {
    background-color: rgba(229, 169, 80, 0.2); }
  .cattop-box.color-cultural .cattop-box-img:after {
    background-color: rgba(231, 55, 63, 0.2); }
  .cattop-box.color-psychology .cattop-box-img:after {
    background-color: rgba(247, 198, 8, 0.2); }
  .cattop-box.color-social .cattop-box-img:after {
    background-color: rgba(148, 160, 95, 0.2); }
  .cattop-box.color-cul .cattop-box-img:after {
    background-color: rgba(243, 179, 187, 0.2); }
  .cattop-box.color-tsushin .cattop-box-img:after {
    background-color: rgba(152, 169, 209, 0.2); }
  .cattop-box.color-gs .cattop-box-img:after {
    background-color: rgba(147, 85, 108, 0.2); }
  .cattop-box.color-transparent .cattop-box-img:after {
    display: none; }

  .cattop-box.cattop-box-noimg a {
    position: relative; }
    .cattop-box.cattop-box-noimg a:after {
      background-color: rgba(0, 0, 0, 0.1);
      content: '';
      display: block;
      height: 100%;
      width: 100%;
      opacity: 0;
      position: absolute;
      left: 0;
      top: 0;
      -webkit-transition: opacity 0.2s linear;
      transition: opacity 0.2s linear;
      -webkit-transform: perspective(0); }
  .cattop-box.cattop-box-noimg a:hover:after {
    opacity: 1; }

  .color-transparent {
    opacity: 0;
    height: 0px; } }
/* カテゴリー サイトマップ
	 ========================================================================== */
.cattop-sitemap {
  background-color: #a4aeba;
  margin-bottom: 80px;
  padding: 50px 0 20px; }
  .cattop-sitemap a,
  .cattop-sitemap a:hover,
  .cattop-sitemap a:visited,
  .cattop-sitemap a:active {
    color: #fff; }
  .cattop-sitemap a[href$=".pdf"]:after {
    background: url(/share/css/img/icon_pdf.png) no-repeat right top;
    background-size: 11px auto;
    content: '';
    display: inline-block;
    height: 13px;
    position: relative;
    top: 1px;
    width: 19px; }

.cattop-sitemap-wrap {
  width: 1140px;
  margin: 0 auto; }

.cattop-sitemap-box {
  float: left;
  padding-top: 25px;
  position: relative;
  margin-bottom: 30px; }
  .cattop-sitemap-box:before {
    background-color: rgba(255, 255, 255, 0.4);
    content: '';
    display: block;
    height: 1px;
    width: 100px;
    position: absolute;
    top: 0;
    left: 0; }

.cattop-sitemap-box-ttl {
  width: 160px;
  float: left;
  margin-right: 40px; }
  .cattop-sitemap-box-ttl h2 {
    color: #fff;
    line-height: 1;
    font-size: 16px;
    font-size: 1.6rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.cattop-sitemap-box-list {
  float: left;
  width: 940px; }
  .cattop-sitemap-box-list li {
    line-height: 1.2;
    margin-bottom: 10px;
    font-size: 12px;
    font-size: 1.2rem;
    margin-right: 25px;
    display: inline-block;
    vertical-align: top; }

.cattop-sitemap-subbox {
  width: 940px;
  float: right;
  margin-top: 35px; }
  .cattop-sitemap-subbox .cattop-sitemap-box-subttl {
    color: #fff;
    margin-bottom: 20px;
    line-height: 1;
    font-size: 16px;
    font-size: 1.6rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

@media screen and (max-width: 767px) {
  .cattop-sitemap {
    display: none; } }
@media screen and (min-width: 768px) {
  .cattop-sp-nav {
    display: none; } }
/* タイトル 色指定
	 ========================================================================== */
.cattop-box.color-jpn .cattop-box-img span {
  background-position: 20% 20%; }
.cattop-box.color-geography .cattop-box-img span {
  background-position: 80% 20%; }
.cattop-box.color-cultural .cattop-box-img span {
  background-position: 60% 20%; }
.cattop-box.color-psychology .cattop-box-img span {
  background-position: 10% 20%; }
.cattop-box.color-social .cattop-box-img span {
  background-position: 10% 20%; }

/* ==========================================================================
   04. Parts
   ========================================================================== */
/* タイトル
   ========================================================================== */
.main-header-wrap {
  background: #98a9d1 url(img/main_head_bg.png) no-repeat center top;
  position: relative; }

.main-header {
  display: table;
  margin: 0 auto;
  table-layout: fixed;
  width: 1200px; }

.main-header-side,
.main-header-main {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  display: table-cell;
  vertical-align: middle;
  height: 200px; }

.main-header-side {
  color: #FFF;
  padding-left: 30px;
  width: 213px; }

.main-header-main {
  background-color: #f0f2f6;
  padding-left: 30px;
  padding-right: 30px;
  width: 987px; }
  .main-header-main:before {
    background-color: #f0f2f6;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 50%; }

.cat-ttl-eng {
  font-size: 10px;
  font-size: 1rem; }

.cat-ttl {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.2; }

.main-header-ttl {
  color: #000;
  font-size: 40px;
  font-size: 4rem;
  line-height: 1.25;
  padding-bottom: 8px;
  position: relative;
  z-index: 2; }

.ttl-lv1 {
  color: #000;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.5;
  margin-bottom: 15px; }

.ttl-lv1-inner {
  font-size: 24px;
  font-size: 2.4rem; }

.ttl-lv2 {
  border-bottom: 1px solid #e2e3e4;
  color: #333;
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1.5;
  margin-bottom: 15px;
  padding-bottom: 10px;
  padding-left: 20px;
  position: relative; }
  .ttl-lv2:before {
    background-color: #98a9d1;
    border-radius: 8px;
    content: '';
    display: block;
    height: 15px;
    left: 0;
    position: absolute;
    top: 9px;
    width: 15px; }
  .ttl-lv2:after {
    background-color: #FFF;
    border-radius: 3px;
    content: '';
    display: block;
    height: 7px;
    position: absolute;
    top: 13px;
    left: 4px;
    width: 7px; }

.ttl-lv3 {
  color: #333;
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1.5;
  margin-bottom: 15px;
  padding-left: 20px;
  position: relative; }
  .ttl-lv3:before {
    background-color: #98a9d1;
    border-radius: 8px;
    content: '';
    display: block;
    height: 15px;
    left: 0;
    position: absolute;
    top: 7px;
    width: 15px; }
  .ttl-lv3:after {
    background-color: #FFF;
    border-radius: 3px;
    content: '';
    display: block;
    height: 7px;
    position: absolute;
    top: 11px;
    left: 4px;
    width: 7px; }

.ttl-lv4 {
  color: #333;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 10px; }

.ttl-sub {
  font-size: 16px;
  font-size: 1.6rem; }

.head-linebox {
  background-color: #f4f4f7;
  border: 1px solid #e2e3e4;
  margin-bottom: 15px;
  padding: 3px; }

.head-linebox-inner {
  background-color: #FFF;
  padding: 20px; }

.head-linebox-ttl {
  color: #1c46a7;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  margin-top: 10px; }

@media screen and (max-width: 767px) {
  .main-header-wrap {
    background: none; }

  .main-header {
    display: block;
    width: 100%; }

  .main-header-side,
  .main-header-main {
    display: block;
    height: auto;
    padding: 0;
    text-align: center;
    width: 100%; }

  .main-header-side {
    background: url(img/main_head_bg_sp.jpg) no-repeat left top;
    background-size: cover;
    padding-bottom: 15px;
    padding-top: 15px; }

  .main-header-main {
    padding-bottom: 20px;
    padding-top: 20px; }
    .main-header-main:before {
      display: none; }

  .cat-ttl {
    font-size: 16px;
    font-size: 1.6rem; }

  .main-header-ttl {
    font-size: 24px;
    font-size: 2.4rem; }

  .ttl-lv1 {
    font-size: 20px;
    font-size: 2rem; }

  .ttl-lv1-inner {
    font-size: 16px;
    font-size: 1.6rem; }

  .ttl-lv2 {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.5;
    margin-bottom: 15px;
    padding-left: 20px;
    position: relative; }
    .ttl-lv2:before {
      background-color: #98a9d1;
      border-radius: 8px;
      content: '';
      display: block;
      height: 15px;
      left: 0;
      position: absolute;
      top: 7px;
      width: 15px; }
    .ttl-lv2:after {
      background-color: #FFF;
      border-radius: 3px;
      content: '';
      display: block;
      height: 7px;
      position: absolute;
      top: 11px;
      left: 4px;
      width: 7px; }

  .ttl-lv3 {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.5;
    margin-bottom: 15px;
    padding-left: 20px;
    position: relative; }
    .ttl-lv3:before {
      background-color: #98a9d1;
      border-radius: 8px;
      content: '';
      display: block;
      height: 15px;
      left: 0;
      position: absolute;
      top: 7px;
      width: 15px; }
    .ttl-lv3:after {
      background-color: #FFF;
      border-radius: 3px;
      content: '';
      display: block;
      height: 7px;
      position: absolute;
      top: 11px;
      left: 4px;
      width: 7px; }

  .ttl-lv4 {
    font-size: 16px;
    font-size: 1.6rem; }

  .ttl-sub {
    font-size: 12px;
    font-size: 1.2rem; }

  .head-linebox-inner {
    padding: 20px; }

  .head-linebox-ttl {
    font-size: 18px;
    font-size: 1.8rem; }

  .head-linebox-img {
    height: auto;
    margin-top: 10px;
    width: 100%; } }
/* テーブル
   ========================================================================== */
.tbl-th-side,
.tbl-th-head,
.tbl-th-multi {
  border-bottom: 1px solid #ebedee;
  border-top: 2px solid #ebedee;
  margin-bottom: 30px;
  margin-top: 30px;
  width: 100%; }
  .tbl-th-side th,
  .tbl-th-head th,
  .tbl-th-multi th {
    background-color: #f4f4f7;
    border-left: 1px solid #ebedee;
    border-right: 1px solid #ebedee;
    border-top: 1px solid #FFF;
    text-align: left; }
  .tbl-th-side td,
  .tbl-th-head td,
  .tbl-th-multi td {
    border-left: 1px solid #ebedee;
    border-top: 1px solid #ebedee;
    border-right: 1px solid #ebedee;
    vertical-align: middle; }
  .tbl-th-side tr:first-child th,
  .tbl-th-side tr:first-child td,
  .tbl-th-head tr:first-child th,
  .tbl-th-head tr:first-child td,
  .tbl-th-multi tr:first-child th,
  .tbl-th-multi tr:first-child td {
    border-top: none; }
  .tbl-th-side th,
  .tbl-th-side td,
  .tbl-th-head th,
  .tbl-th-head td,
  .tbl-th-multi th,
  .tbl-th-multi td {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 15px 29px; }

.tbl-th-side th {
  width: 25%; }

.tbl-th-head th {
  text-align: center;
  width: auto; }

.tbl-th-multi th {
  text-align: center; }
.tbl-th-multi .th-multi-side {
  background-color: #fcfcfd;
  border-top: 1px solid #ebedee;
  text-align: left; }

.tbl-th-middle th {
  vertical-align: middle; }

@media screen and (max-width: 767px) {
  .tbl-th-side,
  .tbl-th-head,
  .tbl-th-multi {
    margin-bottom: 15px;
    margin-top: 15px;
    width: 100%; }
    .tbl-th-side th,
    .tbl-th-side td,
    .tbl-th-head th,
    .tbl-th-head td,
    .tbl-th-multi th,
    .tbl-th-multi td {
      padding: 10px; }

  .tbl-th-side {
    border: none; }
    .tbl-th-side th,
    .tbl-th-side td {
      border: none;
      display: block;
      width: 100%; }

  .tbl-scroll-wrap {
    overflow-x: auto; }

  .tbl-scroll-wrap::-webkit-scrollbar {
    height: 8px; }

  .tbl-scroll-wrap::-webkit-scrollbar-track {
    border-radius: 4px;
    background: #eee; }

  .tbl-scroll-wrap::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background: #666; }

  .sp-nowrap {
    white-space: nowrap; } }
/* リスト
   ========================================================================== */
.in-block {
  letter-spacing: -.40em; }
  .in-block li {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    vertical-align: top; }

.disc-list li {
  list-style-type: none;
  margin-top: 10px;
  padding-left: 1em;
  position: relative; }
  .disc-list li:first-child {
    margin-top: 0; }
  .disc-list li:before {
    background: #5876b9 none repeat scroll 0 0;
    border-radius: 100%;
    content: "";
    display: block;
    height: 6px;
    left: 0;
    position: absolute;
    top: 13px;
    width: 6px; }

.disc-list-none li {
  list-style-type: none;
  margin-top: 10px !important;
  padding-left: 2.5em;
  text-indent: -2.6em; }
  .disc-list-none li:first-child {
    margin-top: 0; }
  .disc-list-none li:before {
    background: none; }

.list-notes {
  margin-top: 15px; }
  .list-notes li {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: 10px;
    margin-left: 1em;
    text-indent: -1em; }
    .list-notes li:first-child {
      margin-top: 0; }

#main a {
  color: #1c46a7;
  text-decoration: underline; }
#main a:visited {
  color: #1c46a7;
  text-decoration: underline; }
#main a:hover {
  color: #1c46a7;
  text-decoration: none; }

.link-list {
  border-top: 1px solid #e5e5e5;
  margin-top: 30px; }
  .link-list li {
    border-bottom: 1px solid #e5e5e5;
    font-size: 14px;
    font-size: 1.4rem; }
  .link-list a {
    background: #fafbfb url(img/icon_arrow01.png) no-repeat 10px 16px;
    background-size: 4px auto;
    color: #777 !important;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
    display: block;
    padding: 8px 10px 8px 24px;
    text-decoration: none !important; }
    .link-list a:hover {
      background-color: #fff;
      text-decoration: none; }
  .link-list a[target="_blank"] {
    position: relative; }
    .link-list a[target="_blank"]:after {
      background: url(img/icon_blank.png) no-repeat right center;
      background-size: 10px auto;
      content: '';
      display: block;
      height: 23px;
      position: absolute;
      right: 20px;
      top: 10px;
      width: 19px; }
  .link-list a[href$=".pdf"] {
    position: relative; }
    .link-list a[href$=".pdf"]:after {
      background: url(img/icon_pdf.png) no-repeat right top;
      background-size: 19px auto;
      content: '';
      display: block;
      height: 23px;
      position: absolute;
      right: 20px;
      top: 10px;
      width: 19px; }

.link-txt-in {
  color: #1c46a7;
  text-decoration: underline; }

.link-txt-in:visited {
  color: #1c46a7;
  text-decoration: underline; }

.link-txt-in:hover {
  color: #1c46a7;
  text-decoration: none; }

.filesize {
  color: #9c9c9c;
  font-size: 12px;
  font-size: 1.2rem; }

.icon-pdf:after {
  background: url(img/icon_pdf.png) no-repeat right top;
  background-size: 10px auto;
  content: '';
  display: inline-block;
  height: 12px;
  margin-left: 5px;
  vertical-align: middle;
  width: 10px; }

.icon-blank:after {
  background: url(img/icon_blank.png) no-repeat right center;
  background-size: 10px auto;
  content: '';
  display: inline-block;
  height: 23px;
  vertical-align: middle;
  width: 15px; }

.index-list1 li {
  margin-bottom: 50px;
  width: 100%; }

.index-list2 li {
  /*display:block;*/
  margin-bottom: 40px;
  width: 400px; }
  .index-list2 li:nth-child(even) {
    margin-left: 50px; }

.index-list3 li {
  /*display:block;*/
  margin-bottom: 40px;
  width: 460px; }
  .index-list3 li:nth-child(even) {
    margin-left: 50px; }

@media screen and (max-width: 767px) {
  .disc-list li:before {
    top: 7px; }

  .link-list li {
    font-size: 12px;
    font-size: 1.2rem; }
  .link-list a {
    background-position: left 12px;
    padding: 8px 20px 8px 14px; }
  .link-list a[href$=".pdf"]:after {
    background-size: 16px auto;
    height: 20px;
    right: 0;
    top: 30%;
    width: 16px; }

  .filesize {
    font-size: 10px;
    font-size: 1rem; }

  .index-list1 li {
    margin-bottom: 30px; }

  .index-list2 li {
    margin-bottom: 20px;
    width: 100%; }
    .index-list2 li:nth-child(even) {
      margin-left: 0; }

  .index-list3 li {
    margin-bottom: 20px;
    width: 100%; }
    .index-list3 li:nth-child(even) {
      margin-left: 0; } }
/* タブリスト
   ========================================================================== */
.tab-list {
  background-color: #6883c0;
  border-radius: 2px 2px 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  padding: 2px 2px 0;
  table-layout: fixed;
  width: 100%; }
  .tab-list li {
    display: table-cell;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.5; }
  .tab-list .active {
    font-weight: bold; }
    .tab-list .active a {
      background-color: #FFF;
      color: #6883c0 !important;
      text-decoration: none !important; }
      .tab-list .active a:hover {
        background-color: #FFF; }
    .tab-list .active span:before {
      display: none; }
  .tab-list a {
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
    border-radius: 2px 2px 0 0;
    color: #FFF !important;
    display: block;
    padding: 15px 10px;
    text-decoration: none !important; }
    .tab-list a:hover {
      background-color: #98a9d1;
      text-decoration: none; }
  .tab-list span:before {
    border-right: 1px solid #FFF;
    border-top: 1px solid #FFF;
    bottom: 0;
    content: "";
    display: inline-block;
    height: 8px;
    margin-right: 10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 8px; }

.tab-body {
  padding: 40px 0 0; }

@media screen and (max-width: 767px) {
  .tab-body {
    padding: 0; }

  .tab-body-inner {
    padding-bottom: 20px;
    padding-top: 20px; }

  .js-tabs-pc .tab-body {
    display: none; }

  .sp-acc-ttl {
    background-color: #f0f2f6;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 3px;
    padding: 7px 20px; }
    .sp-acc-ttl span {
      display: block;
      position: relative; }
      .sp-acc-ttl span:before {
        background-color: #FFF;
        border-radius: 11px;
        border: 1px solid #e2e3e4;
        content: '';
        display: block;
        height: 23px;
        position: absolute;
        right: 0;
        top: -2px;
        width: 23px; }
      .sp-acc-ttl span:after {
        content: '＋';
        color: #5876b9;
        display: block;
        font-weight: normal;
        font-size: 14px;
        line-height: 1;
        position: absolute;
        right: 6px;
        top: 3px; }

  .sp-acc-ttl.acc-open span:after {
    content: '─';
    font-size: 11px;
    right: 7px;
    top: 5px; }

  .tab-list-select {
    background: url(img/icon_select.png) no-repeat 97% center;
    background-size: 16px auto;
    border: 1px solid #e3e3e3;
    font-size: 100%;
    padding: 6px;
    position: relative;
    font-size: 16px;
    font-size: 1.6rem;
    width: 100%; } }
/* block
   ========================================================================== */
.size-fixed {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
  width: 1200px; }

.main-block {
  margin-bottom: 70px; }

.item-wrap {
  margin-bottom: 20px;
  overflow: hidden; }
  .item-wrap .side-l {
    float: left; }
  .item-wrap .side-r {
    float: right; }
  .item-wrap .item-main,
  .item-wrap .item-side {
    overflow: hidden;
    _zoom: 1; }
  .item-wrap .item-side .item-side-fullimg {
    height: auto;
    width: 100%; }

.side-r .item-main {
  float: left; }
.side-r .item-side {
  float: right; }

.side-l .item-main {
  float: right; }
.side-l .item-side {
  float: left; }

.main-large .item-side {
  width: 25%; }
.main-large .item-main {
  width: 70%; }

.main-medium .item-side {
  width: 35%; }
.main-medium .item-main {
  width: 60%; }

.main-small .item-side {
  width: 45%; }
.main-small .item-main {
  width: 50%; }

.adobe-reader {
  background-color: #ebedee;
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 21px;
  padding: 22px 30px; }
  .adobe-reader dl {
    display: table;
    table-layout: fixed;
    direction: rtl;
    width: 100%; }
  .adobe-reader dt,
  .adobe-reader dd {
    direction: ltr;
    display: table-cell;
    line-height: 1.5;
    vertical-align: top; }
  .adobe-reader dt {
    width: 83%; }
  .adobe-reader dd {
    width: 17%; }
  .adobe-reader a {
    color: #777 !important;
    text-decoration: underline; }

.bg01-box {
  background-color: #f4f4f7;
  margin-bottom: 10px;
  margin-top: 10px;
  padding: 20px; }
  .bg01-box .in-block li {
    font-size: 14px;
    font-size: 1.4rem;
    margin-right: 15px;
    margin-top: 5px; }

.halfbox-wrap {
  letter-spacing: -.40em; }
  .halfbox-wrap .halfbox {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    margin-top: 50px;
    margin-right: 50px;
    vertical-align: top;
    width: 400px; }
    .halfbox-wrap .halfbox:nth-child(2n) {
      margin-right: 0; }

.halfbox-wrap2 {
  letter-spacing: -.40em; }
  .halfbox-wrap2 .halfbox2 {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    margin-top: 15px;
    margin-right: 90px;
    vertical-align: top;
    width: 400px; }
    .halfbox-wrap2 .halfbox2 ul {
      padding-top: 60px; }
    .halfbox-wrap2 .halfbox2:nth-child(2n) {
      margin-right: 0; }

@media screen and (max-width: 767px) {
  .size-fixed {
    padding: 0;
    width: 100%; }

  .main-block {
    margin-bottom: 40px; }
    .main-block:last-child {
      margin-bottom: 0; }

  .sp-pdg {
    padding-left: 20px;
    padding-right: 20px; }

  	/*#main{
  		.img-full{
  			width:100%;
  		}
  
  		.img-large{
  			margin:0 auto;
  			width:80% !important;
  		}
  
  		.img-medium{
  			margin:0 auto;
  			width:50% !important;
  		}
  
  		.img-small{
  			margin:0 auto;
  			width:30% !important;
  		}
  	}*/
  .item-wrap .item-main,
  .item-wrap .item-side {
    float: none; }
  .item-wrap .item-main {
    margin-bottom: 20px;
    width: 100%; }
  .item-wrap .item-side {
    margin: 0 auto; }
  .item-wrap .item-side.size-full {
    width: 100%; }
  .item-wrap .item-side.size-large {
    width: 80%; }
  .item-wrap .item-side.size-medium {
    width: 60%; }
  .item-wrap .item-side.size-small {
    width: 40%; }

  .sp-full {
    width: 100% !important; }

  .adobe-reader {
    font-size: 10px;
    font-size: 1rem;
    padding: 10px 15px; }
    .adobe-reader dl {
      display: table;
      table-layout: fixed;
      direction: rtl;
      width: 100%; }
    .adobe-reader dt,
    .adobe-reader dd {
      vertical-align: middle; }
    .adobe-reader dt {
      width: 70%; }
    .adobe-reader dd {
      padding-right: 5%;
      width: 25%; }

  .halfbox-wrap .halfbox {
    display: block;
    margin-top: 25px;
    margin-right: 0;
    width: 100%; }

  .halfbox-wrap2 .halfbox2 {
    display: block;
    margin-top: 25px;
    margin-right: 0;
    width: 100%; }
    .halfbox-wrap2 .halfbox2 ul {
      padding-top: 10px; } }
/* お問い合わせボックス
   ========================================================================== */
.contact-box {
  border-left: 1px solid #1c46a7;
  display: table;
  table-layout: fixed;
  margin-top: 30px;
  width: 100%; }

.contact-box-ttl,
.contact-box-main {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  display: table-cell;
  padding-bottom: 25px;
  padding-top: 30px; }

.contact-box-ttl {
  background-color: #f4f4f7;
  color: #1c46a7;
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1.2;
  padding-left: 28px;
  width: 34%; }

.contact-box-main {
  background-color: #fcfcfd;
  padding-left: 30px;
  width: 66%; }

.contact-box-tel .icon-tel, .contact-box-tel .icon-fax,
.contact-box-fax .icon-tel,
.contact-box-fax .icon-fax {
  background: url(img/icon_tel_w60.png) no-repeat left center;
  color: #333;
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  padding: 7px 0 7px 80px; }
.contact-box-tel .icon-fax,
.contact-box-fax .icon-fax {
  background: url(img/icon_fax_w60.png) no-repeat left center; }
.contact-box-tel .inner-fax,
.contact-box-fax .inner-fax {
  font-size: 14px;
  font-size: 1.4rem; }

.contact-box-add {
  border-top: 1px solid #e3e3e9;
  margin-top: 15px;
  padding-left: 20px;
  padding-top: 20px; }
  .contact-box-add li {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7; }

.contact-box-add-non {
  padding-left: 20px; }
  .contact-box-add-non li {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7; }

@media screen and (max-width: 767px) {
  .contact-box {
    border: 1px solid #1c46a7;
    display: block;
    margin-top: 20px; }

  .contact-box-ttl,
  .contact-box-main {
    display: block;
    padding: 10px 0;
    width: 100%; }

  .contact-box-ttl {
    font-size: 14px;
    font-size: 1.4rem;
    padding-left: 0;
    text-align: center; }

  .contact-box-tel {
    text-align: center; }
    .contact-box-tel .icon-tel {
      background-size: 30px auto;
      font-size: 15px;
      font-size: 1.5rem;
      padding: 7px 0 7px 40px; }
    .contact-box-tel .inner-fax {
      display: block;
      font-size: 11px;
      font-size: 1.1rem; }

  .contact-box-add {
    margin-top: 10px;
    padding: 10px 10px 0; }
    .contact-box-add li {
      font-size: 11px;
      font-size: 1.1rem; } }
/* テキスト
   ========================================================================== */
.indent {
  margin-bottom: 20px;
  text-indent: 1em; }

.justify {
  text-align: justify;
  text-justify: inter-ideograph; }

.nowrap {
  white-space: nowrap; }

.important-txt {
  color: #db1e1e; }

/* リスト
   ========================================================================== */
.anchor-link {
  border-bottom: 2px solid #e2e3e4;
  letter-spacing: -.40em;
  margin-bottom: 70px;
  padding-bottom: 30px; }
  .anchor-link li {
    border-right: 1px solid #e2e3e4;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.25;
    margin-bottom: 5px;
    margin-right: 20px;
    padding-right: 30px;
    vertical-align: top;
    position: relative; }
    .anchor-link li:before {
      border-top: 1px solid #1c46a7;
      border-right: 1px solid #1c46a7;
      content: "";
      height: 7px;
      margin: auto;
      position: absolute;
      left: 0;
      top: 0;
      -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
      transform: rotate(135deg);
      width: 7px; }
    .anchor-link li:after {
      background-color: #1c46a7;
      content: '';
      display: block;
      height: 1px;
      position: absolute;
      top: 12px;
      left: 0;
      width: 8px; }
    .anchor-link li:last-child {
      border-right: none; }
    .anchor-link li a {
      color: #777 !important;
      padding-left: 25px;
      display: inline-block; }

.number-list {
  margin-top: 10px; }
  .number-list li {
    margin-top: 5px;
    margin-left: 20px; }
    .number-list li:first-child {
      margin-top: 0; }

@media screen and (max-width: 767px) {
  .anchor-link {
    letter-spacing: -.40em;
    margin-bottom: 30px;
    padding: 0 20px 0; }
    .anchor-link li {
      border-bottom: 1px solid #e2e3e4;
      border-right: none;
      display: block;
      padding: 0;
      margin-bottom: 0;
      margin-right: 0; }
      .anchor-link li:last-child {
        border-bottom: none; }
      .anchor-link li:before {
        height: 7px;
        left: 2px;
        top: 10px;
        width: 7px; }
      .anchor-link li:after {
        left: 2px;
        top: 22px;
        width: 8px; }
      .anchor-link li a {
        display: block;
        padding: 10px 20px 10px 34px; } }
/* ボタン
   ========================================================================== */
.btn01 {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #000;
  color: #FFF !important;
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  padding: 13px 50px;
  text-align: center;
  text-decoration: none !important;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease; }
  .btn01:hover {
    background-color: #505050;
    text-decoration: none; }

.btn01[target="_blank"] {
  position: relative; }
  .btn01[target="_blank"]:before, .btn01[target="_blank"]:after {
    border: 1px solid #FFF;
    content: '';
    display: block;
    height: 6px;
    position: absolute;
    width: 6px; }
  .btn01[target="_blank"]:before {
    bottom: 7px;
    right: 7px; }
  .btn01[target="_blank"]:after {
    background-color: #000;
    bottom: 5px;
    right: 5px;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease; }
  .btn01[target="_blank"]:hover:after {
    background-color: #505050; }

.inner-btn {
  margin-top: 30px; }

.btn-full {
  font-size: 14px;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1;
  margin-top: 30px; }
  .btn-full a {
    background-color: #f0f2f6;
    color: #1c46a7;
    display: block;
    padding-bottom: 30px;
    padding-top: 30px;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease; }
    .btn-full a:hover {
      background-color: #dee5f2;
      text-decoration: none; }

.no-border {
  border-style: none !important; }

@media screen and (max-width: 767px) {
  .btn01 {
    display: block;
    margin: 0 auto;
    width: 65%; }

  .btn-full {
    font-size: 12px;
    font-size: 1.2rem; }
    .btn-full a {
      padding-bottom: 15px;
      padding-top: 15px;
      transition: none; } }
/* ==========================================================================
   フォーム
   ========================================================================== */
.custom-field {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: medium none; }

.custom-field::-ms-expand {
  display: none; }

/* フォントサイズ
   ========================================================================== */
.text12 {
  font-size: 12px;
  font-size: 1.2rem; }

.text14 {
  font-size: 14px;
  font-size: 1.4rem; }

.text16 {
  font-size: 16px;
  font-size: 1.6rem; }

/* フォント
   ========================================================================== */
.folk-r {
  font-family: "フォーク R";
  opacity: 0; }

.folk-m {
  font-family: "フォーク M";
  opacity: 0; }

.folk-b {
  font-family: "フォーク B";
  opacity: 0; }

.trajan {
  font-family: 'Cinzel', serif; }

.trajan-b {
  font-family: 'Cinzel', serif;
  font-weight: 700; }

.red {
  color: #c20000; }

/*#sns-wrap{
	border-top:1px solid #e5e5e5;

	#sns-list li{
		display:inline-block;
		margin-right:10px;

		&:last-child{
			margin-right:0;
		}
	}
}*/
/* イベント・講座情報
   ========================================================================== */
/* 重要なお知らせ */
.important-area {
  border-bottom: 1px solid #dbdbdb;
  letter-spacing: -.40em;
  margin-bottom: 20px;
  padding-bottom: 10px; }
  .important-area li {
    color: #c20000;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 10px;
    position: relative;
    vertical-align: top;
    width: 843px; }
  .important-area .news-data {
    position: absolute;
    top: 0;
    left: 0;
    vertical-align: top; }
  .important-area .news-cat {
    color: #c20000;
    position: absolute;
    top: 0;
    left: 100px;
    vertical-align: top; }
    .important-area .news-cat:before {
      background-color: #c20000;
      border-radius: 3px;
      content: '';
      display: inline-block;
      height: 6px;
      margin-right: 5px;
      vertical-align: middle;
      width: 6px; }
  .important-area .news-ttl {
    display: inline-block;
    margin-left: 250px; }
  .important-area a {
    color: #c20000 !important;
    text-decoration: underline; }
    .important-area a:hover {
      text-decoration: none; }

/* 一覧 */
.infolist-box {
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 20px;
  padding-top: 20px;
  position: relative; }
  .infolist-box:first-child {
    padding-top: 0; }
    .infolist-box:first-child .infolist-cat {
      top: 0; }

.infolist-thumb {
  display: block;
  float: left;
  height: 100px;
  width: 150px; }

.infolist-main {
  float: right;
  width: 680px; }

.infolist-main-full {
  width: 100%; }

.infolist-date {
  font-size: 14px;
  font-size: 1.4rem; }

.icon-new {
  background-color: #ffba00;
  color: #FFF;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1;
  margin-left: 10px;
  padding: 1px 8px;
  position: relative;
  top: -1px; }

.infolist-cat {
  color: #5876b9;
  font-size: 14px;
  font-size: 1.4rem;
  position: absolute;
  right: 0;
  top: 20px;
  text-align: right; }
  .infolist-cat:before {
    background-color: #5876b9;
    border-radius: 3px;
    display: inline-block;
    content: '';
    height: 6px;
    margin-right: 4px;
    width: 6px;
    vertical-align: middle; }

.infolist-ttl {
  font-weight: normal;
  line-height: 1.625;
  margin-top: 5px; }

.infolist-period {
  background-color: #f0f2f6;
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 10px;
  padding: 3px 10px; }
  .infolist-period span {
    background: url(img/icon_calendar.png) no-repeat left top;
    padding-left: 24px; }

.pager-wrap {
  margin-top: 60px;
  text-align: center; }

.pager-list {
  letter-spacing: -.40em;
  position: relative; }
  .pager-list li {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    font-size: 14px;
    font-size: 1.4rem;
    margin-left: 5px;
    vertical-align: top; }
  .pager-list .pager-prev {
    margin-right: 15px; }
  .pager-list .pager-next {
    margin-left: 15px; }
  .pager-list span {
    background-color: #6883c0;
    border: 1px solid #6883c0;
    color: #FFF;
    display: table-cell;
    height: 38px;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
    vertical-align: middle;
    width: 38px; }
    .pager-list span img {
      vertical-align: middle; }
    .pager-list span:hover {
      background-color: #f0f2f6; }
  .pager-list a span {
    background-color: #FFF;
    border: 1px solid #e5e5e5;
    color: #333; }

@media screen and (max-width: 767px) {
  /* 重要なお知らせ */
  .important-area {
    border-bottom: 1px solid #dbdbdb;
    letter-spacing: -.40em;
    margin-bottom: 20px;
    padding-bottom: 20px; }
    .important-area li {
      display: block;
      font-size: 12px;
      font-size: 1.2rem;
      margin-bottom: 20px;
      margin-left: 0;
      vertical-align: top;
      width: 100%; }
      .important-area li:last-child {
        margin-bottom: 0; }
    .important-area .news-data {
      display: block; }
    .important-area .news-cat {
      display: block; }
    .important-area .news-ttl {
      display: block;
      margin-left: 0;
      padding-top: 20px;
      width: 100%; }

  .infolist-box {
    padding-bottom: 60px;
    padding-top: 50px; }
    .infolist-box:first-child {
      padding-top: 30px; }
      .infolist-box:first-child .infolist-date {
        top: 0; }

  .infolist-thumb {
    height: auto;
    width: 25%; }

  .infolist-main {
    width: 70%; }

  .infolist-date {
    font-size: 12px;
    font-size: 1.2rem;
    position: absolute;
    left: 0;
    top: 15px; }

  .infolist-cat {
    font-size: 12px;
    font-size: 1.2rem;
    top: 15px; }

  .infolist-ttl {
    line-height: 1.5;
    margin-top: 0; }

  .infolist-period {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    bottom: 10px;
    font-size: 12px;
    font-size: 1.2rem;
    position: absolute;
    left: 0;
    width: 100%; }
    .infolist-period span {
      background: url(img/icon_calendar.png) no-repeat left top;
      padding-left: 24px; }

  .pager-wrap {
    margin-top: 30px; }

  .pager-list {
    padding-left: 50px;
    padding-right: 50px;
    position: relative; }
    .pager-list li {
      font-size: 12px;
      font-size: 1.2rem;
      margin-bottom: 5px; }
    .pager-list .pager-prev {
      margin-right: 0;
      position: absolute;
      left: 0;
      top: 0; }
    .pager-list .pager-next {
      margin-left: 0;
      position: absolute;
      right: 0;
      top: 0; }
    .pager-list span {
      height: 28px;
      transition: none;
      width: 28px; } }
/* 詳細 */
.info-head {
  position: relative; }

.info-date {
  font-size: 14px;
  font-size: 1.4rem; }

.info-cat {
  color: #5876b9;
  font-size: 14px;
  font-size: 1.4rem;
  position: absolute;
  right: 0;
  top: 0;
  text-align: right; }
  .info-cat:before {
    background-color: #5876b9;
    border-radius: 3px;
    display: inline-block;
    content: '';
    height: 6px;
    margin-right: 4px;
    width: 6px;
    vertical-align: middle; }

.info-ttl {
  font-weight: normal;
  line-height: 1.625; }

.info-period {
  background-color: #f0f2f6;
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 10px;
  padding: 3px 10px; }
  .info-period span {
    background: url(img/icon_calendar.png) no-repeat left top;
    padding-left: 24px; }

.info-ttl {
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 40px;
  margin-top: 20px;
  padding-bottom: 30px; }

.info-body-img {
  margin-bottom: 50px;
  margin-top: 50px;
  text-align: center; }
  .info-body-img:first-child {
    margin-top: 60px; }

.info-body {
  width: 850px;
  /*border-top:1px solid $color-line02;*/ }
  .info-body a {
    color: #1c46a7;
    text-decoration: underline; }
  .info-body table {
    border-bottom: 1px solid #ebedee;
    border-top: 2px solid #ebedee;
    margin-bottom: 30px;
    margin-top: 30px;
    width: 100%; }
    .info-body table th {
      background-color: #f4f4f7;
      border-top: 1px solid #FFF;
      text-align: left; }
    .info-body table td {
      border-top: 1px solid #ebedee; }
    .info-body table tr:first-child th,
    .info-body table tr:first-child td {
      border-top: none; }
    .info-body table th,
    .info-body table td {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 14px;
      font-size: 1.4rem;
      padding: 15px 29px; }
  .info-body ul {
    margin-bottom: 20px;
    margin-top: 20px; }
    .info-body ul li {
      list-style-type: disc;
      margin-left: 1em;
      margin-top: 10px; }
      .info-body ul li:first-child {
        margin-top: 0; }
  .info-body ol {
    margin-bottom: 20px;
    margin-top: 20px; }
    .info-body ol li {
      margin-left: 1em;
      margin-top: 5px; }
      .info-body ol li:first-child {
        margin-top: 0; }

@media screen and (max-width: 767px) {
  .info-body {
    width: 100% !important; }
    .info-body table {
      margin-bottom: 15px;
      margin-top: 15px;
      width: 100%; }
      .info-body table th,
      .info-body table td {
        padding: 10px; }
      .info-body table th {
        min-width: 25%; } }
/* ニュース・トピックス
   ========================================================================== */
.newslist-box {
  padding-bottom: 30px; }
  .newslist-box .infolist-main {
    float: none;
    width: 100%; }

/* ==========================================================================
   05. Responisive
   ========================================================================== */
/* image
   ========================================================================== */
img {
  vertical-align: bottom;
  line-height: 1.0;
  max-width: 100%;
  height: auto !important; }

/* display
   ========================================================================== */
.block {
  display: block; }

.sp-item {
  display: none; }

.pc-block {
  display: block; }

@media screen and (max-width: 767px) {
  .sp-item {
    display: block; }

  .pc-item {
    display: none !important; }

  .pc-block {
    display: inline; }

  .sp-block {
    display: block; } }
