@charset "utf-8";


/*共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
html {
	scroll-behavior: smooth;
}

body {
    margin: 0px;
    padding: 0px;
	color: #222222;	/*全体の文字色*/
	font-family: "游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;	/*フォント種類*/
	font-size: 16px;	/*文字サイズ*/
	line-height: 1.6;		/*行間*/
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;}
ul {list-style-type: none;}
img {border: none;height: auto;}
iframe {width: 100%;}


*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
}



.bgred{
background-color: red;
}

.bgblue{
background-color: blue;
}




/*コンテンツエリア
---------------------------------------------------------------------------*/

#contents{
width: 100%;
background-color: #fff;
}


#contents .inner{
max-width: 960px;
margin: 0 auto;
box-sizing: border-box;
}

#contents #top .fv img{
width: 100%;
}

#contents #search{
margin:30px auto 30px;
}

#contents #search .inner{
border: solid 1px #004444;
background-color: #f5f5f5;
}

#contents #search h3{
background-color: #004444;
text-align: center;
color: #fff;
font-weight: normal;
padding: 10px;
}

.accbox form{
padding: 16px;
}

.form-wrap form{
padding: 16px;
}


#contents #search table{
width: 100%;
}

#contents #search table tr th{
padding: 4px 8px;
width: 35%;
}

#contents #search table tr td{
padding: 4px 8px;
}

#contents #search table tr td select{
    width: 100%;
    height: 50px;
    display: block;
    padding: 0 16px;
    background: #fff;
    border: 1px solid #c0c0c0;
    font-size: 16px;
}

#contents #search input[type="submit"]{
    width: 50%;
    height: 60px;
    margin: 16px auto;
    padding: 0 20px;
    display: block;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    background:   #ee827c;
;
    color: #fff;
    font-weight: bold;
    cursor: pointer;

}




#contents #search .inner label{
display: block;
width: 100%;
background-color: #004444;
text-align: center;
color: #fff;
font-weight: normal;
padding: 10px;
font-size: 18px;
    cursor :pointer;
    transition: all 0.5s;
position: relative;
}

.accbox label:after{
  font-family: "Font Awesome 5 Free";/*忘れずに*/
  content: "\f053";/*アイコンのユニコード*/
  font-weight: 900;
    position: absolute;
    right: 8px;

}


.accbox input.cssacc{
display: none;
}


.accbox form{
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

.cssacc:checked + label + form{
    height: auto;
        padding: 16px;
            opacity: 1;
}

.cssacc:checked + label:after{
  content: "\f078";
}




/*概要
---------------------------------------------------------------------------*/

#contents .about .inner{
padding: 8px;
}

#contents .about h3{
margin: 16px auto 32px;
padding: 26px;
color: #fff;
font-weight: normal;
text-align: center;
background-color: #ee827c;
font-size: 18px;
}

#contents .about h4{
 padding: 8px;
  border-left: solid 5px #666;
  border-bottom: solid 1px #666;
  font-size: 18px;
  margin: 16px 0px;
}

#contents .about table{
width: 100%;
border-collapse: collapse;
  border-spacing: 0;
}

#contents .about table th{
text-align: left;
width: 30%;
}

#contents .about table th,#contents .about table td{
border-bottom:  dotted 1px #ee827c;
border-top:   dotted 1px #ee827c;
padding: 16px 8px;
}


@-webkit-keyframes shiny-btn1 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}


#contents .result a img.banner_school{
width: 100%;
margin-top: 8px;
margin-bottom: 8px;
}


@-webkit-keyframes shiny-btn1 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}



/*調査概要
---------------------------------------------------------------------------*/
#contents #survey{
padding: 0 8px;
}

#contents #survey h3{
text-align: center;
padding: 16px;
font-size: 24px;
border-radius: 15px;
background: #fbe7e9;
margin: 30px 0 20px;
}

#contents #survey p{
margin: 0 0 20px;
}

#contents #survey p:last-child{
margin: 0 0 60px;
}

#contents #survey h4{
padding: 5px 10px;
border-left: solid 4px #ee827c;
border-bottom: solid 1px #ccc;
font-size: 18px;
margin: 40px 0 20px;
}

#contents #survey table.table-survey01{
width: 100%;
border-collapse: collapse;
margin: 0 0 20px;
}

#contents #survey table.table-survey01 tr:first-child th{
background: #666;
color: #fff;
width: 20%;
}

#contents #survey table.table-survey01 th,#contents #survey table.table-survey01 td{
padding: 5px 0px;
border: solid 1px #ccc;
}

#contents #survey table.table-survey01 th{
background: #f5f5f5;
}

#contents #survey table.table-survey01 td{
padding: 5px 10px;
}

#contents #survey table.table-survey01 td:last-child{
font-weight: bold;
}

#contents #survey h5{
font-size: 16px;
margin: 0 0 10px;
line-height: 1;
text-decoration: underline;
}




/*その他
---------------------------------------------------------------------------*/



#contents footer{
margin-top: 45px;
text-align: center;
background-color: #333333;
color: white;
}

#contents footer #footermenu{
background-color: #004444;
overflow: hidden;
padding: 16px 8px;
}

#contents footer #footermenu .inner{


}

#contents footer #footermenu ul{
float: left;
width: 25%;
padding-left: 16px;
}

#contents footer #footermenu ul li{
text-align: left;
text-decoration: none;

}

#contents footer #footermenu ul li a{
font-size: 12px;
color: #fff;
}

#contents footer #about{
padding: 8px 0px 0px;
}

#contents footer #about a{
color: #fff;
font-size: 16px;
}

#contents footer #copyright{
padding: 8px 0px;
font-size: 12px;
}


span.yellow{
background: #ffd966;
font-weight: bold;
}

span.pink{
background:  linear-gradient(transparent 70%,#ffcdd2 0%);
font-weight: bold;
}

span.blue{
background:  linear-gradient(transparent 70%,#ccffff 0%);
font-weight: bold;
}


span.red{
color: #ff0066;
font-weight: bold;
}

span.gray{
color: #999999;
}

span.bgblue{
background-color:#ee827c;
color: #fff;
padding: 2px;
}

span.cyellow{
color: yellow;
}




p.center{
text-align: center;
}


span.big{
font-size: 120%;
}

span.bold{
font-weight: bold;
}

.bold{
font-weight: bold;
}

span.small{
font-size: 80%;
}

span.midsmall{
font-size: 85%;
}

span.gold{
color: #ffcc00;
}

span.score{
font-family: 'Anton', sans-serif, cursive;
font-size: 110%;
color: #ff3366;
}

.center{
text-align: center;
}




.sp{
display: none;
}



#contents #main .center{
text-align: center;
}

/*_new
---------------------------------------------------------------------------*/

#contents #top02{
}


#contents #top02 header{
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 0;
}

#contents #top02 header img.logo{
}

#contents #top02 header .btn-wrap{
display: flex;
}

#contents #top02 header .btn-wrap a{
display: block;
margin: 0 15px 0 0;
padding: 0 15px 30px 15px;
position: relative;
white-space: nowrap;
}

#contents #top02 header .btn-wrap a:last-child{
margin: 0;
}

