@charset "UTF-8";
/*
	Web Fonts
-----------------------------------------------------------------------------------------------*/
@font-face{
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Light.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Black.woff2") format("woff2");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face{
	font-family: "Outfit";
	src: url("../fonts/Outfit-Thin.woff2") format("woff2");
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Outfit";
	src: url("../fonts/Outfit-Light.woff2") format("woff2");
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Outfit";
	src: url("../fonts/Outfit-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Outfit";
	src: url("../fonts/Outfit-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family: "Outfit";
	src: url("../fonts/Outfit-SemiBold.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "CustomBracket";
	src: local("Hiragino Sans W5"), /* Mac ヒラギノ角ゴシック W5 */
		local("Hiragino Sans W4"), /* Mac ヒラギノ角ゴシック W4 */
		local("Yu Gothic Medium"), /* Windows 游ゴシック Medium */
		local("YuGothic-Medium"),  /* Windows 游ゴシック (別名) */
		local("YuGothic"),         /* Mac 游ゴシック */
		local("Meiryo");           /* Windows メイリオ */
	unicode-range: U+FF08, U+FF09, U+300C, U+300D, U+300E, U+300F;
	font-weight: 100 900;
}



/*
	Reset CSS
-----------------------------------------------------------------------------------------------*/
/***
    The new CSS reset - version 1.7.3 (last updated 7.8.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)){
	all: unset;
	display: revert;
}
*,*::before,*::after{
	box-sizing: border-box;
}
a, button{
	cursor: revert;
}
ol, ul, menu{
	list-style: none;
}
img{
	vertical-align: top;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
input, textarea{
	-webkit-user-select: auto;
	user-select: auto;
}
textarea{
	white-space: revert;
}
meter{
	-webkit-appearance: revert;
	appearance: revert;
}
::placeholder{
	color: unset;
}
:where([hidden]){
	display: none;
}
:where([contenteditable]:not([contenteditable="false"])){
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	line-break: after-white-space;
	-webkit-user-select: auto;
	user-select: auto;
}
:where([draggable="true"]){
	-webkit-user-drag: element;
}

/*
	Setting CSS
-----------------------------------------------------------------------------------------------*/
html{
	font-size: 62.5%;
}

body {
	font-family: "Outfit", "CustomBracket", "Zen Kaku Gothic New", sans-serif;
	font-size: 1.5em;
	font-weight: 500;
	font-feature-settings: "palt";
	overflow-wrap: break-word;
}

@supports (-webkit-touch-callout: none) {
	body {
		-webkit-text-size-adjust: none;
	}
}
p{
	line-height: 1.5;
}
a{
	color: #000;
	text-decoration: none;
	transition: all 0.5s;
}
a:link{
	color: #000;
}
a:visited{
	color: #000;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* button初期化 */
button{
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	font-family: inherit;
	background: none;
	border: none;
	outline: none;
}

@media print, screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}
	/* tel pcのみ無効 */
	a[href^="tel:"]{
		pointer-events: none;
	}
}

/* 表示切替 */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}
@media screen and (max-width:812px){
	.pc{
			display:none;
		}
	.sp{
		display:block;
	}
}


/*
	common
-----------------------------------------------------------------------------------------------*/
/* 変数 */
:root{
	/* color */
	--colorbgMain:#fffef3;
	--colorWhite:#fff;
	--colorBlack:#000;
	--colorMainBlue:#009ce5;
	--colorMainEmerald:#00b0a8;
	--colorEmerald50:#80d7d3;
	--colorEmerald15:#d9f3f2;
	--colorMainOrange:#f08000;
	--colorOrange85:#f19326;
	--colorOrange50:#fced98;
	--colorOrange20:#fdf6cb;
	--colorMainGreen:#70ba48;
	--colorGreen10:#f1f8ed;
	--colorGreen50:#b7dca3;
	--colorGreen35:#cde7bf;

	--colorGrey50:#918c8a;
	--colorGrey10:#e9e8e8;
	--colorGrey5:#f2f2f2;

	/* gradation */
	--bgGdBlue:
		radial-gradient(circle at 0% 0%, rgba(143, 220, 255, .4) 0%, transparent 45%),
		radial-gradient(circle at 100% 0%, rgba(255, 245, 157, .4) 0%, transparent 40%),
		radial-gradient(circle at 0% 100%, rgba(255, 245, 157, .4) 0%, transparent 40%),
		radial-gradient(circle at 100% 100%, rgba(143, 220, 255, .4) 0%, transparent 45%),
		#edf8f3;
	--bgGdPink:
		radial-gradient(circle at 0% 0%, rgba(255, 210, 225, .45) 0%, transparent 45%),
		radial-gradient(circle at 100% 0%, rgba(255, 244, 170, .45) 0%, transparent 40%),
		radial-gradient(circle at 0% 100%, rgba(255, 244, 170, .45) 0%, transparent 40%),
		radial-gradient(circle at 100% 100%, rgba(255, 210, 225, .45) 0%, transparent 45%),
		#fff9ef;

	/* stripe */
	--bgStripeOrange: repeating-linear-gradient(
		-45deg,
		#f19326,
		#f19326 5px,
		#f08000 5px,
		#f08000 10px
	  );

	/* shadow */
	--shadowBase: 0 0 12px rgba(0, 0, 0, 0.2);

	/* background */
	--bgGrey:#f2f2f2;
	--bgCream:#FFF6E5;
	--bgNoise: url("../images/bg_noise.png") repeat top left / 100px auto;

	/* Background Pattern */
	--bgDotsGreen: radial-gradient(circle, #b7dca3 1px, transparent 1px);
	--bgDotsOrange: radial-gradient(circle, #f08000 1px, transparent 1px);
	--bgDotsWhite: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0.5px, transparent 0.5px);
	--bgDotsSize: 10px 10px;
	--bgDotsSizeS: 6px 12px;

	/* width */
	--widthBase: 1160px;
	--width1000: 1000px;

	/* font-family */
	--ffEn: "Montserrat", sans-serif;
	--ffEn02: "Outfit", sans-serif;

	/* 角丸 */
	--br50: 50px; /*  */
	--br30: 30px; /*  */
	--br20: 20px; /*  */
	--br10: 10px;
}

/* box
============================== */
/* wrapper */
#wrapper{
	background-color: #fff;
	position:relative;
	overflow: hidden;
}

/* ctsWrapper */
#ctsWrapper{
	padding-bottom: 150px;
}

