/*--------------------------------------
共通設定
--------------------------------------*/
.bold{
    font-weight: bold;
}
.align-center{
    text-align: center;
}
.align-right{
    text-align: right;
}
.required{
    color: #bb1c00;
    font-size: .8em;
}


/*--------------------------------------
入力フォーム等
--------------------------------------*/
.member-form{
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}
.member-form1{
    margin: 20px 0 5px;
}
.member-form2{
    margin-bottom: 30px;
}
.member-form2 select{
    padding: 8px 5px;
}
.member-form2 textarea{
    box-shadow: none;
}
.member-form2 input[type=text],
.member-form2 input[type=password],
.member-form2 input[type=email],
.member-form2 select,
.member-form2 textarea{
    border-radius: 3px;
    width: 100%;
    margin-bottom: 5px;
}
.member-form2 input[type=text]:active,
.member-form2 input[type=text]:focus,
.member-form2 input[type=password]:active,
.member-form2 input[type=password]:focus,
.member-form2 input[type=email]:active,
.member-form2 input[type=email]:focus,
.member-form2 select:active,
.member-form2 select:focus,
.member-form2 textarea:active,
.member-form2 textarea:focus{
    border: 1px solid #90a1d3;
	background: #fbffff;
    outline: 0;
}
.member-form2 input[type=radio] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    top: 4px;
    width: 20px;
    height: 20px;
	margin-right: 5px;
    border: 1px solid #ccc;
    border-radius: 50%;
    cursor: pointer;
}
.member-form2 input[type=radio]:checked {
	background: #002d69;
    border: 1px solid #004369;
}
.member-form2 input[type=radio]:checked:after {
    position: absolute;
    content: "";
    top: 1px;
    left: 5px;
    width: 7px;
    height: 13px;
    -webkit-transform: rotate(40deg);
    transform: rotate(40deg);
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
}
.member-form2 .radio-parts{
	margin-right: 20px;
}
.member-form-btn{
    text-align: center;
    margin: 40px auto 30px;
}
.change-password{
    margin: 50px 0 0;
    padding: 20px;
    border: solid 1px #ccc;
    border-radius: 3px;
	background: #fafafa;
}
.member-form-send{
    border: none;
    margin: 10px 0;
    padding: 8px 30px;
    font-size: .9em;
    color: #fff;
    background: #002d69;
    border-radius: 3px;
}
.avatar-delete{
	width: fit-content;
    color: #bb1c00;
	margin: 15px 10px;
    cursor: pointer;
}
.success,
.waiting{
    color: #079246;
}


/*--------------------------------------
マイページ、マイレビュー
--------------------------------------*/
.mypage{
    margin: 20px 0 0;
}
.member-form2 a{
    margin-left: 10px;
}
.align-right{
    text-align: right;
    margin: 20px 0;
}
.myreview-list{
    margin-bottom: 50px;
}
.myreview-post{
    margin: 10px 0 20px;
}
.myreview-edit{
    margin: 10px 0 20px;
}
.myreview-edit a{
	margin-left: 5px;
    font-size: .85em;
    color: #ac260f;
}
.entry-content .myreview-title{
    font-size: 1.2em;
	margin: 20px 0 30px;
    border-top: none;
    border-bottom: none;
}
.review-delete-form{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 45px;
}
.review-delete{
    color: #ac260f;
    border: none;
    background: none;
}
@media only screen and (max-width: 899px) {
    .myreview-edit a{
        font-size: .8em;
    }
    .entry-content .myreview-title{
        font-size: 1.1em;
    }
}


