/*
* @package WordPress
* @subpackage HGU by Santai
*/

/* 定義
----------------------------------------------------------------------------------------------------*/
h3,h4,h5,h6{letter-spacing:.05em; line-height:1.5em;}
h3{margin-top:40px; margin-bottom:35px;text-align:center;font-size:1.4rem;}
h4{margin-top:1.5em; margin-bottom:.5em;font-size:1.3rem;}
h5{margin-top:1em;font-size:1.2rem;}
h6{margin-top:0.5em; font-size:1.08rem;}

.h3{font-size:1.4rem;}
.h4{font-size:1.3rem;}
.h5{font-size:1.2rem;}
.h6{font-size:1.2rem;}

@media (min-width: 992px) {
  h3{margin-top:50px; margin-bottom:50px;font-size:1.8rem;}
  h4{font-size:1.5rem;}
  h5{font-size:1.2rem;}
  .h3{font-size:1.8rem;}
  .h4{font-size:1.5rem;}
  .h5{font-size:1.2rem;}
  .h6{font-size:1.08rem;}
}
.reset{color:#333333; position:static; border:none; padding:0;}
.reset:after{display:none; position:static;}
.container_m {max-width: 1100px; margin:0 auto;}
.container_s {max-width: 1050px; margin:0 auto;}
.container_ss {max-width: 800px; margin:0 auto;}
.container_xxs {max-width: 600px; margin:0 auto;}
.container_smallest {max-width: 300px; margin:0 auto;}
.lead{font-weight:500; font-size:1.15rem;}


/* page
----------------------------------------------------------------------------------------------------*/
#page section section > div.container > h3:first-child{margin-top:0;}
#page section > section:first-of-type{padding-top:25px;}
#page section > section.bg01{background-color:#ffffff;padding:50px 0;}
#page section > section.bg02{background-color:#fafafa;padding:50px 0;}

#relationlist{border-top:2px solid #d3ecf3; padding-top:30px; padding-bottom:30px; background-color:#ffffff;}
#relationlist ul{list-style-type: none; margin:0; padding:0;display:flex; flex-wrap:wrap; width:100%;}
#relationlist ul > li{padding:0px 10px; font-size:.9rem;flex-basis:50%; max-width:50%; border-left:1px solid #cccccc; margin-bottom:5px;}
#relationlist ul > li:last-child{margin-right:0; border-right:1px solid #cccccc;}
#relationlist ul > li:nth-child(2n){border-right:1px solid #cccccc;}
#relationlist ul > li a{position: relative;	padding-left:14px;}
#relationlist ul > li a:before{
	content:'';
	display:block;
	position:absolute;
	box-shadow: 0 0 2px 2px rgba(255,255,255,0.2) inset;
	top:.4em;
	left:2px;
	height:0;
	width:0;
	border-top: 4px solid transparent;
	border-right: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 5px solid #000000;
}
@media (min-width:992px) {
  #relationlist{padding:30px; background-color:#ffffff;}
  #relationlist ul{justify-content:center;}
#relationlist ul > li{flex-basis:16.6%; max-width:16.6%; font-size:1.03rem; display:flex; justify-content:center; align-items:center; margin-bottom:0;}
#relationlist ul > li:nth-child(2n):not(:last-child){border-right:none;}
#relationlist ul > li a:before{top:.6em;}
}

.sns_area{padding:0 30px;}

/* テーブル調整タグ
----------------------------------------------------------------------------------------------------*/
table.auto th,table th.auto,table td.auto{width:auto;}
table.ten th{width:10%;}
table.fifteen th{width:15%;}
table.twenty th{width:20%;}
table.quarter th{width:25%;}
table.thirty th{width:30%;}
table.fourty th{width:40%;}
table.half th,table.half td{width:50%;}
table.boldnone th{font-weight:normal;}