/* ctsArea */
.ctsArea{
	width: var(--widthBase);
	margin: 0 auto;
	padding-inline: 30px;
	position: relative;
	z-index: 1;
}
@media screen and (max-width:812px){
	.ctsArea{
		width: 100%;
		max-width: 600px;
		padding-inline: 15px;
	}
}

/* 文字詰め
============================== */
.paren03 {
    margin-left: -.3rem;
}
.paren05 {
    margin-left: -.5rem;
}
.paren08 {
    margin-left: -.8rem;
}
.paren18 {
    margin-left: -0.4rem;
}
/* 影 角丸
============================== */
.card {
	background-color: var(--colorWhite);
	border-radius: var(--br30);
	box-shadow: var(--shadowBase);
}
@media screen and (max-width:812px){
	.card {
		border-radius: var(--br20);
	}
}

/* タイトル
============================== */
/* h2 */
.cateTit {
	display: flex;
	flex-direction: column;
	font-size: 3.8rem;
	font-family: var(--ffEn);
	font-weight: 700;
	line-height: 1.1;
	color: var(--colorMainBlue);
	margin-bottom: 15px;
}
.camteSubTit {
	font-size: 1.2rem;
	letter-spacing: .25rem;
	color: var(--colorGrey50);
}
.headerMenuInner .colorGr {
	color: var(--colorGreen35);
}
@media screen and (max-width:812px){
	/* タイトル
	============================== */
	/* h2 */
	.cateTit {
		font-size: 3.3rem;
		margin-bottom: 8px;
	}
	.camteSubTit {
		font-size: 1.1rem;
		letter-spacing: .1rem;
	}
}

/* 注釈
============================== */
/*　米印 */
[class^="note"] {
	position: relative;
	padding-left: 17px;
	line-height: 1.3;
	text-align: justify;
	line-height: 1.5;
}
[class^="note"]::before {
	position: absolute;
	content: "※";
	top: 0;
	left: 0;
}
.note {
	font-size: 1.4rem;
	font-weight: 400;
}
a.orangeColorNote {
	color: var(--colorMainOrange);
	border-bottom: 1px solid var(--colorMainOrange);
}
a.EmeraldColorNote {
	color: var(--colorMainEmerald);
	border-bottom: 1px solid var(--colorMainEmerald);
}
/*　コンマ */
.noteComma::before {
	content: "・";
}
/*　四角 */
.noteSquare::before {
	content: "■";
}
/*　modal */
.noteModalTxt {
	display: flex;
}
.noteModalTxt::before {
	content: "個人情報保護管理者：";
	width: 160px;
}

