@charset "utf-8";
article, header, footer, aside, figure, figcaption, nav, section {
	display: block;
}

.fade {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.fade:hover {
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	-moz-opacity: 0.8;
	opacity: 0.8;
	zoom: 1;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

a:hover {
	opacity: .75;
}


/* -------------------------------------------------------------------
  サイト共通ヘッダー部分
---------------------------------------------------------------------- */

#siteheader {
	clear: both;
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 25px 0;
	text-align: center;
	background: #ffffff;
	/*  background: #f2f1f1;*/
	border-top: 1px solid #ffffff;
	zoom: 1;
}

#siteheader:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

#siteheader-inner {
	position: relative;
	max-width: 980px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

#siteheader h2 {
	display: inline;
	float: left;
	margin: 0;
	padding: 0;
}

#siteheader h2 a {
	margin: 0;
	padding: 0;
	overflow: hidden;
	font-family: "Noto Sans Japanese";
	color: #02458b;
	font-size: 27px;
	font-weight: bold;
	line-height: 1.2;
	text-decoration: none;
}

#siteheader h2 a:hover {
	color: #c73b3c;
}

#siteheader #item-search {
	float: right;
	display: inline;
	box-sizing: border-box;
	padding: 0 10px 0 0;
	border-bottom: 3px solid #5371a0;
	border-radius: 1.5px;
}

#siteheader .top-search {
	margin: 0 200px 0 0;
}

#siteheader #item-search .search-word {
	width: 210px;
	padding: 5px 10px 2px 10px;
	font-size: 15px;
	border: none;
	background: none;
}

#siteheader #item-search .form-btn {
	vertical-align: middle;
	float: right;
	padding: 0;
}

#siteheader #item-search .form-btn:hover {
	opacity: 0.75;
}


/* 検索ボタン */

button.form-btn {
	width: auto;
	overflow: visible;
	background: none;
	border: 0;
	cursor: pointer;
}


/* 共通ツールバー --------------------- */

#siteheader #sitetoolbar {
	display: block;
	position: absolute;
	right: 0;
	top: -25px;
	width: 178px;
	margin: 0;
	padding: 0;
}

#siteheader #sitetoolbar ul {
	margin: 0;
	padding: 0;
}

#siteheader #sitetoolbar ul li {
	display: block;
	position: relative;
	float: none;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

#siteheader #sitetoolbar ul li.coin01 {
	display: block;
	position: relative;
	float: none;
	width: 178px;
	height: 45px;
	margin: -1px 0 0;
	padding: 0;
}

#siteheader #sitetoolbar ul li.coin01 a {
	display: block;
	position: relative;
	width: 178px;
	height: 45px;
	margin: 0;
	padding: 0;
}

#siteheader #sitetoolbar ul li.coin01 a:hover {}

#breadcrumb {
	width: 100%;
	background: #6782ac;
}

#breadcrumb ul {
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}

#breadcrumb ul li {
	float: left;
	font-family: "Noto Sans Japanese";
	color: #ffffff;
	font-size: 12px;
	line-height: 34px;
}

#breadcrumb ul li a {
	display: inline-block;
	font-family: "Noto Sans Japanese";
	color: #ffffff;
	font-size: 12px;
}

#breadcrumb ul li a:after {
	content: ">";
	display: inline-block;
	margin: 0 10px;
	font-size: 12px;
	font-family: "Noto Sans Japanese";
}

#contents {
	background: url(../../src2018/img/bg1.png);
	font-family: "Noto Sans Japanese";
}

#contents * {
	box-sizing: border-box;
}

#contents p.resultText {}

#contents .categories .resultNotice {
	width: 70%;
	margin: auto;
	text-align: left;
	background: #fff;
	padding: 20px;
	border-radius: 10px;
	color: #01448b;
}

#contents .categories .resultNotice ul {
	margin: 0;
	padding: 0;
}

#contents .categories .resultNotice ul li {
	float: none;
	display: list-item;
	width: auto;
	margin: 0;
	padding: 0 0 0 1em;
	background: none;
	border-radius: none;
	text-indent: -1em;
}

#contents .category-select-block {
	padding: 30px 0;
	background: url(../../src2018/img/bg2.png);
}

#contents .category-select-wrapper {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}


/*
#contents .category-select {
  padding: 30px 0;
  background: url(../../src2018/img/bg2.png);
  text-align: center;
}
*/

#contents .second-category {
	float: left;
	max-width: 600px;
	width: 60%;
}

#contents .third-category {
	position: relative;
	float: right;
	max-width: 380px;
	width: 38%;
}

#contents .category-select select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 10px;
	border: 3px solid #5371a0;
	margin: 0;
	padding: 17px;
	/*max-width: 638px;
  width: 60%;*/
	background: #fff url(../../src2018/img/icon1.svg) no-repeat right 17px top 23px;
	background-size: 16px auto;
	vertical-align: middle;
	font-size: 16px;
	line-height: 1;
	color: #a5a5a5;
}

#contents .category-select select::-ms-expand {
	display: none;
}

#contents .second-category select {
	max-width: 600px;
	width: 100%;
}

@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, #contents .second-category select {
		padding: 13px;
	}
}

#contents .third-category select {
	position: absolute;
	top: 0;
	max-width: 380px;
	width: 100%;
	opacity: 0;
}

#contents .third-category .viewport {
	border-radius: 10px;
	border: 3px solid #5371a0;
	margin: 0;
	padding: 17px;
	max-width: 380px;
	width: 100%;
	background: #fff url(../../src2018/img/icon1.svg) no-repeat right 17px top 23px;
	background-size: 16px auto;
	vertical-align: middle;
	font-size: 16px;
	line-height: 1;
	color: #a5a5a5;
}

#contents .third-category .viewport span {
	display: inline-block;
	width: 90%;
	white-space: nowrap;
	-ms-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	overflow: hidden;
	line-height: 1;
}

#contents .categories {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 0 50px;
	text-align: center;
}

#contents .categories:after {
	content: " ";
	display: block;
	clear: both;
}

#contents .categories .notice {
	max-width: 800px;
	width: 80%;
	margin: 40px auto 30px;
	padding: 15px 12px 12px;
	border-radius: 10px;
	border: 3px solid #5371a0;
	background: #fff;
}

#contents .categories .notice dt {
	padding-bottom: 5px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
}

#contents .categories .notice dd {
	font-size: 14px;
	line-height: 22px;
	text-align: left;
}

#contents .categories .notice dd a {
	color: #185393;
	text-decoration: underline;
}

#contents .categories h3 {
	position: relative;
	display: inline-block;
	margin: 70px 0 0;
	color: #02458b;
	font-size: 26px;
	font-weight: bold;
}

#contents .categories h3:before {
	content: " ";
	display: block;
	position: absolute;
	top: -17px;
	left: 50%;
	margin: 0 0 0 -12px;
	width: 24px;
	height: 4px;
	background: #02458b;
}

#contents .categories h3 span {
	display: block;
}

#contents .categories>ul {
	max-width: 1020px;
	margin: 0 0 0 -20px;
	padding: 50px 0 0;
	text-align: left;
}

#contents .categories>ul:after {
	content: " ";
	display: block;
	clear: both;
}

#contents .categories>ul li {
	float: left;
	display: block;
	width: 225px;
	margin: 0 0 40px 30px;
	padding: 16px 20px 10px;
	background: #fff;
	border-radius: 10px;
}

#contents .categories>ul li.accordion {
	padding: 16px 20px 20px;
}

#contents .categories.sub-categories ul li {
	padding: 0 20px;
}

#contents .categories.sub-categories ul li>div {
	padding: 16px 0 10px;
}

#contents .categories ul li .name {
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 24px;
}

#contents .categories ul li .image {
	margin: 0 0 20px;
}

#contents .categories ul li .btn {
	height: 40px;
	margin: 0 0 10px;
	border-radius: 20px;
	background: #fff94e url(../../src2018/img/icon2.svg) no-repeat right 10px center;
	background-size: 12px auto;
	text-align: center;
}

#contents .categories ul li.accordion .btn {
	position: relative;
	height: 40px;
	margin: 0;
	border-radius: 8px;
	background: #fff94e;
	background-size: 12px auto;
	text-align: center;
}

#contents .categories .btn_top {
	margin: 20px auto 0px auto;
	padding: 20px 30px;
	width: 40vw;
	max-width: 800px;
	border-radius: 30px;
	background: #ffffff url(../../src2018/img/icon2.svg) no-repeat right 10px center;
	background-size: 12px auto;
	text-align: center;
}

#contents .categories .btn_top2 {
	margin: 20px auto 0px auto;
	padding: 20px 30px;
	width: 40vw;
	max-width: 800px;
	border-radius: 30px;
	background: #ff491f url(../../src2018/img/icon3.svg) no-repeat right 10px center;
	background-size: 12px auto;
	text-align: center;
}

#contents .categories a.btn_top {
	display: block;
	color: #02458b;
	line-height: 20px;
}

#contents .categories a.btn_top2 {
	color: #ffffff;
	display: block;
	line-height: 20px;
}

#contents .categories ul li.accordion .btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -5px;
	border: 7px solid transparent;
	border-top-width: 13px;
	border-top-color: #185393;
}

#contents .categories ul li.accordion .btn.open:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -12px;
	border: 7px solid transparent;
	border-bottom-width: 13px;
	border-bottom-color: #185393;
}

#contents .categories ul li .btn p {
	color: #185393;
	font-size: 14px;
	line-height: 40px;
}

#contents .categories ul li .btn p a {
	display: block;
	width: 100%;
	height: 100%;
	color: #02458b;
	font-size: 14px;
	line-height: 40px;
}

#contents .categories ul li .btn p a br {
	display: none;
}

#contents .categories ul li .btn2 {
	background: #ff491f url(../../src2018/img/icon3.svg) no-repeat right 10px center;
	background-size: 12px auto;
}

#contents .categories ul li .btn2 p a {
	color: #ffffff;
}

#contents .btn.back {
	width: 31%;
	margin: 60px auto 50px;
	border-radius: 28px;
	background: #cde4fc url(../../src2018/img/icon4.svg) no-repeat 20px center;
	background-size: 12px auto;
	text-align: center;
}

#contents .btn.back a {
	display: block;
	width: 100%;
	height: 100%;
	color: #02458b;
	font-size: 16px;
	line-height: 56px;
}

#contents .btn.back.historyback a {
	margin-bottom: -60px
}

#contents .categories li.accordion .btn>.inner {
	display: none;
	position: relative;
	margin: -5px 0 0;
	padding: 0 8px 15px;
	background: #fff94e;
	border-radius: 0 0 8px 8px;
	letter-spacing: -1px;
	z-index: 1;
	text-align: left;
}

#contents .categories li.accordion .btn>.inner p {
	line-height: 25px;
	text-align: left;
}

#contents .categories li.accordion .btn>.inner p a {
	display: inline;
	width: 100%;
	height: 100%;
	color: #185393;
	font-size: 14px;
	line-height: 25px;
	text-decoration: underline;
}

#contents .totop {
	position: relative;
	display: none;
}

