@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@700&display=swap");
/* =====================
	子育農漁党
 ======================= */
/** -------------------- 変数定義 -------------------- **/
:root {
  /* カラー定義 */
  --c_text: #333333;
  --c_wht: #fff;
  --c_orange: #F39800;
  --c_green: #7FB414;
  /* フォント定義 */
  --font_ja: "Noto Sans JP", "メイリオ",  Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --font_eng: "Josefin Sans", sans-serif;
  /* transition定義 */
  --anim: all 0.3s ease-in-out;
}

body {
  font-family: var(--font_ja);
  font-size: 0.8333333333vw;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--c_text);
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  padding: 0;
  margin: 0;
}

body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img, video {
  max-width: 100%;
  display: block;
}

.clearfix {
  clear: both;
}

a {
  color: var(--c_text);
  -webkit-transition: var(--anim);
  transition: var(--anim);
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
  cursor: hand;
}

/** -------------------- 共通 -------------------- **/
.under{
border-bottom: 1px solid #707070;
}

.inner {
  width: 62.5%;
  margin: 0 auto;
  position: relative;
}



.page_title {
  position: relative;
  overflow: hidden;
  padding: 5.7291666667% 0 6.9791666667%;
  text-align: center;
  
}

.page_title-under {
  position: relative;
  overflow: hidden;
  padding: 10% 0 6.9791666667%;
  text-align: center;
  
}

.page_title-under .page_title01 {
  font-size: 4.1667vw;
  font-weight: 700;
  line-height: 1.3625;
  color: #55c1ef;
}

.page_title-under .page_title02 {
  font-size: 4.1667vw;
  font-weight: 700;
  line-height: 2;
  color: #55c1ef;
  background-color:rgba(245,255,2,0.53);
}

.yel-bg{
background-color:  rgba(245,255,2,0.22);
}

.c_orange {
  color: var(--c_orange) !important;
}

.c_green {
  color: var(--c_green) !important;
}

.c_white {
  color: var(--c_wht) !important;
}

.aka{
color: #ff0000;
}

.anim {
  -webkit-transition: var(--anim);
  transition: var(--anim);
}

.anim.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(1.5em);
          transform: translateY(1.5em);
}

.anim.fadeInUp.is-show {
  opacity: 1.0;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.zen-old-mincho-regular {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

/** -------------------- ヘッダー -------------------- **/
.header {
position: fixed;
width: 100%;
padding: 1% 0;
background-color: #fff;
z-index: 1000;
}

.header .header_inner {
  background: var(--c_wht);
  width: 94.7916%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header .header_logo {
  width: 19.23%;
}

.yaji{
font-size: 0.78125vw;

}

.header .nav .nav_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: 2.5em;
     -moz-column-gap: 2.5em;
          column-gap: 2.5em;
  padding-right: 1.25em;
}

.header .nav .nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: 2.5em;
     -moz-column-gap: 2.5em;
          column-gap: 2.5em;
}

.header .nav .nav_list a {
  font-size: 1.3021vw;
  font-weight: 700;
}


/** -------------------- フッター -------------------- **/
.footer {
  position: relative;
  overflow: hidden;
  padding-bottom: 4.4791666667%;
  border-top: 2px solid #707070;
}



.footer .footer_logo {
 width: 22.968%;
  margin: 3% 0 1% 6.77%;
}
.footer .footer_logo img{
width: 100%;
}

#back-top {
  position: fixed;
  bottom: 50px;
  right: 6.77%;
}
#back-top a {
  display: block;
}
#back-top span {
  width: 10vw; 
  aspect-ratio: 1 / 1; /* 正方形にする（画像が195×195px想定なら） */
  display: block;
  background: url(../img/common/go_top.png) no-repeat center center;
  background-size: contain; 
}

.foot-txt{
margin: 3% 0 1.25em 6.77%;
font-size: 1.1458vw;
}
/** -------------------- トップページ -------------------- **/

.mv{
padding-top: 70px;
}



.mv_main{
width: 94.7916%;
margin:  0 auto;
}
.mv_main img{
width: 100%;
}


section {
  padding: 5.2083333333% 0 6.25%;
}

.sec_title{
font-size: 3.0729vw;
font-weight: bold;
color: #55c1ef;
line-height: 2;
text-align: center;
margin: 0 0 3%;
}

