@charset "utf-8";
/* ===========================================================
 *
 * きびるLP スタイルシート
 * Last UpDate : 2026/04/17
 *
=========================================================== */

/* ----------------------------------------------------------
	style.css
---------------------------------------------------------- */
/* zen-maru-gothic-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Maru Gothic';
  font-style: normal;
  font-weight: 400;
  src: url('zen-maru-gothic-v19-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-maru-gothic-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Maru Gothic';
  font-style: normal;
  font-weight: 500;
  src: url('zen-maru-gothic-v19-japanese-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-maru-gothic-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Maru Gothic';
  font-style: normal;
  font-weight: 700;
  src: url('zen-maru-gothic-v19-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ----------------------------------------------------------
 common
---------------------------------------------------------- */

html{ font-size: 62.5%; scroll-behavior: smooth; scroll-padding-top: 20px; }
body {
	color: #555;
	background-color: #fff;
	font-family: 'Zen Maru Gothic',"Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 1px;
	font-feature-settings: "palt";
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0;
	padding-top: 80px;
}

body.fontb{ font-family: 'Noto Sans JP'; }
body.fontc{ font-family: 'Noto Serif JP'; }


/*
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .h2Wrap{ line-height: 1.7 !important; }

}
*/


.mb0{ margin-bottom: 0 !important; }
.mt40{ margin-top: 40px !important; }

/* a.anker{ display: block; padding-top: 100px; margin-top: -100px; } */

:root{
	--main-color: #23be40;
	--second-color: #4ba371;
}

strong{ font-weight: bold !important; }


