img.swap {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/* 定義
----------------------------------------------------------------------------------------------------*/

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

h3 {
  margin-top: 2.5em;
  margin-bottom: 0.6em;
  font-size: 1.5rem;
}

h4 {
  margin-top: 2em;
  margin-bottom: 0.5em;
  font-size: 1.3rem;
}

h5 {
  margin-top: 1.5em;
  font-size: 1.25rem;
}

h6 {
  margin-top: 1em;
  font-size: 1.15rem;
}

@media (min-width: 576px) {
  h3,
  h4,
  h5,
  h6 {
    letter-spacing: 0.1em;
  }
}

.container_s {
  max-width: 1000px;
  margin: 0 auto;
}

.container_ss {
  max-width: 800px;
  margin: 0 auto;
}

.container_xxs {
  max-width: 600px;
  margin: 0 auto;
}

.deconone,
.deconone:hover {
  text-decoration: none;
}

strong,
.strong {
  font-weight: 700;
}

small,
.small {
  color: #707070;
  font-size: 85%;
}

main:not(#index) .container h3:first-of-type {
  margin-top: 0;
}

main:not(#index) .container h3.title {
  color: #333333;
  line-height: 1.6;
  margin: 0 0 4rem;
  font-size: 1rem;
  border: none;
  background-color: transparent;
  padding: 0;
}

main:not(#index) .container h3.title span {
  display: block;
  font-size: 4rem;
  font-family: "Poiret One", cursive;
  line-height: 1;
  margin-bottom: 5px;
}

main:not(#index) .container h3 {
  border-top: 2px solid #3b683d;
  border-bottom: 2px solid #3b683d;
  padding: 0.4em;
}

main:not(#index) .container h4 {
  border-left: 3px solid #1a774b;
  padding: 0.05em 0.5em;
  color: #494949;
}

main:not(#index) .container h5 {
  background-color: none;
  display: table;
  color: #1a774b;
  padding: 0.4em 0em;
}

main:not(#index) .container h6 {
  color: #004200;
}

main:not(#index) .container h3.reset,
main:not(#index) .container h4.reset,
main:not(#index) .container h5.reset {
  padding: 0 !important;
  background-color: transparent !important;
  border: none !important;
  color: #333333;
  text-align: left;
}

/* image
----------------------------------------------------------------------------------------------------*/
div.image {
  position: relative;
  margin-bottom: 10px;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
}

div.image img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
}

a.hoverimg img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a.hoverimg:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

/* テーブル調整タグ
----------------------------------------------------------------------------------------------------*/
table.auto th,
table th.auto,
table td.auto {
  width: auto;
}

table.half th,
table.half td {
  width: 50%;
}

table.fourty th {
  width: 40%;
}

table.thirty th {
  width: 30%;
}

table.quarter th {
  width: 25%;
}

table.twenty th {
  width: 20%;
}

table.fifteen th {
  width: 15%;
}

table.ten th {
  width: 10%;
}

.table > tbody > tr > th,
.table > tbody > tr > td {
  border-top: none;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
  padding: 0.5rem 0.75rem;
}

.table-bordered > thead > tr > th {
  background-color: rgba(228, 228, 228, 0.5);
  border: 1px solid #dee2e6 !important;
  vertical-align: middle;
  font-weight: 400 !important;
}

.table-bordered tr > th {
  background-color: rgba(228, 228, 228, 0.5);
  border: 1px solid #dee2e6 !important;
  font-weight: 400 !important;
}

.table-bordered > thead + tbody tr > th {
  background-color: transparent;
  border: 1px solid #ddd !important;
  font-weight: 400 !important;
}

table.vatop th,
table.vatop td {
  vertical-align: top !important;
}

table.vamiddle th,
table.vamiddle td {
  vertical-align: middle !important;
}

table.vabottom th,
table.vabottom td {
  vertical-align: bottom !important;
}

div.table-responsive > .table-bordered {
  border: 1px solid #dee2e6;
}

div.table-responsive > table {
  margin: 0;
}

@media (max-width: 576px) {
  div.table-responsive {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }

  div.table-responsive {
    background: linear-gradient(
          to left,
          rgba(255, 255, 255, 0),
          rgba(0, 0, 0, 0.2)
        )
        0 0/20px 100%,
      linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2))
        right/20px 100%;
    background-repeat: no-repeat;
    background-attachment: scroll;
    border-right: 1px solid #ccc;
  }

  div.table-responsive > table {
    background: linear-gradient(to left, hsla(0, 0%, 100%, 0), white 15px) 0 0 /
        50px 100%,
      linear-gradient(to right, hsla(0, 0%, 100%, 0), white 15px) right / 50px
        100%;
    background-repeat: no-repeat;
    background-attachment: local;
    border-bottom: 1px solid #ccc;
    border-collapse: collapse;
  }
}