#contents .totop a {
	display: inline-block;
	width: 37px;
	position: fixed;
	bottom: 20px;
	right: 20px;
}

#contents .totop a.fix {
	position: absolute;
	bottom: 20px;
}


/* -------------------------------------------------------------------
  .detail
---------------------------------------------------------------------- */

#contents .wrap {
	max-width: 770px;
	margin: 0 auto;
}

#contents .content-title {
	padding: 57px 0 38px;
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

#contents .btn-block {
	margin-bottom: 60px;
	font-size: 0;
	text-align: center;
}

#contents .btn-block li {
	display: inline-block;
	width: 200px;
	height: 45px;
	margin: 0 10px 10px 0;
	border-radius: 20px;
	background: #fff94e url(../../src2018/img/icon2.svg) no-repeat right 10px center;
	background-size: 12px auto;
	text-align: center;
}

#contents .btn-block li.btn3 {
	background: #ff491f url(../../src2018/img/icon3.svg) no-repeat right 10px center;
	background-size: 12px auto;
}

#contents .btn-block li:last-child {
	margin: 0 0 10px;
}

#contents .btn-block li a {
	display: block;
	width: 100%;
	height: 100%;
	color: #02458b;
	font-size: 14px;
	line-height: 45px;
}

#contents .btn-block li.btn3 a {
	color: #ffffff;
}

#contents .rating-block {
	padding: 16px 0 12px;
	margin-bottom: 40px;
	overflow: hidden;
	background: #ffffff;
}

#contents .rating-block dl {
	float: left;
	width: 50%;
	margin-bottom: 0;
}

#contents .rating-block dt {
	font-size: 18px;
	font-weight: bold;
	line-height: 26px;
}

#contents .rating-block dd {
	font-size: 11px;
	line-height: 26px;
}

#contents .rating-block .star-wrapper {
	float: right;
	width: 50%;
	margin: 5px 0 0;
	text-align: right;
}

#contents .star-wrapper .stars {
	position: relative;
	display: inline-block;
	width: 172px;
	margin: 0 2px 0 0;
	background: #fff;
	font-size: 0;
}

#contents .star-wrapper .stars .star {
	position: relative;
	display: block;
	width: 172px;
}

#contents .star-wrapper .stars .star img {
	position: relative;
	z-index: 100;
	width: 200px;
	height: auto;
	vertical-align: middle;
}

#contents .star-wrapper .stars .star:before {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 1%;
	width: 98%;
	height: 100%;
	background: #d3d3d3;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
	box-sizing: border-box;
	z-index: 50;
}

#contents .star-wrapper .stars .star:after {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 1%;
	width: 0%;
	height: 100%;
	margin: 0;
	background: #ff491f;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	box-sizing: border-box;
	z-index: 90;
}

#contents .star-wrapper .stars .star.w1:after {
	width: 1%;
}

#contents .star-wrapper .stars .star.w2:after {
	width: 3%;
}

#contents .star-wrapper .stars .star.w3:after {
	width: 5%;
}

#contents .star-wrapper .stars .star.w4:after {
	width: 7%;
}

#contents .star-wrapper .stars .star.w5:after {
	width: 9%;
}

#contents .star-wrapper .stars .star.w6:after {
	width: 11%;
}

#contents .star-wrapper .stars .star.w7:after {
	width: 13%;
}

#contents .star-wrapper .stars .star.w8:after {
	width: 15%;
}

#contents .star-wrapper .stars .star.w9:after {
	width: 17%;
}

#contents .star-wrapper .stars .star.w10:after {
	width: 19%;
}

#contents .star-wrapper .stars .star.w11:after {
	width: 21.2%;
}

#contents .star-wrapper .stars .star.w12:after {
	width: 23.2%;
}

#contents .star-wrapper .stars .star.w13:after {
	width: 25.2%;
}

#contents .star-wrapper .stars .star.w14:after {
	width: 27.2%;
}

#contents .star-wrapper .stars .star.w15:after {
	width: 29.2%;
}

#contents .star-wrapper .stars .star.w16:after {
	width: 31.2%;
}

#contents .star-wrapper .stars .star.w17:after {
	width: 33.2%;
}

#contents .star-wrapper .stars .star.w18:after {
	width: 35.2%;
}

#contents .star-wrapper .stars .star.w19:after {
	width: 37.2%;
}

#contents .star-wrapper .stars .star.w20:after {
	width: 39.2%;
}

#contents .star-wrapper .stars .star.w21:after {
	width: 41.1%;
}

#contents .star-wrapper .stars .star.w22:after {
	width: 43.1%;
}

#contents .star-wrapper .stars .star.w23:after {
	width: 45.1%;
}

#contents .star-wrapper .stars .star.w24:after {
	width: 47.1%;
}

#contents .star-wrapper .stars .star.w25:after {
	width: 49.1%;
}

#contents .star-wrapper .stars .star.w26:after {
	width: 51.1%;
}

#contents .star-wrapper .stars .star.w27:after {
	width: 53.1%;
}

#contents .star-wrapper .stars .star.w28:after {
	width: 55.1%;
}

#contents .star-wrapper .stars .star.w29:after {
	width: 57.1%;
}

#contents .star-wrapper .stars .star.w30:after {
	width: 59.1%;
}

#contents .star-wrapper .stars .star.w31:after {
	width: 61.1%;
}

#contents .star-wrapper .stars .star.w32:after {
	width: 63.1%;
}

#contents .star-wrapper .stars .star.w33:after {
	width: 65.1%;
}

#contents .star-wrapper .stars .star.w34:after {
	width: 67.1%;
}

#contents .star-wrapper .stars .star.w35:after {
	width: 69.1%;
}

#contents .star-wrapper .stars .star.w36:after {
	width: 71.1%;
}

#contents .star-wrapper .stars .star.w37:after {
	width: 73.1%;
}

#contents .star-wrapper .stars .star.w38:after {
	width: 75.1%;
}

#contents .star-wrapper .stars .star.w39:after {
	width: 77.1%;
}

#contents .star-wrapper .stars .star.w40:after {
	width: 79.1%;
}

#contents .star-wrapper .stars .star.w41:after {
	width: 81.11%;
}

#contents .star-wrapper .stars .star.w42:after {
	width: 83.11%;
}

#contents .star-wrapper .stars .star.w43:after {
	width: 85.11%;
}

#contents .star-wrapper .stars .star.w44:after {
	width: 87.11%;
}

#contents .star-wrapper .stars .star.w45:after {
	width: 89.11%;
}

#contents .star-wrapper .stars .star.w46:after {
	width: 91.11%;
}

#contents .star-wrapper .stars .star.w47:after {
	width: 93.11%;
}

#contents .star-wrapper .stars .star.w48:after {
	width: 95.11%;
}

#contents .star-wrapper .stars .star.w49:after {
	width: 97.11%;
}

#contents .star-wrapper .stars .star.w50:after {
	width: 99.11%;
}

#contents .rating-block .star-wrapper p {
	display: inline-block;
	font-size: 14px;
	line-height: 33px;
	vertical-align: top;
}

#contents .sns-block ul {
	margin-bottom: 70px;
	font-size: 0;
	text-align: center;
}

#contents .sns-block li {
	display: inline-block;
	padding-right: 15px;
	vertical-align: top;
}

#contents .sns-block li:last-child {
	padding-right: 0;
}

#contents .slider-block {
	position: relative;
	width: 100%;
	margin-bottom: 80px;
}

#contents .slider-block .title {
	padding: 0 0 30px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: #02458b;
}

#contents .slider-block .slider-wrapper {
	position: relative;
	overflow: hidden;
}

#contents .slider-block .slide-frame {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 650px;
	overflow: hidden;
}

#contents .slider-block .slider {
	position: relative;
	margin: 0 auto;
	width: 100%;
}


/*
#contents .slider-block .slider li {
  float: left;
  width: 100%;
}

#contents .slider-block .slider li img {
  width: 100%;
  height: auto;
}
*/

#contents .slider-block .dot-class {
	position: relative;
	padding: 30px 0 0;
	width: 100%;
	text-align: center;
	z-index: 20;
	font-size: 0;
}

.detail #contents .slider-block .dot-class li {
	display: inline-block;
	margin-right: 10px;
	cursor: pointer;
}

#contents .slider-block .dot-class li:last-child {
	margin-right: 0;
}

#contents .slider-block .dot-class li button {
	display: inline-block;
	width: 10px;
	height: 10px;
	border: none;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	background: #02458b;
	text-indent: -9999px;
	vertical-align: top;
}

#contents .slider-block .dot-class li.slick-active button {
	box-sizing: border-box;
	background: #ffffff;
	text-indent: -9999px;
	border: 2px solid #02458b;
}

#contents .contribution {
	width: 100%;
	padding: 60px 0 8px;
	background: url(../../src2018/img/bg2.png);
}

#contents .contribution .wrap {
	max-width: 750px;
	margin: 0 auto 79px;
}

#contents .contribution>h3 {
	position: relative;
	padding: 17px 0 37px;
	color: #02458b;
	font-size: 26px;
	line-height: 36px;
	font-weight: bold;
	text-align: center;
}

#contents .contribution>h3:before {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 4px;
	margin: 0 0 0 -12px;
	background: #02458b;
	border-radius: 2px;
}

#contents .contribution>.catch {
	margin: 0 0 5px;
	font-size: 22px;
	line-height: 32px;
	font-weight: bold;
	text-align: center;
}

#contents .contribution>.lead {
	margin: 0 0 44px;
	font-size: 17px;
	line-height: 29px;
	text-align: center;
}

#contents .contribution-case .total {
	float: left;
	margin-top: 20px;
	font-size: 15px;
	line-height: 1;
	font-weight: bold;
}

#contents .contribution-case .total strong {
	font-size: 21px;
}

#contents .contribution-case>.btn {
	float: right;
	display: inline-block;
	width: 200px;
	height: 40px;
	border-radius: 20px;
	background: #fff94e url(../../src2018/img/icon2.svg) no-repeat right 10px center;
	background-size: 12px auto;
	text-align: center;
}

#contents .contribution-case>.btn a {
	display: block;
	width: 100%;
	height: 100%;
	color: #02458b;
	font-size: 14px;
	line-height: 40px;
}

#contents .contribution-case .cases {
	clear: both;
	padding-top: 30px;
}

#contents .contribution-case .case {
	position: relative;
	box-sizing: border-box;
	padding: 20px 30px 30px;
	margin-bottom: 30px;
	background: #ffffff;
	border-radius: 10px;
	overflow: hidden;
}

#contents .contribution-case .case dl {
	margin-bottom: 0;
}

#contents .contribution-case .case dt {
	padding-bottom: 18px;
	padding-top: 25px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	color: #02458b;
}

#contents .contribution-case .case dd.text {
	font-size: 15px;
	line-height: 25px;
}

#contents .contribution-case .case dd.text.f-left {
	float: left;
	width: 70%;
	max-width: 490px;
	padding-left: 18px;
}

#contents .contribution-case .case dd.date {
	padding-top: 25px;
	font-size: 13px;
	line-height: 1;
	color: #808080;
}

#contents .contribution-case .case dd.date.clear {
	clear: both;
}