@media screen and (max-width:812px){
	/*　米印 */
	[class^="note"] {
		padding-left: 13px;
	}
	.note {
		font-size: 1.2rem;
		padding-left: 13px;
		margin-top: 3px;
	}
	/*　コンマ */
	.noteComma {
		font-size: 1.3rem;
	}
	.noteModalTxt {
		flex-direction: column;
	}
}

/* 装飾
============================== */
.decoLine::before,
.decoLine::after {
	content: "";
	position: absolute;
	width: 12px;
	border-radius: 999px;
	background: var(--colorMainGreen);
}

.decoLine::before {
    width: 3px;
    height: 20px;
    bottom: 0px;
    left: -43px;
    transform: rotate(-24deg);
}

.decoLine::after {
    width: 3px;
    height: 30px;
    bottom: 0;
    left: -32px;
    transform: rotate(-16deg);
}

/* 右用 */
.decoLine--reverse::before {
	left: auto;
	right: -43px;
	transform: rotate(24deg);
}

.decoLine--reverse::after {
	left: auto;
	right: -32px;
	transform: rotate(16deg);
}

/* スージー（小） */
.sns::before,
.tokyoWalk .walkList::before,
.appWalk .period::before {
	position: absolute;
	content: "";
	width: 75px;
	height: 75px;
	background: url(../images/item_susie_sns.svg) no-repeat center center / cover;
    top: -65px;
    right: 70px;
}
.tokyoWalk .walkList::before {
	background: url(../images/item_susie_wakuwaku02.svg) no-repeat center center / cover;
	top: -75px;
	left: 100px;
}
.appWalk .period::before {
	background: url(../images/item_susie_app02.svg) no-repeat center center / cover;
    top: -70px;
    right: 50px;
    z-index: 2;
}
@media screen and (max-width:812px){
	/* 装飾
	============================== */
	.sns::before, .tokyoWalk .walkList::before, .appWalk .period::before {
        width: 65px;
        height: 65px;
        top: -60px;
        right: 30px;
	}
	.tokyoWalk .walkList::before {
		background: url(../images/item_susie_wakuwaku02.svg) no-repeat center center / cover;
        top: -62px;
        left: 20px;
        z-index: 222;
	}
	/* 装飾
	============================== */
	.decoLine::before,
	.decoLine::after {
		content: "";
		position: absolute;
		width: 12px;
		border-radius: 999px;
		background: var(--colorMainGreen);
	}

	.decoLine::before {
		width: 3px;
		height: 30px;
		bottom: 0px;
		left: -25px;
	}

	.decoLine::after {
		width: 3px;
		height: 50px;
		bottom: 0px;
		left: -15px;
	}

	/* 右用 */
	.decoLine--reverse::before {
		left: auto;
		right: -30px;
		transform: rotate(24deg);
	}

	.decoLine--reverse::after {
		left: auto;
		right: -20px;
		transform: rotate(16deg);
	}
	}