@media (min-width: 576px) {
  div.table-responsive {
    overflow-y: visible;
    height: auto;
  }
}

@media (min-width: 576px) {
  table.sm-auto th,
  table th.sm-auto,
  table td.sm-auto {
    width: auto;
  }

  table.sm-ten th,
  table th.sm-ten,
  table td.sm-ten {
    width: 10%;
  }

  table.sm-fifteen th,
  table th.sm-fifteen,
  table td.sm-fifteen {
    width: 15%;
  }

  table.sm-twenty th,
  table th.sm-twenty,
  table td.sm-twenty {
    width: 20%;
  }

  table.sm-quarter th,
  table th.sm-quarter,
  table td.sm-quarter {
    width: 25%;
  }

  table.sm-thirty th,
  table th.sm-thirty,
  table td.sm-thirty {
    width: 30%;
  }

  table.sm-fourty th,
  table th.sm-fourty,
  table td.sm-fourty {
    width: 40%;
  }

  table.sm-half th,
  table.sm-half td,
  table th.sm-half,
  table td.sm-half {
    width: 50%;
  }
}

@media (min-width: 768px) {
  table.md-auto th,
  table th.md-auto,
  table td.md-auto {
    width: auto;
  }

  table.md-ten th,
  table th.md-ten,
  table td.md-ten {
    width: 10%;
  }

  table.md-fifteen th,
  table th.md-fifteen,
  table td.md-fifteen {
    width: 15%;
  }

  table.md-twenty th,
  table th.md-twenty,
  table td.md-twenty {
    width: 20%;
  }

  table.md-quarter th,
  table th.md-quarter,
  table td.md-quarter {
    width: 25%;
  }

  table.md-thirty th,
  table th.md-thirty,
  table td.md-thirty {
    width: 30%;
  }

  table.md-fourty th,
  table th.md-fourty,
  table td.md-fourty {
    width: 40%;
  }

  table.md-half th,
  table.md-half td,
  table th.md-half,
  table td.md-half {
    width: 50%;
  }
}

@media (min-width: 992px) {
  table.lg-auto th,
  table th.lg-auto,
  table td.lg-auto {
    width: auto;
  }

  table.lg-ten th,
  table th.lg-ten,
  table td.lg-ten {
    width: 10%;
  }

  table.lg-fifteen th,
  table th.lg-fifteen,
  table td.lg-fifteen {
    width: 15%;
  }

  table.lg-twenty th,
  table th.lg-twenty,
  table td.lg-twenty {
    width: 20%;
  }

  table.lg-quarter th,
  table th.lg-quarter,
  table td.lg-quarter {
    width: 25%;
  }

  table.lg-thirty th,
  table th.lg-thirty,
  table td.lg-thirty {
    width: 30%;
  }

  table.lg-fourty th,
  table th.lg-fourty,
  table td.lg-fourty {
    width: 40%;
  }

  table.lg-half th,
  table.lg-half td,
  table th.lg-half,
  table td.lg-half {
    width: 50%;
  }
}

@media (min-width: 1200px) {
  table.xl-auto th,
  table th.xl-auto,
  table td.xl-auto {
    width: auto;
  }

  table.xl-ten th,
  table th.xl-ten,
  table td.xl-ten {
    width: 10%;
  }

  table.xl-fifteen th,
  table th.xl-fifteen,
  table td.xl-fifteen {
    width: 15%;
  }

  table.xl-twenty th,
  table th.xl-twenty,
  table td.xl-twenty {
    width: 20%;
  }

  table.xl-quarter th,
  table th.xl-quarter,
  table td.xl-quarter {
    width: 25%;
  }

  table.xl-thirty th,
  table th.xl-thirty,
  table td.xl-thirty {
    width: 30%;
  }

  table.xl-fourty th,
  table th.xl-fourty,
  table td.xl-fourty {
    width: 40%;
  }

  table.xl-half th,
  table.xl-half td,
  table th.xl-half,
  table td.xl-half {
    width: 50%;
  }
}

