/* CSS Document */
/********************************************************/
/******** 共通（body,inner,pタグ,imgタグの基本設定） ********/
/*******************************************************/
body p { word-break:break-all;}
.inner { width:95%; max-width:1000px; margin:0 auto;}
.spOnly { display: none;}
.pcOnly { display: block;}
.googleMap iframe { max-width: 100%; }
#page-top { width: 60px; height: 60px; position: fixed; right: 0; bottom: 0; z-index: 3;}
img[src$=".svg"] { width: 100%; height: 100%; object-fit: contain;}
a { text-decoration: none;}
a:hover { opacity: 0.5;}
@media only screen and (max-width:768px){
  body { font-size: 1.4rem;}
  
  .inner { max-width: 90%;}
  .spOnly { display: block;}
  .pcOnly { display: none;}

  .googleMap iframe { max-height: 500px ;}
  img { width: 100%; height: auto;}
  img[src$=".svg"] { width: 100%; height: auto;}
  .column2 { width: 100%; margin: 0 auto;}
  .column3 { width: 100%; margin: 0 auto;}
  .column3 + .column3 { margin-top: 30px;}

}
@media only screen and (max-width:768px){
  .wp-block-columns { margin-bottom: 0!important;}
}

/*inview*/
.fadeIn { opacity: 0; transition: 1s; transform: translate(0, 10%);}
.fadeIn.is-show { opacity: 1; transform: translate(0, 0);}


