@charset "utf-8";
/*--------------------------------------------------
	base.css
	2025/10/30
-------------------------------------------------*/
/*-------------------------------------------------

	デフォルト設定

--------------------------------------------------*/
*, ::before, ::after {
    box-sizing: border-box;
}
body{
	  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size:12px;
	line-height: 1.7;
    color: #333333;
}
ul,p{
    margin-block-start: 0em;
    margin-block-end: 0em;
}
img,li img{
	vertical-align:bottom;
}
li {
	list-style: none;
}
ul,ol{
	padding: 0;
}
h1{
	font-size:100%;
	margin:0;
}
h2,h3,h4 {
	max-width: 1020px;
	margin:0;
}
th, td {
    vertical-align: top; 
}
caption,
th {
    text-align: left;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style:none;
}
.xx-large  { font-size:150%;    line-height:1.7; } /*18px*/
.x-large   { font-size:133.3%;  line-height:1.6; } /*16px*/
.large     { font-size:116.6%;  line-height:1.6; } /*14px*/
.mid       { font-size:100%;    line-height:1.5; } /*12px*/
.small     { font-size:91.6%;   line-height:1.5; } /*11px*/
.x-small   { font-size:83.3%;   line-height:1.5; } /*10px*/
/*---------------------------------------------------------------------------
	
	classパーツ
	
----------------------------------------------------------------------------*/
.bold{font-weight:bold;}
.underl{text-decoration:underline;}

.fl{ float:left; }
.fr{ float:right; }

.center{ text-align:center; } 
.right{ text-align: right; }

.mt5{ margin-top:5px; }
.mt10{ margin-top:10px; }
.mt15{ margin-top:15px; }
.mt20{ margin-top:20px; }
.mt25{ margin-top:25px; }
.mt30{ margin-top:30px; }
.mt35{ margin-top:35px; }
.mt40{ margin-top:40px; }

.mr5{ margin-right:5px; }
.mr10{ margin-right:10px; }
.mr15{ margin-right:15px; }
.mr20{ margin-right:20px; }
.mr25{ margin-right:25px; }
.mr30{ margin-right:30px; }
.mr35{ margin-right:35px; }
.mr40{ margin-right:40px; }

.mb5{ margin-bottom:5px; }
.mb10{ margin-bottom:10px; }
.mb15{ margin-bottom:15px; }
.mb20{ margin-bottom:20px; }
.mb25{ margin-bottom:25px; }
.mb30{ margin-bottom:30px; }
.mb35{ margin-bottom:35px; }
.mb40{ margin-bottom:40px; }

.ml5{ margin-left:5px; }
.ml10{ margin-left:10px; }
.ml15{ margin-left:15px; }
.ml20{ margin-left:20px; }
.ml25{ margin-left:25px; }
.ml30{ margin-left:30px; }
.ml35{ margin-left:35px; }
.ml40{ margin-left:40px; }

/*--------------------------------------*/
/*			グリッドレイアウト			*/
/*--------------------------------------*/

.grid-container{
	display: grid;
	grid-template-columns: repeat(12, 1fr);
		gap: 20px 1%;
}
.span-1 { grid-column: span 1;}
.span-2 {grid-column: span 2;}
.span-3 {grid-column: span 3;}
.span-4{grid-column: span 4;}
.span-5{grid-column: span 5;}
.span-6{grid-column: span 6;}
.span-7{grid-column: span 7;}
.span-8{grid-column: span 8;}
.span-9{grid-column: span 9;}
.span-10{grid-column: span 10;}
.span-11{grid-column: span 11;}
.span-12 {grid-column: span 12;}
.grid-card{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 20px 2%;
}
.grid-card li{
	padding: 10px;
	border: 1px solid #000;
}
/*-------------------------------------*/
/*			clearfix 	  	           */
/* ------------------------------------*/
.clearfix:after {
	content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}
/*----------------------------------*/
/*		テキスト色					*/
/*----------------------------------*/
.red {
	color:#d10000;
}
.navy {
	font-weight: bold;
	color:#08298A;
}
.green {
	font-weight: bold;
    color: #006600 !important;
}
.bold {
	font-weight: bold;
}
/*-------------------------------------
	テキストボックス
---------------------------------------*/
/*クリーム色*/
.tips-box{
	texe-indent:1em;
	margin:1em;
	background-color:#FFFCEA;
	padding:0.5em;
	border:1px dotted #EFE4D0;
}
/*オレンジ*/
.fraud{
	background-color: #FFEACC;;
	font-size:1em;
	border:1px solid #6FAE48;
	padding:1em;
	color: #333;
}
.fraud h4{
	border-bottom:3px double #303030;
	margin-bottom:3px;
	color:red;
}

