@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, button{
  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; }

img{
  vertical-align: bottom;
  box-sizing: border-box;
  width: auto;
  max-width: 100%;
  height: auto; }

/*-------------------------------------------------------

common style

-------------------------------------------------------*/
html,body{height: 100%; }
body{
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  text-size-adjust:100%;
  font-size: 16px;
  font-family: "Hiragino UD Serif W4 JIS2004", Meiryo, "sans-serif";
  color:#333;
  letter-spacing: 0.05em;
  background-attachment: fixed; }
body:not(.login):not(.body-form-privacy){
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255, 0.15) 0px, rgba(255,255,255, 0.15) 2px,transparent 2px, transparent 4px),repeating-linear-gradient(45deg, rgba(255,255,255, 0.15) 0px, rgba(255,255,255, 0.15) 2px,transparent 2px, transparent 4px),linear-gradient(0deg, rgb(238,253,255),rgb(157,237,249)); }
body.login{
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255, 0.05) 0px, rgba(255,255,255, 0.05) 2px,transparent 2px, transparent 4px),repeating-linear-gradient(45deg, rgba(255,255,255, 0.05) 0px, rgba(255,255,255, 0.05) 2px,transparent 2px, transparent 4px),linear-gradient(0deg, rgb(18,148,160),rgb(66,197,212)); }

/* デバイスごと表示 -------------------------------------------------------*/
/*スマートフォンのとき非表示*/
@media screen and (max-width:1023px){
  .sp-none{
    display: none; } }
/*パソコンのとき非表示*/
@media screen and (min-width:1024px){
  .pc-none{
    display: none; } }

/* レイアウト -------------------------------------------------------*/
/*横並び*/
.flex{display: flex; }
/*パソコンのみ横並び*/
@media screen and (min-width:1024px){
  .pc-flex{display: flex; } }

/*上余白*/
.marginTop{margin-top:1.2em; }
@media screen and (max-width:1023px){
  .marginTop{margin-top:1em; } }
.marginTop-short{margin-top:0.4rem; }
.marginTop-large{margin-top: 1.8em; }

.paddingTop{padding-top:1.2em; }
@media screen and (max-width:1023px){
  .paddingTop{padding-top:1em; } }

/*ページ左右余白*/
.firstView,
.container{
  padding-right:2vw;
  padding-left:2vw; }
.container.mainVisual{
  padding-right:0;
  padding-left:0; }
@media screen and (max-width:1023px){
  .firstView,
  .container{
    padding-right:1em;
    padding-left:1em; }
.container.mainVisual{
  padding-right:0;
  padding-left:0; } }

/*メインコンテンツ下余白*/
.main-container{
  padding-bottom:3.7em; }
  @media screen and (max-width:1023px){
    .main-container{
      padding-bottom:1.7em; } }

