@charset "UTF-8";
/* -----------------------------------
インソースデザインガイドにかかるCSSについて

・OOCSS＋SMACSS＋utilityで設計
・プレフィクスはi_（insource）とし、SMACSSのプレフィックスと併せてつかう
base: ib_
layout: il_
module: im_
state: ijs_ or iis_
utility: iu_

・:rootにてbaseスタイルを適用すると、他共通素材に影響を与えるので、メインコンテンツにib_baseクラスを付与してそこにbaseスタイルを適用する

----------------------------------- */
/* -----------------------------------
baseスタイル
----------------------------------- */
/* 既存CSSのオーバーライド */
#base{
  width: 1220px;
}
div#cont{
  line-height: 1.6;
}
div#cont div#c3_lrr{
  width: 970px;
}
div#cont div#c3_lr{
  width: 970px;
}
div#cont #c3_lr div#c3_lrr{
  width: 730px;
}
#c2_r{
  width: 200px;
}
@media screen and (max-width: 768px){
  #base{
    width: 100%;
  }
  div#cont{
    margin: 0;
  }
  div#cont div#c3_lrr{
    width: 100%;
  }
  div#cont div#c3_lr{
    width: 100%;
  }
  div#cont #c3_lr div#c3_lrr{
    width: 100%;
  }
}

