@charset "utf-8";


/*
----------------------------------------------------------------
■Bootstrap v4.6.1使用
・Bootstrap独自のクラスは上書きせず新規にclassを追加すること
----------------------------------------------------------------
*/

/*web font*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400&display=swap&subset=japanese');/*font-family: 'Noto Sans JP', sans-serif;*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@900&display=swap');/*font-family: 'Roboto', sans-serif;*/

/*
----------------------------------------------------------------
全般
----------------------------------------------------------------
*/
html{
	scroll-behavior:smooth;
}
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
	position:relative;
	padding-top:50px;/*ヘッダの高さ分*/
	scroll-behavior:smooth;
}
@media screen and (max-width:992px){
html{
	font-size:90%;
}
body{
	padding-top:40px;/*タブレット以下のヘッダの高さ分*/
}
}
.section{
	padding-top:50px;/*アンカー表示用にヘッダの高さ分*/
}
h2,
h3{
	font-weight:bold;
}
h2{
	font-size:1.6rem;
	text-align:center;
	position: relative;
	padding: 1.0rem;
	background: #090;
	margin-top:10px;
	margin-bottom:50px;
	color:#FFF;
	transform: skewX(-10deg);
}
h2 span{
	display:block;
	transform: skewX(10deg);/*傾けた分を戻す*/
}
h3{
	color:#090;
	text-align:left;
	font-size:1.3rem;
}
@media screen and (max-width:768px){
h2{
	font-size:1.2rem;
}
h3{
	font-size:1rem;
}
}
/*
-----------------------------------------------------------------
フェードインエフェクト初期設定
-----------------------------------------------------------------
*/
.fade-in{
  opacity:0;
  transition-duration:1000ms;
  transition-property:opacity, transform;
}
.fade-in-slow{
  opacity:0;
  transition-duration:2000ms;
  transition-property:opacity, transform;
}
.fade-in-fast{
  opacity:0;
  transition-duration:500ms;
  transition-property:opacity, transform;
}
/*フェードイン方向*/
.fade-in-up{
  transform:translate(0, 50px);
}
.fade-in-down{
  transform:translate(0, -50px);
}
.fade-in-left{
  transform:translate(-50px, 0);
}
.fade-in-right{
  transform:translate(50px, 0);
}
.fade-in-left-far{
  transform:translate(-500px, 0);
}
.fade-in-right-far{
  transform:translate(500px, 0);
}
.scroll-in{
  opacity:1;
  transform:translate(0, 0);
}
.count{
}


/*
----------------------------------------------------------------
ヘッダ
----------------------------------------------------------------
*/

header nav.global h1{
	font-size:1rem;
	margin:0;
	padding:0;
}
@media screen and (max-width:992px){
header nav.global h1{
	height:30px;
}
header nav.global h1 img{/*タブレット以下ではロゴセンタリング*/
	position:absolute;
	top:0;
	left:50%;
	margin-left:-100px;
}
header nav.global ul.nav,
header nav.global ul.nav-pills{/*タブレット以下ではリンク非表示*/
	display:none !important;
}
}
header nav.global{
	background-color:#5AB02D;
	color:#FFF;
	padding:5px;
}
header nav.global a{
	color:#FFF;
	font-size:0.8rem;
	font-weight:bold;
	
}
header nav.global .nav-link.active{
	background-color:#FFF;
	color:#090;
}

/*
----------------------------------------------------------------
アイキャッチ
----------------------------------------------------------------
*/

