@charset "UTF-8";
/*!===========================
このcssはSassから生成されていますので、
直接編集しないようご注意ください。
===========================*/
html {
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-feature-settings: "palt";
  font-size: 62.5%;
  color: #000;
  background: #fff; }

body {
  line-height: 1.75;
  font-size: 1.6em; }

a {
  color: #383582; }
  a:hover {
    text-decoration: none;
    opacity: 0.8; }

figure {
  text-align: center; }

img {
  max-width: 100% !important;
  height: auto !important;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  touch-callout: none;
  user-select: none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4; }

hr {
  clear: both;
  border: 0;
  margin: 60px 0;
  border-top: 1px solid; }

table {
  width: 100%;
  font-size: 1.4rem;
  border: 0;
  border-collapse: collapse; }
  table > tbody > tr > th,
  table > tbody > tr > td {
    padding: 15px;
    border: 1px solid #e3e3e3; }
  table > tbody > tr > th {
    width: 25%;
    font-weight: inherit;
    text-align: center;
    background: #f7f7f7; }
  table.col > tbody > tr > th {
    width: auto; }
  table > caption {
    font-weight: bold;
    text-align: left; }

/* class
============================== */
.sp {
  display: none; }

.clearfix::after, #content::after {
  content: "";
  display: block;
  clear: both; }

.right {
  text-align: right !important; }

.center {
  text-align: center !important; }

.aligncenter {
  display: block;
  margin: 0 auto; }

.alignleft,
.alignright {
  max-width: 52% !important;
  margin-bottom: 20px; }

.alignleft {
  float: left;
  margin-right: 40px; }

.alignright {
  float: right;
  margin-left: 40px; }

.nowrap {
  white-space: nowrap; }

.wrap {
  word-break: break-all; }

.kome:not(ul),
ul.kome > li {
  text-indent: -1em;
  padding-left: 1em; }
  .kome:not(ul)::before,
  ul.kome > li::before {
    content: "※"; }

.mtop0 {
  margin-top: 0 !important; }

.col:not(table) {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .col:not(table) > * {
    width: 48.5%; }
    .col:not(table) > *.col-in1 {
      width: calc(8.33% - 1.5%); }
    .col:not(table) > *.col-in2 {
      width: calc(16.66% - 1.5%); }
    .col:not(table) > *.col-in3 {
      width: calc(24.99% - 1.5%); }
    .col:not(table) > *.col-in4 {
      width: calc(33.32% - 1.5%); }
    .col:not(table) > *.col-in5 {
      width: calc(41.65% - 1.5%); }
    .col:not(table) > *.col-in6 {
      width: calc(49.98% - 1.5%); }
    .col:not(table) > *.col-in7 {
      width: calc(58.31% - 1.5%); }
    .col:not(table) > *.col-in8 {
      width: calc(66.64% - 1.5%); }
    .col:not(table) > *.col-in9 {
      width: calc(74.97% - 1.5%); }
    .col:not(table) > *.col-in10 {
      width: calc(83.3% - 1.5%); }
    .col:not(table) > *.col-in11 {
      width: calc(91.63% - 1.5%); }
    .col:not(table) > *.col-in12 {
      width: 100%; }

.btn, .btn02, #pnav a {
  display: block;
  position: relative;
  width: 390px;
  max-width: 100% !important;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #fff;
  margin: 0 auto;
  padding: 2em 2.5em;
  background: #383582;
  border: 0;
  border-radius: 100px; }
  .btn::after, .btn02::after, #pnav a::after {
    content: "\f0a9";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    position: absolute;
    top: calc(50% - 0.5em);
    right: 1.5em;
    line-height: 1; }
  .btn.color01, .color01.btn02, #pnav a {
    color: #383582;
    background: #ccc; }
  .btn.pdf::after, .pdf.btn02::after, #pnav a.pdf::after {
    content: "\f1c1"; }

.btn02 {
  display: inline-block;
  width: auto;
  min-width: 260px;
  font-weight: normal;
  text-align: left;
  margin-left: 0;
  padding: 1.2em 1em 1.2em 2.5em;
  border-radius: 3px; }
  .btn02::after {
    left: 1em;
    right: 0; }

.wp-pagenavi {
  clear: both;
  margin-top: 40px;
  text-align: center; }
  .wp-pagenavi > * {
    display: inline-block;
    min-width: 3em;
    line-height: 1.4;
    font-size: 1.3rem;
    margin: 2px 2px 0;
    padding: 10px 5px;
    border: 1px solid #383582; }
  .wp-pagenavi a:hover,
  .wp-pagenavi .current {
    color: #fff;
    background: #383582;
    border-color: #383582; }
  .wp-pagenavi a {
    text-decoration: none; }
    .wp-pagenavi a:hover {
      opacity: 1; }
  .wp-pagenavi .pages {
    min-width: 4em; }

/* ==================================================
layout
================================================== */
header,
footer,
#content > * {
  padding-left: 15px;
  padding-right: 15px; }

header > *,
footer > *,
#content > * > * {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto; }

/* ==================================================
header
================================================== */
header {
  width: 100%;
  line-height: 1.15;
  padding-top: 30px;
  padding-bottom: 30px;
  background: #fff; }
  header a {
    text-decoration: none;
    color: inherit; }
  header > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: none; }

#hlogo {
  line-height: 1;
  width: 26%; }

#gnav-wrap {
  width: 72%; }