/* tokyoWalk + appWalk
============================== */
/* walkList */
.walkList {
	position: relative;
	display: flex;
	gap: 50px;
	margin-top: 50px;
}
.walkList .walkCtsArea {
	position: relative;
    z-index: 2;
	min-width: 525px;
}
.walkList .walkCtsArea img{
	border-radius: 30px 30px 0 0 ;
}
.walkList .walkCtsArea img.bnr {
	border-radius: 0;
	width: 70%;
	margin: 15px auto 0;
}
/* walkTitArea h2 */
.walkTitArea {
	margin-top: -162px;
}
.walkTitArea img {
	width: 480px;
}
.walkTit {
	position: relative;
	width: fit-content;
    margin: 0 auto;
}
.walkTit::before {
	position: absolute;
	content: "";
	width: 140px;
	height: 150px;
	background: url(../images/item_susie_wakuwaku01.svg) no-repeat center center / cover;
    top: 20px;
    right: -155px;
}
.walkTitArea .txt {
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
	line-height: 1;
	line-height: 1.3;
}
/* walkReadBox */
.walkReadBox .No {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .25rem;
    width: fit-content;
    color: var(--colorWhite);
    background-color: var(--colorMainOrange);
    border-radius: 10px 50px 50px 10px;
    padding: 17px 45px 19px 40px;
}
.walkReadBox .No span {
	font-size: 3.3rem;
}
.walkReadBox .tit {
	font-size: 3rem;
	font-weight: 800;
}
.walkReadBox .dayEntryBox {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.walkReadBox .dayEntry {
	line-height: 1;
	border-radius: var(--br20);
	padding: 10px 20px;
	color: var(--colorMainOrange);
	background-color: var(--colorOrange50);
}
/* infoList */
.infoList [class^="label0"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    font-weight: 700;
	text-align: center;
    line-height: 1.2;
    min-width: 95px;
    min-height: 45px;
    color: var(--colorMainOrange);
	background-color: var(--colorWhite);
    border: 1px solid var(--colorMainOrange);
    border-radius: var(--br10);
    padding: 5px 10px;
}
.infoList .label01 {
	background-color: var(--colorOrange50);
}
.infoList li {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 10px;
}
.infoList li:last-child {
	margin-bottom: 0;
}
.infoList .value01 {
	font-size: 2.1rem;
	font-weight: 700;
	letter-spacing: .2rem;
}
.infoList .value01 span {
	font-size: 4rem;
}
.infoList .value02 {
	font-size: 2.1rem;
	letter-spacing: .05rem;
}
@media screen and (max-width:812px){
	/* tokyoWalk + appWalk
	============================== */
	/* walkList */
	.walkList {
		flex-direction: column;
		gap: 30px;
		margin-top: 30px;
	}
	.walkList .walkCtsArea {
		min-width: auto;
	}
	.walkList .walkCtsArea img{
		border-radius: 20px 20px 0 0 ;
	}
	.walkTitArea img {
		max-width: 450px;
		width: 90%;
		margin: 0 auto;
	}
	/* walkTitArea h2 */
	.walkTitArea {
		margin-top: -110px;
	}
	.walkTitArea .txt {
		font-size: 1.4rem;
		line-height: 1.3;
	}
	.walkTit::before {
		position: static;
	}
	/* walkReadBox */
	.walkReadBox .No {
		font-size: 1.6rem;
		border-radius: 8px 50px 50px 8px;
		padding: 5px 25px 10px 20px;
	}
	.walkReadBox .No span {
		font-size: 2.5rem;
	}
	.walkReadBox .tit {
		font-size: 2.3rem;
	}
	/* infoList */
	.infoList [class^="label0"] {
		font-size: 1.2rem;
		min-width: 82px;
		min-height: 40px;
	}
	.infoList .value01 {
		font-size: 1.6rem;
		font-weight: 600;
	}
	.infoList .value01 span {
		font-size: 2.6rem;
	}
	.infoList .value02 {
		font-size: 1.6rem;
	}
	.infoList li {
		align-items: center;
	}
	.walkReadBox .dayEntryBox {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		gap: 6px;
		flex-direction: column;
	}
	.walkReadBox .dayEntry {
		line-height: 1;
		border-radius: var(--br20);
		padding: 5px 10px;
		color: var(--colorMainOrange);
		background-color: var(--colorOrange50);
	}
	.walkList .walkCtsArea img.bnr {
		border-radius: 0;
		width: 100%;
	}
}

/* tokyoWalk + appWalk walkInfoArea
============================== */
.walkCmn {
	margin-top: -50px;
	padding-block: 90px 260px;
	border-radius: 60px 60px 0 0;
}
.walkInfoArea {
	position: relative;
	margin-top: 60px;
}
.walkInfoArea .tit {
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    color: var(--colorWhite);
    background-color: var(--colorMainOrange);
    border-radius: var(--br10);
    padding: 10px;
    margin-bottom: 20px;
}
.walkInfoList {
	display: flex;
	gap: 20px;
}
.walkInfoBox {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 50px;
	z-index: 2;
}
/* walkInfoTxtBox */
[class^="walkInfoTxtBox"] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: var(--br20);
}
[class^="walkInfoTxtBox"] .subTxt {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--colorMainOrange);
	line-height: 1;
}
[class^="walkInfoTxtBox"] .txt {
	font-size: 3.2rem;
	font-weight: 700;
}
[class^="walkInfoTxtBox"] > p {
	width: 100%;
	text-align: center;
}
.walkInfoTxtBox1clm {
	padding: 35px 0;
	background-color: var(--colorOrange50);
	min-width: 162px;
	min-height: 173px;
}
.walkInfoTxtBox2clm {
	min-width: 162px;
}
.walkInfoTxtBox2clm .subTxt {
	padding-block: 20px;
	background-color: var(--colorOrange50);
}
.walkInfoTxtBox2clm .txt {
	padding: 35px 0;
	background-color: var(--colorWhite);
}
.walkInfoList .txt span {
	font-size: 2rem;
}

