@charset "UTF-8";
/**************************************************
* 共通パーツ、使い回せるものは全てここ。　見出しの設定〜	ttl、box、
***************************************************/
/*=================== モバイルファースト ==================*/
/*------------------------------
見出し h1-h6 ※変更不可
------------------------------*/
h1 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.2;
}
h2 {
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 1.4;
}
h3 {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1.6;
}
h4 {
  font-size: 14px;
  font-size: 1.4rem;
}
h5 {
  font-size: 14px;
  font-size: 1.4rem;
}
h6 {
  font-size: 14px;
  font-size: 1.4rem;
}
/**************************************************
* 文字サイズ
***************************************************/
.c-text-s {
  font-size: 12px;
}
.c-text-m {
  font-size: 14px !important;
}
.c-text-l {
  font-size: 17px!important;
}
.c-text-xl {
  font-size: 19px;
}
.c-text-xl2 {
  font-size: 19px;
}

.c-lead {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: bold;
}



/**************************************************
* フォント
***************************************************/
/*日本語*/
/*Use a value from 100 to 900*/
.c-noto-sans-jp--weight-400{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.c-noto-sans-jp--weight-500{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.c-noto-sans-jp--weight-600{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}


/*アルファベット*/
.c-roboto-thin {
  font-family: "Roboto", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.c-roboto-light {
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.c-roboto-regular {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.c-roboto-medium {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.c-roboto-bold {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.c-roboto-black {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-style: normal;
}




/**************************************************
* フォントウェイト
***************************************************/
.c-fw-bold {
  font-weight: bold;
}
.c-fw-semi-bold {
  font-weight: 600;
}
.c-fw-normal {
  font-weight: 400;
}


/**************************************************
* 英文の折り返し指定
***************************************************/
/* 単語の途中で折り返す*/
.c-turn-around{
overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}



/*単語の途中でハイフネーション（単語の分割）を行う指定*/
.c-hyphens{
    hyphens: auto;
}


/**************************************************
* 文字の位置
***************************************************/
.c-text-align-left {
  text-align: left;
}
.c-text-align-center {
  text-align: center;
}
.c-text-align-right {
  text-align: right;
}

/**************************************************
* シャドウ
***************************************************/
.c-text-shadow {
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}


.c-text-shadow--gold {
  text-shadow: 0px 0px 10px rgba(197,171,118, 0.4);
}
.c-text-shadow--blue {
/*  text-shadow: 0px 0px 10px rgba(47,107,169, 0.4)*/
    text-shadow: 0px 0px 10px   #2F6BA9;
}
.c-text-shadow--blue2 {
  text-shadow: 0px 0px 10px #262E3D;
}
.c-text-shadow--blue3 {
  text-shadow: 0px 0px 10px #3A5A81;
}
.c-text-shadow--gray {
  text-shadow: 0px 0px 10px #B1B1B1;
}



/**************************************************
* SVGの色変更
***************************************************/
.c-svg--green {
  filter: brightness(0) saturate(100%) invert(58%) sepia(70%) saturate(320%) hue-rotate(109deg) brightness(85%) contrast(80%);
}
.c-svg--white{
filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(313deg) brightness(103%) contrast(102%);
	
}


/**************************************************
* ボーダー
***************************************************/
.c-title-border-black {
  border-bottom: solid 2px var(--color--black01);
}

.c-title-border-green {
  border-bottom: solid 2px var(--color--green01);
}

.c-border-under--green {
  border-bottom: solid 1px var(--color--green01);
}

/**************************************************
* リンクの装飾
***************************************************/
/* 形：→　主にボタンで使用 */
.c-link-arrow,
#mfp_overlay_inner .mfp_element_button,
#mfp_phase_confirm .mfp_element_button {
  position: relative;
  display:inline-block;
  width: 100%;
}
.c-link-arrow::before,
#mfp_overlay_inner .mfp_element_button::before,
#mfp_phase_confirm .mfp_element_button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  width: 30px;
  height: 1px;
  background: var(--color--black01);
  transition: .3s;
}
.c-link-arrow::after,
#mfp_overlay_inner .mfp_element_button::after,
#mfp_phase_confirm .mfp_element_button::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  width: 8px;
  height: 7px;
  border-bottom: 1px solid  var(--color--black01);
  transform: rotate(-135deg);
  transition: .3s;
}
#mfp_phase_confirm #mfp_button_cancel.mfp_element_button::before {
  background: var(--color--white);
}
#mfp_phase_confirm #mfp_button_cancel.mfp_element_button::after {
  border-bottom: 1px solid  var(--color--white);
}

.c-link-arrow:hover::before,
.c-link-arrow:hover::after,
#mfp_overlay_inner .mfp_element_button:hover::before,
#mfp_overlay_inner .mfp_element_button:hover::after,
#mfp_phase_confirm .mfp_element_button:hover::before,
#mfp_phase_confirm .mfp_element_button:hover::after {
  right: 7px;
}

/* 矢印の色 */
.c-link-arrow--black::before {
  background: var(--color--black01);
}
.c-link-arrow--black::after {
  border-bottom: 1px solid  var(--color--black01);
}

/*hover時 arrow白*/
.c-link-arrow--green::before {
  background: var(--color--green01);
}
.c-link-arrow--green::after {
  border-bottom: 1px solid  var(--color--green01);
}
/*hover時 arrow黒*/
.c-link-arrow--green-black::before {
  background: var(--color--green01);
}
.c-link-arrow--green-black::after {
  border-bottom: 1px solid  var(--color--green01);
}


.c-link-arrow--white::before {
  background: var(--color--white);
}
.c-link-arrow--white::after {
  border-bottom: 1px solid  var(--color--white);
}

.c-link-arrow--orenge01::before {
  background: var(--color--white);
}
.c-link-arrow--orenge01::after {
  border-bottom: 1px solid  var(--color--white);
}



/* 矢印の位置 */
.c-link-arrow--bottom::before,
.c-link-arrow--bottom::after {
  margin: auto 0 0 0;
}
.c-link-arrow--bottom::after {
  height: 5px !important;
}

/*親コンテナ一緒にhoverで矢印ボタンを拡大*/
.c-hover-range-extension-parent:hover .c-link-arrow::before{
    right: 7px;
}
.c-hover-range-extension-parent:hover .c-link-arrow::after{
    right: 7px;
}


/*hoverでアンダーライン*/
.c-txt-underline:hover{
  text-decoration: underline;
}


@media screen and (min-width: 1023px) {
/* 矢印の色 */
	
/*親コンテナ一緒にhoverで矢印ボタンを拡大*/
.c-hover-range-extension-parent:hover .c-link-arrow::before{
	background: var(--color--white);
}
.c-hover-range-extension-parent:hover .c-link-arrow::after{
	border-bottom: 1px solid  var(--color--white);
}
		
	
.c-link-arrow--black:hover::before {
  background: var(--color--white);
}
.c-link-arrow--black:hover::after {
  border-bottom: 1px solid  var(--color--white);
}

/*hover時 arrow白*/
.c-link-arrow--green:hover::before {
  background: var(--color--white);
}	
.c-link-arrow--green:hover::after {
  border-bottom: 1px solid  var(--color--white);
}
/*hover時 arrow黒*/
.c-link-arrow--green-black:hover::before {
  background: var(--color--black01);
}
.c-link-arrow--green-black:hover::after {
  border-bottom: 1px solid  var(--color--black01);
} 


.c-link-arrow--white:hover::before {
  background: var(--color--green01);
}
.c-link-arrow--white:hover::after {
  border-bottom: 1px solid  var(--color--green01);
}
.c-link-arrow--orenge01:hover::before {
  background: var(--color--orenge01);
}
.c-link-arrow--orenge01:hover::after {
  border-bottom: 1px solid  var(--color--orenge01);
}

	
	

	
}/*メディアクエリ閉じ*/



/* 形：＞　主にニュースで使用 */
.c-link-arrow2 {
  position: relative;
}
.c-link-arrow2::after {
  font-family: "Font Awesome 6 Free";
  content: "\f105";
  font-size: 16px;
  font-weight: 600;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transition: .3s;
}
.c-link-arrow2:hover::after {
  right: -5px;
  transition: .3s;
}

.c-link-arrow2--inline::after {
  right: -20px;
}
.c-link-arrow2--inline:hover::after {
  right: -30px;
}


/* 外部リンクアイコン */
.c-external-link-icon {
  position: relative;
}
.c-external-link-icon:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url(../../images/common/icon-external-link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top left;
  margin-left: 10px;
}


/*テキストリンク 色付き*/
.c-link-hover--green{
	transition: all .3s ease-in-out;
}
.c-link-hover--green:hover{
    display: inline-block;
	color: var(--color--green01);
    border-bottom: 1px solid var(--color--green01);
	opacity: 10;
    transition: all .3s ease;
}



/*テキストリンク キーカラー緑*/
.c-link-border--green{
    display: inline-block;
    color: var(--color--green01);
    border-bottom: 1px solid var(--color--green01);
	transition : all 0.5s ease-out;
}
.c-link-border--green:hover{
    border-bottom: none;
    transition : 3s;
	margin-bottom: 1px;

}



/* テキストリンク underline*/
.c-link-underline{
	transition : all 0.5s ease-out;
}
.c-link-underline:hover{
    text-decoration: underline ;
}


/* 黒文字→緑文字 テキストリンク underline*/
.c-link-underline--green{
    color: var(--color--black01);
	transition : all 0.5s ease-out;
}
.c-link-underline--green:hover{
	color: var(--color--green01);
    text-decoration: underline ;
}


/**************************************************
* pdf アイコン
***************************************************/

/*各種 色付きアイコン*/
.c-document-icon::after{
 display: inline-block;
font-family: "Font Awesome 6 Free";
text-rendering: auto;     
}
/*エクセル*/
.c-document-icon__excel::after{
content: "\f1c3";
font: var(--fa-font-regular); 
/*
font: var(--fa-font-solid);
font: var(--fa-font-brands);
*/
font-size: 25px;
color: #3D834E;
}

/*ワード*/
.c-document-icon__word::after{
content: "\f1c2";
font: var(--fa-font-regular); 
/*
font: var(--fa-font-solid);
font: var(--fa-font-brands);
*/
font-size: 25px;
color: #2751B1;
}
/*PDF*/
.c-document-icon__pdf::after{
content: "\f1c1";
font: var(--fa-font-regular); 
/*
font: var(--fa-font-solid);
font: var(--fa-font-brands);
*/
font-size: 25px;
color: #CC0908;
}




/*=================== PCここから==================*/
@media screen and (min-width: 1023px) {
/*
.c-file-pdf-icon{
    position: relative;
    margin-left: 40px;
}
*/
}
/*=================== PCここまで ==================*/








/**************************************************
* タイトル
***************************************************/
.c-contents-title,
.c-contents-title2 {
  position: relative;
  font-size: 15px; 
  line-height: 1.7;
  z-index: 1;
}
.c-contents-title2{ font-size: 24px; }

/* タイトルの下にリード文がある場合の余白 */
.c-contents-title--mb-lead {
  margin-bottom: 50px;
}

.c-contents-title--text-large {
  font-size: 24px;
  font-size: 2.4rem;
}

.c-contents-title--en {
  font-size: 32px;
  font-size: 3.2rem;
}


@media screen and (max-width: 320px) {
  /*------------------------------
  見出し h1-h6 ※変更不可
  ------------------------------*/
  h1 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.2;
  }
  h2 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.1;
  }
  h3 {
    font-size: 21px;
    font-size: 2.1rem;
    line-height: 1.6;
  }
  h4 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  h5 {
    font-size: 17px;
    font-size: 1.7rem;
  }
  h6 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  /**************************************************
  * タイトル
  ***************************************************/
  .c-long-title {
    font-size: 20px;
    font-size: 2rem;
  }
}
/*=================== PCここから==================*/
@media screen and (min-width: 1024px) {
  h1 {
    font-size: 24px;
    font-size: 2.4rem;
  }
  h2 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.1;
  }
  h3 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  h4 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  h5 {
    font-size: 17px;
    font-size: 1.7rem;
  }
  h6 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  /**************************************************
  * タイトル
  ***************************************************/
  /* タイトルの下にリード文がある場合の余白 */
  .c-contents-title--mb-lead {
    margin-bottom: 70px;
  }

  .c-contents-title--text-large {
    font-size: 44px;
    font-size: 4.4rem;
      line-height: 1.5;
  }
  .c-contents-title--en {
    font-size: 40px;
    font-size: 4rem;
  }

  /**************************************************
  * 文字サイズ
  ***************************************************/
  .c-text-s {
    font-size: 14px;
  }
  .c-text-m {
    font-size: 15px !important;
  }
  .c-text-l {
    font-size: 18px!important;
  }
  .c-text-xl {
    font-size: 22px;
  }
  .c-text-xl-2 {
    font-size: 24px;
  }


  /**************************************************
  * リンクの装飾
  ***************************************************/
  .c-link-arrow::before {
    right: 15px;
    width: 32px;
    height: 1px;
  }
  .c-link-arrow::after {
    right: 15px;
    width: 8px;
    height: 7px;
  }


  .c-link-arrow--pc-short::before {
    right: 20px;
    width: 30px;
  }
  .c-link-arrow--pc-short::after {
    right: 20px;
    width: 8px;
  }
}
/*=================== PCここまで ==================*/