.sasie01{position: absolute;
width: 17.333%;
right: -10%;
top: -3%;}


.sasie02{position: absolute;
width:14.75%;
left: -4%;
top: -37%;}

.sasie03{position: absolute;
width: 11%;
right: -6%;
top: -30%;}

.sasie04{position: absolute;
width:17.5833%; 
left: -5%;
bottom: -30%;}

.sasie05{position: absolute;
width:16.333%; 
right: -8%;
bottom: -33%;}

.sasie06{position: absolute;
width: 9.666%;
left: -4%;
bottom:-35%;
z-index: 50;}

.sasie07{position: absolute;
width: 51.66%;
right: -2%;
bottom: -35%;}



/******sec01**************************************/

.sec01-txt{
font-size: 1.1458vw;
line-height: 2;
color: #000;
text-align: center;
}

/******sec02**************************************/
.sec02{
background-color: #55c1ef;
}

.sec02 .sec_title{
font-size: 3.0729vw;
font-weight: bold;
color: #fff;
line-height: 2;
text-align: center;
margin: 0 0 3%;
}

.sec02-txt{
font-size: 1.1458vw;
line-height: 2;
color: #fff;
text-align: left;
margin:0 0 3% 9.5%;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.sec02-txt-l{
width: 3.683%;
font-size: 1.1458vw;
line-height: 2;
color: #fff;
}

.sec02-txt-r{
width: 96.316%;
font-size: 1.1458vw;
line-height: 2;
color: #fff;
}
/******sec03**************************************/
.sec03{
background-color:rgba(245,255,2,0.53);
}

.sec03-btn {
  width: 100%;
  text-align: center;
  margin: 3% 0 0;
}

.sec03-btn a {
  display: inline-block;
  position: relative;
}

.sec03-btn img {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity 0.3s ease;
  position: absolute;
  top: 0;
  left: 0;
}

.sec03-btn .off {
  position: relative; /* ←ここ重要 */
}

.sec03-btn .on {
  opacity: 0;
  pointer-events: none;
}

.sec03-btn:hover .on {
  opacity: 1;
}

.sec03-btn:hover .off {
  opacity: 0;
}

/******sec04**************************************/
.sec04-txt{
font-size: 1.1458vw;
line-height: 2;
color: #000;
text-align: center;
margin-bottom: 3%;
}

.sec04-waku_bg{
background-color: rgba(85,193,239,0.11);
padding: 3% 1.5%;
margin-bottom: 2%;
border-radius: 20px;
}

.sec04-waku{display: flex;
justify-content: flex-start;
flex-wrap: wrap;
margin-bottom: 2%;}

.sec04-i{
width: 4.5%;
margin-right: 1%;
}
.sec04-i img{
width:100%;
}

.sec04-q-txt{
width: 94%;
font-size: 1.875vw;
line-height: 1.36;
font-weight: bold;
color: #55c1ef;
}

.sec04-a-txt{
width: 94%;
font-size: 1.875vw;
line-height: 1.36;
font-weight: bold;
color: #000;
margin-bottom: 2%;
}

.a-txt-s{
width: 94%;
font-size: 1.1458vw;
line-height: 1.59;
color: #000;
margin-left: 6%;
}

/******sec05**************************************/
.sec05{
background-color: #55c1ef;
}

.sec05 .sec_title{
font-size: 3.0729vw;
font-weight: bold;
color: #fff;
line-height: 2;
text-align: center;
margin: 0 0 3%;
}

.sec05-intro{
font-size: 2.1354vw;
font-weight: bold;
color: #f5ff02;
line-height: 1.4146;
text-align: center;
margin: 0 0 3%;
}

.sec05-waku{
width: 100%;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
font-size: 1.25vw;
font-weight: bold;
color: #fff;
line-height: 1.625;
}

.sec05-l{width: 17.661%;
text-align: center;
padding: 2% 0;
}

.sec05-r{
width: 82.33%;
text-align: left;
padding: 2% 0;
}


.btn-contact{
padding: 13% 0 4%;
width: 49.583%;
margin: 0 auto 5%;
}

.btn-contact a {
 display: block;
width: 100%;
  position: relative;
  display: inline-block;
}

.btn-contact img {
  display: block;
  width: 100%; /* 必要に応じて固定幅でも可 */
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease;
}

.btn-contact .on {
  opacity: 0;
  pointer-events: none;
}

.btn-contact:hover .on {
  opacity: 1;
}

.btn-contact:hover .off {
  opacity: 0;
}

/** -------------------- フォーム -------------------- **/
 #entry {
  /* 確認モーダル */
  /* 完了ページ */
}

 #entry .entry {
  padding: 0 0 5.2083333333%;
}

 #entry .entry .entry_intro {
  font-size: 1.1458vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 2em;
}

 #entry .entry .entry_box {

  padding: 6% 0 6.6666666667%;
}

 #entry .entry .entry_dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 2.5em 1fr;
  grid-template-columns: auto 1fr;
  gap: 2.5em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

 #entry .entry .entry_dl dt {
  font-size: 1.1458vw;
  text-align: right;
}

 #entry .entry .entry_dl dt.v_top {
  margin-bottom: auto;
}

 #entry .entry .entry_dl dt .req {
  color: #ff0000;
  display: inline-block;
  font-size: 1.1458vw;
  line-height: 1.0;
  padding: 0.2em 0.4em 0.0666666667em;
  margin-left: 0.2em;
}

 #entry .entry .entry_dl dd {
  font-weight: 700;
  border: none;
}

 #entry .entry .entry_dl dd .note a {
  text-decoration: underline;
}

 #entry .entry .entry_dl input[type=text], #entry .entry .entry_dl input[type=email], #entry .entry .entry_dl input[type=tel] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  font-family: var(--font_ja);
  font-size: 1.1458vw;
  background: #eeeded;
  padding: 0.875em;
  margin: 0 0.625em;
   border: none;
}

 #entry .entry .entry_dl input[type=text]:first-child, #entry .entry .entry_dl input[type=email]:first-child, #entry .entry .entry_dl input[type=tel]:first-child {
  margin-left: 0; background-color: #eeeded; border: none;
}

 #entry .entry .entry_dl input[type=text]:last-child, #entry .entry .entry_dl input[type=email]:last-child, #entry .entry .entry_dl input[type=tel]:last-child {
  margin-right: 0;  background-color: #eeeded; border: none;
}

 #entry .entry .entry_dl input[type=text].size_s, #entry .entry .entry_dl input[type=email].size_s, #entry .entry .entry_dl input[type=tel].size_s {
  width: 5em;
   background-color: #eeeded; border: none;
}

 #entry .entry .entry_dl input[type=text].size_m, #entry .entry .entry_dl input[type=email].size_m, #entry .entry .entry_dl input[type=tel].size_m {
  width: 16.25em;
   background-color: #eeeded; border: none;
}

 #entry .entry_dl input[type=text].size_l, #entry .entry .entry_dl input[type=email].size_l, #entry .entry .entry_dl input[type=tel].size_l {
  width: 18.125em;
   background-color: #eeeded; border: none;
}

 #entry .entry .entry_dl input[type=radio] {
  margin: 0;
}

