
body {
    margin: 0;
    padding: 0;
/*    font-family: 'Noto Sans JP', sans-serif,Arial,'ＭＳ Ｐゴシック','MS P Gothic','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',sans-serif,Helvetica;*/
    font-family: "Noto Sans JP", sans-serif;
    background-image: url(../img/bg_check-pattern.jpg);
    background-repeat: repeat;
}

html{ 

} 

a:link, a:visited {
    text-decoration: none;    
}

a#page-top:hover{
    opacity:0.9;
}

br.sp {
    display:none;
}

#mv {
    margin: 0 auto;
    text-align: center;
	height: auto;
    z-index:-9999;
}

#mv .mv__body {
    position: relative;
    margin: 0 auto -1px;
    text-align: center;
}
#mv .mv__body img {
    width: 100%;
    vertical-align: top;
}

#mv .mv__banner_body {
    width: 970px;
    position: relative;    
}

a, button{
	transition: all 0.2s ease-out;
}

a:hover, button:hover {
/*    opacity: 0.9 ;*/
    color: var(--white);
    cursor: pointer;
	transition: all 0.2s ease-out;
}

/*------------------------------------------------------------------------------
#intro
 -------------------------------------------------------------------------------*/
#intro {
	background-color: #f2ede0; /* 背景色 */
	border-radius: 30px 30px 0 0; /* 外側の角丸 */
	padding: 7px 7px 0 7px; /* 7px(線の位置) + 任意の余白 */
	position: relative;
}

#intro::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 22px;
  background-image: url(../img/intro_deco-line.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: min(646px, 13.5384615385vw);
  z-index: 10;
}

/*
#intro::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -100px;
  background-image: url(../img/intro_deco-line.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: min(646px, 13.5384615385vw);
  z-index: 10;
}
*/

#intro .inner {
	background: url(../img/back_intro.gif) repeat left bottom;
	border-radius: 30px 30px 0 0; /* outerのradius - padding */
	border-top:3px solid #c1b4a1;
	border-left:3px solid #c1b4a1;
	border-right:3px solid #c1b4a1;
	padding: 120px 20px 240px 20px;
	text-align: center;
}

#intro .inner p {
	margin: 20px 0;
	font-weight: 600;
/*
	background-image: linear-gradient(to right,#a8bbad 2px,#0000 1px);
	background-position: left 100%;
	background-repeat: repeat-x;
	background-size: 4px 1px;
	display: inline-block;
*/
	color: #560e05;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-decoration-color: #c1b4a1;
	text-underline-offset: 6px;
	text-decoration-thickness: 2px;
	font-size: 20px;
	letter-spacing: 0.06em;
	line-height: 200%
}

#intro .inner p span {
	color: #cb2778;
}

#intro .rozemyne {
	width: 299px;
	height: 248px;
	position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	z-index: 100;
}

#intro .rozemyne img {
	width: 100%;
}


/*------------------------------------------------------------------------------
#project
 -------------------------------------------------------------------------------*/

#project {
	position: relative;
	margin: 0 auto;
	margin-top: -40px;
	padding: 100px 0 40px 0;
	text-align: center;
	border-radius: 30px 30px 0 0;
    background-image: url(../img/bg_check-pattern.jpg);
    background-repeat: repeat;
}

#project #plan01 {
	position: relative;
}

#project #plan01::before {
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: url(../img/back_ttl_stamp-rally.png) repeat-x left bottom;
    position: absolute;
	top: -1200px;
	z-index: 1;
}

#project #plan02 {
	position: relative;
}

#project #plan02::before {
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: url(../img/back_ttl_quiz-rally.png) repeat-x left bottom;
    position: absolute;
	top: -1500px;
}

#project #plan03 {
	position: relative;
}

#project #plan03::before {
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: url(../img/back_ttl_privilege.png) repeat-x left bottom;
    position: absolute;
	top: -2000px;
}

#project #plan01 .plan_inner ,#project #plan02 .plan_inner ,#project #plan03 .plan_inner {
	margin: 0 auto;
	margin-top: 6.66667%;
	padding: 5.86667% 3.88888% 6.73333%;
	display: block;
	text-align: center;
	border-radius: 800px 800px 0px 0px;
	width: 1000px;
	max-width: 100%;
	position: relative;
	height: auto;
  	outline : 1px solid #1d92a2; /* 線の太さ・線状・色 */
  	outline-offset : -6px; /* どれだけ内側に線を表示したいかを負の値で指定 */
  	background : #fff; /* ボックスやボタンの背景色 */
	box-sizing:border-box;
	z-index: 99;
	box-shadow: inset 0 0 15px 5px rgba(95, 177, 183, 0.3);
}

#project #plan01 .plan_inner .heading-label ,#project #plan02 .plan_inner .heading-label ,#project #plan03 .plan_inner .heading-label {
	margin-top: 25px;
}

