@charset "UTF-8";

/*-------------------------------------------------------

reset

-------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,textarea,p,blockquote,th,td,figure {
  margin:0; 
  padding:0; 
  line-break: strict;/*IE禁則処理*/
}
table { 
  border-collapse:collapse; 
  border-spacing:0; 
}
fieldset,img {  
  border:0; 
  }
address,caption,cite,code,dfn,em,th,var,strong { 
  font-style:normal; 
  font-weight:normal; 
} 
ol,ul { 
  list-style:none; 
} 
caption,th { 
  text-align:left; 
} 
h1,h2,h3,h4,h5,h6 { 
  font-size:100%; 
  font-weight:normal; 
} 
q:before,q:after { 
  content:''; 
}
abbr,acronym {
  border:0; } 
legend {
  color: #333; }
input,
textarea{
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;}
input, textarea, select{
  margin: 0;
  padding: 0;
  background-color: #fff;
  box-sizing: border-box;
  border: 1px solid #E4E2D6;
  color: inherit;
  font-size: 1em;
  line-height: 1.2; }
input[type="submit"],
input[type="reset"]{
  border: 0; }
input[type="radio"]{
  appearance: auto;
  -moz-appearance: auto;
  -webkit-appearance: auto;
  -ms-appearance: auto;}
img{
  vertical-align: bottom;
  box-sizing: border-box; }
  @media screen and (max-width:767px){
    img{
      width: 100%;
      height: auto; }
    .banner-img-fpc{
      max-width: 200px;
      height: auto; }
    .banner-img-fpc-login{
      max-width: 80%;
      height: auto;
      box-shadow: 0 4px 10px rgba(0,0,0,.25); } }
@media screen and (max-width:767px){
  a:hover, a:active {
    outline: none;
  }
}
/*-------------------------------------------------------


common style

-------------------------------------------------------*/
body{
  -webkit-text-size-adjust: 100%;
  background:#F8F8F7;
  font-family: "FP-ヒラギノ角ゴ ProN W3", Meiryo, "sans-serif";
  color:#333; }
  @media screen and (max-width:767px){
    body{
      font-size: 90%;
    }
  }
/*ページ全体横並び*/
#wrapper{
  display: flex;
  flex-wrap: nowrap;
  margin-top:3vh;
  width: 100%; }
  @media screen and (max-width:767px){
    /*ページ全体*/
    #wrapper{
      display: block;
      margin-top:1vw; }
    /*下層ページ*/
    #wrapper.subPage{
      margin-top:0; }  }
#mainContent{
  margin-right:5vw;
  margin-left:5vw;
  width:80%; }
  @media screen and (max-width:767px){
    #mainContent{
      margin-right:0;
      margin-left:0;
      width:auto;
    }
  }
  @media screen and (min-width:768px) and (max-width:799px){
    #mainContent{
      margin-right:2.4vw;
      margin-left:3vw;
      width:auto;
    }
  }
#mainNav{
  width:20%;}
/*コンテンツ外枠*/
.container{
  margin-bottom:4vh; }  
  @media screen and (max-width:767px){
  .container{
    margin-right:4vw;
    margin-left:4vw; } }
.container-contact{
  margin-bottom: 0; }
.container-contact-list{
  margin-top: .7em; }
  @media screen and (max-width:767px){
  .container-contact-list{
    margin-right:2vw;
    margin-left:2vw; } }
/*コンテンツの補足、付け足し*/
.box-addition{
	background: #fffdf5;
	border: 1px solid #dad4b3;
	padding: 1rem; }