#entry .entry .entry_dl textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100% !important;
  font-family: var(--font_ja);
  font-size: 1.1458vw;
  background: var(--c_wht);
  border: none;
  padding: 0.875em;
  height: 20.875em !important;
   background-color: #eeeded;
}

#entry .entry .entry_dl label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.3125em;
     -moz-column-gap: 0.3125em;
          column-gap: 0.3125em;
  font-weight: 700;
}

#entry .entry .entry_dl label + label {
  margin-left: 2.5em;
}

.entry-txt01{
margin-left: 28%;
font-size: 1.1458vw;
margin-bottom: 10%;
}

.policy-box{
font-size: 1.1458vw;
margin-bottom: 15%;
}


#entry .mfp_buttons {
  margin-top: 7.4074074074%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.25em;
     -moz-column-gap: 1.25em;
          column-gap: 1.25em;
}

#entry .mfp_buttons button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-align: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 27.3148148148%;
          flex: 0 1 27.3148148148%;
  background: #55c1ef;
  color: var(--c_wht);
  border: 3px solid #55c1ef;
  font-family: var(--font_ja);
  font-size:2.08333vw;
  font-weight: 700;
  border-radius: 200px;
  padding: 0.2em 0 0.3em;
  /*-webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);*/
  cursor: pointer;
  -webkit-transition: var(--anim);
  transition: var(--anim);
}