/*--------------------------------------
口コミを投稿する
--------------------------------------*/
.review-upload{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
    width: 100%;
    font-size: initial;
    padding: 1.5em 2.5em;
    margin: .5em auto 1.5em;
    border: solid 1px #C7C7C7;
    border-top: solid 7px #0058A0;
}
.review-upload-title{
    padding: 0 0 .5em;
    font-size: 1.3em;
    font-weight: bold;
    color: #0058A0;
}
.review-edit-logout{
    margin-top: 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.form-data1{
    margin-bottom: 5px;
}
.form-data2{
    margin-bottom: 20px;
}
.form-data2 input,
.form-data2 select,
.form-data2 textarea{
    border-radius: 3px;
    width: 100%;
}
.form-data2 select{
    padding: 8px 5px;
}
.form-data2 textarea{
    height: 200px;
}
.form-data2 input:active,
.form-data2 input:focus,
.form-data2 select:active,
.form-data2 select:focus,
.form-data2 textarea:active,
.form-data2 textarea:focus{
    border: 1px solid #90a1d3;
	background: #fbffff;
    outline: 0;
}
.review-edit,
.review_upload_btn{
    border: none;
    margin: 1em auto 2em;
    padding: 8px 30px;
    font-size: .9em;
    color: #fff;
    background: #002d69;
    border-radius: 3px;
}

.no_login_review{
    box-sizing: border-box;
    display: table;
    width: 100%;
}
.no_login_review .form-data1{
    box-sizing: border-box;
    display: table-cell;
    width: 30%;
    font-weight: bold;
    font-size: .9em;
}
.no_login_review .form-data2{
    box-sizing: border-box;
    display: table-cell;
    width: 70%;
}
@media only screen and (max-width: 768px) {
	.review-upload{
	    padding: 1.5em;
	}
    .review-edit-logout{
        font-size: .9em;
    }
    .no_login_review{
        display: block;
    }
    .no_login_review .form-data1,
    .no_login_review .form-data2{
        display: block;
        width: 100%;
    }
    .no_login_review .form-data1{
        padding-left: 0;
    }
}


/*--------------------------------------
レビューの星
--------------------------------------*/
.review-rating-all{
	padding: 0 0 2px 95px;
    color: #DD0000;
    font-size: 1.3em;
    font-weight: bold;
	position: relative;
	top: 1px;
}
.review-rating{
	padding: 5px 0 3px 90px;
    color: transparent;
}
.star00{ background: url(../images/star/icon-star00.png) left center no-repeat; }
.star05{ background: url(../images/star/icon-star05.png) left center no-repeat; }
.star10{ background: url(../images/star/icon-star10.png) left center no-repeat; }
.star15{ background: url(../images/star/icon-star15.png) left center no-repeat; }
.star20{ background: url(../images/star/icon-star20.png) left center no-repeat; }
.star25{ background: url(../images/star/icon-star25.png) left center no-repeat; }
.star30{ background: url(../images/star/icon-star30.png) left center no-repeat; }
.star35{ background: url(../images/star/icon-star35.png) left center no-repeat; }
.star40{ background: url(../images/star/icon-star40.png) left center no-repeat; }
.star45{ background: url(../images/star/icon-star45.png) left center no-repeat; }
.star50{ background: url(../images/star/icon-star50.png) left center no-repeat; }
.star00,
.star05,
.star10,
.star15,
.star20,
.star25,
.star30,
.star35,
.star40,
.star45,
.star50{
    -webkit-background-size: 90px 15px;
    background-size: 90px 15px;
}

/*チャート用*/
.review-rating-star.star00{ background: url(../images/star/icon-star00.png) left center no-repeat; }
.review-rating-star.star05{ background: url(../images/star/icon-star05.png) left center no-repeat; }
.review-rating-star.star10{ background: url(../images/star/icon-star10.png) left center no-repeat; }
.review-rating-star.star15{ background: url(../images/star/icon-star15.png) left center no-repeat; }
.review-rating-star.star20{ background: url(../images/star/icon-star20.png) left center no-repeat; }
.review-rating-star.star25{ background: url(../images/star/icon-star25.png) left center no-repeat; }
.review-rating-star.star30{ background: url(../images/star/icon-star30.png) left center no-repeat; }
.review-rating-star.star35{ background: url(../images/star/icon-star35.png) left center no-repeat; }
.review-rating-star.star40{ background: url(../images/star/icon-star40.png) left center no-repeat; }
.review-rating-star.star45{ background: url(../images/star/icon-star45.png) left center no-repeat; }
.review-rating-star.star50{ background: url(../images/star/icon-star50.png) left center no-repeat; }
.review-rating-star.star00,
.review-rating-star.star05,
.review-rating-star.star10,
.review-rating-star.star15,
.review-rating-star.star20,
.review-rating-star.star25,
.review-rating-star.star30,
.review-rating-star.star35,
.review-rating-star.star40,
.review-rating-star.star45,
.review-rating-star.star50{
    -webkit-background-size: 70px 13px;
    background-size: 70px 13px;
}


/*--------------------------------------
レビュー一覧、ユーザーとコメント
--------------------------------------*/
.no-review{
    margin: 1em 2em;
}
.clear-str{
    color: rgba(250, 250, 250, 0);
}
@media only screen and (max-width: 899px) {
    .no-review{
        margin: 1em 0;
    }
}

.user_review_area_in{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
    padding: 1.5em 0;
}
.user_review_area_in[platform][A]{
    padding: 0;
}
.user_review_area_in[platform]{
    display: flex;
    align-items: start;
    flex-wrap: wrap;
}
.user_review_area_in[reviewlist]{
    display: flex;
    align-items: start;
	overflow-x: auto;
}
.user_review_area_in[reviewlist]::-webkit-scrollbar{
	width: 10px;
    height: 8px;
}
.user_review_area_in[reviewlist]::-webkit-scrollbar-track{
	background: #eee;
}
.user_review_area_in[reviewlist]::-webkit-scrollbar-thumb{
	background: #d7d7d7;
	border-radius: 50px;
}
.user_review_area_in[reviewlist]::-webkit-scrollbar-thumb:hover{
	background: #d2ebff;
}
.review-post{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
    width: 49%;
    min-width: 360px;
    padding: 1.5em;
    border: solid 1px #C7C7C7;
    border-top: solid 7px #0058A0;
    margin-bottom: 1.5em;
}
.user_review_area_in[platform] .review-post{
    display: inline-block;
    min-width: 300px;
}
.user_review_area_in[platform] .review-post:nth-child(odd),
.user_review_area_in[reviewlist] .review-post:not(:last-child){
    margin-right: 2%;
}
.user_review_area_in[reviewlist] .review-post{
	white-space: wrap;
}
.review-data{
    display: flex;
}
.review-data-l{
    width: 30%;
}
.review-user-img{
    width: fit-content;
    margin: 0 auto .5em;
}
.review-user-img img{
	display: block;
    padding: 5px 15px 0;
}
.user-age-gender{
    font-size: .75em;
    color: #2678BA;
    text-align: center;
    line-height: 1;
}
.review-rating-all{
    margin-left: 7px;
}
.review-title{
    line-height: 1.4;
    font-weight: bold;
	margin-bottom: -5px;
}
.review-title a{
    color: #0058A0;
    text-decoration: none;
}
.review-title a:hover{
    text-decoration: underline;
}
.review-title[mb]{
    display: none;
}
.user-career{
    color: #626262;
    font-size: .8em;
    line-height: 1;
}
.review-data-r{
    width: 70%;
    display: flex;
    flex-direction: column;
}
/*表*/
.review-table{
    margin: 1em 0 1.5em;
}
.review-table table{
    width: 100%;
}
.review-table table th,
.review-table table td{
    width: 50%;
    padding: 7px;
	font-size: .85em !important;
    text-align: center;
}
.review-table table th{
    color: #626262 !important;
    background: #F7F7F7;
}
@media only screen and (max-width: 850px) {
    .user_review_area_in[platform] .review-post{
        width: 100%;
        max-width: 850px;
    }
    .user_review_area_in[platform] .review-post:nth-child(odd){
        margin-right: 0;
    }
    .user_review_area_in[reviewlist]{
		-ms-overflow-style: none;
		scrollbar-width: none;
    }
}
@media only screen and (max-width: 599px) {
    .review-post{
        padding: 1em;
    }
    .review-data-r{
        justify-content: center;
    }
    .review-title{
        font-size: .9em;
        margin-bottom: 5px;
    }
    .review-title[pc]{
        display: none;
    }
    .review-title[mb]{
        display: block;
    }
    .user-age-gender{
        font-size: .7em;
    }
    .user_review_area_in[reviewlist] .review-rating-all{
        padding: 2px 0 0 85px;
        font-size: 1.3em;
        top: 1px;
    }
    .user-career{
        font-size: .8em;
    }
    .review-content{
        font-size: .9em;
    }
    .user_review_area_in[reviewlist] .star00,
    .user_review_area_in[reviewlist] .star05,
    .user_review_area_in[reviewlist] .star10,
    .user_review_area_in[reviewlist] .star15,
    .user_review_area_in[reviewlist] .star20,
    .user_review_area_in[reviewlist] .star25,
    .user_review_area_in[reviewlist] .star30,
    .user_review_area_in[reviewlist] .star35,
    .user_review_area_in[reviewlist] .star40,
    .user_review_area_in[reviewlist] .star45,
    .user_review_area_in[reviewlist] .star50{
        -webkit-background-size: 80px 13px;
        background-size: 80px 13px;
    }
}
@media only screen and (max-width: 480px) {
    .review-post{
        width: 80%;
        max-width: 350px;
        min-width: 300px;
    }
}


/*--------------------------------------
いいねボタン
--------------------------------------*/
.review-good{
    width: fit-content;
	margin: 1em auto;
    padding: 5px 30px;
    font-size: 15px;
    background: #f3f3f3;
    border-radius: 20px;
    cursor: pointer;
    color: #777;
}
.review-good:hover{
    background: #efefef;
}
.review-good.active{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f3f3f3;
}
.review-good.active::after{
    position: absolute;
    content: '';
	margin: 0 auto;
    height: 15px;
    width: 15px;
    border: 2px solid #fff;
    border-radius: 50%;
    border-top: 2px solid rgba(80, 100, 130, 0.5);
    border-right: 2px solid rgba(80, 100, 130, 0.5);
	-webkit-animation: loading .5s ease-in-out;
	animation: loading .5s ease-in-out;
	-webkit-animation-iteration-count: infinite; /*繰り返し再生*/
	animation-iteration-count: infinite;
}
/*アニメーション*/
@-webkit-keyframes loading{
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(360deg);
	}
}
@keyframes loading{
	0% {
		transform: rotate(0);
	}
	100%{
		transform: rotate(360deg);
	}
}
.review-good-count{
    margin-left: 5px;
}
.review-reply{
    width: fit-content;
}
.review-reply a{
    display: block;
    padding: 5px 30px;
    font-size: 15px;
    background: #f3f3f3;
    border-radius: 20px;
}
.review-reply a:hover{
    background: #efefef;
    text-decoration: none;
}