#gnav {
  display: flex;
  justify-content: flex-end; }
  #gnav li {
    margin-left: 20px; }
    #gnav li a {
      display: inline-block;
      position: relative;
      line-height: 1.2;
      font-size: 1.5rem;
      padding-left: 1.5em; }
      #gnav li a::before {
        content: "\f0a9";
        font-family: "Font Awesome 5 Pro";
        font-weight: 900;
        position: absolute;
        left: 0;
        color: #383582;
        margin-right: 0.5em; }

/* ==================================================
footer
================================================== */
footer {
  line-height: 1.15;
  color: #fff;
  padding-top: 30px;
  padding-bottom: 30px;
  background: #383582; }
  footer a {
    text-decoration: none;
    color: inherit; }
  footer > div {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    footer > div > address {
      width: 255px; }
      footer > div > address dl {
        display: flex;
        align-items: center;
        line-height: 1.4;
        margin-top: 20px; }
        footer > div > address dl dt {
          font-size: 1.4rem;
          text-align: center;
          padding: 8px;
          border: 1px solid; }
        footer > div > address dl dd {
          margin-left: 10px; }
    footer > div > div {
      width: calc(100% - 255px); }

.fnav {
  display: flex;
  justify-content: flex-end; }
  .fnav li {
    margin-left: 20px;
    margin-bottom: 14px; }
    .fnav li a {
      display: inline-block;
      position: relative;
      line-height: 1.2;
      font-size: 1.3rem;
      padding-left: 1.5em; }
      .fnav li a::before {
        content: "\f0a9";
        font-family: "Font Awesome 5 Pro";
        font-weight: 900;
        position: absolute;
        left: 0;
        margin-right: 0.5em; }

#copyright {
  font-size: 1.2rem;
  text-align: center;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #fff; }

/* ==================================================
main
================================================== */
#content > * {
  padding-top: 60px;
  padding-bottom: 60px; }

[id^="top-"] h2 {
  font-size: 2.6rem;
  font-weight: normal;
  text-align: center;
  margin-bottom: 40px; }
  [id^="top-"] h2 span {
    display: block;
    font-size: calc(18 / 26 * 1em);
    font-weight: bold;
    color: #383582; }

#pttl {
  text-align: center;
  color: #fff;
  background: #383582; }
  #pttl > * {
    line-height: 1.4;
    font-size: 6rem;
    font-weight: normal; }
    #pttl > * span {
      display: block;
      width: 200px;
      font-size: calc(18 / 60 * 1em);
      margin: 0 auto;
      padding: 0.5em;
      border: 1px solid; }

#breadcrumb {
  font-size: 1.4rem;
  padding-top: 10px;
  padding-bottom: 0; }
  #breadcrumb li {
    display: inline; }
    #breadcrumb li:not(:last-child)::after {
      content: "＞";
      margin: 0 0.5em 0 1em; }

#pnav {
  clear: both;
  padding-top: 0; }
  #pnav a::after {
    content: "\f0a8";
    left: 1.5em;
    right: auto; }