#contents #top02 header .btn-wrap a:after{
position: absolute;
bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
z-index: 100;
color: #666;
font-size: 14px;
font-weight: bold;

}

#contents #top02 header .btn-wrap a.btn1:after{
content: "求人例";
}

#contents #top02 header .btn-wrap a.btn2:after{
content: "エリア別";
}

#contents #top02 header .btn-wrap a.btn3:after{
content: "ランキング";
}


#contents #top02 img.logo-link{
text-align: center;
margin: 15px auto 15px;
display: block;
width: 210px;
}

#contents #top02 img#new_fv{
width: 100%;
}

#contents #top02 .area_fv{
position: relative;
margin: 0 0 60px;
}

#contents #top02 .area_fv img{
width: 100%;
}

#contents #top02 .area_fv .txt{
width: 100%;
color: #333;
position: absolute;
font-size: 38px;
font-weight: bold;
top: 32.8%;
text-align: center;
}

#contents #top02 .area_fv .txt span.color{
color: #3399cc;
}


#contents #top02 #compare{
margin: 0 0 60px 0;
}

#contents #top02 #compare .inner{
}

#contents #top02 #compare .tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0 0;
}
#contents #top02 #compare .tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #ee827c;
  display: block;
  order: -1;
}
#contents #top02 #compare .tab-label {
  color: White;
  background: LightGray;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}
#contents #top02 #compare .tab-label:not(:last-of-type) {
  margin-right: 5px;
}
#contents #top02 #compare .tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブなタブ */
#contents #top02 #compare .tab-switch:checked+.tab-label {
  background: #ee827c;
}
#contents #top02 #compare .tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 20px;
  opacity: 1;
  transition: .5s opacity;
  background: #fff;

}
/* ラジオボタン非表示 */
#contents #top02 #compare .tab-switch {
  display: none;
}

table.compare_table{
width: 100%;
font-size: 20px;
color: #666;
border-collapse: collapse;
}

table.compare_table th,table.compare_table td{
border: solid 1px #ddd;
}

table.compare_table th{
font-size: 20px;
padding: 12px 0 10px;
background: #ee827c;
color: #fff;
}

table.compare_table td{
text-align: center;
padding: 10px 20px;
}

table.compare_table tr:nth-child(2) td:nth-child(1){
position: relative;
padding: 30px 20px 10px;
}

table.compare_table td:nth-child(2),table.compare_table td:nth-child(3),table.compare_table td:nth-child(4){
width: calc((890px - 340px) / 3);
}

table.compare_table td.ev01{
background: url(../images/kango_compare_icon01.png);
}

table.compare_table td.ev02{
background: url(../images/kango_compare_icon02.png);
}

table.compare_table td.ev03{
background: none;
}

table.compare_table td.ev01,table.compare_table td.ev02,table.compare_table td.ev03{
background-repeat: no-repeat;
background-size: 100px;
background-position: center;
background-color:rgba(255,255,255,0.5);
background-blend-mode:lighten;
text-shadow: 2px 2px 0 #fff,2px 0px 0 #fff,0px 2px 0 #fff,0px -2px 0 #fff,-2px 0px 0 #fff,-2px 2px 0 #fff,2px -2px 0 #fff,-2px -2px 0 #fff;
}


table.compare_table th:nth-child(1){
width: 340px;
}

img.compare_table_logo{
width: 320px;
}

a.compare_table_logo_wrap{
display: inline-block;
}

a.compare_table_linkbutton{
display: block;
background: #07aa70;
color: #fff;
padding: 10px 0px;
text-decoration: none;
border-radius: 10px;
width: 240px;
margin: 0 auto 5px;
position: relative;
overflow: hidden;
font-size: 20px;
text-align: center;
font-weight: bold;
box-shadow: 0 5px 0 #046140;
}

a.compare_table_linkbutton:after{
 content: "";
  display: block;
  width: 20px;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 2s ease-in-out infinite;
}

@keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

.compare_table_score{
font-size: 28px;
font-family: 'Anton', sans-serif, cursive;
color: #ff4b4b;
}

.compare_table_score i{
color: #f0ee2f;
vertical-align: 4px;
}

a.compare_table_review{
display: inline-block;
margin: 5px 0 0;
text-decoration: none;
font-size: 20px;
color: #9AC5ED;
font-weight: bold;
}

span.compare_table_review_span{
text-decoration: underline;
}


a.compare_table_review:before{
  font-family: "Font Awesome 5 Free";
  content: "\f4ad";
  font-weight: 900;
  margin: 0 5px 0 0;
}

span.compare_table_amount_span{
font-size: 28px;
font-weight: bold;
color: #222;
}

span.compare_table_area_span{
font-size: 28px;
font-weight: bold;
color: #222;
}

.compare_table_td_label_wrap{
position: absolute;
top:0;
left:0;
}

.compare_table_td_label{
font-size: 20px;
height: 32px;
line-height: 1;
padding: 4px 0px 8px 10px;
color: #fff;
background: #CAA846;
text-shadow: none;
position: relative;
font-weight: bold;
text-shadow: 0 -2px 0 #B58B11;
}

.compare_table_td_label i{
font-size: 18px;
vertical-align: 2px;
color: #DEC784;
}

.compare_table_td_label:after{
position: absolute;
content: '';
top: 0;
right: -18px;
width: 0;
height: 0;
border-style: solid;
border-width: 32px 18px 0 0;
border-color: #CAA846 transparent transparent transparent;
}

p.compare_table_addition{
margin: 10px 0 0;
font-size: 20px;
color: #888;
}


#contents #top02 #compare #recommend{

}

#contents #top02 #compare #recommend .row{
margin: 0 0 30px;
}

#contents #top02 #compare #recommend .row:last-child{
margin: 0;
}

#contents #top02 #compare #recommend .recommend-box{
position: relative;
padding: 30px;
}


#contents #top02 #compare #recommend .recommend-box:before{
border-left: solid 2px #ee827c;
border-top: solid 2px #ee827c;
top: 0;
left: 0;
}

#contents #top02 #compare #recommend .recommend-box:after{
border-right: solid 2px #ee827c;
border-bottom: solid 2px #ee827c;
bottom: 0;
right: 0;
}

#contents #top02 #compare #recommend .recommend-box:before, #contents #top02 #compare #recommend .recommend-box:after{
    content: '';
    width: 40px;
    height: 40px;
    position: absolute;
}

#contents #top02 #compare #recommend .recommend-box .logo{
display: block;
margin: 0 auto 0;
}

#contents #top02 #compare #recommend .recommend-box a.txtlink{
display: block;
text-align: center;
font-size: 18px;
margin: 0 0 15px;
}

#contents #top02 #compare #recommend .recommend-box a.txtlink:before{
  font-family: "Font Awesome 5 Free";/*忘れずに*/
  content: "\f35d";/*アイコンのユニコード*/
  font-weight: 900;
  margin-right: 5px;
}

#contents #top02 #compare #recommend .recommend-box .title{
font-size: 30px;
text-align: center;
position: relative;
}

#contents #top02 #compare #recommend .recommend-box .title:before{