.eyecatch{
	background-image:url(/img/eyecatch/bg-eyecatch.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}


/*
----------------------------------------------------------------
キャッチコピー
----------------------------------------------------------------
*/
div.catch-copy{
	margin-bottom:1rem;
}

div.catch-copy h2{
	margin-top:1rem;
    background: linear-gradient(transparent 50%, #212529 0, #FFF calc(50% + 3px), transparent 0);
    text-align: center;
	line-height:1;
	margin-bottom:1rem;
}

div.catch-copy h2 span{
	background-color:#FFF;
	font-size:1.8rem;
	padding:0 .5rem;
	margin:0 .5rem;
	color:#212529;
	display:inline-block;
	font-weight:bold;
	transform: skewX(-3deg);
}
@media screen and (max-width:768px){
div.catch-copy h2 span{
	font-size:1rem;
}
}
div.catch-copy h3{
	text-align:center;
	color:#212529;
	margin-top:1rem;
}
div.catch-copy img{
	border:3px solid #9C6;
	border-radius:50%;
}

/*
----------------------------------------------------------------
政策
----------------------------------------------------------------
*/
#policy-ishida{
	background-color:rgba( 0,153,0 , .1 );
	padding-bottom:1.5rem;
	background-image:url(/img/policy/bg-container.png);
	background-repeat:no-repeat;
	background-position:0 0;
}
#policy-ishida ol li{
	padding:1rem 0;
}
#policy-ishida ol div.frame{
	background-color:#FFF;
	border:3px solid #090;
	padding:.7rem;
	box-shadow:4px 4px 0 0 rgba(0,0,0,.1);
	background-image:url(/img/policy/bg-frame.png);
	background-repeat:no-repeat;
	background-position:100% 100%;
	overflow:hidden;
}
#policy-ishida .policy-head{
	padding-bottom:1rem;
	line-height:1;
}
#policy-ishida .policy-head .step{
	width:50px;
	float:left;
}
#policy-ishida .policy-head .txt{
	margin:0 0 .2rem 0;
	padding:0;
	text-align:center;
	color:#090;
	font-size:18px;
	font-weight:bold;
}
#policy-ishida .policy-head .num{
    background-color:#090;
    width: auto;
    border-radius: 50%;
    text-align: center;
    width: 50px;
    height: 50px;
    margin: auto;
    color:#FFF;
	font-size:30px;
	line-height:1;
	padding:0;
	margin:0;
	display:flex;
	justify-content:center;
	align-items: center;
    font-family: 'Roboto', sans-serif;
}
#policy-ishida .policy-head .num span{
	margin-top:0px;
}
#policy-ishida .policy-head h3{
	margin:0;
	padding-top:1.7rem;
	margin-left:65px;
	font-size:1.7rem;
	line-height:130%;
	color:#212529;
	font-weight:bold;
}
#policy-ishida .policy-head h3 strong{
	color:#F00;
}
@media screen and (max-width:768px){
#policy-ishida .policy-head h3.br{
	padding-top:.2rem;
}
}
#policy-ishida ol div.frame div.col p{
	font-size:1rem;
}
#policy-ishida ol div.frame div.col p strong{
	background: linear-gradient(transparent 85%, yellow 85%);
}
#policy-ishida ol div.frame img{
	width:200px;
	height:auto;
}
/*
----------------------------------------------------------------
維新の政策
----------------------------------------------------------------
*/

#policy-ishin ol li{
	padding-top:15px;
	padding-bottom:15px;
}

#policy-ishin ol div.frame{
	background-color:#FFF;
	border:3px solid #666;
	padding:.7rem .7rem 0;
	box-shadow:4px 4px 0 0 rgba(0,0,0,.1);
	background-image:url(/img/policy/bg-frame.png);
	background-repeat:no-repeat;
	background-position:100% 100%;
}
#policy-ishin .policy-head{
	padding:.5rem;
	line-height:1;
	background: rgb(0,153,0);
	background: linear-gradient(145deg, rgba(0,153,0,1) 0%, rgba(90,176,45,1) 100%);
}
#policy-ishin .policy-head .step{
	width:26px;
	float:left;
}
#policy-ishin .policy-head .num{
    background-color:#FFF;
    width: auto;
    border-radius: 50%;
    text-align: center;
    width: 26px;
    height: 26px;
    margin: auto;
    color:#090;
	font-size:18px;
	line-height:1;
	padding:0;
	margin:0;
	display:flex;
	justify-content:center;
	align-items: center;
    font-family: 'Roboto', sans-serif;
	text-shadow:none;
	box-shadow:2px 2px 0px rgba(0,0,0,.2);
}
#policy-ishin .policy-head .num span{
	margin-top:0px;
}
#policy-ishin .policy-head h3{
	margin:0;
	padding-top:2px;
	margin-left:31px;
	font-size:18px;
	color:#FFF;
	text-shadow:2px 2px 0px rgba(0,0,0,.2);
}
#policy-ishin .frame h4{
	font-weight:bold;
	font-size:1.1rem;
	color:#090;
	margin-top:.5rem;
}
#policy-ishin .frame h4:before {
    font-family: "Font Awesome 5 Free";
    white-space: pre;
    content: "\f46c";
    font-weight: 900;
	margin-right:.3rem;
}