#entry .mfp_buttons button[type=reset], #entry .mfp_buttons button#mfp_button_cancel {
  border-color: #D0D0D0;
  background: var(--c_wht);
  color: #D0D0D0;
}

#entry .mfp_buttons button#mfp_button_cancel {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}

#entry .mfp_buttons button:hover {
  opacity: 0.7;
}

#entry #mfp_overlay_inner {
  width: 56.25%;
  padding: 2.0833333333% 1.0416666667%;
}

#entry #mfp_overlay_inner h4 {
  text-align: center;
  font-size: 1.25vw;
  font-weight: 700;
  margin: 0 0 0.5em;
}

#entry #mfp_confirm_table {
  width: 100%;
}

#entry #mfp_confirm_table th, #entry #mfp_confirm_table td {
  padding: 0.5em;
  font-size: 1.1458vw;
}

#entry #mfp_confirm_table + .mfp_buttons {
  margin-top: 3%;
}

#entry .thanks_title {
  text-align: center;
  font-size: 1.25vw;
  font-weight: 700;
  margin: 0 0 1em;
}

#entry .thanks p {
font-size: 1.1458vw;
  line-height: 2.0;
  text-align: center;
}

#entry .thanks p + p {
  margin-top: 3em;
}

/** -------------------- 政策提言 -------------------- **/
#policy .policy {
  padding: 3.125% 0 3.75%;
}
/*********政策　policy01*****************************/
.policy01{
padding: 0 0 6.25%;
}

.plc01-box{
width: 100%;
margin-bottom: 10%;}

.plc-waku1{padding: 1.6%;
background-color: #55c1ef;
color: #fff;
margin-bottom: 2%;
}

.plc01-l-1{
font-size: 2.3438vw;
width: 40.9%;
font-weight:bold;
vertical-align: middle;
padding-left: 2vw;
}

.plc01-l-2{
font-size: 2.3438vw;
width: 54.545%;
font-weight:bold;
vertical-align: middle;
padding-left: 2vw;
}

.plc01-r-1{
width: 59.09%;
font-size: 1.4583vw;
line-height: 1.5;
font-weight: 600;
vertical-align: middle;
}

.plc01-r-2{
width: 45.454%;
font-size: 1.4583vw;
line-height: 1.5;
font-weight: 600;
vertical-align: middle;
}

.plc-waku2{padding: 3%;
background-color:rgba(245,255,2,0.22);
color: #000;
margin-bottom: 3%;
}

.plc-waku2-ttl{
 font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  font-size: 3.125vw;
  text-align: center;
  color: #55c1ef;
}
.plc-waku2-txt{
font-size: 1.3021vw;
line-height: 1.84;
text-align: center;
}

.plc01-txt01{
text-align: center;
font-size: 1.5625vw;
color: #55c1ef;
font-weight: bold;
margin-bottom: 2%;
}

.plc01-txt02{text-align: center;
font-size: 1.1458vw;
color: #000000;
margin-bottom: 2%;
}

.plc01-box2{
width: 82.166%;
margin: 0 auto;
}

.plc01-box2 table, th, td{
border: 1px solid #707070; /* 明示的に指定 */
  border-collapse: collapse; /* 任意（表の線を1本にする） */
}

.plc01-box2 table td{
padding: 1% 0;
font-size: 1.1458vw;
}


/*********政策　policy02*****************************/
.policy02{
padding: 0 0 6.25%;
}

.plc02-txt{
text-align:left;
font-size: 1.1458vw;
line-height: 2.045;
margin-bottom: 2%;
}

.plc02-ttl{
font-size: 2.3438vw;
line-height: 1.355;
margin-left: 3%;
font-weight: bold;
}