#contents .contribution-case .case dd.image {
	float: left;
	width: 29%;
	max-width: 200px;
}

#contents .contribution-case .case .rating {
	position: absolute;
	top: 20px;
	right: 30px;
	width: 23%;
	max-width: 170px;
}

#contents .contribution-case .case .rating p {
	display: inline;
	padding-right: 5px;
	font-size: 14px;
	vertical-align: middle;
	color: #5371a0;
}

#contents .contribution-case .case .rating .star-wrapper {
	display: inline-block;
	font-size: 0;
	vertical-align: middle;
}

#contents .contribution-case .case .rating .stars {
	position: relative;
	display: inline-block;
	width: 85px;
	margin: 0;
}

#contents .contribution-case .case .rating .stars:before {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: #fff;
	z-index: 1000;
}

#contents .contribution-case .case .rating .stars:after {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 2px;
	height: 100%;
	background: #fff;
	z-index: 1000;
}

#contents .contribution-case .case .rating .star {
	width: 85px;
}

#contents .contribution-case .case .comment-btn {
	float: right;
	box-sizing: border-box;
	display: inline-block;
	width: 175px;
	height: 34px;
	margin-top: -12px;
	border-radius: 15px;
	background: #ffffff;
	border: 2px solid #02458b;
}

#contents .contribution-case .case .comment-btn a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 6px 12px 6px 40px;
	color: #02458b;
	font-size: 13px;
	line-height: 1;
}

#contents .contribution-case .case .comment-btn a:before {
	content: "";
	position: absolute;
	top: 9px;
	left: 25px;
	width: 3px;
	height: 13px;
	background: #02458b;
}

#contents .contribution-case .case .comment-btn a:after {
	content: "";
	position: absolute;
	top: 14px;
	left: 20px;
	width: 13px;
	height: 3px;
	background: #02458b;
}

#contents .contribution-case .case .comment {
	position: relative;
	box-sizing: border-box;
	width: 96.95%;
	max-width: 690px;
	padding: 28px 30px 17px;
	margin: 51px 0 0 20px;
	background: #edf6ff;
	border-radius: 10px;
}

#contents .contribution-case .case .comment:before {
	content: "";
	position: absolute;
	top: calc(50% - 10px);
	left: -20px;
	border-top: 25px solid #edf6ff;
	border-left: 22px solid transparent;
}

#contents .contribution-case .case .inner dt span {
	font-size: 13px;
	color: #2c2c2c;
}

#contents .contribution-case .more-btn {
	width: 42%;
	max-width: 310px;
	height: 56px;
	margin: 0 auto;
	border-radius: 28px;
	background: #FFF94D url(../../src2018/img/icon2.svg) no-repeat right 22px center;
	background-size: 17px auto;
	text-align: center;
}

#contents .contribution-case .more-btn a {
	display: block;
	width: 100%;
	height: 100%;
	color: #02458b;
	font-size: 16px;
	line-height: 56px;
}

#modal_bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.5;
	background: #000;
	z-index: 1000;
}

.modal {
	display: none;
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	max-width: 770px;
	margin: 0 0 0 -385px;
	z-index: 1100;
}

.modal .inner {
	position: relative;
	margin: 100px 0 0;
	width: 100%;
	background: #fff;
	border: 4px solid #02458b;
	border-radius: 10px;
}

.modal .title {
	width: 100%;
	background: #02458b;
	padding: 18px 0;
	color: #ffffff;
	font-size: 20px;
	line-height: 24px;
	font-weight: bold;
	text-align: center;
}

.modal .message {
	padding: 25px 56px;
	background: #edf6ff;
}

.modal .message dl {
	margin-bottom: 0;
	overflow: hidden;
}

.modal .message dt {
	padding-bottom: 18px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	color: #02458b;
}

.modal .message dd.text {
	font-size: 15px;
	line-height: 25px;
}

.modal .message dd.text.f-left {
	float: left;
	padding-left: 18px;
}

.modal .message dd.date {
	padding-top: 15px;
	font-size: 13px;
	line-height: 1;
	color: #808080;
}

.modal .error {
	display: none;
	margin: 30px 56px 0;
	padding: 16px;
	border: 3px solid #ff491f;
	background: #fff0ec;
}

.modal .error p {
	color: #ff491f;
	font-size: 14px;
	line-height: 26px;
}

.modal .form-list {
	padding: 30px 56px;
}

.modal .form-list dl {
	margin-bottom: 33px;
	overflow: hidden;
}

.modal .form-list dl.cond2 {
	margin-bottom: 39px;
}

.modal .form-list dt {
	display: inline;
	float: left;
	width: 42%;
	max-width: 270px;
	font-size: 18px;
	font-weight: bold;
	color: #02458b;
}

.modal .form-list dt span {
	padding-left: 5px;
	font-size: 8px;
	vertical-align: top;
}

.modal .form-list dt .annotation {
	display: block;
	padding-left: 0;
	padding-top: 2px;
	font-size: 11px;
	font-weight: normal;
}

.modal .form-list dt .annotation2 {
	display: block;
	padding-left: 0;
	padding-top: 10px;
	font-size: 13px;
	font-weight: normal;
	line-height: 23px;
	color: #2c2c2c;
}

.modal .form-list dd {
	float: right;
	width: 58%;
	max-width: 372px;
}

.modal .form-list .cond1 dd input, .modal .form-list .cond2 dd input {
	width: 100%;
	padding: 8px 10px 3px 10px;
	font-size: 15px;
	border: none;
	background: none;
	border-bottom: 3px solid #5371a0;
	border-radius: 1.5px;
}

.modal .form-list .cond2 dd input {
	margin-bottom: 18px;
}

.modal .form-list .cond4 dd textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 372px;
	min-width: 372px;
	min-height: 174px;
	margin-bottom: 5px;
	padding: 12px 10px;
	font-size: 15px;
	border: 3px solid #02458b;
	border-radius: 10px;
}

.modal .btn {
	width: 42%;
	max-width: 310px;
	height: 56px;
	margin: 0 auto;
	border-radius: 28px;
	background: #FFF94D;
	text-align: center;
}

.modal .btn button {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	color: #02458b;
	font-size: 16px;
	line-height: 56px;
}

.modal .close {
	position: absolute;
	top: -54px;
	right: 0;
	width: 30px;
	height: 30px;
	cursor: pointer;
}

.modal .close:before {
	content: " ";
	display: block;
	position: absolute;
	top: 15px;
	left: 0;
	width: 120%;
	height: 3px;
	background: #ffffff;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
}

.modal .close:after {
	content: " ";
	display: block;
	position: absolute;
	top: 15px;
	left: 0;
	width: 120%;
	height: 3px;
	background: #ffffff;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
}

.error-modal p {
	padding: 40px 0 30px;
	text-align: center;
	font-size: 17px;
	line-height: 29px;
}

.error-modal .btn {
	margin-bottom: 30px;
}

.error-modal .back {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 0 30px;
	cursor: pointer;
	color: #02458b;
	font-size: 16px;
	line-height: 56px;
}

#contents .contribution-comment {
	box-sizing: border-box;
	padding: 38px 45px 37px;
	background: #ffffff;
	border: 4px solid #02458b;
	border-radius: 10px;
}

#contents .contribution-comment>.title {
	padding-bottom: 18px;
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: #02458b;
}

#contents .contribution-comment>.annotation {
	padding-bottom: 20px;
	font-size: 13px;
	line-height: 18px;
}

#contents .contribution-comment>.text {
	padding-bottom: 31px;
	font-size: 13px;
	line-height: 25px;
}

#contents .contribution-comment>.text a {
	padding-bottom: 2px;
	color: #ff491f;
	border-bottom: 1px solid #ff491f;
}

#contents .contribution-comment .form-list {}

#contents .contribution-comment .form-list dl {
	margin-bottom: 33px;
	overflow: hidden;
}

#contents .contribution-comment .form-list dl.cond2 {
	margin-bottom: 39px;
}

#contents .contribution-comment .form-list dt {
	display: inline;
	float: left;
	width: 42%;
	max-width: 270px;
	margin-left: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #02458b;
}

#contents .contribution-comment .form-list dt span {
	padding-left: 5px;
	font-size: 8px;
	vertical-align: top;
}

#contents .contribution-comment .form-list dt .annotation {
	display: block;
	padding-left: 0;
	padding-top: 2px;
	font-size: 11px;
	font-weight: normal;
}

#contents .contribution-comment .form-list dt .annotation2 {
	display: block;
	padding-left: 0;
	padding-top: 10px;
	font-size: 13px;
	font-weight: normal;
	line-height: 23px;
	color: #2c2c2c;
}

#contents .contribution-comment .form-list dd {
	float: right;
	width: 58%;
	max-width: 372px;
}

#contents .contribution-comment .form-list .cond1 dd input, #contents .contribution-comment .form-list .cond2 dd input {
	width: 100%;
	padding: 8px 10px 3px 10px;
	font-size: 15px;
	border: none;
	background: none;
	border-bottom: 3px solid #5371a0;
	border-radius: 1.5px;
}

#contents .contribution-comment .form-list .cond2 dd input {
	margin-bottom: 18px;
}

#contents .contribution-comment .form-list .cond3 dd {
	box-sizing: border-box;
	padding: 18px 20px;
	background: #f6f6f6;
	border-radius: 10px;
}

#contents .contribution-comment .form-list .cond3 dd.step2 {
	display: none;
}

#contents .contribution-comment .form-list .cond3 dd .text {
	display: block;
	padding-bottom: 18px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	color: #02458b;
	text-align: center;
}

#contents .contribution-comment .form-list .cond3 dd input {
	width: 100%;
	padding: 10px 8px;
	font-size: 13px;
	background: #ffffff;
	border: 4px solid #ededed;
}

#contents .contribution-comment .form-list .cond3 dd .btn {
	position: relative;
	display: block;
	width: 58%;
	max-width: 190px;
	margin: 29px auto 0;
	font-size: 13px;
	line-height: 34px;
	text-align: center;
	color: #8f8f8f;
	background: #dfdfdf;
	border-radius: 17px;
	cursor: default;
}

#contents .contribution-comment .form-list .cond3 dd .btn:before {
	content: "";
	display: block;
	position: absolute;
	top: -21px;
	left: calc(50% - 10px);
	border: 10px solid transparent;
	border-top-width: 10px;
	border-top-color: #02458b;
}

#contents .contribution-comment .form-list .cond3 dd .btn.cancel {
	padding-left: 60px;
	margin: 15px auto 0;
	text-align: left;
	color: #02458b;
	background: #f6f6f6;
	border-radius: 3px;
	border: 2px solid #02458b;
	cursor: pointer;
	float: none;
	width: inherit;
}

#contents .contribution-comment .form-list .cond3 dd .btn.cancel:before {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 5px);
	left: 45px;
	width: 3px;
	height: 10px;
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	border: none;
	background: #02458b;
}

#contents .contribution-comment .form-list .cond3 dd .btn.cancel:after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 5px);
	left: 45px;
	width: 3px;
	height: 10px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	background: #02458b;
}

#contents .contribution-comment .form-list .cond3 dd .btn.on {
	color: #02458b;
	background: #fff94e;
	cursor: pointer;
}