/* ボタン
----------------------------------------------------------------------------------------------------*/

.btn {
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  /* !important tags aren't necessarily always bad */
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 30px;
  padding: 0.5rem 1rem;
}

#page .btn:not(.search-btn):after {
  display: inline-block;
  content: "\02192";
  font-weight: 400;
  margin: 3px 0 3px 8px;
  font-size: 1rem;
  line-height: 1;
}

#page .btn.noarrow:after {
  display: none;
}

.btn-default {
  background: transparent;
  border: 2px solid #004200;
  color: #004200;
  font-size: 0.9rem;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active {
  background: #004200;
  border: 2px solid #004200;
  color: #ffffff;
}
.btn-default.hover-white:hover {
  color: #ffffff !important;
}
.btn.btn-default:after {
  color: #004200;
}

.sendbtn {
  width: 203px;
}

.btn.btn-default:hover:after,
.btn-default:focus:after,
.btn-default:active:after {
  color: #ffffff;
}

.btn-green {
  background: #004200;
  border: 2px solid #0b1e69;
  color: #ffffff;
  font-size: 0.9rem;
}

.btn-green:hover,
.btn-green:focus,
.btn-green:active {
  background: #ffffff;
  color: #004200;
  border: 2px solid #0b1e69;
}

.btn.btn-green:after {
  color: #ffffff;
}

.btn.btn-green:hover:after {
  color: #004200;
}

.text-success {
  color: #23282d !important;
}

.border-success {
  border-color: #006837 !important;
}

.text_navy {
  color: #172d80 !important;
}

.text_blue {
  color: #0075c2 !important;
}

.text_red {
  color: #df5f5f !important;
}

.text_green {
  color: #006837 !important;
}

.bd {
  border: 1px solid #ccc;
  padding: 20px;
  overflow: hidden;
}

.bgc {
  padding: 30px;
  overflow: hidden;
  background-color: #ebf5e8;
  margin-bottom: 30px;
}

.bgc-gray {
  padding: 30px;
  overflow: hidden;
  background-color: #eee;
  margin-bottom: 30px;
}

.bb {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 20px;
  margin-bottom: 20px;
  overflow: hidden;
}

.flex1 {
  flex: 1;
}

.big {
  font-size: 1.1em;
}

.lead {
  font-size: 1.5rem;
  font-weight: 500;
}

.large {
  font-size: 1.15rem;
}

.bigger {
  font-size: 1.3rem;
}

.spacing {
  letter-spacing: 0.1em;
}

a.deconone,
a.deconone:hover {
  text-decoration: none;
}

.brnone br {
  display: none;
}

strong {
  font-weight: 700;
}

img.bd {
  border: 1px solid #f1f1f1;
  padding: 0;
}

/* リスト
----------------------------------------------------------------------------------------------------*/
/* ノート */
section ul.note {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

ul.note li {
  border-bottom: #aaaaaa 1px dotted;
  padding: 5px 5px 5px 8px;
}

/* ドット */
ul.dot,
ul.sq {
  list-style-type: none;
  padding: 0 0 0 20px;
}

ul.dot li,
ul.sq li {
  position: relative;
}

ul.dot > li::after,
ul.sq > li::after {
  display: block;
  content: "";
  position: absolute;
  top: calc(1rem - 4px);
  left: -1.1em;
  width: 5px;
  height: 5px;
  background-color: #666;
}

ul.dot > li::after {
  border-radius: 100%;
}

ul.dot li ol li::after,
ul.sq li ol li::after {
  display: none;
}

/* PDFリンク定義 */
/*  */
#page a:not(.noicon)[href$=".pdf"]:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1c1";
  font-weight: 900;
  display: inline-block;
  margin-right: 7px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #cc0000;
  font-size: 1.2em;
}

/* wordリンク定義 */
/*  */
#page a[href$=".doc"]:before,
#page a[href$=".docx"]:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1c2";
  font-weight: 900;
  display: inline-block;
  margin-right: 7px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #2d5c9f;
  font-size: 1.2em;
}

/* excelリンク定義 */
/* */
#page a[href$=".xls"]:before,
#page a[href$=".xlsx"]:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1c3";
  font-weight: 900;
  display: inline-block;
  margin-right: 7px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #23784a;
  font-size: 1.2em;
}

#page a.reset:before {
  display: none !important;
}

/* googlemap
----------------------------------------------------------------------------------------------------*/
div.map iframe {
  width: 100%;
}

