/*=== ヘッダー =================================================================*/
.adHeader{
	width					:100vw;
	background			:#f8f6f1;
	position				:fixed;
	top					:0;
	left					:0;
	padding				:1rem;
	box-sizing			:border-box;
	z-index				:999;
}
.adHeader:after{
	content				:"";
	display				:block;
	clear					:both;
}
.adHeader_block, .adHeader_log{
	position				:relative;
}
.adHeader_block a, .adHeader_log a{
	position				:absolute;
	inset					:0;
}

.adHeader_block{
	float					:right;
	margin-left			:2rem;
}
.adHeader_log{
	float					:left;
	display				:flex;
}
.adHeader_log p{
	line-height			:calc(2rem + 1.6rem);
	font-size			:2rem;
	font-weight			:900;
	margin-left			:0.5rem;
}

.adHeader_log img{
	width					:calc(2rem + 1.6rem);
	aspect-ratio		:1 / 1;
}
.adHeader_block p{
	font-size			:1.6rem;
	line-height			:calc(2rem + 1.6rem);
}


.adHeader .registerBtn{
	padding				:1rem 2rem;
	box-sizing			:border-box;
	background			:linear-gradient(to right bottom, #eb1c24, rgb(207,0,8));
}
.adHeader .registerBtn p{
	color					:#f8f6f1;
	font-weight			:900;
	line-height			:1;
}

/*■レスポンシブル*/
@media screen and (max-width: 1025px)
{
	.adHeader
	{
		display				:none;
	}
}

/*==============================================================================*/

/*=== フッター =================================================================*/
.adPageFooterBlock{
	width					:100vw;
	position				:fixed;
	bottom				:0;
	left					:0;
	background			:rgba(255,255,255,0.95);
	z-index				:9999;
	padding				:1rem 0;
	text-align			:center;
}

.adPageFooterBlock_inner{
	width					:100%;
	height				:4rem;
	margin-top			:1rem;
	position				:relative;
}
.adPageFooterBtm{
	width					:fit-content;
	position				:absolute;
	top					:50%;
	left					:50%;
	transform			:translate(-50%, -50%);
}
.adPageFooterBtm_inner{
	width					:100%;
	background			:linear-gradient(to right bottom, #eb1c24, rgb(207,0,8));
	padding				:1rem 20rem;
	border-radius		:20px;
	box-sizing			:border-box;
	position				:relative;
	text-align			:center;
}
.adPageFooterBtm_inner p{
	color					:#f8f6f1;
	font-size			:2rem;
	line-height			:1;
	font-weight			:900;
}
.adPageFooterBtm_inner a{
	position				:absolute;
	inset					:0;
}

/*■レスポンシブル*/
@media screen and (max-width: 1025px)
{
	.adPageFooterBtm
	{
		width					:80%;
	}
	.adPageFooterBtm_inner
	{
		padding				:1rem 0;
	}
	.adPageFooterBtm_inner p
	{
		font-size			:1.6rem;
	}
}

/*==============================================================================*/


/*=== fixedBox =================================================================*/
.adPageFixedBox_outer{
	position				:fixed;
	right					:1rem;
	bottom				:10rem;
	background			:none;
	z-index				:99;
}
.adPageFixedBox_inner{
	position				:relative;
	width					:100%;
	height				:100%;
}
.adPageFixedBox{
	width					:30vw;
	aspect-ratio		:4 / 1;
	position				:relative;
}
.adPageFixedBox img{
	width					:100%;
	height				:100%;
}
.adPageFixedBox a{
	position				:absolute;
	inset					:0;
}

/*■レスポンシブル*/
@media screen and (max-width: 1025px)
{
	.adPageFixedBox_outer
	{
		right					:0.5rem;
		bottom				:8rem;
	}
	.adPageFixedBox
	{
		width					:70vw;
	}	
}
	
/*==============================================================================*/
.adPageFirstView{
	margin-top			:calc(2rem + 1.6rem + 2rem);
	width					:100%;
}
.adPageFirstView img{
	width					:100%;
}
#top, .mainBody{
	scroll-margin-top	:calc(2rem + 1.6rem + 2rem);
}

.mainArea{
	width					:80%;
	margin				:0 10%;
}
.mainBody{
	width					:100%;
	margin-bottom		:15rem;
}

.mainBodyIndex{
	width					:100%;
	margin-top			:5rem;
	position				:relative;
}
.mainBodyIndex p{
	position				:absolute;
	top					:-4rem;
	left					:-5%;
	z-index				:0;
	font-size			:5rem;
	font-weight			:900;
	color					:#fff;
}
.mainBodyIndex h2{
	font-size			:3rem;
	font-weight			:900;
	position				:relative;
	z-index				:1;
}

.mainBody_mainSection{
	width					:100%;
}

.aboutusImg{
	width					:100%;
	text-align			:center;
}
.aboutusImg img{
	width					:20%;
	aspect-ratio		:1 / 1;
}

.aboutus_body{
	width					:80%;
	margin				:0 10%;
	margin-top			:4rem;
}
.aboutus_body p{
	font-size			:1.8rem;
	line-height			:2;
}
.aboutus_body p span{
	display				:inline-block;
}

.aboutus_articleList{
	width					:100vw;
	margin-top			:3rem;
}
.aboutus_articleList h3{
	font-size			:3rem;
	font-weight			:900;
}

.aboutus_articleList_inner{
	width					:100%;
	display				:flex;
	overflow-x			:scroll;
}
.aboutus_articleKard{
	flex-shrink			:0;
	width					:calc(100% / 6);
	margin-right		:1.5rem;
	position				:relative;
}
.aboutus_articleKard img{
	width					:100%;
	aspect-ratio		:16 / 9;
	object-fit			:scale-down;
	background			:#ddd;
}
.aboutus_articleKard h4{
	font-size			:1.6rem;
	font-weight			:900;
}
.aboutus_articleKard a{
	position				:absolute;
	inset					:0;
}

@media screen and (min-width: 1025px)
{
	.aboutus_articleKard:hover h4
	{
		color					:#eb1c24;
	}
}

.adTypeList{
	position				:relative;
	width					:100%;
	aspect-ratio		:3 / 1;
	margin-top			:2rem;
}

.adTypeKard_scrollBtn{
	position				:absolute;
	top					:50%;
	transform			:translateY(-50%);
	z-index				:2;
}
#previousBtn{
	left					:-4.5rem;
}
#nextBtn{
	right					:-4.5rem;
}