#contents .contribution-comment .form-list .cond3 dd p.text {
	padding-top: 40px;
	padding-bottom: 40px;
}

#contents .contribution-comment .form-list .cond3 dd .loading-mark {
	width: 25%;
	max-width: 82px;
	margin: 0 auto 42px;
	font-size: 0;
}

#contents .contribution-comment .form-list .cond3 dd .loading-mark li {
	position: relative;
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 8px;
	background: #02458b;
	border-radius: 50%;
}

#contents .contribution-comment .form-list .cond3 dd .loading-mark li:nth-child(1) {
	animation: move1 2s linear 0.2s infinite;
}

#contents .contribution-comment .form-list .cond3 dd .loading-mark li:nth-child(2) {
	animation: move1 2s linear 0.4s infinite;
}

#contents .contribution-comment .form-list .cond3 dd .loading-mark li:nth-child(3) {
	animation: move1 2s linear 0.6s infinite;
}

#contents .contribution-comment .form-list .cond3 dd .loading-mark li:nth-child(4) {
	animation: move1 2s linear 0.8s infinite;
}

#contents .contribution-comment .form-list .cond3 dd .loading-mark li:nth-child(5) {
	animation: move1 2s linear 1.0s infinite;
}

@keyframes move1 {
	0% {
		top: 0;
	}
	15% {
		top: -15px;
	}
	30% {
		top: 0;
	}
	45% {
		top: 15px;
	}
	60% {
		top: 0;
	}
	100% {
		top: 0;
	}
}

#contents .contribution-comment .form-list .cond3 dd .loading-mark li:last-child {
	margin-right: 0;
}

#contents .contribution-comment .form-list .cond4 dd textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 372px;
	min-width: 372px;
	min-height: 174px;
	margin-bottom: 5px;
	padding: 12px 10px;
	font-size: 15px;
	border: 3px solid #02458b;
	border-radius: 10px;
}

#contents .contribution-comment .form-list .cond4 dd .text {
	position: relative;
	display: inline-block;
	padding: 10px 10px;
	font-size: 13px;
	line-height: 1;
	vertical-align: middle;
}

#contents .contribution-comment .form-list .cond4 dd input+.text:before {
	content: "";
	box-sizing: border-box;
	display: block;
	position: absolute;
	top: calc(100% - 29px);
	left: -22px;
	width: 25px;
	height: 25px;
	background: #ffffff;
	border: 3px solid #5371a0;
	border-radius: 50%;
}

#contents .contribution-comment .form-list .cond4 dd input+.text:after {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% - 23px);
	left: -16px;
	width: 13px;
	height: 13px;
	background: #ffffff;
	border-radius: 50%;
	z-index: 1;
}

#contents .contribution-comment .form-list .cond4 dd input:checked+.text:after {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% - 23px);
	left: -16px;
	width: 13px;
	height: 13px;
	background: #ff491f;
	border-radius: 50%;
	z-index: 1;
}

#contents .contribution-comment .form-list .cond5 dd select {
	width: 100%;
	max-width: 372px;
	height: 56px;
	padding-left: 12px;
	font-size: 14px;
	border: 3px solid #5371a0;
	background: url(../../src2018/img/icon1.svg) no-repeat 336px center, #ffffff;
	background-size: 18px auto;
	border-radius: 10px;
	-webkit-appearance: none;
	appearance: none;
}

#contents .contribution-comment .form-list .cond5 {
	overflow: visible;
}

#contents .contribution-comment .form-list .cond5:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.select-wrap {
	position: relative;
}

.select-wrap .select {
	width: 100%;
	max-width: 372px;
	height: 56px;
	padding-left: 12px;
	font-size: 14px;
	border: 3px solid #5371a0;
	background: url(../../src2018/img/icon1.svg) no-repeat 336px center, #ffffff;
	background-size: 18px auto;
	border-radius: 10px;
}

#contents .select-wrap .select .star-wrapper .stars {
	font-size: 14px;
}

#contents .select-wrap .select .star-wrapper .stars:before {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: #fff;
	z-index: 1000;
}

#contents .select-wrap .select .star-wrapper .stars:after {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 2px;
	height: 100%;
	background: #fff;
	z-index: 1000;
}

.select-wrap .select img {
	vertical-align: middle;
	line-height: 50px;
}

.select-wrap .select p {
	vertical-align: middle;
	line-height: 50px;
}

#contents .select-wrap .box .star-wrapper .stars {
	font-size: 14px;
}

#contents .select-wrap .box .star-wrapper .stars:before {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: #fff;
	z-index: 1000;
}

#contents .select-wrap .box .star-wrapper .stars:after {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 10px;
	height: 100%;
	background: #fff;
	z-index: 1000;
}

#contents .select-wrap .box .star-wrapper .stars .star {
	width: 154px;
	margin: 0 0 0 10px;
}

#contents .select-wrap .box .star-wrapper .stars .star img {
	width: 100%;
}

.select-wrap .box p {
	line-height: 40px;
}

#contents .contribution-comment .form-list .cond5 .no-rating p {
	margin: 0 0 0 15px;
}

.select-wrap .mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 56px;
	z-index: 100;
	cursor: pointer;
}

.select-wrap .box {
	position: absolute;
	top: 46px;
	left: 0;
	display: none;
	padding: 5px 0 0;
	width: 100%;
	max-height: 280px;
	overflow: auto;
	background: #fff;
	border: 3px solid #5371a0;
	border-top: none;
	border-radius: 5px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	z-index: 10000;
}

.select-wrap .box>div {
	cursor: pointer;
	border-bottom: 1px solid #f0f0f0;
	line-height: 1;
	font-size: 14px;
}

.select-wrap .box>div.on {
	color: #0094e0;
}

.select-wrap .box>div:hover {
	color: #0094e0;
}

.select-wrap .star-wrapper p {
	display: inline-block;
}

#contents .contribution-comment .btn-block {
	width: 100%;
	max-width: 310px;
	margin: 40px auto 30px;
}

#contents .contribution-comment .btn-block button {
	box-sizing: border-box;
	width: 100%;
	font-size: 16px;
	line-height: 56px;
	text-decoration: none;
	text-align: center;
	background: #fff94e;
	color: #02458b;
	border: none;
	border-radius: 28px;
	cursor: pointer;
}

#contents .contribution-comment .annotation-block {
	margin-bottom: 0;
}

#contents .contribution-comment .annotation-block dt {
	font-size: 14px;
	font-weight: bold;
	line-height: 25px;
}

#contents .contribution-comment .annotation-block dd {
	position: relative;
	margin-left: 14px;
	font-size: 13px;
	line-height: 25px;
}

#contents .contribution-comment .annotation-block dd:before {
	content: "・";
	position: absolute;
	top: 0;
	left: -15px;
	font-size: 13px;
	line-height: 25px;
}

#contents>.btn-block-foot {
	text-align: center;
	max-width: 750px;
	margin: 0 auto;
	padding: 73px 0 94px;
}

#contents>.btn-block-foot .btn {
	display: inline-block;
	margin: 0 1%;
	width: 41.333%;
}


/* -------------------------------------------------------------------
  .commentlist
---------------------------------------------------------------------- */

.commentlist #contents .content-title {
	width: 57%;
	max-width: 770px;
	padding: 50px 0 38px;
	margin: 0 auto;
	line-height: 38px;
}

.commentlist #contents .content-title span {
	display: block;
	padding-top: 15px;
	font-size: 20px;
	line-height: 1;
}

.commentlist #contents .btn-block {
	margin-bottom: 52px;
}

.commentlist #contents .contribution-case {
	width: 100%;
	padding: 40px 0 34px;
	background: url(../../src2018/img/bg2.png);
}

.commentlist #contents .pager-block {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.commentlist #contents .pager-block .cases-num {
	float: left;
	margin-top: 3px;
	line-height: 1;
	font-size: 15px;
}

.commentlist #contents .pager-block .cases-num strong {
	font-size: 21px;
}

.commentlist #contents .pager-block .total {
	float: right;
	margin-top: 9px;
}

.commentlist #contents .pager-block .nums {
	position: absolute;
	display: inline-block;
	width: 100%;
	top: 5px;
	left: calc(50% - 385px);
	margin: 0;
	font-size: 0;
	text-align: center;
}

.commentlist #contents .pager-block .nums li {
	display: inline-block;
	box-sizing: border-box;
	vertical-align: bottom;
}

.commentlist #contents .pager-block .nums li a.num {
	box-sizing: border-box;
	display: block;
	padding: 1px 8px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: #02458b;
	border-left: 1px solid #808080;
}

.commentlist #contents .pager-block .nums li.cond5 a.num {
	border-right: 1px solid #808080;
}

.commentlist #contents .pager-block .nums li a.num:hover {
	color: #ff491f;
}

.commentlist #contents .pager-block .nums li.current a.num {
	pointer-events: none;
	color: #ff491f;
}


/*追加*/

.commentlist #contents .pager-block .nums li.one {
	color: #ff491f;
	font-size: 16px;
	font-weight: bold;
}

.commentlist #contents .pager-block .nums li.first-list a {
	box-sizing: border-box;
	display: block;
	padding: 2px 14px 2px 10px;
	font-size: 13px;
	line-height: 1;
	color: #02458b;
}

.commentlist #contents .pager-block .nums li.end-list a {
	box-sizing: border-box;
	display: block;
	padding: 2px 10px 2px 14px;
	font-size: 13px;
	line-height: 1;
	color: #02458b;
}

.commentlist #contents .pager-block .nums li.prev a, .commentlist #contents .pager-block .nums li.next a {
	display: block;
	width: 14px;
	height: 14px;
}

.commentlist #contents .contribution-case .cases {
	padding-top: 36px;
	margin-bottom: 40px;
}

.commentlist #contents>.btn-block-foot {
	padding: 100px 0 102px;
}


/* -------------------------------------------------------------------
  .comment
---------------------------------------------------------------------- */

.comment #contents>.wrap {
	padding-top: 58px;
	padding-bottom: 100px;
}

.comment #contents h3 {
	position: relative;
	padding: 15px 0 37px;
	color: #02458b;
	font-size: 26px;
	line-height: 36px;
	font-weight: bold;
	text-align: center;
}

.comment #contents h3:before {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 4px;
	margin: 0 0 0 -12px;
	background: #02458b;
	border-radius: 2px;
}

.comment #contents .catch {
	margin: 0 0 35px;
	font-size: 22px;
	line-height: 32px;
	font-weight: bold;
	text-align: center;
}

.comment #contents .annotation-block {
	width: 100%;
	padding: 17px 20px;
	margin-bottom: 80px;
	border: 6px solid #ffffff;
	border-radius: 10px;
}

.comment #contents .annotation-block dt {
	font-size: 14px;
	font-weight: bold;
	line-height: 25px;
}

.comment #contents .annotation-block dd {
	position: relative;
	margin-left: 14px;
	font-size: 13px;
	line-height: 25px;
}

.comment #contents .annotation-block dd:before {
	content: "・";
	position: absolute;
	top: 0;
	left: -15px;
	font-size: 13px;
	line-height: 25px;
}