/* base
============================== */
.base h1,
.base h2,
.base h3,
.base h4,
.base h5,
.base h6,
.base p,
.base ul,
.base ol,
.base dl,
.base table,
.base figure,
.base .scroll,
.base > *,
#privacy h1,
#privacy h2,
#privacy h3,
#privacy h4,
#privacy h5,
#privacy h6,
#privacy p,
#privacy ul,
#privacy ol,
#privacy dl,
#privacy table,
#privacy figure,
#privacy .scroll,
#privacy > * {
  margin-top: 2em; }
  .base .col:not(table) > *, .base h1:first-child,
  .base h2:first-child,
  .base h3:first-child,
  .base h4:first-child,
  .base h5:first-child,
  .base h6:first-child,
  .base p:first-child,
  .base ul:first-child,
  .base ol:first-child,
  .base dl:first-child,
  .base table:first-child,
  .base figure:first-child,
  .base .scroll:first-child,
  .base > *:first-child,
  #privacy h1:first-child,
  #privacy h2:first-child,
  #privacy h3:first-child,
  #privacy h4:first-child,
  #privacy h5:first-child,
  #privacy h6:first-child,
  #privacy p:first-child,
  #privacy ul:first-child,
  #privacy ol:first-child,
  #privacy dl:first-child,
  #privacy table:first-child,
  #privacy figure:first-child,
  #privacy .scroll:first-child,
  #privacy > *:first-child {
    margin-top: 0; }
.base h1,
#privacy h1 {
  position: relative;
  font-size: 3rem;
  font-weight: normal;
  padding-bottom: 0.3em;
  border-bottom: 3px solid #ccc; }
  .base h1::after,
  #privacy h1::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 200px;
    max-width: 30%;
    height: 0;
    border-bottom: 3px solid #383582; }
.base h2,
#privacy h2 {
  font-size: 2.4rem;
  font-weight: normal;
  padding: 0.5em;
  background: #f7f7f7;
  border-left: 4px solid #383582; }
.base h3,
#privacy h3 {
  font-size: 2rem;
  font-weight: normal;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #e3e3e3; }
.base ul:not([class]),
.base ol:not([class]),
#privacy ul:not([class]),
#privacy ol:not([class]) {
  padding-left: 2em; }
  .base ul:not([class]) ul,
  .base ul:not([class]) ol,
  .base ol:not([class]) ul,
  .base ol:not([class]) ol,
  #privacy ul:not([class]) ul,
  #privacy ul:not([class]) ol,
  #privacy ol:not([class]) ul,
  #privacy ol:not([class]) ol {
    margin-top: 0; }
.base ul:not([class]),
#privacy ul:not([class]) {
  list-style: disc; }
.base ol:not([class]),
#privacy ol:not([class]) {
  list-style: decimal; }
  .base ol:not([class]) li > ol,
  #privacy ol:not([class]) li > ol {
    list-style: lower-alpha; }
.base ul:not([class]) > li,
.base ol:not([class]) > li,
.base dl:not([class]) > dt,
#privacy ul:not([class]) > li,
#privacy ol:not([class]) > li,
#privacy dl:not([class]) > dt {
  margin-top: 0.5em; }

/* top
============================== */
#kv {
  padding: 0; }
  #kv > * {
    max-width: none; }
  #kv .slick-dotted.slick-slider {
    margin-bottom: 0; }
  #kv .slick-slide li {
    vertical-align: top;
    position: relative; }
    #kv .slick-slide li p {
      width: calc(840 / 1366 * 100%);
      padding: 1em calc(60 / 840 * 100%);
      position: absolute;
      left: 0;
      bottom: 2%;
      background: linear-gradient(90deg, rgba(9, 8, 51, 0.9) 0%, rgba(56, 53, 129, 0.7) 50%, rgba(56, 53, 129, 0) 100%);
      font-size: 3vw;
      line-height: 1;
      color: #fff; }
      #kv .slick-slide li p span {
        font-size: 1vw;
        border: 1px solid #fff;
        padding: 8px 20px; }
  #kv img {
    width: 100%; }
  #kv .slick-dots {
    position: static;
    max-width: 1100px;
    line-height: 0;
    text-align: right;
    margin: 0 auto;
    padding: 20px 0; }
    #kv .slick-dots li {
      width: auto;
      height: auto; }
      #kv .slick-dots li button {
        width: 10px;
        height: 10px;
        background: #999;
        border-radius: 100%; }
        #kv .slick-dots li button::before {
          content: normal; }
      #kv .slick-dots li.slick-active button {
        background: #383582; }

#top-news,
#top-culture,
#top-training {
  background: #efeff5; }

#top-banner div {
  text-align: center; }
  #top-banner div a {
    display: inline-block; }

