@charset "utf-8";
/* 共通ー*/
* {
	margin:0;
	padding:0;
}
html {
	overflow-y:scroll;
	  scroll-behavior: smooth;
}

p {
	font-size: 1.0rem;
	margin:0 0 1em 0;
	line-height: 1.8rem;
	padding: 10px;
}
li {
	list-style-type:none;
}
body {
  	background:#FFF;
font: normal 300 14px/1 'Noto Sans Japanese', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
  	font-size:1.0rem;
  }
img {
	border:0;
}
a {
    color: #111;
}

.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
#page_top {
    position: fixed;
    right: 10px;
    width: 55px;
    height: 55px;
		bottom:5px;
    background: rgba(102, 102, 102, 0.5) no-repeat;
		z-index: 9999;
}

#page_top a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 25px;
    height: 25px;
    margin: auto;
    color: #fff;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f077';
    font-size: 25px;
    text-align: center;
}
/* ヘッダー*/
.rogo{
	position: absolute;
	top: 0;
	left: 0;
	padding: 15px 0 15px 30px;
	width: 157px;
}
.rogo img{
	width: 100%;
	height: auto;
}
.fix_menu{
	position: fixed;
	width: 100%;
	max-width: 1200px;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 999;
	padding: 20px 0;
  background:rgb(255, 255,255,0.9);}
#navwrap{
	position: absolute;
	top: 0;
	right: 0;
	padding: 15px 30px 20px 0;
}
.header_menu{
	display: flex;
}
ul,li{
	list-style: none;
	margin: 0;
}
.header_menu li a{
	cursor: pointer;
	padding: 0 10px;
	text-decoration: none;
	color: #433319;
}
#switch{
	display: none;
}
@media screen and (max-width:768px) {
	#switch ~ label {
		padding: 12px 12px;
		width: 60px;
		height: 60px;
		background: #433319;
		position: fixed;
		box-sizing: border-box;
		top: 0;
		right: 0;
		z-index: 999;
		cursor: pointer;
	}
	#switch ~ label span{
		display: block;
		width:22px;
		height:2px;
		top: 50%;
		left: 0;
		right: 0;
		margin:auto;
		background: #fff;
		position: absolute;
		-webkit-transition: 0.2s transform;
		transition: 0.2s transform;
	}
	#switch ~ label span:before,
	#switch ~ label span:after{
		content: "";
		display: block;
		background: #fff;
		position: absolute;
		width:22px;
		height:2px;
		left: 0;
		right: 0;
		margin: auto;
	}
	#switch ~ label span:before{
		top: -9px;
	}
	#switch ~ label span:after{
		top: 9px;
	}
	#navwrap{
		padding-top: 0;
		position: fixed;
		top: -100%;
		left: 0;
		width: calc(100% - 60px);
		height: 100%;
		background: rgba(255,255,255,0.8);
		transition: all 0.4s;
		padding: 60px;
		box-sizing: border-box;
	}
	#switch:checked ~ #navwrap {
		display: block;
		top: 0;
	}
	.header_menu{
		display: flex;
		flex-direction: column;
	}
	.header_menu li{
		margin: 0 auto 30px;
	}
	.header_menu li a{
		color: #433319;]
    font-weight: 600;
	}
	.scroll-prevent {
		position: fixed;
		z-index: -1;
		width: 100%;
		height: 100%;
	}
}
/* メインコンテンツ*/
main{
margin-top: 5rem;
}
.mainVisual>p{
  font-size:1.0rem;
  margin:2rem 0;
}

span.mark {
	background: linear-gradient(transparent 60%, yellow 30%);
}
/* 目次*/
.toc-002 {
    margin:30px 0;
    border: 2px solid #6a7abd;
    border-radius: 3px;
}

.toc-002 div {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 10px 0;
    background-color: #6a7abd;
    color: #fff;
    font-weight: 600;
    font-size: 1.1em;
}

.toc-002 ol {
    list-style:decimal!important;
    margin: 0;
    overflow: hidden;
    padding-left:25px
}

.toc-002 > ol {
    padding: 1em 1em 1em 3em;
}

.toc-002 ol ol {
    margin-top: 5px;
    padding-left: 1.1em;
}

.toc-002 li {
    padding: 5px 0;
    font-weight: 600;
    list-style: decimal;
    color: #6a7abd;
}

.toc-002 ol ol li {
    font-weight: normal;
    font-size: .9em;
		list-style: disc;
}