.comment #contents .annotation-block dd a {
	padding-bottom: 2px;
	color: #ff491f;
	border-bottom: 1px solid #ff491f;
}

.comment #contents .contribution-comment>.title {
	padding-bottom: 34px;
}

.comment #contents .contribution-comment>.text {
	padding-bottom: 26px;
	font-size: 15px;
	line-height: 27px;
	text-align: center;
}

.comment #contents .contribution-comment>.text span {
	font-weight: bold;
	color: #ff491f;
}

.comment #contents .contribution-comment {
	position: relative;
	padding: 38px 45px 7px;
}

.comment #contents .contribution-comment .annotation {
	position: absolute;
	bottom: 135px;
	left: 0;
	width: 100%;
	padding: 25px 0;
	font-size: 15px;
	line-height: 27px;
	text-align: center;
	background: #f6f6f6;
}

.comment #contents .contribution-comment .btn-block {
	margin: 182px auto 30px;
}


/* -------------------------------------------------------------------
  .thanks
---------------------------------------------------------------------- */

.thanks #contents {
	position: relative;
}

.thanks #contents .catch {
	margin: 0 0 26px;
}

.thanks #contents .info {
	position: absolute;
	width: 100%;
	max-width: 770px;
	top: 204px;
	left: calc(50% - 385px);
	background: url(../../src2018/img/comment/bg1.png) no-repeat;
	background-size: 100% auto;
}

.thanks #contents .info span {
	display: block;
	padding: 25px 0;
	font-size: 26px;
	line-height: 38px;
	color: #34b416;
	text-align: center;
}

.kocomment #contents .annotation-block {
	margin-bottom: 0;
	border: none;
	border-radius: 0;
	text-align: center;
}

.thanks #contents .annotation-block p {
	font-size: 13px;
	line-height: 25px;
}

.thanks #contents .text {
	padding-top: 13px;
	font-size: 13px;
	line-height: 25px;
}

.thanks #contents .btn.back {
	width: 41%;
	max-width: 310px;
	margin: 92px auto 0;
	background: #cde4fc url(../../src2018/img/icon4.svg) no-repeat 20px center;
	background-size: 20px auto;
}

@media only screen and (max-width: 1021px) {
	#contents .categories {
		max-width: 765px;
	}
	#contents .categories ul {
		max-width: 765px;
	}
}


/*sp*/