/*--------------------------*/
/*		GCF用緑ボタン		*/
/*--------------------------*/
.gcfbutton{
	padding: 10px;
	border: 1px solid #6CA9D1;
}
.gcfbutton {
	display       : inline-block;
	border-radius : 5px;          /* 角丸       */
	text-align    : center;      /* 文字位置   */
	padding       : 10px 20px;   /* 余白       */
	background    : #6FAE48;     /* 背景色     */
	color         : #ffffff;     /* 文字色     */
	line-height   : 1em;         /* 1行の高さ  */
 	transition    : .3s;         /* なめらか変化 */
	box-shadow    : 2px 2px 5px #666666;  /* 影の設定 */
	border        : 2px solid #6FAE48;    /* 枠の指定 */
	font-weight: bold;
}
#purpose .gcfbutton:hover {
  color         : #6FAE48;     /* 背景色     */
  background    : #ffffff;     /* 文字色     */
}
/*asideメニュー用オレンジボタンは当CSS内asideに記述*/
/*--------------------------*/
/*		寄附申込ボタン		*/
/*--------------------------*/
.mousikomi-button a{
	display:block;
	background-color: #F6D04E;
	color:#6F4E37;
	text-decoration:none;
	font-weight:bold;
	padding:1rem;
	width:85%;
	margin:1rem auto 0 auto;
	text-align:center;
	border-radius:3px;
	cursor: pointer; 
}
.mousikomi-button a:hover,.mousikomi-button a:hover{
	opacity: 0.6;
}
/*-----------------------
	シュミレーターへ
-----------------------*/
.tertiary-button a{
	display:block;
	background-color:#E4ECCD;
	color:#6F4E37;
	text-decoration:none;
	font-weight:bold;
	padding:1em;
	width:85%;
	margin:1em auto 1em auto;
	text-align:center;
	border-radius:3px;
}
.tertiary-button a:hover{
	opacity:0.7;
}
/*--------------------------*/
/*		詳しくはこちら		*/
/*--------------------------*/
.kwsk-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    background-color: #84acdd;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: background-color 0.3s;
}
.kwsk-button::before {
    content: "\25B6";
    font-size: 10px;
    margin-right: 4px;
}
.kwsk-button:hover {
    background-color: #4a90e2;
}
/*----------------------------------------------*/

/*	min-width:681(基礎・共通）					*/

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

.sp{display:none}

/* fontsize*/
/*-----------------------------------------*/
.fontS { font-size: 90%;}
.fontM { font-size: 100%;}
.fontL { font-size: 110%;}

.mod_headerbox_size #fontS {
    width: 26px;
    height: 26px;
    overflow: hidden;
    margin: 0 8px 0 0;
}
.mod_headerbox_size #fontM {
    width: 26px;
    height: 26px;
    overflow: hidden;
    margin: 0 8px 0 0;
}
.mod_headerbox_size #fontL {
    width: 26px;
    height: 26px;
    overflow: hidden;
}
.mod_headerbox_size span {
    display: block;
    cursor: pointer;
}
.mod_headerbox_size .active span {
    margin-top: -27px !important;
}
.mod_headerbox_size span:hover {
    margin-top: -27px;
}
/*sideとmainのbox color*/
.sec_box{
	background-color: #F1F9E4;
}
.sec_inner{
	border:1px solid #6FAE48;
}
aside{
	background:#F1F9E4;
	border:1px solid #6FAE48;
}
/* header */
/* -------------------------------------------------- */
iframe.twitter-share-button {
	width:90px!important;
}
header {
	width:100%;
	border-top:#4A7830 10px solid;
	position:relative;
}
#h_rap{
	max-width:1018px;
	margin:0 auto;
}
#h_rap h1{
	padding:23px 0 0 11px;
	max-width:378px;
	float:left;
}
#r_box{
	max-width:455px;
	float:right;
	padding-top:11px;
}
#h_rap .mod_headerbox_size{
	background:url(../img/h_size_rap.gif) no-repeat;
	width:200px;
	height:34px;
	float:right;
}
#h_rap .mod_headerbox_size ul{
	padding:4px 0 0 92px;
}
#h_rap .mod_headerbox_size li{
	float:left;
}
#h_rap .h_bt{
	clear:both;
	margin-top:10px;
	width:450px;
}
#sp_menu,#menuyBox{
	display:none;
}
#sp_menu,#menuyBox li{
	display:none;
}
/* nav */
/* -------------------------------------------------- */
nav{
	position:relative;
	width:968px;
	margin:0 auto;
}
nav ul{
	position:absolute;
	top:-30px;
	left:0;
}
nav li{
	float:left;
}
/* main													 */
/* -----------------------------------------------------*/
/*	#main_cont											*/
/*------------------------------------------------------*/
#main{
	max-width:1020px;
	margin:0 auto;
}
#main_cont{
	max-width:750px;
	float:right;
}