#top-news {
  position: relative; }
  #top-news h2 {
    font-size: 4rem;
    text-align: left; }
    #top-news h2 span {
      display: inline;
      font-size: calc(20 / 40 * 1em);
      font-weight: normal;
      color: inherit;
      margin-left: 1em; }
  #top-news dl {
    display: flex;
    flex-wrap: wrap; }
    #top-news dl dt,
    #top-news dl dd {
      margin-top: 20px;
      padding-top: 20px;
      border-top: 1px dashed #ccc; }
      #top-news dl dt:first-of-type,
      #top-news dl dd:first-of-type {
        margin-top: 0;
        padding-top: 0;
        border-top: 0; }
    #top-news dl dt {
      width: 350px; }
    #top-news dl dd {
      width: calc(100% - 350px); }
    #top-news dl a {
      text-decoration: none;
      color: inherit; }
      #top-news dl a:hover {
        text-decoration: underline; }
    #top-news dl .cate {
      display: inline-block;
      min-width: 150px;
      line-height: 1.2;
      font-size: 1.2rem;
      text-align: center;
      color: #383582;
      margin-left: 50px;
      padding: 5px;
      border: 1px solid; }
  #top-news .btn-wrap {
    position: absolute;
    top: 60px;
    left: 50%;
    width: calc(100% - 30px);
    transform: translateX(-50%); }
    #top-news .btn-wrap a {
      font-size: 1.4rem;
      width: 200px;
      margin-right: 0;
      padding-top: 1em;
      padding-bottom: 1em;
      border-radius: 0; }

#top-about .col > *,
#top-culture .col > * {
  width: calc(566 / 1100 * 100%); }
#top-about .col > figure,
#top-culture .col > figure {
  width: calc(490 / 1100 * 100%); }
#top-about .col strong,
#top-culture .col strong {
  color: #383582; }
#top-about .btn-wrap,
#top-culture .btn-wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 30px; }
  #top-about .btn-wrap a,
  #top-culture .btn-wrap a {
    margin: 10px 20px 0; }
    #top-about .btn-wrap a.btn, #top-about .btn-wrap a.btn02, #top-about .btn-wrap #pnav a, #pnav #top-about .btn-wrap a,
    #top-culture .btn-wrap a.btn,
    #top-culture .btn-wrap a.btn02,
    #top-culture .btn-wrap #pnav a,
    #pnav #top-culture .btn-wrap a {
      width: 470px !important; }
#top-about .bnr-wrap,
#top-culture .bnr-wrap {
  max-width: 960px;
  margin: 3em auto 0; }
  #top-about .bnr-wrap a,
  #top-culture .bnr-wrap a {
    display: block; }

#top-about .col {
  flex-direction: row-reverse; }
#top-about ul {
  display: flex;
  justify-content: space-between;
  margin-top: 40px; }
  #top-about ul li {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-right: 1px dashed #e3e3e3;
    padding-right: 20px;
    margin-right: 20px; }
    #top-about ul li:last-child {
      border: 0px; }
  #top-about ul h3 {
    margin-bottom: 1em;
    font-size: 1.8rem;
    color: #383582; }
  #top-about ul p {
    margin-bottom: 1.6em;
    font-size: 1.4rem; }
  #top-about ul a {
    display: block;
    max-width: 200px !important;
    margin: auto auto 0;
    padding: 10px;
    background: #383582;
    color: #fff;
    font-size: 1.2rem;
    text-decoration: none;
    text-align: center; }