/*=================== PCここから==================*/
@media screen and (min-width: 1023px) {
/**************************************************
* 緑の帯
***************************************************/

.c-band {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;
}
	
.c-band-list {
  display: flex;
}
	
.c-band-list__item {
  border-right: solid 1px var(--color--white);
  padding: 0 10px;
}
.c-band-list__item:last-child {
  border-right: none;
}

	
.c-band-list__item-link{
  border-bottom: 1px solid var(--color--white);
  transition: all .3s ease-in-out;
}
/*
.c-band-list__item-link:hover {
  border-bottom: none;
}
*/
	
}
/*=================== PCここまで ==================*/





/**************************************************
* 左に緑の「●」
***************************************************/

/*左にドット*/

.c-green-dots {
    line-height: 1.7;
  
text-indent: -1.2em;
padding: 0.3px 0 0.3px 1.3em;
}

.c-green-dots:before {
    content:  "";    
    width:  8px;              
    height:  8px;              
    display:  inline-block;    
    background-color:  var(--color--green01);; 
    border-radius:  50%;      
    position:  relative;       
    top: -1px;              
    margin-right: 5px;       
}
/*=================== PCここから==================*/
@media screen and (min-width: 1024px) {
  .c-dot-title-center {
    margin-left: -0.5em;
  }
} /*=================== PCここまで ==================*/






/**************************************************
* flex
***************************************************/
.c-flex-box {
  display: flex;
  flex-wrap: wrap;
}
.c-flex-box--align-center {
  align-items: center;
}
.c-flex-row-reverse {
  flex-direction: row-reverse
}


/**************************************************
* はみ出し非表示
***************************************************/
.c-overflow-hidden {
  overflow: hidden;
}
.c-of-hidden {
  overflow: hidden;
  visibility: hidden;
}
/**************************************************
* 余白
***************************************************/
/* マージン */


/*使用中*/
.c-mb-xxlarge {
  margin-bottom: 50px;
}
.c-mb-xlarge {
  margin-bottom: 40px;
}
.c-mb-small {
  margin-bottom: 10px;
}
.c-mb-ss {
  margin-bottom: 10px;
} /*SP,PC10px*/

.c-mt-ss {
  margin-top: 10px;
} /*SP,PC10px*/






/*使っていない、、、かも*/
.c-mb-large {
  margin-bottom: 30px;
}
.c-mb-medium {
  margin-bottom: 20px;
}


.c-mb-btn {
  margin-bottom: 50px;
}
.c-mt-xlarge {
  margin-top: 40px;
}
.c-mt-large {
  margin-top: 30px;
}
.c-mt-medium {
  margin-top: 20px;
}
.c-mt-small {
  margin-top: 10px;
}
.c-mt-xsmall {
  margin-top: 4px;
}

/* パディング */
.c-pb-xlarge {
  padding-bottom: 5em;
}
.c-pb-large {
  padding-bottom: 30px;
}
.c-pb-medium {
  padding-bottom: 20px;
}
.c-pb-small {
  padding-bottom: 10px;
}
.c-pb-0 {
  padding-bottom: 0 !important;
}
.c-padding-large {
  padding: 20px !important;
}
.c-padding-medium {
  padding: 16px !important;
}
.c-padding-small {
  padding: 8px !important;
}
.c-padding-side-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.c-box-inner-padding {
  padding: 20px 20px;
}