@media only screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block;
	}
	#siteheader {
		padding: 0;
		background: #fff;
	}
	#siteheader h2 {
		line-height: 1;
	}
	#siteheader h2 a {
		display: inline-block;
		padding: 8px 0 8px 15px;
		font-size: 27px;
		line-height: 1.2;
	}
	#siteheader #item-search {
		display: inline-block;
		box-sizing: border-box;
		width: 92%;
		margin: 0 16px 10px;
		padding: 0 5px 0 0;
		border-bottom: 3px solid #5371a0;
		border-radius: 1.5px;
	}
	#siteheader #item-search .search-word {
		width: 89%;
		padding: 5px;
		font-size: 14px;
		border: none;
		background: none;
	}
	#siteheader #sitetoolbar {
		width: 55px;
		padding: 0 15px 0 0;
		top: 0;
	}
	#siteheader #sitetoolbar ul li.coin01 {
		margin: -1px 0 0;
		width: 55px;
		height: 62px;
	}
	#siteheader #sitetoolbar ul li.coin01 a {
		width: 55px;
		height: 62px;
	}
	#breadcrumb ul {
		margin: 0 15px;
	}
	#breadcrumb ul li {
		line-height: 1.3em !important;
	}
	#contents .category-select-block {
		padding: 15px 0 5px;
	}
	#contents .category-select-wrapper {
		width: 92%;
	}
	#contents .category-select {
		padding: 8px 0;
		/*padding: 20px 0;*/
	}
	#contents .second-category, #contents .third-category {
		float: none;
		width: 100%;
		max-width: 100%;
	}
	#contents .category-select select {
		font-size: 14px;
		width: 100%;
		/*width: 90%;*/
		max-width: 100%;
		top: 8px;
	}
	#contents .third-category .viewport {
		font-size: 14px;
		width: 100%;
		/*width: 90%;*/
		max-width: 100%;
	}
	#contents .categories h3 {
		margin: 40px 0 0;
	}
	#contents .categories>ul {
		margin: 0;
		padding: 15px 0 0;
	}
	#contents .categories .notice {
		width: 88%;
		margin: 25px auto 0;
		padding: 12px 12px 7px;
	}
	#contents .categories .notice dt {
		font-size: 12px;
	}
	#contents .categories .notice dd {
		font-size: 10px;
		line-height: 18px;
	}
	#contents .categories ul li.accordion .btn:after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 10px;
		margin-top: -4px;
		border: 5px solid transparent;
		border-top-width: 9px;
		border-top-color: #185393;
	}
	#contents .categories ul li.accordion .btn.open:after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 10px;
		margin-top: -9px;
		border: 5px solid transparent;
		border-bottom-width: 9px;
		border-bottom-color: #185393;
	}
	#contents .categories li.accordion .btn>.inner p {
		line-height: 16px;
		padding-bottom: 8px;
	}
	#contents .categories li.accordion .btn>.inner p a {
		font-size: 12px;
		line-height: 16px;
	}
	#contents .categories ul li {
		width: 44%;
		margin: 0 0 4% 4%;
	}
	#contents .categories ul li .name {
		font-size: 16px;
	}
	#contents .categories.sub-categories ul {
		padding: 30px 0 0;
	}
	#contents .categories.sub-categories ul li, #contents .categories.search ul li {
		width: 92%;
		overflow: hidden;
		padding: 16px 20px 10px;
		min-height: auto !important;
	}
	#contents .categories.sub-categories ul li>div, #contents .categories.search ul li>div {
		padding: 0;
	}
	#contents .categories.sub-categories ul li .name, #contents .categories.search ul li .name {
		color: #2c2c2c;
		font-size: 16px;
		min-height: auto !important;
	}
	#contents .categories.sub-categories ul li .btn, #contents .categories.search ul li .btn {
		float: left;
		width: 49%;
		margin: 0 0 3%;
	}
	#contents .categories.sub-categories ul li .btn:nth-child(2n-1), #contents .categories.search ul li .btn:nth-child(2n-1) {
		margin: 0 0 3% 2%;
	}
	#contents .categories.sub-categories ul li p a br, #contents .categories.search ul li p a br {
		display: block;
	}
	#contents .categories.sub-categories ul li .btn2, #contents .categories.search ul li .btn2 {
		clear: both;
		width: 100%;
		margin: 0;
	}
	#contents .categories.sub-categories ul li .btn3 a, #contents .categories.search ul li .btn3 a {
		padding: 4px 0 4px 1em;
		line-height: 16px;
	}
	#contents .categories.sub-categories ul li .btn3 a:after, #contents .categories.search ul li .btn3 a:after {
		content: "　";
	}
	#contents .btn.back {
		width: 80%;
		margin: 30px auto;
	}
	/* -------------------------------------------------------------------
  .detail
---------------------------------------------------------------------- */
	#contents .wrap {
		width: 92%;
	}
	#contents .content-title {
		padding: 28px 0 32px;
		font-size: 24px;
	}
	#contents .btn-block {
		margin-bottom: 40px;
	}
	#contents .btn-block li {
		width: 45%;
		height: 47px;
		margin: 0 10px 10px 0;
	}
	#contents .btn-block li.btn3 {
		width: 92%;
	}
	#contents .btn-block li a {
		font-size: 13px;
		line-height: 47px;
	}
	#contents .rating-block {
		padding: 12px 0 17px;
		margin-bottom: 28px;
	}
	#contents .rating-block dl {
		float: none;
		width: 100%;
		margin-bottom: 12px;
		text-align: center;
	}
	#contents .rating-block dt {
		font-size: 17px;
		line-height: 21px;
	}
	#contents .rating-block dd {
		font-size: 11px;
		line-height: 21px;
	}
	#contents .rating-block .star-wrapper {
		float: none;
		width: 100%;
		text-align: center;
	}
	#contents .rating-block .star-wrapper .stars {
		margin: 0 0 10px;
	}
	#contents .rating-block .star-wrapper p {
		display: block;
		font-size: 14px;
		line-height: 1;
		vertical-align: initial;
	}
	#contents .sns-block ul {
		margin-bottom: 48px;
	}
	#contents .slider-block {
		width: 92%;
		margin: 0 auto 65px;
	}
	#contents .slider-block .title {
		padding: 0 0 15px;
		font-size: 19px;
	}
	#contents .slider-block .indicator {
		bottom: -20px;
	}
	#contents .contribution {
		padding: 40px 0;
	}
	#contents .contribution>h3 {
		padding: 18px 0 20px;
		font-size: 24px;
		line-height: 30px;
	}
	#contents .contribution>.catch {
		margin: 0 0 8px;
		font-size: 19px;
		line-height: 26px;
	}
	#contents .contribution>.lead {
		margin: 0 0 35px;
		font-size: 14px;
		line-height: 20px;
	}
	#contents .contribution-case {
		margin: 0 auto 50px;
	}
	#contents .contribution-case .total {
		margin-top: 7px;
		font-size: 14px;
	}
	#contents .contribution-case .total strong {
		font-size: 23px;
	}
	#contents .contribution-case>.btn {
		width: 48%;
		height: 35px;
		border-radius: 17px;
	}
	#contents .contribution-case>.btn a {
		font-size: 12px;
		line-height: 35px;
	}
	#contents .contribution-case .cases {
		padding-top: 17px;
	}
	#contents .contribution-case .case {
		padding: 20px 19px;
		margin-bottom: 19px;
	}
	#contents .contribution-case .case dt {
		padding-bottom: 18px;
		font-size: 15px;
	}
	#contents .contribution-case .case dd.text {
		font-size: 14px;
		line-height: 20px;
	}
	#contents .contribution-case .case dd.text.f-left {
		float: none;
		width: 100%;
		padding-left: 0;
		padding-top: 15px;
	}
	#contents .contribution-case .case dd.date {
		padding-top: 15px;
		font-size: 11px;
	}
	#contents .contribution-case .case dd.image {
		float: none;
		width: 55%;
		margin: 0 auto;
	}
	#contents .contribution-case .case .rating {
		top: 20px;
		right: 19px;
		width: 38%;
	}
	#contents .contribution-case .case .rating p {
		padding-right: 7px;
		font-size: 11px;
	}
	#contents .contribution-case .case .rating .star-wrapper {
		width: 47%;
	}
	#contents .contribution-case .case .rating .stars {
		width: 100%;
	}
	#contents .contribution-case .case .rating .star {
		width: 100%;
	}
	#contents .contribution-case .case .rating .star {
		width: 100%;
	}
	#contents .contribution-case .case .rating .stars {
		width: 100%;
	}
	#contents .contribution-case .case .rating .stars:before, #contents .contribution-case .case .rating .stars:after {
		display: none;
	}
	#contents .contribution-case .case .rating .stars img {
		width: 100%;
	}
	#contents .contribution-case .case .comment-btn {
		width: 50%;
		height: 34px;
		margin-top: -10px;
		text-align: center;
	}
	#contents .contribution-case .case .comment-btn a {
		padding: 10px 5px 10px 20px;
		font-size: 10px;
	}
	#contents .contribution-case .case .comment-btn a:before {
		top: 10px;
		left: 9px;
		width: 2px;
		height: 10px;
	}
	#contents .contribution-case .case .comment-btn a:after {
		top: 14px;
		left: 5px;
		width: 10px;
		height: 2px;
	}
	#contents .contribution-case .case .comment {
		width: 97%;
		padding: 18px 19px;
		margin: 41px 0 0 10px;
	}
	#contents .contribution-case .case .comment:before {
		top: calc(50% - 6px);
		left: -10px;
		border-top: 26px solid #edf6ff;
		border-left: 22px solid transparent;
	}
	#contents .contribution-case .case .inner dt span {
		font-size: 11px;
	}
	#contents .contribution-case .more-btn {
		width: 72%;
		height: 45px;
		margin: 30px auto 0;
		border-radius: 22px;
		background: #FFF94D url(../../src2018/img/icon2.svg) no-repeat right 12px center;
		background-size: 13px auto;
	}
	#contents .contribution-case .more-btn a {
		font-size: 14px;
		line-height: 45px;
	}
	#modal_bg {}
	.modal {
		left: 0;
		width: calc(100% - 30px);
		max-width: none;
		margin: 0 15px;
	}
	.modal .inner {
		margin: 50px 0 0;
		width: 100%;
		background: #fff;
		border: 4px solid #02458b;
		border-radius: 10px;
	}
	.modal .title {
		padding: 18px 0;
		font-size: 17px;
	}
	.modal .message {
		padding: 17px;
	}
	.modal .error {
		margin: 17px 17px 0;
		padding: 10px;
	}
	.modal .form-list {
		padding: 18px;
	}
	.modal .form-list dl {
		margin-bottom: 28px;
	}
	.modal .form-list dt {
		display: block;
		float: none;
		width: 100%;
		margin-bottom: 10px;
		margin-left: 0;
		font-size: 16px;
	}
	.modal .form-list dt span {
		padding-left: 3px;
		font-size: 6px;
	}
	.modal .form-list dt .annotation2 {
		padding-top: 8px;
	}
	.modal .form-list dd {
		float: none;
		width: 100%;
	}
	.modal .form-list .cond1 dd input, .modal .form-list .cond2 dd input {
		padding: 5px 10px 5px 0px;
		font-size: 14px;
	}
	.modal .form-list .cond2 dd input {
		margin-bottom: 10px;
	}
	.modal .form-list dl.cond2 {
		margin-bottom: 28px;
	}
	.modal .form-list .cond3 dd {
		padding: 14px;
	}
	.modal .form-list .cond4 dd textarea {
		max-width: 100%;
		min-width: 100%;
		min-height: 150px;
		margin-bottom: 10px;
		padding: 18px;
		font-size: 14px;
	}
	.modal .form-list .cond4 dd .text {
		padding: 8px;
	}
	.modal .form-list .cond4 dd label {
		font-size: 13px;
	}
	.modal .btn {
		width: 80%;
	}
	#contents .contribution-comment {
		padding: 20px 19px 27px;
		margin: 0 auto !important;
	}
	#contents .contribution-comment>.title {
		padding-bottom: 25px;
		font-size: 24px;
	}
	#contents .contribution-comment>.annotation {
		line-height: 20px;
	}
	#contents .contribution-comment>.text {
		line-height: 20px;
	}
	#contents .contribution-comment .form-list dl {
		margin-bottom: 28px;
	}
	#contents .contribution-comment .form-list dt {
		display: block;
		float: none;
		width: 100%;
		margin-bottom: 10px;
		margin-left: 0;
		font-size: 16px;
	}
	#contents .contribution-comment .form-list dt span {
		padding-left: 3px;
		font-size: 6px;
	}
	#contents .contribution-comment .form-list dt .annotation2 {
		padding-top: 8px;
	}
	#contents .contribution-comment .form-list dd {
		float: none;
		width: 100%;
	}
	#contents .contribution-comment .form-list .cond1 dd input, #contents .contribution-comment .form-list .cond2 dd input {
		padding: 5px 10px 5px 0px;
		font-size: 14px;
	}
	#contents .contribution-comment .form-list .cond2 dd input {
		margin-bottom: 10px;
	}
	#contents .contribution-comment .form-list dl.cond2 {
		margin-bottom: 28px;
	}
	#contents .contribution-comment .form-list .cond3 dd {
		padding: 14px;
	}
	#contents .contribution-comment .form-list .cond3 dd .text {
		padding-bottom: 14px;
		font-size: 14px;
		line-height: 21px;
	}
	#contents .contribution-comment .form-list .cond3 dd p.text {
		padding-top: 20px;
		padding-bottom: 30px;
	}
	#contents .contribution-comment .form-list .cond3 dd .loading-mark {
		width: 32%;
		margin: 0 auto 20px;
	}
	#contents .contribution-comment .form-list .cond3 dd input {
		padding: 9px;
		font-size: 11px;
		border: 3px solid #ededed;
	}
	#contents .contribution-comment .form-list .cond3 dd .btn {
		width: 47.5%;
		margin: 31px auto 0;
		font-size: 11px;
		line-height: 30px;
		border-radius: 15px;
	}
	#contents .contribution-comment .form-list .cond3 dd .btn.cancel {
		width: 54.5%;
		padding-left: 40px;
	}
	#contents .contribution-comment .form-list .cond3 dd .btn.cancel:before {
		left: 25px;
		width: 2px;
		height: 10px;
	}
	#contents .contribution-comment .form-list .cond3 dd .btn.cancel:after {
		left: 25px;
		width: 2px;
		height: 10px;
	}
	#contents .contribution-comment .form-list .cond4 dd textarea {
		max-width: 100%;
		min-width: 100%;
		min-height: 150px;
		margin-bottom: 10px;
		padding: 18px;
		font-size: 14px;
	}
	#contents .contribution-comment .form-list .cond4 dd .text {
		padding: 8px;
	}
	#contents .contribution-comment .form-list .cond4 dd label {
		font-size: 13px;
	}
	#contents .contribution-comment .form-list .cond4 dd input+.text:before {
		top: calc(100% - 26px);
		left: -22px;
		width: 22px;
		height: 22px;
		border: 3px solid #5371a0;
	}
	#contents .contribution-comment .form-list .cond4 dd input+.text:after {
		top: calc(100% - 21px);
		left: -17px;
		width: 11px;
		height: 11px;
	}
	#contents .contribution-comment .form-list .cond4 dd input:checked+.text:after {
		top: calc(100% - 21px);
		left: -17px;
		width: 11px;
		height: 11px;
	}
	#contents .contribution-comment .form-list .cond5 dd .select {
		width: 100%;
		height: 45px;
		padding-left: 10px;
		font-size: 13px;
		background: url(../../src2018/img/icon1.svg) no-repeat 97% center, #ffffff;
		background-size: 14px auto;
	}
	#contents .select-wrap .star-wrapper .stars {
		width: 47%;
	}
	#contents .select-wrap .star-wrapper .stars .star {
		width: 100%;
	}
	.select-wrap .select p {
		line-height: 40px;
	}
	.select-wrap .box {
		top: 36px;
	}
	#contents .select-wrap .box .star-wrapper .stars {
		width: 42%;
		margin: 0 0 0 10px;
	}
	#contents .select-wrap .box .star-wrapper .stars:before, #contents .select-wrap .box .star-wrapper .stars:after {
		display: none;
	}
	#contents .select-wrap .box .star-wrapper .stars .star {
		width: 100%;
		margin: 0;
	}
	#contents .select-wrap .box p {
		line-height: 28px;
	}
	#contents .contribution-comment .btn-block {
		width: 82%;
		margin: 30px auto 40px;
	}
	#contents .contribution-comment .btn-block button {
		font-size: 14px;
		line-height: 45px;
		border-radius: 22px;
	}
	#contents .contribution-comment .annotation-block dt {
		line-height: 21px;
	}
	#contents .contribution-comment .annotation-block dd {
		margin-left: 10px;
		line-height: 20px;
	}
	#contents .contribution-comment .annotation-block dd:before {
		line-height: 20px;
	}
	#contents>.btn-block-foot {
		padding: 35px 0 85px;
	}
	#contents>.btn-block-foot .btn {
		display: block;
		width: 80%;
		margin: 0 auto 15px;
	}
	/* -------------------------------------------------------------------
  .commentlist
---------------------------------------------------------------------- */
	.commentlist #contents .content-title {
		width: 92%;
		padding: 28px 0;
		line-height: 30px;
	}
	.commentlist #contents .content-title span {
		font-size: 18px;
	}
	.commentlist #contents .btn-block {
		margin-bottom: 40px;
	}
	.commentlist #contents .contribution-case {
		padding: 27px 0;
		margin: 0 auto;
	}
	.commentlist #contents .pager-block .cases-num {
		margin-top: 5px;
		font-size: 14px;
	}
	.commentlist #contents .pager-block .nums {
		position: static;
		margin-top: 30px;
	}
	.commentlist #contents .pager-block.lower .nums {
		margin-top: 0;
		margin-bottom: 30px;
	}
	.commentlist #contents .pager-block .nums li.first-list a {
		padding: 2px 15px 2px 5px;
		font-size: 12px;
	}
	.commentlist #contents .pager-block .nums li.end-list a {
		padding: 2px 5px 2px 15px;
		font-size: 12px;
	}
	.commentlist #contents .pager-block .nums li a.num {
		padding: 1px 7px;
		font-size: 15px;
	}
	.commentlist #contents .contribution-case .cases {
		padding-top: 20px;
		margin-bottom: 20px;
	}
	.commentlist #contents>.btn-block-foot {
		padding: 40px 0 100px;
	}
	/* -------------------------------------------------------------------
  .comment
---------------------------------------------------------------------- */
	.comment #contents .wrap {
		padding-top: 27px;
		padding-bottom: 95px;
	}
	.comment #contents h3 {
		padding: 20px 0 35px;
		font-size: 24px;
		line-height: 30px;
	}
	.comment #contents .catch {
		margin: 0 0 25px;
		font-size: 19px;
		line-height: 26px;
	}
	.comment #contents .annotation-block {
		padding: 12px 16px;
		margin-bottom: 45px;
		border: 4px solid #ffffff;
	}
	.comment #contents .annotation-block dt {
		line-height: 21px;
	}
	.comment #contents .annotation-block dd {
		margin-left: 10px;
		line-height: 20px;
	}
	.comment #contents .annotation-block dd:before {
		line-height: 20px;
	}
	.comment #contents .contribution-comment {
		padding: 20px 19px 0;
	}
	.comment #contents .contribution-comment>.title {
		padding-bottom: 25px;
	}
	.comment #contents .contribution-comment>.text {
		padding-bottom: 23px;
		font-size: 14px;
		line-height: 21px;
		text-align: left;
	}
	.comment #contents .contribution-comment .annotation {
		bottom: 105px;
		padding: 15px;
		font-size: 14px;
		line-height: 21px;
		text-align: left;
	}
	.comment #contents .contribution-comment .btn-block {
		margin: 175px auto 30px;
	}
	/* -------------------------------------------------------------------
  .thanks
---------------------------------------------------------------------- */
	.thanks #contents .catch {
		margin: 0 0 25px;
	}
	.thanks #contents .info {
		width: 100%;
		top: 163px;
		left: 0;
		background: url(../../src2018/img/sp/comment/bg1.png) no-repeat bottom;
		background-size: 100% auto;
	}
	.thanks #contents .info span {
		display: block;
		padding: 17px 0;
		font-size: 22px;
		line-height: 31px;
		text-align: center;
	}
	.thanks #contents .annotation-block {
		padding: 145px 0 0;
		margin-bottom: 0;
		border: none;
	}
	.thanks #contents .annotation-block p {
		text-indent: -13px;
		padding-left: 13px;
		font-size: 13px;
		line-height: 20px;
	}
	.thanks #contents .text {
		padding-top: 12px;
		line-height: 20px;
	}
	.thanks #contents .btn.back {
		width: 67%;
		margin: 45px auto 0;
		background-size: 12px auto;
	}
	.thanks #contents .btn.back a {
		font-size: 14px;
		line-height: 45px;
	}
}