/**********************/
/****** ヘッダー ******/
/**********************/
.headerNavArea { padding: 20px 30px;}
.headerLogo { width: 250px;}
.headerNav { gap: 1em 4em; max-width: 990px; margin-left: auto; margin-bottom: 10px;}
.headerNav li a { text-decoration-color: #545454; font-size: 1.6rem; font-weight: 700;}
.headerNav li a:hover { text-decoration: underline; text-underline-offset: 10px; text-decoration-color: #545454;}

@media only screen and (max-width:768px){
  .headerNavArea { padding: 20px 80px 20px 20px;}
  .headerLogo { min-width: auto; width: 100%;}
  .headerNav { display: none;}
}

/**********************/
/****** フッター ******/
/**********************/
.footerArea { padding: 50px 0 30px;}
.footerText { margin-top: 20px;}
.footerNavArea { margin-top: 100px; margin-bottom: 50px;}
.footerNavArea ul { display: flex; justify-content: center; gap: 30px;}
.footerNavArea a { font-size: 1.6rem; font-weight: 700;}
.copyright { font-size: 1.2rem; text-align: center;}

@media only screen and (max-width:768px){
  .footerArea { padding: 80px 5% 40px;}
  .footerNavArea { display: none;}
  .footerRight { padding-top: 30px; display: flex; justify-content: center; align-items: center; width: 100%;}
  .footerRight .sns { width: 48%;}
  .copyright { margin-top: 30px;}
}

/**********************/
/****** banner *****/
/**********************/
.banner { border-radius: 10px; box-shadow: 0px 3px 6px rgba(0,0,0,0.16);}
.bannerBox { display: flex; justify-content: flex-start; align-items: center; gap: 30px; flex-wrap: wrap;}
@media only screen and (max-width:768px){
  .banner { width: calc((100% - 60px) / 3);}
}

/**********************/
/****** TOPページ *****/
/**********************/
.cont { padding: 50px 0;}

.topImgArea { position: relative;}
.topRead { position: absolute; top: 50%; transform: translateY(-50%); left: 5%; font-weight: 700; color: #fff; line-height: 1.2; text-shadow: 3px 3px 6px rgba(0,0,0,0.16);}
.topRead .r01 { font-size: 6.0rem;}
.topRead .r02 { font-size: 10.0rem;}
.topRead .r03 { font-size: 13.0rem;}
.topTitle { position: absolute; width: 90%; left: 5%; top: calc(50% + 25px); transform: translateY(-50%); font-size: 3.0rem; font-weight: 900; text-align: right; color: #fff;}
.topTitle::before { content: ""; display: block; width: calc( 100% - 420px); height: 2px; position: absolute; top: 50%; left: 0; transform: translateY(50%); background: #fff;}

.topAboutLeft { width: 500px;}
.topAboutLeft figure { margin-left: -100px;}
.topAboutRight { width: 500px;}
.topAboutTitle { font-size: 2.6rem; font-weight: 700; margin-bottom: 30px;}

.topNewsList ul { display: flex; justify-content: flex-start; gap: 30px; flex-wrap: wrap;}
.topNewsList ul li { width: calc((100% - 60px) / 3); background: #fff; box-shadow: 0px 3px 6px rgba(0,0,0,0.16);}
.topNewsImg { width: 100%; height: 200px;}
.topNewsImg img { width: 100%; height: 100%; object-fit: cover;}
.topNewsTextArea { padding: 10px 20px 20px;}
.topNewsData { font-weight: 700; margin-bottom: 5px;}
.topNewsData .year { font-size: 1.3rem;}
.topNewsTitle { font-weight: 700;}

/*.topMemberTextBox { width: 270px;}
.topMemberImgBox { width: calc(100% - 300px);}*/
.topMemberBox { gap: 100px;}

.topMagazineBox { gap: 30px;}

.topBackArea { background: url(images/top-backarea.jpg); background-size: cover;}
.topAnotherItem { width: 48%; background: #fff; padding: 20px 20px 10px;}
.topAnotherText { margin-bottom: 20px;}
@media only screen and (max-width:768px){
  .topImg { width: 100%; height: 400px;}
  .topImg img { width: 100%; height: 100%; object-fit: cover;}
  .topRead { top: 35%;}
  .topRead .r01 { font-size: 3.5rem;}
  .topRead .r02 { font-size: 4.5rem;}
  .topRead .r03 { font-size: 5.5rem;}
  .topTitle { font-size: 2.5rem; top: auto; bottom: 10px; text-align: left;}
  .topAboutLeft { width: 100%;}
  .topAboutLeft figure { margin-left: 0;}
  .topAboutRight { width: 100%; margin-top: 20px;}
  .topAboutTitle { font-size: 2.2rem;}

  .topNewsList ul li { width: 100%;}

  /*.topMemberTextBox { width: 100%;}
  .topMemberImgBox { width: 100%;}*/

  .topAnotherItem { width: 100%;}
  .topAnotherItem + .topAnotherItem { margin-top: 20px;}

}

/*add TOP*/
.hotLineArea { padding-top: 50px;}
.hotLine { width: 750px; margin: 0 auto;}
.hotLine a { display: block; width: 100%; background: #b80000; color: #fff; font-size: 1.8rem; font-weight: 700; padding: 10px; text-align: center; border: double 4px #fff;}
@media only screen and (max-width:768px){
  .hotLine { width: 90%;}
}
.snsArea { display: flex; justify-content: center; gap: 20px;}
.snsBox { width: 120px; text-align: center;}
.snsBox figure { width: 80px; height: 80px; margin: 0 auto;}
.snsBox figure img { width: 100%; height: 100%; object-fit: contain;}
.snsBox p { font-size: 1.6rem; font-weight: 700;}



/**********************/
/****** 中ページ *****/
/**********************/

/*ページ共通パーツ*/
.pageTitleArea { background-image: url(images/header-back.jpg); background-repeat: no-repeat; background-size: cover; background-position: center; padding: 60px 0;}
.pageTitle { font-size: 3.0rem; font-weight: 700; color: #fff; text-align: center; text-shadow: 3px 3px 6px rgba(0,0,0,0.16);}
.pageNavArea { background: #A10505; padding: 15px 0;}
.pageNavArea.noNav { padding: 28px 0;}
.pageNav { display: flex; justify-content: center; align-self: center; gap: 110px;}
.pageNav a { font-size: 1.8rem; color: #fff;}

.breadcrumbs { margin: 10px auto;}
.breadcrumbs span { font-size: 1.4rem;}
.breadcrumbs a { text-decoration: underline;}
.breadcrumbs a:hover { text-decoration: none;}

.pageContent { margin-top: 50px;}

.oneBox { width: 70%;}
@media only screen and (max-width:768px){
  .pageTitle { font-size: 2.4rem;}
  .pageNav { gap: 20px;}
  .pageNav a { font-size: 1.4rem;}
}

/*会長挨拶*/
.greetingTextArea { align-self: center;}
.greetingSub { font-size: 1.8rem; font-weight: 700;}
.greetingRead { font-size: 2.6rem; font-weight: 700;}
.greetingDay { margin: 20px 0 0;}
.greetingPosition { width: auto; align-self: flex-end; flex-grow: 0!important;}
.greetingName { width: auto;}
.greetingName p { font-size: 2.0rem;}
@media only screen and (max-width:768px){
  .greetingDay { margin-bottom: 5px; text-align: right;}
  .greetingFlex { gap: 5px;}
  .greetingPosition { text-align: right;}
  .greetingName { text-align: right;}
}

/*理念・綱領*/
.platformMessage { width: 560px; margin: 0 auto;}
.platformMessage p { line-height: 1.8;}
.platformMessage p + p { margin-top: 20px;}

.platformArea > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 30px 37px;}
.platformItem { width: 46%; background: #fff; padding:  20px; box-shadow: 5px 5px 0 #D9D9D8;}
.platformItemTitle { font-size: 2.0rem; font-weight: 700; color: #A10505;}
.platformItemText { margin-top: 10px;}
@media only screen and (max-width:768px){
  .platformMessage { width: 100%;}
  .platformItem { width: 100%;}
}

/*組織構成*/
.organizationBlock { width: 700px; margin: 50px auto;}
.organizationItem { margin-bottom: 20px; border-bottom: dashed 1px #999;}
.organizationItem > div { display: flex; justify-content: flex-start; gap: 1em; align-items: flex-end;}
.organizationItem .organizationPosition { width: 8em; font-weight: 700;}
.organizationItem .organizationName { width: calc(100% - 9em); font-size: 2.0rem;}
.organizationName.names { display: flex; justify-content: flex-start; gap: 0 1em; flex-wrap: wrap;}
@media only screen and (max-width:768px){
  .organizationBlock { width: 100%;}
  .organizationName.names span { width: 100%;}
}

/*議員*/
.memberBox > div { display: flex; justify-content: flex-start; gap: 30px 50px; flex-wrap: wrap;}
.memberItem { width: calc((100% - 150px) / 4);}
.memberItemImg { width: 90px;}
.memberItemImg figure { border-radius: 100%; border: solid 2px #A10505; overflow: hidden;}
.memberItemText { width: calc( 100% - 95px);}
.memberItemConstituency { font-size: 1.2rem;}
.memberItemName { font-size: 2.0rem; font-weight: 700; margin-bottom: 5px;}
.memberItemlink { font-size: 1.4rem; text-decoration: underline;}
.memberItemlink:hover { text-decoration: none;}
@media only screen and (max-width:768px){
  .memberItem { width: calc((100% - 50px) / 2); gap: 10px;}
  .memberItem.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column { flex-basis: auto !important; flex-grow: 0;}
  .memberItemImg { width: 120px; height: 120px; margin: 0 auto!important;}
  .memberItemText { width: 100%; text-align: center;}
}

/*機関誌*/
.magazineImg { width: 500px; text-align: center; margin: 0 auto 20px!important;}
.magazineContents { width: 700px; margin: 20px auto;}
.magazineInfo { width: 700px; margin: 20px auto 0; border: solid 2px #aaa; padding: 10px 15px; border-radius: 5px;}
.magazineContact { text-align: center;}
@media only screen and (max-width:768px){
  .magazineContents { width: 100%;}
  .magazineInfo { width: 100%;}
  .magazineImg { width: 100%;}
  .magazineImg img { width: auto;}
  .magazineContact { text-align: left;}
}

/*入党案内*/
.joinItem { margin-bottom: 40px;}
.joinItemLeft { width: 25%; display: flex; justify-content: center; align-items: center; background: #A10505;}
.joinItemLeft p { font-size: 2.6rem; font-weight: 700; color: #fff;}
.joinItemRight { width: 75%;}
.joinItemTitle { font-size: 1.8rem; font-weight: 700; padding: 5px 10px; border-bottom: solid 2px #A10505;}
.joinItemText { margin: 10px 0 10px 10px;}
.joinBox { width: 700px; margin: 0 auto;}
.joinPrice { font-size: 2.4rem; font-weight: 700;}
.joinPrice span { font-size: 1.4rem; font-weight: 500;}
.joinSub { font-weight: 700; margin-top: 20px; margin-bottom: 5px;}
@media only screen and (max-width:768px){
  .joinBox { width: 100%;}
  .joinItem { gap: 10px;}
  .joinItemLeft p { font-size: 2.0rem; padding: 10px 0;}
  .joinItemRight { margin-bottom: 30px!important;}
}

/*form共通css*/
.formItem { display: flex; justify-content: flex-start; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 20px;}
.formItem dt p { font-weight: 700;}
.formBirthday input { width: 70px; text-align: right; margin: 0 5px;}
.formBirthday dd p span:nth-child(1) input { margin-left: 0;}
.formAge input { width: 50px; text-align: right; margin-right: 5px;}
.formBtn { text-align: center;}
.formBtn input { background: #A10505; color: #fff; border-radius: 50px;}
.formBtn .wpcf7-spinner { display: block; margin: 0 auto;}
.wpcf7-email { width: 100%;}
.wpcf7-tel { width: 100%;}
.wpcf7-response-output { font-size: 1.6rem;}
@media only screen and (max-width:768px){
  .wpcf7-email { width: 100%;}
  .wpcf7-tel { width: 100%;}
  .wpcf7-response-output { font-size: 1.4rem;}
}

/*サポーターズクラブ*/
.supporterBox { width: 700px; margin: 0 auto;}
.supporterFormArea { width: 700px; margin: 30px auto;}
.supporterFormItem dt { width: 100px;}
.supporterFormItem dd { width: calc(100% - 120px);}
@media only screen and (max-width:768px){
  .supporterBox { width: 100%;}
  .supporterFormArea { width: 100%;}
  .supporterFormItem dt { width: 100%;}
  .supporterFormItem dd { width: 100%;}
}

/*ご意見*/
.contactBox { width: 700px; margin: 0 auto;}
.contactFormArea { width: 700px; margin: 0 auto;}
.contactFormItem dt { width: 120px;}
.contactFormItem dd { width: calc(100% - 140px);}
.formTitle dt { width: 100%;}
.formTitle dd { width: 100%;}
.formContacts dt { width: 100%;}
.formContacts dd { width: 100%;}
.formContacts dd span { font-size: 1.4rem;}
@media only screen and (max-width:768px){
  .contactBox { width: 100%;}
  .contactFormArea { width: 100%;}
  .contactFormItem dt { width: 100%;}
  .contactFormItem dd { width: 100%;}
}

/*TOPICS*/
.newsList li {background: #fff; box-shadow: 0px 3px 6px rgba(0,0,0,0.16); margin-bottom: 30px;}
.newsList a { display: flex; justify-content: flex-start; align-items: center;}
.newsImg { width: 310px; height: 200px;}
.newsImg img { width: 100%; height: 100%; object-fit: cover;}
.newsTextArea { width: calc(100% - 310px); padding: 10px 20px 20px;}
.newsData { font-weight: 700; margin-bottom: 5px;}
.newsData .year { font-size: 1.3rem;}
.newsTitle { font-weight: 700;}
/*詳細*/
.newsCont { margin: 30px auto;}
.newsCont .wp-block-image { margin: 30px auto!important;}
.newsCont h3 { font-size: 2.6rem; font-weight: 700; text-align: center; position: relative; padding-bottom: 20px; margin: 70px 0;}
.newsCont h3::after { content: ""; display: block; width: 70px; height: 2px; background-color: #A10505; position: absolute; bottom: -2px; left: 50%; transform: translateX(-50%);}
.newsCont p { line-height: 1.7;}
.newsCont img:is([sizes=auto i],[sizes^="auto," i]) { contain-intrinsic-size: 768px auto;}
/*ページネーション*/
.pagenation { margin-bottom: 80px;}
.wp-pagenavi { clear: none; display: flex; justify-content: center; align-items: flex-end; flex-wrap: wrap;}
.wp-pagenavi a, .wp-pagenavi span { padding: 5px 15px!important; border-color: #A10505!important;}
.wp-pagenavi span.current ,.wp-pagenavi a { text-align: center;}
.wp-pagenavi span.current { color: #fff; background: #A10505; border-color: #A10505!important; font-weight: normal!important;}
.wp-pagenavi span { font-size: 1.6rem;  text-decoration: none; border: 1px solid #A10505; padding: 3px 5px; margin: 2px;}

@media only screen and (max-width:768px){
  .newsImg { width: 40%; height: 150px;}
  .newsTextArea { width: 60%;}

  .newsCont h3 { font-size: 2.2rem; margin: 40px 0;}
  .newsCont h3::after { width: 40px;}
}

/*プライバシーポリシー*/
.privacyBox { padding-left: 2em;}
.privacyList { list-style: disc; padding-left: 7em; margin-top: 20px;}
.privacyList li { font-size: 1.6rem; margin-bottom: 5px; font-weight: 500;}
.privacyContact { width: 50%; margin: 0 auto;}
@media only screen and (max-width:768px){
  .privacyBox { padding-left: 0;}
  .privacyList { padding-left: 3em;}
  .privacyContact { width: 100%;}
}