/* カスタマイズ用CSS */

/* Common
-------------------------------------------------------------- */
/** Noto Sans **/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

body { 
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
	font-size: 16px;
	font-feature-settings: "palt";
	line-height: 1.7;
	color: #000;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: grayscale;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/**
 * 見出し
**/
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    margin-bottom: 45px;
    margin-top: 0;
    line-height: 1.4;
}
h2.tit_normal { 
    font-size: 18px;
    margin-bottom: 30px;
}
@media screen and (min-width: 768px), print {
    h2.tit_normal { font-size: 20px; }
}

img { max-width: 100%;}
img.border {
    display: block;
    width: 100%;
    background: #fff;
    padding: 1px;
    border: 1px solid #ccc;
}
a {
  color: #41b8fc;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}
a:hover {
  color: #fcb34c;
  outline: none;
  opacity: 0.8;
  text-decoration: underline;
}
a:focus { text-decoration: none;}
/**
a:hover img,
.ec-blockTopBtn:hover
{ opacity: 0.8 !important;}
**/
a img,
button,
.ec-blockTopBtn
{
  -webkit-transition: 0.5s !important;
  -o-transition: 0.5s !important;
  transition: 0.5s !important;
  text-decoration: none;
}
/** スマホ電話番号リンク表示 **/
.tel_link a,
.tel_link a:hover,
.tel_link a:hover img
{
	color: #000;
	text-decoration: none;
	opacity: 1.0;
}
.tel_link:hover img { opacity: 1.0; }

a.tel_link,
a.tel_link:hover
{
	color: #000;
	text-decoration: none;
	opacity: 1.0;
}
a.tel_link:hover img { opacity: 1.0; }
a.link_target {
    display: inline-block;
	background: url("images/icon-target_link.png") right 6px no-repeat;
    background-size: 14px;
    padding-right: 23px;
}
/** target pdf リンク **/
a.icon-pdf {
    display: inline-block;
    min-height: 50px;
    background: url("images/icon-pdf.png") no-repeat;
    background-size: 36px;
    padding-left: 50px;
	word-break: break-all;
}
a.icon-pdf_middle {
    display: inline-block;
    background: url("images/icon-pdf.png") no-repeat;
    background-size: 36px;
    min-height: 50px;
    word-break: break-all;
    padding-top: 10px;
    padding-left: 48px;
}
a.icon-pdf_middle.normal {
    background: url("images/icon-pdf.png") no-repeat;
    background-size: 30px;
    min-height: 50px;
    word-break: break-all;
    padding-top: 8px;
    padding-left: 42px;
}

iframe { max-width: 100%; }

/** 
 * 見出し
**/ 
.ec-pageHeader h1, .ec-pageHeader .h1 {
    border-top: none;
    border-bottom: 1px solid #ccc;
    margin: 0 0 30px;
    padding: 0 0 8px;
    font-size: 18px;
    font-weight: bold;
}
@media screen and (min-width: 768px), print {
    .ec-pageHeader h1, .ec-pageHeader .h1 {
        margin: 0 0 48px;
        font-size: 25px;
    }
}    
   
/** 
 * 動画掲載
**/ 
.movie iframe {
    width: 100%;
    height: 200px;
}
@media screen and (min-width: 481px), print {
    .movie iframe {　height: 315px; }
}
@media screen and (min-width: 768px), print {
    .movie iframe { height: 450px; }
}

/**
 * ブロッククウォート
**/
blockquote {
    font-style: italic;
    margin: 40px 0;
    padding: 2px 8px 2px 15px;
    border-left: 5px solid #ccc;
}
@media screen and (min-width: 481px), print {
    blockquote { padding-left: 20px; }
}

.bg-load-overlay {
    display: none !important;
}

/*---------------------------------------------------------------
　ヘッダー
---------------------------------------------------------------*/
/**
 * ロゴ
**/ 
.ec-headerTitle__title h1 img {
    display: block;
    width: 100%;
    max-width: 130px;
    margin: 0 auto;
}
@media screen and (min-width: 481px), print {
   .ec-headerTitle__title h1 img { max-width: 200px ; } 
}    
.ec-headerTitle__title a:hover img { opacity: 1.0 !important; }

/**
 * 検索窓
**/
@media screen and (min-width: 768px), print {
    .ec-headerSearch .ec-headerSearch__category .ec-select select {
        max-width: 165px;
        height: 31px;
        padding: 6px 24px 8px 8px;
    }
}

/**
 * 各種アイコン表示
**/
@media screen and (max-width: 767px), print {
    .ec-headerNaviRole .ec-headerNaviRole__left {
        width: 20% !important;
    }
    .ec-headerNaviRole .ec-headerNaviRole__right {
        width: 80% !important;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
}


/*---------------------------------------------------------------
　グローバルナビ
---------------------------------------------------------------*/
@media screen and (min-width: 768px), print {
    .ec-categoryNaviRole {
        display: block;
        width: 100%;
        max-width: 100%;
        height: 50px;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
        font-size: 16px;
        line-height: 1.4;
        color: #fff;
        -webkit-text-size-adjust: 100%;
        background: #fdb43f;
    }
    .ec-itemNav {
        padding: 0;
        width: 100%;
        max-width: 1350px;
        height: 100%;
        text-align: center;
        margin: 0 auto;
        border-left: 1px solid #f39208;
        border-right: 1px solid #fabd68;
    }
    .ec-itemNav__nav {
        width: 100%;
        height: 100%;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto;
    }
    .ec-itemNav__nav li {
        display: block;
        float: none;
        width: 20%;
        height: 100%;
        border-right: 1px solid #f39208;
        border-left: 1px solid #fabd68;
    }
    /**
    .ec-itemNav__nav li:nth-of-type(6) { width: 16.5%; }
    **/
    .ec-itemNav__nav li a {
        width: 100%;
        height: 100%;
	    display: -webkit-flex;
	    display: flex;
	    -webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
	    border-bottom: none;
        -webkit-align-items: center;
	    align-items: center;
	    -webkit-justify-content: center;
		justify-content: center;
		margin: 0;
		padding: 0 10px;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.4;
		text-decoration: none;
        text-align: center;
        background: #fcb34c;
    }
    .ec-itemNav__nav > li:hover > a { background: #fdc270; }
    .ec-itemNav__nav > li:hover > a:hover { opacity: 1.0; }
}

/*---------------------------------------------------------------
　フッター
---------------------------------------------------------------*/
.ec-footerRole { 
    background: #edf2f7;
    border-top: none;
    color: #2d3748;
    padding-top: 40px !important;
}
body.front_page .ec-footerRole { margin-top: 0 !important; } /** トップページ **/
.ec-footerRole .ec-footerRole__inner {
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    max-width: 1190px !important;
}
.ec-footerTitle { padding-bottom: 40px !important; }

/**
 * ロゴ
**/ 
.ec-footerTitle__logo img {
    display: block !important;
    width: 100% !important;
    max-width: 130px !important;
    margin: 0 auto !important;
}
@media screen and (min-width: 481px), print {
   .ec-footerTitle__logo img { max-width: 200px !important; } 
}    
.ec-footerTitle__logo a:hover img,
.ec-footerTitle__logo a:hover { 
    opacity: 1.0 !important;
}

/**
 * フッターメニュー表示
**/ 
ul.list_footer-menu { 
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 0 !important;
	list-style: none;
}
ul.list_footer-menu > li {
    width: 100%;
    margin-bottom: 30px;
}
@media screen and (min-width: 576px), print {
    ul.list_footer-menu > li {
        width: 48%;
        margin-right: 4%;
    }
    ul.list_footer-menu > li:nth-of-type(2n) { margin-right: 0; }
} 
@media screen and (min-width: 768px), print {
    ul.list_footer-menu > li {
        width: 28%;
        margin-right: 8%;
    }
    ul.list_footer-menu > li:nth-of-type(2n) { margin-right: 8%; }
    ul.list_footer-menu > li:nth-of-type(3n) { margin-right: 0; }
}
@media screen and (min-width: 1150px), print {
    ul.list_footer-menu > li {
        width: 19.6%;
        margin-right: 7.2%;
    }
    ul.list_footer-menu > li:nth-of-type(2n) { margin-right: 7.2%; }
    ul.list_footer-menu > li:nth-of-type(3n) { margin-right: 7.2%; }
    ul.list_footer-menu > li:nth-of-type(4n) { margin-right: 0; }
}
ul.list_footer-menu h5 {
    font-size: 18px;
    color: #171923;
    display: inline-block;
    padding-bottom: 8px;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
}
ul.list_footer-menu h5::after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
    width: 100%;
    border-bottom: 2px solid #f3a12a;
    border-bottom-color: #f3a12a;
    z-index: 2;
}
ul.list_footer-menu .wrap_title {
    border-bottom: 1px solid #d9e1e9;
    margin-bottom: 20px;
}
ul.list_footer-menu ul.nav_footer-menu {
    list-style-type: disc;
    padding-left: 18px;
}
ul.list_footer-menu ul.nav_footer-menu li { 
    margin-bottom: 15px;
    font-size: 16px;
}
ul.list_footer-menu ul.nav_footer-menu li:nth-last-of-type(1) { margin-bottom: 0; }
ul.list_footer-menu ul.nav_footer-menu li a { color: #2d3748; }
ul.list_footer-menu ul.nav_footer-menu li a:hover { text-decoration: underline; }

/**
 * コピーライト
**/ 
.ec-footerTitle .ec-footerTitle__copyright { 
    color: #2d3748;
    font-size: 14px;
}

/**
 * ページトップ戻るボタン
**/ 
.ec-blockTopBtn {
    display: none;
    position: fixed;
    width: 60px;
    height: 60px;
    right: 10px;
    bottom: 10px;
    cursor: pointer;
    color: #FFFFFF;
    text-align: center;
    line-height: 40px;
    opacity: 1.0;
    background-color: transparent;
    background: url("https://kifunone.com/html/template/default/assets/img/css/bt-top.png") no-repeat;
	background-size: 60px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
@media screen and (min-width: 481px), print {
    .ec-blockTopBtn { 
        right: 30px;
        bottom: 30px;
    }
}    
.ec-blockTopBtn:hover { opacity: 0.8 !important; }


/* レイアウト
-------------------------------------------------------------- */
.ec-layoutRole .ec-layoutRole__contents { max-width: 1190px; }
.ec-role {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.7;
    color: #000;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1190px;
}
@media screen and (max-width: 480px), print {
    .ec-role.prl10 {
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media screen and (min-width: 768px), print {
    .ec-layoutRole .ec-layoutRole__main { margin-top: 50px; }
    body.front_page .ec-layoutRole .ec-layoutRole__main { margin-top: 0; } /** トップページ **/
    .ec-off1Grid .ec-off1Grid__cell {
        width: 100%;
        margin: 0;
    }
}    


/* トップページ
-------------------------------------------------------------- */
/*---------------------------------------------------------------
　トップイメージ／スライドショー
---------------------------------------------------------------*/
/** 
 * 既存スライド非表示
**/
.ec-sliderRole { display: none; }

/**
 * トップ画像（スライドショー）エリア
**/ 
.slider-wrapper {
    background: url("https://kifunone.com/html/template/default/assets/img/top/mainimage1.jpg") left top no-repeat;
	background-size: cover;
	height: 160px;
}
@media screen and (min-width: 768px), print {
    .slider-wrapper { height: 645px; }    
}    

/*---------------------------------------------------------------
　導入コンテンツ
---------------------------------------------------------------*/
.area_intro {
    padding: 0 0 50px;
    background: #f5f5f5;
}
.area_intro h2 {
    font-size: 18px;
    margin-bottom: 50px;
    text-align: center;
}
.area_intro h3 {
    font-size: 16px;
    margin-bottom: 30px;
    text-align: center;
    line-height: 1.7;
}
@media screen and (min-width: 481px), print {
    .area_intro { 
        padding: 50px 20px;
    }
}    
@media screen and (min-width: 768px), print {
    .area_intro { 
        padding: 80px 20px;
    }
    .area_intro h2 { 
        font-size: 20px;
        margin-bottom: 100px;
    }
    .area_intro h3 { font-size: 18px; }
}
ul.list_intro-contents { 
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 0 !important;
	list-style: none;
}
ul.list_intro-contents li { margin-bottom: 40px; }
ul.list_intro-contents li:nth-last-of-type(1) { margin-bottom: 0; }
ul.list_intro-contents li .area_image { margin-bottom: 30px; }
ul.list_intro-contents li .area_image img {
    display: block;
    margin: 0 auto;
    max-width: 400px;
}
ul.list_intro-contents li .area_text  h4 { 
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 0;
    line-height: 1.7;
}
@media screen and (min-width: 768px), print {
    ul.list_intro-contents li {
        width: 28.6%;
        margin-right: 7.1%;
    }
    ul.list_intro-contents li:nth-of-type(3n) { margin-right: 0; }
    ul.list_intro-contents li { margin-bottom: 0; }
    ul.list_intro-contents li .area_image img { max-width: 200px; }
}    

/**
 * ボタンエリア
**/ 
ul.list_btngroup {
    width: 100%;
    max-width: 850px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto 50px;
	padding: 0 !important;
	list-style: none;
	border-bottom: 1px solid #fff;
}
ul.list_btngroup li { width: 50%; }
ul.list_btngroup li a {
    display: block;
    border-right: 1px solid #ccc;
    padding: 14px 0;
    text-align: center;
    color: #000;
    background: #fff;
}
ul.list_btngroup li a:hover {
    text-decoration: none;
    opacity: 0.8;
}
ul.list_btngroup li:nth-of-type(2n) a { border-right: none; }
@media screen and (min-width: 481px) and (max-width: 767px), print {
    ul.list_btngroup {  
        border-bottom: none;
        margin-bottom: 50px;
    }
    ul.list_btngroup li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px;
    }
    ul.list_btngroup li:nth-of-type(2n) { margin-right: 0; }
    ul.list_btngroup li:nth-last-of-type(1) { margin-bottom: 0; }
    ul.list_btngroup li a {
        border-radius: 50px;
        border-right: none;
        padding: 14px 20px;
        font-size: 18px;
        box-shadow: 0 3px 6px 0 rgb(82, 42, 42, 0.35);
    }    
}    
@media screen and (min-width: 768px), print {
    ul.list_btngroup {  
        border-bottom: none;
        margin-bottom: 60px;
    }
    ul.list_btngroup li {
        width: 47.1%;
        margin-right: 5.8%;
    }
    ul.list_btngroup li:nth-of-type(2n) { margin-right: 0; }
    ul.list_btngroup li a {
        border-radius: 50px;
        border-right: none;
        padding: 14px 20px;
        font-size: 18px;
        box-shadow: 0 3px 6px 0 rgb(82, 42, 42, 0.35);
    }    
}    


/*---------------------------------------------------------------
　プロジェクト一覧表示
---------------------------------------------------------------*/
.area_project {
    padding: 50px 0 30px;
    background: #fffac4 ;
}
@media screen and (min-width: 768px), print {
    .area_project { padding: 80px 0; }
}
.area_project h2 {
    font-size: 18px;
    padding: 0 20px;
    margin-bottom: 50px;
    text-align: center;
}
@media screen and (min-width: 768px), print {
    .area_project h2 {
        font-size: 20px;
        margin-bottom: 90px;
    }
}    
ul.list_project{ 
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 0 !important;
	list-style: none;
}
ul.list_project > li {
	width: 48.5%;
	margin-right: 3%;
	margin-bottom: 20px;
}
ul.list_project > li:nth-of-type(2n) { margin-right: 0;}
ul.list_project li a:hover { text-decoration: none; }
ul.list_project li .area_text { margin-bottom: 20px; }
ul.list_project li .area_progress { margin-bottom: 10px; }
ul.list_project li .item {
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
ul.list_project li .item_inner { padding: 15px 10px 5px;}
ul.list_project h4.title { 
    font-size: 18px;
    text-align: center;
    margin-bottom: 10px;
}
ul.list_project h4.title a{
	color: #000;
	margin-bottom: 10px;
}
ul.list_project h5.excerpt { 
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 0;
}
ul.list_project li img { width: 100%;}
ul.list_project li img {
	display: block;
	width: 100%;
	border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
@media screen and (min-width: 768px), print {
    .area_project { padding: 80px 0 30px; }
	ul.list_project > li {
		width: 31%;
		margin-right: 3.5%;
		margin-bottom: 50px;
	}
	ul.list_project > li:nth-of-type(2n) { margin-right: 3.5%;}
	ul.list_project > li:nth-of-type(3n) { margin-right: 0;}
    ul.list_project li .item_inner { padding: 20px 20px 10px;}
}
@media screen and (min-width: 1150px), print {
	ul.list_project > li {
		width: 23.2%;
		margin-right: 2.4%;
	}
	ul.list_project > li:nth-of-type(2n) { margin-right: 2.4%;}
	ul.list_project > li:nth-of-type(3n) { margin-right: 2.4%;}
	ul.list_project > li:nth-of-type(4n) { margin-right: 0;}
}

/**
 * 残り日数表示
**/ 
.area_date { margin-bottom: 20px; }
.date_status {
    display: inline-block;
    background: url("https://kifunone.com/html/template/default/assets/img/css/icon-clock.png") left 5px center no-repeat;
	background-size: 15px;
	min-height: 15px;
	padding: 5px 5px 5px 25px;
	font-size: 16px;
	font-weight: bold;
	color: #fd4e88;
	border: 1px solid #fd4e88;
	border-radius: 5px;
}

/**
 * 進捗バー
**/ 
.progress-bar {
    width: 100%;
    height: 12px;
    position: relative;
    background: transparent;
}
.progress-bar_inner {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    border-radius: 6px;
    width: 100%;
    background: #e2e8f0;
    min-width: 14px;
}
.progress-bar_inner2 {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    border-radius: 6px;
    width: 35.11%;
    background: #fd4e88;
    min-width: 14px;
}
.progress-bar_point {
    width: 6px;
    height: 6px;
    position: absolute;
    right: 4px;
    bottom: 3px;
    border-radius: 3px;
    background: #fff;
}

/**
 * 応援金額表示
**/ 
.price-stack { margin: 0 auto 20px; }
.price-stack p {
     display: inline-block;
     margin: 0;
}
p.price-text_current {
    font-size: 18px;
    font-weight: bold;
}
p.price-text_target {
    font-size: 14px;
    color: #333;
}

/**
 * カテゴリ表示
**/ 
ul.list_project h3.cat_name {
    max-width: 200px;
    margin: 0 auto 15px;
    font-size: 20px;
    border-radius: 5px;
}
ul.list_project h3.cat_name a {
    display: block;
    color: #fff;
    text-align: center;
    padding: 5px 10px;
    border-radius: 5px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
/** 教育 **/
ul.list_project h3.cat_name.kyoiku a { background: #00a6d9; }
/** 動物保護 **/
ul.list_project h3.cat_name.dobutsu-hogo a { background: #f5a20b; }
/** 環境問題 **/
ul.list_project h3.cat_name.kankyo-mondai a { background: #28a838; }
/** 地域創生 **/
ul.list_project h3.cat_name.chiki-sosei a { background: #407936; }
/** 障害者雇用 **/
ul.list_project h3.cat_name.shogaisha-koyo a { background: #d6a600; }
/** 貧困 **/
ul.list_project h3.cat_name.hinkon a { background: #ef6577; }

/**
 * 応援ボタン
**/ 
ul.btngroup_oen { 
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 0 !important;
	list-style: none;
}
ul.btngroup_oen li {
	width: 100%;
	margin-bottom: 10px;
	border-radius: 5px;
}
@media screen and (min-width: 481px), print {
    ul.btngroup_oen li {
        width: 48.5%;
	    margin-right: 3%;
	    margin-bottom: 10px;
    }
    ul.btngroup_oen li:nth-of-type(2n) { margin-right: 0;}
}    
ul.btngroup_oen li a {
    display: block;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 5px 10px;
    background: #feb52d;
	border-radius: 5px;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px 0 rgba(0, 0, 0, 0.06);
    line-height: 1.4;
}
ul.btngroup_oen li a:hover { 
    text-decoration: none;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
ul.btngroup_oen li a br { display: none; }
@media screen and (min-width: 768px) and (max-width: 820px), print {
    ul.btngroup_oen li a br { display: inline-block; }
}    

/*---------------------------------------------------------------
　プログラムを立ち上げたい
---------------------------------------------------------------*/
.area_sodan {
    padding: 50px 0;
    background: url("https://kifunone.com/html/template/default/assets/img/css/bg_project-sodan.jpg") center no-repeat;
	background-size: cover;
}
.area_sodan h2 {
    font-size: 20px;
    color: #fff;
    text-align: center;
    margin-bottom: 30px;
    /**
    text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.7),
    -1px -1px 10px rgba(0, 0, 0, 0.7);
    **/
}
.area_sodan h3 {
    font-size: 16px;
    color: #fff;
    text-align: center;
    margin-bottom: 30px;
    /**
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7),
    -1px -1px 5px rgba(0, 0, 0, 0.7);
    **/
    line-height: 1.7;
}
@media screen and (min-width: 768px), print {
    .area_sodan { padding: 110px 0; }
    .area_sodan h2 {
        font-size: 36px;
        margin-bottom: 50px;
    }
    .area_sodan h3 { 
        font-size: 18px;
        margin-bottom: 50px;
    }
}
/**
 * ボタン
**/ 
.area_sodan .btn_detail a {
        display: block;
        border-radius: 50px;
        border-right: none;
        padding: 14px 20px;
        font-size: 18px;
        box-shadow: 0 3px 6px 0 rgb(82, 42, 42, 0.35);
        margin: 0 auto;
        text-align: center;
        color: #000;
        background: #fff;
}
.area_sodan .btn_detail a:hover { text-decoration: none; }
@media screen and (min-width: 768px), print {
    .area_sodan .btn_detail a { max-width: 400px; }
}

/*---------------------------------------------------------------
　広告バナー表示
---------------------------------------------------------------*/
.area_kokoku {
    padding: 50px 0 30px;
    background: #fff;
}
@media screen and (min-width: 768px), print {
    .area_kokoku { padding: 80px 0 30px; }
}
.area_kokoku h2 {
    font-size: 18px;
    padding: 0 20px;
    margin-bottom: 50px;
    text-align: center;
}
@media screen and (min-width: 768px), print {
    .area_kokoku h2 {
        font-size: 20px;
        margin-bottom: 90px;
    }
}    
ul.list_kokoku { 
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 0 !important;
	list-style: none;
}
ul.list_kokoku > li {
	width: 48.5%;
	margin-right: 3%;
	margin-bottom: 20px;
	border-radius: 5px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
ul.list_kokoku > li:nth-of-type(2n) { margin-right: 0;}
ul.list_kokoku li img {
	display: block;
	width: 100%;
	border-radius: 5px;
	background: #fff;
	padding: 1px;
	border: 1px solid #ccc;
}
@media screen and (min-width: 768px), print {
	ul.list_kokoku > li {
		width: 31%;
		margin-right: 3.5%;
		margin-bottom: 50px;
	}
	ul.list_kokoku > li:nth-of-type(2n) { margin-right: 3.5%;}
	ul.list_kokoku > li:nth-of-type(3n) { margin-right: 0;}
}
@media screen and (min-width: 1150px), print {
	ul.list_kokoku > li {
		width: 23.2%;
		margin-right: 2.4%;
	}
	ul.list_kokoku > li:nth-of-type(2n) { margin-right: 2.4%;}
	ul.list_kokoku > li:nth-of-type(3n) { margin-right: 2.4%;}
	ul.list_kokoku > li:nth-of-type(4n) { margin-right: 0;}
}

/*---------------------------------------------------------------
　フッター部カテゴリ一覧表示
---------------------------------------------------------------*/
@media screen and (min-width: 768px), print {
    .ec-categoryRole {
        max-width: 1150px;
        padding: 60px 0;
        margin: 0 auto;
    }
}


/* プロジェクト紹介ページ
-------------------------------------------------------------- */
.contents_project_wrapper { margin: 0 auto; }
.contents_project_inner,
.contents_project_inner2 {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    margin: 0 auto;
}
.contents_project_wrapper h1 { 
    font-size: 20px;
    line-height: 1.7;
    margin-bottom: 10px;
}
@media screen and (min-width: 768px), print {
    .contents_project_wrapper h1 {
        font-size: 30px; 
    }
}
.contents_project_inner main,
.contents_project_inner2 main { 
    display: block;
    width: 100%;
}
.contents_project_inner2 main { margin-bottom: 50px; }
.contents_project_inner aside,
.contents_project_inner2 aside { 
    display: block;
    width: 100%;
}
@media screen and (min-width: 992px), print {
    .contents_project_inner main {
        width: 68.7%;
        margin-right: 3.9%;
    }
    .contents_project_inner aside {
        width: 27.4%;
    }
    .contents_project_inner2 main {
        width: 71.3%;
        margin-right: 3.9%;
        margin-bottom: 0;
    }
    .contents_project_inner2 aside {
        width: 24.8%;
    }
}
.info_kifusaki { 
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    -webkit-align-items: center;
	align-items: center;
    margin: 0 auto 40px;
}
.info_kifusaki p.mark {
    display: inline-block;
    margin: 0 10px 0 0;
    padding: 5px;
    color: #fff;
    font-size: 14px;
    border-radius: 5px;
    background: #fdb43f;
    line-height: 1.4;
}
.info_kifusaki p.text {
    display: inline-block;
    margin: 0;
    line-height: 1.4;
}

/**
 * TOP画像
**/
.contents_project_inner .topimage {
    position: relative;
    border-radius: 5px;
    margin: 0 auto 50px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.contents_project_inner .topimage img {
    display: block;
    width: 100%;
    border-radius: 5px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
@media screen and (min-width: 992px), print {
    .contents_project_inner .topimage { margin-bottom: 80px; }
}

/**
 * 進捗表示
**/
.contents_project_inner .dantai_name {
    background: url("https://kifunone.com/html/template/default/assets/img/css/icon-circle_double_orange.png") no-repeat;
	background-size: 30px;
	min-height: 30px;
    font-size: 18px;
    font-weight: bold;
    padding: 0 0 0 40px;
    margin-bottom: 25px;
}
.contents_project_inner .tit_kingaku {
    color: #4a5568;
    font-size: 15px;
    font-weight: bold;
}
.contents_project_inner .box-kingaku {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    -webkit-align-items: flex-end;
	align-items: flex-end;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 0 auto;
}
.contents_project_inner .box-kingaku p.current_price {
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
}
.contents_project_inner .box-kingaku p.target_price {
    display: inline-block;
    font-size: 14px;
    color: #4a5568;
    padding-bottom: 8px;
}
@media screen and (min-width: 768px), print {
    .contents_project_inner .box-kingaku p.current_price {
        font-size: 30px; 
    }
}

/**
 * 進捗バー
**/ 
.progress-bar2 {
    width: 100%;
    position: relative;
    background: transparent;
    padding-top: 40px;
}
.progress-bar2_inner {
    position: absolute;
    bottom: 0px;
    left: 0px;
    height: 12px;
    border-radius: 6px;
    width: 100%;
    background: #e2e8f0;
    min-width: 14px;
}
.progress-bar2_inner2 {
    position: absolute;
    bottom: 0px;
    left: 0px;
    height: 12px;
    border-radius: 6px;
    width: 35.11%;
    background: #fd4e88;
    min-width: 14px;
}
.progress-bar2_point {
    width: 6px;
    height: 6px;
    position: absolute;
    right: 4px;
    bottom: 3px;
    border-radius: 3px;
    background: #fff;
}
.progress_fukidashi {
    position: absolute;
    padding: 0.25rem;
    font-size: 12px;
	line-height: 1.0;
    transform: translate(50%, -27px);
    border-radius: 5px;
    right: 7px;
    top: 0px;
    color: #fff;
    background: #fd4e88;
    z-index: 1;
}
.progress_fukidashi_arrow {
    position: absolute;
    width: 8px;
    height: 8px;
    background: #fd4e88;
    transform: translateX(-50%) translateY(50%) rotate(45deg);
    bottom: 0px;
    left: 50%;
}

/**
 * 進捗状況表示
**/ 
.contents_project_inner .box-current_status {
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    margin: 25px auto 40px;
}
.contents_project_inner .box-current_status div.current_status {
    display: inline-block;
    padding-left: 15px;
    padding-right: 15px;
    border-right: 1px solid #e2e8f0;
}
.contents_project_inner .box-current_status div.current_status:nth-of-type(1) { padding-left: 0; }
.contents_project_inner .box-current_status div.current_status:nth-last-child(1) { 
    padding-right: 0;
    border-right: none;
}
.contents_project_inner .box-current_status p.caption {
    font-size: 14px;
    color: #4a5568;
    margin-bottom: 0;
}
.contents_project_inner .box-current_status p.status {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
}

/**
 * 購入ボタン（その１）
**/
@media screen and (min-width: 768px), print {
    .contents_project_inner .btngroup_oen li a { 
        padding: 10px;
        font-size: 20px;
    }
}    
@media screen and (min-width: 992px), print {
    .contents_project_inner .btngroup_oen li { 
        width: 100%;
        margin-right: 0;
    }
}

/*---------------------------------------------------------------
　紹介コンテンツ表示
---------------------------------------------------------------*/
/** タブ **/
ul.list_tab {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
    background: url("https://kifunone.com/html/template/default/assets/img/css/tab_line.png") left bottom repeat-x;
    list-style: none;
    padding: 0;
	margin: 0 auto 30px;
}
ul.list_tab li {
    display: inline-block;
    padding: 15px;
    color: #728195;
    font-weight: bold;
    border-bottom: 2px solid #e2e8f0;
}
ul.list_tab li:hover {
    cursor: pointer;
    background: #f7fafc;
    text-decoration: none;
    opacity: 1.0;
}
ul.list_tab li.active {
    color: #fcb34c;
    border-bottom: 2px solid #fcb34c;
}
ul.list_panel {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.list_panel li.change_panel { display: none; }


/**
 * 活動報告表示
**/
.box-katudo_hokoku {
    background: #f7fafc;
    padding: 20px;
    color: #4a5568;
    border-radius: 5px;
}
@media screen and (min-width: 481px), print {
    .box-katudo_hokoku { padding: 40px; }
}

/**
 * リターンコンテンツ表示
**/
.contents_project_inner2 aside h2,
.contents_return h2 {
    font-size: 22px;
    background: url("https://kifunone.com/html/template/default/assets/img/css/icon-present.png") left top 2px no-repeat;
	background-size: 26px;
	min-height: 29px;
    padding: 0 0 0 40px;
    margin-bottom: 30px;
}
@media screen and (min-width: 768px), print {
    .contents_project_inner2 aside h2,
    .contents_return h2 {
        font-size: 25px;
        background: url("https://kifunone.com/html/template/default/assets/img/css/icon-present.png") left top 2px no-repeat;
	    background-size: 30px;
	    min-height: 33px;
        padding: 0 0 0 45px;
    }
}
.box-return {
    padding: 15px;
    margin: 0 auto 30px;
    border: 1px solid #dee1e3;
    border-radius: 5px;
    box-shadow: rgb(33 35 37 / 8%) 0px 2px 6px;
}
.box-return .price {
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #dee1e3;   
}
.box-return .price span.en {
    display: inline-block;
    font-size: 17px;
    margin-left: 5px;
}
.box-return .image {
    margin: 0 auto 20px;
    border-radius: 5px;
}
.box-return .image img {
    display: block;
    width: 100%;
    border-radius: 5px;
}
.box-return h3 {
    font-size: 18px;
    margin-bottom: 10px;
}
.box-return .text {
    font-size: 14px;
    margin: 0 auto 20px;
}
.box-return .oen_btn { border-radius: 5px; }
.box-return .oen_btn a {
    display: block;    
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 14px 10px;
    background: #feb52d;
	border-radius: 5px;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px 0 rgba(0, 0, 0, 0.06);
    line-height: 1.4;
}
.box-return .oen_btn a:hover { 
    text-decoration: none;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/**
 * 見出し
**/
.contents_project_inner2 main .h2_wrap { margin: 50px auto 0; }
.contents_project_inner2 main h2 {
    display: inline-block;
    font-size: 18px;
    padding: 0 0 5px;
    margin-bottom: 25px;
    border-bottom: 2px solid #728195;
}
.contents_project_inner2 main h3 {
    font-size: 18px;
    padding: 10px;
    margin-bottom: 20px;
    border-left: 8px solid #fcb34c;
    background: #fdebac;
}
@media screen and (min-width: 768px), print {
    .contents_project_inner2 main h2 { font-size: 25px; }
    .contents_project_inner2 main h3 {
        font-size: 26px;
        padding: 15px 10px;
    }
}

/**
 * 掲載画像
**/
.contents_project_inner2 main img {
    display: block;
    width: 100%;
    margin: 0 auto 20px;
}

/**
 * プロフィール
**/
.box-profile {
    padding: 40px 0 20px;
    margin-top: 50px;
    margin-bottom: 50px;
    border-top: 1px solid #dee1e3;
    border-bottom: 1px solid #dee1e3;
}
.box-profile h2 {
    font-size: 22px;
    background: url("https://kifunone.com/html/template/default/assets/img/css/icon-face.png") left center no-repeat;
	background-size: 30px;
    min-height: 30px;
    padding: 0 0 0 40px;
    margin-bottom: 30px;
}
.box-profile h3 {
    background: url("https://kifunone.com/html/template/default/assets/img/css/icon-circle_double_orange.png") no-repeat;
	background-size: 30px;
	min-height: 30px;
    font-size: 18px;
    font-weight: bold;
    padding: 0 0 0 40px;
    margin-bottom: 30px;
    line-height: 1.7;
}
@media screen and (min-width: 768px), print {
    .box-profile { padding: 50px 0 30px; }
    .box-profile h2 {
        font-size: 25px;
        background: url("https://kifunone.com/html/template/default/assets/img/css/icon-face.png") left center no-repeat;
	    background-size: 35px;
	    min-height: 35px;
        padding: 0 0 0 45px;
        margin-bottom: 40px;
    }
    .box-profile h3 { margin-bottom: 40px; }
}


/* 商品詳細ページ
-------------------------------------------------------------- */
.ec-productRole {
    margin: 0 auto;
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.7;
    color: #000;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1190px;
}
@media screen and (min-width: 481px), print {
    .ec-productRole {
        padding-left: 20px;
        padding-right: 20px;
    }
}
.ec-headingTitle { color: #000; }

/*---------------------------------------------------------------
　お金で応援
---------------------------------------------------------------*/
ul.list_return_item { 
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 0 !important;
	list-style: none;
}
ul.list_return_item > li {
	width: 48.5%;
	margin-right: 3%;
	margin-bottom: 20px;
}
ul.list_return_item > li:nth-of-type(2n) { margin-right: 0;}
ul.list_return_item li a:hover { text-decoration: none; }
@media screen and (min-width: 768px), print {
	ul.list_return_item > li {
		width: 31%;
		margin-right: 3.5%;
		margin-bottom: 50px;
	}
	ul.list_return_item > li:nth-of-type(2n) { margin-right: 3.5%;}
	ul.list_return_item > li:nth-of-type(3n) { margin-right: 0;}
}
@media screen and (min-width: 1150px), print {
	ul.list_return_item > li {
		width: 23.2%;
		margin-right: 2.4%;
	}
	ul.list_return_item > li:nth-of-type(2n) { margin-right: 2.4%;}
	ul.list_return_item > li:nth-of-type(3n) { margin-right: 2.4%;}
	ul.list_return_item > li:nth-of-type(4n) { margin-right: 0;}
}
ul.list_return_item .box-return { margin-bottom: 0; } 
ul.list_return_item .box-return .text { margin-bottom: 0; }

/**
 * 「この団体のプロジェクトを見る」ボタン
**/
.btn_link-project {
    margin: 30px auto;
}
@media screen and (min-width: 481px), print {
    .btn_link-project { max-width: 400px; }    
}
.btn_link-project a {
    display: block;
    padding: 14px 10px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    background: #fcb34c;
    border-radius: 50px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.btn_link-project a:hover {
    text-decoration: none;
    opacity: 0.8;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
@media screen and (min-width: 481px), print {
    .btn_link-project a { 
        padding: 14px 20px;
        font-size: 18px;
    }  
}


/* 商品一覧ページ
-------------------------------------------------------------- */
.ec-searchnavRole  {
    color: #000 !important;
    width: 100%;
    max-width: 1190px !important;
}


/* 「団体を探す」ページ
-------------------------------------------------------------- */
ul.list_social-challenge { 
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 0 !important;
	list-style: none;
}
ul.list_social-challenge > li {
	width: 48.5%;
	margin-right: 3%;
	margin-bottom: 20px;
}
ul.list_social-challenge > li:nth-of-type(2n) { margin-right: 0;}
ul.list_list_social-challenge li a:hover { text-decoration: none; }
@media screen and (min-width: 768px), print {
	ul.list_social-challenge > li {
		width: 31%;
		margin-right: 3.5%;
		margin-bottom: 50px;
	}
	ul.list_social-challenge > li:nth-of-type(2n) { margin-right: 3.5%;}
	ul.list_social-challenge > li:nth-of-type(3n) { margin-right: 0;}
}
@media screen and (min-width: 1150px), print {
	ul.list_social-challenge > li {
		width: 23.2%;
		margin-right: 2.4%;
	}
	ul.list_social-challenge > li:nth-of-type(2n) { margin-right: 2.4%;}
	ul.list_social-challenge > li:nth-of-type(3n) { margin-right: 2.4%;}
	ul.list_social-challenge > li:nth-of-type(4n) { margin-right: 0;}
}
ul.list_social-challenge > li .area_image { margin-bottom: 30px; }
ul.list_social-challenge > li .area_image img {
    display: block;
    width: 100%;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
ul.list_social-challenge > li h3 {
    text-align: center;
    font-size: 16px;
    margin-bottom: 5px;
    padding: 0 10px;
}
ul.list_social-challenge > li h4 {
    text-align: center;
    font-weight: normal;
    font-size: 15px;
    color: #4a5568 !important;
    margin-bottom: 0;
    padding: 0 10px;
}
@media screen and (min-width: 481px), print {
    ul.list_social-challenge > li h3,
    ul.list_social-challenge > li h4 {
        padding: 0 20px;
    }
}
ul.list_social-challenge > li > a {
    display: block;
    color: #000;
    padding: 0 0 30px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
ul.list_social-challenge > li > a:hover {
    text-decoration: none;
    opacity: 1.0;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}


/* よくあるご質問
-------------------------------------------------------------- */
dl.list_qa {
    width: 100%;
    padding-bottom: 10px;
    margin: 0 auto 30px;
    border-bottom: 1px solid #ccc;
}
dt.accordion_head {
    cursor: pointer;
    background: url("https://kifunone.com/html/template/default/assets/img/css/icon-q.png") no-repeat;
    background-size: 35px;
    min-height: 35px;
}
h3.tit_qa {
    cursor: pointer;
    padding: 6px 35px 0 50px;
    margin: 0 0 10px;
    position: relative;
    font-size: 18px;
    font-weight: bold;
}
.tit_qa::before,
.tit_qa::after {
    content: '';
    display: block;
    width: 20px;
    height: 2px;
    background: #ccc;
    position: absolute;
    right: 0px;
    top: 17px;
    transform: translateY(-50%);
}
.tit_qa::after {
    transform: translateY(-50%) rotate(90deg);
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.tit_qa.open::after {
    transform: rotate(0);
    transition: 0.5s;
}
dl.list_qa dd {
    display: none;
    background: url("https://kifunone.com/html/template/default/assets/img/css/icon-a.png") no-repeat;
    background-size: 35px;
    padding: 5px 0 0 50px;
    margin: 0 0 15px;
}
@media (min-width: 768px), print {
    dt.accordion_head {
        background: url("https://kifunone.com/html/template/default/assets/img/css/icon-q.png") no-repeat;
        background-size: 50px;
        min-height: 50px;
        margin-bottom: 20px;
    }
    h3.tit_qa {
        padding: 15px 35px 0 75px;
    }
    dl.list_qa dd {
        background: url("https://kifunone.com/html/template/default/assets/img/css/icon-a.png") no-repeat;
        background-size: 50px;
        padding: 12px 0 15px 75px;
    }
    .tit_qa::before,
    .tit_qa::after {
        width: 25px;
        top: 25px;
    }
}



/* 会員登録ページ
-------------------------------------------------------------- */
.ec-registerRole { color: #000; }


/* お問い合わせページ
-------------------------------------------------------------- */
.ec-contactRole {
    margin: 0 auto;
    padding-left: 20;
    padding-right: 20px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.4;
    color: #000;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1190px;
}
.ec-shelfRole {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.4;
    color: #000;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1190px;
}


/**
 * 個人情報の取扱いについて
 **/
.privacy-policy_box {
	font-size: 15px;
	border: 1px solid #ddd;
	padding: 1px 1px 5px;
	margin: 40px auto 30px;
	background: #fff;
}
.privacy-policy_box h4 {
	font-size: 16px;
	font-weight: bold;
	background: #fbd780;
	padding: 5px 10px;
	margin-bottom: 15px;
}
.privacy-policy_box-inner { padding: 10px; }
.privacy-policy_box-inner p { margin: 0; }
.privacy-policy_box-inner ol.suji li { margin-bottom: 20px; }
.privacy-policy_box-inner ol.kakkosuji li { margin-bottom: 5px; }
@media (min-width: 768px) {
	.privacy-policy_box {
		width: 90%;
	}
    .privacy-policy_box-inner {
        padding: 20px;
    }
}
@media (min-width: 1150px) {
    .privacy-policy_box-inner {
        padding: 20px 20px 20px 40px;
    }
}


/* フォーム
-------------------------------------------------------------- */
/**
#mailformpro ul,
#mailformpro ol {
	list-style: none !important;
}
**/
input,
textarea {
	font-size: 16px;
	border: 1px solid #4173b2;
    border-radius: 4px;
	line-height: 1.5;
	padding: 10px;
	margin: 0;
	color: #101727;
}
input[type="text"],
input[type="tel"],
input[type="url"]
{
    height: 45px;
}
@media screen and (max-width: 767px), print {
	input[type="tel"],
	input.tel,
	input.fax,
	input[type="email"],
    input[type="url"],
	select {
		width: 100% !important;
	}
}
input[type="file"] {
    border: none;
    border-radius: none;
    padding: 5px 0 10px;
}
textarea {
    width: 100% !important;
    height: 150px !important;
}
textarea.h70 {
    height: 70px !important;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus
{
    background-color: #fffbc5;
    border: 2px solid #2c74f3 !important;
    outline: 0;
}

input[type="radio"] {
    display: none;
    position: relative;
    top: 2px;
    cursor: pointer;
}
.radio {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 10px 0 0 38px;
    position: relative;
    width: auto;
    line-height: 1.5;
}
.radio::before {
    background: #fff;
    border: 1px solid #4173b2;
    border-radius: 50%;
    content: '';
    display: block;
    height: 24px;
    left: 0px;
    margin-top: -8px;
    position: absolute;
    top: 19px;
    width: 24px;
}
.radio::after {
    background: #4173b2;
    border-radius: 50%;
    content: '';
    display: block;
    height: 18px;
    left: 9px;
    margin-left: -6px;
    margin-top: -5px;
    opacity: 0;
    position: absolute;
    top: 19px;
    width: 18px;
}
.radio.check-on::after {
    opacity: 1;
}
input[type=radio]:checked + .radio::after {
    opacity: 1;
}

input[type="checkbox"] {
    display: none;
    position: relative;
    top: 1px;
    cursor: pointer;
}
.checkbox,
.checkbox-pad {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px 5px 33px;
    position: relative;
    width: auto;
}
.checkbox-pad {
    display: inline;
}
.checkbox::before,
.checkbox-pad::before {
    background: #fff;
    border: 1px solid #4173b2;
    border-radius: 3px;
    content: '';
    display: block;
    height: 24px;
    left: 0px;
    margin-top: -12px;
    position: absolute;
    top: 19px;
    width: 24px;
}
.checkbox-pad::before {
    top: 15px;
}
@media all and (-ms-high-contrast:none){
    .checkbox::before {/* IE10以降 */
      margin-top: -8px;
    }
    .checkbox-pad::before {/* IE10以降 */
      margin-top: -5px;
    }
}
.checkbox::after,
.checkbox-pad::after {
    border-right: 4px solid #4173b2;
    border-bottom: 3px solid #4173b2;
    content: '';
    display: block;
    height: 28px;
    left: 7px;
    margin-top: -21px;
    opacity: 0;
    position: absolute;
    top: 19px;
    transform: rotate(45deg);
    width: 17px;
}
@media all and (-ms-high-contrast:none){/** IE11 **/
    *::-ms-backdrop, .checkbox::before, .checkbox-pad::before {
        top: 11px;
    }
    *::-ms-backdrop, .checkbox::after, .checkbox-pad::after {
        top: 15px;
    }
}
input[type=checkbox]:checked + .checkbox::after, input[type=checkbox]:checked + .checkbox-pad::after {
    opacity: 1;
}
.checkbox.check-on::after,
.checkbox-pad.check-on::after {
    opacity: 1;
}
label {
    margin-right: 60px;
    margin-bottom: 0px;
    cursor: pointer;
}
@media screen and (max-width: 480px), print {
    label {
        margin-right: 15px;
    }
}
input::placeholder {  color: #bbb;}
/* IE */
input:-ms-input-placeholder { color: #bbb;}
/* Edge */
input::-ms-input-placeholder { color: #bbb;}

/**
 * DatePicker
**/
select.ui-datepicker-year,
select.ui-datepicker-month {
    width: 40% !important;
    font-weight: normal !important;
    padding: 2px 5px !important;
    font-size: 15px !important;
    outline: none !important;
    text-align: center !important;
    height: auto !important;
}
select.ui-datepicker-year { margin-right: 5px!important; }
select.ui-datepicker-month { margin-left: 5px!important; }
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    cursor: pointer;
}
.ui-datepicker-title { font-size: 16px !important; }
#ui-datepicker-div { z-index: 3 !important; }
/** end **/

/**
 * SELECT
**/
select {
    width: 100%;
    height: 45px;
	font-size: 16px;
    color: #101727;
    font-weight: bold;
    background-color: #fff;
    border: 1px solid #4173b2;
    border-radius: 4px;
    display: inline-block;
    line-height: 1.5;
	padding: 10px 2.6em 10px 15px;
    margin: 0 0 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}
select::-ms-expand{/** IE プルダウン矢印消す **/
    display: none;
}
select.off {
    background-color: #f6f6e7;
}
select.classic {
  background-image:
    linear-gradient(45deg, transparent 50%, #fff /* #4173b2 */ 50%),
    linear-gradient(135deg, #fff /* #4173b2 */ 50%, transparent 50%),
    linear-gradient(to right, #94b0d3, #94b0d3);
  background-position:
    calc(100% - 20px) calc(18px + 2px),
    calc(100% - 15px) calc(18px + 2px),
    100% 0;
  background-size:
    5px 5px,
    5px 5px,
    43px 45px;
  background-repeat: no-repeat;
  cursor: pointer;
}
select.classic:focus {
  background-image:
    linear-gradient(45deg, #fff 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, #fff 50%),
    linear-gradient(to right, #678fc1, #678fc1);
  background-position:
    calc(100% - 15px) 19px,
    calc(100% - 20px) 19px,
    100% 0;
  background-size:
    5px 5px,
    5px 5px,
    43px 45px;
  background-repeat: no-repeat;
  border-color: #678fc1;
  outline: 0;
}

label {
	border: none !important;
}
form#mailformpro label.mfp_checked { background-color: transparent !important;}
form#mailformpro label {
	cursor: pointer !important;
	padding-right: 5px !important;
}
/** 時刻欄 **/
.fm_group input.calendar { margin-bottom: 10px; }
.fm_group select.hour,
.fm_group select.minutes {
    width: 85% !important;
    margin-right: 1.2% !important;
    text-align: center;
}
@media (min-width:768px), print {
    /** 時刻欄 **/
    .fm_group.day_time { max-width: 100%; }
    .fm_group input.calendar {
        width: 50% !important;
        margin-right: 40% !important;
    }
    .fm_group select.hour {
        width: 40% !important;
        margin-right: 10px !important;
    }
    .fm_group select.minutes {
        width: 40% !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
    }
}

@media (min-width:992px), print {
    /** 時刻欄 **/
    .fm_group input.calendar { 
        width: 30% !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
    }
    .fm_group select.hour,
    .fm_group select.minutes {
        width: 26% !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
    }
}

dl.form_list,
dl.form_list2 {
	width: 100%;
    margin: 0 auto 30px;
    border-bottom: 1px solid #ccc;
}
dl.form_list > dt,
dl.form_list2 > dt {
    padding: 20px 0 10px;
    text-align: left;
    line-height: 1.5;
}
dl.form_list > dd,
dl.form_list2 > dd {
    padding: 0 0 20px;
    border-bottom: 1px dotted #c9c9c9;
    margin-bottom: 0;
}
dl.form_list > dd:nth-last-of-type(1) { border-bottom: none; }
dl.form_list2 > dd { border-bottom: none; }
dl.form_list_inner1 {
    width: 100%;
    margin: 0 auto;
    border: none !important;
    display: block;
}
dl.form_list_inner1 > dt {
    padding: 0 0 10px;
    text-align: left;
    line-height: 1.5;
}
dl.form_list_inner1 > dd {
    padding: 0 0 10px;
    margin-bottom: 0;
}
dl.form_list_inner1 > dd:nth-last-of-type(1) {
    padding-bottom: 3px;
}
.fm_group {
    width: 100%;
}
@media screen and (min-width: 768px), print {
    .fm_group {
        width: 100%;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}
span.must {
    position: relative;
    top: -1px;
    display: inline-block;
    background-color: #fb5189;
    padding: 3px 4px;
	line-height: 1.2;
    font-size: 12px;
    color: #fff;
    margin-left: 6px;
    border-radius: 4px;
}
dl.form_list_inner1 input {
    width: 100%;
}
/** 郵便番号入力欄 **/
dl.form_list_inner1 input.yubin {
    width: 60%;
    margin-left: 10px;
}
@media screen and (min-width: 481px), print {
    dl.form_list_inner1 input.yubin {
        width: 38%;
    }
}
span.yubin {
    margin-top: 8px;
}
/** URL入力欄 **/
input.siteurl {
    width: 100%;
}
@media screen and (min-width: 768px), print {
    input.siteurl {
        width: 50%;
    }
}
/** メールアドレス入力欄 **/
input.mailaddress {
    width: 100%;
}
@media screen and (min-width: 768px), print {
    input.mailaddress {
        width: 50%;
    }
}
/** 電話番号入力欄 **/
input.tel {
    width: 100%;
}
@media screen and (min-width: 768px), print {
    input.tel {
        width: 40%;
    }
}
/** 一般入力欄 **/
input.normal {
    width: 100%;
}
@media screen and (min-width: 768px), print {
    input.normal {
        width: 40%;
    }
}
/** その他入力欄 **/
input.other {
    width: 100%;
}
@media screen and (min-width: 768px), print {
    input.other {
        width: 100%;
    }
}
@media screen and (min-width: 768px), print {
    dl.form_list {
	    display: -webkit-flex;
	    display: flex;
	    -webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
    }
    dl.form_list > dt {
        width: 28%;
        padding: 30px 40px 7px 0;
        text-align: right;
        border-bottom: 1px dotted #c9c9c9;
    }
    dl.form_list > dd {
        width: 71%;
        padding: 22px 0 25px;
    }
    dl.form_list > dd.text-area {
        padding: 22px 0 15px;
    }
    dl.form_list > dt:nth-last-of-type(1) {
        border-bottom: none;
    }
    /** 都道府県選択欄 **/
    select.todofuken {
        width: 42% !important;
    }
    /** 応援団体選択欄 **/
    select.oendantai {
        width: 50% !important;
    }
}
@media screen and (min-width: 900px), print {
    dl.form_list_inner1 {
	    display: -webkit-flex;
	    display: flex;
	    -webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
    }
    dl.form_list_inner1 > dt {
        width: 14%;
        padding: 9px 20px 0 0;
        text-align: left;
    }
    dl.form_list_inner1 > dd {
        width: 85%;
        padding: 0 0 10px;
    }
}
/** 寄付品目、寄付率欄 **/
dl.form_list > dd.item label { display: block;}
@media screen and (min-width: 481px), print {
    dl.form_list > dd.item label { display: inline-block;}
}

/** 問い合わせ項目欄 **/
#toi_seminar-tour { display: none; }

/** 勤務先欄 **/
.toi_seminar-kinmusaki { display: none; }

/** 計画概要欄 **/
.keikaku-gaiyo { margin: 50px auto 0; }

input.sei,/** 姓欄 **/
input.sei-kana {/** セイ欄 **/
    margin-left: 10px;
	margin-right: 15px;
    width: 32% !important;
}
input.mei,/** 名欄 **/
input.mei-kana {/** メイ欄 **/
    margin-left: 10px;
    width: 32% !important;
}
@media screen and (min-width: 970px), print {
	textarea{
		width: 100% !important;
	}
}

/** 項目：お問い合わせ、その他を選択した場合のコメント **/
.box-other {
	margin-top: 20px;
}
@media screen and (max-width: 767px), print {
	.box-other input {
		width: 100%;
	}
}

/** 入力例 **/
span.exam {
    display: block;
    margin-top: 5px;
}
span.exam2 {
    display: block;
    margin-top: 5px;
}
@media screen and (min-width: 481px), print {
    span.exam2 {
        display: inline-block;
        margin-top: 8px;
    }
}
@media screen and (min-width: 768px), print {
    span.exam2 {
        margin-left: 10px;
    }
}
span.exam3 {
    display: block;
    margin-top: 5px;
}
@media screen and (min-width: 768px), print {
    span.exam3 {
        display: inline-block;
        margin-top: 8px;
        margin-left: 10px;
    }
}

/** 郵便番号を調べる **/
dl.form_list_inner1 a.link_target {
    margin-top: 0;
}
@media screen and (min-width: 481px), print {
    dl.form_list_inner1 a.link_target {
        margin-top: 8px;
        margin-left: 15px;
    }    
}

/** 年齢認証欄 **/
.box-age { margin: 0 auto 40px; }
.age_certification { margin: 0; }
@media screen and (min-width: 481px), print {
    .age_certification {
        width: 200px;
        margin: 0 auto;
    }
}
label#label-nenreininsho { margin-right: 0 !important; }

/** 同意する **/
.box-agree { margin: 0 auto 40px; }
label#label-agree { margin-right: 0 !important; }

/**
 * 確認、キャンセル、送信ボタン
 **/
.mfp_buttons input[type="submit"],/** 確認ボタン **/
.mfp_buttons button[type="submit"],
button.mfp_element_submit[type="submit"],
input[type="button"].btn_back-only,
input[type="submit"].btn_send {/** 送信ボタン **/
	width: 100%;
	margin: 0 auto;
	border-radius: 10px;
	background: url("./images/button-icon_arrow-right.png") right center no-repeat #fcb34c !important;
	background-size: 58px !important;
	padding: 15px 30px;
	text-align: center;
	font-size: 16px;
	font-weight: bold !important;
	color: #fff;
	cursor: pointer;
	border: none;
    outline: none !important; 
	box-shadow: 0px 3px 0px rgba(241,146,39,1.0);
	text-shadow: none !important;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
.mfp_buttons input[type="submit"]:hover,/** 確認ボタン **/
.mfp_buttons button[type="submit"]:hover,
button.mfp_element_submit[type="submit"]:hover,
input[type="button"].btn_back-only:hover,
input[type="submit"].btn_send:hover {/** 送信ボタン **/
	opacity: 0.8;
}

/** 戻るボタン **/
input[type="button"].btn_back {
	width: 100%;
	margin: 0 auto 20px;
	border-radius: 10px;
	background: url("./images/button-icon_arrow-left.png") left center no-repeat #fcb34c !important;
	background-size: 58px!important;
	padding: 15px 30px;
	text-align: center;
	font-size: 18px !important;
	font-weight: bold !important;
	color: #fff;
	cursor: pointer;
	border: none;
	box-shadow: 0px 3px 0px rgba(241,146,39,1.0);
	text-shadow: none !important;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
input[type="button"].btn_back:hover {
	opacity: 0.8;
}
@media screen and (min-width: 768px), print {
    .mfp_buttons input[type="submit"],/** 確認ボタン **/
    .mfp_buttons button[type="submit"],
    input[type="button"].btn_back-only
    {
        width: 50%;
        font-size: 18px;
        display: block;
        margin: 0 auto;
    }
    input[type="submit"].btn_send,/** 送信ボタン **/
	input[type="button"].btn_back {/** 戻るボタン **/
		width: 40%;
        font-size: 18px;
	}
	/** 送信ボタン(右側) **/
	input[type="submit"].btn_send {
		float: right;
		margin-right: 9%;
		margin-left: 0;
	}
	/** 戻るボタン(左側) **/
	input[type="button"].btn_back {
		float: left;
		margin-left: 9%;
		margin-right: 0;
        margin-bottom: 0;
	}
}

/** 確認画面 **/
h4.mfp_phase_confirm {
	font-size: 17px !important;
	font-weight: bold !important;
	margin-bottom: 30px !important;
	text-align: left !important;
    padding-top: 40px !important;
}
@media screen and (min-width: 768px), print {
	h4.mfp_phase_confirm {
		font-size: 20px !important;
		text-align: center !important;
	}
}
#formWrap {
    width: 100%;
    margin:0 auto;
}
table.formTable {
	width: 100%;
	margin: 0 auto 50px !important;
	border-spacing: 0px;
	border-collapse: collapse;
}
table.formTable tr:nth-of-type(2n+1) {
    background: #fff;
}
table.formTable tr:nth-of-type(2n) {
    background: #F6F7F9;
}
table.formTable tr th,table.formTable tr td {
	text-align: left;
	font-size: 16px;
	border-top: solid 1px #CCC;
	padding: 5px 10px;
}
table.formTable tr th {
	width: 30%;
    line-height: 1.5;
}
table.formTable tr td {
    width: 70%;
	line-height: 1.5;
	word-break: break-all;
}
@media screen and (max-width: 767px), print {
	table.formTable tr th,
	table.formTable tr td {
		display: -webkit-flex !important;
		display: flex !important;
		-webkit-flex-wrap: wrap !important;
		flex-wrap: wrap !important;
		width: 100% !important;
	}
	table.formTable tr th {
		background: #F6F7F9 !important;
	}
	table.formTable tr td {
		background: #fff !important;
	}
	table.formTable tr:nth-of-type(2n) {
		background-color: none !important;
	}
}
.form_copyright { display: none; }

/** エラーメッセージ **/
div.mfp_err {
    padding: 3px 0px 5px 17px;
    color: #F00;
    font-size: 15px;
}
div.mfp_err p { margin: 0; }


/*
　送信完了画面
---------------------------------------------------------------*/
.box-thanks { margin: 40px auto;}
.box-thanks h2.comment {
	font-size: 17px;
	font-weight: bold;
}
.box-thanks p.shop_name { font-size: 17px;}
@media screen and (min-width: 768px), print {
	.box-thanks {
		text-align: center;
		margin: 60px auto 80px;
	}
	.box-thanks h2.comment { font-size: 20px;}
	.box-thanks p.shop_name { font-size: 20px;}
}


/* 各種フォーム
-------------------------------------------------------------- */
/**
 * フォームボタン
 **/
.ec-blockBtn--action {
    width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    line-height: 1.4;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	white-space: normal;
}


/* ハンバーガーメニュー
-------------------------------------------------------------- */
/**
 * 開くボタン
**/
.ec-headerNavSP .fa-bars:before { display: none !important; }
.ec-headerNavSP {
    background: url("https://kifunone.com/html/template/default/assets/img/css/menu_bt.png") no-repeat #000 !important;
  	background-size: 40px !important;
}

/**
 * 閉じるボタン
**/
.ec-drawerRoleClose .fa-times:before { display: none !important; }
.ec-drawerRoleClose {
    background: url("https://kifunone.com/html/template/default/assets/img/css/menu_bt_close.png") no-repeat #fff !important;
  	background-size: 40px !important;
}


/* オプション
-------------------------------------------------------------- */
/**
 * 改行
**/ 
.block_sp { display: block; }
br.block_sp { display: inline-block; }
.block_pc { display: none; }
@media screen and (min-width: 768px) ,print{
	.block_sp { display: none; }
	.block_pc { display: block; }
	br.block_sp { display: none; }
	br.block_pc { display: inline-block; }
}

/**
 * 強調
**/
/** 強調アンダーライン **/
span.appeal_underline {
    background: -webkit-gradient(
    linear, left top, left bottom,
    from(rgba(255,241,0,0)),
    color-stop(0.5, #fff100),
    to(#ff99ff));
 	background: linear-gradient(transparent 64%, #fff100 36%);
    font-weight: bold;
}
/** 強調背景 **/
span.bg_appeal-yellow {
    display: inline-block;
    background: #fff100;
    font-weight: bold;
    padding: 0 3px 0;
}
span.bg_appeal-gray {
    display: inline-block;
    background: #f8f8f8;
    font-weight: bold;
    padding: 0 3px 0;
}
span.bg_appeal-orange {
    display: inline-block;
    background: #fbeeb8;
    font-weight: bold;
    padding: 0 3px 0;
}

/**
 * テーブル
**/ 
table.type01 {
  width: 100%;
  border-spacing: 0;
  font-size: 14px;
  font-family: Arial, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, sans-serif;
}
table.type01 th {
  width: 30%;    
  border-bottom: solid 2px #81d4ef;
  padding: 10px;
}
table.type01 td {
  width: 70%;    
  border-bottom: solid 2px #ddd;
  padding: 10px;
}

/** スマホスクロール表示 **/
.x-scroll {
    overflow: auto;
}
.x-scroll table {
    width: 100%;
}
.x-scroll::-webkit-scrollbar {
    height: 5px; /* スクロールバーの高さ */
}
.x-scroll::-webkit-scrollbar-track {
    background: #F1F1F1; /* スクロールバーの背景色 */
}
.x-scroll::-webkit-scrollbar-thumb {
    background: #d6d6d6; /* スクロールバーの色 */
}
@media screen and (max-width: 768px), print {
    .x-scroll {
        white-space: nowrap;
    }
}


/**
 * リスト表示
 */
/** 点 **/
ul.maru {
	list-style-type: disc;
	padding-left: 18px;
}
ul.maru li {
	line-height: 1.5;
	margin-bottom: 5px;
}

 /** 数字 **/
ol.suji {
	list-style-type: decimal;
	padding-left: 20px;
}
ol.suji li {
	line-height: 1.5;
	margin-bottom: 5px;
}

/** （）数字 **/
ol.kakkosuji {
    padding: 0;
	margin: 5px 10px 20px 10px;
	counter-reset: my-counter;
	list-style: none;
}
ol.kakkosuji li {
	padding-left: 27px;
	position: relative;
	line-height: 1.5;
	margin-bottom: 15px;
}
ol.kakkosuji li:nth-last-of-type(1) {
    margin-bottom: 0;
}
ol.kakkosuji li:before {
  content: "（"counter(my-counter)"）";
  counter-increment: my-counter;
  display: block;
  float: left;
  margin-left: -40px;
  text-align: center;
}

/** ※印 **/
ul.chuki {
	list-style: none;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.chuki li:before {
	content: '※ ';
	margin-left: -18px;
}
ul.chuki li {
	margin: 0 0 5px;
	line-height: 1.5;
}
ul.chuki li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/**
 * 幅
 */
.width-40,
.width-50,
.width-60,
.width-70,
.width-80,
.width-90,
.width-100 {
	width: 100% !important;
}
@media screen and (min-width: 768px), print {
	.width-40 {width: 40% !important;}
	.width-50 {width: 50% !important;}
	.width-60 {width: 60% !important;}
	.width-70 {width: 70% !important;}
	.width-80 {width: 80% !important;}
	.width-90 {width: 90% !important;}
	.width-100 {width: 100% !important;}
}

/**
 * マージン関連の設定
**/
.mt0 { margin-top: 0px !important;}
.mt5 { margin-top: 5px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}
.mt60 { margin-top: 60px !important;}
.mt70 { margin-top: 70px !important;}
.mt80 { margin-top: 80px !important;}
.mt100 { margin-top: 100px !important;}
.mb0 { margin-bottom: 0px !important;}
.mb5 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb70 { margin-bottom: 70px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb90 { margin-bottom: 90px !important;}
.mb100 { margin-bottom: 100px !important;}
.ml0 { margin-left: 0 !important;}
.ml5 { margin-left: 5px !important;}
.ml10 { margin-left: 10px !important;}
.ml15 { margin-left: 15px !important;}
.ml20 { margin-left: 20px !important;}
.ml30 { margin-left: 30px !important;}
.ml40 { margin-left: 40px !important;}
.ml50 { margin-left: 50px !important;}
.mr10 { margin-right: 10px !important; margin-left: auto !important;}
.mr20 { margin-right: 20px !important; margin-left: auto !important;}
.mr30 { margin-right: 30px !important; margin-left: auto !important;}
.mtb20 { margin: 20px auto !important;}
.mall20 { margin: 20px !important;}
.mall10 { margin: 10px !important;}
.mall0 { margin: 0 !important;}
.m0auto { margin: 0 auto !important;}
.mt10auto {margin: 10px auto 0 !important;}
.mt20auto {margin: 20px auto 0 !important;}
.mtb30auto { margin: 30px auto !important;}
.mr020 { margin: 0 20px !important;}
.mr50 { margin: 0 50px 0 0 !important;}
.mrl0 { margin-right: 0 !important; margin-left: 0 !important;}
.mrl10 { margin-right: 10px !important; margin-left: 10px !important;}
.mrl20 { margin-right: 20px !important; margin-left: 20px !important;}
.mrl30 { margin-right: 30px !important; margin-left: 30px !important;}
.mlrb { margin: 0 20px 20px 10px !important;}
.md-mb20_sm-mb0 { margin-bottom: 0px !important;}
.md-mb40_sm-mb0 { margin-bottom: 0px !important;}
.md-mb50_sm-mb30 { margin-bottom: 30px !important;}
.md-mb60_sm-mb40 { margin-bottom: 40px !important;}
.md-mb80_sm-mb40 { margin-bottom: 40px !important;}
@media screen and (min-width: 768px), print {
    .md-margin-left-10 { margin-left: 10px; }
    .md-margin-left-80 { margin-left: 80px; }
    .md-mb80 { margin-bottom: 80px;}
    .md-mb20_sm-mb0 { margin-bottom: 20px !important;}
    .md-mb40_sm-mb0 { margin-bottom: 40px !important;}
    .md-mb50_sm-mb30 { margin-bottom: 50px !important;}
    .md-mb60_sm-mb40 { margin-bottom: 60px !important;}
    .md-mb80_sm-mb40 { margin-bottom: 80px !important;}
}
@media screen and (max-width: 767px), print {
    .sm-mt30 { margin-top: 30px;}
}    
   
.pt0 { padding-top: 0px !important;}
.pb10 { padding-bottom: 10px !important;}
.pb15 { padding-bottom: 15px !important;}
.pb20 { padding-bottom: 20px !important;}
.pb25 { padding-bottom: 25px !important;}
.pl0 { padding-left: 0 !important;}
.pl20 { padding-left: 20px !important;}
.pl25 { padding-left: 25px !important;}
.pl30 { padding-left: 30px !important;}
.pall0 { padding: 0 !important;}
.pall5 { padding: 5px !important;}
.pall10 { padding: 10px !important;}
.ptb5 { padding: 5px 0 !important;}
.ptb10 { padding: 10px 0 !important;}
.ptb70 { padding: 70px 0 !important;}
.pall10 { padding: 10px;}
.prl0 { padding-right: 0 !important; padding-left: 0 !important;}
@media screen and (min-width: 768px), print {
    .md-padding-right-15 { padding-right: 15px !important; }
}

/**
 * font関連の設定
**/
.font_normal {font-weight: normal !important;}
.font_bold {font-weight: bold !important;}
.font8 {font-size: 8px !important;}
.font9 {font-size: 9px !important;}
.font10 {font-size: 10px !important;}
.font11 {font-size: 11px !important;}
.font12 {font-size: 12px !important;}
.font13 {font-size: 13px !important;}
.font14 {font-size: 14px !important;}
.font15 {font-size: 15px !important;}
.font16 {font-size: 16px !important;}
.font17 {font-size: 17px !important;}
.font18 {font-size: 18px !important;}
.font19 {font-size: 19px !important;}
.font20 {font-size: 20px !important;}
.font21 {font-size: 21px !important;}
.font22 {font-size: 22px !important;}
.font23 {font-size: 23px !important;}
.font24 {font-size: 24px !important;}
.font25 {font-size: 25px !important;}
.font26 {font-size: 26px !important;}
.font27 {font-size: 27px !important;}
.font28 {font-size: 28px !important;}
.font29 {font-size: 29px !important;}
.font30 {font-size: 30px !important;}
.font31 {font-size: 31px !important;}
.font32 {font-size: 32px !important;}
.font33 {font-size: 33px !important;}
.font34 {font-size: 34px !important;}
.font35 {font-size: 35px !important;}
.font36 {font-size: 36px !important;}
.font37 {font-size: 37px !important;}
.font38 {font-size: 38px !important;}
.font39 {font-size: 39px !important;}
.font40 {font-size: 40px !important;}
.font41 {font-size: 41px !important;}
.font42 {font-size: 42px !important;}
.font43 {font-size: 43px !important;}
.font44 {font-size: 44px !important;}
.font45 {font-size: 45px !important;}
.font46 {font-size: 46px !important;}
.font47 {font-size: 47px !important;}
.font48 {font-size: 48px !important;}
.font49 {font-size: 49px !important;}
.font50 {font-size: 50px !important;}

.red {color: #ff0000 !important;}
.red2 {color: #bf172e !important;}
.orange {color: #F60 !important;}
.blue {color: #00F !important;}
.blue2 { color: #3598db !important; }
.green {color: #14AC09 !important;}
.black {color: #000 !important;}
.brown {color: #917952 !important;}
.yellow {color: #fefd4c !important;}
.gray {color: #999 !important;}

/**
 * 文字配置
**/
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.lh1-3 {line-height: 1.3;}
.lh1-4 {line-height: 1.4;}
.lh1-5 {line-height: 1.5;}
@media screen and (max-width: 767px), print {
    .text-center_sp { text-align: center; }
}    
@media screen and (min-width: 481px), print {
	.text-center_pc { text-align: center; }
	.text-right_pc { text-align: right; }
}

/**
 * リスト表示
**/
/** 四角 **/
ul.square {
    padding: 0;
	margin-left:18px;
}
ul.square li:before {
	content: '■ ';
	margin-left:-18px;
    position: relative;
    top: -1px;
}
@media screen and (max-width: 480px), print {
    ul.square li:before {
        top: 0;
    }
}
ul.square li {
	margin-bottom: 15px;
	line-height: 1.5;
}
ul.square li:nth-last-of-type(1) {
	margin-bottom: 0;
}