table.table.blue > tbody > tr > th,
table.table.blue > tbody > tr > td{border:1px solid #cccccc;}
table.table.blue > tbody > tr > th{background-color:#eef8fa; color:#4f70a8;}
@media (max-width: 991px) {
  table.table.blue > tbody > tr > th{border-top:none; border-bottom:none;}
  table.table.blue > tbody > tr:first-child > th{border-top:1px solid #cccccc;}
}

/* 画像オーバー */
a img{
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
	-webkit-transition: all .3s;
	transition: all .3s;}
a:hover img{opacity: 0.7;  filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)";}
a:hover img.none{opacity: 1;  filter: alpha(opacity=100); -ms-filter: "alpha(opacity=100)";}

main#page p > a:not(.btn){color:#334096 !important; display:inline-block; border-bottom:1px solid #334096; line-height:1.3em;}
main#page p > a:not(.btn):hover{color:#04b0d6 !important; border-bottom:1px solid #04b0d6; }

section.bgc {background-color:#dfdfdf;}

/* ノート型リスト */
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{list-style-type:none; padding:0 0 0 20px;}
ul.dot li{ position: relative;}
ul.dot li::after {
  display: block;
  content: '';
  position: absolute;
  top: .45em;
  left: -1.1em;
  width: 12px;
  height: 12px;
  background-color:#615796;
  border-radius: 100%;
}
ul.dot li ol li::after {display: none;}

/* bootstrap調整
----------------------------------------------------------------------------------------------------*/
.btn{
  text-decoration:none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important; /* !important tags aren't necessarily always bad */
  text-decoration:none !important;
  border-radius: .4rem;
  white-space:normal; padding:.9rem 1rem;font-size: 1.1rem;
}
.btn-default{
  background:#ffffff; border:1px solid #1e2a88; color:#1e2a88; font-weight:600;
}
.btn-default:hover, .btn-default:focus {background: #1e2a88; border:1px solid #1e2a88; color:#ffffff;}
.btn-default:active {background: #1e2a88; border:1px solid #1e2a88; color:#ffffff;}

.btn-red{
  background:#e5243b; border:1px solid #ffffff; color:#ffffff;
}
.btn-red:hover, .btn-red:focus {background: #ffffff; border:1px solid #e5243b; color:#e5243b;}
.btn-red:active {background: #ffffff; border:1px solid #ffffff; color:#e5243b;}


.btn-flat-default{
  background:#1e2a88; border:1px solid #1e2a88; color:#ffffff;
}
.btn-flat-default:hover, .btn-flat-default:focus {background: #ffffff; border:1px solid #1e2a88; color:#1e2a88;}
.btn-flat-default:active {background: #ffffff; border:1px solid #1e2a88; color:#1e2a88;}


.btn.arr{position: relative;  width:100%; padding-right:33px; padding-top:12px; padding-bottom:12px;}
.btn.arr:before,.btn.arr:after{
    position: absolute;
    content: '';
    display: block;
}
.btn.arr:before{
    right:.6em; top:0; bottom:0; margin:auto;
    width:23px; height:23px;
    border-radius:100%;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.btn.arr:after{
    top:0; bottom:0;border-right: 2px solid #ffffff; border-bottom: 2px solid #ffffff;
    right: 1.1em;
    width: 8px;
    height: 8px;
    margin:auto;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);}

.btn-red.arr:after{border-right: 2px solid #e5243b; border-bottom: 2px solid #e5243b;}
.btn-red.arr:before{background-color:#ffffff;}
.btn-red.arr:hover:before{background-color:#e5243b;}
.btn-red.arr:hover:after{border-right: 2px solid #ffffff; border-bottom: 2px solid #ffffff;}

.btn-flat-default.arr:after{border-right: 2px solid #1e2a88; border-bottom: 2px solid #1e2a88;}
.btn-flat-default.arr:before{background-color:#ffffff;}
.btn-flat-default.arr:hover:before{background-color:#1e2a88;}
.btn-flat-default.arr:hover:after{border-right: 2px solid #ffffff; border-bottom: 2px solid #ffffff;}

main a:hover{text-decoration: none!important;}
a.disabled{pointer-events: none; cursor:default; }


/* ファイルアイコン表示 */

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

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

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



.btn-big{width:200px;}

.bd{border:2px solid #333333; padding:20px; overflow:hidden;}
.bgc{padding:30px; overflow:hidden; background-color:#DEE2F1; 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;}
.large{font-size:1.25em;}
.bigger{font-size:1.7rem;}
.spacing{letter-spacing:0.1em;}
.sawarabi{font-family: 'Sawarabi Gothic', sans-serif;}
.red{color:#dc3545;}
a.deconone,a.deconone:hover{text-decoration:none;}
a.deco,a.deco:hover{text-decoration:underline;}
a.deco:hover{text-decoration:underline !important; color:#666666 !important;}
.brnone br{display:none;}
strong{font-weight:700 !important;}
img.bd{border:1px solid #f1f1f1; padding:0;}

img.max300{max-width:300px; width:100%;}
img.max640{max-width:640px; width:100%;}
@media (min-width:768px) {
img.max-md-300{max-width:300px; width:100%;}
img.max-md-640{max-width:640px; width:100%;}
}

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

@media (max-width:991px) {
  table th{width:100%; display:block; border:none; text-align:left;}
  table td{width:100%; display:block;}
  table.auto th,table th.auto,table td.auto{width:auto;}
  table.ten th,table.fifteen th,table.twenty th,table.quarter th,table.thirty th,table.fourty th,table.half th,table.half td{width:100%;}
  table.xs{display:table;}
  table.xs tbody th{border-top:none;border-left:none;border-right:none;}
  table.xs th{width:auto; display:table-cell; text-align:left;}
  table.xs td{width:auto; display:table-cell; }
}
@media (max-width: 767px) {
  .sp-head{width:100%;}
  .large{font-size:1.1em;}
  .bigger{font-size:1.5rem;}
}

/* お問い合せページ
----------------------------------------------------------------------------------------------------------- */
.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;
}





/* 印刷対策
----------------------------------------------------------------------------------------------------------- */

@media print {

/* URL出さない */
  a[href]:after {
    display:none;
  }
  abbr[title]:after {
    display:none;
  }

/* カラム */
.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-v{
  margin-left:-5px;
  margin-right:-5px;
}
.row-v > *{
  padding-right:5px;
  padding-left:5px;
  margin-bottom:10px;
  }

.row-0{
  margin-left:0px;
  margin-right:0px;
}
.row-0 > *{
      padding-right:0px;
      padding-left:0px;
  }
  .row-10{
    margin-left:-5px;
    margin-right:-5px;
}

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

.row-20{
  margin-left:-10px;
  margin-right:-10px;
}
.row-20 > *{
      padding-right:10px;
      padding-left:10px;
  }
.row-30,.row-40,.row-50,.row-60{
  margin-left:-15px;
  margin-right:-15px;
}
.row-30 > *,.row-40 > *,.row-50 > *,.row-60 > *{
      padding-right:15px;
      padding-left:15px;
  }
@media (min-width:768px) {
.row-30{
  margin-left:-15px;
  margin-right:-15px;
}
.row-30 > *{
      padding-right:15px;
      padding-left:15px;
  }
.row-40{
  margin-left:-20px;
  margin-right:-20px;
}
.row-40 > *{
      padding-right:20px;
      padding-left:20px;
  }

.row-50{
  margin-left:-25px;
  margin-right:-25px;
}
.row-50 > *{
      padding-right:25px;
      padding-left:25px;
  }
.row-60{
  margin-left:-30px;
  margin-right:-30px;
}
.row-60 > *{
      padding-right:30px;
      padding-left:30px;
  }

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


  .row-b10 > *{margin-bottom:10px;}
  .row-b20 > *{margin-bottom:20px;}
  .row-b30 > *{margin-bottom:30px;}
  .row-b40 > *{margin-bottom:40px;}