/*=================== PCここから==================*/
@media screen and (min-width: 1024px) {
  /**************************************************
  * 余白
  ***************************************************/
	
/*使用中*/
  .c-mb-xxlarge {
    margin-bottom: 70px;
  }
  .c-mb-xlarge {
    margin-bottom: 50px;
  }
	
 .c-mb-small {
    margin-bottom: 20px;
  }
	
  .c-mb-ss {
    margin-bottom: 10px;
  } /*SP,PC10px*/

	

	
/*使っていない、、、かも*/
  .c-mb-large {
    margin-bottom: 40px;
  }
  .c-mb-medium {
    margin-bottom: 30px;
  }

  .c-mb-btn {
    margin-bottom: 90px;
  }
	
	
	
	
  .c-mt-xlarge {
    margin-top: 50px;
  }
  .c-mt-large {
    margin-top: 40px;
  }
  .c-mt-medium {
    margin-top: 30px;
  }
  .c-mt-small {
    margin-top: 20px;
  }
  .c-mt-xsmall {
    margin-top: 6px;
  }
	
	
	
	
	
  .c-pb-xlarge {
    padding-bottom: 13em;
  }
  .c-pb-large {
    padding-bottom: 40px;
  }
  .c-pb-medium {
    padding-bottom: 30px;
  }
  .c-pb-small {
    padding-bottom: 20px;
  }
  .c-padding-large {
    padding: 30px !important;
  }
  .c-padding-medium {
    padding: 20px !important;
  }
  .c-padding-small {
    padding: 10px !important;
  }
  .c-box-inner-padding {
    padding: 70px 82px;
  }
   
	
	
}
/*=================== PCここまで ==================*/
/**************************************************
* 表示
***************************************************/
/* SP のみ */
.c-show--sp {
  display: block;
}
/* SP,TB */
.c-show--sp-tb {
  display: block;
}
/* TB,PC */
.c-show--tb-pc {
  display: none;
}
/* PC */
.c-show--pc {
  display: none;
}

/* 375以下で表示 */
.c-show--sp375 {
  display: none;
}
@media screen and (max-width: 375px) {
  .c-show--sp375  {
    display: block;
  }
}

/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {
  .c-show--sp {
    display: none;
  }
  .c-show--tb-pc {
    display: block;
  }
}
/*=================== TBここまで ==================*/
/*=================== PCここから==================*/
@media screen and (min-width: 1024px) {
  .c-show--sp-tb {
    display: none;
  }
  .c-show--pc {
    display: block;
  }
}
/*=================== PCここまで ==================*/

/*------------------------------
pagetopボタン
------------------------------*/
.c-page-top,
.c-page-top a {
  width: 55px;
  height: 55px;
}

.c-page-top {
  position: fixed;
  right: 0;
  bottom: 0;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  background-color: var(--color--green02);
  z-index: 100;
}
.c-page-top a {
  position: relative;
  display: block;
  text-decoration: none;
}
.c-page-top a::before {
  content: "";
  position: absolute;
  right: 5px;
  bottom: 13px;
  width: 18px;
  height: 2px;
  margin: auto;
  background: var(--color--white);
  transform: rotate(-90deg);
  transition: .3s;
}
.c-page-top a:after {
  content: "";
  display: block;
  position: absolute;
  right: 9px;
  bottom: 14px;
  width: 8px;
  height: 7px;
  margin: auto;
  border-bottom: 2px solid var(--color--white);
  transform: rotate(-135deg);
  transition: .3s;
}
.c-page-top a:hover::before {
  bottom: 23px;
}
.c-page-top a:hover::after {
  bottom: 24px;
}

/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {
  .c-page-top,
  .c-page-top a {
    width: 90px;
    height: 90px;
  }
  .c-page-top a::before {
    right: 10px;
    bottom: 23px;
    width: 28px;
  }
  .c-page-top a:after {
    right: 14px;
    bottom: 27px;
    width: 14px;
  }
  .c-page-top a:hover::before {
    bottom: 33px;
  }
  .c-page-top a:hover::after {
    bottom: 37px;
  }

}
/*=================== TBここまで ==================*/

/**************************************************
* ※付きのリスト
***************************************************/
.c-kome-list__item {
  position: relative;
  margin-left: 20px;
 color: var(--color--gray02);
font-size: 13px;
font-size: 1.3rem;
}
.c-kome-list__item:before {
  content: "※";
  position: relative;
  display: inline-block;
  margin-left: -17px;
}
.c-kome-list__item:last-child {
  margin-bottom: 0 !important;
}



/*「*」バージョン*/
.c-notes{
  position: relative;
  margin-left: 15px;
 color: var(--color--gray02);
font-size: 13px;
font-size: 1.3rem;
}
.c-notes:before {
content: "＊";
color: var(--color--red01);
  position: relative;
  display: inline-block;
margin-right: 4px;
margin-left: -15px;
}

.c-notes-mark{
    color: var(--color--red01);
    display: inline-block;
    font-size: 18px;
}

/**************************************************
* -付きのリスト
***************************************************/
.c-hyphen-list__item:before {
  position: relative;
  margin-left: 20px;
}
.c-hyphen-list__item:before {
  content: "-";
  margin-right: 5px;
  position: relative;
  display: inline-block;
  margin-left: -17px;
}


/**************************************************
* *画像hoverアニメ
***************************************************/
.c-hover-range-extension-img{
 display:block; 
 position:relative;
 overflow:hidden;
}
.c-hover-range-extension-img::before{
  content:"";
  display:block;
  padding-top: 62.25%;/*ここには横幅に対して縦が何%になるかを記述*/
}

.c-hover-range-extension-img--rectangle::before {
  padding-top: 44.25%;
}
.c-hover-range-extension-img--rect::before {
  padding-top: 39.25%;
}

.c-hover-range-extension-img img{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  transition: all .3s ease-in-out;
  display:block;
  width:100%;
}

.c-hover-range-extension-img:hover img{
  transform:scale(1.1);
}

/**************************************************
* *子要素のhoverを親コンテンツに反映　画像と矢印ボタン用
************************************************** */


/*親コンテナ一緒にhoverで画像拡大*/
.c-hover-range-extension-parent:hover .c-hover-range-extension-img img{
  transform:scale(1.1);
}




/**************************************************
* ※付きのテキスト
***************************************************/
.c-kome-text {
  position: relative;
  margin-left: 20px;
}
.c-kome-text:before {
  content: "※";
  position: relative;
  display: inline-block;
  margin-left: -14px;
}


/**************************************************
* セレクトボックス
***************************************************/
.c-select {
  position: relative;
  width: 100%;
  max-width: 210px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  z-index: 200;
}
.c-select--large {
  max-width: 230px;
}
.c-select-current {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 47px;
/*  border: 1px solid var(--color--gray01);*/
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  padding: 0 5%;
	background-color: var(--color--green03);
	border-radius: 4px;
}

.c-select-list {
  display: none;
  width: 100%;
  max-height: 53vh;
  position: absolute;
  top: 47px;
  z-index: 5;
  background-color: var(--color--white);
  border: 1px solid var(--color--green03);
  border-top: none;
 border-bottom-left-radius: 4px;
 border-bottom-right-radius: 4px;
 overflow-y: scroll;
}
.c-select-list.is-active {
  display: block;
}

.c-select-list__item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 47px;
  font-size: 14px;
  font-size: 1.4rem;
  color: var(--color--black01);
  border-top: 1px solid var(--color--green03);
  padding: 15px;
  cursor: pointer;
}
.c-select-list__item:first-child {
  border-top: none;
}
.c-select-list__item.selected,
.c-select-list__item:hover {
  background-color: var(--color--green01);
  color: var(--color--white);
}

.c-select-current:after {
  position: absolute;
  right: 20px;
  font-family: "Font Awesome 6 Free";
  content: "\f0d7";
  font-size: 20px;
  font-weight: 600;
  color: var(--color--green01);
}

/*=================== PCここから==================*/
@media screen and (min-width: 1024px) {
  .c-select-list {
    top: 59px;
  }
  .c-select {
    max-width: 270px;
  
  }
  .c-select-current,.c-select-list__item  {  	
    font-size: 1.6rem;
      font-weight: 600;
        padding: 30px 6%;
  }
}
/*=================== PCここまで==================*/

/**************************************************
* テキストと画像のセット　SP縦、PC横並び
***************************************************/

.c-text-and-img {
  margin-bottom: 70px;
}
.c-text-and-img:last-child{
  margin-bottom: 0;
}



.c-text-and-img__item-img {
  margin-bottom: 20px;
}

/* width100%にrangeを設定すると横スクロールバーが表示されるため対応 */
.c-text-and-img.range {
  overflow: hidden;
}

/**************************************************
* 画像と画像のセット　SP縦、PC横並び
***************************************************/
.c-flex-box__img{
	width: 100%;
}
.c-flex-box__img:last-child{
	width: 100%;
	margin-top: 20px;
}