display: inline-block;
content:'';
background: url(../images/kango_recommend-title_icon.png);
background-size: cover;
width: 24px;
height: 32px;
vertical-align: 12px;
margin-right: 4px;

}

#contents #top02 #compare #recommend .recommend-box .title span.color{
color: #ee827c;
font-weight: 500;
}

#contents #top02 #compare #recommend .recommend-box p{
font-weight: bold;
}

#contents #top02{

}



#contents #main02{
color: #222222;
}

#contents .h2-wrap{
display: flex;
justify-content:center;
align-items: center;
border-bottom: solid 1px #ee827c;
position: relative;
margin-bottom: 30px;
}


#contents .h2-wrap .left{
margin-right: 20px;
}

#contents .h2-wrap .h2-subtitle01{
display: inline-block;
font-size: 24px;
font-weight: bold;
background: #ee827c;
color: #fff;
padding: 3px 30px;
border-radius: 30px;
margin-bottom: 15px;
}

#contents .h2-wrap .h2-subtitle02{
font-size: 36px;
font-weight: bold;
}

#contents h2{
font-size: 60px;
line-height: 1.25;
}

#contents #main02 .point h3{
position: relative;
margin-top:180px;
text-align: center;
font-size: 38px;
margin-bottom: 30px;
}

#contents #main02 .point h3:before{
    content: '';
    display: inline-block;
    width: 38px;
    height: 38px;
    background-image: url(../images/md_icon_h3.png);
    background-size: contain;
    vertical-align: -4px;
    margin-right: 15px;

}

#contents #main02 .point h3.h01:after{
position: absolute;
content: "01";
font-size: 100px;
top:-140px;
left: 44%;
color: #99cccc;
z-index: 100;
}

#contents #main02 .point h3.h02:after{
position: absolute;
content: "02";
font-size: 100px;
top:-140px;
left: 44%;
color: #99cccc;
z-index: 100;
}

#contents #main02 .point img.images{
display: block;
margin: 0 auto 30px;
}

#contents #main02 .point h4{
font-size: 24px;
text-align: center;
padding: 0 100px;
margin: 0 0 30px;
}

#contents #main02 .point p{
font-size: 18px;
padding: 0 100px;
margin: 0 0 60px;
}

#contents #main02 .point p:last-child{
margin-bottom: 120px;
}


#contents #main02 .recommend{
text-align: center;
}

#contents #main02 .recommend h3{
    display: inline-block;
    position: relative;
    font-size: 38px;    
    margin-bottom: 40px;
}

#contents #main02 .recommend h3 span.color{
color: #ee827c;
}

#contents #main02 .recommend h3:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    display: inline-block;
    width: 80px;
    height: 4px;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    background-color: #ee827c;
}

#contents #main02 .recommend .box{
display: flex;
padding: 0 100px;
align-items: center;
margin-bottom: 15px;
}

#contents #main02 .recommend .box .logo-box{
margin-right: 30px;
background-image:url(../images/md_new_icon-logobox.png);
background-repeat: no-repeat;
background-position:center;
position: relative;
padding: 15px;
}

#contents #main02 .recommend .box .logo-box::before,#contents #main02 .recommend .box .logo-box::after {
	content: '';
	width: 40px;
	height: 40px;
	position: absolute;
}

#contents #main02 .recommend .box .logo-box::before {
	border-left: dotted 2px #ee827c;
	border-top: dotted 2px #ee827c;
	top: 0;
	left: 0;
}

#contents #main02 .recommend .box .logo-box::after {
	border-right: dotted 2px #ee827c;
	border-bottom: dotted 2px #ee827c;
	bottom: 0;
	right: 0;
}

#contents #main02 .recommend .box .logo-box img{
width: 300px;
}

#contents #main02 .recommend .box .logo-box img:first-child{
margin-bottom: 60px;
}

#contents #main02 .recommend .box p{
text-align: left;
font-weight: bold;
}


#contents #main02 .recommend .link{
display: flex;
padding: 0 100px;
justify-content: space-between;
margin-bottom: 80px;
}

#contents #main02 .recommend .link.sp{
display: none;
}

#contents #main02 .recommend .link:last-child{
margin-bottom: 240px;
}

#contents #main02 .recommend .link a.official-link{
font-size: 20px;
display: block;
padding: 10px 15px;
text-align: center;
width: 48%;
text-decoration: none;
border-radius: 8px;
color: #ffffff;
background-color: #ff6600;
border-bottom: solid 3px #cc3300;
margin: 8px auto 0px;
font-weight: bold;
vertical-align: middle;
}

#contents #main02 .recommend .link a.official-link span.small{
font-size: 16px;
}

#contents #area{
padding: 30px 0px 60px;
font-weight: bold;
}

#contents #area .area-h2-wrap{
display: flex;
justify-content: center;
margin: 0 0 30px;
align-items: center;
}

#contents #area .area-h2-wrap img{
margin: 0 32px 0 0;
width: 192px;
}

#contents #area h2{

}

#contents #area .area-wrap{
background: #f7f6f6;
border-radius: 10px;
padding: 30px;
}

#contents #area .area-wrap .area-row{
display: flex;
margin: 0 0 15px;
}

#contents #area .area-wrap .area-row:last-child{
margin:0;
}

#contents #area .area-wrap .area-row .rural{
width: 20%;
font-size: 20px;
}

#contents #area .area-wrap .area-row ul.prefecture{
display: flex;
flex-wrap: wrap;
width: 80%;
}

#contents #area .area-wrap .area-row ul.prefecture li{
width: 23%;
margin: 0 5px 10px;
}

#contents #area .area-wrap .area-row ul.prefecture li a{
text-decoration: none;
color: #222222;
display: inline-block;
width: 100%;
text-align: center;
padding: 8px 0px;
border-radius: 5px;
background: #fbe7e9;
font-size: 18px;
box-shadow: 0px 2px 2px #ccc;
}

#contents #main02 #attention01{
background: #f5e7d5;
padding: 30px 100px;
}

#contents #main02 #attention01 .attention01-h2-wrap{
display: flex;
align-items: center;
}

#contents #main02 #attention01 .attention01-h2-wrap img{
padding: 0 30px 0 0;
}

#contents #main02 #attention01 .attention01-h2-wrap h2{

}

#contents #main02 #attention01 .attention01-h2-wrap .subtitle{
background: #ee827c;
display: inline-block;
padding: 8px 16px;
font-size: 24px;
border-radius: 26px;
color: #fff;
font-weight: bold;
margin: 0 0 15px;
}

#contents #main02 #attention01 h3{
position: relative;
margin-top: 180px;
text-align: center;
font-size: 38px;
margin-bottom: 30px;
}

#contents #main02 #attention01 h3.h01:after{
position: absolute;
    content: "01";
    font-size: 100px;
    top: -140px;
    left: 42%;
    color: #ee827c;
    z-index: 100;
}

#contents #main02 #attention01 h3.h02:after{
position: absolute;
    content: "02";
    font-size: 100px;
    top: -140px;
    left: 42%;
    color: #ee827c;
    z-index: 100;
}

