/*=================== 共通設定ここから ====================*/

html,body {
	width: 100%;
	margin: 0;
	padding: 0
}

html {
	scroll-behavior: smooth;
}

body {
	font-family:'メイリオ', 'Meiryo', sans-serif;
	color: #000;
}

a {
	color: inherit;
	text-decoration: none;
	page-break-inside: avoid;
	outline: none;
}

#main {
	position: relative;
	background-position: center center;
	background-size: cover;
}

img {
	width: 100%;
}

h1 {
	color: #0B2C7B;
	font-weight: bold;
}

h2 {
	color: #0B2C7B;
	font-weight: bold;
}

/* 真ん中 */
.center {
	margin: 0 auto;
}

/* 太青文字 */
.bold-bl {
	font-weight: bold;
	color: #0B2C7B;
}

.mt-05 {
	margin-top: 5px!important;
}
.mb-00 {
	margin-bottom: 0!important;
}
.mb-30 {
	margin-bottom: 30px!important;
}
.mb-50 {
	margin-bottom: 50px!important;
}
.mb-100 {
	margin-bottom: 100px!important;
}

.pd-20 {
	padding: 20px!important;
}

/* pc */
@media only screen and (min-width: 768px) {
	h1 {
		font-size: 26px;
		margin-bottom: 35px;
		line-height: 1.4;
	}
	h2 {
		margin: 20px 0 30px;
		font-size: 22px;
	}
	.txt-small {
		font-size: 14px!important;
	}
	.txt-xsmall {
		font-size: 12px!important;
	}
	.pc-mt-05 {
		margin-top: 5px!important;
	}
	.pc-mt-50 {
		margin-top: 50px!important;
	}
	.pc-mt-70 {
		margin-top: 70px!important;
	}
	.pc-mb-00 {
		margin-bottom: 0!important;
	}
	.pc-mb-30 {
		margin-bottom: 30px!important;
	}
	.pc-mb-50 {
		margin-bottom: 50px!important;
	}
	.pc-mb-65 {
		margin-bottom: 65px!important;
	}
	.pc-mb-80 {
		margin-bottom: 80px!important;
	}
	.pc-mb-100 {
		margin-bottom: 100px!important;
	}
	.pc-pd-20 {
		padding: 20px!important;
	}
	.pc-pb-20 {
		padding-bottom: 20px!important;
	}
	.pc-pr-20 {
		padding-right: 20px!important;
	}
	.pc-pr-70 {
		padding-right: 6.4%!important;
	}
	.pc-pr-90 {
		padding-right: 8.2%!important;
	}
	.pc-pl-10 {
		padding-left: 0.95%!important;
	}
	.pc-pl-20 {
		padding-left: 20px!important;
	}
	.pc-pl-70 {
		padding-left: 6.4%!important;
	}
	hr {
		margin: 20px 0;
	}
	.pc-none {
		display: none;
	}
}

/* sp */
@media screen and (max-width: 767px){
	h1 {
		font-size: 18px;
		margin-bottom: 25px;
		line-height: 1.4;
	}
	h2 {
		font-size: 16px;
		line-height: 1.4;
		padding-bottom: 40px;
	}
	.txt-small {
		font-size: 12px!important;
	}
	.txt-xsmall {
		font-size: 10px!important;
	}
	
	.sp-txt-small {
		font-size: 12px!important;
	}
	.sp-mt-05 {
		margin-top: 5px!important;
	}
	.sp-mt-70 {
		margin-top: 70px!important;
	}
	.sp-mb-00 {
		margin-bottom: 0!important;
	}
	.sp-mb-30 {
		margin-bottom: 30px!important;
	}
	.sp-mb-35 {
		margin-bottom: 35px!important;
	}
	.sp-mb-50 {
		margin-bottom: 50px!important;
	}
	.sp-mb-65 {
		margin-bottom: 65px!important;
	}
	.sp-mb-80 {
		margin-bottom: 80px!important;
	}
	.sp-mb-100 {
		margin-bottom: 100px!important;
	}
	.sp-pd-20 {
		padding: 20px!important;
	}
	.sp-pd-30 {
		padding: 30px!important;
	}
	.sp-pb-00 {
		padding-bottom: 0!important;
	}
	.sp-pb-10 {
		padding-bottom: 10px!important;
	}
	.sp-pb-15 {
		padding-bottom: 15px!important;
	}
	.sp-pb-20 {
		padding-bottom: 20px!important;
	}
	.sp-pb-40 {
		padding-bottom: 40px!important;
	}
	hr {
		margin: 15px 0;
	}
	.sp-none {
		display: none;
	}
}