@media screen and (max-width:812px){
	/* tokyoWalk + appWalk walkInfoArea
	============================== */
	.walkInfoArea .tit {
		font-size: 1.4rem;
		padding: 8px;
	}
	.walkCmn {
		margin-top: -50px;
		padding-block: 70px 170px;
		border-radius: 30px 30px 0 0;
	}
	.walkInfoTxtBox2clm {
		min-width: auto;
	}
	.walkInfoBox {
		flex-direction: column;
		gap: 30px;
	}
	.walkInfoList {
		flex-direction: column;
	}
	/* walkInfoTxtBox */
	[class^="walkInfoTxtBox"] .subTxt {
		font-size: 1.4rem;
		padding-block: 13px;
	}
	[class^="walkInfoTxtBox"] .subTxt {
		font-size: 1.4rem;
		padding-block: 3px;
	}
	[class^="walkInfoTxtBox"] .txt {
		font-size: 2.3rem;
	}
	.walkInfoTxtBox1clm {
		padding: 0;
		min-height: 100px;
	}
	.walkInfoTxtBox2clm {
		min-width: 162px;
	}
	.walkInfoTxtBox2clm .subTxt {
		padding-block: 13px;
	}
	.walkInfoTxtBox2clm .txt {
		padding: 15px 0;
	}
	.walkInfoList .txt span {
		font-size: 1.4rem;
	}
}

/* tokyoWalk + appWalk walkPresentArea
============================== */
.walkPresentArea {
	margin-top: 100px;
}
.walkInfoArea {
	position: relative;
	margin-top: 30px;
}
.walkPresentArea .itemTxt {
	font-family: var(--ffEn);
	font-size: 2rem;
	font-weight: 700;
	color: var(--colorOrange50);
	text-align: center;
	margin-bottom: 5px;
}
.walkInfoArea .note {
	font-size: 1.6rem;
}
.tokyoWalkArea .walkPresentArea .itemTxt {
	text-shadow: 0 0 4px rgba(255, 255, 255, .9), 0 0 8px rgba(255, 255, 255, .7), 0 0 14px rgba(255, 255, 255, .45);
}

.PresentTxtBox {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 25px;
	text-align: center;
	background-color: var(--colorWhite);
	border: 8px solid var(--colorOrange50);
	border-radius: 150px;
	width: fit-content;
	padding: 50px;
	margin: 0 auto;
}
.presentTxt .mainTxt {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 25px;
}
.presentTxt .mainTxt .blueLine {
	position: relative;
	font-size: 3.2rem;
	letter-spacing: -0.2rem;
	padding-right: 2px;
}
.presentTxt .mainTxt .blueLine::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 5px;
    background-color: var(--colorMainBlue);
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
}
.presentTxt .mainTxt .topMg {
	display: block;
	margin-top: 10px;
}
.presentTxt .txt {
	font-size: 1.4rem;
	line-height: 1.2;
	margin-top: 10px;
	max-width: 432px;
	text-align: justify;
}

.PresentTxtBox.double{
	min-width: 720px;
	border-radius: 201px;
	width: fit-content;
	padding: 50px;
	margin: 0 auto;
	height: 402px;
}
.PresentTxtBox.double .presentTxt .mainTxt .blueLine {
	position: relative;
	font-size: 2.4rem;
}
.PresentTxtBox.double .presentTxtArea{
	text-align: left;
}
.PresentTxtBox.double .presentTxt {
	position: relative;
}
.PresentTxtBox.double .presentTxt+.presentTxt{
	margin: 20px 0 0 0;
}
.PresentTxtBox.double .presentTxt .mainTxt {
	margin-bottom: 15px;
	line-height: 175%;
}
.ftbl{
	color: var(--colorMainBlue);
}
.PresentTxtBox.double .presentTxt .pin {
	width: 140px;
	position: absolute;
	right: -10px;
	top: -25px;
}