#policy-ishin .frame p{
	font-size:.95rem;
}
#policy-ishin p.q{
	font-size:.8rem;
	text-align:right;
}


/*
----------------------------------------------------------------
プロフィール
----------------------------------------------------------------
*/
.sns-list{/*fontawesome設定*/
	font-size:1.8rem;
}

#profile .profile-bg{
	background-image:url(/img/profile/bg-profile.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	background-color:rgba(255,255,255,0.2);
	border-radius:10px;
}

@media screen and (max-width:768px){
#net ul li img,
#ikeda ul li img{
	width:100px;
	height:100px;
}
}
span#u_0_3_kR{
	display:none;
}
/*
----------------------------------------------------------------
活動報告
----------------------------------------------------------------
*/
.facebook{
	 background-color:#4267b2;
	 margin:0;
	 padding-top:15px;
	 padding-bottom:15px;
	 border-radius:10px;
	 color:#FFF;
}
.facebook h3{
	 color:#FFF;
}
.facebook button{
	 background-color:#FFF;
	 color:#4267b2;
	 font-weight:bold;
	 box-shadow:0px 5px 1px -1px rgba(0,0,0,0.15);
	 margin-bottom:1rem;
}
/*
----------------------------------------------------------------
リンク
----------------------------------------------------------------
*/
#link li a{
	border:3px solid #CCC;
	text-align:center;
	display:block;
	margin:5px auto;
}
#link li a:hover{
	border-color:#090;
}
/*
----------------------------------------------------------------
連絡先
----------------------------------------------------------------
*/
#contact .map{/*GoogleMap設定*/
	width:100%;
	height:350px;
	border:1px solid #DDD;
}
#contact ul li dl{
	border-radius:5px;
}
#contact ul li dt{
	color:#090;
	font-size:1.5rem;
	text-align:center;
	padding:3px 0;
	border-bottom:2px solid #090;
}
#contact ul li dd{
	font-size:1.4rem;
	text-align:center;
	margin-top:5px;
	font-weight:bold;
}
#contact ul li dd.tel a{
	color:#212529;
}

table.contact{
	border-collapse:collapse;
}

table.contact th,
table.contact td{
	border:10px solid #FFF;
	border-left:none;
	border-right:none;
	font-size:1.2rem;
	font-weight:bold;
	line-height:1;
}

table.contact th{
	background-color:#5AB02D;
	color:#FFF;
	text-align:center;
	transform: skewX(-10deg);
	padding:.5rem .5rem;
	font-size:1rem;
}
table.contact th span{
	display:block;
	transform: skewX(10deg);
}
table.contact th i{
	margin-right:.3rem;
	font-size:larger;
}
table.contact td{
	color:#212529;
	padding:.5rem 0 .5rem .5rem;
}
table.contact td a{
	color:#212529;
}

/*
-------------------------------------------------------------------------------
フォーム設定
-------------------------------------------------------------------------------
*/


div.form-attention{
	border:2px solid #C00;
	padding:.5rem;
	margin:15px auto;
	border-radius:4px;
}
div.form-attention p{
	margin:0 0 .5rem 0;
	font-size:1rem;
	font-weight:bold;
}
div.form-attention ul{
	list-style:none;
	padding:0;
	margin:0;
}
div.form-attention ul li{
	color:#C00;
	font-size:.9rem;
}

div.form-attention ul li:before{
	font-family:"Font Awesome 5 Free";
	white-space: pre;
	content : "\f058  ";
	font-weight:900;
}



.join{
	margin-top:1rem;
}
.join h1{
	text-align:center;
	font-size:1.5rem;
	font-weight:bold;
}
.join p.head{
	font-weight:bold;
	font-size:1rem;
	color:#FFF;
	margin:3rem 0 .5rem 0;
	background-color:#090;
	padding:.3rem;
}
.join p.head:before{
	font-family:"Font Awesome 5 Free";
	white-space: pre;
	content : "\f044";
	font-weight:900;
	margin-right:.5rem;
}



