@charset "UTF-8";

/*共通*/
p {
    line-height: 1.6;
    word-wrap: break-word;
    font-family: 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif , 'ヒラギノ角ゴ Pro W3';
    font-size: 20px;
}
.contents{
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    color: #333;
    background: #f4f4f4;
}
.contents-box{
	max-width: 750px;
	margin: 0 auto;
    padding: 0 2%;
	box-sizing:border-box;
    background: #fff;
}

a:link, a:visited, a:hover, a:active {
    color: #fff;
    text-decoration: none;
}
a:hover {
    opacity: 0.7;
}
.pc_ds{
    display: block;
}
.sp_ds{
    display: none;
}
img,video{
    max-width: 100%;
    width: 100%;
}

/*テキスト*/
b{
	font-weight: bold;
}
.tyuu{
    font-size: 12px;
}
.y_lin{
    background: rgba(0, 0, 0, 0)linear-gradient(transparent 70%, #fbf24b 0%)repeat scroll 0 0;
}
.co_r{
	color: #d34d4e;
}
.co_b{
	color: #2155a2;
}
.co_o{
	color: #ff881f;
}
.co_y{
	color: #ffe200;
}
.ta_r{
    text-align: right;
}
.ta_c{
    text-align: center;
}
.fo_b{
    font-size: 150%;
}
.mt3{
	margin-top: 3%;
}
@media (max-width: 760px) {
.mt3{
	margin-top: 6%;
}
}
/*ポジション*/
.po_r{
    position: relative;
}
.po_a{
    position: absolute;
}

/*ポジション　上下左右中央*/
.po_ce{
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
/*ポジション　左右中央*/
.po_lr_ce{
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/*----------sp------------*/
@media (max-width: 767px) { 
/*共通*/
.contents{
    width: 100%;
}

.sp_ds{
    display: block;
}
.pc_ds{
    display: none;
}

/*テキスト*/
.tyuu{
    font-size: 10px;
}
}


/*タイトル*/
h1{
	margin: 0 auto;
    padding: 0;
}
h2{
    font-size: 30px;
    padding: 2%;
    font-weight: bold;
    margin-top: 12%;
    border: 5px solid #377300;
    /*border-bottom: 5px solid #377300;*/
    text-align: center;
}
h3{
	margin: 15% auto 0;
    padding: 0;
}
h4{
    font-size: 25px;
    padding: 2%;
    font-weight: bold;
    margin-top: 5%;
    border-left: 5px solid #377300;
    background-color: #fffdd7;
}
@media (max-width: 760px) {
h2{
   font-size: max(4.2vw,22px);
    margin-top: 17%;
}
h4{
   font-size: max(3.5vw,20px);
}
}

/*　アコーディオン　*/
.ac-in{
background: #ffffff;
padding: 3% 0 2%;
}
.grad-wrap {
position: relative;
padding-bottom: 30px;
}
.grad-wrap + .grad-wrap {
margin-top: 40px;
}
.grad-btn {
z-index: 2;
position: absolute;
right: 0;
bottom: 25px;
left: 0;
width: 152px;
margin: auto;
padding: .5em 0;
border-radius: 2px;
background: #d34d4e;
color: #fff;
border-radius: 10px;
font-size: 0.8rem;
font-weight: bold;
text-align: center;
cursor: pointer;
transition: .2s ease;
}
.grad-btn::after {
content: "詳細を見る"
}
.grad-btn:hover {
opacity: 0.6;
}
.grad-btn .fa {
margin-right: .5em;
}
.grad-item {
position: relative;
overflow: hidden;
height: 150px;
}
.grad-item p + p {
margin-top: 1em;
}
.grad-item::before {
display: block;
position: absolute;
bottom: 0;
left: 0;
content: "";
width: 100%;
height: 64px; /*グラデーションで隠す範囲*/
background: -webkit-linear-gradient(top, rgba(255,243,207,0) 0%, #fff 50%, #fff 50%, #fff 100%);
background: linear-gradient(top, rgba(255,243,207,0) 0%, #fff 50%, #fff 50%, #fff 100%);
}
.grad-trigger {
display: none;
}
.grad-trigger:checked ~ .grad-btn {
bottom: -30px;
}
.grad-trigger:checked ~ .grad-btn::after {
content: "閉じる"
}
.grad-trigger:checked ~ .grad-btn .fa {
transform: rotate(180deg);
}
.grad-trigger:checked ~ .grad-item {
height: auto;
}
.grad-trigger:checked ~ .grad-item::before {
display: none;
}
/*　アコーディオン　ここまで*/

/*　アコーディオン2　*/
.ac-in2{
background: #ffffff;
padding: 10% 0 2%;
}
.grad-wrap2 {
position: relative;
padding-bottom: 30px;
}
.grad-wrap2 + .grad-wrap2 {
margin-top: 40px;
}
.grad-btn2 {
z-index: 2;
position: absolute;
right: 0;
bottom: 25px;
left: 0;
width: 152px;
margin: auto;
padding: .5em 0;
border-radius: 2px;
background: #d34d4e;
color: #fff;
border-radius: 10px;
font-size: 0.8rem;
font-weight: bold;
text-align: center;
cursor: pointer;
transition: .2s ease;
}
.grad-btn2::after {
content: "詳細を見る"
}
.grad-btn2:hover {
opacity: 0.6;
}
.grad-btn2 .fa {
margin-right: .5em;
}
.grad-item2 {
position: relative;
overflow: hidden;
height: 400px;
}
.grad-item2 p + p {
margin-top: 1em;
}
.grad-item2::before {
display: block;
position: absolute;
bottom: 0;
left: 0;
content: "";
width: 100%;
height: 64px; /*グラデーションで隠す範囲*/
background: -webkit-linear-gradient(top, rgba(255,243,207,0) 0%, #fff 50%, #fff 50%, #fff 100%);
background: linear-gradient(top, rgba(255,243,207,0) 0%, #fff 50%, #fff 50%, #fff 100%);
}
.grad-trigger2 {
display: none;
}
.grad-trigger2:checked ~ .grad-btn2 {
bottom: -30px;
}
.grad-trigger2:checked ~ .grad-btn2::after {
content: "閉じる"
}
.grad-trigger2:checked ~ .grad-btn2 .fa {
transform: rotate(180deg);
}
.grad-trigger2:checked ~ .grad-item2 {
height: auto;
}
.grad-trigger2:checked ~ .grad-item2::before {
display: none;
}
/*　アコーディオン2　ここまで*/

/*表1*/
.rankTable {
    border: 5px solid #bbd1a7;
    box-sizing: border-box;
    background: #ffffff;
    margin: 5% auto 0;
}
.rankTable table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    color: #222;
    text-align: center;
}
.rankTable table img {
    max-width: 100%;
    margin: 0 auto;
}
.rankTable a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.2;
}
.rankTable table tr {
    border-top: 1px solid #cdd4d0;
}
.rankTable table tr th {
    background-color: #377300;
    text-align: center;
    color: #fff;
    width: 9%;
    border-radius: 0;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.3;
    position: sticky;
    left: 0;
    z-index: 5;
    vertical-align: middle;
    padding: 5px;
}
.rankTable table td {
    font-size: 17px;
    padding: 8px;
    line-height: 1.5;
    width: 110px;
    border-right: 1px solid #cdd4d0;
    text-align: center;
    vertical-align: middle;
}
.rankTable table td.bg_y {
background-color: #fffae6;
}
.rankTable table td.rank-top{
    background-color: #61873e;
    font-weight: bold;
    color: #fff;
    line-height: 1.2;
}
.rankTable td:first-child{
    background: #cdd4d0;
}
.rankTable td:last-child {
    border-right: none;
}

.rankTable table tr:first-child th:last-child,
.rankTable table tr:last-child th:last-child {
    border-right: none;
}
.rankTable td {
    font-size: 13px;
}
.rankTable td .co_r , .rankTable td .co_b , .rankTable td .co_o , .rankTable td .co_br{
    font-size: 150%;
}

@media (max-width: 760px) {
.rankTable {
    width: 100%;
    overflow-x: scroll;
}
.rankTable table {
    width: 650px;
    border-collapse: collapse;
    table-layout: fixed;
}
.rankTable table img {
    height: 40px;
    object-fit: contain;
}
.rankTable table tr th,
.rankTable table tr td{
padding: 5px;
vertical-align: middle;
}
.rankTable table tr th{
    width: 80px;
}
.rankTable table tr th{
    width: 8%;
}
}
/*表1　終わり*/

/*比較表*/
.rankTable02 {
    border: 5px solid #bbd1a7;
    box-sizing: border-box;
    background: #ffffff;
    margin: 3% auto 0;
    overflow-x: scroll;
}
.rankTable02 table {
    width: 1200px;
    border-collapse: collapse;
    table-layout: fixed;
    color: #222;
    text-align: center;
}
.rankTable02 table img {
    max-width: 60%;
    margin: 0 auto;
}
.rankTable02 a {
    color: #333;
    text-decoration: none;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.2;
}
.rankTable02 .rank-cta a{
    color: #fff;
    text-decoration: none;
}
.rankTable02 .rank-cta a div{
    font-weight: bold;
    font-size: 17px;
    line-height: 1.2;
    background-color: #ff6c00;
    padding: 7%;
    border-radius: 5px;
    box-shadow: 0 3px 0 #ca1c30;
}
.rankTable02 .rank-cta.gr a div{
    background-color: #8b8b8b;
    box-shadow: 0 3px 0 #454545;
}
/* ホバー時 */
.rankTable02 .rank-cta a div:hover {
  box-shadow: none;
  transform: translateY(3px);
}
.rankTable02 table tr {
    border-top: 1px solid #cdd4d0;
}
.rankTable02 table tr th {
    background-color: #377300;
    text-align: center;
    color: #fff;
    width: 12%;
    border-radius: 0;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.3;
    position: sticky;
    left: 0;
    z-index: 5;
    vertical-align: middle;
    padding: 10px;
}
.rankTable02 table td {
    font-size: 17px;
    padding: 10px;
    line-height: 1.5;
    width: 110px;
    border-right: 1px solid #cdd4d0;
    text-align: center;
    vertical-align: middle;
}
.rankTable02 table td.rank-top , .rankTable02 table td.rank-top2 , .rankTable02 table td.rank-top3{
    font-weight: bold;
    color: #333;
    line-height: 1.2;
    border-left: 2px solid #f9234b;
    border-right: 2px solid #f9234b
}
.rankTable02 table td.rank-top2{
    border-top: 2px solid #f9234b;
}
.rankTable02 table td.rank-top3{
    border-bottom: 2px solid #f9234b;
}
.rankTable02 td:first-child{
    background: #cdd4d0;
}
.rankTable02 td:last-child {
    border-right: none;
}
.rankTable02 table tr:first-child th:last-child,
.rankTable02 table tr:last-child th:last-child {
    border-right: none;
}
.rankTable02 td {
    font-size: 13px;
}
.rankTable02 td .co_r , .rankTable02 td .co_b , .rankTable02 td .co_o , .rankTable02 td .co_br{
    font-size: 150%;
}

@media (max-width: 760px) {
.rankTable02 {
    width: 100%;
}
.rankTable02 table {
    width: 640px;
    border-collapse: collapse;
    table-layout: fixed;
}
.rankTable02 table img {
    height: 100px;
    max-width: 100%;
    object-fit: contain;
}
.rankTable02 table tr th,
.rankTable02 table tr td{
padding: 3px;
vertical-align: middle;
}
.rankTable02 table tr th{
    width: 80px;
}
.rankTable02 table tr th{
    width: 12%;
}
}
/*比較表　終わり*/

/*商品詳細*/
.good-box{
    margin: 5% 0 10%;
    background-color: #bbd1a7;
    padding: 2%;
}
.good-contents{
    background-color: #fff;
    padding: 2%;
}
.good-box h5{
    background-color: #377300;
    padding: 2% 2%;
    text-align: center;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.4;
    vertical-align: middle;
}
.good-box h6{
    border-left: 5px solid #377300;
    padding: 2% 3%;
    text-align: left;
    color: #377300;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    vertical-align: middle;
    margin: 7% 0 2%;
    border-bottom: 2px solid #377300;
}
@media (max-width: 760px) {
.good-box h5{
    margin-bottom: 2%;
}
.good-box h6{
    margin: 15% 0 3%;
}
}

.point-lis{
    margin: 3% 0;
}
.point-lis .point-tit{
    text-align: center;
    margin-bottom: 1%;
    font-size: 22px;
    font-weight: bold;
    color: #d34d4e;
}
.point-lis .point-txt{
    padding: 2%;
    line-height: 1.7;
    border: 4px solid #d34d4e;
    border-radius: 10px;
    vertical-align: middle;
    font-size: 18px;
}
.point-lis .point-txt span{
    margin-right: 5px;
    color: #d34d4e;
    font-weight: bold;
    font-size: 110%;
}
@media (max-width: 760px) {
.point-lis{
    margin: 6% 0;
}
.point-lis .point-txt{
    padding: 4%;
    line-height: 1.5;
}
}

.point-lis2{
    margin: 3% 0;
}
.point-lis2 .point-tit{
    text-align: center;
    margin-bottom: 1%;
    font-size: 22px;
    font-weight: bold;
    color: #2155a2;
}
.point-lis2 .point-txt{
    padding: 2%;
    line-height: 1.7;
    border: 4px solid #2155a2;
    border-radius: 10px;
    vertical-align: middle;
    font-size: 18px;
}
.point-lis2 .point-txt span{
    margin-right: 5px;
    color: #2155a2;
    font-weight: bold;
    font-size: 110%;
}
@media (max-width: 760px) {
.point-lis2{
    margin: 6% 0;
}
.point-lis2 .point-txt{
    padding: 4%;
    line-height: 1.5;
}
}

/*内容表*/
.grf {
    margin: 3% 0;
}
.grf table {
    width: 100%;
    border: 2px solid #aaa;
}
.grf table th , .grf table td{
    border: 1px solid #aaa;
    padding: 1% 2%;
    vertical-align: middle;
}
.grf table th{
    background-color: #dde7d5;
    color: #377300;
    font-weight: bold;
    width: 33%;
}

/*ボタン*/
.btn{
    margin: 5% auto;
    width: 90%;
}
.btn a p{
font-weight: bold;
    font-size: 25px;
    line-height: 1.5;
    background-color: #ff6c00;
    padding: 2%;
    border-radius: 5px;
    box-shadow: 0 5px 0 #ca1c30;
    text-align: center;
}
/* ホバー時 */
.btn a p:hover {
  box-shadow: none;
  transform: translateY(5px);
}
@media (max-width: 760px) {
.btn{
    margin: 5% auto 8%;
}
}


.slide{
    padding: 5px;
}

/*使ってみた*/
.use-contents{
    padding: 4%;
    border: 3px solid #458e00;
    border-radius: 10px;
}
.use-contents h6{
    margin: 0 0 2% 0;
}

/*アコーディオン　グラデーションではないもの*/
.js-accordion--close{
  display: none;
}
.accordion-box{
  height:0;
  overflow:hidden;
  transition:.4s ease;
}
.js-accordion{
  position: relative;
  padding: 0 35px 0 10px;
}
button.js-accordion{
    border: none;
    background-color: #377300;
    padding: 2% 2%;
    width: 100%;
    margin: 3% 0 0;
}
.js-accordion p{
    text-align: center;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.4;
    vertical-align: middle;
}
.js-accordion::before{
  content: "";
  width: 2px;
  height: 16px;
  background: #fff;
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: .6s ease;
}
.js-accordion::after{
  content: "";
  width: 16px;
  height: 2px;
  background: #fff;
  position: absolute;
  right: 11px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: .6s ease;
}
.js-accordion.is-accordion--open::before{
  transform: rotate(90deg);
}
.js-accordion.is-accordion--open::after{
  transform: rotate(-180deg);
}
.js-accordion.is-accordion--open + .accordion-box{
  height: auto;
  opacity: 1;
}
.accordion-box .good-box {
    margin: 0;
    background-color: #bbd1a7;
    padding: 2%;
}

/*コラム*/
.column{
    margin-top: 15px;
    padding: 1% 1% 10%;
}
.column p{
    border-bottom: 1px dashed #aaa;
    padding: 10px;
}
.column a{
    color: #000;
}

footer{
    margin-top: 5%;
    padding: 2%;
    background-color: #aaa;
    text-align: center;
}
footer a{
    color: #fff;
    text-decoration: none;
}
@media (max-width: 760px) {
footer{
    margin-top: 15%;
    padding: 4%;
} 
}