#contents #main02 #attention01 p{
background: #fff;
padding: 30px;
font-size: 20px;
border-radius: 15px;
font-weight: bold;
}

#contents #main02 #attention02{
padding: 30px 100px 60px;
}

#contents #main02 #attention02 h3{
text-align: center;
font-size: 38px;
margin: 0 auto 30px;
}

#contents #main02 #attention02 img{
display: block;
margin: 0 auto 30px;
}

#contents #main02 #attention02 p{
padding: 30px;
font-size: 20px;
background: #f5e7d5;
border-radius: 10px;
font-weight: bold;
}


#contents #main02 #sample{
margin-bottom: 120px;
}

#contents #main02 #sample h2{
margin-bottom: 15px;
}

#contents #main02 #sample h2 span.color{
color: #ee827c;
}


#contents #main02 .sample_date{
text-align: right;
font-size: 12px;
font-weight: bold;
color: #ee827c;
}

#contents #main02 #sample .carousel-wrap{

}

#contents #main02 #sample .carousel-wrap .carousel {
width:100%;
padding:0px 0 8px;
overflow-x:scroll;
-webkit-overflow-scrolling:touch;
overflow-scrolling:touch;
white-space:nowrap;
scroll-snap-type: x mandatory;
}

#contents #main02 #sample .carousel-wrap .carousel li{
    scroll-snap-align: start;
margin: 2px;
text-align: center;
display: inline-block;
width: 170px;
white-space: normal;
vertical-align: top;
border: solid 1px #ee827c;
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper{
width: 100%;
padding: 16px 8px 8px;
}

#contents #main02 #sample .carousel-wrap .carousel li .title{
width:100%;
height: 65px;
padding: 4px;
background-color: #ee827c;
color: #fff;
font-size: 12px;
font-weight: bold;
overflow: hidden;
}

#contents #main02 #sample .carousel-wrap .carousel li .title-wrapper{
position: relative;
}
#contents #main02 #sample .carousel-wrap .carousel li .title-wrapper:after {
  position: absolute;
  content: '';
  top: 60px;
  left: 70px;
  border: 15px solid transparent;
  border-top: 15px solid #ee827c;
  width: 0;
  height: 0;
  }

#contents #main02 #sample .carousel-wrap .carousel li .title p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-align: left;
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper img.sample-img{
width: 100%;
margin-bottom: 8px;
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper .hushtug{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    min-width: 0;
    
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper .hushtug .hushtug-item{
    text-align: center;
    background-color: #fff;
border-radius: 4px;
border: solid 1px #ee827c;
color: #ee827c;
font-size:10px;
font-weight: bold;
margin: 0px 4px 2px 0px;
padding: 3px 8px;
position: relative;
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper table{
width: 100%;
border-collapse:collapse;
margin: 8px 0px 0px 0px;
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper table tr.border-btm{
border-bottom: solid 1px #999999;
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper table th{
font-size: 12px;
background-color: #cccccc;
width: 14%;
text-align: center;
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper table td{
font-size: 10px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    padding-left: 4px
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper .offer{
display: flex;
justify-content: space-around;
align-items: center;
padding: 0;
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper .offer .sample-logo{
width: 50%;
}

#contents #main02 #sample .carousel-wrap .carousel li .wrapper .offer a.sample-link{
font-size: 10px;
display: block;
text-decoration: none;
font-weight: bold;
color: #fff;
background-color: #ff6600;
border-radius: 4px;
padding: 8px 2px 8px 2px;
margin-right: 0;
width: 46%;
}

#contents #search02 h2{
margin-bottom: 15px;
}

#contents #search02 h2 span.color{
color: #ee827c;
}


#contents #search02{

}

#contents #search02{
margin:30px auto 30px;
}

#contents #search02 .inner{
border: solid 1px #004444;
background-color: #f5f5f5;
}

#contents #search02 h3{
background-color: #004444;
text-align: center;
color: #fff;
font-weight: normal;
padding: 10px;
}

#contents #search02 .form-wrap{
background-color: #fbe7e9;
}

#contents #search02 .form-wrap form{
padding: 16px;
}


#contents #search02 table{
width: 100%;
}

#contents #search02 table tr th{
padding: 4px 8px;
width: 35%;
}

#contents #search02 table tr td{
padding: 4px 8px;
}

#contents #search02 table tr td select{
    width: 100%;
    height: 50px;
    display: block;
    padding: 0 16px;
    background: #fff;
    border: 1px solid #c0c0c0;
    font-size: 16px;
}

#contents #search02 input[type="submit"]{
    width: 50%;
    height: 60px;
    margin: 16px auto;
    padding: 0 20px;
    display: block;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    background:   #ee827c;
    color: #fff;
    font-weight: bold;
    cursor: pointer;

}


#contents #search02 .inner label{
display: block;
width: 100%;
background-color: #004444;
text-align: center;
color: #fff;
font-weight: normal;
padding: 10px;
font-size: 18px;
    cursor :pointer;
    transition: all 0.5s;
position: relative;
}

#contents #main02 #result02 .sort{   
text-align: right;
padding: 8px 0px;
}

#contents #main02 #result02 .sort select{  
    margin: 0;
    padding: 0 15px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 320px;
    height: 50px;
    font-size: 16px;
    line-height: 48px;
}

#contents #main02 #result02 .output{
padding: 15px;
}

#contents #main02 #result02 .output .output-item{
padding: 30px;
border: solid 1px #ee827c;
border-radius: 30px;
color: #444444;
margin-bottom: 30px;
}

#contents #main02 #result02 .output .output-item:last-child{
margin-bottom: 0px;
}

#contents #main02 #result02 .output .output-item h3{
color: #ee827c;
font-size: 40px;
}

#contents #main02 #result02 .output .output-item h4{
font-size: 24px;
margin-bottom: 30px;
}

#contents #main02 #result02 .output .output-item .box{
display: flex;
align-items: center;
margin-bottom: 30px;
}

#contents #main02 #result02 .output .output-item .box img.logo{
margin-right: 30px;
}

#contents #main02 #result02 .output .output-item .box table.data{
width: 100%;
}

#contents #main02 #result02 .output .output-item .box table.data th{
background:#ee827c;
color: #fff;
padding: 15px 0;
font-size: 18px;
}

#contents #main02 #result02 .output .output-item .box table.data td{
font-size: 24px;
text-align: center;
background: #f5f5f5;
}

#contents #main02 #result02 .output .output-item .box table.data td span.ammount{
font-weight: bold;
color: #ff6600;
}

#contents #main02 #result02 .output .output-item ul li.title{
font-size: 24px;
font-weight: bold;
color: #ee827c;
}

#contents #main02 #result02 .output .output-item ul li.title:before{
content: '';
display: inline-block;
width: 28px;
height: 28px;
background-image: url(../images/md_icon_h3.png);
background-size: contain;
vertical-align: -4px;
margin-right: 10px;
}

#contents #main02 #result02 .output .output-item ul li.description{
font-size: 18px;
margin-bottom: 30px;
}