table.form-frame{
	width:100%;
	border:1px solid #DDD;
	border-collapse:collapse;
}
table.form-frame tr th,
table.form-frame tr td{
	border:1px solid #CCC;
	font-size:1rem;
	line-height:130%;
	padding:5px;
	font-weight:normal;
	text-align:left;
}
table.form-frame tr th{
	background-color:#EEEEEE;
	width:25%;
	font-weight:bold;
	font-size:.9rem;
}

table.form-frame tr td{
word-break: break-all;
}

/*フォームバリデーション*/

table.form-frame tr.form-attention th,
table.form-frame tr.form-attention td{
	border:4px solid #C00;
}
table.form-frame tr.form-attention th{
	border-right:1px solid #CCC;
	color:#C00;
}
table.form-frame tr.form-attention th:before{
	font-family:"Font Awesome 5 Free";
	white-space: pre;
	content : "\f058  ";
	font-weight:900;
}

table.form-frame tr.form-attention td{
	border-left:1px solid #CCC;
}
@media screen and (max-width:768px){
table.form-frame tr.form-attention th{
	border-right:4px solid #C00;
	border-bottom:none;
	color:#C00;
}
table.form-frame tr.form-attention td{
	border-left:4px solid #C00;
	border-top:1px solid #CCC;
}
}