#top-seminor,
#top-training,
#top-course {
  font-size: 1.4rem; }
  #top-seminor .col,
  #top-training .col,
  #top-course .col {
    flex-direction: row-reverse;
    align-items: center; }
    #top-seminor .col > *,
    #top-training .col > *,
    #top-course .col > * {
      width: calc(566 / 1100 * 100%); }
    #top-seminor .col > figure,
    #top-training .col > figure,
    #top-course .col > figure {
      width: calc(490 / 1100 * 100%); }
  #top-seminor p,
  #top-training p,
  #top-course p {
    margin-top: 15px; }
  #top-seminor .date,
  #top-training .date,
  #top-course .date {
    display: inline-block;
    line-height: 1.2;
    font-size: 1.6rem;
    color: #fff;
    margin-top: 0;
    padding: 10px;
    background: #383582; }
  #top-seminor .ttl,
  #top-training .ttl,
  #top-course .ttl {
    line-height: 1.4;
    font-size: 2.8rem; }
    #top-seminor .ttl span,
    #top-training .ttl span,
    #top-course .ttl span {
      font-size: calc(20 / 28 * 1em); }
  #top-seminor .name,
  #top-training .name,
  #top-course .name {
    line-height: 1.4;
    font-size: 2rem;
    color: #383582; }
  #top-seminor .btn-wrap,
  #top-training .btn-wrap,
  #top-course .btn-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 30px 0 0 -10px; }
    #top-seminor .btn-wrap a,
    #top-training .btn-wrap a,
    #top-course .btn-wrap a {
      margin: 5px 10px 0; }
  #top-seminor .btn, #top-seminor .btn02, #top-seminor #pnav a, #pnav #top-seminor a,
  #top-training .btn,
  #top-training .btn02,
  #top-training #pnav a,
  #pnav #top-training a,
  #top-course .btn,
  #top-course .btn02,
  #top-course #pnav a,
  #pnav #top-course a {
    width: 228px;
    padding-top: 1em;
    padding-bottom: 1em; }
  #top-seminor .no-post,
  #top-training .no-post,
  #top-course .no-post {
    width: 100%;
    max-width: 800px;
    margin: 0 auto; }
    #top-seminor .no-post p,
    #top-training .no-post p,
    #top-course .no-post p {
      margin: 0;
      padding: .4em 1em;
      font-size: 1.8rem;
      border: 1px dashed #383582;
      color: #383582;
      text-align: center; }

#top-training .col {
  flex-direction: row; }

/* news
============================== */
#news-sec01 ul li {
  display: flex;
  justify-content: space-between;
  font-size: 1.3rem;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px dashed #e3e3e3; }
  #news-sec01 ul li:last-child {
    margin-bottom: 0; }
  #news-sec01 ul li > figure {
    width: calc(300 / 1100 * 100%); }
  #news-sec01 ul li > div {
    width: calc(760 / 1100 * 100%); }
  #news-sec01 ul li p {
    margin-top: 20px; }
    #news-sec01 ul li p:first-child {
      margin-top: 0; }
    #news-sec01 ul li p:last-child a {
      width: 180px;
      margin-left: 0;
      padding-top: 1em;
      padding-bottom: 1em; }
  #news-sec01 ul li .ttl {
    font-size: 1.8rem; }
  #news-sec01 ul li time {
    font-size: 1.2rem;
    color: #383582; }
#news-sec01 .no-post {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: .4em 1em;
  font-size: 1.8rem;
  border: 1px dashed #383582;
  color: #383582;
  text-align: center; }
#news-sec01 .bnr-area {
  margin-top: 3em; }
  #news-sec01 .bnr-area a {
    display: block; }

/* prize
============================== */
#prize-sec01 h2,
#prize-sec02 h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
  font-size: 3rem;
  color: #383582;
  text-align: center; }
  #prize-sec01 h2::before,
  #prize-sec02 h2::before {
    content: "";
    width: 2em;
    margin-right: 14px;
    height: 0.6em;
    background: url("../img/prize-ttl-bg01.svg") no-repeat center/contain; }
  #prize-sec01 h2::after,
  #prize-sec02 h2::after {
    content: "";
    width: 2em;
    margin-left: 14px;
    height: 0.6em;
    background: url("../img/prize-ttl-bg02.svg") no-repeat center/contain; }

#prize-sec01 .first {
  position: relative;
  margin-bottom: 50px; }
  #prize-sec01 .first p {
    width: calc(172 / 1366 * 100%);
    position: absolute;
    left: 2%;
    top: 0; }
#prize-sec01 div:not([class]) {
  padding: 0 calc(30 / 1100 * 100%) 20px;
  border: 2px solid #aeadcc; }
  #prize-sec01 div:not([class]) h2 {
    background: #fff;
    max-width: 10em;
    margin: -0.7em auto 0; }
  #prize-sec01 div:not([class]) > p {
    margin-top: 0.6em;
    font-size: 2rem;
    color: #383582;
    font-weight: bold;
    text-align: center; }
  #prize-sec01 div:not([class]) h3 {
    margin: 1em 0;
    text-align: center;
    font-size: 2rem;
    font-weight: normal; }
  #prize-sec01 div:not([class]) .txt {
    padding: calc(30 / 1020 * 100%);
    background: #eeeef4; }
    #prize-sec01 div:not([class]) .txt h4 {
      margin-bottom: 0.6em;
      color: #383582;
      font-weight: bold; }
    #prize-sec01 div:not([class]) .txt p {
      font-size: 1.4rem; }