#contents #main02 #result02 .output .output-item a.cvbutton{
    font-size: 24px;
    display: block;
    padding: 15px 15px;
    text-align: center;
    width: 60%;
    text-decoration: none;
    border-radius: 8px;
    color: #ffffff;
    background-color: #ff6600;
    border-bottom: solid 3px #cc3300;
    margin: 0px auto 0px;
    font-weight: bold;
    vertical-align: middle;
}

#contents #main02 #result02 .output .output-item .advice {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

#contents #main02 #result02 .output .output-item .advice img.icon {
    width: 150px;
    margin-right: 30px;
}

#contents #main02 #result02 .output .output-item .advice .comment {
    background: #fbe7e9;
    padding: 30px;
    border-radius: 15px;
    position: relative;
    font-size: 18px;
}

#contents #main02 #result02 .output .output-item .advice .comment:before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -15px;
    top: 20px;
    border-right: 15px solid #fbe7e9;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

#contents #main02 #ranking{
padding: 0 100px;
}

#contents #main02 #ranking .h2-wrap .h2-subtitle{
display: inline-block;
padding: 10px 20px;
font-size: 28px;
font-weight: bold;
border-radius: 40px;
background: #ff4b4b;
color: #fff;
margin: 0 0 15px;
}

#contents #main02 #ranking .h2-wrap .h2-subtitle.area{
background: #3399cc;
}


#contents #main02 #ranking .h2-wrap h2{
line-height: 1;
}

#contents #main02 #ranking .h2-wrap h2 span.color{
color: #ff4b4b;
font-size: 140%;
}





#contents #main02 #ranking .ranking-item{
background: #fbe7e9;
border-radius: 10px;
padding: 30px;
position: relative;
margin: 0 0 30px;
}

#contents #main02 #ranking .ranking-item:last-child{
margin: 0;
}

#contents #main02 #ranking .ranking-item.rank1:before{
content: '';
display: inline-block;
position: absolute;
background-image: url(../images/kango_rank-icon01.png);
width: 90px;
height: 120px;
background-size: cover;
top: 15px;
}

#contents #main02 #ranking .ranking-item.rank2:before{
content: '';
display: inline-block;
position: absolute;
background-image: url(../images/kango_rank-icon02.png);
width: 90px;
height: 120px;
background-size: cover;
top: 15px;
}

#contents #main02 #ranking .ranking-item.rank3:before{
content: '';
display: inline-block;
position: absolute;
background-image: url(../images/kango_rank-icon03.png);
width: 90px;
height: 120px;
background-size: cover;
top: 15px;
}

#contents #main02 #ranking .ranking-item.rank4:before{
content: '';
display: inline-block;
position: absolute;
background-image: url(../images/kango_rank-icon04.png);
width: 90px;
height: 120px;
background-size: cover;
top: 15px;
}

#contents #main02 #ranking .ranking-item.rank5:before{
content: '';
display: inline-block;
position: absolute;
background-image: url(../images/kango_rank-icon05.png);
width: 90px;
height: 120px;
background-size: cover;
top: 15px;
}

#contents #main02 #ranking .ranking-item.rank6:before{
content: '';
display: inline-block;
position: absolute;
background-image: url(../images/kango_rank-icon06.png);
width: 90px;
height: 120px;
background-size: cover;
top: 15px;
}



#contents #main02 #ranking .ranking-item h3{
display: flex;
justify-content: space-between;
margin: 0 0 50px;
align-items: center;
}

#contents #main02 #ranking .ranking-item h3 .name{
padding-left: 110px;
padding-top: 10px;
font-size: 38px;
}

#contents #main02 #ranking .ranking-item h3 a{
color: #222;
}


#contents #main02 #ranking .ranking-item h3 .vote{
width: 150px;
padding: 5px 20px 5px 0;
background: #fff;
border-radius: 10px;
box-shadow: 0px 5px 5px #baabad;
text-align: right;
}

#contents #main02 #ranking .ranking-item h3 .vote span.color{
color: #ee827c;
font-size: 150%;
}

#contents #main02 #ranking .ranking-item h3 .ranking-headerscore{
padding: 10px 20px;
background: #fff;
border-radius: 10px;
box-shadow: 0px 5px 5px #baabad;
font-size: 24px;
min-width: 68px;
}

#contents #main02 #ranking .ranking-item h3 .ranking-headerscore span.color{
font-family: 'Anton', sans-serif, cursive;
color: #ff3366;
font-weight: 400;
font-size: 120%;
}

#contents #main02 #ranking .ranking-item h3 .ranking-headerscore span.color:before{
  font-family: "Font Awesome 5 Free";/*忘れずに*/
  content: "\f005";/*アイコンのユニコード*/
  font-weight: 900;
  color: #ffcc00;
  margin: 0 6px 0 0;
  font-size: 24px;
  vertical-align:2px
}


#contents #main02 #ranking .ranking-item .maincopy{
font-size: 28px;
font-weight: bold;
margin: 0 0 30px;
}

#contents #main02 #ranking .ranking-item img.hv-img{
width: 100%;
border-radius: 10px;
margin: 0 0 30px;
}

#contents #main02 #ranking .ranking-item .spec{
padding: 15px;
background: #fff;
border-radius: 10px;
margin: 0 0 30px;    
}

#contents #main02 #ranking .ranking-item .spec table{
width: 100%;
font-size: 20px;
text-align: center;
}

#contents #main02 #ranking .ranking-item .spec table th{
width: 33%;
padding: 5px 0px;
background: #f5f5f5;
border-right: solid 2px #fff;
}

#contents #main02 #ranking .ranking-item .spec table td{
padding: 15px 0px;
font-weight: bold;
}


#contents #main02 #ranking .ranking-item .advice{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

#contents #main02 #ranking .ranking-item .advice img.icon {
    width: 150px;
    margin-right: 30px;
}

#contents #main02 #ranking .ranking-item .advice .comment {
    background: #fff;
    padding: 30px;
    border-radius: 15px;
    position: relative;
    font-size: 18px;
}

#contents #main02 #ranking .ranking-item .advice .comment:before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -15px;
    top: 20px;
    border-right: 15px solid #fff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

#contents #main02 #ranking .ranking-item a.cvbutton{
font-weight: bold;
vertical-align: middle;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    text-align: center;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
padding: 20px;
    font-size: 18px;
    background-color: #57d7a0;
    background-image: -webkit-gradient(linear,left bottom,left top,from(#07aa70),to(#57d7a0));
    background-image: -webkit-linear-gradient(bottom,#07aa70,#57d7a0);
    background-image: linear-gradient(0deg,#07aa70 0,#57d7a0);
    border: 1px solid #0da871;
    display: block;
    letter-spacing: normal;
    -ms-flex: 1 1 50%;
    width: 60%;
    max-width: 60%;
    border-radius: 40px;
    margin: 0 auto 30px;
}

#contents #main02 #ranking .ranking-item a.cvbutton:last-child{
margin-bottom: 0px;
}

#contents #main02 #ranking .ranking-item .uservoice h4{
font-size: 30px;
padding:0 0 0 60px;
position: relative;
margin: 0 0 15px;
}

#contents #main02 #ranking .ranking-item .uservoice h4:before{
position: absolute;
content: '';
display: inline-block;
width: 44px;
height: 44px;
background-image: url(../images/kango_h4-uservoice_icon.png);
background-size: contain;
left: 0px;
}