table.form-frame tr td label.radio{
    display: block;
    margin:5px 0;
	padding:0;
	line-height:1;
}
@media screen and (max-width:768px){

table.form-frame tr th,
table.form-frame tr td{
    display: block;
    border-left: none;
    border-right: none;
    width: auto;
}
table.form-frame tr:first-child th{
    border-top: none;
}
table.form-frame tr.form-attention:first-child th{
    border-top:4px solid #C00;
}
table.form-frame tr td{
	border-top:none;
	border-bottom:none;
}
table.form-frame tr td label.radio{
	display:block;
	border:1px solid #DDD;
	background-color:#F3F3F3;
	padding:15px;
	margin:-1px 0 0 0;
	line-height:100%;

	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #EEE), color-stop(0.00, #fff));
	background: -webkit-linear-gradient(#fff, #EEE);
	background: -moz-linear-gradient(#fff, #EEE);
	background: -o-linear-gradient(#fff, #EEE);
	background: -ms-linear-gradient(#fff, #EEE);
	background: linear-gradient(#fff, #EEE);
}
table.form-frame tr td select{
	padding-right:0px;
	background-position:100% 50%;
	background-repeat:no-repeat;
	background-size:18px 12px;
}

table.form-frame tr td.radio label:first-child{
	border-top-left-radius:5px;
	border-top-right-radius:5px;
}
table.form-frame tr td.radio label:last-child{
	border-bottom-left-radius:5px;
	border-bottom-right-radius:5px;
}
}



table.form-frame tr td label.radio input{
    margin: 0 5px 0 0;
}


table.form-frame tr td input,
table.form-frame tr td textarea,
table.form-frame tr td select{
	padding: .375rem .75rem;
    border: 1px solid #ced4da;
    vertical-align: middle;
	border-radius:0.25rem;
}

table.form-frame tr td input[type=text],
table.form-frame tr td input[type=password],
table.form-frame tr td input[type=email],
table.form-frame tr td input[type=tel],
table.form-frame tr td input[type=number],
table.form-frame tr td textarea,
table.form-frame tr td select{
	width:100%;
}


.ime-active{
	ime-mode:active;
}
.ime-inactive{
	ime-mode:inactive;
}
textarea{
	height:200px;
}


span.essential{
	color:#CC0000;
	padding:0px 2px 0px 4px;
	font-size:0.9rem;
}


table.form-frame tr td span{
	color:#666;
	padding:0px 0px 0px 5px;
}

table.form-frame tr td div.baloon{
	position: relative;
	background-color:#C00;
	padding:10px;
	border-radius:4px;
	margin:7px 0 0 0;
	width:auto;
	white-space:normal;
}

table.form-frame tr td div.baloon:before{
	content: "";
	position: absolute;
	top: -20px;
	left: 20px;
 	margin-left: -10px;
	border: 10px solid transparent;
	border-bottom: 15px solid #C00;
}

table.form-frame tr td div.baloon p{
	color:#FFF;
	white-space:normal;
	line-height:140%;
	font-size:0.9rem;
	margin:0;
}

table.form-frame tr td p.caution,
.form-group p.caution{
	font-size:0.9rem;
	margin:5px 0 0 0;
}


table.form-frame tr.catalog td input{

}


table.form-frame tr td p.formAlert{
	color:#FFF;
	background-color:#C00;
	padding:10px;
	margin:10px 10px 0 0;
	border-radius:5px;
}
table.form-frame tr td p.formAlert strong{
	display:block;
	margin:0 0 0.5em 0;
}
table.form-frame tr td p.formAlert strong span{
	color:#FFF;
	font-weight:normal;
}

table.form-frame tr td div.paydetail{
/*	background-color:#FFFFF0;
	border:dotted 1px #555555;
	font-size:12px;
	height:auto;
	line-height:125%;
	margin-top:5px;
	padding:10px;
	width:384px;*/
	background-color:#FEF8ED;
	margin:5px 0;
	border:1px solid #FCD6BC;
	border-radius:4px;
	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	padding:10px;
	color:#C00;
	line-height:140%;
}

/*フォームパーツ幅指定*/
.cw-num{
	width:6rem !important;
}
.cw-short{
	width:12rem !important;
}
.cw-mid{
	width:24rem !important;
}
.cw-long{
	width:32rem !important;
}
.cw-auto{
	width:auto !important;
}
.cw-full{
	width:100% !important;
}
@media screen and (max-width:768px){
.cw-short,
.cw-mid,
.cw-long,
.cw-auto{
	width:100% !important;
}
}
table.form-frame p.caution:before {
    font-family: "Font Awesome 5 Free";
    white-space: pre;
    content: "\f05a";
    font-weight: 900;
}

p.caution, ul.caution {
    color: ##069;
    text-align: left;
    font-weight: normal;
    list-style: none;
    word-break: break-all;
    font-size: 0.9rem;
}
.caution {
    color: #C00;
    background-color: #FCC;
    margin: 2rem auto;
    padding: 10px;
    border-radius: 5px;
}
p.input-file{
	margin:0;
	font-size:.9rem;
	font-weight:bold;
}

input[type="file"]:hover{
	border:1px dashed #DDD;
	opacity:0.7;
}
input[type="file"]::-webkit-file-upload-button{
	background-color:#04C;
	color:#FFF;
	border:none;
	padding:.2rem .5rem;
	border-radius:3px;
}

/*
-------------------------------------------------------------------------------
画面遷移ボタン
-------------------------------------------------------------------------------
*/

div.form-transit{
	margin-top:32px;
	margin-bottom:32px;
}
div.form-transit div button{
	font-size:1.0rem;
	padding:20px 15px;
	background-color:#04C;
	border:3px solid #04C;
	font-weight:bold;
	box-shadow:0px 3px 0px 0px rgba(0,0,0,0.2);
	border-radius:5px;
	color:#FFF;
}

@media screen and (max-width:768px){
div.form-transit div button{
	width:100%;
	padding:15px 0px;
	font-size:0.8rem;
	font-weight:normal;
}

}
div.form-transit div{
	text-align:center;
}
div.form-transit div.prev{
	text-align:left;
}
div.form-transit div.back{
	text-align:center;
}
div.form-transit div.next{
	text-align:right;
}

div.form-transit div.prev button,
div.form-transit div.back button{
	background-color:#FFF;
	color:#04C;
}

div.form-transit div button:after{
}
div.form-transit div.prev button:after{
	content :none;
}
div.form-transit div.prev button:before,
div.form-transit div.back button:before{
	font-family:"Font Awesome 5 Free";
	content : "\f137";
	font-weight:900;
	margin-right:3px;
}
div.form-transit div.next button:after{
	font-family:"Font Awesome 5 Free";
	content : "\f138";
	font-weight:900;
	margin-left:3px;
}


.form-transit div button.amazon{
	background-color:#f79901;
	color:#000;
	font-size:1.2rem;
	border-color:#f79901;
}

div.form-transit div.return p{
    margin-top: 3rem;
    font-size: 0.9rem;
}

/*
----------------------------------------------------------------
エラー
----------------------------------------------------------------
*/
h1.error{
	text-align:center;
	font-size:2rem;
	font-weight:bold;
	margin:2rem 0;
}



/*
----------------------------------------------------------------
フッター
----------------------------------------------------------------
*/

footer{
	text-align:center;
	padding:40px 0;
}