body{
  counter-reset: number;
}
.ib_base{
  box-sizing: border-box;
  color: #333;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}

/* -----------------------------------
layoutスタイル
----------------------------------- */
/* 節 */
.il_section{}
.il_section__item{}
.il_section--primary{}
.il_section--primary > .il_section__item + .il_section__item{
  margin-top: 60px;
}
.il_section--secondary{}
.il_section--secondary > .il_section__item + .il_section__item{
  margin-top: 30px;
}
/* リスト */
.il_list{}
.il_list__item{}
.il_list__item + .il_list__item{
  margin-top: 20px;
}
/* グリッド */
.il_grid{
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.il_grid__item{
  display: flex;
}
.il_grid__inner{
  display: block;
  width: 100%;
}
.il_grid--hasGutter{
  margin: -15px;
}
.il_grid--hasGutter > .il_grid__item{
  padding: 15px;
}
/* ナビ */
.il_nav{
  align-items: stretch;
  display: flex;
  justify-content: flex-start;
  margin: -1px;
}
.il_nav__item{
  display: flex;
  width: 100%;
  padding: 1px;
}
.il_nav__target{
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px){
  .il_nav{
    flex-wrap: wrap;
  }
}
/* メディアデザイン */
.il_media{}
.il_media::after{
  content: "";
  display: block;
  clear: both;
}
.il_media__img{
  float: left;
  line-height: 0;
  margin: 0 30px 30px 0;
  text-align: center;
}
.il_media__img--rev{
  float: right;
  margin: 0 0 30px 30px;
}
.il_media__img img{
  max-width: 100%;
  height: auto;
}
.il_media__body{}
.il_media--noRound{}
.il_media--noRound .il_media__img{
  margin: 0 30px 0 0;
}
.il_media--noRound .il_media__body{
  overflow: hidden;
}
@media screen and (max-width: 768px){
  .il_media__img{
    float: none;
    margin: 0 0 20px 0;
    text-align: center;
  }
} 

/* -----------------------------------
moduleスタイル
----------------------------------- */
/* アイコン */
.im_hasIco{
  position: relative;
  display: block;
}
.im_hasIco::before,
.im_hasIco::after,
.im_hasIco__item{
  content: "";
  position: absolute;
  left: 0;
  display: block;
}
.im_hasIco--ast{
  padding-left: 1em;
}
.im_hasIco--ast::before{
  content: "※";
}
.im_hasIco--dot{
  padding-left: 1em;
}
.im_hasIco--dot::before{
  content: "・";
}
.im_hasIco--label{}
.im_hasIco--label > .im_hasIco__item{
  top: -3px;
  padding: 2px 10px; 
  border: 1px solid;
  font-size: 14px;
}
.im_hasIco--num{
  counter-increment: number;
  padding-left: 1em;
}
.im_hasIco--num::before{
  content: counter(number);
}
.im_hasIco--link{
  padding-right: 14px;
}
.im_hasIco--link::before{
  top: 0;
  bottom: 0;
  left: auto;
  right: 4px;
  width: 6px;
  height: 6px;
  margin: auto 0;
  border-top: 1px solid;
  border-right: 1px solid;
  transform: rotate(45deg);
}
.im_hasIco--label.im_hasIco--1em{
  padding-left: calc(1em + 24px);
}
.im_hasIco--label.im_hasIco--2em{
  padding-left: calc(2em + 24px);
}
.im_hasIco--label.im_hasIco--3em{
  padding-left: calc(3em + 24px);
}
.im_hasIco--label.im_hasIco--4em{
  padding-left: calc(4em + 24px);
}
.im_hasIco--label.im_hasIco--5em{
  padding-left: calc(5em + 24px);
}
.im_hasIco--label.im_hasIco--6em{
  padding-left: calc(6em + 24px);
}


@media screen and (max-width: 768px){
  .im_hasIco--label::before{
    font-size: 13px;
  }
}

/* ボタン */
.im_btn{
  display: flex;
  align-items: stretch;
}
.im_btn::before{
  content: "";
  display: block;
  width: 0;
  height: 45px;
}
.im_btn__target{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0 20px;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  background: #333;
}
.im_btn__target:hover{
  opacity: .7;
}
.im_btn__target::before{
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto 0 ;
  display: block;
  background: no-repeat center center / contain;
}
.im_btn--right{
  justify-content: flex-end;
}
.im_btn--prev .im_btn__target::before{
  right: auto;
  left: 10px;
  width: 6px;
  height: 6px;
  margin: auto 0;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(-135deg);
}
.im_btn--next .im_btn__target::before{
  width: 6px;
  height: 6px;
  margin: auto 0;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(45deg);
}
.im_btn--another .im_btn__target::before{
  background-image: url("../img/ico_another.png");
  width: 9px;
  height: 9px;
}
.im_btn--download .im_btn__target::before{
  background-image: url("../img/ico_download.png");
  width: 16px;
  height: 14px;
}
.im_btn--pdf .im_btn__target::before{
  background-image: url("../img/ico_pdf.png");
  width: 12px;
  height: 16px;
}
/* リンク */
.im_link{
  color: inherit;
}
.im_link:hover{
  opacity: .7;
}


/* ブロックコンテンツのリンク */
.im_blockLink{
  display: flex;
  width: 100%;
}
.im_blockLink__target{
  position: relative;
  display: block;
  color: inherit;
  font-weight: bold;
  font-size: 15px;
}
.im_blockLink__target:hover{
  opacity: .7;
}
.im_blockLink--right{
  justify-content: flex-end;
}
/* 見出し */
.im_heading{}
.im_heading__ttl{
  font-weight: bold;
}
.im_heading--primary{
  margin-bottom: 20px;
}
.im_heading--primary .im_heading__ttl{
  font-size: 26px;
}
.im_heading--secondary{
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.im_heading--secondary::before{
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  width: calc(100% - 50px);
  height: 1px;
  background: #ccc;
}
 .im_heading--secondary::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 50px;
  height: 1px;
  background: #333;
}
.im_heading--secondary .im_heading__ttl{
  font-size: 22px;
}
.im_heading--tertiary{
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.im_heading--tertiary::before{
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  width: calc(100% - 50px);
  height: 1px;
  background: #ccc;
}
.im_heading--tertiary::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 50px;
  height: 1px;
  background: #333;
}
.im_heading--tertiary .im_heading__ttl{
  font-size: 18px;
}
.im_heading--quaternary{
  position: relative;
  margin-bottom: 20px;
  padding-left: 14px;
}
.im_heading--quaternary::before{
  content: "";
  position: absolute;
  left: 0;
  display: block;
  width: 4px;
  height: calc(1em * 1.6);
  background: #333;
}
.im_heading--quaternary .im_heading__ttl{
  font-size: 16px;
}
@media screen and (max-width: 768px){
  .im_heading--primary .im_heading__ttl{
    font-size: 24px;
  }
  .im_heading--secondary .im_heading__ttl{
    font-size: 20px;
  }
}
/* 画像 */
.im_img{
  line-height: 0;
  text-align: center;
}
.im_img img{
  max-width: 100%;
  height: auto;
}
/* キービジュアル */
.im_keyvisual{
  margin-bottom: 30px;
  line-height: 0;
  text-align: center;
}
.im_keyvisual img{
  max-width: 100%;
  height: auto;
}

/* ローカルナビ */
.im_localNav{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3em;
  color: #fff;
  font-size: 16px;
  background: #333;
}
.im_localNav:hover{
  opacity: .7;
}
@media screen and (max-width: 768px){
  .im_localNav{
    height: 3em;
  }
}
/* 表 */
.im_tableWork{
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.im_tableWork__item{
  display: flex;
  align-items: stretch;
}
.im_tableWork__item + .im_tableWork__item{
  border-top: 1px solid #ccc;
}
.im_tableWork__heading{
  flex: 0 0 160px;
  padding: 12px 0;
  font-weight: bold;
}
.im_tableWork__ttl{
  font-weight: bold;
}
.im_tableWork__body{
  flex: 1 1 auto;
  padding: 12px 0;
}
.im_tableWork--fill{
  border: 1px solid #ccc;
}
.im_tableWork--fill .im_tableWork__heading{
  display: flex;
  align-items: center;
  padding: 12px;
  background: #FAFAFA;
}
.im_tableWork--fill .im_tableWork__ttl{
  width: 100%;
}
.im_tableWork--fill .im_tableWork__heading + .im_tableWork__body{
  border-left: 1px solid #ccc;  
}
.im_tableWork--fill .im_tableWork__body{
  padding: 12px;
}
@media screen and (max-width: 768px){
  .im_tableWork__item{
    display: block;
    padding: 12px;
  }
  .im_tableWork__heading{
    padding: 0 0 10px 0;
  }
  .im_tableWork__body{
    padding: 0;
  }
  .im_tableWork--fill .im_tableWork__item{
    padding: 0;
  }
  .im_tableWork--fill .im_tableWork__heading + .im_tableWork__body{
    border-top: 1px solid #ccc;
    border-left: none;
  }
}


/* カード */
.im_card{ 
  display: block;
  color: inherit;
}
.im_card:hover{
  opacity: .7;
}
.im_card__img{
  line-height: 0;
  text-align: center;
}
.im_card__img img{
  max-width: 100%;
  height: auto;
}
.im_card__img + .im_card__body{
  margin-top: 20px;
}
.im_card__body{}
.im_card__heading{}
.im_card__heading + .im_card__msg{
  margin-top: 20px;;
}
.im_card__ttl{
  font-size: 26px;
}

.im_card__infoWrap{}
.im_card__infoWrap + .im_card__ttl,
.im_card__ttl + .im_card__infoWrap{
  margin-top: 20px;
}
.im_card__info{
  margin: -5px;
  display: flex;
  align-items: center;
  line-height: 1;
}
.im_card__infoItem{
  padding: 5px;
}
.im_card__tag{
  min-width: 50px;
  padding: 2px 10px;
  border: 1px solid;
  line-height: 1;
  text-align: center;
  font-size: 10px;
}
.im_card__date time{
  font-size: 14px;
}
.im_card--md .im_card__ttl{
  font-size: 20px;
}
.im_card--sm .im_card__ttl{
  font-size: 18px;
}
.im_card--sm .im_card__msg{
  font-size: 14px;
}
.im_card--sm .im_card__img + .im_card__body{
  margin-top: 10px;
}
.im_card--sm .im_card__heading + .im_card__msg{
  margin-top: 10px;
}
.im_card--sm .im_card__infoWrap + .im_card__ttl,
.im_card--sm .im_card__ttl + .im_card__infoWrap{
  margin-top: 10px;
}
.im_card--xs .im_card__ttl{
  font-size: 16px;
}
.im_card--xs .im_card__msg{
  font-size: 14px;
}
.im_card--xs .im_card__img + .im_card__body{
  margin-top: 10px;
}
.im_card--xs .im_card__heading + .im_card__msg{
  margin-top: 10px;
}
.im_card--xs .im_card__infoWrap + .im_card__ttl,
.im_card--xs .im_card__ttl + .im_card__infoWrap{
  margin-top: 10px;
}
@media screen and (max-width: 768px){
  .im_card__ttl{
    font-size: 24px;
  }
  .im_card--resMdMedia{
    display: flex;
    align-items: stretch;
  }
  .im_card--resMdMedia .im_card__body{
    flex: 1 1 auto;
  }
  .im_card--resMdMedia .im_card__img + .im_card__body{
    margin-top: 0;
    padding-left: 20px;
  }
  .im_card--resMdMedia.im_card--sm .im_card__img + .im_card__body{
    padding-left: 10px;
  }
  .im_card--resMdMedia.im_card--xs .im_card__img + .im_card__body{
    padding-left: 10px;
  }
}

/* テキストボックス */
.im_txtBox{
  padding:20px;
  border: 1px solid;
}

/* メディアボディ */ 
.im_mediaBody{}
.im_mediaBody__heading{
  margin-bottom: 20px;
}
.im_mediaBody__ttl{
  font-weight: bold;
  font-size: 22px;
}
.im_mediaBody__body{}
.im_mediaBody--sm .im_mediaBody__ttl{
  font-size: 18px;
}
@media screen and (max-width: 768px){
  .im_mediaBody__ttl{
    font-size: 20px;
  }
}
/* 脚注 */
.im_footNote{
  font-size: 12px; 
}
@media screen and (max-width: 768px){
  .im_footNote{
    font-size: 10px;
  }
}
/* -----------------------------------
utilityスタイル
----------------------------------- */
/*横幅*/
.iu_col1{width:8.333%;}
.iu_col2{width:16.667%;}
.iu_col3{width:25%;}
.iu_col4{width:33.333%;}
.iu_col5{width:41.666%;}
.iu_col6{width:50%;}
.iu_col7{width:58.333%;}
.iu_col8{width:66.666%;}
.iu_col9{width:75%;}
.iu_col10{width:83.33%;}
.iu_col11{width:91.666%;}
.iu_col12{width:100%;}
@media screen and (max-width:768px){
  .iu_resMdCol1{width:8.333%;}
  .iu_resMdCol2{width:16.667%;}
  .iu_resMdCol3{width:25%;}
  .iu_resMdCol4{width:33.333%;}
  .iu_resMdCol5{width:41.666%;}
  .iu_resMdCol6{width:50%;}
  .iu_resMdCol7{width:58.333%;}
  .iu_resMdCol8{width:66.666%;}
  .iu_resMdCol9{width:75%;}
  .iu_resMdCol10{width:83.33%;}
  .iu_resMdCol11{width:91.666%;}
  .iu_resMdCol12{width:100%;}
}
@media screen and (max-width:599px){
  .iu_resSmCol1{width:8.333%;}
  .iu_resSmCol2{width:16.667%;}
  .iu_resSmCol3{width:25%;}
  .iu_resSmCol4{width:33.333%;}
  .iu_resSmCol5{width:41.666%;}
  .iu_resSmCol6{width:50%;}
  .iu_resSmCol7{width:58.333%;}
  .iu_resSmCol8{width:66.666%;}
  .iu_resSmCol9{width:75%;}
  .iu_resSmCol10{width:83.33%;}
  .iu_resSmCol11{width:91.666%;}
  .iu_resSmCol12{width:100%;}
}
/* 間隙 */
.iu_mb10{
  margin-bottom: 10px;
}
.iu_mb20{
  margin-bottom: 20px;
}
.iu_mb50{
  margin-bottom: 50px;
}
.iu_mb60{
  margin-bottom: 60px;
}
.iu_mt64{
  margin-top: 64px;
}
.iu_mb100{
  margin-bottom: 100px;
}
/* 文字の配置 */
.iu_taC{
  text-align: center;
}
.iu_taR{
  text-align: right;
}

/* カウンターリセット */
.iu_counterResetNum{
 counter-reset: number;
}