@media screen and (max-width:812px){
	.walkPresentArea {
		margin-top: 50px;
	}
	.walkPresentArea .itemTxt {
		font-size: 1.6rem;
	}
	.walkInfoArea .note {
		font-size: 1.2rem;
	}
	.PresentTxtBox {
        flex-direction: column;
        padding: 80px 40px;
        gap: 25px;
        border-radius: 150px;
		max-width: 330px;
	}
	.PresentTxtBox img {
		width: 120px;
	}
	.presentTxt .txt {
		font-size: 1.3rem;
	}
	.presentTxt .mainTxt {
		font-size: 1.5rem;
		margin-bottom: 20px;
	}
	.presentTxt .mainTxt .blueLine {
		font-size: 2.3rem;
		line-height: 1.5;
	}
	.presentTxt .mainTxt .blueLine::before {
		width: 100%;
	}
	.PresentTxtBox.double {
		min-width: auto;
		border-radius: 150px;
		padding: 60px 40px 80px;
		height: auto;
		gap: 5px;
	}
	.PresentTxtBox.double .presentTxt .pin {
		position: relative;
		right: auto;
		top: auto;
		margin: 0 auto 5px;
	}
	.PresentTxtBox.double .presentTxtArea {
		text-align: center;
	}
	.sideEventFreeArea .coLocatedballoonArea {
		top: -35px;
	}

}


/* テキスト
============================== */
.txt {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .05rem;
}
@media screen and (max-width:812px){
	.txt {
		font-size: 1.3rem;
	}
}

/* ボタン
============================== */
.btnArea {
	display: flex;
	justify-content: center;
	margin-top: 50px;
}
a.btnBase {
	position: relative;
	font-size: 3.2rem;
	font-weight: 700;
	color: var(--colorWhite);
	background-color: var(--colorMainGreen);
	line-height: 1;
	border-radius: 100px;
	padding: 40px 130px 40px 55px;
}
.btnBase::before {
	position: absolute;
	content: "";
	width: 50px;
	height: 50px;
	background-color: var(--colorWhite);
	border-radius: 30px;
	top: 50%;
	right: 40px;
	transform: translateY(-50%);
}
.btnBase::after {
	position: absolute;
	content: "";
	top: 50%;
	right: 57px;
	transform: translateY(-50%);
	width: 12px;
	height: 16px;
	background: var(--colorMainGreen);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}


@media screen and (max-width:812px){
	a.btnBase {
		font-size: 2.3rem;
		padding: 25px 60px 25px 35px;
	}
	.btnBase::before {
		width: 28px;
		height: 28px;
		right: 19px;
	}
	.btnBase::after {
		right: 26px;
		width: 10px;
		height: 12px;
	}
}




/*
	header
-----------------------------------------------------------------------------------------------*/
#headArea {
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	width: 100%;
}
.headerMenu {
	display: block;
	pointer-events: none;
	transform: translateX(100%);
	transition: 0.35s ease-out;
	position: absolute;
	top: 0;
	right: 0;
	width: 30%;
	min-width: 380px;
	height: 200vh;
	background-color: var(--colorMainGreen);
	padding: 160px 30px 0;
	box-shadow: var(--shadowBase);
}
.headerMenu.active {
	display: block;
	pointer-events: all;
	opacity: 1;
	transform: translateX(0);
}
.headerMenuInner .linkList{
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}
.headerMenuInner .linkList li a{
	display: flex;
	flex-direction: column;
}
.headerMenuInner .linkList li a .en{
	color: #fff;
	font-size: 3.2rem;
	font-weight: 700;
	font-family: var(--ffEn);
}
.headerMenuInner .snsList{
	margin: 40px 0 0 0;
	display: flex;
	gap: 0 15px;
	position: relative;
	width: 100%;
}
.headerMenuInner .snsList::before{
	content: '';
	width: 100%;
	height: 1px;
	background: #fff;
	position: absolute;
	top: -20px;
	left: 0;
}

/*=============================
.btnTrigger
=============================*/
.btnTriggerArea{
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	z-index: 99;
	width: 56px;
	height: 56px;
	border-radius: 28px;
	top: 36px;
	right: 36px;
	background-color: var(--colorMainGreen);
	cursor: pointer;
	transition: 0.35s;
}

.btnTriggerArea.active{
	background-color: #fff;
	transition: 0.35s;
}
.btnTrigger {
	position: relative;
	width: 28px;
	height: 20px;
}
.btnTrigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #fff;
	border-radius: 4px;
}
.btnTrigger, .btnTrigger span {
	display: inline-block;
	transition: all .5s;
	box-sizing: border-box;
}
.btnTrigger span:nth-of-type(1) {
	top: 0px;
}
.btnTrigger span:nth-of-type(2) {
	top: 9px;
}
.btnTrigger span:nth-of-type(3) {
	bottom: 0;
}
.active .btnTrigger span {
	background-color: var(--colorMainGreen);
}
.active #btn01 span:nth-of-type(1) {
	transform: translateY(9px) rotate(-35deg);
}
.active #btn01 span:nth-of-type(2) {
	opacity: 0;
}
.active #btn01 span:nth-of-type(3) {
	transform: translateY(-8px) rotate(35deg);
}