/*=================== 共通設定ここまで ====================*/


/*============== フッター・ヘッダー設定ここから ==============*/

.container{
	width: -webkit-calc(100% - 40px);
	width: calc(100% - 40px);
	max-width: 1220px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

.mainvisual2-wrap {
	margin-bottom: 40px;
}

.header nav ul li {
	margin-left: 50px;
}
.header nav ul li::before{
	display: none;
}

footer{
	background: #F3F4F4;
	font-size: 1.4rem;
}
footer nav ul li{
	border-left: none;
	padding: 1px 15px;
}
footer nav ul li:last-child{
	border-right: none;
}

.page-top-btn {
	background-color: rgba(11,44,123, .7);
}

/* PC */
@media screen and (min-width: 769px){
	footer nav ul li:first-child{
		padding-left: 0;
	} 
}

/* SP */
@media screen and (max-width: 768px){
	footer nav ul {
		margin: -25px -20px 0;
		display: flex;
		flex-wrap: wrap;
		border-top: 1px solid #CFCFCF;
	}
	footer nav ul li::before{
		content: url('../../images/aggregation/survey2023/arrow_bl.svg');
		padding-right: 3px;
	}
	footer nav ul li{
		border-bottom: 1px solid #CFCFCF;
		width: 50%;
		padding: 25px 15px;
	}
	footer nav ul li:first-child{
		border-right: 1px solid #CFCFCF;
	}
	footer nav ul li:last-child{
		width: 100%;
	}
}

/*============== フッター・ヘッダー設定ここまで ==============*/

.contents {
	width: 100%;
	max-width: 1220px;
	text-align: center;
	margin: 0 auto;
}

h1 img {
	display: block;
}

section > p {
	width: fit-content;
	color: #fff;
	font-weight: bold;
	background-color: #0B2C7B;
}

h2 > span {
	display: block;
}

/* pc */
@media only screen and (min-width: 768px) {
	h1 img {
		width: 95px;
		margin-bottom: 40px!important;
	}
	section > p {
		font-size: 16px;
		margin-bottom: 30px;
		padding: 10px 30px;
	}
	h2 > span {
		font-size: 1.6rem;
		line-height: 3.2rem;
	}
	.contents h1 + p {
		font-weight: bold;
	}
}
/* sp */
@media screen and (max-width: 767px){
	h1 img {
		width: 75px;
		margin-bottom: 20px!important;
	}
	section > p {
		font-size: 14px;
		padding: 10px 15px;
	}
	h2 > span {
		font-size: 12px;
		line-height: 2.2rem;
	}
	.contents h1 + p {
		width: 94%;
		font-weight: bold;
		font-size: 14px;
		margin: 0 auto 10px;
	}
}

/* 調査概要 */
section table {
	width: min(800px, 94%);
	border-collapse: collapse!important;
	margin: 0 auto;
}
section table th, td {
	border: 1px solid #818181;
}
section table th {
	background-color: #E0E8F7;
}
section table td {
	text-align: left;
}
/* pc */
@media only screen and (min-width: 768px) {
	section table {
		font-size: 14px!important;
	}
	section table th {
		width: 15%;
		padding: 20px;
	}
	section table td {
		padding: 20px;
	}
}
/* sp */
@media screen and (max-width: 767px){
	section table {
		font-size: 12px!important;
	}
	section table th {
		width: 23%;
		padding: 15px;
	}
	section table td {
		padding: 15px;
	}
}


/* 下半円 */
.circle_under {
	background: #EDF4F9;
}
.circle_number {
	font-family: 'Roboto', sans-serif;
	font-size: 34px;
	color: #FF9100;
	background: #ffffff;
	text-align: center;
	margin: 0 auto;
	width: 100px;
	height: 50px;
	line-height: 1.2;
}
.circle_contents {
	padding-top: 30px;
}

/* pc */
@media only screen and (min-width: 768px) {
	.circle_contents div:has(picture) {
		padding: 30px 20px 20px;
	}
	.circle_under {
		padding: 0 60px 60px;
	}
	.circle_number {
		border-radius: 0 0 50px 50px;
	}
}

/* sp */
@media screen and (max-width: 767px){
	.circle_number {
		border-radius: 0 0 50% 50%/0 0 100% 100%;
	}
	.circle_contents {
		padding: 30px 10px 40px;
	}
}


/* 見出し */
.midashi {
	position: relative;
	padding-left: 45px;
	text-align: left;
}
.midashi:before {
	position: absolute;
	content: "";
	width: 30px;
	height: 27px;
	background-image: url("../../images/aggregation/survey2023/fukidashi.svg");
	left: 0;
	top: 0;
}
/* pc */
@media only screen and (min-width: 768px) {
	.midashi {
		line-height: 2.8rem;
	}
}
/* sp */
@media screen and (max-width: 767px){
	.midashi {
		font-size: 1.4rem;
		line-height: 2.2rem;
	}
}


/* 横並び */
.flex-box {
	display: flex;
}
.flex-contents {
	padding: 0;
	text-align: left;
}

/* pc */
@media only screen and (min-width: 768px) {
	.flex-box {
		justify-content: center;
		align-items: flex-start;
	}
	.flex-box > div {
		width: 50%;
	}
	.flex-contents {
		width: 95%;
	}
}

/* sp */
@media screen and (max-width: 767px){
	.flex-box {
		flex-direction: column;
	}
	.flex-box .flex-item {
		width: 100%;
	}
}


/* クラブ会員様のコメント */
.comment {
	text-align: left;
	padding: 0;
}
.comment div:first-child {
	display: inline-block;
	width: 100%;
	font-weight:bold;
	border-radius: 10px;
	background-color: #ffffff;
	box-sizing: border-box;
	position: relative;
}
.comment div:last-child a {
	color: #0000EE;
	text-decoration: underline;
}

/* pc */
@media only screen and (min-width: 768px) {
	.comment {
		margin-bottom: 40px;
	}
	.comment div:first-child {
		font-size: 18px;
		margin: 0 auto;
		padding: 15px 20px 15px 160px;
	}
	.comment div:last-child {
		margin: 0 0 0 auto;
		padding-top: 20px;
		padding-right: 40px;
		width: calc(100% - 160px);
	}
}

/* sp */
@media screen and (max-width: 767px){
	.comment {
		width: 100%;
		margin-bottom: 25px;
		left: 0;
	}
	.comment:last-child {
		margin-bottom: 0;
	}
	.comment div:first-child {
		display: flex;
		align-items: center;
		min-height: 71px;
		font-size: 14px;
		margin: 0 auto 20px;
		padding: 10px 20px 10px 100px;
		left: -15px;
	}
	.comment div:last-child {
		width: 80%;
		font-size: 14px;
		margin: 0 auto;
	}
}


/* はみ出るアイコン */
.img-icon {
	position: absolute;
}

/* pc */
@media only screen and (min-width: 768px) {
	.img-icon {
		bottom: 0;
		left: 0;
		width: 137px;
		margin-left: 10px;
	}
}

/* sp */
@media screen and (max-width: 767px){
	.img-icon {
		width: 78px;
		top: 50%;
		left: 50px;
		margin-left: 5px;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
	}
}