li.ranking_item_review{
position: relative;
}

ul.ranking_item_review__wrap li.ranking_item_review:not(:last-child){
margin: 0 0 20px;
padding: 0 0 20px;
}

ul.ranking_item_review__wrap li.ranking_item_review:not(:last-child):after{
position: absolute;
display: block;
content: '';
background: #ccc;
height: 2px;
width: calc(100%);
bottom: 0;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
 }

.ranking_item_review__profile{
padding: 0 0 0 84px;
position: relative;
font-size: 24px;
}

.ranking_item_review__profile:before{
position: absolute;
content: '';
display: inline-block;
width: 64px;
height: 64px;
background: url(../images/kango_ranking_item_review-icon.png);
left: 0;
background-repeat: no-repeat;
}

.ranking_item_review__profile_title{
line-height: 1.25;
font-weight: bold;
color: #FF9196;
padding: 20px 0 20px;
}

.ranking_item_review__profile_detail{
display: flex;
align-items: center;
}

._detail_star{
margin: 0 20px 0 0;
}

span._detail_star_gold{
color: #ffcc00;
}

span._detail_star_gray{
color: #ccc;
}

._detail_age-occuaption{
font-size: 20px;
}

p.ranking_item_review__description{
font-size: 20px;
}

.ranking_item_review__box{
position: relative;
margin: 0 0 20px;
}

.grad-btn {
  z-index: 2;
    position: absolute;
    right: 0;
    bottom: 20px;
    left: 0;
    width: 148px;
    margin: auto;
    padding: 5px 0;
    border-radius: 4px;
    background: #FF686F;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
	font-weight: bold;
}

ul.ranking_item_review__wrap{
padding: 20px;
background: #fff;
  position: relative;
  overflow: hidden;
  height: 280px;
}

ul.ranking_item_review__wrap::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
  z-index: 1;
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked + .grad-btn {
  display: none; /*チェックされていたら、grad-btnを非表示にする*/
}
.grad-trigger:checked ~ ul.ranking_item_review__wrap{
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ ul.ranking_item_review__wrap::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}




.sp{
display: none;
}


/*画面幅～750px
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:768px){

.sp{
display: block;
}

body{
font-size: 14px;
}



/*コンテンツ
---------------------------------------------------------------------------*/


#contents{
width: 100%;
margin:0;
}

#contents .inner{
box-sizing: border-box;
width: 100%;
overflow: hidden;

}

#contents #main{
box-sizing: border-box;
width: 100%;
padding: 20px 15px;
}

#contents #search{
margin:0px auto 30px;
}

#contents #search02 h2{
margin: 0 0 10px;
font-size: 30px;
}

#contents #search .inner label{
font-size: 16px;
}

#contents #search table tr th {
font-size: 14px;
}


#contents #search table tr td select{
font-size: 14px;
}

#contents #search table tr td{
font-size: 14px;
}

#contents .service h2{
padding: 8px 16px;
font-size: 16px;
text-shadow: 0 1px 3px #3b79aa;
}

.full{
width: 82% !important;
}

#contents .service .compare{
  overflow-y: hidden;
  }



/*_new
---------------------------------------------------------------------------*/

#contents #top02 header{
padding: 10px 10px 0;
align-items: flex-start;
}

#contents #top02 header .btn-wrap a{
margin: 0 0 0 0;
padding: 0 15px 20px 15px;
}

#contents #top02 header .btn-wrap a.btn1:after,#contents #top02 header .btn-wrap a.btn2:after,#contents #top02 header .btn-wrap a.btn3:after{
font-size: 10px;

}

#contents #top02 header .btn-wrap a img{
width: 22px;
}

#contents #top02 header img.logo{
width: 120px;
}


#contents #top02 img.logo-link{
width: 140px;
}

#contents #top02 img#new_fv{
width: 100%;
}

#contents #top02 .area_fv .txt{
color: #444;
font-size: 6.5vw;
font-weight: bold;
top: 32.2%;
}

#contents #top02 #compare{
font-size: 12px;
margin-bottom: 30px;
}

#contents #top02 #compare .inner{
padding: 0px 10px 10px;
background: #fff;
}

#contents #top02 #compare .tab-wrap{
margin-top: 0px;
box-shadow:0px 2px 4px #ccc
}

#contents #top02 #compare .tab-label{
font-size: 14px;
}

#contents #top02 #compare .tab-switch:checked+.tab-label+.tab-content{
padding: 5px;
}

#contents #top02 #compare .tab-switch:checked+.tab-label+.tab-content.tab2{
padding: 20px;
}

table.compare_table{
font-size: 12px;
}

table.compare_table th,table.compare_table td{
}

table.compare_table th{
font-size: 12px;
padding: 4px 0 2px;
}

table.compare_table td{
text-align: center;
padding: 5px 5px;
}

table.compare_table tr:nth-child(2) td:nth-child(1){
padding: 18px 5px 5px;
}

table.compare_table td:nth-child(2),table.compare_table td:nth-child(3),table.compare_table td:nth-child(4){
width: calc((100vw - 170px) / 3);
}

table.compare_table td.ev01{
background: url(../images/kango_compare_icon01.png);
}

table.compare_table td.ev02{
background: url(../images/kango_compare_icon02.png);
}

table.compare_table td.ev03{
background: none;
}

table.compare_table td.ev01,table.compare_table td.ev02,table.compare_table td.ev03{
background-repeat: no-repeat;
background-size: 50px;
background-position: center;
background-color:rgba(255,255,255,0.5);
background-blend-mode:lighten;
text-shadow: 1px 1px 0 #fff,1px 0px 0 #fff,0px 1px 0 #fff,0px -1px 0 #fff,-1px 0px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,-1px -1px 0 #fff;
}


table.compare_table th:nth-child(1){
width: 140px;
}

img.compare_table_logo{
width: 120px;
}

a.compare_table_logo_wrap{
display: inline-block;
}

a.compare_table_linkbutton{
padding: 5px 0px;
border-radius: 6px;
width: 120px;
margin: 0 auto 3px;
font-size: 10px;
box-shadow: 0 3px 0 #046140;
}

.compare_table_score{
font-size: 16px;

}

.compare_table_score i{
vertical-align: 2px;
}

a.compare_table_review{
margin: 2px 0 0;
font-size: 10px;
}

span.compare_table_review_span{
}


a.compare_table_review:before{
  font-family: "Font Awesome 5 Free";
  content: "\f4ad";
  font-weight: 900;
  margin: 0 2px 0 0;
}

span.compare_table_amount_span{
font-size: 12px;
font-weight: bold;
color: #222;
}

span.compare_table_area_span{
font-size: 12px;
font-weight: bold;
color: #222;
}


.compare_table_td_label_wrap{
left: 0;
}

.compare_table_td_label{
font-size: 10px;
height: 20px;
line-height: 1;
padding: 2px 0px 4px 5px;
background: #CAA846;
text-shadow: 0 -1px 0 #B58B11;
font-weight: bold;
}

.compare_table_td_label i{
font-size: 10px;
vertical-align: 0px;
color: #DEC784;
}