#prize-sec02 li {
  margin-bottom: 40px; }
  #prize-sec02 li figure {
    margin-bottom: 20px; }
    #prize-sec02 li figure img {
      width: 350px !important;
      height: 192px !important;
      object-fit: cover; }
  #prize-sec02 li .award {
    display: inline-block;
    min-width: 120px;
    padding: 6px 10px;
    background: #383582;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center; }
  #prize-sec02 li h3 {
    margin: 0.5em 0;
    color: #383582;
    font-size: 2rem; }
#prize-sec02 .btn-wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 30px; }
  #prize-sec02 .btn-wrap a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 10px 20px 0;
    padding: 2em 3em; }

/* member
============================== */
#member .kome,
#sitemap .kome {
  margin-bottom: 10px;
  text-align: right; }
#member h2,
#sitemap h2 {
  font-size: 2.4rem;
  font-weight: normal;
  padding: 0.5em;
  background: #f7f7f7;
  border-left: 4px solid #383582; }
#member ol,
#member ul,
#sitemap ol,
#sitemap ul {
  margin: 30px auto 50px; }
#member li,
#sitemap li {
  margin-bottom: 1em; }
  #member li::before,
  #sitemap li::before {
    content: "\f0a9";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    color: #383582;
    margin-right: 0.5em;
    text-decoration: none !important; }

/* expo
============================== */
#expo .info {
  background: #f7f7f7;
  border: 2px solid #383582;
  padding: 20px calc(30 / 1100 * 100%);
  margin-bottom: 40px; }
  #expo .info h3 {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #333;
    color: #383582;
    font-size: 1.8rem;
    text-align: center; }
  #expo .info p {
    font-size: 1.4rem; }
#expo h2 {
  margin-bottom: 40px;
  font-size: 2.4rem;
  font-weight: normal;
  padding: 0.5em;
  background: #f7f7f7;
  border-left: 4px solid #383582; }
#expo .photo {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap; }
#expo figure {
  width: calc(165 / 1100 * 100%);
  margin-right: calc(22 / 1100 * 100%);
  margin-top: 30px !important; }
  #expo figure:nth-child(6n) {
    margin-right: 0; }
#expo figcaption {
  margin-top: 10px;
  color: #383582;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.35; }
#expo .btn-wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 30px; }
  #expo .btn-wrap a {
    margin: 10px 20px 0; }

/* sitemap
============================== */
#sitemap ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap; }
#sitemap li {
  width: calc(252 / 1100 * 100%);
  margin-right: calc(30 / 1100 * 100%);
  margin-top: 30px !important; }
  #sitemap li:nth-child(4n) {
    margin-right: 0; }

/* 静岡県住まいの文化賞に応募する
============================== */
#prize-form .thanks-txt {
  margin: 150px auto;
  text-align: center;
  font-size: 2rem;
  font-weight: bold; }
  #prize-form .thanks-txt p:not(:first-child) {
    font-weight: normal;
    font-size: 1.6rem;
    margin-top: 20px;
    line-height: 2; }
#prize-form .prize-img {
  max-width: 720px;
  margin-bottom: 60px; }
#prize-form .btn-wrap .btn, #prize-form .btn-wrap .btn02, #prize-form .btn-wrap #pnav a, #pnav #prize-form .btn-wrap a {
  padding: 2em 3.2em; }
  #prize-form .btn-wrap .btn.download::after, #prize-form .btn-wrap .download.btn02::after, #prize-form .btn-wrap #pnav a.download::after, #pnav #prize-form .btn-wrap a.download::after {
    content: "\f56d";
    font-size: 2rem; }
#prize-form .btn-wrap.application {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 0; }
  #prize-form .btn-wrap.application > a {
    margin: 2em 1em 0em 1em; }
#prize-form .mw_wp_form .note {
  padding: 2rem;
  background: #eeeef4; }