#contents .categories.search h3 {
	margin: 50px 0 50px;
}

#contents .categories.search h3:before {
	display: none;
}

#contents .categories.search .pager-block .nums {
	padding: 0;
	left: calc(50% - 500px);
	font-size: 100%;
	line-height: 1;
}

#contents .categories.search .pager-block .nums li {
	float: none;
	display: inline-block;
	width: auto;
	margin: 0;
	padding: 0;
	background: none;
	border-radius: 0;
	font-size: 100%;
	line-height: 1;
	min-height: 100% !important;
}

#contents .categories.search .pager-block .nums li a {}

#contents .categories.search .pager-block .total strong {
	font-size: 21px;
}

@media only screen and (max-width: 1021px) {
	#contents .categories.search .pager-block .nums {
		left: calc(50% - 382px);
	}
}

@media only screen and (max-width: 767px) {
	.commentlist #contents .search .pager-block .cases-num {
		margin-left: 4%;
	}
	.commentlist #contents .search .pager-block .total {
		margin-top: -5px;
		margin-right: 4%;
	}
}


/* -------------------------------------------------------------------
  201910追加
---------------------------------------------------------------------- */

#breadcmpbar {
	background: #64c551 url(../../src2018/img/breadcmpbar_bg.png) no-repeat center center;
	background-size: auto 100%;
	color: #fff;
	padding: 9px 10px;
}

#breadcmpbar ul:after {
	content: "";
	display: block;
	clear: both;
}

#breadcmpbar ul {
	max-width: 892px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}

#breadcmpbar ul .catch {
	font-family: "Noto Sans Japanese";
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	font-size: 18px;
	padding: 10px 239px 8px 17px;
	min-height: 36px;
	box-sizing: border-box;
	position: relative;
}

#breadcmpbar ul a:hover .catch {
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity: 0.7;
	opacity: 0.7;
	zoom: 1;
}

#breadcmpbar ul .catch:after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	left: 3px;
	width: 14px;
	height: 22px;
	margin: auto;
	background: url(../../src2018/img/icon_slash.svg) no-repeat;
	background-size: auto 100%;
}

#breadcmpbar ul .catch:before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 225px;
	width: 14px;
	height: 22px;
	margin: auto;
	background: url(../../src2018/img/icon_slash.svg) no-repeat;
	background-size: auto 100%;
	-webkit-transform: scale(-1, 1);
	-ms-transform: scale(-1, 1);
	transform: scale(-1, 1);
}

#breadcmpbar ul .btn {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	color: #21b401;
	width: 200px;
	text-align: center;
	font-family: "Noto Sans Japanese";
	font-size: 14px;
	line-height: 36px;
	border-radius: 18px;
	background: #fff url(../../src2018/img/icon_downarrow.svg) no-repeat center right 23px;
}


#breadcmpbar ul .btn2 {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	color: #21b401;
	width: 200px;
	text-align: center;
	font-family: "Noto Sans Japanese";
	font-size: 14px;
	line-height: 36px;
	border-radius: 18px;
	background: #fff url(../../src2018/img/icon_rightarrow.svg) no-repeat center right 23px;
}

#breadcmpbar a {
	color: inherit;
}

#contents .contribution>.lead {
	margin-bottom: 5px;
}

#contents .contribution>.plus {
	margin: 0 0 44px;
	font-size: 15px;
	line-height: 29px;
	color: #777777;
	text-align: center;
}

#contents .cmpbanner {
	margin-bottom: 19px;
}

#contents .cmpbanner img {
	margin: auto;
}

#contents .cmpyoukou, #contents .nestlelink {
	text-align: center;
	margin-bottom: 40px;
}

#contents .cmpyoukou .cmptxt, #contents .nestlelink .nestlelinktxt {
	display: inline-block;
	background: url(../../src2018/img/icon_poparrow.svg) no-repeat center left;
	padding-left: 30px;
	line-height: 1;
	font-size: 17px;
}

#contents .cmpyoukou .link, #contents .nestlelink .link {
	cursor: pointer;
	padding-bottom: 2px;
	color: #ff491f;
	border-bottom: 1px solid #ff491f;
}

#contents .cmpbtn-top {
	margin: 0 0 10px;
	font-size: 17px;
	line-height: 29px;
	text-align: center;
}

#contents .cmpbtn {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 690px;
	margin: 0 auto;
}

#contents .cmpbtn span {
	color: #2360ff;
	font-size: 15px;
	line-height: 1;
	font-weight: bold;
	margin-bottom: 8px;
}

#contents .cmpbtn li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 48.1%;
	text-align: center;
}

#contents .cmpbtn li a {
	background: #ff8e23 url(../../src2018/img/icon_btnarrow.svg) no-repeat center right 21px;
	border-radius: 8px;
	width: 100%;
	display: block;
	margin-top: auto;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	-webkit-box-shadow: 0px 8px rgba(214, 121, 33, 1.0);
	box-shadow: 0px 8px rgba(214, 121, 33, 1.0);
	padding: 20px 20px 19px 20px;
}

#contents .cmpbtn li:last-child a {
	background-color: #2360ff;
	-webkit-box-shadow: 0px 8px rgba(15, 63, 186, 1.0);
	box-shadow: 0px 8px rgba(15, 63, 186, 1.0);
}

#contents .annotation-block a {
	padding-bottom: 2px;
	color: #ff491f;
	border-bottom: 1px solid #ff491f;
}

.overlay {
	display: none;
	position: fixed;
	top: -10px;
	left: 0;
	right: 0;
	bottom: -10px;
	background-color: rgba(0, 0, 0, .40);
	overflow: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 99;
}

#modal-close {
	text-decoration: none;
	background: url(../../src2018/img/icon_close.png) no-repeat;
	background-size: 30px 31px;
	width: 30px;
	height: 31px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
	position: absolute;
	top: -50px;
	right: 0;
}

#requirements {
	border-width: 4px;
	border-color: #02458b;
	border-style: solid;
	border-radius: 10px;
	background-color: #fff;
	width: 95%;
	max-width: 765px;
	margin: 68px auto 20px;
	position: relative;
}

#requirements a {
	text-decoration: underline;
}

#requirements .title {
	margin-top: 45px;
	text-align: center;
	color: #04468a;
	font-size: 28px;
	font-weight: bold;
	padding-top: 34px;
	position: relative;
}

#requirements .title:after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 32px;
	height: 6px;
	background: #ff491f;
}

#requirements dl {
	margin: 18px 5.3% 40px 5.3%;
	line-height: 2;
	font-size: 16px;
}

#requirements dt {
	clear: left;
	float: left;
	width: 10em;
	font-weight: 700;
	border-top: solid 2px #5371a9;
	color: #04468a;
	padding-top: 18px;
}

#requirements dd {
	border-top: solid 2px #5371a9;
	margin: 0 0 18px 10em;
	padding-top: 18px;
}

#requirements dt.first, #requirements dd.first {
	border-top: none;
}


/*comment_preview*/

.comment #contents .contribution-comment .annotation {
	position: static;
	text-align: left;
	background: none;
}

.comment #contents .contribution-comment .annotation-add {
	position: static;
	margin: 0 -45px 0 -45px;
	width: auto;
	padding: 25px 0;
	font-size: 15px;
	line-height: 27px;
	text-align: center;
	background: #f6f6f6;
}

.comment #contents .contribution-comment .annotation-nonlogin {
	text-align: center;
	font-size: 13px;
	line-height: 25px;
	color: #000;
	margin-top: 30px;
}

.comment #contents .contribution-comment .annotation-nonlogin span {
	font-weight: bold;
	color: #ff491f;
	font-size: 15px;
}

.comment #contents .contribution-comment .btn-block {
	margin-top: 30px;
}


/*thanks*/

.thanks #contents .info {
	position: static;
	top: auto;
	left: auto;
}

.comment #contents .annotation-txt {
	padding-top: 37px;
	font-size: 13px;
	line-height: 25px;
}

.comment #contents .annotation-txt p {
	padding-left: 1em;
	text-indent: -1em;
}

.thanks #contents .end-txt {
	margin-top: 24px;
	margin-bottom: 29px;
	background: url(../../src2018/img/info_simple_bg.png) no-repeat;
	background-size: cover;
	padding: 18px 12.2%;
	font-size: 18px;
	line-height: 30px;
	color: #02458b;
	font-weight: bold;
	text-align: center;
}

.thanks #contents .end-txt p {
	background: #fff;
	padding: 19px;
}

.thanks #contents .info.simple {
	background: #fff;
	border-radius: 6px;
}

.thanks #contents .info.simple span {
	padding: 22px;
	font-size: 18px;
	line-height: 1;
}

.thanks #contents .info span.small {
	padding: 18px 0;
	font-size: 20px;
	line-height: 30px;
}

.thanks #contents .nestlelink-btn {
	margin: 45px auto 30px;
	text-align: center;
	max-width: 490px;
}

.thanks #contents .nestlelink-btn a {
	background: #2360ff url(../../src2018/img/icon_btnarrow.svg) no-repeat center right 21px;
	border-radius: 8px;
	width: 100%;
	display: inline-block;
	position: relative;
	margin-top: auto;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	-webkit-box-shadow: 0px 8px rgba(15, 63, 186, 1.0);
	box-shadow: 0px 8px rgba(15, 63, 186, 1.0);
	padding: 20px 20px 19px 20px;
}

.thanks #contents .nestlelink-btn a span {
	position: absolute;
	top: -20px;
	left: 33px;
	background: #ef6646;
	font-size: 18px;
	padding: 22px 9px;
	border-radius: 31px;
	width: 62px;
	height: 62px;
	-webkit-transform: rotate(-16.5deg);
	-ms-transform: rotate(-16.5deg);
	transform: rotate(-16.5deg);
}


/*top*/

#contents .topcmpbanner {
	text-align: center;
	max-width: 800px;
	padding: 30px 50px 0 50px;
	margin: 0 auto;
	margin-bottom: -20px;
	box-sizing: border-box;
}