@media only screen and (max-width: 780px) {
    .review-good{
        font-size: 13px;
    }
}


/*--------------------------------------
レビューページ
--------------------------------------*/
.review-user-area{
    padding: 1.5em 1.5em 2em;
    border: solid 2px #0058A0;
    border-top: solid 10px #0058A0;
    border-radius: 10px;
}
.review-user-data{
    display: flex;
    margin: 1em 0 1em;
}
.review-user-data-l{
    width: 50%;
	text-align: center;
}
.review-user-data-r{
    width: 50%;
}
.review-user-data-l .user-career{
    margin: 5px 0;
}
.review-user-data-r .review-table table{
    margin: 0 0 1em;
	width: 100%;
	border: solid 1px #ccc;
}
.review-user-data-r .review-table table th{
	font-size: 1.4em;
	padding: 8px;
}
.review-user-data-r .review-table table td{
	font-size: 1.4em;
}
.review-user-area .review-content{
	font-size: 1.5em;
}
.review-page-link{
    width: fit-content;
    margin: 15px 0 15px auto;
	font-size: 15px;
}

@media only screen and (max-width: 780px) {
    .review-user-data{
        flex-wrap: wrap;
    }
    .review-user-data-l{
        width: 100%;
        text-align: center;
    }
    .review-user-data-r{
        width: 100%;
    }
    .review-user-data-r .review-table table th{
        font-size: 1.2em;
    }
}