/* 非表示用 */
.noneSP		{ display: none !important; }
/* ----------------------------------------------------------
 link
---------------------------------------------------------- */
a:link		{ color: #333; text-decoration: none; }
a:visited	{ color: #333; text-decoration: none; }
a:hover		{ color: var(--main-color); text-decoration: none; }
a:active	{ color: var(--main-color); text-decoration: none; }

a { transition: 0.5s ease-in-out; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ }

.header_logo_sec{ position: absolute; left: 0; top: 0; width: 120px; height: 120px; background-color: #f5f5f5; border-radius: 0 0 15px 0; }

.header_logo{ position: relative; padding: 20px; }
.header_logo img{ width: 100%; height: auto; max-width: 118px; max-height: 113px; }
.header_logo a:hover{ opacity: .6; }

.header_tit{ position: absolute; left: 130px; top: 40px; font-size: 1.8rem; }



#navArea nav{
	position: fixed;
	top: 0;
	right: -1000px;
	bottom: 0;
	width: 80%;
	background: #fff;
	overflow-x: hidden;
	overflow-y: auto;
	transition: all 0.3s;
	z-index: 3;
	opacity: 0;
}
#navArea.open nav{ right: 0; opacity: 1;  z-index: 99; }
#navArea  nav .inner{ padding: 25px; }
#navArea nav .inner ul{ list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
#navArea nav .inner ul.header_sns_list{ display: block; }
#navArea nav .inner ul li{ position: relative; margin: 0; }
#navArea nav .inner ul li a{ display: block; color: #333; font-size: 1.8rem; font-weight: 700; text-decoration: none; transition-duration: 0.2s; flex-wrap: wrap; }
.toggle_btn {
    display: block;
    position: fixed;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
	background-color: #96be23;
    transition: all .3s;
    cursor: pointer;
    z-index: 3;
	border-radius: 5px;
	z-index: 999;
  }
  .toggle_btn span {
    position: absolute;
    left: 10px;
    width: 30px;
    height: 3px;
    background-color: #fff;
    border-radius: 4px;
    transition: all 0.3s;
}
.toggle_btn span:nth-child(1){ top: 12px; }
.toggle_btn span:nth-child(2){ top: 23px; }
.toggle_btn span:nth-child(3){ bottom: 13px; }
.open .toggle_btn span{ background-color: #fff; }
.open .toggle_btn span:nth-child(1){ transform: translateY(10px) rotate(-45deg); }
.open .toggle_btn span:nth-child(2){ opacity: 0; }
.open .toggle_btn span:nth-child(3){ transform: translateY(-10px) rotate(45deg); }
#mask{ display: none; transition: all .3s; }
.open #mask{ display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.5; z-index: 2; cursor: pointer; }
#menu-content{ display: none; border-top: 1px solid #ccc; }
#navArea.open #menu-content{ display: block;  }
#menu-content > li{ width: 100%; margin-bottom: 15px; }
#menu-content > li:hover{ background: none; }
#menu-content > li > a{ padding: 15px 10px; font-weight: 700; font-size: 1.6rem; border-bottom: 1px solid #ccc; line-height: normal !important; text-align: left; }
#menu-content > li > ul.second-content{ visibility: visible; opacity: 1; width: 100%; position: relative; box-shadow: none; margin-top: 10px; margin-left: 20px; }
.open #menu-content > li > ul.second-content{ position: relative; }
#menu-content > li > ul.second-content > li{ width: 100%; text-align-last: left; }
#menu-content > li > ul.second-content > li > a{ padding-left: 15px; font-size: 1.4rem; line-height: 1.3; position: relative; text-align: left;  }
#menu-content > li > ul.second-content > li > a:hover{ background: none; }
#menu-content > li > ul.second-content > li > a:before{ content: ''; width: 4px; height: 4px; border-top: solid 1px var(--main-color); border-right: solid 1px var(--main-color); position: absolute; left: 0px; top: 16px; transform: rotate(45deg); }






/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
footer{ width: 100%; background: url("../images/bg_footer01.jpg") no-repeat; background-size: cover; padding: 40px 0 10px 0; }

.footer_tit{ width: 90%; font-size: 2rem; font-weight: 700; text-align: center; letter-spacing: 2px; line-height: 1.6; margin: 0 auto 20px auto; }

.footer_img{ width: 90%; text-align: center; margin: 0 auto 30px auto; }
.footer_img img{ width: 100%; height: auto; border-radius: 15px; }

.footer_logo{ text-align: center; margin: 40px auto 20px auto; }
.footer_info{ text-align: center; color: #777; font-weight: 500; }
.footer_info p{ font-size: 2rem; font-weight: 500; }
.footer_info span{ display: block; font-size: 1.5rem; }
.footer_copyright{ font-size: 1.2rem; color: #777; text-align: center; margin: 20px 0; }


/*
.btm_menu{ position: fixed; bottom: -90px; left: 0; right: 0; width: 100%; margin: 0 auto; z-index: 99; background: var(--second-color); padding: 10px 0 5px 0; border-top: 2px solid #fff; }
.btm_menu_list{ display: flex; justify-content: space-between; }
.btm_menu_item{ flex: 1; border-right: 2px solid #fff; text-align: center; }
.btm_menu_item:last-child{ border-right: none; }
.btm_menu_item a{ display: block; text-align: center; font-size: 1.7rem; font-weight: 700; color: #fff; padding: 10px 10px; }
.btm_menu_item a i{ font-size: 2.2rem; margin-right: 5px; }
*/

/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.lp_page_h1{ position: absolute; left: 130px; top: 80px; }
.lp_page_h1 h1{ font-size: 2.2rem; font-weight: 700; color: #2a9646; }


h2{ color: var(--main-color); font-size: 1.9rem; font-weight: 700; line-height: 1.4; margin-bottom: 20px; }

.lp_sec02 h2{ text-align: center; color: #23be4b; font-size: 1.8rem; font-weight: 700; margin-bottom: 20px; }
.lp_sec02 h3{ text-align: center; color: #555; font-size: 1.7rem; font-weight: 700; margin-bottom: 20px; }


/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.top_img{ width: 90%; max-width: 1200px; margin: 20px auto 30px auto; }
.top_img img{ width: 100%; height: auto; border-radius: 10px; }

.contents{ width: 90%; max-width: 900px; margin: 0 auto; }
.contents p{ font-size: 1.6rem; letter-spacing: 2px; line-height: 1.6; margin-bottom: 30px; }

.lp_main{ width: 90%; max-width: 900px; margin: 100px auto 100px auto; }

.kifu_sec{ background-color: #96be23; padding: 30px 0 20px 0; margin-bottom: 30px; }
.kifu_sec_tit{ font-size: 2rem; color: #fff; font-weight: 700; text-align: center; margin-bottom: 20px; }
.kifu_sec_list{ width: 90%; display: flex; justify-content: center; flex-wrap: wrap; margin: 0 auto 10px auto; }
.kifu_sec_item{ flex-basis: 100%; margin: 0 10px 20px 10px; }
.kifu_sec_item a{ display: block; font-size: 1.8rem; font-weight: 700; color: #96be23; background-color: #fff; padding: 15px 30px; border-radius: 40px; border: 2px solid #fff; }
.kifu_sec_item a:hover{ background-color: #96be23; color: #fff; }
.kifu_sec_item i{ margin-right: 10px; }
.kifu_sec p{ text-align: center; font-size: 1.6rem; color: #fff; }


.ul_list{ margin-bottom: 30px; }
.ul_item{ position: relative; font-size: 1.8rem; font-weight: 500; color: #3fc456; padding-left: 20px; margin-bottom: 5px; } 
.ul_item:before{ content: ""; display: block; position: absolute; top: 10px; left: 0; width: 10px; height: 10px; border-radius: 100%; background-color: #96be23; } 


.lp_img{ width: 90%; max-width: 780px; margin: 0 auto 20px auto; }
.lp_img img{ width: 100%; height: auto; border-radius: 15px; }

.daijoubu_sec{
  background:
    linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0.2) 25%, rgba(255,255,255,0) 45%),
    url("../images/bg_daijoubu01.jpg") no-repeat center top;
  background-size: cover;
  background-position: center top;
  padding: 80px 0 40px 0;
}
.daijoubu_sec p{ width: 90%; max-width: 900px; margin: 0 auto; color: #d75755; font-size: 2rem; font-weight: 700; line-height: 1.8; text-align: center;  }



.lp_sec02{ background-color: #f4f8e9; padding: 40px 0; margin-bottom: 40px; }
.lp_sec02mb0{ margin-bottom: 0; }
.lp_sec02 p{ width: 90%; max-width: 900px; margin: 0 auto 30px auto; font-size: 1.6rem; text-align: center; line-height: 1.5; }


.torikumi_list{ width: 90%; max-width: 1090px; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.torikumi_item{ flex-basis: 48%; text-align: center; margin-bottom: 30px; }
.torikumi_img01{ margin-bottom: 10px; }
.torikumi_img01 img{ width: 100%; height: auto; border-radius: 15px; }
.torikumi_tit01{ font-size: 1.9rem; font-weight: 700; margin-bottom: 10px; }
.torikumi_txt01{ font-size: 1.5rem; line-height: 1.5; min-height: auto; text-align: left; margin-bottom: 30px; }

.works_sec{ position: relative; background-color: #fff; border-radius: 15px; padding: 30px 20px 20px 20px; }
.works_sec_tit{ position: absolute; top: -15px; left: 0; right: 0; margin: 0 auto; width: 140px; background-color: #24be4c; text-align: center; font-size: 1.8rem; color: #fff; font-weight: 700; padding: 5px; line-height: 1; border-radius: 30px; }
.works_sec_txt{ font-size: 1.5rem; line-height: 1.5; text-align: left; }
.works_sec_txt span{ background-color: #fff47b; }



.goshien_sec{ text-align: center; }
.goshien_sec h2{ color: #d75755; font-size: 1.9rem; }
.goshien_sec h3{ color: #3fc456; font-size: 1.8rem; font-weight: 700; margin-bottom: 10px; }
.goshien_sec p{ width: 96%; margin: 0 auto; font-size: 1.6rem; font-weight: 500; letter-spacing: 2px; line-height: 1.6; }

.plan_sec{ width: 90%; max-width: 900px; margin: 30px auto; background-color: #fbebeb; padding: 30px; border-radius: 15px; }
.plan_sec h3{ font-size: 3rem; color: #555; }
.plan_list{ display: flex; justify-content: center; flex-wrap: wrap; }
.plan_item{ flex-basis: 100%; margin: 0 1% 20px 1%; }
.plan_item a{ display: block; font-size: 2rem; color: #fff; font-weight: 500; background-color: #96be23; padding: 10px; border: 2px solid #96be23; border-radius: 40px; }
.plan_item:last-child a{ background-color: #d75755; border: 2px solid #d75755;}
.plan_item a:hover{ background-color: #fff; color: #96be23; }
.plan_item:last-child a:hover{ background-color: #fff; color: #d75755; }

.plan_sec_list{ width: 90%; max-width: 900px; margin: 0 auto 40px auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.plan_sec_item{ flex-basis: 100%; background-color: #fbebeb; padding: 30px 20px; border-radius: 15px; margin-bottom: 20px; }
.plan_sec_item h3{ font-size: 1.8rem; color: #555; }
.plan_sec_item ul{ margin-left: 30px; }
.plan_sec_item ul li{ font-size: 1.6rem; list-style-type: disc; text-align: left; }


.voice_list{ width: 90%; max-width: 900px; margin: 0 auto; }
.voice_item{ background-color: #fff; padding: 20px; margin-bottom: 30px; }
.voice_sec_tit{ display: flex; align-items: center; margin-bottom: 10px; }
.voice_sec_ico01{ margin-right: 20px; }
.voice_sec_ico01 img{ width: 60px; height: 60px; border-radius: 100%; }
.voice_sec_tit h3{ font-size: 1.9rem; color: #96be23; margin-bottom: 0; }
.voice_sec_txt{ text-align: left; }
.voice_sec_txt h4{ font-size: 1.8rem; font-weight: 700; margin-bottom: 20px; }
.voice_sec_txt p{ width: auto; text-align: left; font-size: 1.8rem; margin-bottom: 10px; }
.voice_sec_txt01{ font-size: 1.6rem; font-weight: 500; }

.voice_sec{ width: 90%; max-width: 900px; margin: 0 auto 60px auto; }
.voice_sec h2{ font-size: 1.9rem; text-align: center; font-weight: 700; }
.voice_sec_list{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.voice_sec_item{ flex-basis: 48%; margin-bottom: 30px; background-color: #f4f8e9; padding: 15px; border-radius: 15px; }
.voice_sec_info{ font-size: 1.6rem; font-weight: 500; margin-bottom: 10px; }
.voice_sec_item p{ font-size: 1.5rem; }


.voice_sec02_list{ }
.voice_sec02_item{ margin-bottom: 30px; background-color: #f4f8e9; padding: 30px; border-radius: 15px; }



/* よくある質問 */
.faq_sec{ background-color: #f0f0f0; padding: 40px 0; margin-bottom: 60px; }
.faq_sec h2{ font-size: 2rem; text-align: center; font-weight: 700; }

.faq_list{margin: 0 auto 50px; font-weight: 700; font-style: normal; max-width: 1000px;}
.faq_list_item{background-color: #fff; border: 1px solid #f0f4e5; width: 90%; margin: 0 auto 20px auto; transition: .5s;}

.faq_question{ display: flex; gap: 40px; cursor: pointer; position: relative; padding: 15px 40px 15px 50px; }
.faq_question::before{content: "Q."; position: absolute; left: 15px; top: 12px; font-size: 2.5rem; transition: .5s;}
.faq_question_txt{font-weight: 500; font-size: 1.6rem; color: #333; transition: .5s;}

.faq_answer{background-color: #fff; padding: 15px 20px 15px 50px;  display: none; font-size: 1.6rem; font-weight: 500; line-height: 3rem; position: relative;}
.faq_answer::before{content: "A."; color: #96be23; position: absolute; left: 15px; top: 12px; font-size: 2.5rem;}
.faq_answer a{color: #0693e3; text-decoration: underline; font-weight: 700;}

.faq_list_item.open{background-color: #96be23; border: 1px solid #96be23; transition: .5s;}
.faq_list_item.open .faq_question_txt{color: #fff; transition: .5s;}
.faq_list_item.open .faq_question::before{color: #fff; transition: .5s;}
.faq_list_item .faq_answer { display: none;}
.faq_list_item.open .faq_answer { display: block; }

/* 親に相対位置を指定（右端に絶対配置するため） */
.faq_question {
  position: relative;
  padding-right: 32px; /* アイコン分の余白を確保 */
}

/* アイコン本体 */
.faq_question_icon {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  background-color: #d05e6b;
  padding: 5px;
  border-radius: 100%;
}

/* 横線（共通） */
.faq_question_icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  background: #fff;
  transform: translate(-50%, -50%);
}

/* 縦線（+の時だけ表示） */
.faq_question_icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 10px;
  background: #fff;
  transform: translate(-50%, -50%);
}

/* 開いたら「-」にする（縦線を非表示） */
.faq_list_item.open .faq_question_icon::after {
  display: none;
}


.about_sec{ width: 90%; max-width: 900px; margin: 0 auto 60px auto; margin-bottom: 40px; }
.about_sec h2{ font-size: 2rem; text-align: center; font-weight: 700; }

.about_sec_img01{ width: 165px; margin: 0 auto 30px auto; }
.about_sec_img01 img{ width: 100%; height: auto; }
.about_sec p{ font-size: 1.6rem; letter-spacing: 1px; line-height: 1.6; }

.about_list{ display: flex; justify-content: center; margin-bottom: 40px; }
.about_item{ margin: 0 1%; }
.about_item img{ width: 100%; height: auto; }

.about_sec p span{ background-color: #f8d7e2; }



.profile_sec{ width: 90%; max-width: 900px; margin: 0 auto 80px auto; }
.profile_sec h2{ font-size: 2rem; text-align: center; font-weight: 700; }

.profile_sec_list{ width: 90%; display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0 auto 30px auto; }
.profile_sec_item:first-child{ flex-basis: 100%; }
.profile_sec_item:last-child{ flex-basis: 100%; }
.profile_sec_name01{ text-align: center; }
.profile_sec_name01 span{ font-size: 1.5rem; font-weight: 700; }
.profile_sec_name01 p{ font-size: 2.2rem; font-weight: 700; margin-bottom: 10px; }
.profile_sec_img01{}
.profile_sec_img01 img{ border-radius: 15px; }
.profile_sec_txt01{ margin-top: 30px; font-size: 1.6rem; letter-spacing: 2px; line-height: 1.7; }


.about_sec .plan_item a{ text-align: center; }


.lpform_main{ width: 90%; max-width: 900px; margin: 80px auto 100px auto; }
.lpform_main p{ margin-bottom: 20px; }

.kifuform_sec{}
.kifuform_sec h2{ background-color: #f4f8e9; color: #2b9847; border-radius: 10px; text-align: center; padding: 10px; }

/* 金額選択全体 */
.kingaku_sec{ margin-bottom: 20px; }
.kingaku_sec .wpcf7-form-control-wrap{ display: block; }
.kingaku_sec .support-price{ display: flex;	flex-wrap: wrap; gap: 12px; }

/* 各項目 */
.kingaku_sec .support-price .wpcf7-list-item{ margin: 0; }
/* labelをボタン化 */
.kingaku_sec .support-price .wpcf7-list-item label{ display: block; cursor: pointer; }

/* ラジオボタン本体を非表示 */
.kingaku_sec .support-price .wpcf7-list-item input[type="radio"]{ position: absolute; opacity: 0; pointer-events: none; }

/* テキスト部分をボタン風に */
.kingaku_sec .support-price .wpcf7-list-item-label{ display: block; color: #2b9847; font-weight: 700; padding: 10px 20px; border: 1px solid #2b9847;	border-radius: 5px;	background: #e9ecde; transition: .3s; }

/* ホバー */
.kingaku_sec .support-price .wpcf7-list-item label:hover .wpcf7-list-item-label{ background: #2b9847; color: #fff; }

/* 選択時 */
.kingaku_sec .support-price .wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label{ background: #2b9847; boder-color: #2b9847; color: #fff; }

/* チェックボックス */
.wpcf7-checkbox input[type="checkbox"]{ appearance: none; -webkit-appearance: none; width: 25px; height: 25px; border: 2px solid #ccc; border-radius: 0px; background: #f5f5f5; vertical-align: middle; margin-right: 8px; position: relative; cursor: pointer; flex-shrink: 0; }
.wpcf7-checkbox input[type="checkbox"]:checked{ background: #ccc; border-color: #ccc; }
.wpcf7-checkbox input[type="checkbox"]:checked::after{ content: ""; position: absolute; left: 6px; top: 2px; width: 6px; height: 12px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.wpcf7-checkbox .wpcf7-list-item-label{ cursor: pointer; }
.wpcf7-checkbox .wpcf7-list-item label{ display: flex; align-items: flex-start; gap: 8px; }

.donation_form_sec{}
.contact_item{ margin-bottom: 20px; }
.contact_essential{}
.contact_tit{ position: relative; font-size: 1.6rem; font-weight: 700; }
.contact_tit p{ margin-bottom: 5px; }
.contact_tit span{ display: inline-block; background-color: #ffe6e6; color: #E02E30 !important; border: 1px solid #E02E30; padding: 3px 5px; font-size: 1.1rem; line-height: 1; border-radius: 40px; margin-right: 10px; }
.contact_txt input[type="text"],
.contact_txt input[type="tel"],
.contact_txt input[type="email"]{ width: 90%; padding: 10px; border: 1px solid #ccc; background-color: #f5f5f5; border-radius: 5px; font-size: 1.8rem; font-family: 'Zen Maru Gothic'; }
.contact_adress input[type="text"],
.contact_adress input[type="tel"]{ width: 90%; padding: 10px; border: 1px solid #ccc; background-color: #f5f5f5; border-radius: 5px; margin-bottom: 5px; font-size: 1.8rem; font-family: 'Zen Maru Gothic'; }

.kingaku_sec .contact_txt input[name="other-price"]{ width: 70%; max-width: 70%; padding: 10px; border: 1px solid #ccc; background-color: #f5f5f5; border-radius: 5px; font-size: 1.8rem; font-family: 'Zen Maru Gothic'; box-sizing: border-box; }

.contact_submit_btn{ margin: 30px auto 0 auto; text-align: center; }
.contact_submit_btn p{ display: flex; justify-content: center; align-items: center; gap: 16px; flex-wrap: wrap; position: relative; }
.contact_submit_btn input{ min-width: 200px; font-size: 2rem; background: #2b9847; color: #fff; border: 1px solid #2b9847; padding: 10px 24px; border-radius: 5px; font-family: 'Zen Maru Gothic'; font-weight: 700; letter-spacing: 3px; line-height: 1.4; appearance: none; cursor: pointer; }
.contact_submit_btn .wpcf7-spinner{ display: none; }

input.back_button{ min-width: 200px; font-size: 1.8rem; background: #fff; color: #2b9847; border: 1px solid #2b9847; padding: 10px 15px; border-radius: 5px; font-family: 'Zen Maru Gothic'; font-weight: 700; letter-spacing: 3px; line-height: 1.4; appearance: none; cursor: pointer; }


.confirm_area .contact_txt span{ display: block; padding: 10px; border: 1px solid #ccc; background-color: #f5f5f5; border-radius: 5px; font-size: 1.8rem; font-family: 'Zen Maru Gothic'; box-sizing: border-box; word-break: break-word; }
.wpcf7-not-valid{ border-color: #E02E30 !important; }
.wpcf7-not-valid-tip{ display: block; color: #E02E30; font-size: 1.3rem; margin-top: 6px; }



/* ----------------------------------------------------------
 TAB CSS
---------------------------------------------------------- */
@media screen and (min-width: 521px){

img,video {
  max-width: 100%;
  height: auto;
}

/* フォントサイズ10px=62.5% */
html{ font-size: 50%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; padding-top: 0; }

/* 非表示用 */
.noneTAB		{ display: none !important; }
.noneSP{ display: block !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */





/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */

	
/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */




/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.lpform_main{ margin: 100px auto 100px auto; }
	
.kifuform_sec{ max-width: 100%; margin: 0 auto; }
.kifuform_sec h2{ font-size: 2.8rem; padding: 14px; margin-bottom: 25px; }
.kingaku_sec{ margin-bottom: 30px; }
.kingaku_sec .support-price{ gap: 16px; }
.kingaku_sec .support-price .wpcf7-list-item-label{ min-width: 100px; text-align: center; padding: 10px 20px; font-size: 2rem; }
.wpcf7-checkbox input[type="checkbox"]{ width: 30px; height: 30px; margin-right: 10px; }
.wpcf7-checkbox input[type="checkbox"]:checked::after{ left: 7px; top: 2px; width: 8px; height: 15px; }
.wpcf7-checkbox .wpcf7-list-item label{ gap: 10px; }
.wpcf7-checkbox .wpcf7-list-item-label{ font-size: 1.8rem; line-height: 1.8; }
.donation_form_sec{ width: 90%; margin: 30px auto 0 auto; }
.contact_item{ margin-bottom: 28px; }
.contact_tit{ font-size: 2rem; margin-bottom: 8px; }
.contact_tit span{ font-size: 1.3rem; padding: 4px 8px; margin-right: 12px; }
.contact_txt input{ width: 90%; max-width: auto; padding: 14px; font-size: 1.8rem; }
.contact_adress input{ width: 90%; max-width: auto; padding: 14px; font-size: 1.8rem; }
.contact_submit_btn{ margin: 50px auto 0 auto; }
.contact_submit_btn input[type="submit"]{ min-width: 320px; padding: 16px 30px; font-size: 2.2rem; transition: .3s; }
.contact_submit_btn input[type="submit"]:hover{ opacity: .85; }

.radio_kubun{ margin-top: 8px; }
.radio_kubun .wpcf7-radio{ display: flex; align-items: center; gap: 10px; }
.radio_kubun .wpcf7-list-item{ display: inline-flex; width: auto; margin: 0 20px 0 0; }
.radio_kubun .wpcf7-list-item label{ display: inline-flex; align-items: center; gap: 4px; width: auto; white-space: nowrap; }
.radio_kubun .wpcf7-list-item-label{ display: inline; width: auto; white-space: nowrap; line-height: 1.4; }
.radio_kubun input[type="radio"]{ margin: 0 5px 0 0; flex: 0 0 auto; padding: 0; width: auto; }
.contact_item{ margin-bottom: 16px; }
.contact_tit{ margin-bottom: 6px; }




}
/* ----------------------------------------------------------
TAB CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
PC CSS
---------------------------------------------------------- */
@media print, screen and (min-width: 1200px){

/* フォントサイズ10px */
html{ font-size: 62.5%; }

/* 基本のフォントサイズ */
body{ font-size: 16px; font-size: 1.8rem; }

/* 非表示用 */
.nonePC		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ }

.header_logo_sec{ position: absolute; left: 0; top: 0; width: 190px; height: 190px; background-color: #f5f5f5; border-radius: 0 0 15px 0; }

.header_logo{ position: relative; padding: 30px 0 0 30px; }
.header_logo img{ width: 100%; height: auto; max-width: 118px; max-height: 113px; }
.header_logo a:hover{ opacity: .6; }

.header_tit{ position: absolute; left: 220px; top: 40px; font-size: 1.8rem; }



#navArea nav{
	position: fixed;
	top: 0;
	right: -1000px;
	bottom: 0;
	width: 50%;
	background: #fff;
	overflow-x: hidden;
	overflow-y: auto;
	transition: all 0.3s;
	z-index: 3;
	opacity: 0;
}
#navArea.open nav{ right: 0; opacity: 1;  z-index: 99; }
#navArea  nav .inner{ padding: 25px; }
#navArea nav .inner ul{ list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
#navArea nav .inner ul.header_sns_list{ display: block; }
#navArea nav .inner ul li{ position: relative; margin: 0; }
#navArea nav .inner ul li a{ display: block; color: #333; font-size: 1.8rem; font-weight: 700; text-decoration: none; transition-duration: 0.2s; flex-wrap: wrap; }
.toggle_btn {
    display: block;
    position: fixed;
    top: 10px;
    right: 10px;
    width: 70px;
    height: 70px;
	background-color: #96be23;
    transition: all .3s;
    cursor: pointer;
    z-index: 3;
	border-radius: 5px;
	z-index: 999;
  }
  .toggle_btn span {
    position: absolute;
    left: 16px;
    width: 36px;
    height: 3px;
    background-color: #fff;
    border-radius: 4px;
    transition: all 0.3s;
}
.toggle_btn span:nth-child(1){ top: 22px; }
.toggle_btn span:nth-child(2){ top: 33px; }
.toggle_btn span:nth-child(3){ bottom: 23px; }
.open .toggle_btn span{ background-color: #fff; }
.open .toggle_btn span:nth-child(1){ transform: translateY(10px) rotate(-45deg); }
.open .toggle_btn span:nth-child(2){ opacity: 0; }
.open .toggle_btn span:nth-child(3){ transform: translateY(-10px) rotate(45deg); }
#mask{ display: none; transition: all .3s; }
.open #mask{ display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.5; z-index: 2; cursor: pointer; }
#menu-content{ display: none; border-top: 1px solid #ccc; }
#navArea.open #menu-content{ display: block;  }
#menu-content > li{ width: 100%; margin-bottom: 15px; }
#menu-content > li:hover{ background: none; }
#menu-content > li > a{ padding: 15px 10px; font-weight: 700; font-size: 1.6rem; border-bottom: 1px solid #ccc; line-height: normal !important; text-align: left; }
#menu-content > li > ul.second-content{ visibility: visible; opacity: 1; width: 100%; position: relative; box-shadow: none; margin-top: 10px; margin-left: 20px; }
.open #menu-content > li > ul.second-content{ position: relative; }
#menu-content > li > ul.second-content > li{ width: 100%; text-align-last: left; }
#menu-content > li > ul.second-content > li > a{ padding-left: 15px; font-size: 1.4rem; line-height: 1.3; position: relative; text-align: left;  }
#menu-content > li > ul.second-content > li > a:hover{ background: none; }
#menu-content > li > ul.second-content > li > a:before{ content: ''; width: 4px; height: 4px; border-top: solid 1px var(--main-color); border-right: solid 1px var(--main-color); position: absolute; left: 0px; top: 16px; transform: rotate(45deg); }










/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
footer{ width: 100%; background: url("../images/bg_footer01.jpg") no-repeat; background-size: cover; padding: 40px 0; }

.footer_tit{ font-size: 3.5rem; font-weight: 700; text-align: center; letter-spacing: 2px; line-height: 1.6; margin-bottom: 20px; }

.footer_img{ text-align: center; margin-bottom: 30px; }
.footer_img img{ width: 600px; height: 230px; border-radius: 15px; }

.footer_logo{ text-align: center; margin: 40px auto 20px auto; }
.footer_info{ text-align: center; color: #777; font-weight: 500; }
.footer_info p{ font-size: 2rem; font-weight: 500; }
.footer_info span{ display: block; font-size: 1.5rem; }
.footer_copyright{ font-size: 1.2rem; color: #777; text-align: center; margin: 20px 0; }


/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */

h2{ color: var(--main-color); font-size: 2.4rem; font-weight: 700; line-height: 1.4; margin-bottom: 20px; }

.lp_sec02 h2{ text-align: center; color: #23be4b; font-size: 4rem; font-weight: 700; margin-bottom: 30px; }
.lp_sec02 h3{ text-align: center; color: #555; font-size: 2.6rem; font-weight: 700; margin-bottom: 30px; }


/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.top_img{ width: 1200px; margin: 80px auto 30px auto; }
.top_img img{ border-radius: 10px; }

.contents{ width: 900px; margin: 0 auto; }
.contents p{ font-size: 1.9rem; letter-spacing: 2px; line-height: 1.6; margin-bottom: 30px; }

.kifu_sec{ background-color: #96be23; padding: 30px 0; margin-bottom: 30px; }
.kifu_sec_tit{ font-size: 3rem; color: #fff; font-weight: 700; text-align: center; margin-bottom: 20px; }
.kifu_sec_list{ display: flex; justify-content: center; margin-bottom: 30px; }
.kifu_sec_item{ flex-basis: 480px; margin: 0 10px; }
.kifu_sec_item a{ display: block; font-size: 2.3rem; font-weight: 700; color: #96be23; background-color: #fff; padding: 15px 30px; border-radius: 40px; border: 2px solid #fff; }
.kifu_sec_item a:hover{ background-color: #96be23; color: #fff; }
.kifu_sec_item i{ margin-right: 10px; }
.kifu_sec p{ text-align: center; font-size: 1.6rem; color: #fff; }


.ul_list{ margin-bottom: 30px; }
.ul_item{ position: relative; font-size: 2.2rem; font-weight: 500; color: #3fc456; padding-left: 20px; margin-bottom: 5px; } 
.ul_item:before{ content: ""; display: block; position: absolute; top: 10px; left: 0; width: 10px; height: 10px; border-radius: 100%; background-color: #96be23; } 


.lp_img{ width: 780px; margin: 0 auto 20px auto; }
.lp_img img{ border-radius: 15px; }

.daijoubu_sec{
  background:
    linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0.2) 25%, rgba(255,255,255,0) 45%),
    url("../images/bg_daijoubu01.jpg") no-repeat center top;
  background-size: cover;
  background-position: center top;
  padding: 80px 0 40px 0;
}
.daijoubu_sec p{ width: 900px; margin: 0 auto; color: #d75755; font-size: 3.2rem; font-weight: 700; line-height: 1.8; text-align: center;  }



.lp_sec02{ background-color: #f4f8e9; padding: 40px 0; margin-bottom: 40px; }
.lp_sec02mb0{ margin-bottom: 0; }
.lp_sec02 p{ width: 900px; margin: 0 auto 30px auto; font-size: 1.9rem; text-align: center; line-height: 1.5; }


.torikumi_list{ width: 1090px; margin: 0 auto; display: flex; justify-content: space-between; }
.torikumi_item{ flex-basis: 24%; text-align: center; }
.torikumi_img01{ margin-bottom: 10px; }
.torikumi_img01 img{ width: 100%; height: auto; border-radius: 15px; }
.torikumi_tit01{ font-size: 2.4rem; font-weight: 700; margin-bottom: 10px; }
.torikumi_txt01{ font-size: 1.6rem; line-height: 1.5; min-height: 160px; text-align: left; }

.works_sec{ position: relative; background-color: #fff; border-radius: 15px; padding: 30px 20px 20px 20px; }
.works_sec_tit{ position: absolute; top: -15px; left: 0; right: 0; margin: 0 auto; width: 160px; background-color: #24be4c; text-align: center; font-size: 2rem; color: #fff; font-weight: 700; padding: 5px; line-height: 1; border-radius: 30px; }
.works_sec_txt{ font-size: 1.5rem; line-height: 1.5; text-align: left; }
.works_sec_txt span{ background-color: #fff47b; }



.goshien_sec{ text-align: center; }
.goshien_sec h2{ color: #d75755; font-size: 4rem; }
.goshien_sec h3{ color: #3fc456; font-size: 2.6rem; font-weight: 700; margin-bottom: 10px; }
.goshien_sec p{ width: 96%; margin: 0 auto; font-size: 1.9rem; font-weight: 500; letter-spacing: 2px; line-height: 1.6; }

.plan_sec{ width: 900px; margin: 30px auto; background-color: #fbebeb; padding: 30px; border-radius: 15px; }
.plan_sec h3{ font-size: 3rem; color: #555; }
.plan_list{ display: flex; justify-content: center; flex-wrap: wrap; }
.plan_item{ flex-basis: 48%; margin: 0 1% 20px 1%; }
.plan_item a{ display: block; font-size: 2rem; color: #fff; font-weight: 500; background-color: #96be23; padding: 15px; border: 2px solid #96be23; border-radius: 40px; }
.plan_item:last-child a{ background-color: #d75755; border: 2px solid #d75755;}
.plan_item a:hover{ background-color: #fff; color: #96be23; }
.plan_item:last-child a:hover{ background-color: #fff; color: #d75755; }

.plan_sec_list{ width: 900px; margin: 0 auto 40px auto; display: flex; justify-content: space-between; }
.plan_sec_item{ flex-basis: 48%; background-color: #fbebeb; padding: 30px; border-radius: 15px; }
.plan_sec_item h3{ font-size: 3rem; color: #555; }
.plan_sec_item ul{ margin-left: 30px; }
.plan_sec_item ul li{ font-size: 1.9rem; list-style-type: disc; text-align: left; }


.voice_list{ width: 900px; margin: 0 auto; }
.voice_item{ background-color: #fff; padding: 30px; margin-bottom: 30px; }
.voice_sec_tit{ display: flex; align-items: center; margin-bottom: 10px; }
.voice_sec_ico01{ margin-right: 20px; }
.voice_sec_ico01 img{ width: 70px; height: 70px; border-radius: 100%; }
.voice_sec_tit h3{ font-size: 3rem; color: #96be23; margin-bottom: 0; }
.voice_sec_txt{ text-align: left; }
.voice_sec_txt h4{ font-size: 2.5rem; font-weight: 700; margin-bottom: 20px; }
.voice_sec_txt p{ width: auto; text-align: left; font-size: 1.9rem; margin-bottom: 10px; }
.voice_sec_txt01{ font-size: 2rem; font-weight: 500; }

.voice_sec{ width: 900px; margin: 0 auto 60px auto; }
.voice_sec h2{ font-size: 4rem; text-align: center; font-weight: 700; }
.voice_sec_list{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.voice_sec_item{ flex-basis: 48%; margin-bottom: 30px; background-color: #f4f8e9; padding: 30px; border-radius: 15px; }
.voice_sec_info{ font-size: 2.2rem; font-weight: 500; margin-bottom: 10px; }
.voice_sec_item p{ font-size: 1.5rem; }


.voice_sec02_list{ }
.voice_sec02_item{ margin-bottom: 30px; background-color: #f4f8e9; padding: 30px; border-radius: 15px; }



/* よくある質問 */
.faq_sec{ background-color: #f0f0f0; padding: 40px 0; margin-bottom: 60px; }
.faq_sec h2{ font-size: 4rem; text-align: center; font-weight: 700; }

.faq_list{margin: 0 auto 50px; font-weight: 700; font-style: normal; max-width: 1000px;}
.faq_list_item{background-color: #fff; border: 1px solid #f0f4e5; width: 100%; margin-bottom: 20px; transition: .5s;}

.faq_question{ display: flex; gap: 40px; cursor: pointer; position: relative; padding: 25px 30px 25px 80px; }
.faq_question::before{content: "Q."; position: absolute; left: 25px; top: 12px; font-size: 3.5rem; transition: .5s;}
.faq_question_txt{font-weight: 500; font-size: 2rem; color: #333; transition: .5s;}

.faq_answer{background-color: #fff; padding: 25px 30px 25px 80px;  display: none; font-size: 2rem; font-weight: 500; line-height: 3rem; position: relative;}
.faq_answer::before{content: "A."; color: #96be23; position: absolute; left: 25px; top: 22px; font-size: 3.5rem;}
.faq_answer a{color: #0693e3; text-decoration: underline; font-weight: 700;}

.faq_list_item.open{background-color: #96be23; border: 1px solid #96be23; transition: .5s;}
.faq_list_item.open .faq_question_txt{color: #fff; transition: .5s;}
.faq_list_item.open .faq_question::before{color: #fff; transition: .5s;}
.faq_list_item .faq_answer { display: none;}
.faq_list_item.open .faq_answer { display: block; }

/* 親に相対位置を指定（右端に絶対配置するため） */
.faq_question {
  position: relative;
  padding-right: 24px; /* アイコン分の余白を確保 */
}

/* アイコン本体 */
.faq_question_icon {
  position: absolute;
  top: 50%;
  right: 50px;
  width: 28px;
  height: 28px;
  transform: translateY(-50%);
  background-color: #d05e6b;
  padding: 5px;
  border-radius: 100%;
}

/* 横線（共通） */
.faq_question_icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  height: 2px;
  background: #fff;
  transform: translate(-50%, -50%);
}

/* 縦線（+の時だけ表示） */
.faq_question_icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 15px;
  background: #fff;
  transform: translate(-50%, -50%);
}

/* 開いたら「-」にする（縦線を非表示） */
.faq_list_item.open .faq_question_icon::after {
  display: none;
}


.about_sec{ width: 900px; margin: 0 auto 60px auto; margin-bottom: 60px; }
.about_sec h2{ font-size: 4rem; text-align: center; font-weight: 700; }

.about_sec_img01{ width: 185px; margin: 0 auto 30px auto; }
.about_sec p{ font-size: 1.9rem; letter-spacing: 1px; line-height: 1.6; }

.about_list{ display: flex; justify-content: center; margin-bottom: 40px; }
.about_item{ margin: 0 1%; }

.about_sec p span{ background-color: #f8d7e2; }



.profile_sec{ width: 900px; margin: 0 auto 80px auto; }
.profile_sec h2{ font-size: 4rem; text-align: center; font-weight: 700; }

.profile_sec_list{ display: flex; justify-content: space-between; margin-bottom: 30px; }
.profile_sec_item:first-child{ flex-basis: 30%; }
.profile_sec_item:last-child{ flex-basis: 65%; }
.profile_sec_name01{ text-align: center; }
.profile_sec_name01 span{ font-size: 1.8rem; font-weight: 700; }
.profile_sec_name01 p{ font-size: 3.2rem; font-weight: 700; margin-bottom: 10px; }
.profile_sec_img01{}
.profile_sec_img01 img{ border-radius: 15px; }
.profile_sec_txt01{ margin-top: 80px; font-size: 1.9rem; letter-spacing: 2px; line-height: 1.7; }


.about_sec .plan_item a{ text-align: center; }

.lp_page_h1{ position: initial; margin-top: 40px; }
.lp_page_h1 h1{ font-size: 3rem; font-weight: 700; color: #2a9646; text-align: center; }

.kifuform_sec{ max-width: 900px; margin: 0 auto; }
.kifuform_sec h2{ font-size: 2.4rem; padding: 14px; margin-bottom: 25px; }
.kingaku_sec{ width: 90%; margin: 0 auto 30px auto; }
.kingaku_sec .support-price{ gap: 16px; }
.kingaku_sec .support-price .wpcf7-list-item-label{ min-width: 140px; text-align: center; padding: 10px 20px; font-size: 2rem; }
.wpcf7-checkbox input[type="checkbox"]{ width: 30px; height: 30px; margin-right: 10px; }
.wpcf7-checkbox input[type="checkbox"]:checked::after{ left: 7px; top: 2px; width: 8px; height: 15px; }
.wpcf7-checkbox .wpcf7-list-item label{ gap: 10px; }
.wpcf7-checkbox .wpcf7-list-item-label{ font-size: 1.8rem; line-height: 1.8; }
.donation_form_sec{ width: 90%; margin: 30px auto 0 auto; }
.contact_item{ margin-bottom: 28px; }
.contact_tit{ font-size: 2rem; margin-bottom: 8px; }
.contact_tit span{ font-size: 1.3rem; padding: 4px 8px; margin-right: 12px; }
.contact_txt input{ width: 100%; max-width: auto; padding: 14px; font-size: 1.8rem; }
.contact_adress input{ width: 100%; max-width: auto; padding: 14px; font-size: 1.8rem; }

.contact_submit_btn input{ min-width: 220px; }
.contact_submit_btn{ margin: 30px auto 0 auto; text-align: center; }
.contact_submit_btn p{ display: flex; justify-content: center; align-items: center; gap: 16px; flex-wrap: wrap; }
.contact_submit_btn input{ font-size: 2rem; background: #2b9847; color: #fff; border: 1px solid #2b9847; padding: 10px 24px; border-radius: 5px; font-family: 'Zen Maru Gothic'; font-weight: 700; letter-spacing: 3px; line-height: 1.4; appearance: none; cursor: pointer; }

.radio_kubun{ margin-top: 8px; }
.radio_kubun .wpcf7-radio{ display: flex; align-items: center; gap: 10px; }
.radio_kubun .wpcf7-list-item{ display: inline-flex; width: auto; margin: 0 20px 0 0; }
.radio_kubun .wpcf7-list-item label{ display: inline-flex; align-items: center; gap: 4px; width: auto; white-space: nowrap; }
.radio_kubun .wpcf7-list-item-label{ display: inline; width: auto; white-space: nowrap; line-height: 1.4; }
.radio_kubun input[type="radio"]{ margin: 0 5px 0 0; flex: 0 0 auto; padding: 0; width: auto; }
.contact_item{ margin-bottom: 16px; }
.contact_tit{ margin-bottom: 6px; }

.kingaku_sec .contact_txt input[name=other-price]{ width: 100%; max-width: 100%; padding: 10px; border: 1px solid #ccc; background-color: #f5f5f5; border-radius: 5px; font-size: 1.8rem; font-family: 'Zen Maru Gothic'; box-sizing: border-box; }

input.back_button{ min-width: 200px; font-size: 2.2rem; background: #fff; color: #2b9847; border: 1px solid #2b9847; padding: 16px 30px; border-radius: 5px; font-family: 'Zen Maru Gothic'; font-weight: 700; letter-spacing: 3px; line-height: 1.4; appearance: none; cursor: pointer; }



}
/* ----------------------------------------------------------
 PC CSS END
---------------------------------------------------------- */