#project #plan01 .plan_inner .fair_ttl ,#project #plan02 .plan_inner .fair_ttl ,#project #plan03 .plan_inner .fair_ttl {
	margin-top: 35px;
	margin-bottom: 10px;
}

#in-page-links {
	margin-top: 50px;
	display: flex;
	list-style-type: none;
	justify-content: center;
	gap: 0.5rem;
	position: relative;
	z-index: 999;
}

#in-page-links li a:hover {
    opacity:0.8;
}

.list-button {
	background-color: #c3341f;
	border-radius: 40px;
	margin-top: 25px; 
	color: #fff;
	display: flex;
	height: 65px;
	width: 306px;
	justify-content: center;
	align-items: center;
	position: relative;
	font-weight: 500; 
}

.list-button.sp {
	display: none;
}

.list-button:hover {
	color: #fff;
	opacity:0.9;
}

.list-button .list-button-text {
	margin-left: -22px;
	height: fit-content;
	display: inline-block;
}

.list-button .list-button-text .minuscule {
	font-size: 14px;
}

.list-button-icon {
	display: flex;
	justify-content: center;
	background-color: #fff;
	border-radius: 100%;
	bottom: 0;
	height: 34px;
	margin: auto;
	position: absolute;
	right: 20px;
	top: 0;
	width: 34px;
	box-sizing: border-box;
}

.list-button-icon svg {
	width: 12px;
	stroke: #c3341f;
/*	transition: stroke .3s ease;*/
	height: auto;
	max-width: none;
	vertical-align: top;
	overflow: hidden;
}

/*
#project #plan01 .plan_inner::before {
	content: "";
	display: block;
	background-color: #fff;
	aspect-ratio: 1/1;
	clip-path: circle(50% at 50% 50%);
	width: 100%;
	position: relative;
	z-index: 1;
}
*/

/*
#project #plan01 .plan_inner .contents_box {
	position: relative;
	margin-top: -490px;
	background-color: #fff;
	height: 1000px;
	color: #000;
	z-index: 999;
}
*/


.fair_contents {
	display: flex;
	justify-content: center;
	gap: 10px;
	width: min(83.8666666667%, 910px);
	margin: 0 auto;
	margin-top: 50px;
	margin-bottom: 20px;
	color: #560e05;
}

.fair_contents .fair-deco_catch {
	margin-bottom: 5px;
	font-size: 22px;
	font-weight: 600;
	line-height: 140%;
}

.fair_contents .fair-deco_detail {
	margin-bottom: 5px;
	font-size: 18px;
	font-weight: 500;
	line-height: 140%;
}

.fair_contents .fair-deco_text {
	text-align: left;
}

.fair_contents .fair-deco_text ul {
	list-style-type: none;
	font-size: 11px;
	line-height: 140%;
}

.fair_contents .fair-stamp_text {
	text-align: left;
	line-height: 150%;
	font-weight: 500;
}

.fair_contents .fair-stamp_text h4 {
	background-color: #1c92a2;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 8px;
	padding: 3px 0 2px 0;
}

.quiz-r_step {
	display: flex;
	justify-content: space-between;
	gap: min(14px, 1.9923076923vw);
}

.quiz-r_step .quiz-r_step-box {
	background-color: #ede5d9;
	border-radius: 15px;
	border: 3px solid #d3ccc2;
	padding: min(28px, 1.9230769231vw) min(26px, 2vw) min(30px, 2.3076923077vw);
	width: 25%;
}

.quiz-r_step .quiz-r_step-box_innner {
	position: relative;
	max-width: min(226px, 17.3846153846vw);
}


.quiz-r_step .quiz-r_step-box .quiz-r__step_title {
	position: absolute;
	top: -15%;
	left: 25%;
	width: min(58px, 4.6923076923vw);
}

.quiz-r_step .quiz-r_step-box .quiz-r__step_txt {
	color: #560e05;
	font-weight: 500;
	line-height: 140%;
	font-size: 15px;
}

.quiz-r_step .quiz-r_step-box .quiz-r_step_head {
	border-top: 1px dotted #560e05;
	margin-top: 8px;
	padding-top: 12px;
}

#plan02 .fair_contents {
	display: flex;
	justify-content: center;
	gap: 30px;
	width: min(90.8666666667%, 940px);
	margin: 0 auto;
	margin-top: 50px;
	margin-bottom: 60px;
	color: #560e05;
}

#plan02 h4 {
	padding: 15px;
	margin-bottom: 40px;
	background-color: #1c92a2;

}

.privilege_contents {
	margin: 0 auto;
	margin-top: 50px;
	margin-bottom: 20px;
	color: #560e05;
	position: relative;
}

.privilege_contents::before, .privilege_contents::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 126px;
	background-size: contain;
	background-repeat: no-repeat;
/*	z-index: -1;*/
}

.privilege_contents::before {
	top: 0;
	left: 0;
	background-image:url("../img/privilege_bg-top.png");
}