/*--------------------------------------
コメントの表示
--------------------------------------*/
.c-commentList {
    padding: 1em 0 0;
    background: #fcfcfc;
}
.c-commentList .comment{
	margin: 0;
    padding: 0 0 1.5em;
}
.c-commentList .comment:not(.children li){
    border-bottom: solid 1px #ccc;
}
.c-commentList .comment.parent .comment-body{
    padding: 0 0 1.5em;
}
.c-commentList .comment .children li{
    padding: 1.5em 0 0 1.5em;
    border-top: solid 1px #ccc;
}
.c-commentList .comment:not(:first-child) {
    padding: 1.5em 0;
}
.c-commentList .comment.thread-alt{
    padding: 1.5em 0 1.5em 1.5em;
}
.c-commentList .comment-metadata,
.c-commentList .comment-author .says {
    display: none;
}
.c-commentList .comment-author{
    display: flex;
    align-items: center;
    font-size: 15px;
}
.c-commentList .comment-author img{
    margin-right: 15px;
    border-radius: 50%;
    border: solid 1px #ccc;
    aspect-ratio: 1 / 1;
}
.c-commentList .comment-content{
    padding: .5em 0;
    font-size: 14px;
}
.c-commentList .reply{
    font-size: 13px;
}
.comment-respond{
    font-size: 14px;
}
.comment-respond .comment-reply-title{
    margin: 1em 0 .5em;
}
.review-comment-area .comment-notes{
    font-size: 13px;
}