@media screen and (max-width:812px){
	.headerMenu {
		min-width: 80%;
	}
	.btnTriggerArea {
		top: 10px;
		right: 10px;
	}
	.headerMenuInner .linkList li a .en{
		color: #fff;
		font-size: 2.4rem;
		font-weight: 700;
		font-family: var(--ffEn);
	}
	.headerMenu {
		padding: 70px 30px 0;
	}
}

/*
	cmnPageTitArea
-----------------------------------------------------------------------------------------------*/
.cmnPageTitArea {
	position: relative;
}
.cmnPageTitArea::after {
    position: absolute;
    content: "";
    width: 500px;
    height: 355px;
    background: url(../images/item_top2_02.svg) no-repeat center center / cover;
    right: -35px;
    bottom: -255px;
}
.cmnPageTit {
	position: relative;
	z-index: 2;
}
.cmnPageTit .pageTopTit {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 470px;
}
.cmnPageTit .pageTopCmnItem {
	position: absolute;
	top: 30px;
	left: 30px;
	width: 260px;
}
@media screen and (max-width:812px){
	.cmnPageTit .pageTopTit {
		top: 60%;
		width: 70%;
		max-width: 380px;
	}
	.cmnPageTitArea::after {
        width: 230px;
        height: 165px;
        right: -55px;
        bottom: -67px;
	}
	.cmnPageTit .pageTopCmnItem {
		top: 10px;
		left: 10px;
		width: 140px;
	}
}


/*
	ctsWrapper
-----------------------------------------------------------------------------------------------*/
.ctsWrapper{
	margin-top: -100px;
	padding-block: 130px 210px;
}
@media screen and (max-width:812px){
	.walkAreaCmn {
		padding-block: 85px 120px;
	}
}

/*
	sponsors
-----------------------------------------------------------------------------------------------*/
.sponsors {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 1000px;
	margin: 0 auto;
	padding-block: 80px;
}
.sponsors .imgTama {
	width: 280px;
}

.sponsorsBnrArea {
	width: 1100px;
}
.sponsorsBnrInner{
	display: flex;
	gap: 35px;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.sponsorsTypeArea {
	display: flex;
	align-items: center;
}
.sponsorsType{
	height: 36px;
	width: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--colorMainOrange);
	border: 1px solid var(--colorMainOrange);
}
.sponsorsType span{
	line-height: 3.6rem;
	font-size: 1.2rem;
	padding: 5px;
	white-space: nowrap;
}
.sponsorsType .line2{
	line-height: 1;
}
.sponsorsCo{
	display: flex;
    gap: 25px;
    margin-left: 15px;
}
.sponsorsCo img {
	height: 40px;
}