.corpLink {
	max-width: 1000px;
	margin: 0px auto;
}

.corpLink-top {
	text-align: right;
	padding-top: 30px;
	margin-top: 30px;
}

.corpLink-bottom {
	text-align: left;
	padding-bottom: 60px;
}


.corpLink-bottom h3{
    max-width: 1000px;
    padding: 10px 0;
    border-bottom: 3px solid #185393;
    text-align: left;
    color: #02458b;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 30px;
}

.corpLink a {
	display: inline-block;
	width: 442px;
	height: 100px;
	border: solid 1px #cccccc;
	background: #ffffff;
}

.corpLink-bottom a {
	margin-left: 40px;
}

.corpLink dl {
	display: block;
	text-align: left;
	margin: 0;
}

.corpLink dl dt,
.corpLink dl dd {
	display: table-cell;
	width: 220px;
}

.corpLink dl dt img{
	width: 220px;
}

.corpLink dl dd {
	padding: 0 10px;
	font-size: 16px;
	background: url("/src2018/img/new-tab.svg") no-repeat top 0 right 0px ;
	background-size: 32px;
}



/*info*/

.info-area {
  padding: 30px 0;
  text-align: center;
}

.info-area p{
  width: 85vw;
  max-width: 800px;
  margin: 0 auto;
  padding: 10px;
  /*text-align: left;*/
  font-weight: bold;
  background: #fff;
  border: solid 2px #ff0000;
  border-radius: 10px;
}

.info-area p span{
  display: block;
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
}

.info-area p a{
  color: #1b468f;
  text-decoration: underline;
}


@media only screen and (max-width: 767px) {
	#breadcmpbar {
		background: #64c551 url(../../src2018/img/breadcmpbar_bg_sp.png) no-repeat center center;
		background-size: cover;
		padding: 2.8% 2%;
	}
	#breadcmpbar ul .catch {
		font-size: 4.3vw;
		padding: 0;
		min-height: auto;
		margin-bottom: 3.2%;
	}
	#breadcmpbar ul .catch:after {
		left: 0;
		width: 5.3vw;
		height: 8vw;
		background-size: 5.3vw 8.8vw;
	}
	#breadcmpbar ul .catch:before {
		right: 0;
		width: 5.3vw;
		height: 8vw;
		background-size: 5.3vw 8.8vw;
	}
	#breadcmpbar ul .btn {
		position: static;
		top: auto;
		right: auto;
		margin: 0 auto;
		width: 56%;
		font-size: 3.466vw;
		line-height: 8vw;
		border-radius: 4.266vw;
		background: #fff url(../../src2018/img/icon_downarrow.svg) no-repeat center right 23px;
		background-size: 2.4vw 1.466vw;
		background-position: center right 4.266vw;
	}
	#breadcmpbar ul .btn2 {
		position: static;
		top: auto;
		right: auto;
		margin: 0 auto;
		width: 56%;
		font-size: 3.466vw;
		line-height: 8vw;
		border-radius: 4.266vw;
		background: #fff url(../../src2018/img/icon_downarrow.svg) no-repeat center right 23px;
		background-size: 2.4vw 1.466vw;
		background-position: center right 4.266vw;
	}	
	#breadcmpbar ul .catch span {
		display: inline-block;
	}
	#contents .contribution>.lead {
		margin-bottom: 8px;
	}
	#contents .contribution>.plus {
		margin: 0 0 35px;
		font-size: 14px;
		line-height: 20px;
	}
	#contents .cmpbanner {
		margin-bottom: 4%;
	}
	#contents .cmpyoukou {
		text-align: center;
		margin-bottom: 8%;
	}
	#contents .nestlelink {
		text-align: center;
		margin-bottom: 0;
	}
	#contents .cmpyoukou .cmptxt, #contents .nestlelink .nestlelinktxt {
		display: inline-block;
		background-size: 3.6vw 3.33vw;
		padding-left: 7.6vw;
		line-height: 1;
		font-size: 3.733vw;
	}
	#contents .cmpbtn-top {
		margin: 0 0 10px;
		font-size: 14px;
		line-height: 20px;
	}
	#contents .cmpbtn {
		display: block;
		max-width: initial;
	}
	#contents .cmpbtn span {
		font-size: 4vw;
		margin-bottom: 4%;
	}
	#contents .cmpbtn li {
		display: block;
		width: 100%;
	}
	#contents .cmpbtn li a {
		background-size: 2.4vw 3.733vw;
		background-position: center right 4vw;
		border-radius: 1.066vw;
		font-size: 5.066vw;
		line-height: 1;
		-webkit-box-shadow: 0px 1.733vw rgba(214, 121, 33, 1.0);
		box-shadow: 0px 1.733vw rgba(214, 121, 33, 1.0);
		padding: 4.6%;
	}
	#contents .cmpbtn li:last-child {
		margin-top: 10%;
	}
	#contents .cmpbtn li:last-child a {
		-webkit-box-shadow: 0px 1.733vw rgba(15, 63, 186, 1.0);
		box-shadow: 0px 1.733vw rgba(15, 63, 186, 1.0);
	}
	#modal-close {
		background-size: 9.3vw 9.2vw;
		width: 9.3vw;
		height: 9.2vw;
		top: -13.3vw;
	}
	#requirements {
		width: 90.4%;
		margin: 17.33vw auto 8vw;
	}
	#requirements .title {
		margin-top: 10%;
		font-size: 5.06vw;
		padding-top: 4%;
	}
	#requirements .title:after {
		width: 5.866vw;
		height: .8vw;
	}
	#requirements dl {
		margin: 4% 6% 5% 6%;
		line-height: 1.72;
		font-size: 2.933vw;
	}
	#requirements dt {
		clear: both;
		float: none;
		width: auto;
		padding-top: 4%;
	}
	#requirements dd {
		border-top: none;
		margin: 0 0 4% 0;
		padding-top: 4%;
	}
	/*comment_preview*/
	.comment #contents .contribution-comment .annotation-add {
		margin: 0 -19px 0 -19px;
	}
	.comment #contents .contribution-comment .annotation-nonlogin {
		text-align: left;
		font-size: 13px;
		line-height: 20px;
		margin-top: 25px;
	}
	.comment #contents .contribution-comment .btn-block {
		margin-top: 25px;
	}
	/*thanks*/
	.thanks #contents .info {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		/* margin: 0 -4%; */
		width: auto;
	}
	.comment #contents .annotation-txt {
		padding-top: 24px;
		font-size: 13px;
		line-height: 20px;
	}
	.thanks #contents .end-txt {
		background-image: url(../../src2018/img/info_simple_bg_sp.png);
		margin: 25px -4% 20px -4%;
		padding: 5.3%;
		font-size: 16px;
		line-height: 27px;
		font-size: 4.26vw;
		line-height: 7.2vw;
	}
	.thanks #contents .end-txt p {
		font-size: 4.26vw;
		line-height: 7.2vw;
		padding: 4% 3%;
	}
	.thanks #contents .info.simple {
		border-radius: 0;
	}
	.thanks #contents .info.simple span {
		font-size: 4vw;
		text-decoration-line: 1;
		padding: 4% 0;
	}
	.thanks #contents .info span.small {
		padding: 18px 0;
		font-size: 20px;
		line-height: 30px;
	}
	.thanks #contents .nestlelink-btn {
		margin: 10.93vw auto 6.4vw;
		max-width: initial;
	}
	.thanks #contents .nestlelink-btn a {
		background-size: 2.4vw 3.733vw;
		background-position: center right 4vw;
		font-size: 4.8vw;
		padding: 5.2vw 3vw;
	}
	.thanks #contents .nestlelink-btn a span {
		position: absolute;
		top: -6.8vw;
		left: -3.2vw;
		font-size: 4vw;
		padding: 3.86vw 1vw;
		border-radius: 6.7vw;
		width: 13.33vw;
		height: 13.33vw;
	}
	/*top*/
	#contents .topcmpbanner {
		max-width: 765px;
		padding: 12px 20px 20px 20px;
		margin: 0 auto;
		margin-bottom: 0;
	}


	.corpLink {
	max-width: 765px;
	margin: 0px 4%;
	}

    .corpLink-top {
    	text-align: center;
    	padding-top: 0;
    }

    .corpLink-bottom {
    	text-align: left;
    	padding-bottom: 60px;
    }


    .corpLink-bottom h3{
        max-width: 765px;
        padding: 10px 0;
        border-bottom: 3px solid #185393;
        text-align: left;
        color: #02458b;
        font-size: 22px;
        font-weight: bold;
        margin-bottom: 30px;
    }

    .corpLink a {
    	display: table;
    	width: 90vw;
    	border: solid 1px #cccccc;
    	background: #ffffff;
    	margin-left: auto;
    	height: auto;
    }

    .corpLink-bottom a {
    	margin: auto;
    }

    .corpLink dl {
    	text-align: left;
    	margin: 0;
    }

    .corpLink dl dt {
    	width: 40vw;
    }
    
    .corpLink dl dd {
    	width: 65vw;
    }

    .corpLink dl dd {
    	font-size: 108%;
    	font-weight: 500;
    	background-size: 12%;
    	background-position: right 0 top -2px;
    	line-height: 1em;
    }

}


/* -------------------------------------------
  コインがもらるコンテンツ
*/
.application {
  width: 100%;
  padding: 40px 0;
}

@media screen and (max-width: 750px) {
  .application {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2rem 0rem;
  }
}

.application .inner {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 990px;
  width: 100%;
  padding: 45px 28px;
  margin: auto;
  background: #fff;
  border-radius: 7px;
}

@media screen and (max-width: 750px) {
  .application .inner {
    max-width: 100%;
    width: 100%;
    padding: 0.86rem 0.5rem 0.17rem;
  }
}

.application .inner .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 35px auto 0;
}

@media screen and (max-width: 750px) {
  .application .inner .row {
    display: block;
    margin: 0 auto;
  }
}

.application .inner .row .box {
  width: 46%;
}

@media screen and (max-width: 750px) {
  .application .inner .row .box {
    width: 100%;
    margin: 0 auto 2rem;
  }
}

.application .inner .row .box a {
  -webkit-transition: .3s all;
  transition: .3s all;
}

.application .inner .row .box a:hover {
  opacity: .8;
}

.application .inner .row .box a p {
  position: relative;
  padding: 0 0 0 23px;
  margin: 13px 0 0;
  color: #e25f6d;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (max-width: 750px) {
  .application .inner .row .box a p {
    padding: 0 0 0 20px;
    margin: 0.43rem 0 0;
    color: #e25f6d;
    font-size: 16px;
    font-weight: bold;
  }
}

.application .inner .row .box a p::before {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 0%;
  width: 16px;
  height: 16px;
  background: url(/src2018/img/comment/arrow.png) center/cover no-repeat;
}

@media screen and (max-width: 750px) {
  .application .inner .row .box a p::before {

  }
}

.app-title {
  width: 484px;
  margin: auto;
}

@media screen and (max-width: 750px) {
  .app-title {
    width: 100%;
    margin: 0 auto 2rem;
  }
}