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

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

h3,h4,h5,h6{line-height:1.4em;}
h3{margin-top:2.5em; margin-bottom:.6em; font-size: 1.5rem;}
h4{margin-top:2em; margin-bottom:.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:.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:.4em;}
main:not(#index) .container h4{
  border-left:3px solid #1A774B;
  padding:.05em .5em;
  color:#494949;
}

main:not(#index) .container h5{background-color:none; display:table; color:#1A774B; padding:.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: 150%;
  max-height: 150%;
}

a.hoverimg img{
	-webkit-transition: all .3s;
  transition: all .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: .5rem .75rem;}
.table-bordered > thead > tr > th{background-color:rgba(228,228,228,.5); border:1px solid #dee2e6 !important; vertical-align: middle;font-weight:400!important;}
.table-bordered tr > th{background-color:rgba(228,228,228,.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 .3s;
  transition: all .3s;
  border-radius:30px;
  padding:.5rem 1rem;
}
#page .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:.9rem;}
.btn-default:hover,
.btn-default:focus,
.btn-default:active {background: #004200; border:2px solid #004200; color:#ffffff;}
.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:.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:20px;}
.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[href$=".pdf"]:before{
  font-family: "Font Awesome 5 Free";
  content: '\f1c1'; font-weight: 900;
  display:inline-block;
  margin-right:7px;
    -webkit-transition: all .3s;
    transition: all .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 .3s;
    transition: all .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 .3s;
    transition: all .3s;
    color:#23784a;
    font-size:1.2em;
}

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


/* 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: .5rem;
  margin-bottom: 0;
}



/* 印刷対策
----------------------------------------------------------------------------------------------------------- */
@media print{

/* URL出さない */
  a[href]:after{display:none;}
  abbr[title]:after{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;
}  

/* スマートフォンの場合 */
@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;
  }
}