#prize-form .mw_wp_form .input_wrap {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #ccc; }
  #prize-form .mw_wp_form .input_wrap > div {
    padding: 10px; }
  #prize-form .mw_wp_form .input_wrap .title {
    display: flex;
    align-items: center;
    position: relative;
    width: 30%;
    font-weight: bold;
    line-height: 1.4; }
    #prize-form .mw_wp_form .input_wrap .title .required {
      margin-left: 1em;
      padding: 0.3em 0.5em;
      color: #fff;
      font-size: 1.1rem;
      font-weight: normal;
      text-align: center;
      line-height: 1.2;
      background: #b70000;
      border-radius: 0.3em;
      min-width: 35px;
      position: absolute;
      right: 15px; }
    #prize-form .mw_wp_form .input_wrap .title .optional {
      margin-left: 1em;
      padding: 0.3em 0.5em;
      color: #fff;
      font-size: 1.1rem;
      font-weight: normal;
      text-align: center;
      line-height: 1.2;
      background: #000;
      border-radius: 0.3em;
      min-width: 35px;
      position: absolute;
      right: 15px; }
  #prize-form .mw_wp_form .input_wrap .input {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 65%; }
    #prize-form .mw_wp_form .input_wrap .input input[type="text"],
    #prize-form .mw_wp_form .input_wrap .input input[type="email"] {
      width: 100%;
      max-width: 100%;
      padding: 15px;
      background: #fff;
      border: 1px solid #ccc;
      width: 100%;
      max-width: 100%; }
    #prize-form .mw_wp_form .input_wrap .input .error {
      display: block;
      width: 100%; }
#prize-form .mw_wp_form .btn_wrap {
  display: flex;
  justify-content: center;
  margin-top: 40px; }
  #prize-form .mw_wp_form .btn_wrap .submit {
    display: block;
    position: relative;
    width: 390px;
    max-width: 100% !important;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: #fff;
    padding: 2em 1.2em;
    background: #383582;
    border: 0;
    border-radius: 100px; }
#prize-form .mw_wp_form .border_none {
  border: none; }
#prize-form.confirm .mw_wp_form .note {
  display: none; }
#prize-form.confirm .mw_wp_form .btn_wrap .submit {
  width: 390px;
  max-width: 64% !important; }
#prize-form.confirm .mw_wp_form .btn_wrap button {
  display: block;
  position: relative;
  width: 200px;
  max-width: 33% !important;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  padding: 2em 1.2em;
  border: 0;
  border-radius: 100px;
  background: #ccc;
  border: none;
  margin-right: 3%; }

/* voice
============================== */
#voice-sec01 ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4em 3em; }
  #voice-sec01 ul li {
    width: calc(50% - 1.89em);
    display: flex;
    justify-content: space-between;
    gap: 2em;
    font-size: 1.3rem; }
    #voice-sec01 ul li:last-child {
      margin-bottom: 0; }
    #voice-sec01 ul li > .img-wrap {
      width: calc(100%); }
    #voice-sec01 ul li > div {
      width: calc(100%); }
    #voice-sec01 ul li .awards {
      margin-top: 1em; }
      #voice-sec01 ul li .awards p {
        margin-top: .6em;
        text-align: center;
        font-size: 1.6rem !important; }
        #voice-sec01 ul li .awards p a {
          display: block;
          padding: .3em .6em;
          background: #383582;
          color: #fff;
          text-decoration: none;
          font-size: 1.4rem; }
    #voice-sec01 ul li dl.info {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      margin-top: 1em; }
      #voice-sec01 ul li dl.info dt {
        background: #383582;
        padding: .5em;
        margin-right: 1em;
        width: 7em;
        text-align: center;
        line-height: 1;
        color: #fff; }
    #voice-sec01 ul li p {
      margin-top: 20px;
      font-size: 1.6rem; }
      #voice-sec01 ul li p:first-child {
        margin-top: 0; }
      #voice-sec01 ul li p:last-child {
        font-size: inherit; }
        #voice-sec01 ul li p:last-child a.btn, #voice-sec01 ul li p:last-child a.btn02, #voice-sec01 ul li p:last-child #pnav a, #pnav #voice-sec01 ul li p:last-child a {
          width: 180px;
          padding-top: 1em;
          padding-bottom: 1em; }
    #voice-sec01 ul li .ttl {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      font-size: 2.3rem;
      color: #383582;
      font-weight: bold; }
      #voice-sec01 ul li .ttl span {
        margin-left: 1em;
        font-size: 1.4rem;
        font-weight: normal; }
#voice-sec01 .no-post {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: .4em 1em;
  font-size: 1.8rem;
  border: 1px dashed #383582;
  color: #383582;
  text-align: center; }