.compare_table_td_label:after{
position: absolute;
content: '';
top: 0;
right: -9px;
border-width: 20px 9px 0 0;
border-color: #CAA846 transparent transparent transparent;
}

p.compare_table_addition{
margin: 5px 0 0;
font-size: 10px;
color: #888;
}

#contents #top02 #compare #recommend .recommend-box{
padding: 20px;
margin-bottom: 20px;
}

#contents #top02 #compare #recommend .row{
margin: 0;
}

#contents #top02 #compare #recommend .row:last-child .recommend-box:last-child{
margin: 0;
}

#contents #top02 #compare #recommend .recommend-box .title{
font-size: 20px;
margin: 0 0 10px;
}

#contents #top02 #compare #recommend .recommend-box .title:before{
width: 12px;
height: 18px;
}

#contents #top02 #compare #recommend .recommend-box .logo{
width: 160px;
}

#contents #top02 #compare #recommend .recommend-box p{
font-size: 14px;
}

#contents #top02 #compare #recommend .recommend-box a.txtlink{
font-size: 16px;
}

#contents #main02 .h2-wrap{
font-size: 10px;
}

#contents #main02 .h2-wrap .left{
margin-right: 0px;
}

#contents #main02 .h2-wrap .left img{
width: 110px;
}

#contents #main02 .h2-wrap .h2-subtitle01{
font-size: 14px;
margin-bottom: 10px;
}

#contents #main02 .h2-wrap .h2-subtitle02{
font-size: 18px;
}

#contents #main02 h2{
font-size: 30px;
}

#contents #main02 .h2-wrap:before {
  content: "";
  position: absolute;
  bottom: -50px;
  left: 48%;
  margin-left: -16px;
  border: 25px solid transparent;
  border-top: 25px solid #fff;
  z-index: 2;
}

#contents #main02 .h2-wrap:after {
  content: "";
  position: absolute;
  bottom: -52px;
  left: 48%;
  margin-left: -17px;
  border: 26px solid transparent;
  border-top: 26px solid #ee827c;
  z-index: 1;
}

#contents #main02 #ranking{
padding: 0 10px 0;
margin: 0 0 30px;
}

#contents #main02 #ranking .h2-wrap img{
width: 100px;
margin: 0 5px 0 0;
}

#contents #main02 #ranking .h2-wrap .h2-subtitle{
font-size: 16px;
padding: 5px 10px;
}

#contents #main02 #ranking .h2-wrap h2{
font-size: 26px;
margin: 0 0 20px;
white-space: nowrap;
}

#contents #main02 #ranking .ranking-item{
padding: 10px;
margin: 0 0 20px;
}

#contents #main02 #ranking .ranking-item.rank1:before,#contents #main02 #ranking .ranking-item.rank2:before,#contents #main02 #ranking .ranking-item.rank3:before,#contents #main02 #ranking .ranking-item.rank4:before,#contents #main02 #ranking .ranking-item.rank5:before,#contents #main02 #ranking .ranking-item.rank6:before{
width: 45px;
height: 60px;
}

#contents #main02 #ranking .ranking-item h3{
margin: 0 0 30px;
}

#contents #main02 #ranking .ranking-item h3 .name{
font-size: 20px;
padding: 10px 0 0 50px;
}

#contents #main02 #ranking .ranking-item h3 .vote{
width: 84px;
font-size: 12px;
padding: 5px 5px 5px 0;
white-space: nowrap;
}

#contents #main02 #ranking .ranking-item h3 .ranking-headerscore{
padding: 5px 5px;
font-size: 14px;
}

#contents #main02 #ranking .ranking-item h3 .ranking-headerscore span.color{
font-family: 'Anton', sans-serif, cursive;
color: #ff3366;
font-weight: 400;
font-size: 120%;
}

#contents #main02 #ranking .ranking-item h3 .ranking-headerscore span.color:before{
  font-family: "Font Awesome 5 Free";/*忘れずに*/
  content: "\f005";/*アイコンのユニコード*/
  font-weight: 900;
  color: #ffcc00;
  margin: 0 3px 0 0;
  font-size: 14px;
  vertical-align:2px
}


#contents #main02 #ranking .ranking-item .maincopy{
font-size: 16px;
margin: 0 0 10px;
}

#contents #main02 #ranking .ranking-item img.hv-img{
margin: 0 0 10px;
}

#contents #main02 #ranking .ranking-item .spec{
padding: 10px;
margin: 0 0 10px;
}

#contents #main02 #ranking .ranking-item .spec table{
font-size: 14px;
}

#contents #main02 #ranking .ranking-item .spec table td{
padding: 10px 0px 0px;
}

#contents #main02 .point h3{
margin-top: 120px;
font-size: 18px;
padding: 10px;
}

#contents #main02 #ranking .ranking-item .advice{
margin: 0 0 10px;
}

#contents #main02 #ranking .ranking-item .advice img.icon{
width: 100px;
margin: 0 5px 0 0;
}

#contents #main02 #ranking .ranking-item .advice .comment{
padding: 15px;
font-size: 14px;
}

#contents #main02 #ranking .ranking-item a.cvbutton{
width: 80%;
max-width: 80%;
margin: 0 auto 20px;
}

#contents #main02 #ranking .ranking-item .uservoice h4{
font-size: 16px;
padding: 0 0 0 25px;
margin: 0 0 10px;
}

#contents #main02 #ranking .ranking-item .uservoice h4:before{
width: 22px;
height: 22px;
}


li.ranking_item_review{
}

ul.ranking_item_review__wrap li.ranking_item_review:not(:last-child){
margin: 0 0 10px;
padding: 0 0 10px;
}

ul.ranking_item_review__wrap li.ranking_item_review:not(:last-child):after{
height: 1px;
}

.ranking_item_review__profile{
padding: 0 0 0 42px;
position: relative;
font-size: 14px;
}

.ranking_item_review__profile:before{
width: 32px;
height: 32px;
background: url(../images/kango_ranking_item_review-icon.png);
left: 0;
background-repeat: no-repeat;
background-size: contain;
}

.ranking_item_review__profile_title{
padding: 10px 0 10px;
}

.ranking_item_review__profile_detail{

}

._detail_star{
margin: 0 10px 0 0;
}

span._detail_star_gold{
color: #ffcc00;
}

span._detail_star_gray{
color: #ccc;
}

._detail_age-occuaption{
font-size: 12px;
}

p.ranking_item_review__description{
font-size: 12px;
}

.ranking_item_review__box{
margin: 0 0 10px;
}

.grad-btn {
  z-index: 2;
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    width: 100px;
    margin: auto;
    padding: 5px 0;
    border-radius: 4px;
    background: #FF686F;
    color: #fff;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
	font-weight: bold;
}

ul.ranking_item_review__wrap{
padding: 10px;
  position: relative;
  overflow: hidden;
  height: 120px;
}

ul.ranking_item_review__wrap::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
  z-index: 1;
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked + .grad-btn {
  display: none; /*チェックされていたら、grad-btnを非表示にする*/
}
.grad-trigger:checked ~ ul.ranking_item_review__wrap{
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ ul.ranking_item_review__wrap::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}