.privilege_contents::after {
	bottom: 0;
	left: 0;
	background-image:url("../img/privilege_bg-bottom.png");
}

.privilege_contents_inner {
	padding: 70px 0 58px 0;
	position: relative;
	display: flex;
/*	background-color: #ede3d5;*/
	z-index: 999;
}

.privilege_contents_inner::before {
	content: '';
	position: absolute;
	top: 30px;
	left: 0;
	width: 100%;
	height: calc(100% - 156px);
	background-color: #ede3d5;
	z-index: -1;
}












.privilege_intro-body {
	display: flex;
	flex-direction: column;
}

.privilege_intro-body.item02 {
	margin-top: 60px;
}

.privilege_intro-item {
	align-items: center;
	margin-top: 126px;
	margin-bottom: 126px;
	position: relative;
}

.privilege_intro-item-catch {
	margin-top: 20px;
	margin-bottom: 55px;
	position: relative;
	z-index: 1;
}

.privilege_intro-details {
	display: flex;
	justify-content: center;
	width: 690px;
	margin: 0 auto;
	gap: 30px;
}

.privilege_intro-item-img {
	position: relative;
	z-index: 1;
}

.privilege_intro-item-text {
	position: relative;
	z-index: 1;
	color: #560e05;
}

.privilege_intro-item-text .item-text-catch {
	text-align: center;
	font-weight: 600;
	line-height: 180%;
	font-size: 19px;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-decoration-color: #c1b4a1;
	text-underline-offset: 6px;
	text-decoration-thickness: 2px;
}

.privilege_intro-item-text .item-text-detail {
	margin-top: 20px;
	text-align: left;
	line-height: 160%;
}

.privilege_intro-item-text .item-text-detail span {
	font-weight: bold;
}

.privilege_intro-item-text .item-text-detail span.c-pink {
	color: #cb2778;
}

.privilege_intro-item-bg:before {
	content: "";
	position: absolute;
	background-color: #ede3d5;
	background-image: url(../img//privilege_bg-between.jpg);
	background-repeat: repeat-y;
	background-size: 100%;
	height: 580px;
	inset: 0;
	top: 20px;
	box-sizing: border-box;
}

.privilege_intro-item-bg-edge:before {
	top: -100px;
}

.privilege_intro-item-bg-edge:after {
	bottom: -161px;
	transform: rotate(-180deg);
}

.privilege_intro-item-bg-edge:after, .privilege_intro-item-bg-edge:before {
	content: "";
	position: absolute;
	background-color: #ede3d5;
	background-image: url(../img/privilege_bg-top.png);
	background-repeat: no-repeat;
	background-size: 100%;
	height: 133px;
	left: 0;
	right: 0;
	width: 100%;
	mask-image: url(../img/privilege_bg-top.png);
	mask-repeat:no-repeat;
	mask-size: 100%;
	box-sizing: border-box;
}

.privilege_intro-body.item02 .privilege_intro-item-bg:before {
	height: 600px;
}

.privilege_intro-body.item02 .privilege_intro-item-bg-edge:after {
	bottom: -150px;
}

#project #plan01 .notice {
	text-align: left;
	color: #560e05;
	font-size: 14px;
	width: min(83.8666666667%, 910px);
	margin: 0 auto;
	padding-bottom: 30px;
	letter-spacing: 0.05em;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

#project #plan01 .notice .notice_list_item {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin-left: 1rem;
}

.column_item {
	position: relative;
} 

.column_item .column_item_inner{
	margin: 0 auto;
	margin-top: 100px;
	display: flex;
	justify-content: center;
	gap: 40px;
	width: min(83.8666666667%, 910px);
	color: #560e05;
}

.column_item .column_item_inner::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -70px;
  background-image: url(../img/intro_deco-line.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: min(646px, 13.5384615385vw);
  z-index: 10;
}


.column_item .fair-item_text {
	text-align: center;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.column_item .fair-item_text .fair_term {
	margin-bottom: 20px;
}

.column_item .fair-item_text .fair-item_ttl {
	margin-bottom: 10px;
}

.column_item .fair-item_text .fair-item_image.sp {
	display: none;
}

.column_item .fair-item_text .fair-item-catch {
	text-align: center;
	font-weight: 600;
	line-height: 180%;
	letter-spacing: 0.05em;
	font-size: 17px;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-decoration-color: #c1b4a1;
	text-underline-offset: 6px;
	text-decoration-thickness: 2px;
	margin-bottom: 20px;
}

.column_item .fair-item_text .list-button {
	margin: 0 auto;
}

.column_item .fair-item_image img {
	border: 3px solid #1c92a2;
}


#project #plan02 .notice {
	text-align: left;
	color: #560e05;
	font-size: 14px;
	width: min(96.8666666667%, 980px);
	margin: 0 auto;
	margin-top: 30px;
	letter-spacing: 0.05em;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

#project #plan02 .notice .notice_list_item {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin-left: 1rem;
	line-height: 145%;
}