/* お問い合せページ
----------------------------------------------------------------------------------------------------------- */
.wpcf7 .wpcf7-response-output {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}

.wpcf7 .wpcf7-validation-errors {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}

.wpcf7 .wpcf7-mail-sent-ok {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}

.req {
  font-size: 11px;
  font-weight: normal;
}

span.wpcf7-not-valid-tip {
  color: #cc0000;
  position: relative;
  padding-left: 35px;
  font-size: 0.9em;
  margin: 5px 0;
}

span.wpcf7-not-valid-tip:before {
  content: "！";
  position: absolute;
  top: -1px;
  left: 2px;
  color: #ffffff;
  font-weight: bold;
  background-color: #cc0000;
  display: inline-block;
  line-height: 1;
  padding: 5px;
  text-align: center;
}

span.wpcf7-list-item label {
  margin-right: 0.5rem;
  margin-bottom: 0;
}

/* 印刷対策
----------------------------------------------------------------------------------------------------------- */
@media print {
  /* URL出さない */
  /* a[href]:after{display:none;} */
  abbr[title]:after {
    display: none;
  }

  .flx_menu {
    display: none;
  }

  .time-list dl.academic > div > * {
    padding: 10px;
  }

  /* カラム */
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12 {
    float: left;
  }

  .col-sm-12 {
    width: 100%;
  }

  .col-sm-11 {
    width: 91.66666667%;
  }

  .col-sm-10 {
    width: 83.33333333%;
  }

  .col-sm-9 {
    width: 75%;
  }

  .col-sm-8 {
    width: 66.66666667%;
  }

  .col-sm-7 {
    width: 58.33333333%;
  }

  .col-sm-6 {
    width: 50%;
  }

  .col-sm-5 {
    width: 41.66666667%;
  }

  .col-sm-4 {
    width: 33.33333333%;
  }

  .col-sm-3 {
    width: 25%;
  }

  .col-sm-2 {
    width: 16.66666667%;
  }

  .col-sm-1 {
    width: 8.33333333%;
  }

  .col-sm-pull-12 {
    right: 100%;
  }

  .col-sm-pull-11 {
    right: 91.66666667%;
  }

  .col-sm-pull-10 {
    right: 83.33333333%;
  }

  .col-sm-pull-9 {
    right: 75%;
  }

  .col-sm-pull-8 {
    right: 66.66666667%;
  }

  .col-sm-pull-7 {
    right: 58.33333333%;
  }

  .col-sm-pull-6 {
    right: 50%;
  }

  .col-sm-pull-5 {
    right: 41.66666667%;
  }

  .col-sm-pull-4 {
    right: 33.33333333%;
  }

  .col-sm-pull-3 {
    right: 25%;
  }

  .col-sm-pull-2 {
    right: 16.66666667%;
  }

  .col-sm-pull-1 {
    right: 8.33333333%;
  }

  .col-sm-pull-0 {
    right: auto;
  }

  .col-sm-push-12 {
    left: 100%;
  }

  .col-sm-push-11 {
    left: 91.66666667%;
  }

  .col-sm-push-10 {
    left: 83.33333333%;
  }

  .col-sm-push-9 {
    left: 75%;
  }

  .col-sm-push-8 {
    left: 66.66666667%;
  }

  .col-sm-push-7 {
    left: 58.33333333%;
  }

  .col-sm-push-6 {
    left: 50%;
  }

  .col-sm-push-5 {
    left: 41.66666667%;
  }

  .col-sm-push-4 {
    left: 33.33333333%;
  }

  .col-sm-push-3 {
    left: 25%;
  }

  .col-sm-push-2 {
    left: 16.66666667%;
  }

  .col-sm-push-1 {
    left: 8.33333333%;
  }

  .col-sm-push-0 {
    left: auto;
  }

  .col-sm-offset-12 {
    margin-left: 100%;
  }

  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-sm-offset-9 {
    margin-left: 75%;
  }

  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-sm-offset-6 {
    margin-left: 50%;
  }

  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-sm-offset-3 {
    margin-left: 25%;
  }

  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-sm-offset-0 {
    margin-left: 0%;
  }

  .visible-xs {
    display: none !important;
  }

  .hidden-xs {
    display: block !important;
  }

  table.hidden-xs {
    display: table;
  }

  tr.hidden-xs {
    display: table-row !important;
  }

  th.hidden-xs,
  td.hidden-xs {
    display: table-cell !important;
  }

  .hidden-xs.hidden-print {
    display: none !important;
  }

  .hidden-sm {
    display: none !important;
  }

  .visible-sm {
    display: block !important;
  }

  table.visible-sm {
    display: table;
  }

  tr.visible-sm {
    display: table-row !important;
  }

  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}