.plc02-box{
width: 96.8%;
margin:0 auto 3%;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.plc02-pic{
width: 16%;
margin: 3% 6.33%;
}

.plc02-box-txt1{
width: 68%;
font-size: 1.1458vw;
line-height: 1.9;
font-weight: 600;
}

.plc02-box2{
width: 93.5%;
margin:0 0 3% 6.5%;
}

.plc02-box2-txt{
width: 100%;
font-size: 1.1458vw;
line-height: 1.9;
font-weight: 600;
margin-bottom: 3%;
}

.plc02-komi{
background-color: #55c1ef;
padding: 0.5% 5%  0.5% 1%;
font-size: 1.25vw;
line-height: 1.875;
color: #fff;
}

.plc02-box2_in{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
margin: 2% 0 5%;
}

.plc02-box2_in-pic{
width: 21.925%;
}

.plc02-box2-pic-01{
width: 83.333%;
padding-top: 25%;
}

.plc02-box2-pic-02{
width:74.796%;
padding-top: 20%;
}

.plc02-box2-pic-03{
width:70.7317%;
padding-top: 20%;
}

.plc02-box2-pic-04{
width: 64.634%;
padding-top: 10%;
}

.plc02-box2_in-txt{
width: 74.866%;
font-size: 1.1458vw;
line-height: 2.045;
}

.plc02-box2_in-txt table, th, td{
border: none;
}

.plc02-box2_in-txt .med{
font-weight: 600;
}

.komi_in_l{
width: 3%;
}

.komi_in_r{
width:97%;
}



/*********政策　policy03****************************/
.policy03{
padding: 0 0 6.25%;
}

/*********政策　policy04*****************************/
.policy04{
padding: 0 0 6.25%;
}

.plc04-intro{
font-size: 1.875vw;
line-height: 1.25;
font-weight: 600;
margin-bottom: 3%;
}

.plc04-box{
margin :0 0 3% 4.5%;
font-size: 1.1458vw;
line-height: 2.045;
}

.plc04-komi{
font-size: 1.3542vw;
line-height: 1.73;
color:#55c1ef;
font-weight: 600;
}

.plc04-komi2{
font-size: 1.3542vw;
line-height: 1.73;
color:#ff0000;
font-weight: 600;
}

.plc04-box-txt{
font-size: 1.1458vw;
line-height: 2.045;
color: #000;
margin-bottom: 2%;
}

.akawaku{
border: 1px solid #ff0000;
padding: 2%;
font-size: 1.3542vw;
font-weight: 600;
color: #ff0000;
}

.akawaku table{
border: none;
}

.komi_in_l2{
width: 3%;
}

.komi_in_r2{
width:97%;
}

.policy05{
padding: 0 0 0;
}

/*********************************************************************************************************************************************
PCのみ
*******************************************************************************************************************************************/
@media (min-width: 700px) {
  .sm-only {
    display: none !important;
  }
}

/*********************************************************************************************************************************************
ipad
*******************************************************************************************************************************************/
/*********************************************************************************************************************************************
スマホ
*******************************************************************************************************************************************/
@media (max-width: 699px) {
  body {
    font-size: 14px;
  }
  .pc-only {
    display: none !important;
  }
  /** -------------------- 共通 -------------------- **/
  main #top{
  	padding-top: 60px;
  }
  
  .top{
padding-top: 60px;
}

  .inner {
    width: 90%;
  }
  .inner.wide {
    width: 96%;
  }
  .page_title {
    padding: 40px 0;
  }
  .page_title:before {
    width: 80%;
    padding-top: 80%;
  }
  .page_title .page_title_eng {
    font-size: 36px;
  }
  .page_title .page_title_jp {
    font-size: 18px;
  }
  /** -------------------- ヘッダー -------------------- **/
  .header {
    height: 60px;
	padding: 0;
  }
  .header .header_inner {
    position: absolute;
  }
  .header .header_logo {
    width: 200px;
	margin:10px 0 10px 20px;
  }
  .header .menu_btn {
    width: 60px;
    height: 60px;
    /*background: var(--c_orange);
    border-radius: 0 0 0 20px;*/
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .header .menu_btn_inner {
    position: relative;
    width: 40px;
    height: 25px;
    margin: auto;
  }
  .header .menu_btn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #55c1ef;
    -webkit-transition: var(--anim);
    transition: var(--anim);
  }
  .header .menu_btn span:first-child {
    top: 0;
  }
  .header .menu_btn span:nth-child(2), .header .menu_btn span:nth-child(3) {
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .header .menu_btn span:last-child {
    bottom: 0;
  }
  .header .menu_btn.is-open span:first-child, .header .menu_btn.is-open span:last-child {
    opacity: 0;
  }
  .header .menu_btn.is-open span:nth-child(2) {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header .menu_btn.is-open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .header .nav_mask {
    position: fixed;
    top: 60px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: calc(100% - 60px);
    background: rgba(0, 0, 0, 0.2);
    -webkit-transition: var(--anim);
    transition: var(--anim);
    visibility: hidden;
    opacity: 0;
    transition: var(--anim);
  }
  .header .nav_mask.is-open {
    opacity: 1.0;
    visibility: visible;
  }
  .header .nav {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    display: none;
  }
  .header .nav .nav_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.5em;
    padding: 40px 5%;
    background: var(--c_wht);
  }
  .header .nav .nav_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.5em;
  }
  .header .nav .nav_list a {
    font-size: 16px;
  }
  .header .nav .nav_entry_btn {
    width: 240px;
  }
  /** -------------------- フッター -------------------- **/
  .footer {
   /* padding-bottom: 40px;*/
  }

  .footer .footer_box {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 20px;
  }
  .footer .footer_box_left {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
  }
  .footer .footer_logo {
    -webkit-column-gap: 10px;
       -moz-column-gap: 10px;
            column-gap: 10px;
			 font-size: 16px;
    width: 40%;
}
 
  .footer .footer_address {
    font-size: 16px;
  }
  
  .foot-txt{
margin: 3% 0 1.25em 6.77%;
font-size: 16px;
}

  /** -------------------- トップページ -------------------- **/
  
  .sasie01{position: absolute;
width: 17.333%;
right: 0%;
top: -9%;}


.sasie02{position: absolute;
width:14.75%;
left: 0;
top: -6%;}

.sasie03{position: absolute;
width: 11%;
right: 0;
top: -6%;}

.sasie04{position: absolute;
width:17.5833%; 
left:0;
bottom: -13%;}

.sasie05{position: absolute;
width:16.333%; 
right: 0;
bottom: -10%;}

.sasie06{position: absolute;
width: 9.666%;
left: 0;
bottom:-35%;
z-index: 50;}

.sasie07{position: absolute;
width: 51.66%;
right: -2%;
bottom: -20%;}

.sec_title {
    font-size: 24px;
	}
  
.sec01-txt {
    font-size: 16px;
	text-align: left;
	line-height: 1.75;
	}
	
.sec02 .sec_title {
    font-size: 20px;}	
	
.sec02-txt-l {
    width: 5%;
    font-size: 16px;	
	}
	
 .sec02-txt-r{
    width: 95%;
    font-size:16px;
	}
	
	.sec02-txt {
    font-size: 16px;
    line-height: 2;
    color: #fff;
    text-align: left;
    margin: 0 0 3% 0;
	}
	
.sec04-i {
    width: 6%;
	}
	
.sec04-txt {
    font-size: 16px;
	}
	
.sec04-q-txt {
    width: 92%;
    font-size: 17px;
	}
	
.sec04-a-txt {
    width: 92%;
    font-size: 17px;
	}
	
.a-txt-s {
    width: 92%;
    font-size: 14px;
	    margin-left: 8%;
	}
	
.sec05 .sec_title {
    font-size:24px;
	}
	
.sec05-intro {
    font-size: 18px;
	text-align: left;
	}
	
.sec05-waku {
    font-size: 14px;	
	}
	
.btn-contact {
    padding: 17% 0 4%;
    width: 80%;
    margin: 0 auto 5%;
}
	
	
.sec05-l {
    width: 20%;
	}
	
.sec05-r {
    width: 80%;
	}
	
#back-top {
display: none;
}
	

  
  #home .section {
    padding: 50px 0 60px;
  }
 
  #home .intro {
    padding: 150px 0 0;
    margin-top: -70px;
  }
  #home .intro:before {
    width: 1000px;
    padding-top: 1000px;
  }
  #home .intro .intro_img {
    position: relative;
    width: 280px;
  }
  #home .intro .intro_box {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  #home .intro .intro_title {
    font-size: 24px;
  }
  #home .intro .intro_txt {
    font-size: 16px;
    line-height: 1.9;
  }
 
 
  /** -------------------- エントリーフォーム -------------------- **/
  #entry {
    /* 確認モーダル */
    /* 完了ページ */
  }
  