/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {
.c-text-and-img__item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
.c-text-and-img__item-img,.c-text-and-img__item-text{
    width: calc(50% - 20px) ;
    margin-bottom: 0;
  } 
.c-text-and-img__item-text--full {
    width: 100%;
  }
.c-text-and-img__item-img--full{
width: 60%;
margin: 0 auto 20px
}
  
  
/*	テキスト左のレイアウト*/
.c-text-and-img__item-text--left {
	    margin-left: auto;
        width: 50%;
         max-width: 500px; 
        padding-right: 30px;
/*
        align-self: center;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
*/
}
/*	テキスト左のレイアウト*/
.c-text-and-img__item-text--right{
	    margin-right: auto;
        width: 50%;
         max-width: 450px; 
        padding-left: 30px;
}
.c-text-and-img__item-text--w-long{
        max-width: 500px;
}
    

    

  /* 画像とテキストの比率　テキスト60　画像40  */
  .c-text-and-img__item-img--40 {
    width: calc(40% - 15px);
  }
  .c-text-and-img__item-text--60 {
      width: calc(60% - 15px);
  }
  /* 画像とテキストが縦レイアウトの画像サイズ調整 */
  .c-text-and-img__item-img--single{
      width:60%;
  }
    

/**************************************************
* 画像と画像のセット　SP縦、PC横並び
***************************************************/
.c-flex-box__img{
	width: 50%;
}
.c-flex-box__img:last-child{
	width: 50%;
	margin-top: 0;
}

.c-flex-box__img--space {
	width: calc(50% - 10px);
  margin-right: 20px;
}
.c-flex-box__img--space:last-child {
  width: calc(50% - 10px);
  margin-right: 0;
}

}
/*=================== TBここまで ==================*/
/*=================== PCここから==================*/
@media screen and (min-width: 1024px) {
	
.c-text-and-img__item-img{
    width: calc(55% - 30px) ;
    margin-bottom: 0;
  } 
.c-text-and-img__item-text {
    width: calc(45% - 30px);
    margin-bottom: 0;
  }


.c-text-and-img__item-text--left {
        padding-right: 60px;
}
/*	テキスト左のレイアウト*/
.c-text-and-img__item-text--right{
        padding-left: 70px;
}
    
.c-text-and-img__item-img--full,
.c-text-and-img__item-text--full {
    width: 100%;
  }
.c-text-and-img__item-img--full{
margin-bottom: 20px;
}
    
    
    
.c-text-and-img {
    margin-bottom: 70px;
}

}/*=================== PCここまで==================*/


/**************************************************
* dl 左右に分かれているリスト
***************************************************/
.c-dl-list__item {
  align-items: center;
  padding: 20px 0;
}
.c-dl-list__item--border {
  border-bottom: solid 1px var(--color--gray01);
}
.c-dl-list__item--blue dt{
  color: var(--color--sand-blue);	
}
.c-dl-list__item dt {
  width: 100%;
}
.c-dl-list__item dd {
  width: 100%;
}


.c-dl-list__item--company {
  align-items: flex-start;
  padding: 7px 0;
}
.c-dl-list__item--company:last-child {
  padding-bottom: 0;
}
.c-dl-list__item--company dt {
  width: 100%;
}
.c-dl-list__item--company dd {
  width: 100%;
}

/* ホールディングス */
.c-dl-list--hd .c-dl-list__item  {
  align-items: start;
}

/* ホールディングス 役員 */
.c-dl-list2 dt {
  padding-left: 0 !important;
  color: var(--color--black01);
  width: 140px !important;
}
.c-dl-list2 dd {
  flex: 1;
}

/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {
.c-dl-list__item dt {
  width: 30%;
}
.c-dl-list__item dd {
  width: 70%;
}
    
.c-dl-list__item--company dt {
  width: 20%;
}
.c-dl-list__item--company dd {
  width: 80%;
}

/* 英語版 */
.c-dl-list__item--company-en,
.c-dl-list__item--company-en-hd {
  align-items: flex-start;
}

.c-dl-list__item--company-en {
  padding: 10px 0;
}
.c-dl-list__item--company-en dt {
  width: 100%;
}
.c-dl-list__item--company-en dd {
  width: 100%;
}

.c-dl-list__item--company-en-hd dt {
  width: 30%;
}
.c-dl-list__item--company-en-hd dd {
  width: 70%;
}

    
}
/*=================== TBここまで ==================*/

/*=================== PCここから==================*/
@media screen and (min-width: 1000px) {
.c-dl-list__item--blue dt {
	padding-left: 10%;
}
.c-dl-list2 dt {
  width: 150px !important;
}

  .c-dl-list__item--company-en {
    padding: 20px 0;
  }
    
.c-dl-list__item--company dt {
  width: 17%;
}
  .c-dl-list__item--company-en dt {
    width: 30%;
  }
  .c-dl-list__item--company-en dd {
    width: 70%;
  }
}
/*=================== PCここまで==================*/


/**************************************************
* News 下層
***************************************************/
/* 一覧 */
.c-news-list__item {
  padding: 20px 30px 20px 0;
}
.c-news-list__item.range:hover .c-news-list__item-ttl-mg{
  text-decoration: underline;
}

.c-news-list__item {
  border-bottom: solid 1px  var(--color--gray01);
}


.c-news-list__item-date {
  margin-right: 10px;
}
.c-news-list-category-box {
  align-items: center;
  margin-bottom: 10px;
}

.c-news-list__item-date,.c-news-list__item-category{
  font-size: 12px;
  font-size: 1.2rem;    
}
.c-news-list__item-category {
  padding: 1px 4px;
  min-width: 100px;
}
.c-news-list__item-category--ir {
  background:  var(--color--green02);
}
.c-news-list__item-category--news {
  background:  var(--color--sand-brown01);
}

.c-news-list__item-ttl{
  font-size: 13px;
  font-size: 1.3rem; 
 display: inline-block;
line-height: 1.7;
}
.c-news-list__item-ttl-mg{
	margin-right: 4px;	
}
.c-news-list__item-size{
	font-size: 1.2rem ;
	line-height: 1.7;
	display: inline-block;
}

.c-file-pdf-icon2{
	font: var(--fa-font-regular);
	color: #CC0908;
    font-size: 1.4em ;
	padding:0 4px 0 0;
	vertical-align: middle;
	margin-bottom: 3px; /*位置見た目の誤差調整*/
}



/*.c-file-pdf-icon2と置き換えたら削除*/
.c-file-pdf-icon{
    position: relative;
/*    margin-right: 20px;*/
}
.c-file-pdf-icon::after{
font-family: "Font Awesome 6 Free";
content: '\f1c1';
font: var(--fa-font-regular);
	
/*font-weight: 900;*/
    position: absolute;
/*    left:20px;*/
    display: inline-block;
    color: #CC0908;
    font-size: 1.5em ;
    padding-left: 10px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}






/* トップページのお知らせ用 */
.c-news-list__item.news-top {
/*  border-bottom: none;*/
  padding-right: 0;
}
.c-news-list__item.news-top::after {
  content: none;
}


/* 年代選択で表示・非表示が変わる部分 */
.c-toggle__item {
  animation-name: toggleFadeIn;
  animation-fill-mode:forwards;
  animation-duration: .5s;
}
.c-toggle__item.is-inactive {
  animation-name: toggleFadeIn;
  animation-fill-mode:forwards;
  animation-duration: .5s;
  display: none;
}
@keyframes toggleFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.c-toggle__item:last-child {
  margin-bottom: 0;
}


/*=================== 320ここから ==================*/
@media screen and (max-width: 320px) {
.c-news-list__item-category {
  padding: 3px ;
  min-width: 88px;
}

}/*=================== 320ここまで ==================*/

/*=================== PCここから==================*/
@media screen and (min-width: 1024px) {
  .c-news-list__item {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }

.c-news-list__item.news-under:hover::after {
    right: -15px;
    transition: .3s;
  }

    

.c-news-list-category-box {
/*    width: calc(32% - 20px);*/
    flex-wrap: nowrap;
    margin-right: 20px;
    margin-bottom: 0;
  }
  .c-news-list__item-ttl {
/*    width: 68%;*/
  }
  .c-news-list__item-ttl--full {
/*    width: auto;*/
    width: 81%;
  }
  
.c-news-list__item-date,.c-news-list__item-category,.c-news-list__item-ttl{
  font-size: 1.3rem;    
}
  .c-news-list__item-date {
    width: 120px;
  }
  .c-news-list__item-date--year-only {
    width: auto;
  }

.c-news-list__item-size{
	font-size: 1.3rem ;
}
.c-file-pdf-icon2{
	padding:0 5px 0 0;
	margin-bottom: 4px; /*位置見た目の誤差調整*/
}

.c-news-list__item-mg{
	margin-right: 10px;	
}


	
	
	
	

}
/*=================== PCここまで ==================*/
/**************************************************
* ボタン
***************************************************/
.c-btn {
  display: block;
  text-align: center;
}
.c-btn--pc {
  display: none;
}
.c-btn--inline {
  display: inline-block;
}

