@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&display=swap');

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

body {
	font-family: "Noto Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳゴシック", sans-serif;/*"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",*/
	font-size: 12px;
	font-weight: 400;
	line-height: 1.75;
	color:#000;
}

@media screen and (max-width: 767px) {
	body {
		font-size: 12px;
	}
}

a {
	color: #0a8592;
}

/** clearfix (floatを解除したい親要素に適用） **/
.cf:before,
.cf:after {
	content:"";
	display:table;
}

.cf:after {
	clear:both;
}

.box-w100vw {
	width: 100vw;
}

.st-wrapper {
	overflow: hidden;
	background: #fff9b2;
}


@media (max-width: 767px){
	.st-wrapper {
		padding-top: 52px;
	}
}


.container {
	width: 1000px;
}

.section-box {
	margin: 90px auto 0;
	width: 1000px;
}

@media (max-width: 767px){
	.container {
		width: auto;
	}

	.section-box {
		width: auto;
	}
}

.ilb {
	display: inline-block;
}

/****************************************
 breadcrumb
****************************************/
.breadcrumb-box {
	padding: 20px 0;
	background: #fff;
}

.breadcrumb-ul {
	margin: 0 auto;
	max-width: 1160px;
	font-size: 12px;
}

.breadcrumb-ul-li {
	display: inline-block;
	position: relative;
}

.breadcrumb-ul-li::before {
	margin: 0 15px;
	content: ">";
}

.breadcrumb-ul-li:first-of-type::before {
	margin: 0;
	content: '';
}

@media screen and (max-width: 767px) {
	.breadcrumb-box {
		display: none;
	}
}


/****************************************
 anchor
****************************************/
.anchor{
	margin-top: -130px;
	padding-top: 130px;
	display: block;
	font-size: 0;
	line-height: 0;
	position: relative;
	z-index: -1;
}

/***** ↓sp *************************/
@media (max-width: 767px) {
	.anchor{
		margin-top: -65px;
		padding-top: 65px;
	}
}
/***** ↑sp *************************/


/****************************************
 top-logo
****************************************/
.top-logo-box {
	padding: 15px 0;
	line-height: 1;
	text-align: center;
	background: #fff;
}

.top-logo-ul {
	margin: 0 auto;
	display: table;
}

.top-logo-ul-li {
	padding: 0 14px;
	display: table-cell;
	vertical-align: middle;
}

.top-logo-img {
	line-height: 1;
	width: 100%;
	max-width: 512px;
/*	display: block;
	width: 100%;
	max-width: 291px;*/
}


@media screen and (max-width: 767px) {
	.top-logo-box {
		padding: 10px 40px;
	}
}


/***********************************************************************************************
 main-image
***********************************************************************************************/
.main-image {
	position: relative;
}

.main-image-box {
	margin: 0 auto;
	/*max-width: 772px;*/
}

.main-image-img {
	/*display: block;*/
	width: 100%;
}

.btn-main-entry {
	padding: 17px;
	border-radius: 5px 0 0 5px;
	position: fixed;
	right: 0;
	top: 158px;
	z-index: 10000;
	color: #ffeb00;
	font-family: "Noto Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	writing-mode: vertical-rl;
	text-orientation: upright;
	background: #000;
}

.btn-main-entry span {
	display: inline-block;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	.btn-main-entry {
		display: none;
	}
}



/***********************************************************************************************/
/***********************************************************************************************
 eye-catch
***********************************************************************************************/
.eye-catch-text {
	margin: 50px auto 0;
	border-radius: 10px;
	width: 940px;
	position: relative;
	z-index: 10;
	background-color: #ffeb00;
}

.eye-catch-text-inner {
	padding: 20px 80px;
	/*width: 940px;*/
	font-size: 40px;
	font-weight: 800;
	line-height: 1.625;
	text-align: center;
}

.eye-catch-text::before {
	border-top: 62px solid #000;
	border-right: 62px solid transparent;
	border-bottom: 0;
	border-left: 0;
	display: block;
	width: 62px;
	height: 62px;
	position: absolute;
	left: 50px;
	bottom: -42px;
	z-index: 11;
	content: '';
}


@media screen and (max-width: 767px) {
	.eye-catch-text {
		margin-top: 20px;
		border-radius: 5px;
		width: auto;
		max-width: 325px;
	}

	.eye-catch-text-inner {
		padding: 10px 20px 15px;
		/*width: auto;*/
		font-size: 16px;
	}

	.eye-catch-text::before {
		border-top: 20px solid #000;
		border-right: 20px solid transparent;
		width: 20px;
		height: 20px;
		left: 64px;
		bottom: -12px;
	}
}