.page_title-under .page_title01 {
    font-size: 28px;
	}
  
  
  #entry .entry {
    padding: 30px 0 50px;
  }
  #entry .entry .entry_intro {
    font-size: 16px;
	margin-bottom: 0;
  }
  #entry .entry .entry_box {
    padding: 45px 20px 50px;
  }
  #entry .entry .entry_dl {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    gap: 0;
  }
  #entry .entry .entry_dl dt {
    font-size: 16px;
	text-align: left;
  }
  #entry .entry .entry_dl dd {
    margin-top: 5px;
  }
  #entry .entry .entry_dl dd + dt {
    margin-top: 30px;
  }
  #entry .entry .entry_dl input[type=text], #entry .entry .entry_dl input[type=email], #entry .entry .entry_dl input[type=tel] {
    font-size: 16px;
    padding: 10px;
  }
  #entry .entry .entry_dl textarea {
    font-size: 16px;
    padding: 10px;
    height: 180px !important;
  }
  
  .entry-txt01 {
    margin-left: 0;
    font-size: 14px;
	}
	
.policy-box {
    font-size: 14px;
    margin-bottom: 15%;
}	
  
 #entry .entry .entry_dl dt .req {
    color: #ff0000;
    display: inline-block;
    font-size: 16px;
	}
	

  #entry .mfp_buttons {
    margin-top: 40px;
    row-gap: 20px;
  }
  #entry .mfp_buttons button {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    font-size: 18px;
  }
  #entry .mfp_buttons button[type=reset], #entry .mfp_buttons button#mfp_button_cancel {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #entry .mfp_buttons button#mfp_button_send {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #entry #mfp_overlay_inner {
    width: 90%;
    padding: 30px 15px;
  }
  #entry #mfp_overlay_inner h4 {
    font-size: 18px;
  }
  #entry #mfp_overlay_inner #mfp_confirm_table th, #entry #mfp_overlay_inner #mfp_confirm_table td {
    display: block;
    word-break: break-all;
    text-align: center;
  }
  #entry #mfp_overlay_inner #mfp_confirm_table + .mfp_buttons {
    margin-top: 0;
  }
  #entry .thanks_title {
    font-size: 18px;
  }
  #entry .thanks p {
  font-size: 16px;
    line-height: 1.75;
    text-align: left;
  }
  /** -------------------- 政策提言 -------------------- **/