/*------------------------------------------------------------------------------
#extra
 -------------------------------------------------------------------------------*/

#extra {
	margin: 0 auto;
	margin-bottom: 100px;
	margin-top: 6.66667%;
	display: block;
	text-align: center;
	border-radius: 30px 30px 0 0;
	width: 1000px;
	max-width: 100%;
	position: relative;
	height: auto;
  	outline : 1px solid #1d92a2; /* 線の太さ・線状・色 */
  	outline-offset : -6px; /* どれだけ内側に線を表示したいかを負の値で指定 */
  	background : #fff; /* ボックスやボタンの背景色 */
	box-shadow: inset 0 0 15px 5px rgba(95, 177, 183, 0.3);
}

#extra .extra_inner {
	padding: 5.86667% 5.33333% 9.73333%;
}

#extra .extra_inner .fair_ttl {
	margin-top: 25px;
}

#extra .fair_contents {
	display: flex;
	justify-content: center;
	gap: 20px;
	width: 100%;
	margin: 0 auto;
	margin-top: 50px;
	margin-bottom: 20px;
	color: #560e05;
}

#extra .fair_contents .list_sp {
	display: none;
}

/*------------------------------------------------------------------------------
#bottom_area
 -------------------------------------------------------------------------------*/

#bottom_area {
	margin: 0 auto;
	margin-top: 100px;
	text-align: center;
  	position: relative;
}

.c-button-scroll-top {
	margin: 0 auto 0 auto;
	text-align: center;
	display: inline-block;
}

.c-button-scroll-top img {
	width: 100%;
}

#share {
	margin: 0 auto;
	text-align: center;
  	position: relative;
}

#bottom_area .sns-list {
	margin: 0 auto;
	text-align: center;
  	position: relative;
	margin-top: 40px;
	margin-bottom: 0;
	padding: 17px 50px 17px 40px;
	gap: 0.7833333333vw;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-family: "Cormorant", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 18px;
	color: #fff;
	background: url(../img/bg_share.png) top left/contain no-repeat;
	width: fit-content;
	box-sizing: border-box;
}

#bottom_area .sns-list span {
	margin-left: 4px;
	margin-right: 4px;
	width: 17px;
	height: 1px;
	background: #fff;
	opacity: 0.5;
}

#bottom_area .sns-list a img {
	transition: .3s ease-in-out;
}

#bottom_area .sns-list a:hover img {
	filter: opacity(75%);
}

#bottom_area .sns-list .x {
	width: 25px;
}

#bottom_area .sns-list .x img {
	width: 100%;
	height: auto;
}

#bottom_area .sns-list .facbook {
	width: 35px;
}

#bottom_area .sns-list .facbook img {
	width: 100%;
	height: auto;
}

#bottom_area .sns-list .line {
	width: 35px;
}

#bottom_area .sns-list .line img {
	width: 100%;
	height: auto;
}


/*------------------------------------------------------------------------------
#contact
 -------------------------------------------------------------------------------*/

#contact {
    margin-inline: auto;
    max-width: 1000px;
    width: 95%;
    margin: 0 auto;
	padding: 70px 0;
    text-align: center;
	background-color: #f2ebda;
	border-radius: 30px 30px 0 0;
}

#contact h2 {
    margin-bottom: 30px;
}

#contact .contact_innner {
	margin: 0 auto;
    padding: 2.5rem 2rem;
    background-color: #fff;   
	width: min(83.8666666667%, 660px);
	border-radius: 20px;
/*    background: url("../img/bg_white_texture.jpg") repeat;*/
    color: #560e05;
	text-align: left;
	font-weight: 500;
}

#contact .contact_innner .phone-num {
	font-size: 24px;
	color: #1c92a2;
	font-weight: 600;
}

#contact .contact_innner .sup {
	font-size: 14px;
}

#contact .contact_innner p {
    font-size: 17px;
    line-height: 150%;
}

#contact .contact_innner p a {
    font-weight: bold;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

#contact .contact_innner p a:link {
    color: #ad8f65;
}

#contact .contact_innner .note-list {
    margin-top: 15px;
    font-size: 12px;
    text-align: center;
    line-height: 160%;
}

#contact .contact_innner .note-list li:before {
     content: "※";   
}

#contact .contact_innner .note-list li {
    line-height: 140%;
    margin-bottom: 0px;
    display: block;
}

#contact .banner_list {
	margin-top: 35px;
	display: flex;
	list-style-type: none;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

#contact .banner_list li img {
	max-width: 270px;
	width: 100%;
}

#contact .contact_innner p a.tel-link:link {
	text-decoration: none;
	color: #1c92a2;
}

/* 店舗電話番号 */
@media (hover: hover) and (pointer: fine) {
  .tel-link {
    pointer-events: none;
    text-decoration: none;
    color: inherit;
    cursor: default;
  }
}