/* 共通リンク */
.c-btn__link,
#mfp_overlay_inner .mfp_element_button,
#mfp_phase_confirm .mfp_element_button {
  width: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color--white);
  color: var(--color--black01);
  border: solid 1px var(--color--gray03);
  padding: 13px 10px;
  -webkit-transition: .5s;
  transition: .5s;
}

/*.c-btn__link,*/
#mfp_overlay_inner .mfp_element_button,
#mfp_phase_confirm .mfp_element_button{
  -webkit-transition: .5s;
  transition: .5s;
background-color:  var(--color--green02);
}

#mfp_overlay_inner .mfp_element_button,
#mfp_phase_confirm .mfp_element_button {
  color: var(--color--white);
}




/* ボタンの色 */
.c-btn__link--green01 {
  background-color: var(--color--white);
  color: var(--color--black01);
   border: solid 1px var(--color--gray03);
}
.c-btn__link--green02 {
  background-color: var(--color--green02);
  color: var(--color--white);
  border: solid 1px var(--color--green02);
}

.c-btn__link--green02:hover {
  background-color: var(--color--white);
  color: var(--color--green02);
 border: solid 1px var(--color--green02);
}
.c-btn__link--orenge01 {
  background-color: var(--color--orenge01);
  color: var(--color--white);
  border:  solid 1px var(--color--orenge01);
}
.c-btn__link--transparent {
  background-color: rgba(255,255,255,0.7);
}

.c-btn__link--contact-footer{
	color: var(--color--green01);	
}
/*footer*/
.c-btn__link--contact-footer:hover{
	color: var(--color--white);	
	background-color:var(--color--green01);
	opacity: 0.8;
}
.c-btn__link--contact-footer:hover .c-svg--green{
filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(313deg) brightness(103%) contrast(102%);
}
.c-btn__link--contact-footer.c-link-arrow--green:hover::before {
  background: var(--color--white);
}	
.c-btn__link--contact-footer.c-link-arrow--green:hover::after {
  border-bottom: 1px solid  var(--color--white);
}

/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {
    
/* 共通リンク */
.c-btn__link,
#mfp_overlay_inner .mfp_element_button,
#mfp_phase_confirm .mfp_element_button {
  width: 260px;
    }
    
    
}
/*=================== TBここまで ==================*/


@media screen and (min-width: 1023px) {
/*hover PCのみ適用*/
.c-btn__link{
	transition: .5s;
/*	background-color:  var(--color--green02);*/
}
.c-btn__link--green01:hover {
  background-color: var(--color--green01);
  color: var(--color--white);
  border: solid 1px var(--color--green01);
}
.c-btn__link--green02:hover {
  background-color: var(--color--white);
  color: var(--color--green02);
  border: solid 1px var(--color--green02);
}
.c-btn__link--orenge01:hover {
  background-color: var(--color--white);
  color: var(--color--orenge01);
  border: solid 1px var(--color--orenge01);
}

.c-hover-range-extension-parent:hover .c-btn__link--green01{
  background-color: var(--color--green01);
  color: var(--color--white);
  border: solid 1px var(--color--green01);
}


  }


/* ボタンの位置 */
.c-btn__link--center {
  margin: auto;
}
.c-btn__link-sp--center {
  margin: auto;
}



.c-btn__link--right {
  margin: 0 0 0 auto;
}

/* ボタンの大きさ */
.c-btn__link--small {
  width: 200px !important;
}
.c-btn__link--medium {
  width: 260px;
}
.c-btn__link--xlarge {
  width: 100%;
  max-width: 293px;
}

.c-btn__link--large {
  width: 280px;
  justify-content: start;
}
.c-btn__link--xxlarge {
  width: 100%;
  max-width: 360px;
  justify-content: start;
}

/* テキストの位置*/
.c-btn__link--text-left {
  justify-content: left;
}
.c-btn__link--text-center {
  justify-content: center;
}


/* お問い合わせ */
.c-btn__link img {
  width: 18px;
  height: 15px;
  margin-right: 6px;
  margin-bottom: 1px;
  opacity: 1 !important;
}
.c-btn__link--contact {
  justify-content: start;
  border: none;
  padding: 13px 20px 13px 30px;
}
 .c-btn__link--contact-feader{
		border:1px solid var(--color--green01); 
	}
/*mailアイコン色変え*/
	
/*header*/
.c-btn__link--contact-feader:hover .c-svg--white{
  filter: brightness(0) saturate(100%) invert(58%) sepia(70%) saturate(320%) hue-rotate(109deg) brightness(85%) contrast(80%);
}

.c-btn__link--hamburger-contact {
  width: 100%;
  background-color: transparent;
  color: var(--color--white);
  border: solid 1px var(--color--white);
}

/* メガメニュー内 */
.c-btn__link--megamenu {
  width: 180px !important;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: normal !important;
  background-color: transparent;
  color: var(--color--white) !important;
  justify-content: flex-start;
  border: solid 1px var(--color--white);
  padding: 6px 10px;
}

.c-btn__link--megamenu:hover {
  background-color: var(--color--white);
  color: var(  --color--green01)!important;
  border: solid 1px var(--color--white);
}


.c-btn__link--megamenu-large {
  width: 220px !important;
}

.c-btn__link--megamenu-xlarge {
  width: 240px !important;
}



/* ニュース一覧 */
.c-btn__news {
  display: flex;
  font-weight: 500;
  line-height: 1;
  margin-right: 60px;
  -webkit-transition: .5s;
  transition: .5s;
}

@media screen and (max-width: 599px) {
.c-btn--sp-center{
        display: flex;
        justify-content: center;
    }
}




/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {}
/*=================== TBここまで ==================*/
/*=================== PCここから==================*/
@media screen and (min-width: 1024px) {
  .c-btn--pc {
    display: block;
  }
  .c-btn--sp {
    display: none;
  }


  .c-btn__link {
    width: 260px;
  }

.c-btn__link-sp--center {
  margin: unset;
}
    
  .c-btn__link--contact {
    padding: 13px 20px 13px 50px;
  }
  
  .c-btn__link--large {
    width: 290px;
  }
.c-btn__link--xlarge {
width: 321px;
}
    
    
    
.c-btn__link--xxlarge {
  width: 340px;
}

  /* 電話番号のリンク */
  .c-tel-link {
    display: none;
  }
	

}
/*=================== PCここまで ==================*/


/**************************************************
* テキストループ
***************************************************/
.c-text-loop {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  overflow: hidden;
}
/*
.c-text-loop-wrap {
  display: flex;
  width: 100%;
  height: 11vh;
  transform: translateX(100%);
  animation: loop 5s linear infinite;
}
.c-text-loop__item {
  display: flex;
}
@keyframes loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
*/


.c-text-loop-wrap{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
}
.c-text-loop__item{
  display: flex;
  animation: loop-text 40s linear infinite;
}
.c-img-loop {
  display: inline-block;
  white-space: nowrap;
  margin-right: 60px;
}

.c-img-loop--height-l{
	 height: 12vh;
}
.c-img-loop--height-m{
	 height: 10vh;
}
.c-img-loop--height-s{
	 height: 8vh;
}

.c-img-loop img {
  width: auto;
  height: 100%;
}



@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}



/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {

/*
.double-content{
  height: 10vh;
}
*/
.c-img-loop {
  margin-right: 80px;
}
	
}/*=================== TBここまで==================*/


/*=================== PCここから ==================*/
@media screen and (min-width: 1024px) {
.c-text-loop {
  margin-bottom: -2em;
}
.c-img-loop {
  margin-right: 120px;
}
	

	
.c-img-loop--height-m{
	 height: 15vh;
}
	
	
}/*=================== PCここまで==================*/