.page_title-under .page_title02 {
    font-size: 28px;
	}

.plc01-l-1 {
    font-size: 18px;
	}

.plc01-l-2 {
    font-size: 18px;
	}

.plc01-r-1 {
    font-size: 14px;
	}
	

.plc01-r-2 {
    width: 45.454%;
    font-size: 14px;
	}

.plc-waku2-ttl {
    font-size: 24px;
	}

.plc-waku2-txt {
    font-size: 16px;
	text-align: left;
	}
	
.plc01-txt01 {
    text-align: center;
    font-size: 16px;
	}
	
.plc01-txt02 {
    text-align: center;
    font-size: 14px;
	}

.plc01-box2 table td {
    padding: 1% 0;
    font-size: 14px;
}

.plc02-txt {
    text-align: left;
    font-size: 14px;
	}
	
.plc02-ttl {
    font-size: 18px;
	}
	
.plc02-pic {
    width: 40%;
    margin: 3% 30%;
}

.plc02-box-txt1 {
    width: 100%;
    font-size: 14px;
	}
	
.plc02-box2-txt {
    width: 100%;
    font-size: 14px;
	}

.plc02-komi {
    font-size: 16px;
	}
	
.plc02-box2_in-pic {
    width: 40%;
    margin: 3% 25%;
}

.plc02-box2-pic-01 {
    width: 100%;
    padding-top: 0;
}

.plc02-box2_in-txt {
    width: 100%;
    font-size: 14px;
	}
	
.plc02-box2-pic-02 {
    width: 100%;
    padding-top: 0;
}	


.plc02-box2-pic-03 {
    width: 100%;
    padding-top: 0;
}

.plc01-box2 {
    width: 100%;
    margin: 0 auto;
}

plc04-intro {
    font-size: 20px;
	}

.plc04-box {
    margin: 0 0 3% 4.5%;
    font-size: 14px;
    line-height: 2.045;
}

.plc04-komi {
    font-size: 16px;
	}


.plc04-box-txt {
    font-size: 14px;
	}

.akawaku {
    border: 1px solid #ff0000;
    padding: 2%;
    font-size: 15px;
	}

.plc04-komi2 {
    font-size: 16px;
	}

.plc04-intro {
    font-size: 18px;
	}






}
