@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
/* reset css
==============================================================*/
body,
h1, h2, h3, h4, h5, h6,
p, ol, ul, dl, dt, dd, form,
figure {
  margin: 0;
  padding: 0;
  font-family: "Zen Kaku Gothic New",游ゴシック Medium, YuGothic, YuGothicM, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

table, td, th, tr, thead, tbody {
  border: none;
}

table th {
  text-align: left;
  font-weight: normal;
}

table {
  border-collapse: collapse;
}

ul, ol {
  list-style: none;
}

a {
  text-decoration: none;
}

a:hover{
  transition : 0.5s;
}

a img {
  border: none;
}

img {
  vertical-align: bottom;
}

textarea {
  font-size: 1em;
  border: none;
  border-radius: 0;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

select {
  font-size: 1em;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
select::-ms-expand {
  display: none;
}

header, footer, section, nav, main,
figure, figcaption, time, small {
  display: block;
}

input[type=submit], input[type=image] {
  border: none;
  padding: 0;
}
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password] {
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
input[type=number] {
  appearance: textfield;
  -moz-appearance: textfield;
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
}

button {
  border: none;
  margin: 0;
  cursor: pointer;
  outline: none;
}

input[type=submit], input[type=image], input[type=reset] {
  cursor: pointer;
  font-family: 游ゴシック Medium, YuGothic, YuGothicM, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
}

address {
  font-style: normal;
}

/*=====================================*/
/*=ページサイズ全体設定=*/
html{
  scroll-behavior: smooth;
  font-size: 16px;
  min-height: 100vh;
  background-color: #F8F7F4;
  text-align: justify;
}
.wrap90{
  width: 90%;
  margin: auto;
}
/* flex指定 */
.flexbox{
  display: flex;
  flex-wrap:wrap;
}
.flexbox_column{
  flex-direction:column;
}
.flexbox_right{
	justify-content: flex-end;
}
.flexbox_reverse{
	flex-direction: row-reverse;
}
.flexbox_between{
	justify-content: space-between;
}
.flexbox_around{
	justify-content: space-around;
}
.flexbox_aligncenter{
  align-items: center;
}
.flexbox_justifycenter{
	justify-content: center;
}
.flexbox_alignend{
  align-items: flex-end;
}
.flexbox_wrap{
	flex-wrap: wrap;
}
.flexbox_flex1{
  flex: 1;
}
/*=フォント設定=*/
.font_yuMincho{
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}
.red{
  color: #C60101;
}
.bold{
    font-weight: bold;
}
.center{
  text-align: center !important;
}
.right{
  text-align: right;
}
.font_12,.small{
  font-size: 0.75rem !important;
}
.font_14{
  font-size: 0.875rem;
}
.font_18{
  font-size: 1.125rem;
}
/*=幅設定=*/

.width_10{
  width: 10%;
}
.width_19{
  width: 19%;
}
.width_25{
  width: 25%;
}
.width_100{
  width: 100%;
}
/* ＝＝ */
.width_p80{
  width: 80px;
}
.width_p100{
  width: 100px;
}
.width_p130{
  width: 130px;
}
.width_p170{
  width: 170px;
}
.width_p240{
  width: 240px;
}
.width_p400{
  width: 400px;
}

/*=共通ボタンデザイン=*/
.parts_button{
	border:  2px solid;
	padding: 2px 20px 2px 20px;
	display: inline-block;
	border-radius: 8px;
	font-weight: bold;
  border-color: #1564D0;
	color: #1564D0;
  text-align: center;
  box-sizing: border-box;
  background-color: #fff;
}
.parts_button:hover{
	background-color: #203744;
  border-color: #203744;
	color: #fff;
	opacity: 1.0;
  transition : 0.5s;
}
/* ボタン　肯定 */
.parts_button.button_true{
  background-color: #1564D0;
  color: #fff;
  font-size: 16px;
}
.parts_button.button_true:hover{
  background-color: #203744;
}
/* ボタン　否定 */
.parts_button.button_false{
  background-color: #ccc;
  border-color: #ccc;
  color: #333;
}
.parts_button.button_false:hover{
  background-color: #aaa;
  border-color: #aaa;
  color: #000;
}
/* ボタン　肯定否定ボタン幅調整 */
.button_true.width_100,
.button_false.width_100{
  padding-left: 0;
  padding-right: 0;

}
/* .parts_button::after{
	content: "〉";
	padding-left: 20px;
} */
.parts_button_light{
	border-color: #fff;
	color: #fff;
}
.parts_button_light:hover{
	background-color: #fff;
	color: #203744;
	opacity: 1.0;
  transition : 0.5s;
}

/*=共通バッジデザイン=*/
.parts_badge{
  color: #fff;
  font-weight: bold;
  border-radius:10px;
  padding: 0 16px !important;
  line-height: 1.5em !important;
  font-size: 12px;
  text-align: center;
}
.parts_badge_red{
  background-color: #D10B12;
}
.parts_badge_bluegray{
  background-color: #667A8B;
}
/*=共通バッジデザイン=*/
.parts_badgetitle{
  color: #fff;
  font-weight: bold;
  padding: 0 8px !important;
  line-height: 1.5em !important;
  font-size: 12px;
  text-align: center;
  background-color: #65676A;
  margin-right: 8px;
}
/*=共通入力デザイン=*/
.parts_text{
  border: #ccc solid 1px;
  padding: 3px;
  border-radius: 4px;
}
/*=====================================*/
/* 画面分割 */
body{
  font-size: 1.125rem;
}

/* メニュー展開時のスクロール固定用クラス */
body.no-scroll {
    overflow: hidden;
}

/* スマホ用ヘッダー（PCでは非表示） */
.mobile-header {
    display: none;
}

/* =========================================
   PC版のレイアウト (基本スタイル)
   画面幅 769px 以上で適用
   ========================================= */
.container {
    display: flex;
    width: 100%;
}

/* サイドバー（メニュー部分） */
.sidebar {
    width: 250px;
    height: 100vh;
    position: sticky; 
    top: 0;
    flex-shrink: 0;
    z-index: 100;
    display: flex;
    flex-direction: column;
}

/* PC用サイドバー内のロゴ */
.sidebar-logo {
    padding: 20px;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 10px;
}

/* メインメニューリスト */
.menu-list {
    list-style: none;
    padding: 0 20px;
    overflow-y: auto;
    flex-grow: 1;
}
.menu-list li {
    margin-bottom: 15px;
}
.menu-list a {
    text-decoration: none;
    display: block;
    color: #333;
    font-weight: 500;

    display: flex;
    flex-wrap:wrap;
    align-items:center;
    gap: 8px 8px;
}

.menu-list a i{
  color: #F4DB19;
  -webkit-text-stroke: 6px white;
  text-stroke: 6px white;
  paint-order: stroke;
}

/* PC用サブメニュー（下部固定） */
.sidebar-submenu {
    padding: 20px;

}
.sidebar-submenu a {
    display: block;
    text-decoration: none;
    color: #333;
    margin-bottom: 10px;
    /* font-size: 0.9rem; */
}
.sidebar-submenu a:last-child {
    margin-bottom: 0;
}

/* メインコンテンツ */
.main-content {
    flex-grow: 1;
    padding: 20px 20px 0 20px;
}

        /* =========================================
           スライドショー
           ========================================= */
        .slideshow {
            position: relative;
            width: 100%;
            height: 75vh;
            /* height: 600px; */
            overflow: hidden;
            margin-bottom: 30px;
            background-color: #eee;
            border-radius: 20px;
        }
        .slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover; /* 画像の縦横比を保ちつつ枠を埋める */
            opacity: 0;
            transition: opacity 1s ease-in-out; /* 1秒かけてフェード */
            z-index: 1;
        }
        .slide.is-show {
            opacity: 1;
            z-index: 2; /* 表示中のスライドを前面に */
        }



/* ハンバーガーボタン（PCでは非表示） */
.menu-toggle {
    display: none;
}

/* =========================================
   スマホ・タブレット版のレイアウト
   画面幅 768px 以下で適用
   ========================================= */
@media screen and (max-width: 768px) {
    
    .container {
      display: block;
      height: 80px;
    }

    /* スマホ用ヘッダー固定表示 */
    .mobile-header {
      display: flex;
      background-color: rgba(248,247,244,0.95);
      justify-content: space-between;
      /* align-items: center; */
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 60px;
      padding: 0 0 4px 10px;
      z-index: 200;
      box-sizing: border-box;
    }

    .header-logo {
      font-weight: bold;
      font-size: 1.2rem;
      padding-top: 20px;
    }

    /* ヘッダー右側（ボタンとサブメニューのグループ） */
    .header-right {
      display: flex;
      /* align-items: center; */
      gap: 6px;
      padding-right: 20px;
    }

    /* ハンバーガーボタン */
    .menu-toggle {
      display: block;
      background: transparent;
      /* border: 1px solid #000; */
      color: #fff;
      background-color: #667A8B;
      padding: 5px 8px;
      font-size: 0.625rem;
      cursor: pointer;
      border-radius: 4px;
      white-space: nowrap;
      width: 48px;
      font-weight: bold !important;
    }

    /* スマホ用ヘッダー内サブメニューリンク */
    .header-sub-link {
      color: #fff;
      text-decoration: none;
      font-size: 0.8rem;
      padding: 5px 8px;
      border-radius: 4px;
      white-space: nowrap;
      text-align: center;
    }
    .header-sub-link.button_rec{
      background-color: #F88B8A;
    }
    .header-sub-link.button_corp{
      background-color: #82D5E1;
    }
    .header-sub-link.button_rec,
    .header-sub-link.button_corp,
    .menu-toggle{
      margin-left: 0;
      /* margin-top: -20px; */
      padding: 12px 6px 6px 4px;
      border-radius: 0 0 10px 10px;
      font-size: 0.625rem;
      text-align: center;
      font-weight: 500;
    }

    .header-sub-link.button_rec i,
    .header-sub-link.button_corp i{
      font-size: 1rem;
    }

    /* サイドバーをモバイル用に変更 */
    .sidebar {
      position: fixed;
      top: 80px;
      left: 0;
      width: 100%;
      height: calc(100% - 80px);
      background-color:rgba(255,255,255,0.95);
      border-right: none;

      /* アニメーション変更：フェードで浮き出る */
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
      z-index: 150;
    }

    .main-content{
      padding-top: 90px;
    }

    /* サイドバー内のPC用ロゴ・サブメニューは非表示 */
    .sidebar-logo,
    .sidebar-submenu {
      display: none;
    }

    /* スマホ用メニューリスト余白調整 */
    .menu-list {
      padding-top: 20px;
      flex-grow: 0;
    }

    /* クラスが付与されたら表示（フェードイン） */
    .sidebar.is-active {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }
}

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

/* kv */
.wrap_kv{
  margin-bottom: 60px;
}
/* .kv_img {
  width: 100%;
  
}
.kv_img img{
  width: 100%;
  height: auto;
  border-radius: 20px;
} */

.kv_txt{
  -webkit-text-stroke: 6px white;
  text-stroke: 6px white;
  paint-order: stroke;

  font-size: 3.5rem;
  margin-top: -80px;
  text-align: right;
  line-height: 1.1em;
  font-weight: 500;
  color: #3B454B;
  position: relative;
  z-index: 999;
}

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

/* コンテンツ共通パーツ */
.borderRadius{
  background-color: #fff;
  border-radius: 20px;
  box-sizing: border-box;
  padding: 30px;
}

.borderRadius + .borderRadius{
  margin-top: 85px;
}

/* 働きたい・法人の方へボタン */
.button_rec,
.button_corp{
  display: block;
  border-radius: 0 15px 15px 0;
  box-sizing: border-box;
  padding: 12px 4px 12px 20px;
  margin-left: -20px;
  color: #fff !important;
  font-weight: 500;
}
.button_rec:hover,
.button_corp:hover{
	opacity: 0.6;
  transition : 0.5s;
}
.button_rec{
  background-color: #F88B8A;
}
.button_corp{
  background-color: #82D5E1;
}

/* --------------------- */
/* 見出し */
.head_txt{
  font-size: 2.25rem;
  line-height: 1.3em;
  margin-bottom: 48px;
}
.page_section .head_txt{
  font-size: 2.6rem;
}
.head_section{
  font-size: 2rem;
  text-align: center;
  margin-top: 100px;
  margin-bottom: 100px;
  position: relative;
}
.head_section::after{
  content: "";
  width: 80px;
  height: 10px;
  display: block;
  background-color: #F4DB1A;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translate(-50%, -50%);
}
.head_m_title{
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 30px;
}
.head_m_title_sub{
  margin-top: 20px;
  margin-bottom: 10px;
  color: #333 !important;
  font-weight: 500;
}

/* 画像サイズ調整 */
.cont_section .img_attempt img{
  max-width: 600px;
  border-radius: 20px;
}

/* コンテンツパーツ */
.cont_page{
  line-height: 1.8em;
}
.cont_page p+p{
  margin-top: 30px;
}

.cont_page{
  background-image: url(../img/back_yellow.png);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
  padding-top: 50px;
  padding-bottom: 50px;
}

/* 一覧リンク */
.link_all{
  text-align: center;
}
.link_all a{
  color: #333;
  font-weight: 500;
  border-bottom: dotted 2px #333;
  padding: 0 15px 8px 15px;
}
.link_all a:hover{
	opacity: 0.5;
  transition : 0.5s;
}
.page_section + .link_all{
  margin-top: 80px;
}
/* --------------------- */
/* top */
/* 北いわてリエゾンとは？ */
.cont_about{
  gap: 50px 4%;
}
.parts_about{
  width: 48%;
}
.parts_about img{
  width: 100%;
  height: auto;
  border-radius: 20px;
}

/* 働きたい・法人の方へボタン */
.cont_page .button_rec,
.cont_page .button_corp,
.parts_contact .button_corp{
  border-radius: 30px;
  padding: 12px 20px !important;
  margin-left: 0;
  text-align: center;
  width: 290px;
  border: 4px solid #fff;
  font-size: 1.2rem;
}
.link_button{
  gap: 20px 20px;
  margin-top: 60px;
}

/* 参画法人 */
.wrap_partic{
  background-image: url(../img/back_blue_top.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  padding-top: 100px;
  padding-bottom: 180px;
  position: relative;
}
.wrap_partic::after{
  position: absolute;
  content: "";
  width: 430px;
  height: 180px;
  display: block;
  background-image: url(../img/img_sea.png);
  background-repeat: no-repeat;
  background-size: cover;
  right: 0;
  bottom: -40px;
}
.head_partic{
  text-align: center !important;
  font-size: 2.25rem;
  letter-spacing: 0.1em;
}
.head_partic i{
  color: #F4DB19;
}

.cont_partic{
  margin: 75px 0 80px 0;
  gap: 20px 2%;
}
.parts_partic{
  background-color: #F8F7F4;
  border-radius: 20px;
  width: 32%;
}
.parts_partic a{
  display: block;
}
.parts_partic a:hover{
  opacity: 0.6;
  transition : 0.5s;
}
.img_partic img{
  width: 100%;
  height: auto;
  border-radius: 20px 20px 0 0;
}
.txt_partic{
  box-sizing: border-box;
  padding: 15px 15px 25px 15px;
}
.li_cat{
  gap: 5px 5px;
  margin-bottom: 10px;
}
.cat_partic{
  font-size: 0.75rem;
  color: #fff;
  font-weight: 500;
  background-color: #F88B8A;
  padding: 4px 8px 4px 8px;
  border-radius: 4px;
  box-sizing: border-box;
  display: inline-block;
  line-height: 1.1em;
  letter-spacing: 0.1em;
}
.title_partic{
  color: #333;
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0 0 16px 0;
}
.sub_partic{
  color: #333;
  font-size: 0.8rem;
  font-weight: 500;
  margin-top: 10px !important;
  line-height: 1.3em;
}
.list_partic{
  list-style-type: circle;
  color: #333;
  margin-left: 30px;
}

.txt_add p{
  color: #333;
  font-size: 1rem;
  line-height: 1.5em;
  letter-spacing: 0.1em;
}
.txt_add p+p{
  margin-top: 15px;
}

/* お知らせ */
.wrap_info.borderRadius{
  background-color: transparent;
  border: 2px solid #82D5E1;
  padding-bottom: 50px;
}
.head_info{
  font-size: 2rem;
  padding-left: 140px;
  position: relative;
}
.head_info::before{
  position: absolute;
  content: "";
  width: 118px;
  height: 128px;
  display: block;
  background-image: url(../img/head_info.png);
  background-repeat: no-repeat;
  background-size: cover;
  top: -70px;
  left: 0;
}
.list_info{
  margin-top: 40px;
  margin-bottom: 40px;
}
.list_info a{
  border-bottom: 1px solid #CBC8BF;
  display: block;
  padding: 20px 10px;
  box-sizing: border-box;
  color: #333;
}
.list_info a:hover{
  transition : 0.5s;
  background-color: #e8e5dd;
}

/* お問い合わせ */
.wrap_contact{
  background-color: #F88B8A;
  margin-top: 120px !important;
}
.wrap_contact p,
.wrap_contact h3,
.wrap_contact h4{
  color: #fff !important;
  font-weight: 500;
}
.head_contact{
  text-align: center;
  font-size: 1.75rem;
  margin-bottom: 40px;
}
.cont_contact{
  gap: 30px 6%;
  margin-top: 60px;
  margin-bottom: 40px;
}
/* .parts_contact{
  width: 48%;
} */
.head_tel{
  position: relative;
  /* padding-left: 80px; */
}
.head_tel::before{
  position: absolute;
  content: "";
  width: 64px;
  height: 64px;
  display: block;
  left: -70px;
  top: 12px;
  font: var(--fa-font-solid);
  content: "\f2a0";
  font-size: 54px;
}
.head_tel{
  font-size: 1.2rem;
  line-height: 1em;
}
.head_tel span{
  font-size: 1rem;
}
.tel_nam{
  font-size: 3rem;
  line-height: 1em;
  margin-bottom: 5px;
  letter-spacing: 0.1em;
}
.parts_contact{
  padding-left: 50px;
}
.parts_contact + .parts_contact{
  padding-left: 0;
}
.parts_contact .button_corp{
  width: 350px;
}
.parts_contact .button_corp i{
  font-size: 1.8rem;
  position: relative;
  bottom: -3px;
}
@media screen and (min-width:310px) and ( max-width:1115px) {
  .cont_contact{
    flex-direction:column;
    align-items: center;
  }
  .parts_contact + .parts_contact{
    margin-top: 20px;
  }
}
@media screen and (min-width:310px) and ( max-width:492px) {
  .wrap_contact{
    padding-left: 10px;
    padding-right: 10px;
  }
  .parts_contact .button_corp{
    width: 100%;
  }
  .head_tel{
    font-size: 1.2rem;
  }
  .tel_nam{
    font-size: 2rem;
  }
  .head_tel::before{
    width: 34px;
    height: 34px;
    font-size: 34px;
    left: -48px;
  }
  .parts_contact .button_corp{
    font-size: 1rem;
  }
  .parts_contact .button_corp i{
    font-size: 1.4rem;
  }

}
/* --------------------- */
/* コンテンツページ */
/* パンくずリスト */
.parts_breadcrumbs{
  font-weight: 500;
  margin-bottom: 40px;
}
.parts_breadcrumbs a{
  color: #888;
}
.parts_breadcrumbs a:hover{
  text-decoration: underline;
}
.parts_breadcrumbs i{
  color: #F4DB1A;
}
/* ページのコンテンツ */
.page_section.cont_page{
  background-image: url(../img/back_blue_top_small.png);
  background-position: top center;
  padding-top: 14px;
}
.cont_section{
  width: 90%;
  margin: 0 auto;
}

.cont_section img{
  width: 100%;
  height: auto;
}

/* PR活動 */
.wrap_pr{
  gap: 30px 4%;
}
.parts_pr{
  background-color: #F8F7F4;
  border-radius: 20px;
  width: 48%;
  box-sizing: border-box;
  padding: 30px;
}
.parts_pr img{
  max-width: 300px;
  height: auto;
}

/* 2分割レイアウト */
.cont_50,
.cont_60,
.cont_70{
  margin-top: 30px;
  margin-bottom: 30px;
  gap: 30px 4%;
}
.parts_70{
  width: 68%;
}
.parts_50{
  width: 48%;
}
.parts_60{
  width: 58%;
}
.parts_40{
  width: 38%;
}
.parts_30{
  width: 28%;
}
.parts_70 img,
.parts_60 img,
.parts_50 img,
.parts_40 img,
.parts_30 img{
  width: 100%;
  height: auto;
  border-radius: 20px;
}

@media screen and (min-width:310px) and ( max-width:1020px) {
  .parts_70,
  .parts_60,
  .parts_50,
  .parts_40,
  .parts_30,
  .parts_pr{
    width: 100%;
  }
}

/* 求人 */
.cont_rec{
  margin: 75px 0 80px 0;
  gap: 20px 4%;
}
.parts_rec{
  border-radius: 20px;
  padding-top: 20px;
  width: 48%;
  box-sizing: border-box;
  border: 2px solid #b9b29b;
}
@media screen and (min-width:310px) and ( max-width:1040px) {
  .parts_rec{
    width: 100%;
  }
}
.parts_rec a{
  display: block;
}
.parts_rec a:hover{
  opacity: 0.6;
  transition : 0.5s;
}
.img_rec img{
  max-width: 220px;
  height: auto;
}
.parts_rec p{
  color: #333;
}
.parts_rec .link_all{
  margin-top: 30px;
}

/* お問い合わせ */
.cont_tel{
  box-sizing: border-box;
  border: 1px solid #b9b29b;
  border-radius: 20px;
  padding: 30px 20px;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.Form {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}
@media screen and (max-width: 980px) {
  .Form {
    margin-top: 40px;
  }
}
.Form-Item {
  border-top: 1px solid #ddd;
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 980px) {
  .Form-Item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
    box-sizing: border-box;
  }
}
.Form-Item:nth-child(5) {
  border-bottom: 1px solid #ddd;
}
.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (max-width: 980px) {
  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
}
.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
@media screen and (max-width: 980px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}
.Form-Item-Label-Required {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #5bc8ac;
  color: #fff;
  font-size: 14px;
}
@media screen and (max-width: 980px) {
  .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }
}
.Form-Item-Input,
select {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;

  background: #eaedf2;
  font-size: 18px;
}
select {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: #eaedf2 url(../img/circle-down-regular-full.svg) no-repeat right 10px center / 20px auto;
}

option[selected][disabled] {
  display: none;
}
@media screen and (max-width: 980px) {
  .Form-Item-Input,
   select{
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 18px;
}
@media screen and (max-width: 980px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #5bc8ac;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 980px) {
  .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 16px;
  }
}

.box_privacypolicy{
  background-color: #f5f5f5;
  padding: 20px;
  box-sizing: border-box;
  border-radius: 10px;
  height: 200px;
  overflow: scroll;
}


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

/* フッター */
.wrap_footer{
  border-radius: 20px 20px 0 0;
  background-image: url(../img/back_blue_bottom.png);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
  min-height: 400px;
  padding-top: 60px;
  position: relative;
  margin-top: 220px !important;
}
.wrap_footer::before{
  position: absolute;
  content: "";
  width: 220px;
  height: 190px;
  display: block;
  background-image: url(../img/img_hand.png);
  background-repeat: no-repeat;
  background-size: cover;
  top: -70px;
  right: 20px;
}
.head_foot{
  font-size: 1.8rem;
  margin-bottom: 20px;
}
.wrap_footer p + p{
  margin-top: 30px;
}


/*=====================================*/
/* ページネーション */
.parts_pagenation .page-numbers{
	padding: 8px;
	background-color: #E6EAE3;
	color: #999;
}
  .parts_pagenation .page-numbers.dots{
    background-color: #fff;
    border: 1px solid #ccc;
  }
.parts_pagenation a.page-numbers{
	border: 1px solid #00a497;
	box-sizing: border-box;
	background-color: #fff;
	text-decoration: none;
	color: #00a497;
}

/*=====================================*/
/* モーダル共通css */

/* これが無いとモーダルウィンドウ表示の際に余白が出る */
*{
  margin: 0;
  padding: 0;
}

/* モーダル全体(背景＋本体) */
.modal{
  display: none;
  position: fixed;
  top: 0;
  height: 100vh;
  width: 100%;
  z-index: 9999;
}

/* モーダル背景 */
.modal-bg{
  position: absolute;
  height: 100vh;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
}

/* モーダル本体 */
.modal-content{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: scroll; /* はみ出た部分はスクロールさせる */
  height: 80%;/* これが無いと「overflow:scroll」が利かない */
  width: 60%;/* これが無いと「overflow:scroll」が利かない */
  background: white;
  padding: 40px;
}
.modal_completion .modal-content{
  width: 80%;
  height: 90%;
  background-repeat: no-repeat;
  padding-top: 60px;
  box-sizing: border-box;
}
.modal_header .head_txt{
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 8px;
}
.modal_header p{
  margin-bottom: 40px;
}

/* モーダルウィンドウ表示中に記事本体を固定 */
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

/*=====================================*/
@media screen and (min-width:310px) and ( max-width:1140px) {
	/* タブレットサイズ */

  /* KV */
  .kv_txt{
    font-size: 2.3rem;
    line-height: 1.5em;
  }
  /* 北いわてリエゾンとは？ */
  .parts_about{
    width: 100%;
  }
  /* 参画法人 */
  .parts_partic{
    width: 48%;
  }

  /* フッター */
  .wrap_footer::before{
      top: -90px;
    }



}
  .sp_clear{
    display: none;
  }
@media screen and (min-width:310px) and ( max-width:820px) {

  .sp_clear{
    display: inline;
  }

	/* スマホサイズ */
  .borderRadius{
    padding-left: 10px;
    padding-right: 10px;
  }

  /* KV */
  .kv_txt{
    font-size: 2rem;
    line-height: 1.5em;
  }
  .slideshow{
    height: 55vh;
  }

  /* 北いわてリエゾンとは？ */
  .head_txt {
    font-size: 2rem;
  }
  /* 参画法人 */
  .parts_partic{
    width: 100%;
  }
  .wrap_partic::after{
    width: 280px;
    height: 110px;
    bottom: -30px;
  }

  /* フッター */
  .wrap_footer::before{
    width: 160px;
    height: 140px;
  }

  /* ページタイトル */
  .page_section .head_txt {
      font-size: 2.1rem;
  }
  .page_section .head_section{
      font-size: 1.6rem;
    }
   .page_section .head_m_title {
      font-size: 1.3rem;
    }

  /* モーダル */
  .modal_completion .modal-content{
    width: 90%;
    height: 90%;
  }
  .modal-content{
    padding: 5%;
  }
  .modal_completion .cont_section{
    width: 100%;
  }
  .modal_completion .page_section .head_txt,
  .modal_completion .head_section{
      font-size: 1.6rem;
  }


}