/**************************************************
* フォーム
***************************************************/
.c-form {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.c-form__item {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 20px 0;
}
.c-form__item dt {
  position: relative;
  display: block;
  width: 100%;
  font-weight: bold;
  margin-bottom: 3%;
}
.c-form__item dd {
  width: 100%;
  align-items: center;
}
.c-form__item textarea, .c-form__item input[type="text"], .c-form__item input[type="email"], .c-form__item input[type="tel"], .c-form__item select {
  padding: 5px 15px;
  outline: none;
  border: 1px solid #cccccc;
  border-radius: 5px;
  transition: all 0.3s ease-in-out;
  width: 100% !important;
  height: 4rem;
  line-height: 1.4;
  font-size: 16px;
  font-size: 1.6rem;
}
.c-form__item select {
  max-width: 55px;
  padding: 5px;
}
.c-form__item label,
.c-form__item select {
  font-size: 16px;
  font-size: 1.6rem;
  background-color: var(--color--white);
}

.c-form__item textarea {
  height: 150px !important;
}
.c-form-inner--postal-code input[type="text"], .c-form-inner--postal-code input[type="tel"], .c-form-inner--pref input[type="text"] {
  width: 60%;
  max-width: 210px;
}
.c-form-inner__title {
  margin-bottom: 3%;
}
.c-form-inner__text {
  margin-bottom: 20px;
}
.c-form-inner:last-child .c-form-inner__text {
  margin-bottom: 0;
}
/* プレースホルダー */
.c-form__item textarea::placeholder .c-form__item input::placeholder {
  color: #D0D0D0;
}
.c-form__item input[type="text"]:focus::-webkit-input-placeholder {
  color: white;
} /* Chrome・Safari・Opera用(※Edgeにも使える) */
.c-form__item input[type="text"]:focus:-moz-placeholder {
  color: white;
} /* Firefox18以前用 */
.c-form__item input[type="text"]:focus::-moz-placeholder {
  color: white;
} /* Firefox19以上用 */
.c-form__item input[type="text"]:focus::placeholder {
  color: white;
} /* CSS標準(予定)の記述 */
.c-form__item input[type="email"]:focus::-webkit-input-placeholder {
  color: white;
} /* Chrome・Safari・Opera用(※Edgeにも使える) */
.c-form__item input[type="email"]:focus:-moz-placeholder {
  color: white;
} /* Firefox18以前用 */
.c-form__item input[type="email"]:focus::-moz-placeholder {
  color: white;
} /* Firefox19以上用 */
.c-form__item input[type="email"]:focus::placeholder {
  color: white;
} /* CSS標準(予定)の記述 */


/* 現在状況 */
.c-form__item--radio {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.c-form__item--radio label {
  display: flex;
  align-items: center;
  margin-right: 10px;
}
.c-form__item--radio label:last-child {
  margin-right: 0;
}
.c-form__item--radio input {
  margin-right: 5px;
}

/* 添付ファイル */
.c-form__item--file input {
  width: 100%;
  max-width: 350px;
  cursor: pointer;
}
.c-form__item--file input::file-selector-button {
  background: linear-gradient(0deg,  rgba(239,239,239,1) 0%, rgba(254,254,254,1) 100%);
  border: solid 1px var(--color--gray01);
  border-radius: 5px;
  padding: 10px 20px;
  margin-right: 20px;
}
.c-form__item--radio-other {
  width: 100%;
  margin-top: 10px;
}

/* プライバシーポリシー */
.c-form__item--privacy dd {
  display: flex;
  align-items: center;
}
.c-form__item--privacy input {
  width: 17px;
  height: 17px;
  margin-right: 10px;
}
.c-form__item--privacy input,
.c-form__item--privacy label {
  cursor: pointer;
}

/* 必須アイコン */
.c-form-req-icon {
  color: #DD1515;
  font-size: 10px;
  font-size: 1.0rem;
  font-weight: bold;
}

/* mailformpro の確認モーダルウィンドウ 便宜上ここに記載 */
#mfp_phase_confirm table#mfp_confirm_table {
  max-width: 640px;
}
#mfp_overlay_inner #mfp_confirm_table,
#mfp_phase_confirm #mfp_confirm_table {
  margin: auto auto 20px;
}
#mfp_overlay_inner h4,
#mfp_phase_confirm h4 {
  margin-bottom: 20px;
}

#mfp_overlay_inner table#mfp_confirm_table tr.mfp_colored,
#mfp_phase_confirm table#mfp_confirm_table tr.mfp_colored  {
  background-color: var(--color--ice-blue);
}
#mfp_overlay_inner table#mfp_confirm_table tr th,
#mfp_overlay_inner table#mfp_confirm_table tr td,
#mfp_phase_confirm table#mfp_confirm_table tr th,
#mfp_phase_confirm table#mfp_confirm_table tr td {
  font-size: 13px;
  font-size: 1.3rem;
  border-top: solid 1px var(--color--gray01);
  padding: 15px 10px;
}
#mfp_overlay_inner table#mfp_confirm_table tr:last-child th,
#mfp_overlay_inner table#mfp_confirm_table tr:last-child td,
#mfp_phase_confirm table#mfp_confirm_table tr:last-child th,
#mfp_phase_confirm table#mfp_confirm_table tr:last-child td {
  border-bottom: solid 1px var(--color--gray01);
}

#mfp_overlay_inner .mfp_buttons,
#mfp_phase_confirm .mfp_buttons {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}


#mfp_overlay_inner #mfp_button_cancel::before,
#mfp_phase_confirm #mfp_button_cancel::before {
  left: 20px;
  right: unset;
}
#mfp_overlay_inner #mfp_button_cancel::after,
#mfp_phase_confirm #mfp_button_cancel::after {
  left: 20px;
  right: unset;
  transform: rotate(135deg);
}

#mfp_overlay_inner #mfp_button_cancel:hover::before,
#mfp_overlay_inner #mfp_button_cancel:hover::after,
#mfp_phase_confirm #mfp_button_cancel:hover::before,
#mfp_phase_confirm #mfp_button_cancel:hover::after {
  left: 7px;
  right: unset;
}


/*ボタン色*/
#mfp_overlay_inner .mfp_element_button,
#mfp_phase_confirm .mfp_element_button {
  cursor: pointer;
}
#mfp_overlay_inner .mfp_element_button,
#mfp_phase_confirm .mfp_element_button{
  background: var(--color--green01);
  color: var(--color--white);
  border: solid 1px var(--color--green01);	
  margin-bottom: 10px;
}
/*矢印の色*/
#mfp_overlay_inner .mfp_element_button::before,
#mfp_phase_confirm .mfp_element_button::before{
	background: var(--color--white);
}	

#mfp_overlay_inner .mfp_element_button::after,
#mfp_phase_confirm .mfp_element_button::after{
	border-bottom: 1px solid  var(--color--white);
}
/*
#mfp_overlay_inner #mfp_button_send::before,
#mfp_overlay_inner #mfp_button_send::after,
#mfp_phase_confirm #mfp_button_send::before,
#mfp_phase_confirm #mfp_button_send::after {
  border-bottom: 1px solid  var(--color--white);
}
*/



/*=================== 375pxここから ==================*/
@media screen and (max-width: 375px) {
  .c-form__item--radio label:nth-child(4) {
    width: 100%;
    margin-top: 10px;
  }
}
/*=================== 375pxここまで ==================*/



/*=================== PCここから==================*/
@media screen and (min-width: 1023px) {
/*フォームbutton*/
	
/*ボタンの色*/
#mfp_overlay_inner .mfp_element_button:hover,
#mfp_phase_confirm .mfp_element_button:hover{
background-color: var(--color--white);
color: var(--color--black01);
border: solid 1px var(--color--gray03);	
}

#mfp_overlay_inner .mfp_element_button:hover::before,
#mfp_phase_confirm .mfp_element_button:hover::before{
	background: var(--color--black01);
}	

#mfp_overlay_inner .mfp_element_button:hover::after,
#mfp_phase_confirm .mfp_element_button:hover::after{
	border-bottom: 1px solid  var(--color--black01);
}
	
}
/*=================== PCここまで ==================*/





/* 採用エントリー　ステップのインジケーター */
.c-form-step{
  list-style: none;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  width: 80%;
  margin: auto;
  margin-bottom: 50px;
}
.c-form-step::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  width: 99%;
  border-top: 1px solid #aaa;
}
.c-form-step li{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: #333;
  font-size: 14px;
  color: #fff;
  filter: brightness(400%);
}
.c-form-step li.active{ filter: brightness(100%); }
.c-form-step li::before{
  position: absolute;
  bottom: -22px;
  display: block;
  white-space: nowrap;
  text-align: center;
  color: #333;
}
.c-form-step li:nth-of-type(1)::before{ content: "入力"; }
.c-form-step li:nth-of-type(2)::before{ content: "確認"; }
.c-form-step li:nth-of-type(3)::before{ content: "完了"; }

  .c-form__btn .c-btn__link {
    margin: auto;
  }