.sns_area {
    margin-inline: auto;
    margin: 0 auto; 
    margin-top: 30px;
    width: 612px;
    text-align: center;
}

.sns_area h3 img {
    width: 240px;    
}

.sns_area .ex_box {
    display: flex;
    align-items: center;
}

.sns_box {
    padding: 2.5rem 2rem;
    background-color: #c21b1e;    
    border-radius: 15px;
    margin-left: 30px;
}

.sns_box ul {
    list-style-type: none;
    text-align:left;
}

.sns_box .sns-list {
    display: flex;
    flex-direction: column;
    gap: .625rem; 
}

.sns_box .sns-list img {
    margin-right: 8px;
    width: 1.75rem;
    vertical-align: middle;
}

.sns_box ul {
    list-style-type: none;
    text-align:left;
}

.sns_box ul li a {
    color: #fff;
    font-weight: bold;
}

.sns_box ul li a:link {
    color: #fff;
}

button{
	border: none;
	background-color: transparent;
}


@media all and (max-width:1120px) {
	
	#plan01{
		display: block;
		margin: 4.95vw auto 7.15vw;
		text-align: center;
	}

	.inner_plan01{
		background: url(../img/frame_contents_mid.png) repeat-y center top -1px;
		position: relative;
		background-size: contain;
		margin: -0.2vw 0;

	}
	
	#plan01::before{
		content: "";
		display: block;
		width: 92vw;
		height: 8.79vw;
		margin: 0 auto;
		background: url("../img/frame_contents_top.png") no-repeat center bottom ;
		background-size: contain;

		}
	#plan01::after{
		content: "";
		display: block;
		width: 92vw;
		height: 4.79vw;
		margin: 0 auto;
		background: url("../img/frame_contents_btm.png") no-repeat center top;
		background-size: contain;

		}

	h2.ttl_plan01{
		position: absolute;
		width: 100%;
		top: -11.83vw;
		left: 0;
	}
	
	h2.ttl_plan01 img{
		width: 100vw;
		left: -3.9vw;
		position: absolute;
		z-index: 1;
	}
	p.period_plan01::before{
		width: min(145px, 19.33vw);
		height: min(200px, 26.66vw);
		background-size: contain;
		top: 29.95vw;
		left: -2.41vw;
	}
	p.period_plan01::after{
		width: min(116px, 15.46vw);
		height: min(196px, 26.13vw);
		background-size: contain;
		top: -8.69vw;
		right: 2.41vw;
		z-index: 0;
	}
    
	.contents_plan01{
		width: 92vw;
		margin: auto;
		padding: 40.57vw 0 3.45vw;
	}
	
	.contents_plan01 img{
		width: min(534px, 71.2vw);
		margin: auto;
		
	}

	button{
		border: none;
		background-color: transparent;
	}
	
}

@media all and (max-width:1120px) {
	
	#plan02{
		display: block;
		margin: 4.95vw auto 0;
		text-align: center;
	}

	.inner_plan02{
		background: url(../img/frame_contents_mid.png) repeat-y center top -1px;
		position: relative;
		background-size: contain;
		margin: -0.2vw 0;

	}
	#plan02::before{
		content: "";
		display: block;
		width: 92vw;
		height: 8.79vw;
		margin: 0 auto;
		background: url("../img/frame_contents_top.png") no-repeat center bottom ;
		background-size: contain;

		}
	#plan02::after{
		content: "";
		display: block;
		width: 92vw;
		height: 8.79vw;
		margin: 0 auto;
		background: url("../img/frame_contents_btm.png") no-repeat center top;
		background-size: contain;

		}

	h2.ttl_plan02{
		position: absolute;
		top: -12.83vw;
		left: 0;
	}

	h2.ttl_plan02 img{
		width: 100vw;
        left: -3.9vw;
        position: absolute;
        z-index: 1;
	}

	.contents_plan02{
		width: 92vw;
		margin: auto;
		padding: 42vw 0 6vw;
	}
	
	.period_plan02 img {
        width: min(504px, 67.2vw);
        margin: auto;
    }

	p.txt_plan02{
		padding: 3.65vw 0 5.272vw;
        letter-spacing: 0.01em;
		font-size: min(26px, 3.46vw);
		line-height: 145%;
        font-weight: 600;
	}
	
	
	#plan03 {
		display: block;
		margin: 4.95vw auto 10.95vw;
/*		padding: 0 4.95vw;*/
		text-align: center;