/*--------------------------------------
コメントの投稿
--------------------------------------*/
.review-comment-area .comment-form-comment label,
.comment-form-url{
    display: none;
}
.review-comment-area .comment-form textarea{
    margin: 1em 0;
    width: 100%;
}
.review-comment-area .comment-form input[type="text"],
.review-comment-area .comment-form input[type="email"],
.review-comment-area .comment-form input[type="url"]{
    margin: 0 0 1em;
    width: 100%;
}
.review-comment-area .comment-form-cookies-consent{
    display: flex;
    align-items: start;
}
.review-comment-area .comment-form input[type="checkbox"]{
    width: 14px;
	margin-right: 5px;
}
.review-comment-area .form-submit .submit{
    border: none;
    margin: 20px 0;
    padding: 8px 20px;
    color: #fff;
    background: #002d69;
    border-radius: 3px;
}


/*--------------------------------------
チャート
--------------------------------------*/
.review-chart{
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 auto 20px;
}
.review-chart-l{
    box-sizing: border-box;
    width: 55%;
	min-width: 270px;
}
.review-chart-r{
    box-sizing: border-box;
    width: 45%;
}
.review-chart-l{
    position: relative;
}
.total-point{
    position: absolute;
    content: '';
    top: calc(50% - .5em);
    left: calc(50% - 1.5em);
    font-size: 2em;
    font-weight: bold;
    color: #fff;
    z-index: 1;
}
.review-chart-r-top{
	padding: 7px 0;
	border-bottom: solid 1px #ccc;
}
.total_count{
    font-size: .85em;
}
.review-chart-count{
    box-sizing: border-box;
	padding: 15px 0;
}
.review-chart-count .star00,
.review-chart-count .star05,
.review-chart-count .star10,
.review-chart-count .star15,
.review-chart-count .star20,
.review-chart-count .star25,
.review-chart-count .star30,
.review-chart-count .star35,
.review-chart-count .star40,
.review-chart-count .star45,
.review-chart-count .star50{
    -webkit-background-size: 30% 15px;
    background-size: 30% 15px;
}
.review-rating-star{
	margin: .5em 0;
	padding: 0 0 0 35%;
    font-size: .9em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.rating-bar-back{
    width: 80%;
    height: 13px;
	margin-right: 5px;
    background: #e3e3e3;
    position: relative;
}
.rating-bar-flont{
    position: absolute;
    top: 0;
    width: 60px;
    height: 13px;
    background: #FFC400;
}
.review-rating-count{
    display: inline-block;
    margin-left: auto;
	margin-right: 0;
}
.review-radar-chart{
    box-sizing: border-box;
	margin: -20px auto;
}
@media (max-width : 780px){
    .review-chart{
        flex-wrap: wrap;
		max-width: 400px;
    }
    .review-chart-l,
    .review-chart-r{
        width: 100%;
    }
    .review-chart-r .review-rating-all{
        padding: 2px 0 1px 90px;
		top: 2px;
    }
    .total-point{
        left: calc(50% - 1.1em);
    }
    .review-radar-chart{
        position: relative;
        left: 13px;
    }
}