@media screen and (max-width:812px){
	.sponsors {
		max-width:  100%;
		padding-block: 50px;
	}
	.sponsors .imgTama {
		width: 180px;
	}
	.sponsorsBnrInner{
		display: flex;
        gap: 15px;
        justify-content: flex-start;
        max-width: 300px;
        margin: 0 auto;
	}
	.sponsorsBnrArea {
		width: 100%;
		padding: 0 15px;
	}
	.sponsorsTypeArea {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.sponsorsCo{
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		margin-left: 10px;
	}
	.sponsorsCo img {
		height: 40px;
	}
}




/*
	下層共通
-----------------------------------------------------------------------------------------------*/
/*=============================
.cmnPageTitArea
=============================*/
/* タイトル */
.cmnPageTxtBox {
	position: absolute;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	line-height: 1;
}
.cmnPageTxt {
	font-size: 6.4rem;
	font-family: var(--ffEn);
	font-weight: 700;
	color: var(--colorMainGreen);
}
.cmnPageSubTxt {
	font-size: clamp(1.5rem, 2vw, 1.8rem);
	font-weight: 600;
	letter-spacing: .1rem;
	color: var(--colorWhite);
}
@media screen and (max-width:812px){
	.cmnPageTxt {
		font-size: clamp(3rem, 8vw, 5rem);
	}
	.cmnPageSubTxt {
		font-size: 1.3rem;
	}
}

/*=============================
id以降
=============================*/
/* タイトル */
.subPageCmnTit{
	font-size: 2.2rem;
	font-weight: 800;
	position: relative;
	padding: 0 0 0 14px;
	letter-spacing: .1rem;
}
.subPageCmnTit::before{
    content: '';
    width: 6px;
    height: 23px;
    background: var(--colorMainGreen);
    position: absolute;
    left: 0;
    top: 50%;
    margin: -10px 0 0 0;
}
@media screen and (max-width:812px){
	.subPageCmnTit{
		font-size: 1.6rem;
		padding: 0 0 0 13px;
		letter-spacing: .1rem;
	}
	.subPageCmnTit::before {
		height: 18px;
		margin: -8px 0 0 0;
	}
}
/* テキスト */
.who {
	font-size: 1.6rem;
	font-weight: 500;
}
.whoS {
	font-size: 1.6rem;
	font-weight: 600;
}
.whoR {
	font-size: 2rem;
	font-weight: 700;
}
.whoM {
	font-size: 2.6rem;
	font-weight: 600;
}
.whoL {
	font-size: 3.6rem;
	font-weight: 600;
}
.priceBox .who .price {
	font-size: 2.2rem;
	font-weight: 600;
}
@media screen and (max-width:812px){
	/* テキスト */
	.who {
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.whoS {
		font-size: 1.3rem;
		font-weight: 600;
		line-height: 1.4;
		text-align: justify;
	}
	.whoR {
		font-size: 1.5rem;
	}
	.whoM {
		font-size: 2rem;
	}
	.whoL {
		font-size: 2.5rem;
	}
	.priceBox .who {
		font-size: 1.3rem;
	}
}

/* 白箱 */
.subPageCmn {
    padding-block: 130px 100px;
	background: #fffef3;
}
.subPageCmn .ctsArea {
		margin: 80px auto 0;
		background: #fff;
		border-radius: var(--br30);
		box-shadow: var(--shadowBase);
		padding: 55px 100px;
	}
	@media screen and (max-width:812px){
	.subPageCmn {
		padding-inline: 15px;
		padding-block: 130px 60px;
	}
	.subPageCmn .ctsArea {
		margin: 0 auto 0;
		padding: 35px 20px;
		border-radius: var(--br20);
	}
}




/*
	footer
-----------------------------------------------------------------------------------------------*/
.footer {
	position: relative;
	color: var(--colorWhite);
	background: var(--colorMainGreen);
}
.footerMainArea {
	padding-block: 80px 70px;
}
/*左側*/
.footerTit {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .2rem;
	margin-bottom: 30px;
}
.footer .txt {
	font-weight: 400;
	line-height: 1.7;
}
.footer .note {
	margin-bottom: 30px;
}
.footer a.privacy {
	color: var(--colorWhite);
	font-weight: 600;
	border-bottom: 1px solid var(--colorWhite);
}

/*右側*/
.MenuSnsBox {
	position: absolute;
	top: 80px;
	right: 0;
}
.footerMenuList {
	display: flex;
	justify-content: flex-end;
}
.footerMenuList li {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	border-right: 2px solid var(--colorWhite);
	padding-inline: 20px;
}
.footerMenuList li:last-child {
	border-right: 0;
	padding-inline: 20px 0;
}
.footerMenuList li a{
	color: #fff
}
.footerSns {
	display: flex;
	justify-content: flex-end;
	align-items: end;
	gap: 10px;
	margin-top: 15px;
}
.copyright{
    font-size: 1.2rem;
    font-weight: 500;
    padding-block: 0 15px;
}
.pageTop {
	position: absolute;
	bottom: -140px;
	right: 0;
}

@media screen and (max-width:812px){
	.footerMainArea {
		padding-block: 30px;
	}
	.footer .note {
		margin-bottom: 15px;
	}
	/*左側*/
	.footerTit {
		margin-bottom: 20px;
	}
	.MenuSnsBox {
		position: static;
	}
	.footerMenuList {
		flex-direction: column;
		gap: 13px;
		margin-bottom: 20px;
	}
	.footerMenuList li {
		font-size: 1.4rem;
		padding-inline: 0;
		border-right: 0 solid var(--colorWhite);
	}
	.footerMenuList li:last-child {
		border-right: 0;
		padding-inline: 0;
	}
	.footerSns {
		display: none;
	}
	.footerMainArea .txt {
		font-size: 1.2rem;
		margin-bottom: 0;
	}
	.pageTop {
        width: 150px;
        position: absolute;
        top: 30px;
        right: 20px;
	}
}

@media (any-hover: hover){
	a:hover{
		text-decoration: none;
		opacity: .6;
	}
	button:hover{
		cursor: pointer;
	}
	.headerMenuInner .snsList img:hover{
		opacity: .8;
		transition: 0.5s;
	}
	.btnTriggerArea:hover{
		opacity: 0.6;
	}
}