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;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}

html {
  position: relative;
  min-height: 100%;
  font-size: 62.5%;
}
body {
  color:#444;
  font-size: 1.6em;
  font-family: Verdana, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, sans-serif;
  line-height:1.0;
  zoom:1;
}

/* 背景色、背景画像の変更 */
body {
background:#f8f5e5;
}

br {letter-spacing:0;}
ul, li {list-style:none;}
img, a img {border:none; text-decoration:none; vertical-align:top;}
table {border-collapse:collapse;}
input, textarea, select {font-family:sans-serif;}
em, address {font-style:normal;}

.cf:before,
.cf:after {content:""; display:table;}
.cf:after {clear:both;}
.cf {zoom:1;}

a:link    {color:#0000ff; text-decoration:none;}
a:visited {color:#0000ff; text-decoration:none;}
a:hover   {color:#3366CC; text-decoration:none;}
a:active  {color:#99CCFF; text-decoration:none;}

/* -------------------------------------------------------
Layout
---------------------------------------------------------- */
.intro {
  overflow: hidden;
}

.header {
  width: 100%;
  background: #fff;
  overflow: hidden;
}

.hdr-inner {
  position: relative;
}

.logo {
  color: #111;
  font-weight:bold;
}
.logo a {color:#111; text-decoration:none;}
.logo a:hover {color:#666; text-decoration:none;}

.gnv {
  width:100%;
}

.container {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}

.main-v {
  margin:0 auto;
}

.hdr-inner,
.gnv-inner,
.ftr-inner {
  margin:0 auto;
}
.tc_wrap:before, .tc_wrap:after {content:""; display:table;}
.tc_wrap:after {clear:both;}
.tc_wrap {zoom:1;}
.entry_body:before, .entry_body:after {content:""; display:table;}
.entry_body:after {clear:both;}
.entry_body {zoom:1;}
.eb_wrap:before, .eb_wrap:after {content:""; display:table;}
.eb_wrap:after {clear:both;}
.eb_wrap {zoom:1;}


.footer {
  width: 100%;
  background: #5e56a1;
  background-image: linear-gradient(to top, #50479d 0%, #463e93 100%);
  overflow: hidden;
}

/* -------------------------------------------------------
Detail
---------------------------------------------------------- */
.intro_txt {
  padding: 0.5em 1em;
  font-size: 10px;
  text-align: left;
}

.contents_title {
  display: inline-block;
  margin: 0 0 1em;
  padding: 0 1em 0.2em 0.5em;
  /*border-bottom: 1px solid #45ADA8;*/
  color: #473ca1;
  font-size: 120%;
}

.table {}

.table table {
  width: 100%;
  border: 1px solid #d4d5ce;
}

.table th {
  padding: 1em;
  background: #f7f6f4;
  border: 1px solid #d4d5ce;
  font-weight: normal;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
}

.table td {
  padding: 1em;
  border: 1px solid #d4d5ce;
  line-height: 1.6;
}

.policy_wrap {
  font-size: 90%;
}
.policy_block {
  margin-top: 2em;
}
.policy_block dl + dl {
  margin-top: 2em;
}
.policy_block dt {
  margin-bottom: .5em;
  font-weight: bold;
}
.list_disc {
  padding-left: 1em;
  line-height: 1.8;
}
.list_disc li {
  list-style-type: disc;
}


/* -------------------------------------------------------
for SmartPhone
---------------------------------------------------------- */
@media only screen and (max-width:939px){
/* common ------------------------- */
  body {
    margin: 0;
    font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  }

  .pcv {
    display: none;
  }

  .entry_body {
    margin: 0 0 30px;
  }

  .container {
    padding: 0 0 130px;
  }


/* header ------------------------- */
  .intro {
    background: #50479d;
  }

  .intro_txt {
    color: #fff;
  }

  .hdr-inner {
    position: relative;
  }

  .logo {
    padding: 1em 0;
    font-size: 120%;
    font-weight: bold;
    text-align: center;
  }
  .logo img {
    width: 240px;
  }

  .h-contact {
    display: none;
  }

  .h-s-tel {
    position: absolute;
    top: 10px;
    right: 46px;
  }

  .h-mail {
    position: absolute;
    top: 10px;
    right: 5px;
  }

  .h-s-tel a,
  .h-mail a {
    display: block;
    width: 36px;
    padding: 5px 0 8px;
    background: #333;
    border-radius: 5px;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
  }


/* gnv ------------------------- */
  .gnv {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 150px;
  }

  .gnv .gnv-inner {
    padding: 15px 10px;
    text-align: center;
  }

  .gnv .gnavi {
    letter-spacing: -0.4em;
  }

  .gnv .gnavi li {
    display: inline-block;
    letter-spacing: normal;
    width: 45%;
    margin: 0 10px 5px 0;
  }

  .gnv .gnavi li a {
    display: block;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: #444;
    font-size: 12px;
    text-decoration: none;
    line-height: 36px;
    text-align: center;
  }

/* main-v ------------------------- */
  .main-v {
    margin: 0 0 30px;
  }

  .main-v img {
    width: 100%;
  }

  .main-v .mv-catch {
    padding: 10px;
    background: #50479d;
    color: #fff;
    text-align: center;
  }

  .mv-catch h1 {
    margin-bottom: 8px;
    font-size: 6vw;
    font-weight: bold;
  }

  .mv-catch p {
    font-size: .8em;
    line-height: 1.5;
  }


/* contents ------------------------- */
  .top_contents_block {
    margin: 15px 10px 30px;
    background: #fff;
    border-radius: 5px;
  }

  .contents_block {
    margin: 15px 10px 30px;
    background: #fff;
    border-radius: 5px;
  }

  .contents_inner {
    padding: 1em;
  }

  .contents_inner p {
    font-size: 90%;
    line-height: 1.8;
  }

  .page_title {
    margin-bottom: 16px;
    text-align: center;
  }
  .page_title h1 {
    font-size: 140%;
  }
  .contents_title {
    line-height: 1.2;
  }
  .contents_title span {
    display: block;
  }

  .page_catch {
    margin-bottom: 32px;
    padding: 1em 0;
    border-top: 1px solid #473ca1;
    border-bottom: 1px solid #473ca1;
    font-size: 120%;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
  }
  .page_catch span {
    display: block;
  }

  .table {
    width: 100%;
    margin: 0 auto 50px;
    font-size: 80%;
  }

  .table th {
    font-size: 10px;
    white-space: nowrap;
  }

  .contents_img_r,
  .contents_img_l,
  .contents_img_c {
    margin: 0 0 15px;
    text-align: center;
  }

  .contents_img_r img,
  .contents_img_l img,
  .contents_img_c img {
    width: 100%;
    max-width: 300px;
  }

  .map_space {
    width: 100%;
    margin: 0 auto;
  }

  .map_space iframe {
    width: 100%;
    height: 240px;
  }

  .file_link_block + .file_link_block {
    margin-top: 40px;
  }
  .file_link_block .file_link_title {
    margin-bottom: 1em;
    padding: .2em 0 .2em .5em;
    border-left: 4px solid #5e56a1;
    font-size: 120%;
  }
  .file_link_block ul {
    padding-left: 1em;
  }
  .file_link_block li + li {
    margin-top: 1em;
  }

  /* 追加・修正 */
  .top_contents_block h2 {
    margin: 0 0 1em;
    color: #473ca1;
    font-size: 5vw;
    font-weight: bold;
    text-align: center;
  }

  .h_link {
    padding: 8px;
    background: #0ea55c;
  }
  .datalink + .datalink {
  	margin-top: 8px;
  }
  .datalink a {
    color: #fff;
    line-height: 1.4;
  }
  .datalink a:after {
    content: "\f138";
    font-family: "FontAwesome";
    margin-left: 8px;
  }


  ul.gallery {
    letter-spacing: -0.4em;
    margin-top: 32px;
    text-align: center;
  }
  ul.gallery li {
    letter-spacing: normal;
    display: inline-block;
    width: 46%;
    margin: 0 8px 8px 0;
  }
  ul.gallery li img {
    width: 100%;
    cursor: pointer;
  }



/* footer ------------------------- */
  .ftr-inner {
    padding: 1em 0;
    color: #eee;
    text-align: center;
  }

  address {
    margin: 0 0 10px;
    font-size: 12px;
  }

  address span {
    display: block;
    font-size: 10px;
    line-height: 1.5;
  }

  .copyright {
    font-size: 10px;
  }
}


/* -------------------------------------------------------
for PC
---------------------------------------------------------- */
@media only screen and (min-width:940px){
/* common ------------------------- */
  body {
    margin: 0 0 5em;
  }

  .spv {
    display: none;
  }


  .hdr-inner,
  .ftr-inner {
    width: 940px;
    margin: 0 auto;
  }

  .h-s-tel {
    display: none;
  }

  .entry_body {
    margin: 0 0 50px;
  }

  .footer {
    position: absolute;
    bottom: 0;
    min-height: 5em;
  }


/* header ------------------------- */
  .intro {
    background: #50479d;
  }

  .intro_txt {
    width: 940px;
    margin: 0 auto;
    color: #eee;
    letter-spacing: 0.1em;
  }

  .hdr-inner {
    position: relative;
    height: 80px;
  }

  .logo {
    position: absolute;
    top: 24px;
    left: 0;
  }
  .logo img {
    height: 40px;
  }

  .h_link {
    position: absolute;
    top: 8px;
    right: 0;
  }
  .datalink {
    display: inline-block;
  }
  .datalink a {
    display: block;
    padding: 10px 16px;
    background: #0ea55c;
    background-image: linear-gradient(to top, #0ba360 0%, #3cba92 100%);
    border-radius: 8px;
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
    box-shadow: 0 2px 3px rgba(0,0,0,0.2);
  }
  .datalink a:after {
    content: "\f138";
    font-family: "FontAwesome";
    margin-left: 8px;
  }

  .h-contact {
    position: absolute;
    top: 15px;
    right: 50px;
    font-size: 11px;
    line-height: 1.5;
    text-align: right;
  }

  .h-contact .tel-num {
    font-size: 20px;
    font-weight: bold;
  }

  .h-mail {
    position: absolute;
    top: 20px;
    right: 0px;
  }

  .h-mail a {
    display: block;
    width: 36px;
    padding: 5px 0 8px;
    background: #333;
    border-radius: 5px;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
  }


/* gnv ------------------------- */
  .gnv {
    margin: 0 0 30px;
    background: #5e56a1;
  }

  .gnv .gnv-inner {
    width: 942px;
    margin: 0 auto;
    /*background: url(images/gnav_line.png) no-repeat center;*/
  }

  .gnv .gnavi {
    letter-spacing: -0.4em;
    list-style: none;
  }

  .gnv .gnavi li {
    display: inline-block;
    position: relative;
    width: 180px;
    margin: 0 0 0 1px;
    letter-spacing: normal;
    vertical-align: middle;
  }

  .gnv .gnavi li.gn_home {
    width: 150px;
    margin: 0 0 0 1px;
  }

  .gnv .gnavi li a {
    display: block;
    box-sizing: border-box;
    min-height: 60px;
    padding: 18px 0 18px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
  }

  .gnv .gnavi li a:hover {
    background: #50479d;
  }
  .gnv .gnavi li a i {
    font-weight: normal;
  }

/* #main-v ------------------------- */
  .main-v {
    position: relative;
    overflow: hidden;
    width: 940px;
    min-height: 380px;
    margin: 0 auto 30px;
    border-radius: 5px;
  }
  .main-v img {
    width: 100%;
  }

  .main-v .mv-catch {
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 24px 30px;
    background: rgba(0, 0, 0, 0.5);
    z-index: 100;
  }

  .mv-catch h1 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
  }

  .mv-catch p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 13px;
  }
  /* 追加・修正 */
  .mv_c_vertical {
    position: absolute;
    top: 0;
    left: 48px;
    padding: 32px 16px;
    background: rgba(255,255,255,0.8);
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 2.0;
  }
  .mv_c_vertical h1 {
    color: #473ca1;
    font-size: 2em;
    font-weight: bold;
  }
  .mv_c_vertical p {
    letter-spacing: .1em;
  }

  /* 追加・修正 */
  .top_contents_block h2 {
    margin: 0 0 1em;
    color: #473ca1;
    font-size: 2em;
    font-weight: bold;
  }

  ul.gallery {
    letter-spacing: -0.4em;
    margin-top: 40px;
    text-align: center;
  }
  ul.gallery li {
    letter-spacing: normal;
    display: inline-block;
    width: 400px;
    margin: 0 16px 16px 0;
  }
  ul.gallery li img {
    width: 100%;
    cursor: pointer;
  }



/* TOPpage ------------------------- */
  .top_contents_block {
    box-sizing: border-box;
    width: 940px;
    margin: 0 auto 2em;
    padding: 30px;
    background: #fff;
    border-radius: 5px;
  }

  .top_contents_block h2,
  .contents_inner h1,
  .contents_title {
    /*letter-spacing: 0.1em;*/
  }

/* contents ------------------------- */
  .contents_block {
    box-sizing: border-box;
    width: 940px;
    margin: 0 auto 7em;
    padding: 30px;
    background: #fff;
    border-radius: 5px;
  }

  .contents_inner + .contents_inner {
    margin-top: 80px;
  }
  .contents_inner h1 {
    margin: 0 0 1em;
    color: #222;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
  }
  .contents_inner p {
    font-size: 1em;
    line-height: 2.0;
  }

  .page_title {
    text-align: center;
  }
  .page_title h1 {
    display: inline-block;
    padding-bottom: 16px;
    border-bottom: 1px solid #5e56a1;
  }

  .page_catch {
    margin-bottom: 32px;
    padding: 1em 0;
    border-top: 1px solid #473ca1;
    border-bottom: 1px solid #473ca1;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
  }


  .table {
    width: 96%;
    margin: 0 auto 50px;
    font-size: 80%;
  }

  .table th {
    width: 8em;
  }

  .map_space {
    width: 840px;
    margin: 0 auto;
  }

  .map_space iframe {
    width: 100%;
    height: 360px;
  }

  .contents_img_r {
    float: right;
    margin: 0 0 24px 24px;
  }

  .contents_img_l {
    float: left;
    margin: 0 24px 24px 0;
  }

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

  .contents_img_r img,
  .contents_img_l img {
    width: 400px;
  }

  .contents_img_c img {
    width: 100%;
  }

  .file_link_wrap {
    display: flex;
    justify-content: space-between;
  }
  .file_link_wrap .file_link_block {
    width: 48%;
  }
  .file_link_block .file_link_title {
    margin-bottom: 1em;
    padding: .2em 0 .2em .5em;
    border-left: 4px solid #5e56a1;
    color: #111;
    font-size: 20px;
  }
  .file_link_block ul {
    padding-left: 1em;
  }
  .file_link_block li + li {
    margin-top: 1em;
  }

  dl.kyoka {}
  dl.kyoka dt {}
  dl.kyoka dd {
    padding-left: 1em;
  }


/* footer ------------------------- */
  .ftr-inner {
    height: 4em;
    padding: 2em 0 0;
    color: #eee;
    font-size: 13px;
    text-align: center;
  }

  address {
    margin: 0 0 10px;
    font-size: 13px;
  }

  address span {
    display: inline-block;
    margin: 0 0 0 1em;
    font-size: 11px;
  }

  .copyright {
    font-size: 10px;
  }
}



/* -------------------------------------------------------
Common
---------------------------------------------------------- */
.fs80 {font-size:80%;}
.fs90 {font-size:90%;}
.fs100 {font-size:100%;}
.fs110 {font-size:110%;}
.fs120 {font-size:120%;}
.fs150 {font-size:150%;}
.fs10px {font-size:10px;}
.fs11px {font-size:11px;}
.fs12px {font-size:12px;}
.fs13px {font-size:13px;}
.fs14px {font-size:14px;}
.fs15px {font-size:15px;}
.fs16px {font-size:16px;}

.lh15 {line-height:1.5;}
.lh16 {line-height:1.6;}
.lh17 {line-height:1.7;}
.lh18 {line-height:1.8;}
.lh20 {line-height:2.0;}

.ti1em {text-indent:1em;}

.fwb {font-weight:bold;}

.mgb5 {margin-bottom:5px;}
.mgb10 {margin-bottom:10px;}
.mgb15 {margin-bottom:15px;}
.mgb20 {margin-bottom:20px;}
.mgb30 {margin-bottom:30px;}
.mgb40 {margin-bottom:40px;}
.mgb50 {margin-bottom:50px;}
.mgb100 {margin-bottom:100px;}
.mgb1em {margin-bottom:1em;}
.mgb105em {margin-bottom:1.5em;}
.mgb2em {margin-bottom:2em;}

.mgt1em {margin-top: 1em;;}

.mgr10 {margin-right:10px;}
.mgr15 {margin-right:15px;}
.mgr20 {margin-right:20px;}

.pdlr10 {padding:0 10px;}
.pdlr20 {padding:0 20px;}
.pdlr30 {padding:0 30px;}
.pdlr1em {padding:0 1em;}

.tac {text-align:center;}
.tal {text-align:left;}
.tar {text-align:right;}

.fc_red {color:#ff0000;}

.udl {border-bottom:1px solid #ff0000;}