/*gridのgutter調整*/
.row-0 {
  margin-left: 0px;
  margin-right: 0px;
}

.row-0 > div {
  padding-right: 0px;
  padding-left: 0px;
}

.row-10 {
  margin-left: -5px;
  margin-right: -5px;
}

.row-10 > div {
  padding-right: 5px;
  padding-left: 5px;
}

.row-20 {
  margin-left: -10px;
  margin-right: -10px;
}

.row-20 > div {
  padding-right: 10px;
  padding-left: 10px;
}

.row-40,
.row-50,
.row-60 {
  margin-left: -15px;
  margin-right: -15px;
}

.row-40 > div,
.row-50 > div,
.row-60 > div {
  padding-right: 15px;
  padding-left: 15px;
}

.row-v {
  margin-left: -5px;
  margin-right: -5px;
}

.row-v > div {
  padding-right: 5px;
  padding-left: 5px;
  margin-bottom: 10px;
}

.row-b10 > div {
  margin-bottom: 10px;
}

.row-b20 > div {
  margin-bottom: 20px;
}

.row-b30 > div {
  margin-bottom: 30px;
}

.row-b40 > div {
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  .row-30 {
    margin-left: -15px;
    margin-right: -15px;
  }

  .row-30 > div {
    padding-right: 15px;
    padding-left: 15px;
  }

  .row-40 {
    margin-left: -20px;
    margin-right: -20px;
  }

  .row-40 > div {
    padding-right: 20px;
    padding-left: 20px;
  }

  .row-50 {
    margin-left: -25px;
    margin-right: -25px;
  }

  .row-50 > div {
    padding-right: 25px;
    padding-left: 25px;
  }

  .row-60 {
    margin-left: -30px;
    margin-right: -30px;
  }

  .row-60 > div {
    padding-right: 30px;
    padding-left: 30px;
  }

  .row-v {
    margin-left: -10px;
    margin-right: -10px;
  }

  .row-v > div {
    padding-right: 10px;
    padding-left: 10px;
    margin-bottom: 20px;
  }
}

.slider-circle {
  margin: 0px auto;
}

/* 
.slider-circle img{
  transform: scale(0.6);
  opacity: 0.3;
  transition: 0.5s;
}*/

.slider-circle figure {
  margin: 8px auto;
  opacity: 0.3;
  transition: 0.5s;
  /* border:1px solid #eeeeee; */
}

div.circle .slider-circle.slick-initialized .slick-slide {
  transition: 0.5s;
}

.slider-circle .slick-center figure {
  opacity: 1 !important;
  transform: scale(1.1) !important;
}

div.circle .slider-circle.slick-initialized .slick-slide.slick-center img {
  transform: scale(1.15) !important;
  -webkit-transform: scale(1.15) !important;
  -moz-transform: scale(1.15) !important;
  -ms-transform: scale(1.15) !important;
  -o-transform: scale(1.15) !important;
}

.slider-tcircle figure {
  margin: 8px auto;
  opacity: 0.3;
  transition: 0.5s;
  /* border:1px solid #eeeeee; */
}

div.tcircle .slider-tcircle.slick-initialized .slick-slide {
  transition: 0.5s;
}

.slider-tcircle .slick-center figure {
  opacity: 1 !important;
  transform: scale(1) !important;
  -webkit-transform: scale(1) !important;
  -moz-transform: scale(1) !important;
  -ms-transform: scale(1) !important;
  -o-transform: scale(1) !important;
}

div.tcircle .slider-tcircle.slick-initialized .slick-slide.slick-center img {
  transform: scale(1.3) !important;
  -webkit-transform: scale(1.3) !important;
  -moz-transform: scale(1.3) !important;
  -ms-transform: scale(1.3) !important;
  -o-transform: scale(1.3) !important;
}

/* スマートフォンの場合 */
@media (min-width: 480px) {
  .slider-circle img {
    max-width: 300px;
  }

  div.circle .slider-circle.slick-initialized .slick-slide.slick-center {
    transform: scale(1.4) !important;
  }
}