/*		h3		*/
h2{
	margin:0 0 15px 0;
	font-weight:bold;
	background-color:#F1F9E4;
	color:#000000;
	border:1px solid #6FAE48;
	padding:6px 6px 6px 55px;
	background-image:url(../img/ico_h3.png);
	background-position:1% 50%;
	background-repeat:no-repeat;
	font-size:160%;
}
/*		h4		*/
h3{
	color: #3e3218;
	border-bottom:3px dotted #3e3218;
}
/* maintenance */
.maintenance {
	margin:10px 0 30px;
	padding:10px;
	border:2px solid #d10000;
	background-color:#fff;
}
.maintenance dt{
	margin-bottom:5px;
	color:#d10000;
	font-size: 120%;
  font-weight: bold;
	line-height:1.4;
	border-bottom:1px solid #999;
}
#slider_rap{
	max-width:1020px;
	width:100%;
	margin:10px auto 0 auto;
	clear:both;
	position:relative;
}
#pans{
	width:1020px;
	margin:0 auto 30px auto;
	padding-top:70px;
	font-size:95%;
}
#pans p{
	border:1px solid #dddddd;
	padding:5px 10px;
}
#pans a{
	color:#333;
}
#pans a:hover{
	text-decoration:none;
}
.order_bt_box{
	width:357px;
	margin:35px auto;	
}
.order_bt_box p{
	width:357px;
}
.sec_box{
	padding: 5px;
	box-sizing: border-box;
	margin-bottom: 30px;
}
.sec_inner{
	background: #ffffff;
	padding:15px;
	box-sizing: border-box;
}
/* aside */
/* -------------------------------------------------- */
aside {
	width:250px;
	float:left;
	padding:10px 9px;
	box-sizing: border-box;
}
aside a{
	color:#333333;
	text-decoration:none;
}
aside dl{
	display:block;
	background:#FFFFFF;
	padding:15px;
	border-bottom:1px solid #CCCCCC;
	clear:both;
}
aside dt{
	width:36px;
	float:left;
	margin-right:10px;
}
aside dd{
	float:left;
	width:75%;
	margin-top:8px;
}
aside .dd_txt{
	line-height:1.2;
	margin-top:4px !important;
}
#side_box,#side_box li{
	display:none;
}
aside .orange-button{
	width: 226px;
	border: 1px solid #f05337;
	background: linear-gradient(to bottom, #ff9f2b, #ff7e00);
	padding: 0; /* aタグのpaddingを活かすためリセット */
	box-shadow: 0 2px 0 rgba(0, 0, 0, 0.1);
}

aside .orange-button a{
	display: block;
	padding: 10px 20px;
	font-size: 16px;
 	font-weight: bold;
 	color: #ffffff;
	text-decoration: none;
	text-align: center;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15);
	cursor: pointer;
	font-family: "Noto Sans JP",  "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

aside .orange-button li a:hover{
	text-decoration: none;
	opacity: 0.7;
}
.select li{
	background-color:#fff;
	height:3em;
	padding:0.5em;
	margin:0.2%;
}
.select li a {
    background-image: url('../../outline/img/side_icon.gif');
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 40px;
    display: block;
    line-height: 1.1em;
}
/* footer */
/* -------------------------------------------------- */
#pagrtop{
	margin:50px auto 20px auto;
	max-width:1020px;
	text-align: right;
	clear:both;
}
footer {
	width:100%;
	background:#4A7830;
}
#f_box{
	max-width:1020px;
	margin:0 auto;
	padding:20px 0 40px 0;
	color: #FFF;
}
#f_box a{
	color:#FFFFFF;
}
#f_box a:hover{
	text-decoration:none;
}
#f_box .f_l{
	float:left;
}
#f_box .f_l br{
	display:none;
}
#f_box .f_r{
	float: right;
}
footer .sp_copy{
	display:none;
}