/*		box-sizing:border-box;*/
	}
	
	#project #plan01 .plan_inner, #project #plan02 .plan_inner,#project #plan03 .plan_inner {
		padding: 7.86667% 8.88888% 16.73333%;
		width: 92vw;
	}
		
	#project #plan01 .plan_inner .heading-label {
		margin: 0 auto;
		margin-top: 20px;
		width: 55%;
		height: auto;
	}
	
	#project #plan02 .plan_inner .heading-label, #project #plan03 .plan_inner .heading-label {
		margin: 0 auto;
		margin-top: 20px;
		width: 70%;
		height: auto;
	}
	
	#project #plan01 .plan_inner .heading-label img, #project #plan02 .plan_inner .heading-label img, #project #plan03 .plan_inner .heading-label img {
		width: 100%;
		height: auto;
	}
	
	#project #plan01 .plan_inner .fair_ttl, #project #plan02 .plan_inner .fair_ttl, #project #plan03 .plan_inner .fair_ttl {
		margin-top: 10px;
		margin-bottom: 10px;
	}

	#project #plan01 .plan_inner .h_icon, #project #plan02 .plan_inner .h_icon, #project #plan03 .plan_inner .h_icon, #project #extra .extra_inner .h_icon {
		margin: 0 auto;
		width: 32%;
		height: auto;
	}
	
	#project #plan01 .plan_inner .h_icon img, #project #plan02 .plan_inner .h_icon img, #project #plan03 .plan_inner .h_icon img, #project #extra .extra_inner .h_icon img {
		width: 100%;
		height: auto;
	}
	
	#plan02 .fair_term {
		margin: 0 auto;
		width: 92%;
		height: auto;
	}
	
	#plan02 .fair_term img {
		width: 100%;
		height: auto;
	}
	
	.column_item .fair-item_image {
		margin: 0 auto;
		width: 80%;
		height: auto;
	}
	
	.column_item .fair-item_image img {
		width: 100%;
		height: auto;
		border: 1px solid #1c92a2;
	}
	
	.column_item .fair-item_text .fair-item-catch {
		margin-top: 10px;
		font-size: 15px;
	}
	
	.privilege_intro-item {
		margin-top: 0;
		margin-bottom: 90px;
	}
	
	.privilege_intro-body.item01 {
		margin-top: 55px;
	}

	#extra {
		display: block;
		margin: 13.95vw auto 10.95vw;
		text-align: center;
		background: none;
		outline-offset: 0;
		box-shadow:none;
		outline :none;
	}

	#project #extra .extra_inner {
		margin: 0 auto;
		margin-top: 6.66667%;
		padding: 8.86667% 3.88888% 9.73333%;
		display: block;
		text-align: center;
		border-radius: 800px 800px 0px 0px;
		width: 92vw;
		max-width: 100%;
		position: relative;
		height: auto;
		outline : 1px solid #1d92a2; /* 線の太さ・線状・色 */
		outline-offset : -6px; /* どれだけ内側に線を表示したいかを負の値で指定 */
		background : #fff; /* ボックスやボタンの背景色 */
		box-sizing:border-box;
		z-index: 99;
	}
	
	#extra .fair_contents {
		margin-top: 25px;
		flex-direction: column-reverse;
		gap: 8px;
	}
	
	.fair_contents .fair-deco_text ul.list_pc {
		display: none;
	}
	
	#extra .fair_contents .list_sp {
		margin-top: 8px;
		display: block;
		list-style-type: none;
		text-align: left;
		font-size: 11px;
		line-height: 140%;
	}
	
}

/*------------------------------------------------------------------------------
 footer
 -------------------------------------------------------------------------------*/

#footer {
    margin: 50px auto 100px auto;
    text-align: center;
    color: #fff;
}

#footer .corp-logo > a > img {
	max-width: 160px;
}

#footer .footer__copy {
	margin-top: 35px;
    font-size: 12px;
}

#footer .corp-logo a:hover {
	    opacity:0.9;
}


/*------------------------------------------------------------------------------
 スマートフォン用の記述
 -------------------------------------------------------------------------------*/
