/* 定義
----------------------------------------------------------------------------------------------------*/
h3,h4,h5,h6{letter-spacing:.1em;}
h3{margin-top:2em; margin-bottom:.6em;}
h4{margin-top:1.5em; margin-bottom:.5em;}
h5{margin-top:1em;}
h6{margin-top:0.5em; font-size:1.08em;}

/* 本文 */
main.page h3{
  font-weight: 600;
  text-align: center;
  color: #024EA2;
  font-size: 1.7rem;
  letter-spacing: normal;
  margin-bottom: 1em;
}
main.page h3 > span{
  position: relative;
  display: inline-block;
  padding: 0 30px;
  line-height: 1.4;
}
main.page h3 > span::before, main.page h3 > span::after{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background-color: #024EA2;
}
main.page h3 > span::before{
  -moz-transform: rotate(65deg);
  -webkit-transform: rotate(65deg);
  -ms-transform: rotate(65deg);
  transform: rotate(65deg);
  left:-10px;
}
main.page h3 > span::after{
  -moz-transform: rotate(-65deg);
  -webkit-transform: rotate(-65deg);
  -ms-transform: rotate(-65deg);
  transform: rotate(-65deg);
  right:-10px;
}
@media (min-width:768px) {
  main.page h3{font-size:2rem; margin-top: 3em;}
  main.page h3 > span{padding: 0 60px;}
  main.page h3 > span::before, main.page h3 span::after{width: 35px;}
  main.page h3 > span::before{
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    left:0;
  }
  main.page h3 > span::after{
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    right:0;
  }

}

.reset{color:#333333; position:static; border:none; padding:0;}
.reset:after{display:none; position:static;}

.container_s {max-width: 1000px; 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-size: 1.5rem;
  font-weight: 600;
  color: #3E3A39;
}

/* テーブル調整タグ
----------------------------------------------------------------------------------------------------*/
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;}

/* 画像オーバー */
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)";}


/* ノート型リスト */
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: .4em;
  left: -1.1em;
  width: 12px;
  height: 12px;
  background-color:#615796;
  border-radius: 100%;
}
ul.dot li ol li::after {display: none;}

ul.list-unstyled > li.pdf a{position: relative;}
ul.list-unstyled > li.pdf a::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;
  }
a.pdf:not(.btn)::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;
  }

  
  
ol.alpha{list-style-type:upper-alpha;}

/* bootstrap調整
----------------------------------------------------------------------------------------------------*/
.btn{border-radius: 0;
  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;
}
.btn-default{
  background:#103d9b; border:1px solid #103d9b; color:#ffffff;
}
.btn-default:hover, .btn-default:focus {background: #ffffff; border:1px solid #103d9b; color:#103d9b;}
.btn-default:active {background: #ffffff; border:1px solid #103d9b; color:#103d9b;}

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


/*
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;
}




main a.btn.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;
}
main a.btn.pdf:hover:before{
  color:#ffffff;
}


.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;}
a.deconone,a.deconone:hover{text-decoration:none;}
.brnone br{display:none;}
strong{font-weight:700;}
img.bd{border:1px solid #f1f1f1; padding:0;}
.text-purple{color:#655b99;}

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%;}
}

.text-success{color:#67A538 !important;}
.border-success{border-color:#67A538 !important;}
.text-purple{color:#655b99 !important;}
.text_navy{color:#172d80 !important;}
.text_blue{color:#0d6bae !important;}
.text_red{color:#df5f5f !important;}
.text_green{color:#40aa4a !important;}

.open .op,.open_md .op{display:block; cursor: pointer; position: relative; padding:5px 35px 5px 10px;
	-webkit-transition: all .3s;
	transition: all .3s;}
.open .op:hover,.open_md .op:hover{background-color:#fafafa;}
.open .op:before,.open_md .op:before,
.open .op[aria-expanded="false"]:before,.open_md .op[aria-expanded="false"]:before{
  color:#655b99;
  font-family: "Font Awesome 5 Free"; font-weight: 900;
	position:absolute;
  display:flex;
  align-items:center;
  margin:auto;
	-webkit-transition: all .3s;
	transition: all .3s;
  right:.2em;
  top:0;
  bottom:0;
  right:0.2em;
}
.open .op:before,.open_md .op:before{
  content: '\f067';
}
.open .op[aria-expanded="true"]:before,.open_md .op[aria-expanded="true"]:before{
  content: '\f068';
}
@media (min-width:768px) {
  .open_md .op{display:none;}
  .open_md div.hd{display:block !important;}
  }



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

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



#contact .form-control{border:none; background-color:#f8f8f8; border-left:10px solid #E60012;}
#contact .form-horizontal p{margin:0;}
#contact .form-group label{font-size:.75rem;}
#contact .form-horizontal .form-group{margin-bottom: 1.3rem;}
@media (min-width: 768px) {
#contact .form_line{display:flex;}
#contact .form_line .form-group{display:flex; flex-basis: calc(50% - 40px); max-width: calc(50% - 40px);}
#contact .form_line .form-group:first-child{margin-right:80px;}
#contact .form-group label{width:130px; margin-right:10px;}
#contact .form-group > div{flex:1;}

#contact .form-horizontal > .form-group{display:flex; flex:1;}
}



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

@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-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-30,.row-40,.row-50,.row-60{
  margin-left:-15px;
  margin-right:-15px;
}
.row-30 > div,.row-40 > div,.row-50 > div,.row-60 > div{
      padding-right:15px;
      padding-left:15px;
  }
@media (min-width:768px) {
/*gridのgutter調整*/


.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;
      }
}


.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;}