.adTypeKard_scrollBtn button{
	background			:linear-gradient(to right bottom, #eb1c24, rgb(207,0,8));
	border-radius		:50%;
	font-size			:5rem;
	color					:#f8f6f1;
	font-weight			:900;
	line-height			:1;
	padding				:1rem 2rem;
	box-sizing			:border-box;
	box-shadow			:2px 2px 4px #c8c8c8;
	border				:none;
}

@media screen and (min-width: 1025px)
{
	.adTypeKard_scrollBtn button:hover
	{
		cursor				:pointer;
		background			:#eb1c24;
	}
}
	
.adTypeKard{
	position				:absolute;
	top					:0;
	left					:0;
	width					:100%;
	height				:100%;
	display				:flex;
	box-shadow			:2px 2px 4px #c8c8c8;
	background			:#f8f6f1;
}
.adTypeKard img{
	width					:35%;
	aspect-ratio		:16 / 9;
	object-fit			:scale-down;
	background			:#ddd;		
}
.adTypeKard_body{
	width					:65%;
	padding-left		:3rem;
	padding-top			:1rem;
	box-sizing			:border-box;
}
.adTypeKard_body h3{
	font-size			:4rem;
	line-height			:1;
	font-weight			:900;
	color					:#eb1c24;
	margin-bottom		:2rem;
}
.adTypeKard_tag{
	width					:100%;
	display				:flex;
}
.adTypeKard_tag p:nth-of-type(1){
	padding				:1rem 2rem;
	background			:linear-gradient(to right bottom, #eb1c24, rgb(207,0,8));
	color					:#f8f6f1;
	font-size			:2rem;
	line-height			:1;
	font-weight			:900;
	box-sizing			:border-box;
	border-radius		:20px 0 0 20px;
}
.adTypeKard_tag p:nth-of-type(2){
	font-size			:1.6rem;
	line-height			:4rem;
	padding-left		:2rem;
	padding-right		:3rem;
	background			:#fff;
	box-sizing			:border-box;
}

.adTypeKard_text, .adTypeKard_fee, .adTypeKard_point{
	width					:100%;
	margin-top			:2rem;
	padding-left		:2rem;
	box-sizing			:border-box;
}
.adTypeKard_text p:nth-of-type(1){
	font-size			:1.6rem;
}
.adTypeKard_text p:nth-of-type(2){
	margin-top			:1rem;
	font-size			:1.6rem;
	font-weight			:900;
}

.adTypeKard_fee p:nth-of-type(1){
	width					:fit-content;
	padding				:0.5rem 4rem;
	font-size			:2rem;
	border				:2px solid #eb1c24;
	border-radius		:5px;
	background			:#fff;
	color					:#eb1c24;
	font-weight			:900;
}
.adTypeKard_fee p:nth-of-type(2){
	font-size			:1.6rem;
	margin-top			:1em;
}

.adTypeKard_point p:nth-of-type(1){
	text-Decoration	:underline;
	font-size			:1.6rem;
	font-weight			:900;
}
.adTypeKard_point p:nth-of-type(2){
	font-size			:1.6rem;
	margin-top			:1em;
}
.syokutsuDataArea{
	width					:100%;
	margin-top			:3rem;
}
.syokutsuDataArea h3{
	font-size			:3rem;
	font-weight			:900;
}
.syokutsuDataBlock{
	width					:100%;
	margin-top			:2rem;
}
.syokutsuDataBlock h4{
	font-size			:2.5rem;
	font-weight			:900;
}
.syokutsuDataBlock p{
	font-size			:2rem;
}
.syokutsuDataBlock p span{
	font-size			:0.5em;
}
.syokutsuDataBlock p:nth-of-type(2){
	font-size			:1.2rem;
	margin-top			:1em;
}
.syokutsuDataBlock img{
	width					:100%;
}
	
.typeDiagnosisArea{
	width					:100%;
	margin-top			:3rem;
}
.typeDiagnosisBlock{
	display				:none;
	margin-bottom		:3rem;
}
.typeDiagnosisBtn{
	width					:100%;
}
.typeDiagnosisBtn button{
	width					:100%;
	background			:linear-gradient(to right bottom, #eb1c24, rgb(207,0,8));
	color					:#f8f6f1;
	text-align			:center;
	padding				:1rem 0;
	box-sizing			:border-box;
	border-radius		:20px;
	border				:none;
	font-size			:3rem;
	font-weight			:900;
	color					:#f8f6f1;
	box-shadow			:2px 2px 4px #c8c8c8;
	transition			:.3s;
}

@media screen and (min-width: 1025px)
{
	.typeDiagnosisBtn button:hover
	{
		transition			:.3s;
		cursor				:pointer;
		transform			:translate3d(0, 5px, 0);
		box-shadow			:none;
	}
}

.flowArea{
	width					:100%;
	margin-top			:3rem;
	background			:#ddd;
	border-radius		:20px;
	padding				:2rem;
	box-sizing			:border-box;
}
.flowAreaIndex{
	width					:fit-content;
	text-align			:center;
	font-size			:2rem;
	font-weight			:900;
	position				:relative;
	margin				:0 auto;
	margin-bottom		:2rem;
}
.flowAreaIndex:before{
	content				:'';
	display				:block;
	position				:absolute;
	bottom				:-0.5rem;
	left					:50%;
	transform			:translateX(-50%);
	background			:linear-gradient(to right bottom, #eb1c24, rgb(207,0,8));
	width					:100%;;
	height				:0.5rem;
	border-radius		:30px;
}
.flowArea_inner{
	display				:flex;
	width					:100%;
}
.flowBox{
	width					:calc(calc(100% / 3) - calc(2rem * 2 / 3));
	margin-right		:2rem;
}
.flowBox:nth-of-type(3){
	margin-right		:none;
}
.flowBox img{
	width					:100%;
}
.flowBox p{
	font-size			:1.8rem;
	margin-top			:1rem;
}

.faqArea{
	width					:100%;
}
.faqBox{
	width					:100%;
	position				:relative;
	overflow				:hidden;
}
.faqBox button{
	width					:100%;
	display				:flex;
	border				:none;
	border-bottom		:1px solid #1f222e;
	background			:#f8f6f1;
	padding				:1rem 0;
	position				:relative;
	z-index				:2;
}

@media screen and (min-width: 1025px)
{
	.faqBox button:hover
	{
		cursor				:pointer;
	}

	.faqBox button:hover p:nth-of-type(1)
	{
		background			:rgba(31, 34, 46, 0.8);
		transition			:.3s;
	}
}

.faqBox button p:nth-of-type(1), .faqBox_answer p:nth-of-type(1){
	font-size			:2rem;
	font-weight			:900;
	color					:#f8f6f1;
	padding				:2rem;
	line-height			:1;
	border-radius		:50%;
	box-sizing			:border-box;
	align-self			:flex-start;
	transition			:.3s;
}
.faqBox button p:nth-of-type(1){
	background			:#1f222e;
}
.faqBox_answer p:nth-of-type(1){
	background			:#eb1c24;
}
	
.faqBox button p:nth-of-type(2), .faqBox_answer p:nth-of-type(2){
	font-size			:2rem;
	font-weight			:900;
	line-height			:6rem;
	margin-left			:2rem;
}
.faqBox button p:nth-of-type(3):before{
	content				:'+';
	position				:absolute;
	top					:50%;
	right					:1rem;
	transform			:translateY(-50%);
	font-size			:6rem;
	font-weight			:900;
	transition			:.3s;
}
.faqBox_answer{
	display				:flex;
	padding				:1rem 0;
	padding-left		:2rem;
	box-sizing			:border-box;
	margin-bottom		:2rem;
	position				:absolute;
	top					:-6rem;
	left					:0;
	z-index				:1;
	background			:#eee;
	transition			:.3s;
}

.faqBox_answer button{
	display				:inline-block;
	background			:none;
	border				:none;
	font-size			:2rem;
	color					:#eb1c24;
	font-weight			:900;
	text-decoration	:underline;
	width					:fit-content;
}

.faqBoxActive button p:nth-of-type(3):before{
	content				:'-';
	transition			:.3s;
}

.faqBoxActive .faqBox_answer{
	position				:relative!important;
	top					:0!important;
	transition			:.3s;
}


.registerArea{
	width					:100%;
	margin-top			:3rem;
}
.registerArea h2{
	text-align			:center;
	font-size			:2rem;
	font-weight			:900;
	margin-bottom		:3rem;
	position				:relative;
	width					:100%;
}
.registerArea h2:after{
	content				:'';
	display				:block;
	background			:#eb1c24;
	height				:5px;
	width					:10%;
	position				:absolute;
	bottom				:-1rem;
	left					:50%;
	transform			:translateX(-50%);
	border-radius		:30px;
}
.registerArea form{
	width					:60%;
	margin				:0 20%;
}
.registerArea input[type=email]{
	width					:100%;
	padding				:2rem;
	box-sizing			:border-box;
	background			:#fff;
	border				:1px solid #ddd;
	border-radius		:20px;
	font-size			:2rem;
	box-shadow			:2px 2px 4px #c8c8c8;
}
.registerArea input[type=email]:focus{
	outline				:none;
	background			:#E8F0FE;
}
.registerArea input[type=submit]{
	width					:100%;
	margin				:2rem 0;
	background			:linear-gradient(to right bottom, #eb1c24, rgb(207,0,8));
	color					:#f8f6f1;
	font-size			:2.5rem;
	font-weight			:900;
	text-align			:center;
	padding				:1rem 0;
	border-radius		:20px;
	border				:none;
	box-shadow			:2px 2px 4px #c8c8c8;
}
	
@media screen and (min-width: 1025px)
{
	.registerArea input[type=submit]:hover
	{
		transition			:.3s;
		cursor				:pointer;
		transform			:translate3d(0, 5px, 0);
		box-shadow			:none;
	}
}
	
.registerArea p{
	margin-left			:20%;
	font-size			:1.6rem;
}

.actionArea{
	width					:60%;
	margin				:0 20%;
	margin-top			:7rem;
	transition			:.3s;
}

.actionArea button{
	width					:100%;
	font-size			:2.5rem;
	font-weight			:900;
	color					:#eb1c24;
	box-shadow			:2px 2px 4px #c8c8c8;
	background			:#fff;
	border-radius		:20px;
	padding				:1rem 0;
	text-align			:center;
	box-sizing			:border-box;
	border				:none;
	transition			:.3s;
	border				:1px solid transparent;
}

@media screen and (min-width: 1025px)
{
	.actionArea button:hover
	{
		border				:1px solid #eb1c24;
		transition			:.3s;
		box-sizing			:border-box;
	}
}

.contactBox_outer{
	width					:100vw;
	height				:100vh;
	background			:rgba(255,255,255,0.8);
	position				:fixed;
	top					:0;
	left					:0;
	z-index				:99999;
	display				:none;
}

.contentBoxActive{
	display				:block;
	opacity				:0;
	animation			:rotate 0.3s linear forwards;
}

@keyframes rotate
{
	from
	{
		opacity				:0;
		transform			:scale(0);
	}
  
	to
	{ 
		opacity				:1;
		transform			:scale(1);
	}
}


.contactBox_inner{
	width					:100%;
	height				:100%;
	position				:relative;
}
.contactBox_body{
	position				:absolute;
	top					:50%;
	left					:50%;
	transform			:translate(-50%, -50%);
	min-width			:50%;
}

.contactBox{
	position				:relative;
	width					:100%;
	background			:#f8f6f1;
	padding				:2rem 4rem;
	box-sizing			:border-box;
	border-radius		:10px;
	box-shadow			:2px 2px 4px #c8c8c8;
}

.contactBox button{
	position				:absolute;
	top					:-2rem;
	right					:-2rem;
	width					:4rem;
	aspect-ratio		:1 / 1;
	border-radius		:50%;
	font-size			:2rem;
	font-weight			:900;
	background			:#1f222e;
	color					:#f8f6f1;
	line-height			:1;
	text-align			:center;
	padding				:1rem 0;
	box-sizing			:border-box;
	border				:none;
}
.contactBox h2{
	width					:100%;
	font-size			:2.5rem;
	font-weight			:900;
	text-align			:center;
	color					:#eb1c24;
}
.contactBox p{
	font-size			:1.6rem;
	text-align			:center;
}
.contactBox form{
	width					:100%;
	margin-top			:2rem;
}
.contactBox form p{
	font-size			:1.8rem;
	font-weight			:900;
	text-align			:left;
}
.contactBox input{
	width					:100%;
	padding				:0.75rem 0;
	padding-left		:0.75rem;
	font-size			:1.8rem;
	box-sizing			:border-box;
	border				:1px solid #ccc;
	margin-bottom		:1rem;
}
.contactBox input[type=submit]{
	width					:100%;
	padding				:1rem 0;
	text-align			:center;
	color					:#f8f6f1;
	font-size			:2rem;
	font-weight			:900;
	background			:linear-gradient(to right bottom, #eb1c24, rgb(207,0,8));
	box-sizing			:border-box;
	border-radius		:20px;
	box-sizing			:border-box;
	border				:none;
	margin-top			:2rem;
}
.contactBox input[type=submit]:hover, .contactBox button:hover{
	cursor				:pointer;
}

.resultMessageBox_outer{
	width					:100vw;
	height				:100vh;
	background			:rgba(255,255,255,0.8);
	position				:fixed;
	top					:0;
	left					:0;
	z-index				:99999;
}
.resultMessageBox_inner{
	width					:100%;
	height				:100%;
	position				:relative;
}
.resultMessageBox{
	position				:absolute;
	top					:50%;
	left					:50%;
	transform			:translate(-50%, -50%);
	max-width			:80%;
	padding				:2rem;
	box-sizing			:border-box;
	border-radius		:20px;
	box-shadow			:2px 2px 4px #c8c8c8;
	background			:#f8f6f1;
}
.resultMessageBox img{
	width					:40%;
	margin				:0 30%;
	margin-bottom		:2rem;
}
.resultMessageBox p{
	font-size			:1.8rem;
}
.resultMessageBox p span{
	display				:inline-block;
}


/*■レスポンシブル*/
@media screen and (max-width: 1025px)
{
	.adPageFirstView, #top, .mainBody
	{
		margin-top		:0;
	}

	.mainArea
	{
		width					:95%;
		margin				:0 2.5%;
	}

	.mainBody
	{
		margin-bottom		:5rem;
	}

	.mainBodyIndex p
	{
		top					:-2rem;
		left					:0;
		font-size			:2rem;
	}
	.mainBodyIndex h2
	{
		font-size			:2rem;
	}

	.aboutusImg img
	{
		width					:30%;
		aspect-ratio		:1 / 1;
	}

	.aboutus_body
	{
		width					:90%;
		margin				:0 5%;
		margin-top			:2rem;
	}
	.aboutus_body p
	{
		font-size			:1.6rem;
		line-height			:1.5;
		text-align			:center;
	}

	.aboutus_articleList
	{
		width					:100%;
	}
	.aboutus_articleList h3
	{
		font-size			:2rem;
	}

	.aboutus_articleList_inner
	{
		width					:100%;
		display				:block;
	}
	.aboutus_articleList_inner:after
	{
		content				:"";
		display				:block;
		clear					:both;
	}
	.aboutus_articleKard
	{
		flex-shrink			:0;
		float					:left;
		width					:calc(calc(100% / 2) - 1.5rem);
	}
	.aboutus_articleKard h4
	{
		font-size			:1.4rem;
		display				:-webkit-box;
		-webkit-line-clamp :2;
		-webkit-box-orient:vertical;
		overflow				:hidden;
	}


	.adTypeList
	{
		aspect-ratio		:auto;
		min-height			:100vh;
	}

	#previousBtn
	{
		left					:-1rem;
	}
	#nextBtn
	{
		right					:-1rem;
	}

	.adTypeKard_scrollBtn button
	{
		font-size			:1.8rem;
		padding				:1rem 1.5rem;
	}

	.adTypeKard
	{
		display				:block;
	}
	.adTypeKard img
	{
		width					:100%;
	}
	.adTypeKard_body
	{
		width					:100%;
		padding				:0;
		padding				:1rem;
	}
	.adTypeKard_body h3
	{
		font-size			:2.5rem;
		margin-bottom		:1rem;
	}
	.adTypeKard_tag p:nth-of-type(1)
	{
		font-size			:1.6rem;
	}
	.adTypeKard_tag p:nth-of-type(2)
	{
		font-size			:1.4rem;
		line-height			:1;
		padding				:1rem 0;
		padding-left		:1rem;
		padding-right		:2rem;
	}

	.adTypeKard_text, .adTypeKard_fee, .adTypeKard_point
	{
		margin-top			:1rem;
		padding				:0;
		padding				:0 2rem;
	}
	.adTypeKard_text p:nth-of-type(1)
	{
		font-size			:1.4rem;
	}
	.adTypeKard_text p:nth-of-type(2)
	{
		display				:none;
	}

	.adTypeKard_fee p:nth-of-type(1)
	{
		padding				:0.5rem 2rem;
		font-size			:1.6rem;
	}
	.adTypeKard_fee p:nth-of-type(2)
	{
		font-size			:1.6rem;
		margin-top			:0.75rem;
	}

	.adTypeKard_point p:nth-of-type(1)
	{
		font-size			:1.4rem;
	}
	.adTypeKard_point p:nth-of-type(2)
	{
		font-size			:1.4rem;
		margin-top			:0.75rem;
	}
		
	.syokutsuDataArea h3
	{
		font-size			:2rem;
		text-align			:center;
	}
	.syokutsuDataBlock
	{
		text-align			:center;
		margin-top			:1rem;
	}
	.syokutsuDataBlock h4
	{
		font-size			:2rem;
	}
	.syokutsuDataBlock p
	{
		font-size			:1.8rem;
	}

	.syokutsuDataBlock p:nth-of-type(2)
	{
		margin-top			:0.75rem;
	}

	.flowAreaIndex
	{
		font-size			:1.6rem;
	}

	.flowArea_inner
	{
		display				:block;
	}

	.flowBox
	{
		width					:100%;
		margin-right		:0;
		margin-bottom		:1.5rem;
	}

	.flowBox p
	{
		font-size			:1.6rem;
		margin-top			:0.75rem;
		text-align			:center;
	}

	.faqBox button p:nth-of-type(1), .faqBox_answer p:nth-of-type(1)
	{
		font-size			:1.6rem;
		padding				:1rem;
	}

	
	.faqBox button p:nth-of-type(2)
	{
		position				:absolute;
		top					:50%;
		left					:4rem;
		transform			:translateY(-50%);
		font-size			:1.6rem;
		line-height			:1;
		margin-left			:0;
		padding-right		:4rem;
		box-sizing			:border-box;
		text-align			:left;
	}
	.faqBox_answer p:nth-of-type(2)
	{
		line-height			:1.5;
		font-size			:1.6rem;
		margin-left			:0.75rem;
	}
	.faqBox button p:nth-of-type(3):before
	{
		font-size			:3rem;
	}

	.faqBox_answer button
	{
		font-size			:1.6rem;
	}


	.registerArea h2
	{
		font-size			:1.8rem;
	}
	.registerArea h2 span{
		display			:inline-block;
	}
	.registerArea form
	{
		width					:95%;
		margin				:0 2.5%;
	}
	.registerArea input[type=email]
	{
		padding				:0.75rem 0;
		padding-left		:1.5rem;		
		font-size			:1.6rem;
	}
	.registerArea input[type=submit]
	{
		font-size			:1.8rem;
	}
		
	.registerArea p
	{
		margin				:0;
		padding				:0 2.5%;
		box-sizing			:border-box;
		font-size			:1.4rem;
	}

	.actionArea
	{
		width					:95%;
		margin				:0 2.5%;
		margin-top			:2rem;
	}

	.actionArea button
	{
		font-size			:1.8rem;
	}

	.contactBox_body
	{
		width					:90%;
	}

	.contactBox
	{
		padding				:1rem 2rem;
	}

	.contactBox h2
	{
		font-size			:1.8rem;
	}

	.contactBox form p
	{
		font-size			:1.6rem;
	}
	.contactBox input
	{
		font-size			:1.6rem;
	}
	.contactBox input[type=submit]
	{
		font-size			:1.6rem;
		margin-top			:1rem;
	}

	.resultMessageBox
	{
		width					:80%;
	}
	.resultMessageBox img
	{
		margin-bottom		:1rem;
	}
	.resultMessageBox p
	{
		font-size			:1.6rem;
	}

}


/*=== 関西食文化振興クレジット =================================================*/
.kansaiFirstView{
	width					:100%;
	aspect-ratio		:2.5 / 1;
	position				:relative;
	background			:#f8f6f1;
}
.kansaiFirstView img{
	width					:100%;
}

.kansaiMainArea{
	width					:60%;
	margin				:0 20%;
}

.mainAreaBody{
	width					:100%;
	margin-top			:10rem;
}

.aboutBox{
	width					:100%;
	border-radius		:20px;
	border				:10px solid #eb1c24;
	background			:#fff;
	position				:relative;
	padding				:5rem 0;
	padding-top			:4rem;
	padding-bottom		:2rem;
	box-sizing			:border-box;
}
.aboutBox h2{
	font-size			:3rem;
	padding				:2rem 4rem;
	line-height			:1;
	background			:#eb1c24;
	color					:#f8f6f1;
	font-weight			:900;
	width					:fit-content;
	position				:absolute;
	top					:-1rem;
	left					:50%;
	transform			:translate(-50%, -50%);
	border-radius		:20px;
}
.aboutBoxMainArea{
	width					:100%;
}
.aboutBoxMainArea p{
	text-align			:center;
	font-size			:2rem;
	line-height			:2;
}
.aboutBoxMainArea p span{
	display				:inline-block;
}

.aboutBoxMainArea p:nth-of-type(2){
	font-size			:1.4rem;
	color					:#888;
}

.limitBody{
	width					:100%;
	margin-top			:10rem;
}
.limitBody h2{
	font-size			:3rem;
	text-align			:center;
	font-weight			:400;
}
.limitBody h2 span{
	font-size			:2.5em;
	font-weight			:900;
	color					:#eb1c24;
}
.limitBodyTable{
	width					:100%;
	margin-top			:2rem;
}
.limitBodyTable_tr{
	width					:100%;
	display				:flex;
	margin-bottom		:4rem;
	border-bottom		:2px solid #eb1c24;
	padding-bottom		:1rem;
}
.limitBodyTable_tr h3{
	font-size			:3rem;
	width					:calc(3rem * 5);
	margin-right		:2rem;
	box-sizing			:border-box;
	font-weight			:900;
	color					:#eb1c24;
}
.limitBodyTable_tr p{
	flex					:1;
	font-size			:3rem;
	font-weight			:900;
	color					:#1f222e;
}
.limitBodyTable_tr p span{
	display				:inline-block;
}

.limitBodyTable_tr .textmini{
	font-size			:2rem;
}

/*■レスポンシブル*/
@media screen and (max-width: 1025px)
{

	.kansaiMainArea
	{
		width					:95%;
		margin				:0 2.5%;
	}

	.mainAreaBody
	{
		margin-top			:5rem;
	}
	
	.aboutBox
	{
		border				:5px solid #eb1c24;
		padding				:5rem 0;
		padding-top			:4rem;
		padding-bottom		:2rem;
	}
	.aboutBox h2
	{
		font-size			:1.8rem;
		padding				:1.5rem 0;
		text-align			:center;
		width					:90%;
		top					:-0.5rem;
	}
	.aboutBoxMainArea
	{
		padding				:0 1rem;
		box-sizing			:border-box;
	}
	.aboutBoxMainArea p
	{
		font-size			:1.6rem;
		line-height			:1.5;
	}


	.limitBody
	{
		margin-top			:5rem;
	}
	.limitBody h2
	{
		font-size			:1.8rem;
	}

	.limitBodyTable_tr
	{
		display				:block;
		border-bottom		:1px solid #eb1c24;
		padding-bottom		:0.75rem;
	}
	.limitBodyTable_tr h3
	{
		font-size			:1.8rem;
		width					:100%;
		margin-right		:0;
	}
	.limitBodyTable_tr p
	{
		font-size			:1.6rem;
		font-weight			:400;
	}

	.limitBodyTable_tr .textmini
	{
		font-size			:1.6rem;
	}
}
	
/*==============================================================================*/


/*=== 本登録 ===================================================================*/

.registerPage{         
	max-width			:800px;
   width					:100%;
   background-color	:white;
	margin				:0 auto;
   padding				:2rem;
   border-radius		:0.75rem;
   box-shadow			:0 4px 12px rgba(0, 0, 0, 0.05);
}
.registerPage h1{
   font-size			:1.75rem;
   font-weight			:bold;
   text-align			:center;
   margin-bottom		:2rem;
   color					:#333;
}
.registerPage h2{
   font-size			:1.25rem;
   font-weight			:bold;
   margin-top			:2rem;
   margin-bottom		:0.5rem;
   padding-bottom		:0.25rem;
   border-bottom		:2px solid #ddd;
   color					:#444;
}
.registerPage table{
	width					:100%;
	border-collapse	:collapse;
	margin-bottom		:2rem;
}
.registerPage th, .registerPage td{         
	padding				:1rem;
	border-bottom		:1px solid #eee;
	text-align			:left;
	vertical-align		:top;
}
.registerPage th{
	width					:30%;
	background-color	:#fafafa;
	font-weight			:600;
	color					:#555;
	position				:relative;   
}
.registerPage th p{ 
	margin				:0;
}
       
.required p::after{
	content				:"必須";
	display				:inline-block;
	margin-left			:0.5rem;
	padding				:0.1rem 0.4rem;
	background-color	:#eb1c24;
	color					:white;
	font-size			:1.2rem;
	border-radius		:0.25rem;
	font-weight			:normal;   
}

.registerPage input[type="text"], .registerPage input[type="email"], .registerPage input[type="password"], .registerPage select, .registerPage textarea{
	width					:100%;
	padding				:0.75rem;
	border				:1px solid #ccc;
	border-radius		:0.5rem;
	transition			:border-color 0.2s;   
	box-sizing			:border-box;
}
        
.registerPage input:focus, .registerPage select:focus, .registerPage textarea:focus{
	border-color		:#4299e1;
	outline				:none;
}

.registerPage td p{
	font-size			:1.2rem;
	color					:#718096;
	margin-top			:0.5rem;   
}
        
.registerPage input[name="contact_name"]{
	display				:inline-block;
}
	
.registerPage label[for="agree"]{
	display				:flex;  
	align-items			:center;
	margin-top			:1rem;
	margin-bottom		:2rem; 
	cursor				:pointer; 
	user-select			:none;
	color					:#333;
	font-size			:1.4rem;
}

.registerPage input[type="radio"]{
	margin-right		:0.5rem;   
	width					:1rem;
	height				:1rem;
}

.registerPage input[type="submit"]{
	display				:block;
	width					:100%;
	padding				:1rem;
	background-color	:#a0aec0;
	color					:white;
	font-size			:1.4rem;
	font-weight			:bold;
	border				:none;
	border-radius		:0.5rem;
	cursor				:not-allowed;
	transition			:background-color 0.3s, opacity 0.3s, transform 0.1s;
	opacity				:0.7;
}

.registerPage input[type="submit"].Active{
	background-color	:#eb1c24;
	cursor				:pointer;	
	opacity				:1;
	box-shadow			:0 4px 10px rgba(235, 28, 36, 0.4);   
}

.registerPage input[type="submit"].Active:hover{
	background-color	:#c8181f;   
	transform			:translateY(-1px);
}
      
.registerPage input[type="submit"].Active:active{
	transform			:translateY(0);
}

.registerPage input[type="email"][disabled]{
	background-color	:#e9ecef;
	cursor				:default;
}

/*■レスポンシブル*/
@media screen and (max-width: 1025px)
{
	.registerPage
	{         
		box-sizing			:border-box;
	}
	
	.registerPage th p
	{
		font-size			:1.25rem;
		margin				:0;
	}
}
	
/*==============================================================================*/