.toc-002 a {
    color: #333;
    text-decoration: none;
}
.toc-002 a:hover {
    opacity:0.7;
}
p.attentionTlt{
	background:#ddd;
	display:inline-block;
	padding-left: 5px; /* 左の余白 */
  padding-right: 5px; /* 右の余白 */
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.musetowa{
	border: 1px solid #111;
	background-color: #fff;
	border-radius: 2px;
	padding: 3px 5px;
}
p.musetowaTlt{
	font-weight: bold;
	font-size: 1.0rem;
	display: inline-block;
	margin-left: -1rem;

}
p.musetowaTxt {
    margin: 0;
    padding: 0;
    margin-top: -1rem;
		margin-left: 10px;
}
.attentionTlt2{
	font-size: 0.6rem;
}
img.museimg{
	display: inline;
	max-width: 80px;
	margin-top: -5px;
}

/* セクション　選び方部分*/

section{
	padding:2rem 0;
}

h1{
	font-size: 1.5rem;
	letter-spacing: 2;
	padding: 1rem;
  border-left: 10px solid #6a7abd;
  border-bottom: 2px solid #6a7abd;
display: inline-block;
}

	img.equolImg {
	    padding: 2rem;
	}

	h2 {
		font-size: 1.3rem;
		font-weight: bold;
		line-height: 1.6rem;
		margin: 30px 0px 10px 5px;
	}
	h2::before {
		content: "";
		display: inline-block;
		border: 6px solid transparent;
		border-left: 6px solid #000;
		padding: 0;
		margin: 0;
		top: -4px;
		position: relative;
	}
	ul.onayami {
  padding: 0.5em 0.5em 0.5em 2em;/*ボックス内の余白*/
}

ul.onayami li {
  line-height: 1.0; /*文の行高*/
  padding: 0.5em 0; /*前後の文との余白*/
	list-style: disc;
	font-weight: 500;


}

ol.pointList{
  counter-reset:list;
  list-style-type:none;
padding: 20px 0;
}

ol.pointList li{
  position:relative;
  line-height: 30px;
  margin: 7px 0 7px 40px;
  padding-left: 10px;
  font-weight: bold;
  font-size:1.3rem;
}

ol.pointList li:before{
  counter-increment: list;
  content: counter(list);
  position: absolute;
  left: -35px;
  width: 30px;
  height: 30px;
  background: #F6A38B;
  text-align: center;
  color: #fff;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
p.titleTxt{
font-weight: bold;
margin:1.5rem 0 0rem;
font-size: 1.1rem;

}

.kensyoTitle{
	font-weight: bold;
font-size: 1.2rem;
	}
.kensyoTitle>span{
	font-weight: normal;
	display: block;
	font-size: 1.0rem;
	margin-top:5px;
}
img.hikakuImg {
padding: 1rem;
}
 /*比較セクション*/
 h3{
	 border-bottom: solid 3px #6a7abd;
	padding: 10px 0;
	font-size: 2.0rem;
	color:#6a7abd;
}

p.RunkSub{
	font-size: 1.2rem;
	padding: 0;
	margin: 0;
	font-weight: bold;
	color:#6a7abd;
}

 /*テーブル*/

    .js-scrollable-wrap {
    	margin: 4rem auto;
	overflow: scroll;
	max-width: 100%;

    }

    .js-scrollable {
			border-collapse: collapse;
        table-layout:fixed;
				width:100%;
				word-break: break-all;
    }

		.js-scrollable-wrap table th {
		    text-align: center;
		    background: #f0f0f0;
		    border: 1px solid #ddd;
		    font-size: 0.8rem;
				vertical-align: middle;
				width: 180px;
		  padding: 1rem;

		}

		.js-scrollable-wrap .sticky {
			position: sticky;
			left: -1px;
			top: 0;
			z-index: 2;
		}

		@media screen and (max-width: 768px) {
			.js-scrollable-wrap .sticky {
				width: 100px;
			}
		}

 .js-scrollable-wrap table td {
    border: 1px solid #ddd;
		font-size: 0.9rem;
		font-weight: 600;
		text-align: center;
		vertical-align: middle;
		padding: 1rem;
		width:180px;



}

th span{
	display: block;
	font-size: 0.6rem;
	margin-top: 5px;
}
td span{
	display: block;
	font-size: 0.6rem;
	margin-top: 5px;
}

td.dendou.support
,td.support02{
    font-size: 0.7rem!important;
		line-height: 1.0rem;}


 /*テーブル*/
 h4.crown {
     position: relative;
     padding: 0px 0px 4px 0;
     color: #3388dd;
		 font-size: 1.0rem;
    margin-bottom:  0;
		margin-top: 2px;
		margin-left: 1.5rem;
 }
 h5 {
		 color: #3e3e3e;
		font-size: 1.0rem;
		margin: 0;
 }
 h4.crown::before,
 h4.crown::after {
     position: absolute;
     left: 0px;
     width: 0px;
     height: 0px;
     content: "";
		 left: 10%;
 }
h4.crown::before {
     top: -1.25em;
     border: 1em solid transparent;
     border-bottom: 1.5em solid currentColor;
 }
 h4.crown::after {
     top: 0.25em;
     border: 0.5em solid transparent;
     border-left: 1em solid currentColor;
     border-right: 1em solid currentColor;
 }
 h4.First {
     color: #dbb400;
 }
 h4.second {
color: #9fa0a0;
 }
h4.third{
  color: #c47022;
	}
	h4.third{
	  color: #c47022;
		}
		h4.fourth{
			color:#3E772B;
		}
		h4.fifth{
			color:#2C2C7C;
		}

		td.dendou{
			background-color: #F9F0E4;
			color:#f9535b;
		}

		td img {
    display: block;
    max-width: 100px;
    margin: 0 auto;
}

 /*ランキング部分*/
 .RankBox{
	 padding: 2rem;
	 border: 1px solid #939292;
	 border-radius: 5px;
	 margin: 3rem 0;
 }
h6{
	font-size: 2rem;
	padding: 0.5em;/*文字周りの余白*/
 color: #494949;/*文字色*/
 background: #fffaf4;/*背景色*/
 letter-spacing: 1px;
}
p.rankking{
	display: inline-block;
	background-color: #707070;
    border-radius: 4px;
    padding-bottom: 0px;
    padding:10px;
		color:#fff;
		margin-right:10px;
		font-size: 1.4rem;
		margin-bottom: 1px;
}
p.rankking.first{
	background-color: #dbb400;
}
p.rankking.second{
	background-color: #9fa0a0;
}
p.rankking.third{
	background-color: #c47022;
}
p.rankking.fourth{
	background-color:#3E772B;
}
p.rankking.fifth{
	background-color:#2C2C7C;
}
span.kaisya{
	display: block;
	font-size: 1.0rem;
	color:#939292;
	margin-left: 4.5rem;
}

.box5-4{
	margin: 3em auto; /* ボックスの余白 */
	background-color: #fff; /* ボックス背景色 */
	padding:4em 2em 2em; /* ボックス内側余白 */
	position:relative; /* 配置(ここを基準に)*/
	border: 4px solid #f0f0f0;	/* ボックスの線 (太さ　種類　色)*/
		text-align: center;
}
.box5-4 .box-title {
	background-color:#f0f0f0; /* タイトル背景色 */
	font-size: 1.4rem;/* タイトル文字の大きさ */
	padding: 1rem 0.8rem;/*タイトルの余白*/
	line-height: 1;/*タイトルの行の高さ*/
	position:absolute;	/* 配置(ここを動かす) */
	top: -20%; /*上から（0px）移動*/
	left: 37%; /*左から(0px)移動*/
	font-weight: bold;
	letter-spacing: 1px;

}
span.starRate{
	color: #dbb400;
	font-size: 2rem;
	margin-left: 10px;
}
p.rateUchiwake{
	display: inline;
}
p.rateUchiwake>span{
	font-weight: 600;
	color: #dbb400;
}
.rankcontainer{
	border: 4px solid #f0f0f0;
	padding: 2rem;
}
p.supplehyoka{
	font-size: 1.5rem;
	font-weight: 600;
}
.RecommendBox{
	background-color:#fffaf4;
	padding: 2rem 1rem;
}

table.tbl-r02 {
  margin: 3rem auto;
	width: 100%;
	border: solid 1px #ddd;
}
.tbl-r02 th {
  background: #f0f0f0;
  border: solid 1px #ddd;
  padding: 10px;
	width: 30%;
}
.tbl-r02 td {
  padding: 10px;
	width: 70%;
	border: solid 1px #ddd;
}

/* 003 */
.button003 a {
    background: #DB2C83;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 450px;
    padding: 1rem 3rem;
    transition: 0.3s ease-in-out;
    font-weight: 500;
		margin: 0rem auto  3rem;
		font-size: 1.5rem;
		color:#fff;
}
.button003 a:hover {
  opacity: 0.5;
    color: #FFF;
		text-decoration: none;

}
.button003 a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button003 a:hover:after {
    border-color: #FFF;
}
/* ----- 共通 ----- */

.talk {
margin: 3rem ;
}

.talk figure img {
width: 100%;
height: 100%;
border: 2px solid #f0f0f0;
border-radius: 50%;
margin: 0;
}

/* 画像の下のテキスト */
.talk-imgname {
padding: 5px 0 0;
font-size: 10px;
text-align: center;
}

p.talk-text {
margin: 0 0 8px;
}

p.talk-text:last-child {
margin-bottom: 0px;
}

/* 回り込み解除 */
.talk:after,.talk:before {
clear: both;
content: "";
display: block;
}

/* ----- 左の場合 ----- */

/* 左画像 */
.talk-Limg {
margin-left: 4px;
margin-top: -1px;
float: left;
width: 100px;
height: 100px;
}

/* 左からの吹き出しテキスト */
.talk-Ltxt {
color: #444;
position: relative;
margin-left: 120px;
padding: 1.2em;
border: 3px solid #f0f0f0;
background-color: #fff;
border-radius: 5px;
}

/* 左の三角形を作る */
.talk-Ltxt:before {
position: absolute;
content: '';
border: 10px solid transparent;
border-right: 10px solid #f0f0f0;
top: 15px;
left: -20px;
}

.talk-Ltxt:after {
position: absolute;
content: '';
border: 10px solid transparent;
border-right: 10px solid #fff;
top: 15px;
left: -16px;
}
p.sashikomiTxt{
	margin: 0;
	font-size: 0.6rem;
	padding: 0;
	text-align: center;
	letter-spacing: 1px;
}
/* ランキング */
.Rankstyle-svg {
  counter-reset:ctr-ranking;           /* カウンターをリセット */
  text-align:left;                     /* 左寄せ */
  font-size: 1.4rem;
	font-weight: bold;                    /* フォントサイズ */
  margin-left:20px;
	max-width: 850px;
	    margin: 2rem 4rem;
	}

.Rankstyle-svg li {
  position   : relative;               /* 指定した分だけ相対的に移動 */
  line-height: 2;
	margin-bottom: 1rem;
}
.Rankstyle-svg li:nth-child(-n+3) {
  list-style-type : none ;
	color:#6a7abd;          /* リストマーク消す */
}
.Rankstyle-svg li:nth-child(-n+3):before {
    position: absolute;
    top: 0;
    left: -35px;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20height%3D%2730%27%20width%3D%2730%27%20viewBox%3D%270%200%2030%2030%27%20style%3D%27fill%3A%23dbb400%3Bstroke%3Anone%27%20%3E%3Cpath%20d%3D%27M1%202%20L8%2012%20L15%202%20L22%2012%20L29%202%20L26%2029%20L3%2029%20Z%27%20%2F%3E%3C%2Fsvg%3E);
    background-repeat: no-repeat;
    content: counter(ctr-ranking, decimal);
    counter-increment: ctr-ranking;
    color: #fff;
    font-size: 10px;
    padding: 10px 12px;
	}
.Rankstyle-svg li:nth-child(n+4) {
  list-style-type : none ;             /* リストマーク消す */
}
.Rankstyle-svg li:nth-child(n+4):before {
  position: absolute;                  /* 親要素を基準 */
  top: 0;                              /* 上限より表示 */
  left: -35px;                         /* 箇条書きリストの左側に表示 */
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20height%3D%2730%27%20width%3D%2730%27%20viewBox%3D%270%200%2030%2030%27%20style%3D%27fill%3A%23999999%3Bstroke%3Anone%27%20%3E%3Crect%20x%3D%270%27%20y%3D%270%27%20width%3D%2728%27%20height%3D%2730%27%20%2F%3E%3C%2Fsvg%3E"); /* svgで四角を描く */
  background-repeat: no-repeat;        /* 背景を１回のみ表示 */
  content: counter(ctr-ranking, decimal); /* カウンタ追加 */
  counter-increment: ctr-ranking;      /* カウンタの増分指定 */
  color: #000;                         /* 文字の色の指定 */
  font-size: 10px;                     /* 文字サイズの指定 */
  padding: 5px 10px;                   /* 余白の指定 */
}

.footer {
  padding: 2rem;
  font-size: 15px;
  color: #fff;
  background: #433319;;
  border-top: 1px solid #e5e7eb;
}

.footer a:hover {
  color: #000;
}
ul.md-flex li a{
	color:#fff;
	font-size: 0.8rem;
}

@media (min-width: 768px) {
  .footer {
    display: flex;
    justify-content: space-between;
  }

  .md-flex {
    display: flex;
  }

  .md-flex li + li {
    margin-left: 16px;
  }
}
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
    width: 80%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}
	@media screen and (max-width:768px) {
		.mainVisual>p {
    font-size: 0.9rem;
    margin: 1.3rem 0;
}
	 p{
			font-size: 0.9rem;
			line-height: 1.4rem;
			padding: 5px;
		}
		h1 {
		    font-size: 1.2rem;
				padding: 0.5rem;
				margin-bottom: 1rem;
		}
		h2 {
    font-size: 1.2rem;
    margin: 10px 0px 5px;
}
		.sentaku{
			display: none;
		}
		p.rankking {
    padding: 5px;
    font-size: 1.0rem;
}
h6 {
    font-size: 1.3rem;
}
span.kaisya {
    font-size: 0.7rem;
    margin-left: 3rem;
}
.box5-4 .box-title {
    font-size: 1.0rem;
    padding: 0.8rem 0.5rem;
    left: 27%;
}
span.starRate {
    font-size: 1.5rem;
}
.box5-4 {
    margin: 3em auto 2rem;
    padding: 3em 1em 1em;
}
.rankcontainer {
    padding: 1rem;
}
p.supplehyoka {
    font-size: 1.1rem;
    line-height: 1.6rem;
}

ol.pointList li {
    position: relative;
    line-height: 30px;
    margin: 7px 0 7px 40px;
    padding-left: 10px;
    font-weight: bold;
    font-size: 1.1rem;
}
p.titleTxt {
    margin: 1rem 0 0rem;
    font-size: 1.0rem;
}
ol.pointList {
    padding: 20px 0 0;
}
section{
		padding:2rem 0 0;
	}
	.kensyoTitle {
	    font-size: 1.1rem;
	}
	.kensyoTitle>span {
    font-size: 0.9rem;
}
.js-scrollable-wrap table th {
    width: 150px;
}
h4.crown {
    font-size: 0.8rem;
}
h5 {
    font-size: 0.8rem;
}
.js-scrollable-wrap {
    margin: 3rem auto;
}
.js-scrollable-wrap table td {
    font-size: 0.8rem;
}
h3 {
    padding: 5px 0;
    font-size: 1.5rem;
}
p.RunkSub {
    font-size: 1.0rem;
}
.RankBox {
    padding: 1rem;
}
.RecommendBox {
    padding: 1rem;
}
.button003 a {
    font-size: 1.2rem;
}
.talk {
     margin: 0rem;
}
.talk-Limg {
      float: none;
    display: block;
    width: 80px;
		    height: 80px;

}
.talk-Ltxt {
 margin-left:0;
margin: 3rem 0 2rem;
}
.talk-Ltxt:before {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-bottom: 10px solid #f0f0f0;
    top: -20px;
    left: 20px;
}
.talk-Ltxt:after {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-bottom: 10px solid #fff;
    top: -16px;
    left: 19px;
}
/* ランキング */
.Rankstyle-svg {
  counter-reset:ctr-ranking;           /* カウンターをリセット */
  text-align:left;                     /* 左寄せ */
  font-size: 1.0rem;
	font-weight: bold;                    /* フォントサイズ */
  margin-left:20px;
	max-width: 100%;
	    margin-left:  3rem;
	}
	ul.onayami li {
	  line-height: 1.0; /*文の行高*/
	  padding: 0.5em 0; /*前後の文との余白*/
		list-style: disc;
		font-weight: 500;
		font-size: 0.8rem;
	margin-left: -5px;

	}
	.tbl-r02 th {
        font-size: 0.7rem;
}
.tbl-r02 td {
font-size: 0.8rem;
}
}

a.btn.btn-success {
    width: 100%!important;
    font-size: 0.8rem!important;
    padding: 0.5rem!important;
    border-radius: 8rem;
}