/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {
  .c-form {
    align-items: center;
  }
  .c-form__item {
    width: 100%;
    flex-wrap: nowrap;
  }
  .c-form__item dt {
    position: relative;
    width: calc(36% - 20px);
    margin-right: 20px;
    margin-bottom: 0;
  }

  .c-form-inner__title {
    margin-bottom: 5px;
  }
  /*inputフォーカス時の影やborderを消す 必須*/
  .c-form input:focus, .c-form textarea:focus {
    outline: 0;
  }

  /* プライバシーポリシー */
  .c-form__item--privacy {
    flex-wrap: wrap;
    justify-content: center;
  }
  .c-form__item--privacy dd {
    width: 100% !important;
    justify-content: center;
  }
  .c-form__btn .c-btn__link {
    cursor: pointer;
  }

  /* 必須アイコン */
  .c-form-req-icon {
    position: relative;
    font-size: 12px;
    font-size: 1.2rem;
  }

  #mfp_overlay_inner table#mfp_confirm_table tr th,
  #mfp_overlay_inner table#mfp_confirm_table tr td {
    font-size: 15px;
    font-size: 1.5rem;
  }
}
/*=================== PCここから==================*/
@media screen and (min-width: 1023px) {
  .c-form__item dt {
    width: calc(21% - 10px);
    margin-right: 10px;
  }
  .c-form__item dd, .c-form-policy__text {
    width: 79%;
  }

  /* 現在状況 */
  .c-form__item--radio {
    margin-bottom: 0;
  }
  .c-form__item--radio dd {
    align-items: center;
  }
  .c-form__item--radio-other {
    width: auto;
    margin-top: 0;
    margin-left: 20px;
  }

  /* 必須アイコン */
  .c-form-req-icon {
    font-size: 11px;
    font-size: 1.1rem;
    margin-left: 5px;
  }

  div#mfp_overlay_inner {
    width: 800px;
    padding: 70px;
  }

  .mfp_err {
    width: 100%;    
  }
  .c-form__item--privacy > .mfp_err {
    width: auto;
  }

}
/*=================== PCここまで==================*/
/**************************************************
* パンくず
***************************************************/
.c-breadcrumbds {
  position: absolute;
  top: 10px;
  left: 4%;
  z-index: 5;
}
.c-breadcrumbds-list {
  flex-wrap: nowrap;
  align-items: center;
}
.c-breadcrumbds-list__item {
  font-size: 11px;
  font-size: 1.1rem;
}
.c-breadcrumbds-separate {
  margin: 0 5px;
}


/*=================== PCここから==================*/
@media screen and (min-width: 1023px) {
  .c-breadcrumbds {
    top: 30px;
  }
.c-breadcrumbds-list__item {
  font-size: 13px;
  font-size: 1.3rem;
}
}
/*=================== PCここまで==================*/