#voice-detail h1 {
  font-size: 3.6rem;
  text-align: center;
  color: #383582; }
#voice-detail .cate {
  font-size: 1.6rem;
  text-align: center; }
#voice-detail .awards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: .6em;
  color: #fff;
  text-align: center;
  font-size: 1.6rem !important; }
  #voice-detail .awards p {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-top: .6em; }
    #voice-detail .awards p a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      padding: 0.3em 0.6em;
      background: #383582;
      color: #fff;
      text-decoration: none; }
#voice-detail .main-img {
  margin: 3em auto;
  text-align: center; }
#voice-detail h2 {
  font-size: 3.2rem;
  font-weight: normal;
  padding-bottom: .3em;
  border-bottom: 3px solid #eee;
  position: relative; }
  #voice-detail h2::after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #383582;
    bottom: -3px;
    width: 15%; }
#voice-detail h3 {
  margin-top: 3rem;
  padding-bottom: .5em;
  font-size: 2.6rem;
  color: #383582;
  border-bottom: 1px solid #eee;
  font-weight: normal; }
#voice-detail h4 {
  margin-top: 3rem;
  font-size: 2rem;
  color: #383582; }
#voice-detail .lt {
  text-align: left; }
#voice-detail .ctr {
  text-align: center; }
#voice-detail .rt {
  text-align: right; }
#voice-detail .layout,
#voice-detail .ones {
  margin-top: 5em; }
#voice-detail .txt_only,
#voice-detail .txt_img,
#voice-detail .img_txt,
#voice-detail .img_only,
#voice-detail .img_col {
  margin-top: 2em; }
  #voice-detail .txt_only p,
  #voice-detail .txt_img p,
  #voice-detail .img_txt p,
  #voice-detail .img_only p,
  #voice-detail .img_col p {
    margin-top: 1em; }
#voice-detail .txt_img,
#voice-detail .img_txt {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3em; }
  #voice-detail .txt_img > *,
  #voice-detail .img_txt > * {
    width: calc(50% - 1.5em); }
#voice-detail .img_col {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(268px, 1fr)); }
#voice-detail .flexible-slider {
  margin-top: 4em; }
  #voice-detail .flexible-slider .slides .slick-slide {
    margin-top: 0; }
    #voice-detail .flexible-slider .slides .slick-slide img {
      width: 100%; }
    #voice-detail .flexible-slider .slides .slick-slide:not(.slick-current) {
      opacity: .5; }
  #voice-detail .flexible-slider .thumbnails {
    margin-top: 1em; }
    #voice-detail .flexible-slider .thumbnails .slick-track {
      display: flex;
      justify-content: center;
      align-items: flex-start; }
    #voice-detail .flexible-slider .thumbnails .slick-slide {
      margin: 0 6px 0;
      float: none;
      cursor: pointer; }
      #voice-detail .flexible-slider .thumbnails .slick-slide:first-child {
        margin-left: 0; }
      #voice-detail .flexible-slider .thumbnails .slick-slide:last-child {
        margin-right: 0; }
      #voice-detail .flexible-slider .thumbnails .slick-slide.slick-current {
        opacity: .45; }
#voice-detail .ones h2 {
  border: 0px;
  text-align: center;
  color: #383582;
  font-weight: bold;
  padding-bottom: 0; }
  #voice-detail .ones h2::after {
    display: none; }
#voice-detail .ones h3 {
  text-align: center;
  font-size: 2.2rem;
  color: #383582;
  font-weight: normal;
  margin-bottom: 1em;
  border: 0px; }
#voice-detail .ones table th {
  background: #efeff5; }
#voice-detail .ones table:first-of-type th, #voice-detail .ones table:first-of-type td {
  border-bottom: 0px;
  width: 15%; }
#voice-detail .pr {
  padding: 2em;
  margin-top: 3em;
  border: 1px solid #383582;
  background: #efeff5; }
  #voice-detail .pr .com_name {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 2rem;
    color: #383582; }
    #voice-detail .pr .com_name span {
      padding: .6em;
      margin-right: 1em;
      background: #383582;
      color: #fff;
      line-height: 1;
      font-size: 1.3rem;
      font-weight: bold; }
  #voice-detail .pr .com_txt {
    margin: 1em 0;
    font-size: 1.4rem; }
  #voice-detail .pr .com_detail {
    font-size: 1.4rem; }