.bg-box-01 {
	position: relative;
}

.bg-box-01::before {
	border-radius: 25% 30% 0 0;
	display: block;
	width: 100%;
	height: 500px;
	position: absolute;
	top: 100px;
	left: 0;
	background: url(/img/ccp/bg-dots.png) left top no-repeat;
	background-size: 100% auto;
	content: '';
}


@media screen and (max-width: 767px) {
	.bg-box-01::before {
		height: 250px;
		top: 235px;
	}
}

.exp-box {
	margin: 65px auto 0;
	padding: 25px 500px 20px 0;
	position: relative;
	width: 940px;
	font-size: 15px;
	line-height: 2.2;
	background: url(/img/ccp/img-people-01.png) right center no-repeat;
	background-size: auto 100%;
}


@media screen and (max-width: 767px) {
	.exp-box {
		margin-top: 30px;
		padding: 0 25px 133px;
		width: auto;
		font-size: 12px;
		text-align: center;
		background-position: center bottom;
		background-size: auto 113px;
	}
}


/***********************************************************************************************
 section-header-h2
***********************************************************************************************/
.section-header-h2 {
	color: #0039b1;
	font-size: 40px;
	font-weight: 800;
}


@media screen and (max-width: 767px) {
	.section-header-h2 {
		font-size: 25px;
	}
}



/***********************************************************************************************/
/***********************************************************************************************/
/***********************************************************************************************/
/***********************************************************************************************
 tokuten
***********************************************************************************************/
.tokuten-box {
	margin: 80px 0 0;
	margin-left: calc(50% - 520px);
	padding: 45px 0;
	border-radius: 250px 0 0 50px;
	position: relative;
	z-index: 10;
	background: #fff;
}


@media screen and (max-width: 767px) {
	.tokuten-box {
		margin: 25px 0 0;
		padding: 25px 0 0;
		border-radius: 20px 20px 0 0;
	}
}


.tokuten-box-inner-01 {
	padding: 0 0 0 190px;
	width: 990px;
}

.tokuten-list-outer {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: start;
	width: 800px;
}

.section-01-header-h2 {
	flex-basis: 200px;
}


@media screen and (max-width: 767px) {
	.tokuten-box-inner-01 {
		margin: 0 auto;
		padding: 0 20px;
		width: auto;
		max-width: 490px;
	}

	.tokuten-list-outer {
		display: block;
		width: auto;
	}

	.section-01-header-h2 {
		text-align: center;
	}
}


.tokuten-list-ul {
	/*font-size: 26px;*/
	/*list-style-type: decimal;*/
	flex-basis: calc(100% - 200px);
}

.tokuten-list-ul-li {
	padding: 10px 0 10px 50px;
	position: relative;
	font-size: 26px;
	font-weight: 700;
	background: url(/img/ccp/img-border-dotted.png) left bottom repeat-x;
	background-size: auto 2px;
	/*background-image : linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 8px);
	background-size: 8px 2px;
	background-position: left bottom;
	background-repeat: repeat-x;*/
}

.tokuten-list-ul-li-num {
	position: absolute;
	top: -2px;
	left: 15px;
	color: #e60012;
	font-family: "Oswald", sans-serif;
	font-size: 140%;
	font-weight: 700;
	vertical-align: bottom;
}

.tokuten-list-ul-li-text {
	vertical-align: bottom;
}


@media screen and (max-width: 767px) {
	.tokuten-list-ul {
	}

	.tokuten-list-ul-li {
		padding: 5px 0 5px 40px;
		font-size: 20px;
	}
}


.tokuten-list-note {
	padding-top: 15px;
	font-size: 12px;
	text-align: right;
}

.tokuten-list-note-kome {
	padding-left: 1em;
	position: relative;
}

.tokuten-list-note-kome::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '※';
}


@media screen and (max-width: 767px) {
	.tokuten-list-note {
		padding: 10px 10px 0;
		font-size: 10px;
		text-align: left;
	}
}


.tokuten-box-inner-02 {
	padding: 80px 0 0 100px;
	width: 1000px;
	position: relative;
}