.box-addition-red{
  border: 3px solid #D9100F;}
/*余白*/
.marginTop{
  margin-top:.7em; }
.marginTop-large{
   margin-top: 1.2em; }
@media screen and (max-width:767px){
.marginTop-sp{
  margin-top:.7em; } }
.marginLeft{
  margin-left:.55em; }
.marginRight{
  margin-right:.55em; }
.marginLeft-large{
  margin-left: 1.2em; }
/*行間*/
@media screen and (min-width:768px){
.lineheight-wide{
  line-height: 230%; } }
@media screen and (max-width:767px){
.lineheight-wide{
  line-height: 150%; } }
/*文字揃え*/
.center{
  text-align: center; }
/*fontawesome*/
  /*リンク矢印*/
  .fa-chevron-right{
    width: .8em;}
  /*資料*/
  .fa-file-pdf,
  .fa-file-excel{
    font-size: 1.3em;
    vertical-align: text-bottom; }
  .fa-file-pdf{
    padding-right: .3em;
    color:#ff5f57; }
  .fa-file-excel{
    padding-right: .6em;
    color:#107C41; }
/*テキスト*/
.center{ text-align: center;}
.txt-small{
  font-size: .85em; }
.bold{
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
/*色付き強調文字*/
em{
  font-style: normal;
  color:#D9100F; }
.notice{ color:#D9100F; }
/*色付き強調文字 緑*/
.em-green{
  color:#039703;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
/*背景付き強調文字*/
strong{
  display:inline-block;
  background: #EF8005;
  padding:0 10px;
  border-radius: 5px;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  color:#fff; }  @media screen and (max-width:767px){
    strong{ font-size: 73%; } }
.strong-leftMargin{
  margin-left:.3em; }
.strong-rightMargin{
  margin-right:.3em; }
.strong-small{
  font-size: .6em;
  vertical-align: 2px;
}
strong .fa-refresh{
  margin-right:.3em; }
/*背景付き強調文字-NEW*/
.new{
  font-family: Arial, Helvetica, "sans-serif";
  padding:3px 6px 3px 7px;
  font-size:0.88rem;
  letter-spacing: .1em;
  vertical-align: text-top; }  @media screen and (max-width:767px){
    .new{ 
      font-size: 73%;
      vertical-align: text-bottom;} }
.new-section{ 
  vertical-align: middle;}
/*背景付き強調文字 緑*/
.strong-green{
  background:#039703; }
/*QRコード*/
.qrCord{
  border:1px solid #E4E2D6; }
/* link
-------------------------------------------------------*/
/*リンクの共通*/
@media screen and (min-width:768px){
.container a:hover{
  outline: auto;}
}
/*メールアドレスへのリンク*/
.email .fa-envelope{
  margin-right: .3em;}
.email-link{
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  background: #4391d3;
  border-radius: 5px;
  padding: 0.3em 0.5em;
  text-decoration: none;
  color: #fff; }
@media screen and (max-width:767px){
  .email-link{ padding: .5em;} }
.container a.email-link:hover{
  background: #fff;
  color: #4391d3;
  text-decoration: underline;
  outline:none;}
/*カード型リンク*/
.cardLink{
  box-shadow: 0 2px 4px #efefef; }
  .cardLink a{
    display: block;
    background:#fff;
    text-decoration: none;
    color:#333;
    width: 100%;
    padding:1em 2.5vw;
    box-sizing: border-box; }
  @media screen and (min-width:768px){
  .cardLink a:hover{
    outline: 2px solid #62a5b1;
    box-shadow: 0 4px 6px #c5c5c5; } }
  .cardLink .far,
  .cardLink .fas{
    width: 1rem;
    text-align: center; }
  .cardLink .far{ padding-right: .7rem; }
  .cardLink .fas{ padding-right: .3rem; }
    .cardLink .fas.fa-external-link-alt{ padding-right: .7em; }
    .cardLink .fa-comments{ padding-right: .5em; 
    }@media screen and (max-width:767px){
      .cardLink .fa-comments{ padding-right: .7em; }}
/*フォームレイアウト*/
.form{
  padding-bottom: 2em;}
.form-memberLogin{
  background: #fff;
  margin-top: 2em;
  text-align: center;}
.form-contact{
  margin-top: 1em;
  border: 1px solid #E4E2D6;
  padding-left: 2em;
  padding-right: 2em;}
/*フォーム部品*/
.formControl{
  display: inline-block;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";}
.formControl-contact{
  display: block;
  width: 100%;}
.formControl-field input,.formBtn input,.formControl-field textarea{
  border-radius: 5px;}
.formControl-field:nth-child(odd){
  padding-top: 2em;
  text-align: left;}
.formControl-field input[type="text"]{
  padding: .5em;
  width: 16em;}
.formControl-field input[type="file"]{
  width: 100%;}
.formControl-field select{
  border: 1px solid #E4E2D6;
  border-radius: 5px;
  padding: .6em 1em;}
.formControl-field textarea{
  padding: .5em;
  width: 100%;
  overflow-y: scroll;
  line-height: 1.5;}
/*送信ボタン*/
.formBtn{
  margin-top: 2em;
  text-align: center;}
.formBtn-login{
  margin-top: 1.25em;
  margin-bottom: 0.5em;}
.formBtn input[type="submit"]{
  font-family: inherit;
  background: #333;
  padding: 1em 4em;
  box-shadow: 0 2px 4px #cacaca;
  cursor: pointer;
  color: #fff;}
.formBtn a{
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  text-decoration: none; }
  /*フォームに表示されるメッセージ*/
.formMessage{
  padding-top: 2em;}
.formMessage{
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";}
.formMessage-error{
  color: #D9100F;}
.formMessage-confirm,
.formMessage-complete{
  background: #f0efe9;
  padding: 1em;
  color: #736c47;}
.formMessage-confirm{
  margin-top: 2em; }
@media screen and (min-width: 1024px){
.formMessage-confirm{ text-align: center; }}
/*フォームfontawesome*/
.formControl-field .fas, .formMessage .fas{
  margin-right: .3em;}
/*お問い合わせフォーム*/
/*テキストエリア*/
.com_s{
height: 10em;}
.con_s{
height: 6em;}
/* 見出し -------------------------------------------------------*/
/*全タイトル共通*/
.title{
  font-weight:bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
.title-bg{
  background-color: #F0EFE9;
  padding: .5em; }
.title-border-bottom{
  margin-bottom: .6em;
  padding-bottom: .5em;
  border-bottom: 1px solid #E4E2D6;}
.title-large{
  font-size:1.8em; }
@media screen and (max-width:767px){
  .title-large{ font-size:1.5em; } }
.title-medium{
  font-size:1.4em;
  margin-top: 2vh; }
@media screen and (max-width:767px){
  .title-medium{ font-size:1.3em; } }
.title-small{
  font-size:1em;
  margin-bottom:.6vh;
  margin-top:2.5vh; }
.title-memberLogin-wrap{
  display: block;
  margin-left: 1.8rem; }
.title-info{
  border-bottom: 6px solid #f3f0e5;
  padding-bottom: 0.3em; }
/*フッタータイトル*/
@media screen and (max-width:799px){
.title-footerArticle{
  margin-top:1.5rem; } }
/*ページタイトル*/
.title-page{
  background:#5FBFD0;
  color: #fff;
  padding: .3em .5em;
  border-radius: 5px; }
  @media screen and (max-width:767px){
    .title-page{ border-radius: 0;}  }
/*セクションタイトル*/
.title-section{ margin-bottom: .4em; }
/*セクションタイトル-会員ログインのみ*/
@media screen and (min-width:768px){
.title-section-memberLogin{
  margin-bottom: 2vw;
  text-align: center;} }
/* セクションタイトル-ログイン画面のコンテンツ用 */
.title-section-login{
  background:#5FBFD0;
  color: #fff;
  padding: .3em .5em;
  border-radius: 5px;}
/*セクションタイトル-会員トップのみ*/
.title-section-memberTop{
  display: inline-block;
  margin-right: .5em; }
  @media screen and (max-width:767px){ 
    .title-section-memberTop{
      margin-bottom: .5vh; }
  }
.title-section-memberTop-sub{
  display: inline-block;
  font-size: .9em; }
  @media screen and (max-width:767px){
    .title-section-memberTop-sub{
      display: block; }
  }
/*セクションタイトル-会員ページ共通*/
.title-section-memberPage{
  margin-bottom:1vh;
  margin-top:4vh; }
/*セクションタイトル-dataList共通*/
.title-section-dataList{
  margin-bottom: 1em;
  margin-top: 2.5vh;
  font-size: 1em; }
/* リスト -------------------------------------------------------*/
/*全リスト共通*/
.item:not(:first-child){  margin-top: .5em;}
.item-disc{
  position: relative;
  margin-top: .5em;
  margin-left: .65em;
  padding-left: 1em;}
.item-disc::before{
    content: "";
    position: absolute;
    top: .5em;
    left: 0;
    width: .5em;
    height: .5em;
    background-color: #bfbdb1;
    border-radius: 50%; }
.item-disc-error::before{
    background-color: #d9100f; }
.list-ol{
  list-style-type: decimal;
  margin-left:2.2em; }
.list-ol li + li{ margin-top: .5em;}
/*お願いリスト(新型コロナの体制)*/
.itemLayout-covid19{
  margin-left: 1.5em;}
/*お願いリスト(相談窓口・お問い合わせ)*/
.item-contact{
  margin-left: .3em;}
@media screen and (max-width: 767px){
.item-contact{
  font-feature-settings: "palt" 1; } }
/*更新情報リスト*/
.itemLayout-newsChild{
  margin-left: 1.6em;}
.newsChild-item{
  position: relative;
  margin-top: 1em;
  padding-left: 1em;
  line-height: 1.5;}
  /*リストマーク付けたいとき*/
  .newsChild-item{ margin-left: 0.5em;}
  .newsChild-item::before{
  content: "";
  position: absolute;
  top: .5em;
  left: 0;
  width: .5em;
  height: .5em;
  background-color: #bfbdb1;
  border-radius: 50%; }
.newsChild-item + .newsChild-item {
  margin-top: 0.5em;}
.newsChild-item-summary{ 
  margin: .2em 0 0 1.7em;}
.newsChild-pdfSection{
  margin-left: 2em;}
  .newsChild-pdfSection-item{
    position: relative;
    margin-top: .5em;
    padding-left: 1em;}
    .newsChild-pdfSection-item::before{
      content: "";
      position: absolute;
      top: .5em;
      left: 0;
      width: .5em;
      height: .5em;
      border: 1px solid #bfbdb1;
      border-radius: 50%; }
.newsChild-item-link + .newsChild-item-link{
  margin-top: 0.4em; }

/* テーブル -------------------------------------------------------*/
/*全テーブル共通*/
.table{ border: 1px solid #E4E2D6; }/*外枠に罫線を引く*/
.td-tel{ white-space: nowrap;}/*電話番号は折返ししない*/
.table th{
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";}/*表の見出しは太字にする*/
.table th, .table td{  padding: .4em;}/*余白設定*/
.table td.td-tel-gaisen{ padding: .8em .8em .4em .4em;}/*外線+内線セルの余白設定*/
.table tr:nth-child(odd) th,
.table tr:nth-child(odd) td{
  background: #F0EFE9;}/*奇数行だけ背景色を付ける*/
/*本文テーブルレイアウト共通*/
.table-layout th:not(:first-child),
.table-layout td:not(:first-child){
  padding-left: 1vw; }
.table-layout th:not(:last-child),
.table-layout td:not(:last-child){
  padding-right: 1vw; }
.nowrap{  white-space: nowrap;}/*折り返ししない*/
@media screen and (max-width:767px){
  .table-layout th:not(:first-child),
  .table-layout td:not(:first-child){
    padding-left: .5em;
  }
  .table-layout th:not(:last-child),
  .table-layout td:not(:last-child){
    padding-right: .5em;
  }
}
/*見出し行付きtable－共通*/
.table-layout-header th,
.table-layout-header td{
  border: 1px solid #E4E2D6; }
.table-layout-header thead th{
  text-align: center;}
.table-layout-header th{
  background: #F0EFE9; }
.table-layout-header tr:nth-child(odd) td{
  background: none; }
/*連絡先一覧表*/
.table-tel p:not(:first-child){ margin-top: .1em;}
.table-tel th{ text-align: center;}
@media screen and (max-width:767px){
  .table-tel th{  padding: .5em 1em;}
  .table-tel td{  padding: .5em .5em;}
  .table-tel p:not(:first-child){  margin-top: .5em;}
  .tel-tap{  padding: .5em;}
}
.th-unionLodgeName{
  white-space: nowrap;/*支部名は折返ししない*/
  text-align: center; }
.table-tel-member .th-unionLodgeName{
  white-space: inherit; /*相談窓口・お問い合わせは折り返す*/ }
@media screen and (max-width:767px){
.table-login{
  box-sizing: border-box;
  width: 100%;
  font-size: 88%;}
.table-login th, .table-login td{
  padding: .5em .3em;} 
.table-login .td-tel .tel{
  padding: .5em; }
}
.table-tel-member th{ padding: 0.7em; }
.table-tel-member td{ padding: 0.7em; } 
@media screen and (max-width:767px){
  .table-tel-member th, .table-tel-member td { padding: 0.4em; }
  .table-tel-member th + td { padding: 0;}
  .table-tel-member .td-tel { padding: 1em 0.4em; }
}
.table-tel-member .td-tel * + *{ margin-top: 0.4em;}
/*タブレット・スマートフォン表示でもテーブルレイアウトのまま*/
@media screen and (max-width:799px){
  .table-layout-normal{
  font-size: calc(12px + 4 * (100vw - 375px) / 1075);
  }
}
@media screen and (max-width:767px){
  .table-layout-normal{
    box-sizing: border-box;
    width: 100%;
  }
}
/*タブレット・スマートフォン表示で縦並びになる*/
@media screen and (max-width:799px){
  .table-layout-vertical tbody,
  .table-layout-vertical tr,
  .table-layout-vertical th,
  .table-layout-vertical td{
    display:block;
    width: 100%;
    box-sizing: border-box;
  }
  .table-layout-vertical td:not(:first-child){
    padding-top:.2em;
  }
  .table-layout-vertical td:not(:last-child){
    padding-bottom:.2em;
  }
}
/* iframe埋め込み動画 ----------------------------------------------*/
.video-container{
  padding-bottom: 56.25%;  /*高さをpaddingで指定(16:9)*/
  height:0px;              /*高さはpaddingで指定するためheightは0に*/
  position: relative;}
.dataList .video-container{
  margin-bottom: 3em; }
.video{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;}

/*動画の横並び*/
@media screen and (min-width: 1024px){
  .video-container-twoColumn{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;}
  .video-container-twoColumn-item{
    width: 640px;
    height: 360px;}
  .video-container-twoColumn-title{padding-left:1.5vw; } }
  @media screen and (max-width: 1023px){
    .video-container-twoColumn-title{padding-left:3vw; } }
  @media screen and (max-width: 799px){
    .video-container-twoColumn-title{padding-left:4vw; } }
@media screen and (max-width: 768px){
  .video-container-twoColumn-item{
    width: 100%;
    height: auto;} }
/* 共通要素 -------------------------------------------------------*/
/*電話番号*/
.call{
  color: #fff;
  text-decoration: none;}
.tel-wrap{ 
  display: inline-block; /*ログイン画面でTELを横並びに表示*/ 
}@media screen and (max-width:767px){
  .tel-wrap{ display: block; }}
.tel{ padding: .3em .5em; }
.tel-tap{ 
  border-radius: 5px;
  width: 12.5em;
}.modal-flex-item .tel-tap{
  width: auto; 
}@media screen and (max-width:767px){
  .tel-tap{ width: auto; }}
.tel-tap-extension{
  background: #333;
  color: #fff; }
.tel-tap-emergency{
  background:#D9100F;
  color: #fff; }
.tel-label{ 
  margin-right: .4em;
  font-family: initial; }
.tel-number{ 
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";}
/*電話番号fontawesome*/
.fa-phone-alt{  margin-right: .3em;}
/* br 改行 -------------------------------------------------------*/
/*PCのみ表示ワイド版*/
@media screen and (max-width:1199px){
  .br-pc-wide{      display: none; } }
/*PCのみ表示*/
@media screen and (max-width:799px){
  .br-pc{      display: none; } }
/*PCのみ非表示*/
@media screen and (min-width:800px){
  .br-pc-none{      display: none; } }
/*タブレットのみ非表示*/
@media screen and (min-width:768px) and (max-width:799px){
  .br-tb-none{      display: none; } }
/*タブレット以上は非表示、スマホは表示*/
@media screen and (min-width:768px){
  .br-sp{   display: none; } }
/*320pxスマホ非表示*/
@media screen and (max-width:359px){
  .br-sp320-none{   display: none; } }
/*資料用アコーディオンメニュー*/
.accordion-heading{
  font-weight:normal;
  margin-bottom:2vh; }
.accordion-trigger{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  position: relative;
  background: #fff;
  padding: .7em .5em .7em 2.5em;
  border: 0;
/*  font-family: inherit;*/
  font-size: 1em;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  color: #333;
  min-width: 100px;
  width: 100%;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 2px 4px #efefef;
  transition-duration: .2s; }
  .accordion-trigger:active, .open .accordion-trigger {
    background: #62a5b1;
    color:#fff; }
  .accordion-trigger:focus {
    outline: none;
    box-shadow: 0 0 0 4px #c6e7ef; }
@media screen and (min-width:768px){
  .accordion-trigger:hover{
    background: #62a5b1;
    color:#fff; } }
.accordion-trigger:after{
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f078";
    display: block;
    transition: transform .2s ease-in-out;
    transform-origin: center center;
    transform: rotate(0deg);
    position: absolute;
    left: 1em;
    top: 0;
    bottom:0;
    margin: auto;
    width: 1em;
    height: 1em;
    text-align: center;
  }
  .open .accordion-trigger:after{
    transform: rotate(180deg);
  }
  @media screen and (max-width:767px){
    .accordion-trigger{
      padding-left:2.3em;
    }
    .accordion-trigger:after{
      left:.8em;
    }
  }
/*資料掲載*/
.accordion-wrapper.dataList{
  padding-left: 1em;
  padding-right: 1em; }
.dataList li:not(:first-child){
  margin-top:1.2em; }
  @media screen and (max-width:767px){
    .dataList{
      padding-left: 0;
      padding-right: 0;
    }
    .accordion-wrapper.dataList{
      padding-left: .5em;
      padding-right: .5em;
    }
  }
@media screen and (max-width:767px){
  .dataList-date{  font-size: 70%;}
}
/*-------------------------------------------------------

ナビゲーション

-------------------------------------------------------*/
/*メニューの裏側はスクロールさせない*/
body.fix{
  position: fixed;
  width: 100%; }

body.fix #mainNav-toggle-wrapper{
  position:fixed;
  top: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling:touch; }
/*fontawesomeアイコンの横幅を揃える*/
.nav .fas,
.nav .fab,
.nav .far{
  width: 1.5em;
  text-align: center; }
/*mainNav*/
#mainNav{
  margin-bottom: 4vh; }
#mainNav ul{
  background:#fff;}
#mainNav ul:first-child{
  box-shadow: 0 2px 4px #efefef;}
#mainNav a,
#mainNav p{
  padding:1.5vh 1.5vw;
  border-top:1px solid #F8F8F7; }
#mainNav a{
  display: block;
  box-sizing: border-box;
  text-decoration: none;
  color:#333; }
  #mainNav a.mainNav-current{ background-color:#0093ad; } 
@media screen and (min-width:768px){
  #mainNav a,
  #mainNav p{
    padding-left: 0.5vw;
    padding-right: 1vw; } 
  #mainNav a.mainNav-current{ 
    background-color:#4fbacd;
    color: #fff; } }
/*PCのみマウスオン時のスタイル設定*/
@media screen and (min-width:768px){
  #mainNav a:hover{
    background-color: #6d6d6d;
    color: #fff;} }
#mainNav .fa-file-pdf{
  color:#ff5f57;}
.mainNav-category{
  position:relative;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  background: #F0EFE9; }
.mainNav-category a{
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";}
.mainNav-category .fa-chevron-right{
  position:absolute;
  top:50%;
  margin-top:-0.5em;
  right: .8vw; }
@media screen and (min-width:768px){
    /*パソコンのみグローバルナビゲーションボタンを非表示にする*/
  #mainNav-toggle{
    display: none;
  }
    /*パソコンのみグローバルナビゲーションを表示する*/
  #mainNav{
    display: block!important;
    width: auto;
    font-size: 70%;
    white-space: nowrap;
  }
}
@media screen and (min-width:1024px){
  #mainNav{
    font-size: 100%;
  }
}
@media screen and (max-width:767px){
  /*mainNav ハンバーガーボタン*/
  #mainNav-toggle{
    position:relative;
  }
  #mainNav-toggle button{
    display: block;
    width:80px;
    height:100%;
    cursor: pointer;
    transition: all .4s;
    background: #fff;
    border:0;
    text-align: center;
  }
  #mainNav-toggle span{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4px;
  }
  #mainNav-toggle button:before,
  #mainNav-toggle span:before,
  #mainNav-toggle span:after{
    position: absolute;
    left: 50%;
    margin-left: -12%;
    width: 24%;
    height: 3px;
    background-color: #000;
    transition: all .4s;
  }
  /*mainNav ハンバーガーボタン タップ前*/
  #mainNav-toggle button:before{
    content:"";
    bottom:33px;
  }
  #mainNav-toggle span:before{
    content:"";
    bottom:23px;
  }
  #mainNav-toggle span:after{
    content:"";
    bottom:35px;
  }
  /*mainNav ハンバーガーボタン タップ後*/
  .active{
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .active #mainNav-toggle button{
    background:#333;
    color:#fff;
  }
  .active #mainNav-toggle button:before,
  .active #mainNav-toggle span:before,
  .active #mainNav-toggle span:after{
    background-color: #fff;
    transition: all .4s;
  }
  .active #mainNav-toggle span:before{
    bottom:49px;
    -webkit-transform: translateY(20px) rotate(-45deg);
    transform: translateY(20px) rotate(-45deg);
  }
  .active #mainNav-toggle button:before{
    opacity: 0;
  }
  .active #mainNav-toggle span:after{
    bottom:9px;
    -webkit-transform: translateY(-20px) rotate(45deg);
    transform: translateY(-20px) rotate(45deg);
  }
  /*mainNav*/
  #mainNav{
    display: none;
    width:100%;
    height:100%;
    position: fixed;
    z-index: 1;
    box-sizing: border-box;
    padding-top:52px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  #mainNav ul{
    background:#6d6d6d;
    color:#fff;
    height: 100%;
    overflow: auto;
  }
  #mainNav a{
    color:#fff;
  }
  #mainNav .fas,
  #mainNav .fab,
  #mainNav .far{
    color:#fff;
  }
  #mainNav .fa-chevron-right{
    color:#fff;
  }
  .mainNav-category{
    background:#333;
  }
  }
/* footerNav -------------------------------------------------------*/
#footerNav{
  background: #6d6d6d; }
.footerNav-list{
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding:4vh 2vw;
  box-sizing: border-box;
  margin:0 auto;
  color:#fff; }
.footerNav-list a{
  color:#fff; }
.footerNav-list .fa-file-pdf{
  color:#fff; }
.footerNav-category{
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  white-space: nowrap; }
.footerNav-subPage li{
  margin-top:.6em;
  white-space: nowrap; }
@media screen and (min-width:800px) and (max-width:1450px){
.footerNav-list{
  font-size: calc(10px + 6 * (100vw - 800px) / 650);}
}
@media screen and (max-width:799px){
.footerNav-list{
  display: block;
  padding-left:1.4vw;
  padding-right:1.4vw; }
  .footerNav-list > li:not(:first-child){
      margin-top:2em;}
}
@media screen and (min-width:768px){
.footerNav-list a:hover{
  background-color: #F2F2F2;
  color: #333;}
}
/*-------------------------------------------------------

header

-------------------------------------------------------*/
header{
  background:#fff;}
  @media screen and (max-width:767px){
    header{
      display: flex;
      flex-wrap: nowrap;
      height:52px;
    }
  }
#header-siteid{
  text-align: center;
  padding:1vh 0;}
  @media screen and (max-width:767px){
    #header-siteid{
      flex: 1;
      text-align: left;
      padding: 0 0 0 .8em;
      line-height: 50px; }   }
#header-siteid a{
  text-decoration: none;
  color: #333; }
#header-siteid img{
  padding-right: .5em;
  vertical-align: middle;
  max-width:50px; }  
  @media screen and (max-width:767px){
    #header-siteid img{
      max-width: 42px; } }
.header-siteidText{
  vertical-align: middle;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
  @media screen and (min-width:768px){ 
    .header-siteidText{
      font-size: 1.5em; } }
/*-------------------------------------------------------

footer

-------------------------------------------------------*/
/*フッター外枠*/
.footerContainer{
  padding-right:2vw;
  padding-left:2vw;
  max-width: 1450px;
  margin-top:3.5em;
  margin-right:auto;
  margin-left:auto;
  box-sizing: border-box; }
/*フッター カード型リンク*/
.footerArticle{
  display: flex; }
.footerArticle-area{
  width: 50%; }
.footerArticle-cardLink{
  height: calc(100% - 3.4em); }
.footerArticle-cardLink a{
  text-decoration: none;
  color:#333;
  display: flex;
  flex-wrap: nowrap;
  height:100%;
  align-items:center; }
.footerArticle-cardLink-leftColumn{
  width:73%;
  margin-right:2%; }
.footerArticle-cardLink-rightColumn{
  width:25%;
  text-align: right; }
.footerArticle-cardLink-rightColumn img{
  width: 100%;
  max-width: 150px; }
.strong-footerArticle{
  padding: .2em .5em; }
/*フッター LINE公式アカウント*/
.footerArticle-area-line{
  margin-right: 1vw; }
.footerArticle-area-line-txt{
  margin-top:3%; }
/*フッター 相談窓口・お問い合わせ*/
.footerArticle-area-contact-txt{
  line-height: 235%;
  margin-bottom: 6%; }
  @media screen and (min-width:800px) and (max-width:1339px){
    /*パソコン表示内 文字の改行とサイズ調整*/
    .footerArticle-cardLink{
        font-size: calc(12px + 4 * (100vw - 800px) / 539);
    }
    .br-none-footerArticle{
        display: none;
    }
    .strong-footerArticle{
        font-size: calc(9px + 7 * (100vw - 800px) / 539);
    }
  }
  @media screen and (max-width:799px){
    .footerArticle{
      display: block;
    }
    .footerArticle-area{
      width: 100%;
      margin:0;
    }
  }
  @media screen and (max-width:767px){
    .footerArticle-cardLink{
      font-size: calc(12px + 4 * (100vw - 375px) / 392);
    }
    .br-none-footerArticle{
        display: none;
    }
    .strong-footerArticle{
      font-size: calc(10px + 6 * (100vw - 375px) / 392);
    }
    .footerArticle-cardLink-leftColumn{
      width:78%;
      margin-right:1%;
    }
    .footerArticle-cardLink-rightColumn{
      width:21%;
    }
    .footerArticle-area-line-txt{
      margin-top:2%;
    }
    .footerArticle-area-contact-txt{
      line-height: 160%;
    }
  }
/*フッター 関連リンク テキストリンク*/
.footerRelated-link{
  display: flex;
  flex-wrap: wrap;
  margin-bottom:2vh; }
  @media screen and (max-width:768px){
  .footerRelated-link{
    display: block; } }
.footerRelated-link li:not(:last-child){
  margin-right: 3vw; }
  @media screen and (max-width:768px){
  .footerRelated-link li{
    margin-bottom: .8em; } }
@media screen and (min-width:768px){
.footerRelated-link a:hover{
  outline: 1px solid; } }
  /*フッター 関連リンク 画像バナー*/
.footerRelated-Banner{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap; }
  .footerRelated-Banner li:not(:last-child){
    margin-right: .8em; 
    margin-bottom: .8em; }
  @media screen and (min-width:768px){
  .footerRelated-Banner a:hover{
    outline: 2px solid #62a5b1;  } }
  .footerRelated-Banner li img{
    box-shadow: 0 2px 4px #efefef;}
/*フッター 会社概要*/
#footerOutline{
  margin-top: 4vh;
  margin-bottom:2vh;
  text-align: center; }
.footerOutline-siteid{
  margin-bottom:2vh;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
.footerOutline-siteid img{
  box-sizing: content-box;
  padding-right: .5em;
  vertical-align: middle;
  max-width: 32px; }
.footerOutline-tel{
  margin-top:2vh; }
.footerCopyright{
  text-align: center;
  margin-bottom:4vh; }
/*プライバシーポリシーリンク*/
.link-privacy{ text-align: center; }
.link-privacy a{ 
  font-weight: bold;
  color: #333;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";}
  .link-privacy a:hover{ 
    background-color: #6d6d6d;
    color: #fff; }
.link-privacy a .fa-chevron-right{ margin-right: .2em;}
/*-------------------------------------------------------

top

-------------------------------------------------------*/
.memberLogin{
  margin:3vw auto 2vw;
  box-sizing: border-box;
  max-width: 44em;}
  @media screen and (max-width:767px){
    .memberLogin{ margin:4vw; }  }
.section-login{
  margin-left: 2vw;
  margin-right: 2vw;}
.loginContent{
  max-width: 83em;
  margin-left: auto;
  margin-right: auto;}
.loginContent:not(:first-child){
  margin-top: 4vh; }
.loginContent p + p {margin-top: .5em;}
.loginContent-flex-parent{  display: flex; }
@media screen and (max-width:1023px){
.loginContent-flex-parent{ flex-direction: column; } }
@media screen and (min-width:1024px){
.loginContent-flex-child:first-child { margin-right: 1.5em; } }
/*-------------------------------------------------------

index

-------------------------------------------------------*/
.news-item:not(:first-child){
  margin-top: 1em;
  padding-top: 1em;}
.news-time{
  display: block;
  background-color: #F0EFE9;
  padding: .5em;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";  }
.news-topic{
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  color: #dc7704;
  text-indent: -0.5em;
  margin-left: 3em; }
  .news-topic .fa-hand-point-right{
    color: #EF8005;
    font-size: 1.2em;
    margin-right: .3em; }
.CampaignEvent-item:not(:first-child){
  margin-top: 1em; }
.CampaignEvent-head{
  padding-bottom: .8em;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
.CampaignEvent-img{
  vertical-align: middle;
  padding-right: .5em;
  width: 2.2em; }
.wadachiQuiz{
  display: table;}
.wadachiQuiz-img,
.wadachiQuiz-text{
  display: table-cell;
  vertical-align: middle; }
.wadachiQuiz-img{
  width: 10vw;
  min-width: 74px;
  max-width: 100px; }
.wadachiQuiz-text{
  padding-left: 1.5vw;
  line-height: 2.2; }
  @media screen and (max-width:787px){
    .wadachiQuiz-text{
      padding-left: .75em;
      line-height: 1.6; }
  }
.docs-item:not(:first-child){
  margin-top: 1em; }
.docs-head{
  padding-bottom: .8em;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
.notice p + p{
  margin-top: .7em; }
/*
.movie-item{
  margin-top: 2em;} 
*/
/*-------------------------------------------------------

about

-------------------------------------------------------*/
.about-section:not(:last-child){
  margin-bottom: 4vh; }
.about-section p + p{
  margin-top: .6em; }
.message-parent{
  display: table;}
.message-child{
  display: table-cell;
  vertical-align: top; }  @media screen and (max-width:768px){
  .message-parent,
  .message-child{
  display:block;} 
}
.message-child-text{
  padding-right: 2em; }@media screen and (max-width:768px){
  .message-child-text{
    padding-right: 0; }
}
.message-child-img{
  text-align: center; }@media screen and (max-width:768px){
  .message-child-img{
    margin-top: 1em; }
    .message-child-img img{
      width: 50%;}
}
.message-child-img figcaption{
  white-space: nowrap; }
.missionList{
  border-top: 1px solid #E4E2D6;
  border-bottom: 1px solid #E4E2D6;
  counter-reset: number 0; }
.mission-item::before{
  counter-increment: number 1;
  content: counter(number, cjk-ideographic) "．";
  display: inline-block; }
.mission-item{
  background-color: #F0EFE9;
  text-indent: -1.1em;
  padding: 1em 1.5em 1em 3.5em;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #E4E2D6;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  letter-spacing: .1em; }
  .mission-item:last-child{
    border-bottom: 1px solid #fff; }
.organigram-layout{
  margin-top: 1em;}
.byel-layout{
  margin-top: 1em;}
.policy-layout:not(:last-child){
  margin-bottom: 1.95em;}
.policy-item{
  position: relative;
  margin-left: .5em;
  padding-left: 1em;}
.policy-item + .title-policy-sub{
  margin-top: 1.5em;}
/*-------------------------------------------------------

road

-------------------------------------------------------*/
.dataList-road{
  margin-left: 1.1em;
}
.fa-box-archive{
  margin-right: .3em;
}
/*-------------------------------------------------------

report

-------------------------------------------------------*/

/*-------------------------------------------------------

wadachi

-------------------------------------------------------*/
.wadachiBacknumber .dataList{
  padding-right:0;
  padding-left:0; }
/*-------------------------------------------------------

course

-------------------------------------------------------*/
.course-descriptionList dt{
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
.course-descriptionList dt:first-child{
  margin-top: 1em;}
.course-descriptionList dd + dt{
  margin-top:1.5em;}

/*-------------------------------------------------------

zenrosai

-------------------------------------------------------*/
/*火災共済の1口あたりの年間掛金一覧表*/
.table-mutualAid th,
.table-mutualAid td{
  border: 1px solid #E4E2D6; }
.table-mutualAid th{
  background: #F0EFE9; }
.table-mutualAid td{
  text-align: center; }
.table-mutualAid tr:nth-child(odd) td{
  background: none; }
.table-mutualAid th{
  max-width: 12em; }

/*-------------------------------------------------------

coun

-------------------------------------------------------*/
/* レイアウト */
.coun{
  display:table;
  direction: rtl; }
h2 + .coun{ margin-top: 1.2em;}
.coun + .coun{  margin-top: 3.5vh; }
.coun-profile,
.coun-photo{
  direction: ltr;
  display: table-cell;
  vertical-align: top; }
.coun-profile{  padding-left: .8em; }
.coun-photo{
  width: 25%;
  min-width: 100px;}
/* コンテンツ */
.coun-name{  
  margin-top: .1em;
  margin-bottom: .2em;
  font-size: 1.4em;}
.coun-position{
  display: block;
  font-size: 75%;}
.coun-photo-img{  border: 1px solid #E4E2D6;}
/*-------------------------------------------------------

FPコンサルティングセミナー配信

-------------------------------------------------------*/
@media screen and (min-width:1024px){
.fpConSeminar-wrap{
  display: flex; }
.fpConSeminar-txt{
  margin-left: .7em;  }
}
@media screen and (max-width:1023px){
.fpConSeminar-txt{
  margin-top: .7em; }
}
/*-------------------------------------------------------

ラフォーレ倶楽部

-------------------------------------------------------*/


/*-------------------------------------------------------

プライバシーポリシー

-------------------------------------------------------*/
.list-privacy { counter-reset: number; }
.list-privacy-indent { text-indent: -1.6em; }
.list-privacy-sub { margin-left: 1.6em; }
.item-number:before {
  counter-increment: number;
  content: "("counter(number)")";
  position: relative;
  margin: 0 .2em 0 0;  }
.item-number-indent {
  padding-left: 1.5em; }
.item-number_inCircle{   position: relative; }
  .item-number_inCircle:before{
    counter-increment: number;
    content: counter(number);
    position: absolute;
    left: -.2em;
    top: .1em;
    padding: 0 0.4em;
    font-size: .85em; }
  @media screen and (max-width: 767px){
  .item-number_inCircle:before{
    top: .2em; } }
.item-number_inCircle:after{
  content: '';
  /* 配置を調整 */
  position: absolute;
  display: block;
  top: .75em;
  left: -.1em;
  transform: translateY(-50%);
  /* ○を作る */
  width: 1em;
  height: 1em;
  border: 1px solid #333;
  border-radius: 50%; }
.item-number_inCircle-indent{  padding-left: 1.25em; }
.privacy-content{ margin-left: .6em;}
/*-------------------------------------------------------

投票用スタイル vote style

-------------------------------------------------------*/
/* member/indexの投票リンク
-------------------------------------------------------*/
.container-election{
  background: #48aabb;
  padding: 3.5vh 4vw 4.2vh;
  border: 1px solid #cff8ff;
  box-shadow: 0px 10px 20px rgb(0 0 0 / 14%);
  text-align: center;
  color: #fff; }
@media screen and (max-width:1023px){
.container-election{ 
  padding-left: 3vh;
  padding-right: 3vh; 
  text-align: left; }
.container-election-title{
  font-size: 1.3em; } }
@media screen and (max-width:359px){
.container-election-title{
  font-size: 1.12em; } }
.container-election-p{
  display: inline-block;
  text-align: left;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W4", Meiryo, "sans-serif";
  font-size: 1.2em; }
@media screen and (min-width:1200px){
.container-election-p{
  display: block;
  text-align: center;  } }
@media screen and (max-width:760px){
.container-election-p{
  font-size: 1em;  } }
.container-election-p-indent{
  text-indent: -1em;
  margin-left: 1em;}
.container-election-linkTxt{
  color: #fff; }
.container-election-linkTxt-box{
  display: block;
  padding: 1em 0;
  box-sizing: border-box;
  max-width: 400px;
  border:1px solid #fff;
  text-align: center; }
@media screen and (min-width:1024px){
.container-election-linkTxt-box{
  margin-left: auto;
  margin-right: auto; } }
.container-election-linkTxt .fa-comments { margin-right: .25em;}
.container-election-cardLink{
  margin: 2vh 0;
  box-shadow: none; }
.container-election-cardLink a{
  display: inline-block;
  background: rgb(237,237,237);
  background: linear-gradient(0deg, rgba(237,237,237,1) 0%, rgba(255,255,255,1) 100%);
  max-width: 400px;
  box-shadow: 0 4px 7px #1f8394;
  border-radius: 5px;
  border: 1px solid #6c99a0;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  font-size: 1.5em; }
.main-toppage .container-election-cardLink a{
  font-size: 1.2em; }
@media screen and (max-width:767px){
.container-election-cardLink a{
  font-size: 1.2em; }  }
.container-election-cardLink a:hover{
  border: 4px solid #0d7386;
  box-shadow: 0 3px 5px rgb(0 0 0 / 20%) inset;
  outline: none; }
.container-election-cardLink .fa-file-pdf{
  margin-right: .25em; }
.voteLink{
  display: flex;
  align-items: center;
  justify-content: center; }
@media screen and (max-width:767px){
.voteLink{  justify-content: center; } }
.voteLink-img{
  width: 3em;
  height: auto ;
  margin-right: 0.5em; }
.container-election strong{
  border: 1px solid #fff;
  font-size: 1.2em; }
@media screen and (max-width:359px){
.container-election strong{
  font-size: .85em; } }
/* 投票フォーム
-------------------------------------------------------*/
/*タイトル*/
.title-election{
  background:#5FBFD0;
  color: #fff;
  padding: .3em .5em;
  text-align: center; }
@media screen and (max-width:359px){
.title-election{ font-size: 1em;} }
@media screen and (max-width:767px){
.title-election{ font-size: 1.2em;} }
@media screen and (min-width:768px){
.title-election{ font-size: 1.8em;} }
.title-election-complete{
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  padding: .3em;
  border: 1px solid #5fbfd0;
  font-size: 1.1em;
  color: #5fbfd0; }
/*リスト*/
.election-notice{
  margin-left: auto;
  margin-right: auto;
  background-color: #F0EFE9;
  max-width: 900px;
  padding: 1em;
  border-top: 1px solid #E4E2D6;
  border-bottom: 1px solid #E4E2D6; }
.election-notice-item{
  position: relative;
  padding-left: 1em;
  letter-spacing: .1em;  }
  .election-notice-item:not(:last-child){
    margin-bottom: .95em; }
  .election-notice-item:before{
    content: "";
    position: absolute;
    top: .5em;
    left: 0;
    width: .5em;
    height: .5em;
    background-color: #bfbdb1;
    border-radius: 50%; }
/*レイアウト*/
.election{
  margin-left: auto;
  margin-right: auto;
  max-width: 900px; }
.election-contact{
  margin-top: 3em; }
@media screen and (max-width:1024px){
.election{
  margin-left: 1em;  
  margin-right: 1em; } } 
/*立候補者レイアウト*/
.vote{
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.2);
  padding: 1.8em;}
.vote:not(:first-child) {
  margin-top: 2.4em; }
@media screen and (min-width:1024px){
.vote{  max-width: 31.8em;  } }
@media screen and (max-width:767px){
.vote{ padding: 1.5em 1em 2em; } }
@media screen and (min-width:1024px){
.vote-column{
  display: flex;
  justify-content: space-between;
  align-items: center; } }
.vote-column_nophoto{
  margin-left: auto;
  margin-right: auto;
  width: 240px; }
/*立候補者役職・名前*/
.name-parent{
  margin-bottom: 1.2em;
  text-align:center; }
.name-child,
.name-item{
  display: inline-block; }
.name-item:not(:last-child){
  margin-right:0.5em; }
.candidate,
.name-candidate,
.name-candidate-ruby,
.candidate-img{
  text-align: center; }
.candidate, .name-candidate{
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
.candidate{
  margin-bottom: 1em;
  padding-bottom: .5em;
  border-bottom: 1px solid #dedede;
  font-size: 1.2em; }
.name-candidate{
  font-size: 1.8em; }
@media screen and (max-width:767px){
.candidate{ font-size: 1.1em; }
.name-candidate{ font-size: 1.3em; } }
@media screen and (max-width:360px){
.candidate{ font-size: 1em; }
.name-candidate{ font-size: 1.2em; } }
.name-candidate-ruby{ font-size: .85em; }
/*立候補者顔写真*/
@media screen and (max-width:1023px){
.candidate-img{ margin-bottom: 1.2em;}
  .candidate-img img{ width: 240px; } }
/*投票ラジオボタン*/
.vote-btn-wrap{ 
  width: 240px;}
@media screen and (max-width:1023px){
.vote-btn-wrap{ 
  margin-left: auto;
  margin-right: auto; } }
.vote-btn{
  position: absolute;
  opacity: 0; }
.vote-btn-label{
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 1.2rem 1.5rem 1rem;
  line-height: 1.25;
  border: 1px solid rgba(0,0,0,0.3);
  border-radius: 0.25rem;
  box-shadow: 0 1px 3px rgb(0 0 0 / 10%);
  font-size: 1em;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  color: #333;
  cursor: pointer; }
.vote-btn-label:not(:last-child){
  margin-bottom: 1.2em; }
.vote-btn-label-confirm{
  cursor: default;
  color: #fff;
  text-align: center;}
.vote-btn + .vote-btn-label:before {
  content: "";
  background: #fff;
  border-radius: 100%;
  border: 1px solid #b4b4b4;
  display: inline-block;
  width: 1em;
  height: 1em;
  position: relative;
  margin-right: 0.5em;
  vertical-align: top;
  text-align: center;
  transition: all 250ms ease; }
.vote-btn:checked + .vote-btn-label{ 
  color: #fff;
  box-shadow: 0 1px 1px rgb(0 0 0 / 20%) inset; }
/*信任ボタン押下前の背景色*/
.confidence{
  background: rgb(106,255,45);
  background: linear-gradient(0deg, rgba(106,255,45,1) 0%, rgba(255,255,255,1) 100%);}
/*不信任ボタン押下前の背景色*/
.nonconfidence{
  background: rgb(184,184,184);
  background: linear-gradient(0deg, rgba(184,184,184,1) 0%, rgba(255,255,255,1) 100%);}
/*信任ボタン押下後の背景色*/
.vote-btn:checked + .confidence,
.confidence-confirm{
  background: #0aa72c; }
/*不信任ボタン押下後の背景色*/
.vote-btn:checked + .nonconfidence,
.nonconfidence-confirm{
  background: #7d7d7d;}
/*ラジオボタンのチェックマーク色*/
/*未選択*/
.vote-btn:checked + .vote-btn-label:before{ box-shadow: inset 0 0 0 2px #f4f4f4; }
/*信任*/
.vote-btn:checked + .confidence:before {  background-color: #77e606;}
/*不信任*/
.vote-btn:checked + .nonconfidence:before {  background-color: #b5b5b5;}
/*投票送信ボタン*/
.formBtn-vote{
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  box-shadow: 0 2px 4px #cacaca;
  padding: 1em 3em;
  border: 1px solid rgba(0,0,0,0.3);
  border-radius: 5px;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  font-size: 1.2em;
  color: #fff;
  cursor: pointer; }
.formBtn-vote-submit{
  background: rgb(239,128,5);
  background: linear-gradient(0deg, rgba(239,128,5,1) 0%, rgba(243,161,70,1) 100%);}
.formBtn-vote-cancel{
background: rgb(136,136,136);
background: linear-gradient(0deg, rgba(136,136,136,1) 0%, rgba(221,221,221,1) 100%);}
/*エラーメッセージ*/
.formMessage-error-election{
  margin-bottom: 3.5em;
  margin-left: auto;
  margin-right: auto;
  max-width: 31.8em; }
.title-error{ 
  margin-bottom: 0.8em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #d9100f;
  font-size: 1.3em; }
@media screen and (max-width:767px){
.title-error{ font-size: 1.05em; } }
@media screen and (max-width:360px){
.title-error{ font-size: 1em; } }
.errorList-election{
  display: inline-block;
  text-align: left; }
/*警告(送信完了前に表示するメッセージ)*/
.formMessage-warning{
  text-align: center;
  font-size:1.25em;
  color:#CC2929; }
/*完了画面のメッセージ*/
.formMessageTxt-election{
  display: inline-block;
  text-align: left; }
/*完了画面からのページリンク*/
.complete-link-list{
  margin-top: 2em;
  margin-left: auto;
  margin-right: auto;
  max-width: 38em; }
@media screen and (min-width:1024px){
  .complete-link-list{
  display: flex;
  justify-content: space-between; } }
.complete-link-item{
  width: 17em; }
@media screen and (max-width:1023px){
  .complete-link-item{ 
    margin-left: auto;
    margin-right: auto;}
    .complete-link-item:first-child{
    margin-bottom: 1.5em; } }
.complete-link{
  display: block;
  background: #fff;
  padding: .5em;
  border: 1px solid rgba(0,0,0,0.3);
  border-radius: 0.25rem;
  box-shadow: 0 1px 3px rgb(0 0 0 / 10%);
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  font-size: 1.2em;
  text-align: center; }
.complete-link .fas{
  margin-right: .25em;}
/*選挙に関するお問い合わせ先*/
.table-election{
  margin: 1.5em auto; }
@media screen and (max-width:767px){
.table-election{  font-size: .92em; }
.table-election th,.table-election td{ padding: .5em;  } }
/*投票画面footer*/
.footerNav-list-election{ 
  justify-content: space-around;
  max-width: 900px;
  font-size: 1em; }
@media screen and (min-width: 800px){
.footerNav-list-election{
  padding: 2vh 0;} }
/*投票画面の現在地表示*/
.stepBar-wrapper {
  margin-left: auto;
  margin-right: auto;
/*  margin-top: 1em;*/
  background-color: #fff;
  padding: 1em 0;
  border-top: 1px solid #F0EFE9;
  border-bottom: 1px solid #F0EFE9; }
.stepBar-wrapper-footer{
  margin-top: 2em; }
.stepBar + .stepBar{
  margin-top: 1em; }
.stepBar {
  position: relative;
  list-style: none;
  margin-left: auto;
  margin-right: auto;
  max-width: 900px; 
  text-align: center;
  overflow: hidden;
  *zoom: 1; }
@media screen and (max-width:359px){
.stepBar {  font-size: .85em;} }
@media screen and (max-width:767px){
.stepBar {  font-size: .95em;} }
.stepBar-form{
  margin-top: .5em; }
.stepBar .step {
  position: relative;
  float: left;
  display: inline-block;
  line-height: 36px;
	padding:0 2px 0 0;
	text-align: center;
  background-color: #eee;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #aaa; }
.stepBar .step:before, .stepBar .step:after {
  position: absolute;
  left: -6px;
  display: block;
  content: '';
  border-left: 12px solid #FFF;
  width: 20px;
  height: 18px; }
.stepBar .step:after {
  top: 0;
  -moz-transform: skew(30deg);
  -ms-transform: skew(30deg);
  -webkit-transform: skew(30deg);
  transform: skew(30deg); }
.stepBar .step:before {
  bottom: 0;
  -moz-transform: skew(-30deg);
  -ms-transform: skew(-30deg);
  -webkit-transform: skew(-30deg);
  transform: skew(-30deg); }
.stepBar .step:first-child {
  -moz-border-radius-topleft: 4px;
  -webkit-border-top-left-radius: 4px;
  border-top-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px; }
.stepBar .step:first-child:before, .stepBar .step:first-child:after {
  content: none; }
.stepBar .step:last-child {
  -moz-border-radius-topright: 4px;
  -webkit-border-top-right-radius: 4px;
  border-top-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px; }
.stepBar .step.current {
  color: #333;
  font-weight:bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  background-color: #FBC915; }
.stepBar .step.current_sub {
  background-color: #ffe68b; }
.stepBar.step2 .step {   width: 50%; }
.stepBar.step3 .step {
  width: 33.333%;
  width : -webkit-calc(100% / 3 - 1px) ;
  width:  calc(100% / 3 - 1px); }
.stepBar.step4 .step {   width: 25%; }
.stepBar.step5 .step {   width: 20%; }
/*ページの先頭に戻る*/
.pageTop {
  position: fixed;
  right: 0;
  bottom: 0;
  opacity: .6; }
.pageTopBtn{
  position: relative;
  display: block;
  width: 90px;
  height: 70px;
  text-decoration: none;
  background: #333;
  box-shadow: 0 0 3px rgb(0 0 0 / 15%); }
.pageTopBtn:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -30px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center; }
.pageTopBtn::after{
  content: '先頭に戻る';
  font-size: 13px;
  position: absolute;
  top: 38px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  color: #fff; }
/*20210618*/
.txt-left{
  text-align: left;
}
/*-------------------------------------------------------

75周年記念サイト告知スタイル advertise75th style

-------------------------------------------------------*/
.advertise75th-login{
  text-align: center; }
.advertise75th-img-login{
  max-width: 44em;
  box-shadow: 0px 3px 26px rgb(0 0 0 / 2%); }
.advertise75th-img{ 
  width: 360px;
  max-width: 100%;/*IE 11 バグ対策*/}
  @media screen and (max-width: 767px) {
    .advertise75th-img{
      width: 61vw;
      min-width: 144px;
      max-width: 240px; } }
  @media all and (-ms-high-contrast:none) and (max-width: 767px) {
      .advertise75th-img{
        width: 240px;
        max-width: 100%; } }
@media screen and (min-width: 1024px){
.header-advertise75th{ margin-right: 5vw; } }

/*-------------------------------------------------------

定期大会の告知スタイル conference style ※vote styleに上書き

-------------------------------------------------------*/
/* member/indexの導入手順リンク
-------------------------------------------------------*/
.container-conference{
  text-align: center;
  padding-right:2vw;
  padding-left:2vw; }
  @media all and (max-width: 767px) {
    .container-conference{
      padding-right:4vw;
      padding-left:4vw; } }  
.container-conference-p{
  display: inline-block;
  text-align:left; }
.container-conference strong{padding: 0.2em 0.6em; }
  @media all and (max-width: 767px) {
    .container-conference strong{font-size:1em; } }
.container-conference-cardLink{margin-bottom:0; }
  @media all and (max-width: 767px) {
    .container-conference-cardLink{text-align: center; } }
.container-conference-cardLink a{padding-bottom:1.1em;}
.container-conference-img{
  font-size:0.7em;
  font-weight: normal;
  font-family: "FP-ヒラギノ角ゴ ProN W3", Meiryo, "sans-serif";
  padding-right: 1.2em; }
.conference-img{
  width:2.4em;
  vertical-align: middle;
  image-rendering: -webkit-optimize-contrast;/*Chromeの縮小ぼやけ対策*/ }
/*-------------------------------------------------------

資産形成バナー seminar

-------------------------------------------------------*/
.container-seminar{
  padding-right:2vw;
  padding-left:2vw;
  padding: 2vh 4vw 4.2vh;
  border: 1px solid #e3e3e3;
  box-shadow: 0px 10px 20px rgb(0 0 0 / 14%);
} @media all and (max-width: 767px) {
    .container-seminar{
      padding-right:4vw;
      padding-left:4vw; } }  
.container-conference-p{
  display: inline-block;
  text-align:left; }
@media screen and (max-width:1023px){
.container-seminar{ 
  padding-left: 3vh;
  padding-right: 3vh; 
  text-align: left; }
.container-seminar-title{
  font-size: 1.3em; } }
@media screen and (max-width:359px){
.container-seminar-title{
  font-size: 1.12em; } }
.container-seminar-p{
  display: inline-block;
  text-align: left;
  font-weight: bold;
  font-family: "FP-ヒラギノ角ゴ ProN W4", Meiryo, "sans-serif";
  font-size: 1.2em; }
@media screen and (min-width:1200px){
.container-seminar-p{
  display: block;
  text-align: center;  } }
@media screen and (max-width:760px){
.container-seminar-p{
  font-size: 1em;  } }
.container-seminar-p-indent{
  text-indent: -1em;
  margin-left: 1em;}
.container-seminar div{
  max-width: 44em;
  margin-left: auto;
  margin-right: auto;}
.container-seminar table tr th{
  background: #F0EFE9;
  border: 1px solid #E4E2D6; }
.container-seminar table tr td{
  background:#F8F8F7!important;}
.container-seminar table tr td{
  border-bottom: 1px solid #E4E2D6; }
.container-seminar table{
  width: 100%;
  border-bottom: none; }
.container-seminar ul li:first-child,
.container-seminar ul li + li{
  margin-top: 0.3em; }
/*-------------------------------------------------------

はまぐち誠の輪

-------------------------------------------------------*/
/* layout
-------------------------------------------------------*/
.hama{ 
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em;}
.container.hama {
  margin-bottom: 3.5vw;}
@media screen and (min-width:768px){
  .container.hama {
    margin-bottom: 1.5rem;
    margin-left:auto;
    margin-right:auto;
    max-width: 67em; } }
.hama-bg{
  margin-top: -6.2vw;
  background-color:#E3F2FB;
  padding: 2.5vh 3vw .3vh;
  border: 9px solid #BFE0F1;
  border-radius: 14px; }
@media screen and (max-width:375px){
  .hama-bg{
    margin-top: -2.3vh;
    padding-top: 2vh;
    border: 5px solid #BFE0F1;
    border-radius: 10px; } }
@media screen and (min-width:768px){
  .hama-bg{ margin-top: -1.5em; } }
.hama-bg-white{
  background-color: #fff;
  padding: 6px .8em;
  border:1px solid #bfe0f1; }
@media screen and (min-width:768px){
.hama-video{ width: 100%; } }
.hama .accordion-wrapper{
    margin-bottom: 20px; }
.hama-prof,
.hama-prof-sns{
  background: #f3faff;
  padding: 10px;}
@media screen and (max-width:767px){
.hama-prof:first-child{
  margin-bottom: 10px;} }
@media screen and (min-width:768px){
.hama-prof-wrap{
  display: flex;
  justify-content: space-between; }
.hama-prof{
  width: 48%;
  box-sizing: border-box;  } }
.review:not(:first-child){ margin-top: 14px;}
.review:not(:last-child){ 
  /*破線*/
  background-image : linear-gradient(to right, #A0A5B2, #A0A5B2 2px, transparent 2px, transparent 8px);
  background-size: 5px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  padding-bottom: 14px; }
@media screen and (max-width:767px){
.hama-sns{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 8px 2vw 0; } }
@media screen and (min-width:768px){
.hama-sns li{
  display: inline-block; } }
/* Parts
-------------------------------------------------------*/
/* text */
.hama p{ 
  text-align: justify;}
.hama-b{
  font-weight:bold;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif"; }
.review-name{ 
  margin-bottom: 0.25em;
  color:#A0A5B2; }
/* button */
.hama .hama-video + .accordion-heading{
  margin-top:8px; }
@media screen and (max-width:375px){
.hama .accordion-heading{
  margin-bottom: 1vh;} }
.hama .accordion-trigger:active,
.hama .open .accordion-trigger{
  background: #1B7BB0;
  color:#fff; }
.hama .accordion-trigger:focus {
  outline: none;
  box-shadow: 0 0 0 4px #c6e7ef; }
@media screen and (min-width:768px){
.hama .accordion-trigger:hover{
  background: #1B7BB0;
  color:#fff; } }
/* list */
.hama-list-item{
  position: relative;
  padding-left: 1em;}
  .hama-list-item::before{
    content: "";
    position: absolute;
    top: .5em;
    left: 0;
    width: .5em;
    height: .5em;
    background-color: #84bee3;
    border-radius: 50%; }
  .hama-list-item:not(:first-child){
    margin-top: .5em; }
/* video */
@media screen and (max-width:999px){
.hama-video{
  width: 100%;
  height: auto; } }
/* Content
-------------------------------------------------------*/
.hama-title{ text-align: center;}
.hama-title-logo{ width: 54vw;}
@media screen and (min-width:768px){
  .hama-title-logo{ width: 25em;} }
.hama-copy{ text-align: center; }
@media screen and (min-width:768px){
  .hama-copy{ text-align: left; } }
/* SNS */
.tw-blue{color: #1da1f2}
.line-green{color: #00B900}
.youtube-red{color: #Ff0000}
.fb-blue{color: #4267b2}
/* SNS-インスタ */
.flowbtn6{/*ボタン全体*/
  border-radius:13px;
  position:relative;
  display:inline-block;
  width:50px;
  height:50px;
  font-size:33px;
  color:#fff!important;
  transition:.5s;
  text-decoration:none; }
.flowbtn6 i{/* アイコンをど真ん中に*/
  position:absolute;
  top:50%;
  left:50%;
  -ms-transform:translate(-50%,-50%);
  -webkit-transform:translate(-50%,-50%);
  transform:translate(-50%,-50%); }
.insta_btn6 .fa-instagram{ font-size:40px; }/* Instagramアイコン位置 */
.insta_btn6 {/* Instagram紫グラデ背景 */
  background:-webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background:linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  overflow:hidden; }
.insta_btn6:before{/* Instagramオレンジグラデ背景 */
  content: '';
  position: absolute;
  top:27px;
  left:-12px;
  width:59px;
  height:40px;
  background:-webkit-radial-gradient(#ffdb2c 7%, rgba(255, 105, 34, 0.3) 60%, rgba(255, 88, 96, 0) 70%);
  background:radial-gradient(#ffdb2c 7%, rgba(255, 105, 34, 0.3) 60%, rgba(255, 88, 96, 0) 70%); }
/* クチコミ */
.review-icon{ 
  /*画像トリミング枠の設定*/
  position: relative;
  width: 54px;/* トリミングしたい枠の幅 */
  height: 54px;/* トリミングしたい枠の高さ */
  overflow: hidden;
  border-radius: 50%;
  /*テキスト回り込み設定*/
  float: left;
  margin-right: 0.8em; }
.review-icon-img{
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto; }
.review-icon-noimg{ background-color: #fff; }
.hama-banner{ width: 200px; }
/*-------------------------------------------------------

クイズ大会バナースタイル quiz style

-------------------------------------------------------*/
.quiz{
  font-family: "FOT-スーラ Pro B", Meiryo, "sans-serif";
  margin: 0 auto 1em;
  background: #eae83a;
  box-shadow: 0px 3px 26px rgb(0 0 0 / 2%);
  max-width: 67em;
  text-align: center; }
.quiz-title{
  font-size: calc(14px + 4 * (100vw - 360px)/1440);
  letter-spacing: .1em; }
.quiz-text{
  font-size: calc(20px + 2 * (100vw - 360px)/1440);
  letter-spacing: .08em; }
    .quiz-text span{ font-size: 0.8em; }
    .quiz-text .fa-fw{ width: 1.5em;  }
.quiz-banner{
  margin: 3vh 0 2vh;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: #333;
  border-radius: 0.5rem; }
.quiz-banner-border-shadow {
  padding: calc(1.5rem - 12px) 3rem 1.5rem;
  background: #fff;}
@media screen and (max-width: 320px) {
.quiz-banner-border-shadow {
  padding: calc(1.5rem - 12px) 1rem 1.5rem;
  background: #fff;} }
.quiz-banner-border-shadow:before {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 99%;
  height: 96%;
  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 3px solid #000;
  border-radius: 0.5rem; }
.quiz-banner:hover{
  margin: 2vh 0 2vh; }
.quiz-banner-border-shadow:hover {
  padding: calc(1.5rem - 6px) 3rem; }
@media screen and (max-width: 320px) {
.quiz-banner-border-shadow:hover {
  padding: calc(1.5rem - 6px) 1rem; } }
.quiz-banner-border-shadow:hover:before {
  top: 0;
  left: 0; }
/*-------------------------------------------------------

無料お金相談

-------------------------------------------------------*/
@media screen and (max-width: 767px){
.text-indent{
  margin-left: 3.5em;
  }
}
/*-------------------------------------------------------

新春書初め大会

-------------------------------------------------------*/
.sinsyun{
    background: #ff5f57;
    color: #fff;
    padding: 0.2em 0.35em 0.2em 0.5em;
    border-radius: 9999px;
    font-size: 0.75em;
    letter-spacing: 0.1em;
}
@media screen and (min-width:768px){
.sinsyun{ vertical-align: unset; } }
/*-------------------------------------------------------

トップ画面 特設バナー ※vote styleに上書き

-------------------------------------------------------*/
.container-common-banner{
    padding: 3vh 4vw 3vh;
}
@media screen and (max-width:767px){
.container-common-banner{
    padding-top: 2vh;
}}
.container-common-banner .title-medium{
  margin-top: 0;
}
@media screen and (max-width:767px){
.container-common-banner .title-medium{
  text-align: center;}
}
.container-common-banner-txt{
  text-align: left;
}
@media screen and (min-width:1280px){
.video-container-banner{ padding-bottom: 22.25%; }
}

.container-common-banner-p{
  text-align: left;letter-spacing: 0.01em;
  margin-bottom: 1em;
}
@media screen and (min-width:768px){
.container-common-banner-p{
  line-height: 1.7;
  font-size: 1.1em;
  }}


/*-------------------------------------------------------

top

-------------------------------------------------------*/
/*common
-------------------------------------------------------*/
/*
本文
*/
.main-toppage { font-family:"FP-ヒラギノ角ゴ ProN W5", Meiryo, "sans-serif"; }
  .main-toppage p.public-card-summary{ font-family:"FP-ヒラギノ角ゴ ProN W3", Meiryo, "sans-serif"; }

.lead { margin-bottom: 1em;
}@media screen and (max-width:767px){
  .lead {
    line-height: 1.75;
    margin-bottom: .5em; } }
/*
レイアウト
*/
.inlineBlock{
  display: inline-block; }

.toppage-flex{  
  display: flex;
  justify-content: center;
}@media screen and (max-width:767px){
.toppage-flex{ 
  flex-direction: column; } }

@media screen and (max-width:767px){
.main-toppage section:first-child .toppage-flex{
  flex-direction: column-reverse; } }

.toppage-contact .toppage-flex{ flex-wrap: wrap; }

.grid-container{ display: grid; }

/*contents
-------------------------------------------------------*/
/*
メイン（組合員ログイン、一般公開コンテンツ）
*/
/*レイアウト設定*/
.main-toppage section:first-of-type{
  margin: 2vw auto; 
}@media screen and (max-width:767px){
  .main-toppage section:first-of-type{ margin:4vw; }  }

  .main-toppage section:first-of-type .toppage-flex{
    margin-left: 1vw;
    margin-right: 1vw;
  }@media screen and (max-width:767px){
    .main-toppage section:first-of-type .toppage-flex{
      margin: 0; } }

.toppage-flex-child.login{
  margin-right: .5rem;
}@media screen and (max-width:767px){
  .toppage-flex-child.login{
    margin-right: 0; } }

/*組合員ログイン*/
.login{/*PC用*/
  border: 1px solid #EBEAE2;
  border-radius: 4px;
  box-shadow: 0px 4px 9px -6px rgba(245,233,245,1);
  text-align: center;
  font-size: .94em;
}@media screen and (max-width:767px){
.login{
  margin-top: 2vw;
  margin-bottom: 2vw;
  border: none;
  box-shadow: none; } }

.login .form{
  padding: 2em 1em 0;
  display: grid;
  align-items: center;
  justify-items: center;
}@media screen and (max-width:767px){
  .login .form{/*SP用*/
    padding: 1em 1em 2em;
    display: block;
    border: 1px solid #EBEAE2;
    border-radius: 4px;
    box-shadow: 0px 4px 9px -6px rgba(245,233,245,1); } }

.login .title{
  margin-bottom: 1em;
}@media screen and (max-width:767px){
  .login .title{
    margin-bottom: 0.5em;
    font-size: 1.2em; } }

.login-explanation{
  font-family: "FP-ヒラギノ角ゴ ProN W3", Meiryo, "sans-serif";
  font-size: min(calc(12px + 4 * (100vw - 768px)/232), 1em);
}@media screen and (max-width:767px){
  .login-explanation{
    font-size: 1em; } }

.login .formControl-field input[type="text"]{
  width: 100%;
  font-size: 1rem;
}@media screen and (max-width:767px){
  .login .formControl-field input[type="text"]{
    width: 60vw; } }

.main-toppage .formMessage{
  margin: 1em 0 0;
  padding: 0 .5em;
  line-height: 2; }

.main-toppage .formControl-field:nth-child(odd){
  padding: 1.5em 0 .3em; }

.main-toppage .formMessage-error{
  background-color: #f2dede;
  padding: .4em .5em;
  border-color: #ebccd1;
  border-radius: 4px;
  line-height: 1.2; }

/*一般公開コンテンツ*/
.public{
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: .5rem;
} @media screen and (max-width:767px){
  .public{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr; } }
a.public-card{
  display: block;
  background: #fff;
  box-sizing: border-box;
  min-width: 170px;
  padding: 1em 1.6em 1.5em;
  border: 1px solid #EBEAE2;
  border-radius: 4px;
  box-shadow: 0px 4px 9px -6px rgb(245 233 245);
  text-align: center;
  text-decoration: none;
  color: #333;
} @media screen and (max-width:767px){
a.public-card{
  display: grid;
  align-items: center;
  min-width: 100%;
  padding: 0 2.25vw 2.25vw; } }
a.public-card:hover{
  outline: 1px solid; }
.public-card-icon{ 
  font-size: 3em;
  color: #EF8005; 
}@media screen and (max-width:767px){
  .public-card-icon{ 
    align-self: end;
    font-size: min(13vw, 5em); } }
.public-card-name{
  font-size: min(calc(12px + 4 * (100vw - 768px)/232), 1em);
}@media screen and (max-width:767px){
  .public-card-name{
    font-size: 1em; } }

.public-card-name .line{
  white-space: nowrap;
  line-height: 3;
}@media screen and (max-width:767px){
  .public-card-name .line{
    white-space: inherit;
    line-height: 1;
    padding-top: 0.25em;
    padding-bottom: 0.25em; }
    .public-card-name .title:not(.line){
      padding-bottom: 0.2em;
      line-height: 1.3;
      font-size: .95em; } }

.public-card-btn{
  margin-top: .5em;
  background:#EF8005;
  border-radius: 9999px;
  font-size: .9em;
  color: #fff;
}@media screen and (max-width:767px){
  .public-card-btn{
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1em;
    padding-right: 1em; } }
/*各⽀部のお問い合わせ先*/
.section-toppage-contact{
  background: #eeede7;
  padding: 1.5em 0 2.5em;
}@media screen and (max-width:767px){
  .section-toppage-contact{
    padding: 1.5em 2vw 2.5em; } }

.toppage-contact p + p { margin-top: .5em; }

.toppage-contact .table-login tr:nth-child(odd) th,
.toppage-contact .table-login tr:nth-child(odd) td{ background: #e2e0d5;
}@media screen and (max-width:767px){
  .toppage-contact .table-login tr:nth-child(odd) th,
  .toppage-contact .table-login tr:nth-child(odd) td{ background: #E6E5DD;} }

.toppage-contact .table th{ padding: 0.6em 0.3em 0.6em 0.6em;
}@media screen and (max-width:767px){
  .toppage-contact .table th{ padding: 0 0.5em; } }

.toppage-contact .table td{ padding: 0.6em;}
.toppage-contact .table td:nth-child(3){ padding-left: 0;text-align: center;}

.toppage-contact .tel{
  display: inline-block;
}@media screen and (max-width:767px){
  .toppage-contact .tel{ display: block; } }

.toppage-contact-list{
  background:#F8F8F7;
  box-sizing: border-box;
  padding: 1em 0 1.7em 1em;
  width: 525px;
}@media screen and (max-width:767px){
.toppage-contact-list{
  background: initial;
  padding: 1em .8em 0 .4em;
  width: 100%; } }

.toppage-contact-list ul{ max-width: 470px; }

.toppage-contact-list .item:not(:first-child){ margin-top: 1em; 
}@media screen and (max-width:767px){
.toppage-contact-list .item:not(:first-child){ margin-top: 0.75em; } }

/*
フッター・関連リンク
*/
.footer-toppage{ margin: 3vw; }
  .footer-toppage .container{
    margin-left: auto;
    margin-right: auto;
    max-width: 1280px; }
.banner{
  grid-template-columns:repeat(auto-fill, minmax(284px, 1fr));/*横*/
  gap: 0.8rem;
} @media screen and (max-width:767px){
  .banner{
    grid-template-columns:repeat(2, 1fr);/*横*/
    grid-template-rows:repeat(2, 1fr);/*縦*/ } }
.banner .grid-item{
  background: #000fff;
  text-align: center;
  height: 111px;
} @media screen and (max-width:767px){
  .banner .grid-item{
    height: auto; } }
a.banner-card{
  background: #fff;
  box-sizing: border-box;
  text-decoration: none;
  color: #333;
  width: 100%;
  height: 100%;
  display: grid;
  align-items: center;
  justify-items: center;
} a.banner-card img{ max-width: 246px;
} @media screen and (max-width:767px){
  a.banner-card{
    padding: 1rem; }
    a.banner-card img{
      vertical-align: middle;
      width: 100%;
      height: auto; } }
.banner-card-txt{ 
  vertical-align: middle;
  font-family: "FP-ヒラギノ角ゴ ProN W6", Meiryo, "sans-serif";
  font-size: 1.1em; 
} @media screen and (max-width:767px){
  .banner-card-txt{ 
    font-size: 1em; } }
/*
ログイン画面aside
*/
.main-toppage aside{
  margin: 2vw auto;
  max-width: 720px;
  padding: 2em;
  box-sizing: border-box;
}@media screen and (max-width:767px){
  .main-toppage aside{ 
    margin: 0 0 6vw;
    padding: 1em; } 
  .main-toppage aside:first-child{
    margin-bottom: 0;} 
  .main-toppage aside + aside{
    margin-top: 0;} }
.main-toppage .aside-bg{
  background-color: #eeede7;
  border: 1px solid #EBEAE2;
}

.main-toppage aside p,
.main-toppage aside .cardLink a{ text-align: center;}
.main-toppage aside .cardLink + div {
  display: flex; justify-content: space-between;align-items: baseline; margin-top: 0.3em;}
.main-toppage aside .notice{ font-size: 0.8em;}
.main-toppage aside .date{ font-size: 0.7em;}

.fa-location-dot{  margin-right: .3em;}
/*
支部所在地のモーダルウィンドウ
*/
.modal-flex{
  display: flex;
  justify-content: space-around;
}@media screen and (max-width:767px){
  .modal-flex{ display: block;} }
/*
@media screen and (max-width:767px){
.modal-branch { padding: 1.5em 2em; }}
*/
.modal-branch-description{ align-self: center;}
  .modal-branch-description th,
  .modal-branch-description td{ padding: 1em 0 0;}
  .modal-branch-description th{ padding-right: 1em; vertical-align: top;}
@media screen and (max-width:767px){
.modal-branch .modal-flex-item:last-child{ margin-top: 1em;}}
.modal-branch .tel::before{
  padding-left: 0.8rem;
  padding-right: 0.5rem; }
.modal-branch-name{ font-size: 1.5em; margin-bottom: 1.5vw;}
.modal-branch-name-address {font-size: 1.2em;}
@media screen and (min-width:768px){
.modal-branch-map{ width: 60%;}}
.modal-branch-map-img{ width: 100%;}
.modal-branch-name + *  ~ * {margin-top: 0.8em;}
a.modal-tel{
  display: block;
  cursor: inherit;
  text-decoration: none;
}

.attention{ margin-left: 1.6em;}
  li .attention{ margin-left: 0; }
.attention em{
  display: block;
  margin-left: 1em;
  text-indent: -1em; }
  li .attention em{
    margin-left: 1em;
    text-indent: -1em; }

@media screen and (max-width:767px){
.cardLink .br-sp + span{
  display: inline-block;
  margin-top: 0.2em;
  padding-left: 1.6em;
}}