@media all and (max-width:768px) {
	    
    br.pc{
	display: none;
	}

    br.sp {
        display:block;
    }

    #mv {
        padding-top: 0;
        width: 100%;
        height: auto;
    }
    #mv .mv__body {
        width: 100%;
		box-shadow: none;
	}
	
	.fair_term img {
        width: 100%;
	}
	    
	.container{
		background: none;
	}
	
	#in-page-links {
		margin-top: 30px;
		margin-bottom: 40px;
		flex-direction: column;
	}
	
	#in-page-links li {
		margin: 0 auto;
		width: 86%;
		height: auto;
	}
	
	#in-page-links li img {
		width: 100%;
		height: auto;
	}
	
	#project #plan01::before {
		height:25.79vw;
		top: 0;
		background-size: cover;
	}
	
	#project #plan02::before {
		height:25.79vw;
		top: 0;
		background-size: cover;
	}
	
	#project #plan03::before {
		height:25.79vw;
		top: 0;
		background-size: cover;
	}
	
	#project #extra::before {
		content: "";
		display: block;
		width: 100%;
		height: 18.79vw;
		margin: 0 auto;
		background: url(../img/back_ttl_deco.png) repeat-x left bottom;
		background-size: cover;
		position: absolute;
		top: 0;
	}
	
	.fair_contents {
		flex-direction: column;
		width: min(98%, 430px);
		margin-top: 20px;
	}
	
	#plan02 .fair_contents {
		margin-top: 30px;
		margin-bottom: 50px;
		gap: 20px;
	}
	
	.fair_contents .fair-stamp_text {
		text-align: center;
	}
	
	#project #plan01 .notice {
		line-height: 140%;
		width: min(98.8666666667%, 910px);
		font-size: 12px;
	}
	
	.quiz-r_step .quiz-r_step-box .quiz-r__step_txt {
		font-size: 14px;
	}
	
	#project #plan02 .notice {
		margin-top: 5px;
		font-size: 12px;
	}
	
	.column_item .list-button {
		width: 80%;
		height: 55px;
	}
	
	#plan02 .list-button {
		margin-top: 15px;
	}
	
	.list-button {
		width: 100%;
	}
	
	.fair-stamp_image {
		width: 100%;
		height: auto;
	}
	
	.fair-stamp_image img {
		width: 100%;
		height: auto;
	}

	#plan02	.fair_ttl {
		margin: 0 auto;
		width: 94%;
		height: auto;
	}
	
	.fair_ttl {
		margin: 0 auto;
		width: 84%;
		height: auto;
	}
	
	.fair_ttl img {
		width: 100%;
		height: auto;
	}
	
	#extra .extra_inner .fair_ttl {
		margin: 0 auto;
		margin-top: 22px;
		width: 62%;
		height: auto;
	}
	
	.fair_contents .fair-deco_text {
		text-align: center;
	}
	
	.fair_contents .fair-deco_catch {
		margin-bottom: 12px;
		font-size: 18px;
	}
	
	.fair_contents .fair-deco_detail {
		font-size: 14px;
	}
	
	#plan03 .atd_text {
		margin: 0 auto;
		width: 84%;
		height: auto;
	}
	
	#plan03 .atd_text img {
		width: 100%;
		height: auto;
	}
	
	.privilege_intro-item-bg:before {
		height: 100%;
	}

	.privilege_intro-item-bg-edge:before {
		top: -1.3rem;
	}
	
	.privilege_intro-item-bg-edge:after {
		bottom: -3.85rem;
	}

	.privilege_intro-body.item02 .privilege_intro-item-bg-edge:after {
		bottom: -3.85rem;
	}
	
	#plan03 .plan_inner .list-button.sp {
		margin-top: 0;
	}
	
	.list-button.sp {
		display: flex;	
	}
	
	.privilege_intro-body.item02 {
		margin-top: 25px;	
	}
	
	#intro .inner h3 img {
		width: 100%;
		height: auto;
	}
	
	#plan01 .fair_term {
		margin: 0 auto;
		margin-bottom: 10px;
		width: 74%;
		height: auto;
	}
	
	#plan01 .fair_term img {
		width: 100%;
		height: auto;
	}
	
	#project #plan01 .plan_inner .fair_ttl {
		margin: 0 auto;
		margin-top: 20px;
		margin-bottom: 15px;
		width: 75%;
		height: auto;
	}
	
	#project #plan01 .plan_inner .fair_ttl img {
		width: 100%;
		height: auto;
	}
	
	.column_item .fair-item_text .fair_term img {
		width: 100%;
	}
	
	.column_item .column_item_inner {
		flex-direction: column;
		width: 100%;
		margin-top: 75px;
	}
	
	.column_item .fair-item_text .fair-item_image.sp {
		display: block;
	}
	
	.column_item .column_item_inner::before {
		background-image: url(../img/plan_deco-line_sp.png);
	}
	
	.column_item .fair-item_text .fair-item_ttl {
		margin: 0 auto;
		margin-bottom: 15px;
		width: 74%;
		height: auto;
	}
	
	.column_item .fair-item_text {
		margin-top: -20px;
	}
	
	.column_item .fair-item_text .fair-item_ttl img {
		width: 100%;
		height: auto;
	}
	
	.privilege_intro-item-catch {
		margin: 0 auto;
		margin-bottom: 15px;
		margin-top: 30px;
		width: 70%;
		height: auto;
	}
	
	.privilege_intro-item-catch img {
		width: 100%;
		height: auto;
	}
	
	.privilege_intro-item-img {
		margin: 0 auto;
		width: 86%;
		height: auto;
	}
	
	.privilege_intro-item-img img {
		width: 100%;
		height: auto;
	}
	
	.privilege_intro-item-text .item-text-catch {
		font-size: 16px;
	}
	
	.privilege_intro-item-text .item-text-detail {
		margin: 0 auto;
		margin-top: 15px;
		width: 86%;
		font-size: 14px;
	}
	
	#extra .fair_contents .fair-item_image {
		margin: 0 auto;
		width: 86%;
		height: auto;
	}
	
	#extra .fair_contents .fair-item_image img {
		width: 100%;
		height: auto;
	}
	
	.privilege_intro-body.item02 .privilege_intro-item-bg:before {
		height: 100%;
	}
	
	.privilege_intro-details {
		flex-direction: column;
		width: 90%;
		gap: 15px;
	}
	
	.quiz-r_step {
		width: 100%;
		height: 100%;
		overflow-x: scroll;
		overflow-y: hidden;
		flex-wrap: nowrap;
		scrollbar-width: none;
		padding: 6.0666666667vw 1vw;
		gap: 5.3333333333vw;
		position: relative;
		z-index: 999;
	}
	
	.quiz-r_step .quiz-r_step-box {
		width: 100%;
		padding: 10.1333333333vw 0 7.2vw 0;
  	}
	
	.quiz-r_step .quiz-r_step-box_innner {
		max-width: 100%;
		padding-left: 6.4vw;
		padding-right: 6.4vw;
	}
	
	#plan02 h4 {
		margin-bottom: 10px;
		padding: 8px 0;
	}
	
	h2 {
        margin: 0 auto;
		margin-top: 20px;
        width: 80%;
		height: auto;
	}
    
	h2 img {
        max-width: 100%;
		height: auto;
	}
	
    .container {
        width: 100%;
		box-shadow: none;
    }
	
	.btn_area{
		display: flex;
		justify-content: flex-start;
		margin: 2.4vw 0;
		font-family: 'Noto Sans JP', sans-serif,Arial,'ＭＳ Ｐゴシック','MS P Gothic','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',sans-serif,Helvetica;
		font-weight: bold;
		flex-direction: column;
	}
	
	.quiz-r_step .quiz-r_step-box .quiz-r__step_title {
		width: min(130px, 15.692308vw);
		top: -65px;
		left: -3%;
	}
	
	.quiz-r_step .quiz-r_step-box .quiz-r__step_title img {
		width: 100%;
		height: auto;
	}
	
	#intro::before {
		background-image: url(../img/intro_deco-line_sp.png);
	}
	
	#intro::after {
	    content: "";
	    position: absolute;
	    left: 0;
	    right: 0;
		bottom: 20px;
		background-image: url(../img/intro_deco-line_sp.png);
	    background-repeat: no-repeat;
	    background-size: contain;
	    width: 100%;
	    height: min(646px, 13.5384615385vw);
	    z-index: 10;
	}
	
	#intro .inner {
		margin: 0;
		padding-top: 70px;
		padding-bottom: 260px;
		border-top: 2px solid #c1b4a1;
		border-left: 2px solid #c1b4a1;
		border-right: 2px solid #c1b4a1;
	}
	
	#intro .inner h3 {
		margin-bottom: 10px;
	}
	
	#intro .inner p {
		margin-top: 0;
		font-size: 16px;
	}
	
	#intro .rozemyne {
		bottom: 0;
		width: 70%;
	}
	
	#project {
		padding-top: 45px;
		background-size: 100%; 
	}
	
	#footer {
		margin-bottom: 0;
	}

	#bottom_area {
		margin-top: 60px;
	}
    
    #outline {
        margin-inline: auto;
        width: calc(100% - 2.5rem);
    }
    
    #outline .outline_innner .data-list .data-list_item dt {
        padding: 0.05rem 0.4rem;
    }
    
    #outline .outline_innner .data-list .data-list_item .maplink {
        margin-left: 0;
    }
    
    #contact {
        margin-inline: auto;
		margin-top: 65px;
		padding: 16.4vw 6.4vw;
        width: 100%;
        text-align: center;
		box-sizing:border-box;
    }
	
	#contact h2 {
		width: 70%;
		margin-top: 0;
	}

    .point_img img {
        height: auto;
        max-width: 100%;
        width: 100%;
    }
	
	#contact .contact_innner p {
		font-size: 14px;
	}
        
	#contact .banner_list {
		border-top: 1px dashed #c1b4a1;
		flex-direction: column;
		text-align: center;
		margin-left: 0;
        margin-top: 30px;
        padding-top: 30px;
        width: 100%;
        gap: 0.1rem;
	}

	.banner_list li {
		margin-right: 0;
        margin-bottom: 8px;
	}

	.banner_list li img {
		max-width: 352px!important;
		width: 100%;
	}

	#copyright{
		margin-top: 36px;
		padding-bottom: 0;
	}
	#copyright img {
		max-width: 345px;
		width: 100%;
	}
	.banner_list li img {
        max-width: 300px;
        width: 85vw;
    }
    
    #contact .contact_innner .note-list {
        text-align: left;
    }
 
    #contact .contact_innner .note-list li {
        line-height: 150%;
        margin-bottom: 0px;
        display: flex;
        gap: .25rem;
    }
    
    #bottom_area .bottom_area_innner::before {
        background-image: url(../img/bg_check_line_top_sp.png);
        height: 6.1333333333vw;
    }
}

@media all and (max-width:1100px) {
	.sp{
		display: block;
	}
	.pc{
		display: none;
	}
    
}