.tokuten-box-inner-02::before {
	width: 200px;
	height: 150px;
	position: absolute;
	bottom: 0;
	right: -10px;
	z-index: 5;
	background: url(/img/ccp/img-people-02.png) center center no-repeat;
	background-size: contain;
	content: '';
}


@media screen and (max-width: 767px) {
	.tokuten-box-inner-02 {
		margin: 0 auto;
		padding: 45px 25px 65px;
		width: auto;
		max-width: 490px;
		position: relative;
	}

	.tokuten-box-inner-02::before {
		width: 164px;
		height: 123px;
		position: absolute;
		bottom: -10px;
		left: calc(50% - 82px);
		right: auto;
		z-index: 5;
		background-position: center bottom;
		background-size: contain;
		content: '';
	}
}

.tokuten-ranking-ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: start;
	justify-content: space-between;
	width: 720px;
}

.tokuten-ranking-ul-li {
	flex-basis: 200px;
}

.tokuten-ranking-ul-li-maru {
	padding: 57px 0 42px;
	border-radius: 50%;
	width: 200px;
	height: 200px;
	position: relative;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.tokuten-ranking-ul-li-maru-1 {
	background: linear-gradient(-45deg, #f7dd95 15%, #f2c74f 100%);
}

.tokuten-ranking-ul-li-maru-2 {
	background: linear-gradient(-45deg, #d8dddc 15%, #bec7c4 100%);
}

.tokuten-ranking-ul-li-maru-3 {
	background: #ffeb00;
}

.tokuten-ranking-ul-li-maru::before {
	display: block;
	width: 84px;
	height: 82px;
	position: absolute;
	top: -40px;
	left: calc(50% - 42px);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	content: '';
}

.tokuten-ranking-ul-li-maru-1::before {
	background-image: url(/img/ccp/img-crown-1.png);
}

.tokuten-ranking-ul-li-maru-2::before {
	background-image: url(/img/ccp/img-crown-2.png);
}

.tokuten-ranking-ul-li-maru-3::before {
	background-image: url(/img/ccp/img-crown-3.png);
}

.tokuten-ranking-ul-li-rank {
	display: inline-block;
	font-family: "Oswald", sans-serif;
	font-size: 33.6px;
	font-weight: 700;
	vertical-align: bottom;
}

.tokuten-ranking-ul-li-i {
	padding: 0 0 1px 5px;
	display: inline-block;
	font-size: 24px;
	vertical-align: bottom;
}

.tokuten-ranking-ul-li-num {
	margin-top: 30px;
	display: inline-block;
	font-family: "Oswald", sans-serif;
	font-size: 35px;
	font-weight: 700;
	vertical-align: bottom;
}

.tokuten-ranking-ul-li-manen {
	margin-top: 30px;
	padding: 0 0 3px 5px;
	display: inline-block;
	font-size: 25px;
	vertical-align: bottom;
}

.tokuten-ranking-ul-li-num-1 {
	margin-top: 15px;
	font-size: 50px;
}

.tokuten-ranking-ul-li-manen-1 {
	margin-top: 15px;
	padding: 0 0 5px 5px;
	font-size: 35px;
}


@media screen and (max-width: 767px) {
	.tokuten-ranking-ul {
		padding: 0;
		flex-flow: row wrap;
		align-items: start;
		justify-content: center;
		width: auto;
	}

	.tokuten-ranking-ul-li:first-of-type {
		flex-basis: 100%;
	}

	.tokuten-ranking-ul-li:nth-of-type(2) {
		padding-right: 30px;
		flex-basis: 130px;
	}

	.tokuten-ranking-ul-li:nth-of-type(3) {
		padding-left: 30px;
		flex-basis: 130px;
	}

	.tokuten-ranking-ul-li-maru {
		padding: 35px 0 42px;
		width: 130px;
		height: 130px;
	}

	.tokuten-ranking-ul-li-maru-1 {
		margin: 0 auto;
	}

	.tokuten-ranking-ul-li-maru::before {
		width: 56px;
		height: 58px;
		position: absolute;
		top: -28px;
		left: calc(50% - 28px);
		background-position: center top;
	}

	.tokuten-ranking-ul-li-rank {
		font-size: 19.6px;
	}

	.tokuten-ranking-ul-li-i {
		/*padding: 0 0 1px 5px;*/
		font-size: 14px;
	}

	.tokuten-ranking-ul-li-num {
		margin-top: 18px;
		font-size: 21px;
	}

	.tokuten-ranking-ul-li-manen {
		margin-top: 18px;
		padding: 0 0 3px 5px;
		font-size: 15px;
	}

	.tokuten-ranking-ul-li-rank-1 {
		font-size: 21px;
	}

	.tokuten-ranking-ul-li-i-1 {
		font-size: 15px;
	}

	.tokuten-ranking-ul-li-num-1 {
		margin-top: 10px;
		font-size: 32.2px;
	}

	.tokuten-ranking-ul-li-manen-1 {
		margin-top: 10px;
		padding: 0 0 5px 5px;
		font-size: 23px;
	}
}


.tokuten-box-inner-03 {
	margin-top: 50px;
	padding: 25px 50px;
	background: #ffeb00;
}

.tokuten-box-inner-03-inner {
	width: 940px;
}


@media screen and (max-width: 767px) {
	.tokuten-box-inner-03 {
		margin-top: 0;
		padding: 15px 25px;
		position: relative;
		z-index: 10;
	}

	.tokuten-box-inner-03-inner {
		margin: 0 auto;
		padding: 0 25px;
		width: auto;
		max-width: 490px;
	}
}

.tokuten-strong {
	font-size: 21px;
	font-weight: 700;
}

.tokuten-akaobi {
	display: inline-block;
	position: relative;
	color: #fff;
	vertical-align: middle;
}

.tokuten-akaobi::before {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -5px;
	right: -5px;
	background: #ff4600;
	content: '';
}

.tokuten-akaobi-text {
	position: relative;
	z-index: 10;
}

.tokuten-strong-bold {
	padding-left: 20px;
	font-weight: 800;
	vertical-align: middle;
}

.tokuten-schedule-outer {
	padding: 10px 0 0;
	display: flex;
	flex-flow: row nowrap;
	align-items: start;
	justify-content: space-between;
}

.tokuten-schedule {
	flex-basis: 540px;
	font-size: 25px;
	font-weight: 800;
}

.tokuten-schedule-num {
	font-family: oswald, sans-serif;
	font-weight: 500;
	vertical-align: middle;
}

.tokuten-schedule-ja {
	vertical-align: middle;
}

.tokuten-note {
	flex-basis: 400px;
	font-size: 12px;
}

@media screen and (max-width: 767px) {
	.tokuten-strong {
		font-size: 13px;
	}

	.tokuten-akaobi {
		margin: 5px;
	}

	.tokuten-strong-bold {
		padding-left: 0;
		display: block;
	}

	.tokuten-schedule-outer {
		display: block;
	}

	.tokuten-schedule {
		font-size: 16px;
	}

	.tokuten-note {
		font-size: 10px;
	}
}



/***********************************************************************************************/
/***********************************************************************************************
 hoho
***********************************************************************************************/
.bg-box-02 {
	padding: 85px 0 0;
	position: relative;
}

.bg-box-02::before {
	border-top-left-radius: 300px;
	width: 50%;
	height: 450px;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background: url(/img/ccp/bg-dots.png);
	background-size: 200% auto;
	content: '';
}

@media screen and (max-width: 767px) {
	.bg-box-02 {
		padding: 30px 0 0;
	}
}

.hoho-box {
	margin-right: calc(50% - 500px);
	padding: 50px 30px 60px 0;
	border-radius: 0 50px 50px 0;
	position: relative;
	z-index: 10;
	background: #fff;
}

.hoho-box-inner {
	margin-left: auto;
	padding-right: 20px;
	width: 940px;
}

.section-02-header-h2 {
	padding-left: 330px;
}


@media screen and (max-width: 767px) {
	.hoho-box {
		margin-right: 25px;
		padding: 25px 25px 25px 50px;
		border-radius: 0 25px 25px 0;
	}

	.hoho-box-inner {
		padding: 0;
		width: auto;
		max-width: 717px;
	}

	.section-02-header-h2 {
		padding-left: 0;
		text-align: center;
	}
}


.hoho-flow-representative-outer {
	padding-top: 90px;
	position: relative;
}

.hoho-flow-representative-outer::before {
	width: 128px;
	height: 144px;
	position: absolute;
	top: -46px;
	left: 6px;
	z-index: 10;
	background: url(/img/ccp/img-representative.png) center center no-repeat;
	background-size: contain;
	content: '';
}

.hoho-flow-representative-outer::after {
	width: 234px;
	height: 120px;
	position: absolute;
	top: -30px;
	right: 0;
	background: url(/img/ccp/img-people-03.png) center center no-repeat;
	background-size: contain;
	content: '';
}

.hoho-flow-ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: start;
}


.hoho-flow-representative-ul {

}

.hoho-flow-representative-ul-li {
	padding: 25px 10px;
	border-radius: 10px;
	position: relative;
	flex-basis: 152px;
	height: 160px;
	text-align: center;
	background: #fff799;
	overflow: hidden;
}

.hoho-flow-representative-ul-li::before {
	border-top: 0;
	border-bottom: 200px solid #fff366;
	border-left: 155px solid transparent;
	width: 200px;
	height: 200px;
	position: absolute;
	bottom: 0;
	left: 15px;
	/*background: #fff366;*/
	/*transform: rotate(37deg);*/
	content: '';
}

.hoho-flow-ul-li-text {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	position: relative;
	z-index: 10;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.6875;
}

.hoho-flow-ul-li-text-inner {

}

.hoho-flow-ul-li-arr {
	flex-basis: 40px;
	height: 40px;
	position: relative;
	background: url(/img/ccp/img-flow-arr.png) center center no-repeat #ff4600;
	background-size: 24px auto;
	overflow: hidden;
}

.hoho-flow-members-outer {
	padding-top: 190px;
	position: relative;
}

.hoho-flow-members-outer::before {
	width: 176px;
	height: 148px;
	position: absolute;
	top: 52px;
	left: 13px;
	z-index: 10;
	background: url(/img/ccp/img-members.png) center center no-repeat;
	background-size: contain;
	content: '';
}

.hoho-flow-members-ul {

}

.hoho-flow-members-ul-li {
	padding: 25px 10px;
	border-radius: 10px;
	position: relative;
	flex-basis: 200px;
	height: 160px;
	text-align: center;
	background: #fff799;
	overflow: hidden;
}

.hoho-flow-members-ul-li::before {
	border-top: 0;
	border-bottom: 200px solid #fff366;
	border-left: 190px solid transparent;
	width: 200px;
	height: 200px;
	position: absolute;
	bottom: 0;
	left: 22px;
	/*background: #fff366;
	transform: rotate(44deg);*/
	content: '';
}


@media screen and (max-width: 767px) {
	.hoho-flow-representative-outer {
		padding-top: 100px;
	}

	.hoho-flow-representative-outer::before {
		width: 252px;
		height: 84px;
		top: 20px;
		left: 7px;
		background: url(/img/ccp/img-representative-sp.png) center top no-repeat;
		background-size: contain;
	}

	.hoho-flow-representative-outer::after {
		display: none;
	}

	.hoho-flow-members-outer {
		padding-top: 115px;
	}

	.hoho-flow-members-outer::before {
		width: 252px;
		height: 84px;
		top: 35px;
		left: 7px;
		background: url(/img/ccp/img-members-sp.png) center top no-repeat;
		background-size: contain;
	}

	.hoho-flow-ul {
		display: block;
	}

	.hoho-flow-representative-ul-li {
		padding: 10px;
		height: auto;
	}

	.hoho-flow-representative-ul-li::before {
		border-top: 0;
		border-bottom: 200px solid #fff366;
		border-left: 150px solid transparent;
		width: calc(50% + 30px);
		height: 200px;
		position: absolute;
		bottom: 0;
		left: calc(50% - 30px);
		/*width: 280px;
		height: 280px;
		top: 27px;
		left: 140px;
		transform: rotate(-53deg);*/
	}

	.hoho-flow-members-ul-li {
		padding: 10px;
		height: auto;
	}

	.hoho-flow-members-ul-li::before {
		border-top: 0;
		border-bottom: 200px solid #fff366;
		border-left: 150px solid transparent;
		width: calc(50% + 30px);
		height: 200px;
		position: absolute;
		bottom: 0;
		left: calc(50% - 30px);
		/*width: 280px;
		height: 280px;
		top: 27px;
		left: 140px;
		transform: rotate(-53deg);*/
	}

	.hoho-flow-ul-li-arr {
		margin: 0 auto;
		width: 70px;
		height: 32px;
		background: url(/img/ccp/img-flow-arr-sp.png) center center no-repeat #ff4600;
		background-size: auto 15px;
	}
}


.hoho-note-ul {
	margin-top: 30px;
	font-size: 12px;
	line-height: 2.167;
}

.hoho-note-ul-li {
	padding-left: 32px;
	position: relative;
}

.hoho-note-ul-li-mark {
	position: absolute;
	top: 0;
	left: 0;
}


/***********************************************************************************************
 dantai
***********************************************************************************************/
.dantai-box {
	margin: 80px 0 0;
	margin-left: calc(50% - 520px);
	padding: 50px;
	border-radius: 50px 0 0 50px;
	background: #fff;
}

.dantai-box-inner {
	width: 950px;
}

.section-03-header-h2 {
	padding-right: 10px;
	text-align: center;
}

.dantai-ul {
	margin: 60px 0 0;
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
}

.dantai-ul-li {
	flex-basis: 150px;
	color: #ff4600;
	font-size: 24px;
	font-weight: 800;
	text-align: center;
}

.dantai-ul-li-img {
	margin-top: 15px;
	display: block;
	width: 100%;
}


@media screen and (max-width: 767px) {
	.dantai-box {
		margin: 30px 0 0 25px;
		padding: 25px 50px 25px 25px;
		border-radius: 25px 0 0 25px;
		background: #fff;
	}

	.dantai-box-inner {
		width: auto;
	}

	.section-03-header-h2 {
		padding-right: 0;
	}

	.dantai-ul {
		margin: 5px 0 0;
		flex-flow: row wrap;
		justify-content: center;
	}

	.dantai-ul-li {
		margin: 0 auto;
		padding: 30px 0 0;
		flex-basis: 120px;
		font-size: 20px;
	}

	.dantai-ul-li:last-of-type {
		margin-right: auto;
		margin-left: auto;
	}

	.dantai-ul-li-img {
		margin-top: 10px;
		display: block;
		width: 100%;
	}

}

@media screen and (max-width: 710px) {
	.dantai-ul-li {
		padding: 30px 10px 0;
		flex-basis: 33%;
	}
}

@media screen and (max-width: 530px) {
	.dantai-ul-li {
		padding: 30px 0 0;
		flex-basis: 120px;
	}
}


/***********************************************************************************************/
/***********************************************************************************************/
/***********************************************************************************************/
/***********************************************************************************************
 taisho
***********************************************************************************************/
.bg-box-03 {}

.taisho-box {
	margin: 0 auto;
	padding: 75px 0 45px;
	width: 940px;
}

.section-04-header-h2 {
	text-align: center;
}

.taisho-box-inner {
	margin: 15px auto 45px;
	padding: 35px 100px 65px;
	width: 850px;
	/*height: 230px;*/
	color: #ff4600;
	font-size: 50px;
	font-weight: 800;
	background: url(/img/ccp/img-laurel-l.png) left top no-repeat, url(/img/ccp/img-laurel-r.png) right top no-repeat, url(/img/ccp/img-people-09.png) right 105px bottom 7px no-repeat;
	background-size: contain, contain, 175px auto;
}

.taisho-list-kome-ul {
	margin: 0 auto;
	width: fit-content;
}


.taisho-list-kome-ul-li {
	padding-left: 1em;
	position: relative;
}

.taisho-list-kome-ul-li::before {
	content: '※';
	position: absolute;
	left: 0;
	top: 0;
}

.taisho-span-kome {
	padding-left: 1em;
	display: inline-block;
	position: relative;
}

.taisho-span-kome::before {
	content: '※';
	position: absolute;
	left: 0;
	top: 0;
}


@media screen and (max-width: 767px) {
	.taisho-box {
		padding: 35px 25px 45px;
		width: auto;
		text-align: center;
	}

	.taisho-box-inner {
		margin: 35px auto 25px;
		padding: 0 45px;
		width: 325px;
		font-size: 27px;
		background: url(/img/ccp/img-laurel-l.png) left top no-repeat, url(/img/ccp/img-laurel-r.png) right top no-repeat;
		background-size: contain, contain;
	}

	.taisho-list-kome-ul {
		text-align: left;
	}

	.taisho-span-kome {
		margin-left: -1em;
		display: block;
	}

	.taisho-br-pc {
		display: none;
	}
}



/***********************************************************************************************
 kekka
 ***********************************************************************************************/
.bg-box-04 {
	position: relative;
}

.bg-box-04::before {
	border-radius: 0 0 25% 30%;
	width: 100%;
	height: 500px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: url(/img/ccp/bg-dots.png);
	background-size: 100% auto;
	content: '';
}

.bg-box-04::after {
	border-radius: 30% 25% 0 0;
	width: 100%;
	height: 500px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(/img/ccp/bg-dots.png);
	background-size: 100% auto;
	content: '';
}

.kekka-box {
	margin: 0 auto;
	padding: 50px;
	width: 940px;
	position: relative;
	z-index: 10;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

.section-05-header-h2 {
	margin-bottom: 50px;
}

.kekka-insta-box {
	margin: 50px auto;
	padding: 50px;
	width: 600px;
	background: url(/img/ccp/bg-insta.png) top left no-repeat;
	background-size: cover;
}

.kekka-insta-box-inner {
	padding: 40px;
	border-radius: 20px;
	font-size: 22px;
	line-height: 1.32;
	background: #fff;
}

.kekka-insta-box-text {
	margin: 0 auto;
	padding: 20px 10px 20px 120px;
	display: table;
	background: url(/img/ccp/img-insta.png) left center no-repeat;
	background-size: 92px auto;
}

.kekka-insta-box-qr {
	margin: 5px 0 0;
	padding: 195px 0 0;
	background: url(/img/ccp/img-qr.png) left 50px bottom no-repeat, url(/img/ccp/img-balloon.png) right top no-repeat;
	background-size: 162px auto, 181px auto;
}


@media screen and (max-width: 767px) {
	.bg-box-04::before {
		border-radius: 0 0 25% 30%;
		width: 100%;
		height: 250px;
	}

	.bg-box-04::after {
		border-radius: 30% 25% 0 0;
		width: 100%;
		height: 250px;
	}

	.kekka-box {
		margin: 0 auto;
		padding: 20px 35px;
		width: auto;
		font-size: 13px;
	}

	.section-05-header-h2 {
		margin-bottom: 25px;
	}

	.kekka-insta-box {
		margin: 22.5px auto 0;
		padding: 25px;
		width: 300px;
	}

	.kekka-insta-box-inner {
		padding: 20px;
		border-radius: 10px;
		font-size: 11px;
	}

	.kekka-insta-box-text {
		margin: 0 auto;
		padding: 10px 10px 10px 60px;
		background-size: 45px auto;
	}

	.kekka-insta-box-qr {
		margin: 5px 0 0;
		padding: 100px 0 0;
		background: url(/img/ccp/img-qr.png) left 25px bottom no-repeat, url(/img/ccp/img-balloon.png) right top no-repeat;
		background-size: 80px auto, 90px auto;
	}
}


/***********************************************************************************************/
/***********************************************************************************************/
/***********************************************************************************************/
/***********************************************************************************************/
/***********************************************************************************************
 qa
 ***********************************************************************************************/
.qa-box {
	margin: 0 auto;
	padding: 80px 0 0;
	width: 940px;
	position: relative;
	z-index: 10;
}

.section-06-header-h2 {
	text-align: center;
}

.qa-ul {
	margin: 30px auto 0;
}

.qa-ul-li {
	font-size: 18px;
	line-height: 1.556;
}

.qa-ul-li-q {
	padding: 25px 80px 25px 85px;
	position: relative;
	background: #ffeb00;
	cursor: pointer;
}

.qa-ul-li-q::before {
	width: 26px;
	height: 2px;
	position: absolute;
	top: calc(50% - 1px);
	right: 50px;
	background: #000;
	content: '';
}

.qa-ul-li-q::after {
	width: 2px;
	height: 26px;
	position: absolute;
	top: calc(50% - 13px);
	right: 62px;
	background: #000;
	content: '';
}

.qa-ul-li-q.minus::after {
	display: none;
	/*transform: rotate(90deg);*/
}

.qa-ul-li-q-no {
	position: absolute;
	top: 25px;
	left: 50px;
	font-family: oswald, sans-serif;
	font-weight: 700;
}

.qa-ul-li-a {
	padding: 25px 50px;
	position: relative;
	background: #fff;
}

.qa-ul-li-a-inner {
	padding-left: 35px;
	position: relative;
}

.qa-ul-li-a-no {
	position: absolute;
	top: 0;
	left: 0;
	font-family: oswald, sans-serif;
	font-weight: 700;
}


@media screen and (max-width: 767px) {
	.qa-box {
		padding: 40px 25px 0;
		width: auto;
	}

	.qa-ul {
		margin: 15px auto 0;
	}

	.qa-ul-li {
		font-size: 13px;
	}

	.qa-ul-li-q {
		padding: 10px 30px 10px 38px;
	}

	.qa-ul-li-q::before {
		width: 14px;
		height: 2px;
		position: absolute;
		top: calc(50% - 1px);
		right: 10px;
	}

	.qa-ul-li-q::after {
		width: 2px;
		height: 14px;
		position: absolute;
		top: calc(50% - 7px);
		right: 16px;
	}

	.qa-ul-li-q-no {
		position: absolute;
		top: 10px;
		left: 10px;
	}

	.qa-ul-li-a {
		padding: 10px;
	}

	.qa-ul-li-a-inner {
		padding-left: 28px;
		position: relative;
	}

	.qa-ul-li-a-no {
		position: absolute;
		top: 0;
		left: 0;
	}
}



/****************************************
 btn-box
****************************************/
.btn-box {
	margin: 0 auto;
	padding: 80px 65px 100px;
	width: 940px;
	position: relative;
	z-index: 10;
	text-align: center;
}

.btn-ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}

.btn-bottom {
	padding: 22.5px 0;
	border-radius: 50px;
	display: inline-block;
	width: 340px;
	height: 65px;
	position: relative;
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
	overflow: hidden;
}

.btn-bottom::before {
	border-top: 65px solid transparent;
	border-right: 65px solid transparent;
	display: block;
	width: 405px;
	height: 65px;
	position: absolute;
	top: 0;
	right: 100%;
	transition: right ease-in-out .2s;
	content: '';
}

.btn-bottom:hover::before,
.btn-bottom:focus::before,
.btn-bottom:active::before {
	right: -65px;
}

.btn-bottom-text {
	position: relative;
	z-index: 10;
}

.btn-entry {
	background: #ff4600;
}

.btn-entry::before {
	border-top-color: #ed0000;
}

.btn-apply {
	background: #50b3ff;
}

.btn-apply::before {
	border-top-color: #1899fc;
}

.btn-disabled {
	background: #999;
}


@media screen and (max-width: 767px) {

	.btn-box {
		margin: 0 auto;
		padding: 40px 25px 30px;
		width: auto;
		position: relative;
		z-index: 10;
		text-align: center;
	}

	.btn-ul {
		display: block;
	}

	.btn-bottom {
		margin: 0 0 15px;
		padding: 20px 25px;
		width: 100%;
		height: 65px;
		font-size: 20px;
	}

	.btn-bottom::before {
		border-top: 65px solid transparent;
		border-right: 65px solid transparent;
		display: block;
		width: calc(100% + 65px);
		height: 65px;
		position: absolute;
		top: 0;
		right: 100%;
		transition: right ease-in-out .2s;
		content: '';
	}

	.btn-bottom:hover::before,
	.btn-bottom:focus::before,
	.btn-bottom:active::before {
		right: -65px;
	}
}


/***********************************************************************************************/
/***********************************************************************************************/
/***********************************************************************************************/
/***********************************************************************************************
 modal
 ***********************************************************************************************/
.modal-back {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	/*background: #000;*/
	background: rgba(0, 0, 0, 0.9);
	z-index: 10000;
}

.modal-outer {
	width: 100%;
	max-height: 100vh;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	overflow: auto;
}

.modal {
	padding: 30px;
	/*background: #000;*/
	text-align: center;
}

.modal-close-btn {
	width: 30px;
	height: 30px;
	position: absolute;
	right: 30px;
	top: 30px;
	cursor: pointer;
}

.modal-close-btn::before {
	display: block;
	width: 30px;
	height: 2px;
	position: absolute;
	left: 0;
	top: 50%;
	background: #fff;
	content: '';
	transform: rotate(45deg);
}

.modal-close-btn::after {
	display: block;
	width: 30px;
	height: 2px;
	position: absolute;
	left: 0;
	top: 50%;
	background: #fff;
	content: '';
	transform: rotate(-45deg);
}

.modal-body {
	padding-top: 60px;
}

.modal-iframe {
	margin: 0 auto;
	border: 0;
	width: 100%;
	height: calc(100vw * 0.6);
	max-height: calc(100vh - 120px);
}

.modal-btn-box {
	margin-top: 30px;
	text-align: center;
}


@media screen and (max-width: 767px) {
	.modal-back {
		padding: 20px;
	}

	.modal-outer {

	}

	.modal {
		padding: 20px;
	}

	.modal-close-btn {
		right: 20px;
		top: 20px;
	}

	.modal-iframe {
		max-height: calc(100vh - 100px);
	}
}


@media screen and (max-width: 640px) {

}


.tall {
	text-align: left;
}

.talc {
	text-align: center;
}