#contents #top02 .area_fv{
margin: 0 0 30px;
}

#contents #area{
padding: 0 10px 0;
margin: 0 0 30px;
}

#contents #area .area-h2-wrap{
margin: 0 0 10px;
}

#contents #area .area-h2-wrap h2{
font-size: 26px;
}

#contents #area .area-h2-wrap img{
width: 96px;
margin: 0 10px 0 0;
}

#contents #area .area-wrap{
padding: 15px;
}

#contents #area .area-wrap .area-row .rural{
font-size: 16px;
width: 16%;
}

#contents #area .area-wrap .area-row ul.prefecture{
width: 84%;
}

#contents #area .area-wrap .area-row ul.prefecture li{
margin: 0 5px 10px;
width: 21%;
}

#contents #area .area-wrap .area-row ul.prefecture li a{
font-size: 14px;
}

#contents #main02 #attention01{
padding: 20px;
}

#contents #main02 #attention01 .attention01-h2-wrap img{
width: 120px;
padding: 0 10px 0 0;
}

#contents #main02 #attention01 .attention01-h2-wrap .subtitle{
font-size: 14px;
border-radius: 36px;
margin: 0 0 5px;
padding: 5px 10px;
}

#contents #main02 #attention01 .attention01-h2-wrap h2{
font-size: 26px;
}

#contents #main02 #attention01 h3{
font-size: 26px;
margin: 100px auto 12px;
}

#contents #main02 #attention01 h3.h01:after{
font-size: 60px;
left: 41%;
top: -80px;
}

#contents #main02 #attention01 h3.h02:after{
font-size: 60px;
left: 41%;
top: -80px;
}

#contents #main02 #attention01 p{
padding: 20px;
font-size: 16px;
}

#contents #main02 #attention02 h3{
font-size: 26px;
margin: 0 auto 20px;
}

#contents #main02 #attention02{
padding: 20px;
margin: 0 0 30px;
}

#contents #main02 #attention02 img{
width: 200px;
margin: 0 auto 20px;
}

#contents #main02 #attention02 p{
font-size: 16px;
padding: 20px;
}




#contents #main02 .point h3.h01:after{
font-size: 60px;
left: 42%;
top: -90px;
}

#contents #main02 .point h3.h02:after{
font-size: 60px;
left: 42%;
top: -90px;
}

#contents #main02 .point h3::before{
width: 24px;
height: 24px;
margin-right: 10px;
}

#contents #main02 .point img.images{
width: 70%;
}

#contents #main02 .point h4{
padding: 0 30px;
font-size: 16px;
}

#contents #main02 .point p{
padding: 0 30px;
font-size: 14px;
}

#contents #main02 .point p:last-child{
margin-bottom: 60px;
}

#contents #main02 .recommend h3{
font-size: 20px;
}

#contents #main02 .recommend h3:before{
height: 2px;
}

#contents #main02 .recommend .box{
padding: 0 30px;
}

#contents #main02 .recommend .box .logo-box{

width: 80%;
margin: 0 auto 30px;
background-size: 36px;
padding: 30px;
}

#contents #main02 .recommend .box .logo-box img{
width: 100%;
}

#contents #main02 .recommend .box .logo-box img:first-child{
margin-bottom: 40px;
}

#contents #main02 .recommend .link{
padding: 0 30px;
margin-bottom: 60px;
}

#contents #main02 .recommend .link.sp{
display: flex;
}

#contents #main02 .recommend .link.pc{
display: none;
}

#contents #main02 .recommend .link a.official-link{
font-size: 16px;
padding: 5px;
}

#contents #main02 .recommend .link a.official-link span.small{
font-size: 12px;
}

#contents #main02 .recommend .link:last-child{
margin-bottom: 120px;
}

#contents #main02 #sample{
margin: 0 0 30px;
}

#contents #main02 #sample .h2-wrap{
margin: 0 0 20px;
}

#contents #main02 #sample h2{
margin: 0 0 10px;
}

#contents #main02 #sample h2:before{
    width: 24px;
    height: 28px;
    vertical-align: 20px;
    margin-right: 5px;
}

#contents #main02 .h2-wrap{
margin-bottom: 40px;
}

#contents #search02.search-result{
margin: 0 0 5px;
}

#contents #main02 #result02 .output{
padding: 10px 10px 0;
margin: 0 0 30px;
}

#contents #main02 #result02 .output .output-item{
padding: 10px;
border-radius: 15px;
margin: 0 0 10px;
}

#contents #main02 #result02 .output .output-item h3{
font-size: 28px;
margin-bottom: 10px;
}

#contents #main02 #result02 .output .output-item h4{
font-size: 18px;
margin-bottom: 10px;
}

#contents #main02 #result02 .output .output-item .box img.logo{
width: 40%;
padding-right: 10px;
margin: 0;
}

#contents #main02 #result02 .output .output-item .advice{
margin: 0 0 10px;
}

#contents #main02 #result02 .output .output-item .advice img.icon{
width: 100px;
margin: 0 10px 0 0;
}

#contents #main02 #result02 .output .output-item .advice .comment{
padding: 20px;
font-size: 14px;

}

#contents #main02 #result02 .output .output-item .box{
margin: 0 0 10px;
}

#contents #main02 #result02 .output .output-item .box table.data{
width: 60%;
}

#contents #main02 #result02 .output .output-item .box table.data th{
font-size: 12px;
}

#contents #main02 #result02 .output .output-item .box table.data td{
font-size: 14px;
}

#contents #main02 #result02 .output .output-item ul li.title{
font-size: 18px;
}

#contents #main02 #result02 .output .output-item ul li.title:before{
width: 20px;
height: 20px;
vertical-align: -2px;
margin-right: 5px;
}

#contents #main02 #result02 .output .output-item ul li.description{
margin-bottom: 15px;
font-size: 14px;
}

#contents #main02 #result02 .output .output-item a.cvbutton{
font-size: 16px;
width: 80%;
}

#contents #main02 #result02 .sort select{
width: 50%;
}

#contents #survey{
padding: 0 8px;
}

#contents #survey h3{
padding: 10px;
font-size: 16px;
border-radius: 10px;
margin: 0px 0 20px;
}

#contents #survey p{
margin: 0 0 20px;
}

#contents #survey p:last-child{
margin: 0 0 30px;
}

#contents #survey h4{
padding: 5px 5px;
font-size: 16px;
margin: 40px 0 20px;
}

#contents #survey table.table-survey01{
margin: 0 0 20px;
font-size: 12px;
}

#contents #survey table.table-survey01 tr:first-child th{
background: #666;
color: #fff;
width: 20%;
}

#contents #survey table.table-survey01 th,#contents #survey table.table-survey01 td{
padding: 5px 0px;
}

#contents #survey table.table-survey01 th{
background: #f5f5f5;
}

#contents #survey table.table-survey01 td{
padding: 5px 10px;
}

#contents #survey h5{
font-size: 14px;
margin: 0 0 10px;
line-height: 1;
text-decoration: underline;
}

#contents footer #about a{
font-size: 12px;
}



.pc{
display: none;
}

}