/**************************************************
* 文字の上に英語の文言表示
***************************************************/
.c-en-heading,
.c-en-heading2 {
  position: relative;
}
.c-en-heading::before,
.c-en-heading2::after,
.c-en-heading3::before {
  position: relative;
  display: block;
  content: attr(en-heading);
  font-size: 24px;
  font-size: 2.4rem;
  color: var(--color--green01);
  white-space: pre;
	line-height: 1.2;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.c-en-heading2::after{
  margin-top: -0.4em;
  font-size: 15px;
  font-size: 1.5rem;
}
.c-en-heading3::before{
  font-size: 15px;
  font-size: 1.5rem;
}

.c-en-heading4{ 
font-size: 24px;
font-size: 2.4rem;
}


.c-en-heading--kokoku::before {
  content: "Financial Statements and \A Electronic Notices";
  line-height: 1.2;
}

.c-en-heading--footer:before {
  font-size: 10px !important;
  font-size: 1rem !important;
  line-height: 1;
  color: var(--color--gray01);
}


.c-en-heading--megamenu::before {
  font-size: 20px;
  font-size: 2rem;
}

.c-en-heading--footer--contents-title:before {
  position: relative;
  top: 0;
  left: 0;
  font-size: 24px;

}

/* 文字の色 */
.c-en-heading--white::before {
  color: var(--color--white);
}


/* 文字のサイズ */
.c-en-heading--large::before {
  font-size: 32px;
  font-size: 3.2rem;
}





@media screen and (min-width: 1030px) {
  .c-en-heading2::after{
    font-size: 18px;
    font-size: 1.8rem;
  }
  .c-en-heading3::before{
    font-size: 20px;
  }
  .c-en-heading3{
    font-size: 31px;
  }
}


/*=================== 320ここから ==================*/
@media screen and (max-width: 320px) {
    
.c-en-heading::before {
  font-size: 22px;
  font-size: 2.2rem;
}
    
.c-en-heading4{ 
font-size: 18px;
font-size: 1.8rem;
}


    

}/*=================== 320ここまで ==================*/


/*=================== PCここから==================*/
@media screen and (min-width: 1023px) {
.c-en-heading::before {
  font-size: 40px;
  font-size: 4rem;
}

.c-en-heading--medium::before {
  font-size: 30px;
  font-size: 3rem;
}
 .c-en-heading--small::before {
  font-size: 20px;
  font-size: 2rem;
}  
.c-en-heading4{ 
font-size: 40px;
font-size: 4rem;
}
    
}
/*=================== PCここまで==================*/


/**************************************************
* テーブル01
***************************************************/

/*.grid-wrap01
PC時 1行目タイトル、１列目サブタイトル、３列レイアウト*/

/*.grid-wrap02
PC時 1行目タイトル、タイトル1列、内容2列レイアウト*/

/*.grid-wrap03
PC時 タイトルなし、2列レイアウト、左側が水色*/

/*.grid-wrap04
PC時 1行目タイトル、タイトル3列、内容3列レイアウト、左側が水色、*/

/*.col2-grid
SP/PC 2列レイアウト*/

/*.c-col3-grid 
SP 2列 縦方向/PC 3列 横方向レイアウト*/

/*.c-col4-grid
sp 1列、pc３列３行*/

/*.c-col5-grid
sp 2列、pc2列*/


/*共通*/
.c-grid-wrap01,.c-grid-wrap02,
.c-grid-wrap03,.c-grid-wrap04,
.col2-grid{
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
width: 100%;
}

.c-col3-grid{ 
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 0px;
	grid-auto-flow: column;
}

/*sp 1列、pc３列３行*/
.c-col4-grid{ 
   display: grid;
	grid-template-columns: 1fr;
}

.c-col4-grid__item{	
	display: block;   
	border: 1px solid var(--color--gray01);
	margin-bottom: -1px;
  padding: 14px 10px;
}
.c-col4-grid__item{
    padding-bottom: 10px;
}

/*中央配置*/
.c-grid-01__item,.c-grid-02__item,
.c-grid-03__item,.col2-grid__item,.c-grid-item{
	padding: 10px;
	display: flex;
    justify-content: center;
    align-items: center;
	line-height: 1.7;
    font-size: 14px;
    font-size: 1.4rem;
}

/*左寄せ*/
.c-col3-grid__item,.c-grid-04__item{
	padding: 10px;
	display: flex;
    align-items: center;
	line-height: 1.7;
	border: 1px solid var(--color--gray01);
	margin-bottom: -1px;
    font-size: 14px;
    font-size: 1.4rem;
}
.c-col3-grid__item:nth-child(-n+3){
	border-right: none;
}

.c-grid__item-content-ttl,
.c-grid__item-content,
.col2-grid__item{
border: 1px solid var(--color--gray01);
border-bottom:none;
justify-content:flex-start;
}

.c-grid__item-content:last-child,
.col2-grid__item:last-child{
border-bottom:1px solid var(--color--gray01);
}

.c-grid__item--ttl{
	font-weight: 600;
}
.c-grid__item--ttl-sub{
	justify-content:flex-start;
	padding: 0 0 4px 0;
}

.c-grid__item-content-ttl,
.col2-grid__item--content-ttl{
  background: var(--color--ice-blue);  
}

.c-grid-04__item.c-grid__item--ttl {
  border: none;
}

/*col2*/
.col2-grid__item--spnone{
    display: none;
}
.col2-grid__item--ttl{
justify-content:flex-start;
margin-bottom: 10px;
border: none;
padding: 0;
}


/*sp時 ttl非表示*/
.c-pc-ttl{
	display: none!important;
}
/*sp時 セルにttl表示*/
.c-sp-ttl{
	display: block;
	font-weight: 600;
}

/* 株式概要　safariで崩れるため適用 */
.c-grid-03__item--flex-column  {
  flex-direction: column;
  justify-content: start;
  align-items: start;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.c-grid-03__item--block {
  display: block;
  word-break: unset;
}

/*grid-wrap04*/
.c-grid-wrap04 {
  grid-template-columns: 1.5fr 1fr 0.75fr;
}
.c-grid-wrap04--evenly { 
  grid-template-columns: 1fr 1fr 1fr;
}

.c-grid-04__item {
    padding: 4px 6px;
    border-right: none;
    font-size: 11px;
    font-size: 1.1rem;
}


.c-grid-04__item:nth-child(3n) {
  border-right: 1px solid var(--color--gray01);
}
.c-grid-04__item.c-grid__item--ttl {
  border-top: 1px solid var(--color--gray01);
  border-left: 1px solid var(--color--gray01);
}

.c-grid-04__item-text-end{
		justify-content: flex-end;
		
}

/* テキスト中央配置  */
.c-grid-04__item-text-center{
		justify-content:center;
	text-align: center;
		
}

.c-justify-content-center{
		justify-content: center;
	text-align: center;
	}
.c-justify-content-right{
		justify-content: flex-end;
	text-align: right;
	}

/*sp 2列、pc2列*/
.c-col5-grid{ 
   display: grid;
	grid-template-columns: 30% auto;
}
.c-col5-grid .c-grid__item-content-ttl{ 
  border-right: none;
}


/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {
/*col2-grid*/
.col2-grid{
grid-template-columns: 170px 1fr;
}   
.col2-grid__item{
border-top: none;
border-bottom:1px solid var(--color--gray01);
        padding: 10px 16px;
}
.col2-grid__item--ttl{
    background: var(--color--ice-blue); 
    border: 1px solid var(--color--gray01);
    border-bottom:1px solid var(--color--gray01);
    margin-bottom: inherit;
    padding: 10px;
	display: flex;
    align-items: center;
	line-height: 1.7;
}
.col2-grid__item--spnone{
    display: block;
	border-right:none;
}
.col2-grid__item--content-ttl{
  background:unset;
  border-right: none;
}
 
	
/*c-col3-grid*/
.c-col3-grid{ 
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
	grid-auto-flow: row;
}
.c-col3-grid__item:nth-child(-n+5){
	border-right: none;
}
.c-col3-grid__item:nth-child(3){
	border-right: 1px solid var(--color--gray01);
}

    
 /*c-col4-grid*/   
.c-col4-grid{ 
	grid-template-columns: 1fr 1fr 1fr;
}
.c-col4-grid__item{	
margin-right: -1px;
}
    

	

    
.c-pc-ttl{
	display: block!important;
}
.c-sp-ttl{
	display: none;
	
} 
    

/*grid-wrap04*/
 .c-grid-04__item {
  padding:  14px 20px;
    font-size: 15px;
    font-size: 1.5rem;
}   

	
}
/*=================== TBここまで ==================*/

/*=================== PCここから==================*/
@media screen and (min-width: 1023px) {
 
/*共通*/
.c-grid-01__item,.c-grid-02__item,.c-grid-03__item{
border: 1px solid var(--color--gray01);
border-bottom:0;
padding: 14px 20px;
}
    
.c-grid__item--ttl-sub,
.c-grid__item-content-ttl{
border-right: 0;
}
.c-grid__item--ttl,
.c-grid__item--ttl-sub{
	background: var(--color--ice-blue);
}	
.c-grid__item-content-ttl{
    background:none;
}
	
/*sp 2列、pc2列*/
.c-col5-grid .c-grid__item-content-ttl{ 
border-bottom: 1px solid var(--color--gray01);
background: var(--color--ice-blue);
}
	

	
/*grid-wrap01*/
.c-grid-wrap01{
 grid-template-columns: 170px 170px 1fr;
/* grid-template-rows: 65px 65px 65px 65px;*/

}	
.c-grid-01__item.c-grid__item--ttl-sub,
.c-grid-01__item:nth-last-child(2){
border-bottom:1px solid var(--color--gray01);
}

.c-grid-01__item.c-grid__item--ttl{
grid-column-start: 1;
grid-column-end: 4;
}
.c-grid-01__item.c-grid__item--ttl-sub{
grid-row-start: 2;
grid-row-end: 5;
justify-content: center;
}

	
/*grid-wrap02*/
.c-grid-wrap02{
 grid-template-columns: 170px 1fr;
}
.c-grid-wrap02--en {
  grid-template-columns: 180px 1fr;
}
.c-grid-wrap02--evenly{
 grid-template-columns: 1fr 1fr;
}
    
    

.c-grid-02__item.c-grid__item--ttl{
grid-column-start: 1;
grid-column-end: 3;
}
	
.c-grid-02__item:nth-last-child(2){
border-bottom:1px solid var(--color--gray01);
}


/*grid-wrap03*/
.c-grid-wrap03{
 grid-template-columns: 170px 1fr;
}

    
.c-grid-wrap03--hd-stock {
  grid-template-columns: 280px 1fr;
}
.c-grid-ttl-blue .c-grid__item-content-ttl,
.c-grid-03__item.c-grid__item-content-ttl{
  background: var(--color--ice-blue);  
}
.c-grid-03__item:nth-last-child(2){
border-bottom:1px solid var(--color--gray01);
}

.c-grid--ttl-long{
 grid-template-columns: 230px 1fr;
}


}
/*=================== PCここまで==================*/

/**************************************************
* テーブル
***************************************************/

@media screen and (max-width: 1022px) {
.c-table-fll-01{
	overflow-x: auto;
    display: block;
}
	
	
/* スクロールバー全体を対象にする */
.c-table_box::-webkit-scrollbar {
    width: 10px; /* スクロールバーの幅 */
    height: 10px; /* スクロールバーの高さ */
}
/* スクロールバーの背景部分をカスタマイズ */
.c-table_box::-webkit-scrollbar-track {
    background: var(--color--gray01); /* スクロールバーの背景色 */
    border-radius: 5px; /* 角丸にする */
}
/* スクロールバーの操作部分をカスタマイズ */
.c-table_box::-webkit-scrollbar-thumb {
    background: var(--color--black02);; /* スクロールバーの操作部分の背景色 */
    border-radius: 5px; /* 角丸にする */
}
/* スクロールバーの操作部分にホバーした時のスタイル */
.c-table_box::-webkit-scrollbar-thumb:hover {
    background: var(--color--green01); /* ホバー時のスクロールバーの操作部分の背景色 */
}

}/*------------max-width: 600px -----------ここまで */


.c-table-fll-01{
/*    table-layout: fixed;*/
    width: 100%;
/*    border: 1px solid var(--color--gray01);*/
}
.c-table-fll-01 th,.c-table-fll-01 td{
    padding: 8px 16px;
    border: 1px solid var(--color--gray01);
    word-break: break-all;
    vertical-align: middle;
	font-size: 14px;
    font-size: 1.4rem;
	white-space: nowrap;
}
.c-table-fll-01 th {
    background: var(--color--ice-blue); 
}
/*
.c-table-fll-01 td {

}
*/
.c-table-width01{
	width: 30%;	
}
.c-table-width02{
	width: 17.5%;	
}

/* ダイヤ　英語サイト用！　　テクニカルデータ用 */
.c-table-fll-row2 th,
.c-table-fll-row2 td {
  padding: 4px 16px;
 overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}



/*=================== TBここから ==================*/				
@media screen and (min-width: 600px) {
	
.c-table-fll-01 th,.c-table-fll-01 td{
    font-size: 14px;
    font-size: 1.4rem;
}

    
    
}/*=================== TBここまで ==================*/				


/*=================== PCここから==================*/
@media screen and (min-width: 1023px) {
.c-table-fll-01 th{
    font-size: 10.25px;
    font-size: 1.025rem;
}
.c-table-fll-01 td{
    font-size: 12px;
    font-size: 1.2rem;
}
    
    
}
/*=================== PCここまで ==================*/













/**************************************************
* ADOBE アクロバットリーダーバナー Adobe-Acrobat-Reader
***************************************************/
.c-acrobat-reader-notice__text{
	font-size: 13px;
	font-size: 1.3rem;
	color: var(--color--gray02);
}

.c-acrobat-reader-bnr{
	width:80%;
	max-width: 158px;
	
}


/*=================== TBここから ==================*/				
@media screen and (min-width: 600px) {
	
.c-acrobat-reader-notice__text{
	font-size: 12px;
	font-size: 1.2rem;
}
	
}/*=================== TBここまで ==================*/				



/*---------------------
ふわっと 表示
------------------------*/
/*
.c-fadein {
  opacity: 0;
  transition: opacity 1s;
}

.c-fadein.c-active {
  opacity: 1;
}
*/
.c-fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition:all 1s;
}
.c-fadein.c-active {
    opacity : 1;
    transform : translate(0, 0);
}