/*-------------------------------------------------
	
	max-width:680(レスポンシブ対応)
	
--------------------------------------------------*/
@media screen and (max-width: 680px){
.sp{display:block;}
body{
	min-width: inherit;
}
input { font-size: 16px; }
/*h3*/
#main_cont h3{
	background-color:#8FC07D;
	color:#FFFFFF;
}
/*右上navibotton背景色*/
#menuyBox li a{
	background:#6CA9D1;
	color:#ffffff;
	font-weight: bold;
	border-bottom:1px solid #FFFFFF;
}
#menuyBox .close{
	background:#dddddd;
}
/* header */
/* -------------------------------------------------- */
header {
	position:relative;
}
#h_rap{
	width:100%;
}
#h_rap h1{
	padding:5% 0 5% 3%;
	width:64%;
	float:left;
}
#r_box{
	display:none;
}
#sp_menu,#menuyBox{
	display:block;
}
#sp_menu,#menuyBox li{
	display:block;
}
#sp_menu{
	width:20%;
	float:right;
	padding:3% 3% 0 0;
}
#menuyBox{
	display: none;
	position:absolute;
	top:83%;
	left:0;
	z-index:1000;
	width:100%;
}
#menuyBox li a{
	display:block;
	padding:10px;
	font-size:120%;
	text-decoration:none;
}
#menuyBox .close{
	text-align:center;
}
nav,aside{ display:none; }
#pagrtop{
	display:none;
}
/* main */
/* -------------------------------------------------- */
#pans{
	display:none;
}
.title_bg{
	background:#619F16;
	padding:4% 5% 2% 3%;
}
.order_bt_box{
	margin:15px auto;
}
#main_cont h3{
	margin:0 0 10px 0;
	background-image:none;
	border:none;
	padding:6px;
	font-size:124%;
}
/* maintenance */
.maintenance {
	margin:30px 2%;
}
.sec_box{
	padding:0;
}
.sec_inner{
	border:none;
	width:100%;
}
/* side		SP時の画面下部ページ内リンク 
			↑いずれasideの方に統合・消去　*/
/* -------------------------------------------------- */
/*sp:side menu背景色*/
#side_box .side_title{
	background:#4A7830;
	color:#FFFFFF;
}
/*sp:side submenu背景色*/
#side_box .midashi{
	background:#8FC07D;
	color:#ffffff;
}
#side_box .midashi a{
	background: url(../img/sp_side_arrow.png) center right no-repeat;
	color:#ffffff;
	text-decoration:none;
}
#side_box .midashi a:hover{
	color:#ffffff;
}
/*side		under_nav(sp用)	サイト内周遊促進用			*/
/*-----------------------------------------------------*/
#_menu{
	display:block;
	background-color:#6B994A;
	width:100%;
	margin:1rem auto;
	padding:0.2rem 0.5rem;

}
#_menu li{
	padding:1rem 0;
	border-bottom:white 0.1px solid;
	margin:0 auto;
}
#_menu li:last-of-type{
	border-bottom:none;
}
#_menu li a{
	color:#fff;
	text-decoration:none;
	font-size:1em;
}
/* footer */
/* -------------------------------------------------- */
footer {
	padding:10px 5px;
	margin-top:20px;
}
#f_box{
	width:100%;
	margin:0 auto;
	color: #FFF;
}
#f_box a{
	color:#FFFFFF;
}
#f_box a:hover{
	text-decoration:none;
}
#f_box .f_logo{
	width:50%;
	float: left;
}
#f_box .f_l{
	float: right;
	width:47%;
}
#f_box .f_r{
	float: none;
	display:none;
}
#f_box .line{
	display:none;
}
.sp_copy{
	text-align:center;
	color: #FFF;
}
}