/*背景色*/
.background-deepGreen{background:#3C737B; }

/*シャドウ*/
  @media screen and (min-width:1024px){
    .header-container,
    .form-container{
      box-shadow: 0 2px 4px rgba(0,30,40,.2); } }

/* iframe埋め込み動画 ----------------------------------------------*/
.video-container{
  padding-bottom: 56.25%;/*高さをpaddingで指定(16:9)*/
  height:0px;/*高さはpaddingで指定するためheightは0に*/
  position: relative;
  z-index:0; }
.dataList .video-container{
  margin-bottom: 3em; }
.video{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* テキスト -------------------------------------------------------*/
/*太字*/
.bold{
  font-family: "Hiragino UD Serif W6 JIS2004", Meiryo, "sans-serif";
  font-weight: bold; }

/*黄色文字*/
.txt-yellow{color:#af7900; }

/*フチあり黄色文字*/
.txt-yellow-border{
  margin-top:1em;
  border:1px solid #af7900;
  text-align: center;
  padding: 0.4em 0;
  font-size:2em}
  @media screen and (max-width:1023px){
    .txt-yellow-border{font-size:1em; } }

/*赤色文字*/
.txt-red{color:#BE2B2B; }

/*緑色文字*/
.txt-green{color:#59bfca; }

/*白色文字*/
.txt-white{color:#fff; }

/*装飾付きテキストの左右余白*/
.txt-marginLR{
  margin-left:0.3em;
  margin-right:0.3em; }

/*補足用小文字*/
.txt-small{font-size:0.9em; }
  @media screen and (max-width:1023px){
    .txt-small{font-size:0.85em; } }

/*補足ボックス*/
.box-addition{
  background:#fdfbf5;
  border: 1px solid #f5f0d7;
  padding:1rem; }

/*小小見出し*/
.title-xsmall{
  font-size: 1em; }
  @media screen and (max-width:1023px){
    .title-xsmall{font-size:1em; } }

/*小見出し*/
.title-small{
  font-size: 1.1em; }
  @media screen and (max-width:1023px){
    .title-small{font-size:1em; } }

/*中見出し*/
.title-medium{
  font-size:1.4em; }
  @media screen and (max-width:1023px){
    .title-medium{font-size:1.2em; } }

/*大見出し*/
.title-large{
  /*padding-top:1.2em;
  margin-bottom:1rem;*/
  font-size:2.3em; }
  @media screen and (max-width:1023px){
    .title-large{font-size:1.6em; } }

/*見出し網掛け装飾*/
.title-hatching {
  position: relative;
  padding-bottom:0.4em; }
  @media screen and (max-width:1023px){
    .title-hatching{
      padding-bottom:0.6em;
      font-size:1.1em; } }
.title-hatching::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background-size: 7px 8px; }
/*網掛け黄色文字のとき*/
.txt-yellow.title-hatching::after{
  background-image:
    repeating-linear-gradient(45deg, #af8e30 0px, #af8e30 1px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%),
    repeating-linear-gradient(135deg, #af8e30 0px, #af8e30 1px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%); }
/*網掛け緑文字のとき*/
.txt-green.title-hatching::after{
  background-image:
    repeating-linear-gradient(45deg, #76d4de 0px, #76d4de 1px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%),
    repeating-linear-gradient(135deg, #76d4de 0px, #76d4de 1px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%); }

/*二重線アンダーライン*/
/*二重線アンダーライン黄色文字のとき*/
.txt-yellow.under-double{border-bottom: 4px double #af8e30; }
/*二重線アンダーライン緑文字のとき*/
.txt-green.under-double{border-bottom: 4px double #76d4de; }

/*実戦アンダーライン*/
.under-solid{
  padding-bottom:0.3em;
  border-bottom: 1px solid #cedcdc; }

/*左ボーダー付き*/
.left-border{
  border-left: 5px solid #cedcdc;
  padding:0.3em 0 0.3em 0.7em; }
  @media screen and (max-width:1023px){
    .left-border{
      padding-top:0;
      padding-bottom:0; } }

/*アイコン付きタイトル*/
.title-icon {
  position: relative;
  padding: 0 0 0 2.1em;
  border-radius: 0 4px 4px 0; }
  @media screen and (max-width:1023px){
    .title-icon{font-size:1.4em } }
.title-icon-icon {
  display: inline-block;
  position: absolute;
  padding: 0em;
  color: #7bd0dc;
  background: #def6f9;
  width: 2em;
  text-align: center;
  height: 2em;
  line-height: 2.1;
  left: -0.2em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 3px white; 
  border-radius: 50%; }
.title-icon-icon .fa,
.title-icon-icon .far,
.title-icon-icon .fas{margin:0; }

/*センター揃え*/
.center{text-align: center; }

/*センター揃えかつ左寄せ*/
.center-alignLeft{
  text-align: left;
  display: inline-block; }

/*小ボタンテキスト*/
.button-small-txt{
  font-size:1.1em; }
  @media screen and (max-width:1023px){
    .button-small-txt{font-size:0.9em; } }

/*中ボタンテキスト*/
.button-medium-txt{font-size:1.6em; }
  @media screen and (max-width:1023px){
    .button-medium-txt{font-size:1em; } }

/*大ボタンテキスト*/
.button-large-txt{font-size:2.1em; }
  @media screen and (max-width:1023px){
    .button-large-txt{font-size:1.25em; } }

/*日付サイズ調整*/
.day span{
  font-size:0.8em; }

/* 改行 -------------------------------------------------------*/
/*グループ改行*/
.br-group{display: inline-block; }

/* fontawesome -------------------------------------------------------*/
.fa, .far, .fas{
  margin-right:0.4em; }
  @media screen and (max-width:1023px){
    .mainNav .fa-sign-out-alt{
      margin-right:0.4em; } }

/* リンク -------------------------------------------------------*/
/*リンク共通*/
a,.searchAddress{
  color:#00a5ab;
  transition-duration: .1s; }
  @media screen and (min-width:1024px){
    a:hover{color:#BAE1E6; } }

/* ボタン共通*/
.button{
  display: block;
  text-decoration: none;
  text-align: center; }
.button-background{
  background:#fff; }

/*お申し込みボタン*/
.button-apply{
  color:#333;
  border-top:2px solid #ffe667;
  border-bottom:2px solid #E9C614;
  background: rgb(255,230,103);
  background: -moz-linear-gradient(180deg, rgba(255,230,103,1) 0%, rgba(255,213,0,1) 100%);
  background: -webkit-linear-gradient(180deg, rgba(255,230,103,1) 0%, rgba(255,213,0,1) 100%);
  background: linear-gradient(180deg, rgba(255,230,103,1) 0%, rgba(255,213,0,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffe667",endColorstr="#ffd500",GradientType=1); }
  @media screen and (min-width:1024px){
    .button-apply:hover,
    .button-gray:hover{
      color:#333;
      opacity: 0.5; } }

/*太いフチありボタン*/
.button-border-bold{border:2px solid #00a5ab; }
  @media screen and (min-width:1024px){
    .button-border-bold:hover{
      color:#fff;
      background:#1E909F;
      border:2px solid #1E909F; } }
  /*色反転（白）*/
  .button-border-bold.txt-white{border:2px solid #fff; }
    @media screen and (min-width:1024px){
      .button-border-bold.txt-white:hover{
        color:#1E909F;
        background:#fff; } }

/*細いフチありボタン*/
.button-border{border:1px solid #00a5ab; }
  @media screen and (min-width:1024px){
    .button-border:hover{
      color:#fff;
      background:#1E909F;
      border:1px solid #1E909F; } }
  /*色反転（白）*/
    .button-border.txt-white{border:1px solid #fff; }
      @media screen and (min-width:1024px){
        .button-border.txt-white:hover{
          color:#1E909F;
          background:#fff; } }

/*短いボタン*/
@media screen and (min-width:1024px){
  .button-short{
    margin-right:10vw;
    margin-left:10vw; } }

/*灰色ボタン*/
.button-gray{
  background:#e3e8e8;
  border-top:2px solid #e3e8e8;
  border-bottom:2px solid #d9dcdc;
  font-family:inherit;
  color:#333; }

/*中ボタン*/
.button-medium{
  padding:0.9rem 0; }

/*大ボタン*/
.button-large{
  padding:1.2rem 0; }

/* リスト -------------------------------------------------------*/
.list{
  text-indent: -1.4em;
  padding-left: 1.4em; }
.list li:not(:first-child){margin-top: 0.4em; }
/*リスト内のリスト以外の子要素はインデントさせない*/
.list *:not(ul):not(li):not(.list){text-indent: 0; }

/*補足ボックス用設定*/
.box-addition.list li{margin-left:1.4em; }

/*点マーカー*/
.list-disc{list-style: disc inside; }

/*番号*/
.list-decimal{list-style: decimal inside; }

/*米印*/
.list-notes > li:before{
  content:"※";
  margin-right:0.3em; }

/* テーブル -------------------------------------------------------*/
.table-normal th, .table-normal td{padding:0.5em 0.7em; }
.table-normal th, .table-normal td{border: 1px solid #b4c9ce; }

.table-normal th,
.form-check th{
  color: #333;
  background:#EBF9FB; }

/* tabキーで選択時 -------------------------------------------------------*/
/*共通色*/
a:focus,input:focus,button:focus,
.radioButton:focus + .radioButton-label, .agree input[type=checkbox]:focus + .label-check{
  outline-color: #000;
  outline-style: solid;}

/*通常フォーカス、同意のチェックボックス*/
a:focus,input:focus,button:focus,
.radioButton:focus + .radioButton-label, .agree input[type=checkbox]:focus + .label-check{
  outline-offset: 0px;
  outline-width: 2px;}

/*プライバシーポリシーのiframe*/
.body-form-privacy:focus{
  background:#f2faff; }

/*-------------------------------------------------------

ヘッダー・グローバルメニュー

-------------------------------------------------------*/
/* デバイス共通 -------------------------------------------------------*/
/*リンク*/
.header-container a{
  text-decoration: none; }

/*ページ内リンク ヘッダー分高さ調整*/
@media screen and (min-width:1024px){
  .pageLink-container{
  padding-top:64px;
  margin-top:-64px; } }
@media screen and (max-width:1023px){
  .pageLink-container{
  padding-top:56px;
  margin-top:-56px; } }

/*サイトID*/
.headerSiteid,
.header-return img{width:46px; }
  @media screen and (max-width:1023px){
    .headerSiteid,
    .header-return img{width:39px; } }

/*ログアウト*/
.signout{
  font-size:0.7em;
  margin-left:0.5vw;
  text-align: center; }
.signout a{display: block;}
.signout .fa-sign-out-alt{
  display: block;
  font-size:1.7rem;
  margin-right:0; }

/* サブページのみ -------------------------------------------------------*/
/*ヘッダー*/
.subPage .header{
  display: flex;
  align-items: center;
  width:100%; }
.subPage .header-container{margin-bottom: 1em; }

/*フッター*/
.subPage footer{margin-top:1em; }

/*ログアウト*/
.subPage .signout{
  margin-left:auto; }
  @media screen and (max-width:1023px){
    .subPage .signout{margin-right:0.5rem; } }

/*トップページに戻る*/
@media screen and (max-width:1023px){
  .header-return{
    padding-left:1rem; } }

.header-return-button{
  display: block; }

.header-return img{
  vertical-align: middle;
  margin-right: 0.5em;
  transition-duration: .1s; }

.header-return-button:hover img{
  opacity: 0.4; }

/* パソコンのみ -------------------------------------------------------*/
/*幅に応じて文字サイズ調整*/
@media screen and (min-width:1024px) and (max-width:1366px){
  .mainNav{font-size: calc(13px + 3 * (100vw - 1024px)/342); } }

@media screen and (min-width:1024px){
  body:not(.subPage) .header-container{position: fixed; }
  .header-container{
    display: flex;
    height:65px;
    width:100%;
    box-sizing: border-box;
    z-index:999;
    background:#fff;
    align-items: center;
    padding:0.5em 1em;
    box-shadow: 0 1px 4px rgba(0,0,0,.3); }
  .mainNav ul{
    display: flex;
    align-items: center; }
  .mainNav > ul > li:not(.mainNav-right){
    margin-left:1.5vw; }
  .mainNav > ul > li:not(.mainNav-right) > a{
    display: block;
    padding:0.7em 0; }
  .mainNav-toggle-wrapper{
    width:100%; }
  
  /*ヘッダー右領域*/
  .mainNav-right{
    margin-left:auto; }
  
  /*お申し込みボタン*/
  .mainNav .pc-button-header{
    padding:0.5em 0.7vw; }
  
  /*メニュー開閉ボタンを非表示にする*/
  .mainNav-toggle{display: none; } 
  
  /*グローバルナビゲーションを表示する*/
  .mainNav-toggle-wrapper{display: block!important; } }

/* スマートフォンのみ -------------------------------------------------------*/
@media screen and (max-width:1023px){
  body:not(.subPage) .header{position: fixed; }
  .header{
    display: flex;
    width:100%;
    box-sizing: border-box;
    background:#fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.3);
    height:56px;
    z-index: 999; }
  
  /*メニュー開閉ボタン*/
  .mainNav-toggle{
    position:relative; }
  .mainNav-toggle button{
    display: block;
    width:56px;
    height:100%;
    background:#fff;
    cursor: pointer;
    transition: all .4s;
    color:#1E909F;
    border:0;
    text-align: center; }
  .mainNav-toggle span{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height:100%;
    box-sizing: border-box;
    padding-top:36px;
    font-size:0.7em;
    letter-spacing: 0.1em; }
  .mainNav-toggle button:before,
  .mainNav-toggle span:before,
  .mainNav-toggle span:after{
    position: absolute;
    left: 50%;
    margin-left: -23%;
    width: 46%;
    height: 4px;
    background-color: #1E909F;
    transition: all .4s;
    border-radius: 3px; }

  /*メニュー開閉ボタン タップ前*/
  .mainNav-toggle button:before{
    content:"";
    bottom:31px; }
  .mainNav-toggle span:before{
    content:"";
    bottom:22px; }
  .mainNav-toggle span:after{
    content:"";
    top:12px; }
  
 /*メニュー開閉ボタン タップ後*/
  .active{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  .active .mainNav-toggle button:before,
  .active .mainNav-toggle span:before,
  .active .mainNav-toggle span:after{
    transition: all .3s; }
  .active .mainNav-toggle span:before{
    -webkit-transform: translateY(-9px) rotate(-45deg);
    transform: translateY(-9px) rotate(-45deg); }
  .active .mainNav-toggle button:before{opacity: 0; }
  .active .mainNav-toggle span:after{
    -webkit-transform: translateY(9px) rotate(45deg);
    transform: translateY(9px) rotate(45deg); }

  /*グローバルメニュー 開閉部分*/
  .mainNav-toggle-wrapper{
    display: none;
    width:100%;
    height:100%;
    position: fixed;
    z-index: 998;
    box-sizing: border-box;
    padding-top:55px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:#fff; }
  .mainNav-toggle-container{
    height: 100%;
    overflow: auto; }

  /*メニューの裏側はスクロールさせない*/
  body.fix{
    position: fixed;
    overflow-y: scroll;
    width: 100%; }
  body.fix .mainNav-toggle-wrapper{
    position:fixed;
    top: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling:touch; }

  /*ヘッダーサイトID*/
  .headerSiteid{
    margin-top:0.5em;
    margin-left:1em;
    background:#fff; }

  /*お申し込みボタン*/
  .sp-button-header-wrapper{
    margin-left:auto;
    margin-top:0.6em;
    margin-right:0.5em; }
  .sp-button-header{
    padding:0.3em 1em; }

  /*グローバルメニュー*/
  .mainNav li:not(.signout) > a{
    background:#1E909F;
    padding:1.2em;
    color:#fff;
    display: block;
    border-top:1px solid #fff; }
  
  /*ログアウト*/
  .mainNav .signout{
    font-size:1em;
    margin-left:0;
    padding:1.2em 0;
    background:#fff; }
  .mainNav .button-signout{
    padding:0.5em 1em;
    display: inline-block;
    border:1px solid #1E909F; }
  .mainNav .signout .fa-sign-out-alt{
    font-size:1em;
    display: inline-block; } }

/*-------------------------------------------------------

メインビジュアル

-------------------------------------------------------*/
.mainVisual{
  background-image: repeating-linear-gradient(315deg, rgba(10,92,88, 0.03) 0px, rgba(10,92,88, 0.03) 2px,transparent 2px, transparent 4px),repeating-linear-gradient(225deg, rgba(10,92,88, 0.03) 0px, rgba(10,92,88, 0.03) 2px,transparent 2px, transparent 4px),linear-gradient(180deg, rgb(209,244,250),rgb(157,214,223));
  text-align: center;
  padding-top:80px; 
} @media screen and (max-width:767px){
  .mainVisual{
    padding-top:70px; }}
.mainVisual-mainCopy{
  object-fit: cover; 
  object-position: center;
  width: 100%;
  height: 463px;
} @media screen and (max-width:767px){
  .mainVisual-mainCopy{
    height: 320px;}
} @media screen and (max-width:500px){
  .mainVisual-mainCopy{
    height: 280px;}
} @media screen and (max-width:375px){
  .mainVisual-mainCopy{
    height: 250px; }}
/*-------------------------------------------------------

お知らせ

-------------------------------------------------------*/
.notice-container{
  padding-top:0.8em;
  padding-bottom:0.8em;
  color:#FFFDB8; }

/*-------------------------------------------------------

firstView

-------------------------------------------------------*/
/* 申込前・申込完了後共通 -------------------------------------------------------*/
.firstView{
  background:#fff; }

@media screen and (min-width:1024px){
  .firstView-container{
    padding-right:20vw;
    padding-left:20vw; } }

/*概要文*/
.firstView-outline{
  text-align: left;
  font-size:1.2em; }
  @media screen and (max-width:1023px){
    .firstView-outline{
      font-size:0.9em; } }

/* 申込前のみ -------------------------------------------------------*/
.firstView-apply{
  padding-top:1.8em;
  padding-bottom:2.4em; }
  @media screen and (max-width:1023px){
    .firstView-apply{
      padding-top: 1em;
      padding-bottom: 1.4em; } }

/*申込ボタン*/
.firstView-apply-button{
  margin-top:1rem; }

.firstView-apply-button a{
  padding:1rem; }
  @media screen and (max-width:1023px){
    .firstView-apply-button a{
      padding:0.5rem; } }

/* 申込完了後のみ -------------------------------------------------------*/
.firstView-after{
  text-align: center;
  padding-top:1.8em;
  padding-bottom:2.2em; }
  @media screen and (max-width:1023px){
    .firstView-after{
      padding-top:1em;
      padding-bottom:1.4em; } }

/*タイトル*/
.firstView-after-title{
  margin-top: 1rem;
  font-size:1.4em;
  margin-bottom:0.4rem}
  @media screen and (max-width:1023px){
    .firstView-after-title{
      font-size:1.2em;
      margin-bottom:0.2rem; } }

.edit-container{
  text-align: center; }

/*登録内容変更テキスト*/
.txt-edit{
  font-size:1.1em; }
  @media screen and (max-width:1023px){
    .txt-edit{
      font-size:0.8em; } }

/*登録内容変更ボタン*/
.button-edit{
  margin-top:0.7rem;
  display:  inline-block; }
  @media screen and (max-width:1023px){
    .button-edit{
      margin-top:0.5rem;
      display: block; } }
.button-edit a{
  display: inline-block;
  padding:0.5rem 1rem; }
  @media screen and (max-width:1023px){
    .button-edit a{
      display: block; } }

/*-------------------------------------------------------

中央執行委員長あいさつ

-------------------------------------------------------*/
.greeting-container{
  background:#EBF9FB; }
  @media screen and (min-width:1024px){
    .greeting-container{
      padding-right:20vw;
      padding-left:20vw; } }
.greeting-flex{
  display: flex;flex-direction: row-reverse;gap:1em;justify-content: center;
}@media screen and (max-width:767px){
  .greeting-flex{
    flex-direction: column-reverse;
    align-items: center;}}
.greeting-flex-item-img{
  width: 40%;
  max-width: 480px; /* 画像の幅 */
  object-fit: cover; /* 画像の比率を保ってトリミング */
  flex-shrink: 0; /* 画像がテキストに押されて縮むのを防ぐ */ 
}@media screen and (max-width:767px){
  .greeting-flex-item-img{
    width: 100%; }}

/*-------------------------------------------------------

あゆみ

-------------------------------------------------------*/
.walking-container{
  background-color:#fff;
  background-image:url('images/ayumi.svg');
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  z-index: 1; }
  @media screen and (min-width:1024px){
    .walking-container{
      padding-right:20vw;
      padding-left:20vw; } }
  @media screen and (max-width:1023px){
    .walking-container{
      background-size:180% 100%; } }

.button-walking{
  padding-top: 0.5em;
  padding-bottom: 0.4em; 
  margin-top: 1.2rem; }

/*近日公開予定*/
.comingSoon{
  display: flex;
  align-items: center;
  font-size: 1.6em;
  margin-top: 1.8em; }
  @media screen and (max-width:1023px){
    .comingSoon{
      font-size: 1.3em;
      margin-top: 1em; } }

.comingSoon:before,
.comingSoon:after {
  content: "";
  height: 3px;
  flex-grow: 1; }

.txt-yellow.comingSoon:before,
.txt-yellow.comingSoon:after {
  border-top: 1px solid #af7900;
  border-bottom: 1px solid #af7900; }

.comingSoon:before {
  margin-right: 1rem; }

.comingSoon:after {
  margin-left: 1rem; }

/*-------------------------------------------------------

カタログギフト全体

-------------------------------------------------------*/
/*背景画像*/
.background-fixed{
  /*position: fixed;*/
  background-image: url('images/giftbox.svg');
  width:100%;
  height: 100%;
  bottom:0;
  background-attachment: fixed;
  background-repeat: no-repeat;
  z-index: -1; }
  @media screen and (min-width:1024px){
    .background-fixed{
      background-size: 50%;
      background-position: 100% 100px; } }
      @media all and (min-width:1024px) and (-ms-high-contrast:none){/*IEのみ*/
        .background-fixed{
          background-size: 80%;
          background-position: 140% 100px; } }
  @media screen and (min-width:768px) and (max-width:1023px){
    .background-fixed{
      background-size: 80%;
      background-position: 110% 80px; } }
  @media screen and (max-width:767px){
    .background-fixed{
      background-size: 120%;
      background-position: 0% 80px; } }

.catalog-container,.apply-container,.faq-container{
  max-width: 1500px;
  margin: 0 auto; }

/*-------------------------------------------------------

カタログギフト紹介

-------------------------------------------------------*/
/*.catalogSlide{box-shadow: 0 2px 4px rgba(0,30,40,.2); }*/

@media screen and (min-width:1024px){
  .catalogIntroduce-container{
    align-items:center;
    margin-top:3em;
    flex-wrap: nowrap;
    justify-content: space-between; } }
@media screen and (max-width:1023px){
  .catalogIntroduce-container{
    margin-top:2em; } }

.title-catalogIntroduce{text-align: center; }
@media screen and (min-width:1024px){
  .title-catalogIntroduce{font-size:1.8em; } }
@media screen and (max-width:1023px){
  .title-catalogIntroduce{
    font-size:1.2em;
    margin-top:1em; } }

@media screen and (min-width:1024px){
  .catalogSlide-container,
  .catalogIntroduce{width:calc(50% - 2em); } }

@media screen and (min-width:1024px){
  .catalogIntroduce-txt{
    line-height: 2.3;
    font-size: 1.1em; } }

/* スライダー -------------------------------------------------------*/
.catalogSlide-container{
  position: relative; }
@media screen and (min-width:700px) and (max-width:1023px){
  .catalogSlide-container{
    max-width: 700px;
    margin:0 auto; } }

/*アピール*/
.catalog-appeal{
  position: absolute;
  top: -20px;
  left: -20px;
  z-index: 1; }
  @media screen and (min-width:1540px){
    .catalog-appeal{width: 270px; } }
  @media screen and (min-width:1024px) and (max-width:1539px){
    .catalog-appeal {
      width: calc(220px + 40 * (100vw - 1024px)/515); } }/*画面幅1024～1539px：220～260px*/
  @media screen and (min-width:700px) and (max-width:1023px){
    .catalog-appeal {width: 260px; } }
  @media screen and (max-width:699px){
    .catalog-appeal{
      width: calc(200px + 40 * (100vw - 320px)/379); } }/*画面幅320～699px：200～260px*/

/*スライド領域*/
.catalogSlide {
  position: relative;
  overflow: hidden; }

/*スライドの高さ*/
@media screen and (min-width:1540px){
  .catalogSlide, .sliderList-item-img{
    height: 480px; } }
@media screen and (min-width:1024px) and (max-width:1539px){
  .catalogSlide, .sliderList-item-img{
    height: calc(300px + 180 * (100vw - 1024px)/515); } }/*画面幅1024～1539px：300～480px*/
@media screen and (min-width:700px) and (max-width:1023px){
  .catalogSlide, .sliderList-item-img{
    height: calc(430px + 40 * (100vw - 700px)/323);} }/*画面幅700～1035px：430～470px*/
@media screen and (max-width:699px){
  .catalogSlide, .sliderList-item-img{
    height: calc(190px + 240 * (100vw - 320px)/379); } }/*画面幅320～699px：190～430px*/

/*スライドの説明文*/
.sliderList-item-caption {
  position: absolute;
  z-index: 1;
  bottom:0;
  left:0;
  width: 100%;
  text-align: center;
  padding: 0.4em 0.5em;
  box-sizing: border-box;
  background:rgba(175,142,21,.9);
  color: #fff;
  animation-name: slider-fadeInOut;
  animation-iteration-count: infinite;
  animation-duration: 40s; }
  @media screen and (min-width:1024px){
    .sliderList-item-caption {font-size:18px; } }
  @media screen and (max-width:375px){
    .sliderList-item-caption {font-size: calc(13px + 3 * (100vw - 320px)/55); } }/*画面幅320～375px：13～16px*/

/*スライド画像*/
.sliderList-item-img {
  display: block;
  background-size: cover;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  animation-iteration-count: infinite;
  animation-duration: 40s; }
  @media only screen and (max-width: 1023px) {
  .sliderList-item-img {
    background-size: contain;
    background-repeat: no-repeat; } }

.sliderList-item-img img{
  width: 100%;
  max-width: none; }

/*スライド画像ズームイン（フェードイン・フェードアウト付）*/
.zoomin{animation-name: slider-fadeInOut, slider-zoomin;}

/*スライド画像ズームアウト（フェードイン・フェードアウト付）*/
.zoomout{animation-name: slider-fadeInOut, slider-zoomout;}

/*IEカクつき防止*/
.sliderList-item-img{transform: rotate(0.0001deg); }

/*アニメーションの透明度*/
.sliderList-item:not(:first-child) .slider-animation{opacity: 0; }

/*アニメーション時間設定*/
.sliderList-item:nth-child(1) .slider-animation {animation-delay: -1s; }/*スライド1 -1sから開始(フェードのラグ)*/
.sliderList-item:nth-child(2) .slider-animation {animation-delay: 2s; }/*スライド2 2s + 3s(待機時間)*/
.sliderList-item:nth-child(3) .slider-animation {animation-delay: 5s; }/*スライド3 5s + 3s(待機時間)*/
.sliderList-item:nth-child(4) .slider-animation {animation-delay: 8s; }/*スライド4 8s + 3s(待機時間)*/
.sliderList-item:nth-child(5) .slider-animation {animation-delay: 11s; }/*スライド5 11s + 3s(待機時間)*/
.slider-animation{
  animation-duration: 15s;/*11s + 3s(待機時間) + 1s(開始のラグ) = 1周までの所要時間*/
  animation-iteration-count: infinite;/*無期限に繰り返す*/ }

/*アニメーション設定：フェードインからフェードアウト*/
@keyframes slider-fadeInOut {
  0% {opacity: 0; }
  9% {opacity: 1; }
  14% {opacity: 1; }
  23% {opacity: 0; }
  100% {opacity: 0; } }

/*アニメーション設定：ズームイン*/
@keyframes slider-zoomin {
  0% {transform: scale(1); }
  100% {transform: scale(1.4); } }

/*アニメーション設定：ズームアウト*/
@keyframes slider-zoomout {
  0% {transform: scale(1.4); }
  100% {transform: scale(1); } }

/* 飾り枠 -------------------------------------------------------*/
.catalogIntroduce {
  border: 2px solid #af7900;
  padding: 5px;
  position: relative;
  z-index: 0;
  background: rgba(255,244,225,.5); }
  @media screen and (max-width:1023px){
    .catalogIntroduce{
      margin: 1em 0.8em 0; } }

.catalogIntroduce-inner {
  border: 1px solid #af7900;
  padding: 2em 2em 1.5em 2em;
  position: relative;
  height: 100%;
  box-sizing: border-box; }
  @media screen and (max-width:1023px){
    .catalogIntroduce-inner{
      padding: 0.3em 1em 1.3em 1em; } }

.catalogIntroduce::before,
.catalogIntroduce::after,
.catalogIntroduce-inner::before,
.catalogIntroduce-inner::after {
  border: 2px solid #af7900;
  border-radius: 50%;
  box-sizing: border-box;
  content: '';
  display: block;
  height: 40px;
  position: absolute;
  width: 40px;
  z-index: -1; }

.catalogIntroduce::before {
  top: -20px;
  left: -20px;
  clip: rect(18px, auto, auto, 18px); }

.catalogIntroduce::after {
  top: -20px;
  right: -20px;
  clip: rect(18px, 22px, auto, auto); }

.catalogIntroduce-inner::before {
  bottom: -25px;
  left: -25px;
  clip: rect(auto, auto,23px,17px); }

.catalogIntroduce-inner::after {
  bottom: -25px;
  right: -25px;
  clip: rect(auto, 23px, 23px, auto); }

/*-------------------------------------------------------

お申し込みの流れ

-------------------------------------------------------*/
.apply-container{
  background: #fff;
  box-sizing: border-box; }

/*マニュアルボタン*/
.button-manual{
  text-align: center; }

.button-manual .button{
  display: inline-block;
  padding:0.7em 1.2em; }
  @media screen and (max-width:1023px){
    .button-manual .button{
      padding:0.7em 0;
      width:100%;
      max-width:400px; } }

/*流れ図*/
.apply-flow{
  margin-top:3em;
  flex-wrap: nowrap;
  justify-content: space-between; }
  @media screen and (max-width:1023px){
    .apply-flow{
      margin-top:2em; } }

.apply-flow-item{
  text-align: center;
  background:#f8fafb;
  box-sizing: border-box;
  position: relative; }
  @media screen and (min-width:1024px){
  .apply-flow-item{
    width:calc(25% - 2em);
    padding: 1em; } }
  @media screen and (max-width:1023px){
    .apply-flow-item{
      padding: 1em 1em 1.5em;
      max-width: 500px;
      margin: 0 auto 2.6em; } }

.apply-flow-item:not(:last-child):before{
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  display: inline-block;
  font-size: 2.4em;
  text-align: center;
  color: #6abac5; }
  @media screen and (min-width:1024px){
    .apply-flow-item:not(:last-child):before{
      content: "\f054";
      right: -0.9em;
      top: 50%;
      margin-bottom: -0.7em; } }
  @media screen and (max-width:1023px){
    .apply-flow-item:not(:last-child):before{
      content: "\f078";
      bottom: -1.1em;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); } }

.apply-flow-step{
  font-size:1.5em;
  color:#6abac5; }

.apply-flow-step-number{
  font-size:1.4em; }

.apply-flow-img{
  margin: 0.5em auto 1em;
  width: 80%;
  text-align: center; }

@media screen and (min-width:1367px){
  .title-apply-flow{
    font-size: 1.4em; } }
@media screen and (min-width:1024px) and (max-width:1366px){
  .title-apply-flow{
    font-size: calc(18px + 4 * (100vw - 1024px)/342); } }
@media screen and (max-width:1023px){
  .title-apply-flow{
    font-size: 1.4em; } }

/*お申し込み期間*/
@media screen and (min-width:1024px){
  .apply-period{
    margin-top:3em;
    margin-bottom:3em; } }
@media screen and (max-width:1023px){
  .apply-period{
    margin-bottom:2em; } }

@media screen and (min-width:1024px){
  .apply-period-title{
    font-size:1.4em; } }
@media screen and (max-width:1023px){
  .apply-period-title{font-size:1em; } }

.apply-period-day{
  margin-top:0.5em;
  font-size: 3em;
  line-height: 1.3; }
  @media screen and (max-width:1023px){
  .apply-period-day{
    margin-top:0.1em;
    font-size: calc(23px + 17 * (100vw - 320px)/703); } }

.apply-period-day span{font-size:0.6em; }

.day .apply-period-day-br{
  font-size:1em;
  padding:0 0.15em; }

.day .apply-period-week{
  border: 1px solid #af7900;
  padding: 0.15em 0.2em 0em;
  margin-right: 0.2em;
  margin-left: 0.2em;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.5em; }

/*-------------------------------------------------------

よくある質問

-------------------------------------------------------*/
.faq-list{margin-bottom:3em; }

/* 開閉アコーディオン -------------------------------------------------------*/
@media screen and (min-width:1024px){
  .accordion-heading{margin-top:1.8em; } }
@media screen and (max-width:1023px){
  .accordion-heading{
    margin-top:1.4em;
    margin-bottom:1em; } }

.accordion-trigger{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  position: relative;
  background: #fff;
  padding: .7em 2.5em .7em 1em;
  border: 0;
  font-family: inherit;
  font-size: 1em;
  font-weight: bold;
  color:#1E909F;
  min-width: 100px;
  width: 100%;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 2px 4px rgba(0,0,0,.1);
  transition-duration: .2s; }
  .accordion-trigger:active, .open .accordion-trigger {
    background: #1E909F;
    color:#fff; }
  .accordion-trigger:focus {
    outline: none;
    box-shadow: 0 0 0 4px #86e8ff; }
    @media screen and (min-width:1024px){
      .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;
        right: 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:1023px){
        .accordion-trigger{
          padding-right:2em; }
        .accordion-trigger:after{
          right:.8em; } }

@media screen and (min-width:1024px){
.accordion-heading-question{
  font-size:1.3em; } }

.accordion-heading-question .accordion-trigger{
  padding-left: 2.2em;
  position: relative; }

.question{
  position: absolute;
  display: inline-block;
  margin-right: 0.6em;
  left: 0.7em; }

.answerContainer{
  line-height: 1.7; }
  @media screen and (min-width:1024px){
    .answerContainer{padding-left: 3.3em; } }
  @media screen and (max-width:1023px){
    .answerContainer{line-height: 1.8; } }

@media screen and (min-width:1024px){
.answerContainer-txt{margin-top:1.8em; } }

.accordion-heading-question:last-child{
  margin-bottom:3em; }

.answer{
  margin-right:0.4em;
  font-size: 1.3em;
  background: #fff;
  color: #87C2CB;
  display: inline-block;
  padding: 0.4em 0.5em 0.4em;
  border: 1px solid #87C2CB;
  line-height: 1; }
  @media screen and (min-width:1024px){
    .answer{margin-left:-2.2em; } }
  @media screen and (max-width:1023px){
    .answer{padding: 0.3em 0.3em 0.2em; } }

/*-------------------------------------------------------

フッター

-------------------------------------------------------*/
footer{
  background:#fff; }

/* お問い合わせ先 -------------------------------------------------------*/
@media screen and (min-width:1024px){
  .contact-container{padding-bottom:3em; } }
@media screen and (max-width:1023px){
  .contact-container{padding-bottom:2em; } }

.table-contact{
  margin-right:auto;
  margin-left:auto; }
  @media screen and (min-width:1024px){
    .table-contact{font-size: 1.6em; } }
  @media screen and (max-width:1023px){
    .table-contact{
      letter-spacing:0; } }
  @media screen and (max-width:375px){
    .table-contact{
      font-size: calc(13px + 2 * (100vw - 320px)/55); } }

@media screen and (min-width:1024px){
  .txt-contact{font-size:1.1em; } }
@media screen and (max-width:375px){
  .txt-contact{
    font-size: calc(12px + 2 * (100vw - 320px)/55); } }

.table-contact tr:not(:last-child) th,
.table-contact tr:not(:last-child) td{padding-bottom:1em; }

.table-contact .tel-tap-extension{
  display: block;
  background: #1E909F;
  vertical-align: middle;
  color:#fff; }
  @media screen and (min-width:1024px){
    .table-contact .tel-tap-extension{
      padding: .1em .8em .1em .8em;/*外線+内線セルの余白設定*/ } }
  @media screen and (max-width:1023px){
    .table-contact .tel-tap-extension{
      padding: .1em .4em .1em .4em;/*外線+内線セルの余白設定*/ } }

.table-contact .call{
  color:#fff;
  text-decoration: none; }

.th-unionLodgeName{
  white-space: nowrap;/*支部名は折返ししない*/
  text-align: center; }
  @media screen and (min-width:1024px){
    .th-unionLodgeName{padding-right:1.3em; } }
  @media screen and (max-width:1023px){
    .th-unionLodgeName{padding-right:0.4em; } }

.td-tel{ white-space: nowrap; }/*電話番号は折返ししない*/
  @media screen and (min-width:1024px){
    .td-tel{padding-right:1.3em; } }
  @media screen and (max-width:1023px){
    .td-tel{padding-right:0.4em; } }

@media screen and (min-width:1024px){
  .tel-tap-extension .tel-label,
  .tel-list .tel-label{margin-right:0.4em; } }
@media screen and (max-width:1023px){
  .tel-tap-extension .tel-label,
  .tel-list .tel-label{margin-right:0.3em; } }

/* 関連リンク -------------------------------------------------------*/
.link-container{
  max-width: 800px;
  margin: auto;
  width: 100%;
  flex-wrap: nowrap;
  justify-content: space-between; }
  @media screen and (min-width:1024px){
    .link-container{
      padding-bottom:3.7em; } }
  @media screen and (max-width:1023px){
    .link-container{
      max-width: 100%; } }

.link-container .button-border-wrapper{
  width: calc(100% / 2 - 10px); }
  @media screen and (max-width:1023px){
    .link-container .button-border-wrapper{width:50%; } }

.link-container .button-border{
  display: block;
  padding:0.5em 0; }
  @media screen and (max-width:1023px){
    .link-container:not(.link-container-one) .button-border{
      border-right:none; }
    .link-container:not(.link-container-one) .button-border-wrapper:first-child .button-border{
      border-left:none; } }
  @media screen and (min-width:320px) and (max-width:1023px){
  .link-container .button-border-wrapper{
    font-size: calc(12px + 2 * (100vw - 320px)/703); } }

/*ボタン1つのとき*/
.link-container-one .button-border-wrapper{margin:0 auto; }

@media screen and (max-width:1023px){
  .link-container-one .button-border-wrapper{
    width:auto;
    margin:0 1rem; } }

/* フッターID・コピーライト -------------------------------------------------------*/
.footerOutline-container{
  width:100%;
  box-sizing: border-box;
  padding-top:1em;
  padding-bottom:1em; }
  @media screen and (min-width:1024px){
    .footerOutline-container{
      align-items:center;
      border-top:1px solid #CCCCCC; } }
  @media screen and (max-width:1023px){
    .footerOutline-container{
      text-align: center; } }

.footerOutline-siteid img{
  max-width:50px;
  padding-right: .5em;
  vertical-align: middle; }

.footerOutline-siteid{
  font-family: "Hiragino Kaku Gothic W6 JIS2004", Meiryo, "sans-serif";
  font-weight: bold; }
  @media screen and (min-width:1024px){
    .footerOutline-siteid{
      margin-right:1.2em;
      font-size: 1.3em; } }
  @media screen and (max-width:1023px){
    .footerOutline-siteid{
      font-size:1.2em;
      margin-bottom:0.5em; } }

.footerOutline-tel .call{
  border: 1px solid #00a5ab;
  padding: 0.3em 0.8em 0.1em;
  text-decoration: none;
  display: inline-block;
  margin-top: 0.6em; }

@media screen and (min-width:1024px){
  .footerCopyright{
    margin-left:auto; } }
@media screen and (max-width:1023px){
  .footerCopyright{margin-top:1em; } }

/*-------------------------------------------------------

入力フォーム

-------------------------------------------------------*/
.form-container{
  background:#fff;
  padding-bottom:3rem;
  box-sizing: border-box;
  max-width: 1024px;
  padding-top:2.6em;
  margin:0 auto; }
  @media screen and (max-width:1023px){
    .form-container{
      padding-top:1.7em; } }

@media screen and (min-width:1024px){
  .form-wrapper{
    margin-right:0.5rem;
    margin-left:0.5rem; } }

/*エラー文字先頭タイプ*/
.txt-error-head{
  background: #fff1f1;
  padding: 0.6em 0.7em;
  border-radius: 4px; }
  @media screen and (min-width:1024px){
    .txt-error-head{
      font-size:1.1em; } }

.txt-error-head p:not(:last-child){margin-bottom:0.5em; }

.txt-error-head .center-alignLeft{padding-left: 1.6em; }
.txt-error-head .fas{
    display: inline-block;
    margin-left: -1.6em; }

/*エラー文字直下タイプ*/
.txt-error{
  margin-top: 0.6em;
  background: #fff1f1;
  padding: 0.3em 0.8em;
  border-radius: 4px; }
.form-wrapper + .txt-error{
  margin-right: 0.5rem;
  margin-left: 0.5rem; }

/*入力例*/
.form-example{
  font-size:0.85rem;
  margin-top:0.5rem;
  color:#8a8a8a; }

/*住所検索ボタン*/
@media screen and (min-width:1024px){
  .searchAddress-wrapper{
    padding-left:0.7em; } }
@media screen and (max-width:1023px){.searchAddress-wrapper{margin-top:0.4rem; } }

.searchAddress{
  padding:0.5rem 0.7rem;
  cursor: pointer; }
  @media screen and (max-width:1023px){
    .searchAddress{font-size:0.9em; } }

/* ステップバー -------------------------------------------------------*/
/*投票画面の現在地表示*/
.stepBar-wrapper {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0.8em; }
.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: 1024px; 
  text-align: center;
  overflow: hidden; }
  @media screen and (max-width:1023px){
    .stepBar {
      font-size: 0.8em;
      letter-spacing: -0.05em; } }
.stepBar-form{
  margin-top: .5em; }
.stepBar .step {
  position: relative;
  float: left;
  display: inline-block;
  line-height: 1.5rem;
  padding:0.2em 0;
  text-align: center;
  background-color: #c4d6da;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #8ba2a1; }
  @media screen and (max-width:1023px){
    .stepBar .step{line-height: 1.2rem; } }
.stepBar .step:before, .stepBar .step:after {
  position: absolute;
  left: -4px;
  display: block;
  content: '';
  border-left: 8px solid #a8f3ff;
  width: 20px;
  height: 1.7rem; }
  @media screen and (max-width:1023px){
    .stepBar .step:before, .stepBar .step:after{height: 1.4rem; } }
.stepBar .step:after {
  top: 0;
  -moz-transform: skew(15deg);
  -ms-transform: skew(15deg);
  -webkit-transform: skew(15deg);
  transform: skew(15deg); }
.stepBar .step:before {
  bottom: 0;
  -moz-transform: skew(-15deg);
  -ms-transform: skew(-15deg);
  -webkit-transform: skew(-15deg);
  transform: skew(-15deg); }
.stepBar .step:first-child:before, .stepBar .step:first-child:after {
  content: none; }
/*ステップ数*/
.step-number{
  display: block;
  font-size:0.8em; }
/*現在地*/
.stepBar .step.current {
  color: #fff;
  background-color: #007a8c; }
/*ステップ数に応じて変動*/
.stepBar.step2 .step {   width: 50%; }
.stepBar.step3 .step {
  width: 33.333%;
  width : -webkit-calc(100% / 3) ;
  width:  calc(100% / 3); }
.stepBar.step4 .step {   width: 25%; }
.stepBar.step5 .step {   width: 20%; }
.stepBar .step:first-child{padding-right:0.5em; }
.stepBar .step:last-child{padding-left:0.5em; }

/* サブステップバー -------------------------------------------------------*/
.subStepBar-wrapper{
  padding-top: 2em;
  background:#fff; }
.subStepBar {
font-size: 1em;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
padding: 0;
}
.subStepBar > li {
position: relative;
display: block;
width: auto;
margin: 0;
padding: 0;
list-style: none;
text-align: center;
text-overflow: ellipsis;
color: #b0bec5;

-ms-flex: 1;
-moz-flex: 1;
-webkit-box-flex: 1;
   flex: 1;
}
.subStepBar > li .bubble {
display: block;
width: 14px;
height: 14px;
margin: 0 auto 0.5em;
border-radius: 1000px;
background-color: #c4d6da;
}
.subStepBar > li .bubble::after,
.subStepBar > li .bubble::before {
position: absolute;
top: 6px;
display: block;
width: 100%;
height: 3px;
content: '';
background-color: #c4d6da;
}
/*.subStepBar > li.done,
.subStepBar > li.done .bubble {
color: #a5e5ef;
}*/
/*.subStepBar > li.done .bubble,
.subStepBar > li.done .bubble::after,
.subStepBar > li.done .bubble::before {
background-color: #a5e5ef;
}*/
.subStepBar > li:last-child .bubble::after,
.subStepBar > li:last-child .bubble::before {
width: 0%;
margin-right: 50%;
}
.subStepBar > li.done > .bubble + span::before {
  font-family: "Font Awesome 5 Free";
  content: '\f058';
  margin-right:0.1em; }
.subStepBar > li.current,
.subStepBar > li.current .bubble {
  color: #00a5ab;
}
.subStepBar > li.current .bubble,
.subStepBar > li.current .bubble::after,
.subStepBar > li.current .bubble::before {
background-color: #44c4c7;
  -webkit-box-shadow: inset 0 0 0 rgba(68,196,199,0), 0 0 8px rgba(68,196,199,.2);
   -moz-box-shadow: inset 0 0 0 rgba(68,196,199,0), 0 0 8px rgba(68,196,199,.2);
        box-shadow: inset 0 0 0 rgba(68,196,199,0), 0 0 8px rgba(68,196,199,.2); }
.subStepBar > li.current .bubble{
  -webkit-box-shadow: inset 0 0 0 rgba(68,196,199,0), 0 0 8px rgba(68,196,199,1);
   -moz-box-shadow: inset 0 0 0 rgba(68,196,199,0), 0 0 8px rgba(68,196,199,1);
        box-shadow: inset 0 0 0 rgba(68,196,199,0), 0 0 8px rgba(68,196,199,1); }
.subStepBar > li.current > .bubble + span::before {
  font-family: "Font Awesome 5 Free";
  content: '\f0a4';
  margin-right: 0.2em;
  font-weight: 500; }

/* テキストボックス -------------------------------------------------------*/
input[type="text"],
input[type="tel"]{
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  width: 100%;
  border: 1px solid #c5d8da;
  border-radius: 4px;
  padding: .8em;
  box-sizing: border-box;
  -webkit-box-shadow: inset 0px 1px 2px 0px rgba(177,199,209,.3);
  -moz-box-shadow: inset 0px 1px 2px 0px rgba(177,199,209,.3);
  box-shadow: inset 0px 1px 2px 0px rgba(177,199,209,.3);
  transition: box-shadow ease .3s; }
input[type="text"]:focus,
input[type="tel"]:focus{
  border-color: #eaf7ff;
  -webkit-box-shadow: inset 0 0 0 rgba(177,199,209,0), 0 0 8px rgba(177,199,209,.9);
  -moz-box-shadow: inset 0 0 0 rgba(177,199,209,0), 0 0 8px rgba(177,199,209,.9);
  box-shadow: inset 0 0 0 rgba(177,199,209,0), 0 0 8px rgba(177,199,209,.9); }

/*番号入力の横幅調整*/
@media screen and (min-width:1024px){
  input[type="text"].input-short,
  input[type="tel"].input-short{
    width: 10em; } }

/*郵便番号*/
.form-postCode-wrapper{
  align-items: center; }
.form-postCode{
  display: flex;
  align-items: center; }

/*郵便番号・ハイフンなど*/
.form_symbol-first{
  margin-right:0.2em; }
.form_symbol{
  margin-right:0.2em;
  margin-left:0.2em; }

/*エラー時*/
input[type="text"].form-error,
input[type="tel"].form-error,
input.form-error + .radioButton-label,
input.form-error + .label-check{
  border: 1px solid #BE2B2B;
  -webkit-box-shadow: inset 0 0 0 rgba(177,199,209,0), 0 0 8px rgba(228,152,152,.9);
  -moz-box-shadow: inset 0 0 0 rgba(177,199,209,0), 0 0 8px rgba(228,152,152,.9);
  box-shadow: inset 0 0 0 rgba(177,199,209,0), 0 0 8px rgba(228,152,152,.9); }

/*エラー解消時*/
input.form-success[type="text"],
input.form-success[type="tel"]{
  border: 1px solid #44c4c7;
  -webkit-box-shadow: inset 0 0 0 rgba(68,196,199,0), 0 0 8px rgba(68,196,199,0.3);
  -moz-box-shadow: inset 0 0 0 rgba(68,196,199,0), 0 0 8px rgba(68,196,199,0.3);
  box-shadow: inset 0 0 0 rgba(68,196,199,0), 0 0 8px rgba(68,196,199,0.3); }

/* ラジオボタン・同意ボタン -------------------------------------------------------*/
/*ボタン押す前の色*/
.radioButton-label,
.label-check{
  border: 1px solid #c5d8da;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 2px 0px rgba(0,0,0,.1);
  -moz-box-shadow: 0 1px 2px 0px rgba(0,0,0,.1);
  box-shadow: 0 1px 2px 0px rgba(0,0,0,.1);
  color: #333;
  cursor: pointer;
  background: rgb(225,244,245);
  background: linear-gradient(0deg, rgba(225,244,245,1) 0%, rgba(255,255,255,1) 100%); }

/*ボタン押下後の色*/
.radioButton:checked + .radioButton-label,
.agree input[type=checkbox]:checked + .label-check{ 
  color: #fff;
  -webkit-box-shadow: 0 1px 1px 0px rgba(0,0,0,.2) inset, 0 0 8px 0px rgba(132,202,202,.9);
  -moz-box-shadow: 0 1px 1px 0px rgba(0,0,0,.2) inset, 0 0 8px 0px rgba(132,202,202,.9);
  box-shadow: 0 1px 1px 0px rgba(0,0,0,.2) inset, 0 0 8px 0px rgba(132,202,202,.9);
  background: #1E909F;
  border:1px solid #137380; }

/*ボタン補足テキスト押す前の色*/
.button-aside{
  margin-left: 1.6rem;
  font-size: 0.9em;
  margin-top: 0.5em;
  display: block;
  color: #888; }

/*ボタン補足テキスト押下後の色*/
.radioButton:checked + .radioButton-label .button-aside{color:#c2e3e4; }

/*ラジオボタン*/
@media screen and (max-width:1023px){
.radio-wrapper{ 
  margin-left: auto;
  margin-right: auto; } }

.radioButton{
  position: absolute;
  opacity: 0; }

.radioButton-label{
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 1.1rem 1.5rem 1rem;
  line-height: 1.25;
  font-size: 1em; }

.radioButton-label:not(:last-child){
  margin-bottom: 1.2em; }

/*ラジオボタンのチェックマーク*/
.radioButton + .radioButton-label:before {
  content: "";
  background-color: #fff;
  border-radius: 100%;
  border: 1px solid #c5d8da;
  display: inline-block;
  width: 1em;
  height: 1em;
  position: relative;
  margin-right: 0.5em;
  vertical-align: top;
  text-align: center;
  transition: all 250ms ease;
  box-shadow: inset 0 0 0 2px #ffffff; }

/*ラジオボタンのチェックマーク 選択後の色*/
.radioButton:checked + .radioButton-label:before {
  background-color: #89cbd4;
  border: 1px solid #007484; }

/*同意するボタン*/
.agree{margin-top:2rem; }

.agree input[type=checkbox] {
  position: absolute;
  border: 0;
  width:0;
  height:0;
  opacity:0; }

.label-check {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  padding: 0.3em;
  height:2.6em;
  text-align: center;
  width: auto;
  position: relative;
  font-size: 1em;
  transition: all 250ms ease; }

/*同意ボタン押す前 四角形*/
.label-check::before {
  background: #fff;
  border: 1px solid #c5d8da;
  border-radius: 4px;
  content: '';
  height: 1.7em;
  width: 1.7em;
  margin-right:0.7em;
  display: inline-block;
  vertical-align: middle;
  transition: all 250ms ease; }

/*同意ボタン選択後 チェックマーク*/
.agree input[type=checkbox]:checked + .label-check::before {
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  border-top:0;
  border-left:0;
  border-radius:2px;
  background:none;
  content: '';
  opacity: 1;
  transform: rotate(45deg);
  display: inline-block;
  height: 1em;
  width: 0.6em;
  margin:0.2em 0.8em 0.5em; }

/* submitボタン -------------------------------------------------------*/
/*送信ボタン*/
.formButton{
  margin-top: 2rem;
  cursor: pointer; }
  @media screen and (max-width:1023px){
    .formButton{margin-top: 1.2rem; } }

/*ボタン送信不可時*/
.disagree{
  opacity: 0.4; }
.disagree .button{
  opacity: 1;
  cursor: default; }

/* 必須・任意 -------------------------------------------------------*/
.label-guide{
  padding: 0.2em 0.3em 0.1em;
  margin-left: 0.4em;
  font-size: 0.9em;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 4px; }

/*必須*/
.required{background: #dcaf0a; }

/*任意*/
.optional{background: #90b3b9; }

/* プライバシーポリシー -------------------------------------------------------*/
/*iframe外*/
.form-privacy{
  border:1px solid #c5d8da;
  width:100%;
  height: 200px;
  overflow-y:hidden; }

/*iframe内*/
.body-form-privacy{
  font-size:0.85em; }

.form-privacy-container{padding:1.4em; }

/*-------------------------------------------------------

入力確認画面

-------------------------------------------------------*/
.form-check{
  width:100%; }
  @media screen and (min-width:1024px){
    .form-check{font-size: 1.2em; } }
  @media screen and (max-width:1023px){
    .form-check{
      border-left: 1px solid #b4c9ce;
      border-right: 1px solid #b4c9ce;
      border-bottom: 1px solid #b4c9ce; } }
.form-check th,.form-check td{
  padding:1em; }
.form-check td{word-break: break-all;}
  @media screen and (min-width:1024px){
    .form-check th{white-space: nowrap; } }
  @media screen and (min-width:1024px){
    .form-check th,.form-check td{
      border: 1px solid #b4c9ce; } }
  @media screen and (max-width:1023px){
    .form-check th{
      border-top: 1px solid #b4c9ce;
      border-bottom: 1px solid #b4c9ce; } }
.form-check .form-check-input{display: inline-block; }
.form-check .form-check-input:not(:last-child){margin-right:0.5em; }
.form-check td .form-check-label{
  display: inline-block;
  padding: 0.1em 0.5em;
  margin-bottom:0.4em;
  color: #6f9ca5;
  border: 1px solid #75a3ad}

@media screen and (max-width:1023px){
  .form-check,
  .form-check tbody,
  .form-check tr,
  .form-check th,
  .form-check td{
    display: inline-block;
    width:auto;
    width: 100%;
    box-sizing: border-box; } }

/*-------------------------------------------------------

フォームから戻るボタン

-------------------------------------------------------*/
.return-container{
  text-align: center;
  padding:1em 0; }
.return-button{
  display: inline-block;
  padding: 0.5em 1em; }
.return-button:not(:hover){
  color:#fff; }

/*-------------------------------------------------------

ログイン画面

-------------------------------------------------------*/
@media screen and (max-width:1023px){
.login .header-container{margin-bottom: 1em; } }

.login .header-return{
  font-family: "Hiragino Kaku Gothic W6 JIS2004", Meiryo, "sans-serif";
  font-size:1.1em; }

.login-container .login-title{
  text-align: center; }

@media screen and (min-width:1024px){
  .login-wrapper{
    padding: 4em 7em 3.5em;
    margin: 2em auto;
    max-width:800px; } }
@media screen and (max-width:1023px){
  .login-wrapper{
    margin-top: 1em;
    padding-right: 1em;
    padding-left: 1em;
    padding-bottom: 2.2em; } }

@media screen and (min-width:1024px){
  .login-wrapper .marginTop-large{margin-top: 2.4em; } }
@media screen and (max-width:1023px){
  .login-wrapper .marginTop-large{margin-top: 1.2em; } }

.login-wrapper .formButton{margin-top: 1.5em; }

@media screen and (min-width: 1024px){
  .login-wrapper .button-short{
    margin-right: 6vw;
    margin-left: 6vw; } }

.login-title-img{max-width:650px; }
  @media screen and (max-width:1023px){
    .login-title-img{max-width:500px; } }

/*-------------------------------------------------------

各支部の所在地

-------------------------------------------------------*/
@media screen and (min-width:1024px){
  .branch-description{
    flex:1;
    margin-right:2em; } }

.table-branch{width:100%; }
  @media screen and (max-width:1023px){
    .table-branch{
      letter-spacing: 0;
      font-size: 0.95em; } }

.table-branch th{
  text-align: center;
  width: 3.5em; }
  @media screen and (max-width:1023px){
    .table-branch th{width: 3.2em; } }

.tel-list .tel{padding:0.2em 0.6em 0; }
.tel-list .tel-tap{display: inline-block; }
.tel-list .tel-tap-extension{
  display: inline-block;
  padding-bottom:0.2em;
  background:#1E909F;
  color:#fff; }
.tel-list .call{
  color:#fff;
  text-decoration: none; }

/*地図*/
@media screen and (min-width:1024px){
  .branch-map{
    margin-left:auto;
    width:55%; } }
@media screen and (max-width:1023px){
  .branch-map{
    max-width: 700px;
    margin: 1.4em auto 0; } }

.branch-map-img{width:100%; }

/*-------------------------------------------------------

プライバシーポリシー

-------------------------------------------------------*/
.list-privacy {counter-reset: number; }

.list-privacy .call{text-decoration: none; }

.list-privacy-indent { 
  text-indent: -1.9em;
  padding-left: 1.9em; }

.list-privacy-sub {margin-left: 2em; }

.item:not(:first-child){margin-top: .4em; }

.item-number:before {
  counter-increment: number;
  content: "("counter(number)")";
  position: relative;
  margin: 0 .2em 0 0; }

.item-number_inCircle{position: relative; }

.item-number_inCircle:before{
  counter-increment: number;
  content: counter(number);
  position: absolute;
  left: -.17em;
  top: .15em;
  padding: 0 0.4em;
  font-size: .85em; }

.item-number_inCircle:after{
  content: '';
  /* 配置を調整 */
  position: absolute;
  display: block;
  top: .7em;
  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: 1em; }
  @media screen and (max-width:1023px){
    .privacy-content {
      margin-left: 0.3em; } }
