@charset "UTF-8";

:root {
	--color_text: #333;
	--color_main: #f38aa1;
	--clr-pnk1: #f6c6d7;
	--clr-pnk2: #f4e1e6;
	--clr-pnk3: #d2a8d6;
	--clr-pnk4: #faecef;
	--clr-gry1: #cccccc;
	--clr-gry2: #f2f2f2;
	--clr-grn: #00b5a4;
	--clr-blu2: #4fa9de;
	--clr-blu1: #2aa2db;
	--clr-red1: #f27b83;
	--clr-red2: #f2305a;
	--clr-yel: #f2dc8a;
	--font-ttl: "Marcellus", serif;
	--font-noto: "Noto Sans JP", "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Arial, "メイリオ", sans-serif;
	--opc: "Monoton", sans-serif;
}

/*=============== base ===========*/
html {
	font-size: 100%;
}

body {
	color: var(--color_text);
	font-family: "Noto Sans JP", "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Arial, "メイリオ", sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8;
	position: relative;
}

a {
	/* display: block; */
	transition: all 0.3s ease;
}

.top a,
.myheader a,
.top-footer a {
	display: block;
	text-decoration: none;
}

a:hover {
	opacity: 0.6;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.sm {
	display: none;
}

.pcxl {
	display: block;
}

.xlsp {
	display: none;
}

img {
	height: auto;
	max-width: 100%;
}

/*=============== footer ===========*/
.top-footer {
	padding-left: 200px;
}

.top-footer_top {
	background: var(--clr-gry2);
	padding: 30px 5% 30px;
}

.top-footer_wrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.top-footer_grouptop {
	font-size: clamp(18px, 2.34vw, 20px);
	font-weight: 700;
	width: 200px;
}

.top-footer_group {
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
	width: calc(100% - 200px);
}

.top-footer_group li {
	border-left: 1px solid var(--clr-pnk1);
	padding-left: 10px;
	width: 33.3%;
}

.top-footer_group li img {
	vertical-align: middle;
	width: 80px;
}

.top-footer_group li span {
	font-size: clamp(14px, 1.82vw, 16px);
	padding-left: 15px;
	display: inline-block;
}

.top-footer_mid {
	align-items: flex-end;
	background: #faecef;
	display: flex;
	justify-content: space-between;
	padding: 30px 5% 20px;
}

.top-footer_logo {
	margin-bottom: 30px;
	width: clamp(280px, 36.46vw, 340px);
}

.top-footer_ad {
	font-size: clamp(14px, 1.82vw, 16px);
	line-height: 1.5;
	margin-bottom: 10px;
	font-style: normal;
}

.top-footer_tel {
	pointer-events: none;
	font-style: normal;
}

.top-footer_sns {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, 1fr);
	margin-right: 80px;
	width: 180px;
}

.top-footer_btm {
	background: var(--color_main);
	padding: 10px 3%;
}

.top-footer_link {
	align-items: center;
	display: flex;
	gap: 15px;
}

.top-footer_link li a {
	color: #fff;
	font-size: 12px;
	padding-left: 0.8em;
	position: relative;

}

.top-footer_link li a::before {
	color: #fff;
	content: "\f105";
	font-family: fontawesome;
	position: relative;
	display: inline-block;
	padding-right: 5px;
}

.top-footer_copyright {
	color: #fff;
	font-size: 12px;
}

/*=============== page-top ===========*/
#page-top {
	bottom: 10px;
	display: none;
	height: auto;
	position: fixed;
	right: 10px;
	z-index: 99;
}

#page-top a {
	align-items: center;
	background: var(--color_main);
	border: 1px solid var(--color_main);
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 14px;
	height: 50px;
	justify-content: center;
	line-height: 1;
	padding-left: 1px;
	width: 50px;
	text-decoration: none;
}

/*=============== fixed-opc ===========*/
#fixed-opc {
	aspect-ratio: 250/70;
	bottom: 10px;
	position: fixed;
	right: 70px;
	width: 250px;
	z-index: 999;
}

#fixed-opc a {
	align-items: center;
	background-color: var(--color_main);
	border-radius: 100px;
	color: #fff;
	display: block;
	display: flex;
	font-size: 20px;
	font-weight: 600;
	height: 100%;
	justify-content: center;
	line-height: 1.4;
	position: relative;
	text-align: center;
	width: 100%;
	text-decoration: none;
}

#fixed-opc a::after {
	aspect-ratio: 1/1;
	background: url(./img/nadeshiko.png) no-repeat center center/contain;
	bottom: 9px;
	content: "";
	display: block;
	position: absolute;
	right: 29px;
	width: 28px;
}

/*=============== header ===========*/
.myheader {
	left: 0;
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 100;
}

/*=============== top-menu ===========*/
.top-menu {
	background: #fff;
	height: 60px;
	padding: 0 0 0 20px;
	width: 100%;
	position: relative;
	z-index: 50;

}
.top-menu.is-open{
	box-shadow:0 0 4px rgb(217,217,217);
}

.top-menu_wrap {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: space-between;
}

.top-menu_logo {
	/*   width: 230px; */
	width: 280px;
}

.top-menu_nav {
	display: flex;
	height: 100%;
}

.top-menu_link {
	align-items: center;
	display: flex;
	gap: 20px;
	margin-right: 20px;
}

.top-menu_item a {
	display: block;
	font-size: 13px;
	padding: 10px 0;
}

.top-menu_icnarea {
	display: flex;
	height: 100%;
}

.top-menu_icns {
	background: var(--color_main);
	height: 100%;
	padding-top: 10px;
	width: 90px;
}

.top-menu_icns a {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.top-menu_icns img {
	display: block;
	height: 25px;
	margin: 0 auto;
	width: auto;
}

.top-menu_icns span {
	color: #fff;
	display: block;
	font-size: clamp(10px, 1.3vw, 12px);
	font-weight: 500;
	letter-spacing: 0;
}

.top-menu_icns+.top-menu_icns {
	border-left: 1px solid #fff;
}

.top-menu_opc {
	display: none;
	height: 100%;
}

/*=============== side-menu ===========*/
.side-menu {
/* 	height: 46vw; */
	height:calc(100vh - 60px);
	left: 0;
	padding-top: 10px;
	position: fixed;
	top: 60px;
	width: 200px;
	z-index: 25;
	background: #fff;

}
.side-menu_scroll {
	overflow-y:auto;
	scrollbar-width:none;
	height:100%;
	padding-bottom:15px;
}

.side-menu_sns {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 20px;
}

/*=============== side-menu_nav1 ===========*/
.side-menu_nav1 {
	margin: 20px auto 0;
	width: 85%;
}

.side-menu_nav1 li {
	background-color: var(--color_main);
	height: 50px;
}

.side-menu_nav1 li a {
	color: #fff;
	display: block;
	font-size: 15px;
	font-weight: 500;
	height: 100%;
	line-height: 50px;
	position: relative;
	text-align: center;
	width: 100%;
}

.side-menu_nav1 li a::before {
	aspect-ratio: 20/36;
	background: url(./img/gnav_arw-wht.png) no-repeat center/contain;
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
}

.side-menu_nav1 li+li {
	margin-top: 10px;
}

.side-menu_nav2 {
	display: none;
}

/*=============== Globalnavigation ===========*/
.gnav {
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 20px;
	width: 100%;

}

.gnav-1st {
	width: 100%;
}

.gnav-1st_item {
	border-bottom: 1px solid var(--clr-pnk1);
}

.gnav-1st_item>a {
	align-items: center;
	display: flex;
	height: calc((46vw - 360px) / 5);
	min-height: 50px;
	padding-left: 30px;
	position: relative;
}

.gnav-1st_item>a::after {
	aspect-ratio: 20/34;
	background: url(./img/gnav_arw.png) no-repeat center/contain;
	content: "";
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
}

.gnav-1st_item>a:hover {
	opacity: 1;
	background: var(--clr-pnk2);
}

/* .gnav-1st_item.is-open {
  background: var(--clr-pnk2);
} */
.gnav-2nd {
	background: var(--clr-pnk2);
	height: 100%;
	overflow-y: auto;
	padding: 10px 20px 70px;
	scrollbar-width: none;
}

.gnav-2nd_item {
	border-bottom: 1px dashed rgba(243, 138, 161, 0.7);
	padding: 5px 10px;
}

.gnav-2nd_item:first-of-type {
	border-bottom: 2px solid rgba(243, 138, 161, 0.7);
}

.gnav-2nd_item a {
	display: block;
	padding: 10px 0;
	position: relative;
	white-space: nowrap;
}

.gnav-2nd_item:hover {
	background: rgba(243, 138, 161, 0.2);
	opacity: 1;
}

.gnav-2nd_item:hover a {
	opacity: 1;
}

.gnav-2nd_item a::after {
	aspect-ratio: 20/34;
	background: url(./img/gnav_arw.png) no-repeat center/contain;
	content: "";
	display: block;
	position: absolute;
	right: -10px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
}

/* .gnav-2nd_item:first-child a {
  border-bottom: 2px solid var(--color_main);
  font-size: 1.2em;
  margin-bottom: 30px;
  padding-bottom: 10px;
} */
.gnav-box {
	display: none;
	height: 100%;
	left: 200px;
	position: absolute;
	top: 0;
	width: 0;
}

/*=============== hamburger ===========*/
.hamburger {
	display: none;
}

/*=============== mainarea ===========*/
.mainarea {
	overflow: hidden;
	margin-left: 200px;
	position: relative;
}



/*=============== container ===========*/
.container {
	margin: 0 auto;
	max-width: 1120px;
	padding: 0 20px;
}

.top-title {
	color: var(--color_main);
	font-family: var(--font-ttl);
	font-size: clamp(35px, 4.56vw, 52px);
	font-weight: 600;
	line-height: 1;
	margin: 0 auto 60px;
	position: relative;
	white-space: nowrap;
	width: -moz-max-content;
	width: max-content;
}

.top-title span {
	color: var(--color_text);
	display: block;
	font-family: var(--font-noto);
	font-size: clamp(14px, 1.82vw, 18px);
	font-weight: normal;
	line-height: 1;
	margin-bottom: 5px;
	padding-left: 2em;
	position: relative;
}

.top-title span::before {
	background: var(--color_text);
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	width: 1.5em;
}


/*=============== top-more ===========*/
.top-more {
	height: 48px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 240px;
}

.top-more a {
	background: var(--color_main);
	color: #fff;
	display: block;
	letter-spacing: 0.28em;
	line-height: 48px;
	text-align: center;
}

.top-more:after {
	background: url(./img/arw-wht.png) no-repeat center/contain;
	content: "";
	display: block;
	height: 13px;
	position: absolute;
	right: 35px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
}

.top-more-blu a {
	background: var(--clr-blu1);
}

.top-more-grn a {
	background: var(--grn);
}

.top-more-pnk a {
	background: var(--clr-red1);
}

.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.top-slide_dots {
	display: flex;
	justify-content: space-between;
	margin: 80px auto 0;
	max-width: 800px;
	width: 60%;
}

.top-slide_dots button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	display: none;
	outline: none;
	padding: 0;
}

.top-slide_dots li {
	background-color: #eaeaea;
	cursor: pointer;
	height: 4px;
	position: relative;
	width: 100%;
}

.top-slide_dots li::before {
	content: "";
	display: inline-block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 0;
}

.top-slide_dots li.slick-active::before {
	background-color: var(--clr-pnk1);
	width: 100%;
}

.top-slide_arrow {
	bottom: -22px;
	cursor: pointer;
	display: block;
	position: absolute;
	width: 40px;
}

.top-slide_arrow-prev {
	left: min(80% + 20px, 50% + 420px);
}

.top-slide_arrow-next {
	left: min(80% + 120px, 50% + 530px);
}

.top-slide_num {
	bottom: -16px;
	display: block;
	font-size: clamp(16px, 2.08vw, 20px);
	left: min(80% + 72px, 50% + 475px);
	position: absolute;
}

#spcslider {
	position: relative;
}

#spcslider .top-spc_item {
	border: 6px solid var(--clr-pnk1);
	margin: 0 10px;
	width: 400px;
}

#hyougenslider .top-dept_item,
#childslider .top-dept_item,
#commonslider .top-dept_item {
	margin: 0 15px;
	width: 240px;
}

#hyougenslider li.slick-active::before {
	background: var(--clr-blu1);
}

#childslider li.slick-active::before {
	background: var(--clr-red1);
}

#commonslider li.slick-active::before {
	background: var(--clr-grn);
}

#voiceslider .slick-track {
	display: flex;
}

#voiceslider .slick-slide {
	height: auto !important;
}

#voiceslider .top-voice_item {
	margin: 0 15px;
	width: 330px !important;
}

#opcslider .slick-track {
	display: flex;
}

#opcslider .slick-slide {
	height: auto !important;
}

#opcslider .opcslider_arrow {
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	z-index: 10;
}

#opcslider .opcslider_arrow-next {
	right: -20px;
}

#opcslider .opcslider_arrow-prev {
	left: -20px;
}

#photoslider .photo_dots {
	display: flex;
	justify-content: center;
	margin-top: 10px;
}

#photoslider .photo_dots li {
	background: var(--clr-gry1);
	border-radius: 50%;
	cursor: pointer;
	height: 10px;
	margin: 0 15px;
	width: 10px;
}

#photoslider .photo_dots li:hover,
#photoslider .photo_dots li.slick-active {
	background: var(--color_main);
}

#photoslider .photo_dots li button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	display: none;
	outline: none;
	padding: 0;
}

#photoslider .photo_arrow {
	display: block;
	position: absolute;
	top: 30%;
	width: 40px;
	z-index: 5;
}

#photoslider .photo_arrow-next {
	right: calc(50% - 170px);
}

#photoslider .photo_arrow-prev {
	left: calc(50% - 170px);
}

.tab {
	background: #fff;
}

.tab_btns {
	align-items: center;
	border-bottom: 1px solid var(--clr-gry1);
	display: flex;
	justify-content: center;
}

.tab_btn {
	transition: all 0.3s;
	width: 100%;
}

.tab_item {
	border-right: 1px solid var(--clr-gry1);
	margin-bottom: 5px;
	text-align: center;
}

.tab_item:first-child {
	border-left: 1px solid var(--clr-gry1);
}

/*=============== top mainvisual ===========*/
.top-mv {
	height: 46vw;
	margin: 0 0 80px 200px;
	overflow: hidden;
	position: relative;
}

.top-mv_body {
	bottom: 60px;
	left: 80px;
	padding: 20px;
	position: absolute;
}

.top-mv_catch {
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	color: #fff;
	font-size: clamp(26px, 3.39vw, 60px);
	font-weight: 700;
	line-height: 1;
	text-shadow: 0 3px 3px #393939;
}

.top-mv_catch span {
	color: var(--color_main);
	display: block;
	font-family: var(--font-ttl);
	font-size: clamp(18px, 2.34vw, 25px);
	margin-top: 20px;
	text-align: right;
	text-shadow: 0 1px 2px #5d5d5d;
}

.topslider .slick-slide {
	height: 46vw;
}

.topslider .slick-slide img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}

/*=============== top-spc ===========*/
.top-spc {
	margin-bottom: 150px;
}

/*=============== top-news ===========*/
.top-news {
	background: var(--clr-gry2);
	padding: 80px 0;
}

.top-news .container {
	background: #fff;
	padding-bottom: 40px;
	padding-top: 40px;
}

.top-news_btn {
	font-size: clamp(14px, 1.82vw, 16px);
	padding: 0 20px;
	white-space: nowrap;
}

.top-news_btn.all.active {
	background: var(--clr-pnk1);
}

.top-news_btn.news.active {
	background: var(--clr-yel);
}

.top-news_btn.childhood.active {
	background: var(--clr-red1);
	color: #fff;
}

.top-news_btn.japanese.active {
	background: var(--clr-blu1);
	color: #fff;
}

.top-news_btn.life.active {
	background: var(--clr-grn);
	color: #fff;
}

.top-news_btn.cosmos.active {
	background: var(--clr-pnk2);
	color: var(--color_text);
}

.top-news_panelarea {
	margin-bottom: 40px;
}

.top-news_panel {
	display: none;
	padding: 50px 0 30px;
	transition: all 0.3s;
}

.top-news_panel.active {
	display: block;
}

.top-news_postlist {
	display: grid;
	gap: 30px 20px;
	grid-template-columns: repeat(3, 1fr);
}

/*=============== top-post ===========*/
.top-post_img {
	margin-bottom: 10px;
}

.top-post_img img {
	aspect-ratio: 3/2;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}

.top-post_inner {
	align-items: baseline;
	display: flex;
	gap: 20px;
	margin-bottom: 5px;
}

.top-post_date {
	font-size: 14px;
	line-height: 1;
}

.top-post_ctg span {
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	padding: 3px 5px;
	display: block;
}

.top-post_ctg span.cat-childhood_and_care {
	background: var(--clr-red1);
	color: #fff;
}

.top-post_ctg span.cat-japanese_literature {
	background: var(--clr-blu2);
	color: #fff;
}

.top-post_ctg span.cat-life {
	background: var(--clr-grn);
	color: #fff;
}

.top-post_ctg span.cat-cosmos {
	background: var(--clr-pnk2);
	color: var(--color_text)
}

.top-post_ctg span.cat-news {
	background: var(--clr-yel);
	color: var(--color_text)
}

/*=============== top-opc ===========*/
.top-opc {
	background: url(./img/top-opc_bg.jpg) no-repeat center bottom/cover;
	padding: 130px 0;
}

.top-opc_heading {
	color: var(--color_main);
	font-family: var(--opc);
	font-size: clamp(35px, 4.56vw, 60px);
	font-weight: normal;
	line-height: 1.2;
	margin-bottom: 10px;
	text-align: center;
}

.top-opc_catch {
	font-size: clamp(16px, 2.08vw, 20px);
	font-weight: 400;
	line-height: 1.5;
	margin-bottom: 50px;
	text-align: center;
}

.top-opc_title {
	background: repeating-linear-gradient(-45deg, var(--clr-pnk4), var(--clr-pnk4) 3px, #fff 3px, #fff 7px);
	color: var(--color_main);
	font-size: clamp(20px, 2.6vw, 28px);
	font-weight: 600;
	margin: 0 auto;
	margin-bottom: 30px;
	padding: 0.2em 0.3em;
	position: relative;
	text-shadow: 0 0 5px white;
	width: -moz-max-content;
	width: max-content;
}

.top-opc .top-more {
	margin-top: 40px;
}

/* .top-opc_heading {
  background: var(--color_main);
  border-bottom: 3px solid #fff;
  border-top: 3px solid #fff;
  box-shadow: 0px -5px var(--color_main), 0px 5px var(--color_main);
  color: #FFF;
  display: inline-block;
  display: block;
  font-family: var(--font-ttl);
  font-size: clamp(32px, 4.17vw, 50px);
  font-weight: 700;
  height: 80px;
  letter-spacing: 0.15em;
  line-height: 80px;
  margin: 0 auto 80px;
  padding: 0 90px;
  position: relative;
  text-align: center;
  width: -moz-max-content;
  width: max-content;
} */
/* .top-opc_heading::before, .top-opc_heading::after {
  border-color: transparent #ffffff;
  border-style: solid;
  content: "";
  height: 0px;
  position: absolute;
  top: 0;
  width: 0px;
}
.top-opc_heading::before {
  border-width: 40px 0px 40px 40px;
  left: 0;
}
.top-opc_heading::after {
  border-width: 40px 40px 40px 0px;
  right: 0;
}
.top-opc_heading span {
  font-family: var(--font-noto);
  font-weight: 500;
  letter-spacing: 0em;
} */
/* .top-opc_catch {
  color: var(--color_main);
  font-size: clamp(22px, 2.86vw, 36px);
  font-weight: 600;
  text-align: center;
} */
.top-opc_txt {
	font-size: clamp(16px, 2.08vw, 18px);
	margin: 20px 0 50px;
	text-align: center;
}

.top-opc_txt span {
	font-size: 1.2em;
}

.top-opc_time {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}

.top-opc_time dt {
	background: var(--color_main);
	border-radius: 5px;
	color: #fff;
	font-size: clamp(14px, 1.82vw, 20px);
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1;
	margin-right: 20px;
	padding: 5px 10px;
}

.top-opc_time dd {
	font-size: clamp(20px, 2.6vw, 30px);
	font-weight: 500;
}

.top-opc_time dd:first-of-type {
	margin-right: 40px;
}

.top-opc_wrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 80px auto 50px;
}

.top-opc_left {
	background: #fff;
	border: 1px solid var(--color_main);
	border-radius: 5px;
	padding: 30px 30px 30px;
	position: relative;
	width: 60%;
}

.top-opc_left span {
	color: var(--color_main);
	display: block;
	font-size: clamp(22px, 2.86vw, 25px);
	font-weight: 600;
	margin-bottom: 20px;
	text-align: center;
}

.top-opc_flow {
	display: flex;
	flex-wrap: wrap;
	font-size: clamp(16px, 2.08vw, 20px);
	justify-content: center;
	row-gap: 13px;
}

.top-opc_flow li {
	position: relative;
}

.top-opc_flow li::after {
	color: var(--color_text);
	content: "▶";
	display: inline-block;
	font-size: 16px;
	padding: 0 10px;
	position: relative;
	vertical-align: middle;
}

.top-opc_flow li:last-of-type::after {
	content: none;
}

.top-opc_right {
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	padding: 20px;
	width: 38%;
}

.top-opc_note {
	color: var(--clr-red2);
	font-size: clamp(16px, 2.08vw, 18px);
	font-weight: 500;
	line-height: 30px;
	padding: 0 0 0 40px;
}

.top-opc_note-bus {
	background: url(./img/icn-bus.png) no-repeat left center/auto 30px;
}

.top-opc_note-bus span {
	display: inline-block;
}

.top-opc_note:last-of-type {
	background: url(./img/icn-parking.png) no-repeat left center/auto 30px;
}

.top-opc_bus {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin: 10px auto 20px;
	width: -moz-fit-content;
	width: fit-content;
}

.top-opc_bus dt,
.top-opc_bus dd {
	font-size: 14px;
	font-weight: 400;
	width: 50%;
}

.top-opc_bus dd span {
	font-size: 1.3em;
	margin-right: 10px;
}

.top-opc_cta {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

.top-opc_caution {
	color: var(--clr-red2);
	font-size: clamp(14px, 1.82vw, 16px);
	margin: 10px 0 70px;
	text-align: center;
}

.top-opc_qr {
	display: flex;
	width: 48%;
}

.top-opc_qr dt {
	align-items: center;
	background: var(--clr-grn);
	border-bottom-left-radius: 10px;
	border-top-left-radius: 10px;
	color: #fff;
	display: flex;
	font-size: clamp(16px, 2.08vw, 18px);
	font-weight: 500;
	justify-content: center;
	text-align: center;
	width: 60%;
}

.top-opc_qr:last-of-type dt {
	background: var(--clr-blu1);
}

.top-opc_qr:last-of-type dd {
	border-color: var(--clr-blu1);
}

.top-opc_qr dd {
	border: 1px solid var(--clr-grn);
	border-bottom-right-radius: 10px;
	border-top-right-radius: 10px;
	width: 40%;
}

.top-opc_qr dd img {
	border-bottom-right-radius: 10px;
	border-top-right-radius: 10px;
}

.top-opc_photo {
	display: flex;
	justify-content: space-between;
}

.top-opc_photo figcaption {
	font-size: clamp(16px, 2.08vw, 18px);
	margin-top: 10px;
	text-align: center;
}

.top-opc_item {
	width: 30%;
}

/*=============== top-cal ===========*/
.top-cal {
	background: #fff;
	border: 1px solid var(--color_main);
	border-bottom-left-radius: 50px;
	border-top-right-radius: 50px;
	box-shadow: 5px 5px 0 var(--clr-pnk1);
	margin: 10px 10px !important;
	padding: 20px;
	width: 250px;
}

.top-cal.finish {
	background: var(--clr-gry2);
}

.top-cal_year {
	color: var(--clr-gry1);
	font-size: clamp(14px, 1.82vw, 16px);
	margin-bottom: 5px;
	text-align: center;
}

.top-cal_date {
	display: flex;
	font-family: var(--font-ttl);
	font-size: clamp(40px, 5.21vw, 55px);
	font-weight: 400;
	line-height: 1;
}

.top-cal_date span {
	display: block;
}

.top-cal_month {
	font-size: 0.9em;
	margin-top: -10px;
}

.top-cal_week {
	aspect-ratio: 1/1;
	border-radius: 50%;
	color: #fff;
	font-size: clamp(14px, 1.82vw, 16px);
	line-height: 30px;
	text-align: center;
	width: 30px;
}

.top-cal_week.sun {
	background: var(--clr-red2);
}

.top-cal_week.sat {
	background: var(--clr-blu2);
}

.top-cal_week.other {
	background: var(--clr-grn);
}

.top-cal_wrap {
	align-items: end;
	display: flex;
	gap: 3px;
	justify-content: center;
	margin-bottom: 20px;
}

.top-cal_txt {
	color: var(--clr-pnk3);
	font-family: var(--font-ttl);
	font-size: clamp(14px, 1.82vw, 16px);
	font-weight: 600;
	line-height: 1;
}

.top-cal_special {
	font-size: clamp(18px, 2.34vw, 20px);
	line-height: 2;
	text-align: center;
}

.top-cal_note {
	color: var(--clr-red2);
	font-size: clamp(14px, 1.82vw, 16px);
	position: relative;
	text-align: center;
}

.top-cal_note:not(:empty)::after,
.top-cal_note:not(:empty)::before {
	content: "◇";
}

.top-cal.finish .top-cal_note {
	color: var(--color_text);
}

/*=============== top-dept ===========*/
.top-dept {
	padding: 150px 0;
}

.top-dept_wrap {
	display: flex;
	justify-content: space-between;
}

.top-dept_item {
	padding: 60px 30px 30px;
	position: relative;
	width: 46%;
}

.top-dept_item:first-of-type {
	background: #e9f6fb;
}

.top-dept_item:last-of-type {
	background: #fef2f2;
}

.top-dept_name {
	color: #FFF;
	display: inline-block;
	font-size: clamp(20px, 2.6vw, 24px);
	height: 60px;
	left: -20px;
	line-height: 60px;
	position: relative;
	position: absolute;
	text-align: center;
	top: 20px;
	width: 8em;
}

.top-dept_name:before {
	border: none;
	border-bottom: solid 15px transparent;
	border-right: solid 20px var(--clr-gry1);
	content: "";
	left: 0;
	position: absolute;
	top: 100%;
}

.top-dept_item:first-of-type .top-dept_name {
	background: var(--clr-blu1);
}

.top-dept_item:last-of-type .top-dept_name {
	background: var(--clr-red1);
}

.top-dept .top-more {
	margin-top: 1.5rem;
}

.top-dept_catch {
	background: linear-gradient(transparent 64%, #fcf69f 0%);
	font-size: clamp(18px, 2.34vw, 21px);
	font-weight: 600;
	margin: 20px auto;
	width: -moz-max-content;
	width: max-content;
}

.top-dept_list dt {
	font-weight: 500;
}

.top-dept_list dd {
	display: inline-block;
	padding-left: 2em;
	position: relative;
}

.top-dept_list dd::before {
	content: "〇";
	display: inline-block;
	margin-right: 0.1em;
	position: relative;
}

.top-dept_item:first-of-type .top-dept_list dd::before {
	color: var(--clr-blu1);
}

.top-dept_item:last-of-type .top-dept_list dd::before {
	color: var(--clr-red1);
}

/*=============== top-voice ===========*/
.top-voice {
	margin-bottom: 150px;
}

.top-voice_item {
	position: relative;
}

.top-voice_item::before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -2px;
	content: "";
	display: block;
	height: 35px;
	position: absolute;
	right: -2px;
	width: 150px;
}

.top-voice_item:nth-of-type(odd) {
	border: 5px solid rgba(42, 162, 219, 0.3);
}

.top-voice_item:nth-of-type(even) {
	border: 5px solid rgba(242, 123, 131, 0.3);
}

.top-voice_item:nth-of-type(odd):before {
	background-image: url(./img/icn_culture.png);
}

.top-voice_item:nth-of-type(even):before {
	background-image: url(./img/icn_child.png);
}

.top-voice_head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 20px 10px;
	width: 100%;
}

.top-voice_body {
	display: flex;
	flex-direction: column;
	padding: 10px 15px 40px;
}

.top-voice_img {
	position: relative;
	width: 130px;
}

.top-voice_img img {
	border-radius: 50%;
}

.top-voice_inner {
	width: calc(100% - 140px);
}

.top-voice_work {
	font-size: 14px;
	line-height: 1.4;
	margin-bottom: 5px;
}

.top-voice_work span {
	display: inline-block;
}

.top-voice_name {
	border-bottom: 2px solid rgba(51, 51, 51, 0.7);
	font-size: 20px;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
	padding-bottom: 10px;
	text-align: center;
}

.top-voice_name span {
	font-size: 14px;
	margin-left: 5px;
}

.top-voice_course {
	font-size: 13px;
	letter-spacing: 0;
	text-align: right;
	white-space: nowrap;
}

.top-voice_txt {
	font-size: 14px;
	text-align: justify;
}

@media only screen and (max-width: 1400px) {
	.top-footer_group li {
		width: 50%;
	}
}

@media only screen and (max-width: 1200px) {
	.pcxl {
		display: none;
	}

	.xlsp {
		display: block;
	}

	.top-footer_wrap {
		flex-direction: column;
		row-gap: 20px;
	}

	.top-footer_group {
		margin: 0 auto;
		width: 100%;
	}

	.top-footer_group li img {
		width: 60px;
	}

	.gnav-1st_item>a {
		height: calc((46vw - 330px) / 6);
	}

	.top-slide_dots {
		margin: 60px auto 0 15%;
		width: 50%;
	}

	.top-slide_arrow-prev {
		left: calc(65% + 20px);
	}

	.top-slide_arrow-next {
		left: calc(65% + 120px);
	}

	.top-slide_num {
		left: calc(65% + 70Px);
	}

	.tab_scroll {
		overflow-x: scroll;
	}

	.tab_btns {
		min-width: 880px;
		width: 100%;
	}

	.top-dept_txt {
		width: 80%;
	}
}

@media only screen and (max-width: 960px) {
	.top-footer_top {
		padding: 20px 5% 20px;
	}

	.top-footer_wrap {
		margin: 0 auto;
		row-gap: 10px;
	}

	.top-footer_grouptop {
		background: #fff;
		border-radius: 10px;
		font-weight: normal;
		position: relative;
		text-align: center;
		width: 100%;
	}

	.top-footer_grouptop a {
		align-items: center;
		display: flex;
		height: 50px;
		justify-content: center;
		position: relative;
	}

	.top-footer_grouptop a::before {
		aspect-ratio: 1/1;
		background: url(./img/gnav_arw.png) no-repeat center center/contain;
		content: "";
		display: block;
		left: 2.5%;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 12px;
	}

	.top-footer_group {
		justify-content: space-between;
		row-gap: 10px;
	}

	.top-footer_group li {
		background: #fff;
		border-radius: 10px;
		padding-left: 0;
		width: 49%;
		border-left: none;
	}

	.top-footer_group li a {
		align-items: center;
		display: block;
		display: flex;
		height: 50px;
		justify-content: center;
	}

	.top-footer_group li img {
		display: none;
	}

	.top-footer_group li span {
		letter-spacing: 0.05em;
		line-height: 1.3;
		margin-left: 0;
		position: relative;
		text-align: center;
		width: 100%;
	}

	.top-footer_group li span::before {
		aspect-ratio: 1/1;
		background: url(./img/gnav_arw.png) no-repeat center center/contain;
		content: "";
		display: block;
		left: 5%;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 12px;
	}

	#fixed-opc {
		width: 220px;
	}

	#fixed-opc a {
		font-size: 18px;
	}

	#fixed-opc a::after {
		bottom: 7px;
		right: 26px;
		width: 24px;
	}

	#opcslider .opcslider_arrow {
		width: 40px;
	}

	#opcslider .opcslider_arrow-next {
		right: calc(50% - 130px);
	}

	#opcslider .opcslider_arrow-prev {
		left: calc(50% - 130px);
	}

	.top-news_postlist {
		gap: 20px 10px;
		grid-template-columns: repeat(2, 1fr);
	}

	.top-post:nth-of-type(n+5) {
		display: none;
	}

	.top-opc_wrap {
		flex-direction: column;
		gap: 10px;
		margin: 30px auto 10px;
	}

	.top-opc_left {
		padding: 20px 10px;
		width: 100%;
	}

	.top-opc_right {
		margin: 0 auto;
		padding: 10px 20px;
		width: -moz-max-content;
		width: max-content;
	}

	.top-opc_cta {
		flex-direction: column;
		gap: 20px;
		margin: 0 auto;
		max-width: 400px;
	}

	.top-opc_qr {
		width: 100%;
	}

	.top-opc_photo {
		flex-wrap: wrap;
		justify-content: space-around;
		row-gap: 2rem;
	}

	.top-opc_item {
		width: 47%;
	}

	.top-cal {
		padding: 10px;
		width: 200px;
	}


	.top-dept_wrap {
		flex-direction: column;
		gap: 40px;
	}

	.top-dept_item {
		margin: 0 auto;
		max-width: 500px;
		padding: 40px 20px 20px;
		width: 95%;
	}

	.top-dept_name {
		height: 50px;
		left: -16px;
		line-height: 50px;
	}

	.top-dept_name:before {
		border-bottom: solid 10px transparent;
		border-right: solid 16px var(--clr-gry1);
	}
}

@media only screen and (max-width: 782px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.xlsp {
		display: none;
	}

	.top-footer {
		padding-left: 0;
	}

	.top-footer_logo {
		margin-bottom: 20px;
		text-align: center;
	}

	.top-footer_ad {
		margin: 0 auto;
		width: -moz-max-content;
		width: max-content;
	}

	.top-footer_tel {
		margin: 10px auto 0;
		pointer-events: auto;
		width: -moz-max-content;
		width: max-content;
	}

	.top-footer_tel span {
		text-decoration: underline;
	}

	.top-footer_sns {
		grid-template-columns: repeat(3, 60px);
		justify-content: center;
		margin: 20px 0 0;
	}

	.top-footer_copyright {
		line-height: 1.5;
		text-align: center;
	}

	.top-footer_copyright span {
		display: inline-block;
	}

	#page-top a {
		height: 40px;
		width: 40px;
	}

	#fixed-opc {
		display: none;
	}

	.myheader {
		position: fixed;
	}

	.top-menu {
		padding: 0 0 0 10px;
	}

	.top-menu_logo {
		width: 190px;
	}

	.top-menu_icnarea {
		height: 50px;
		left: 0;
		position: fixed;
		top: 60px;
		width: 100%;
	}

	.top-menu_icns {
		padding-top: 5px;
		width: 20%;
	}

	.top-menu_icns img {
		width: 23px;
	}

	.top-menu_opc {
		display: block;
		margin-right: 60px;
	}

	.top-menu_opc a {
		align-items: center;
		background: var(--color_main);
		color: #fff;
		display: flex;
		font-size: 11px;
		font-weight: 700;
		height: 100%;
		letter-spacing: 0;
		line-height: 1.4;
		padding: 0 10px;
		text-align: center;
	}

	.side-menu {
		background: #fff;
		display: none;
		height: calc(100vh - 110px);
		left: 0;
/* 		overflow-y: auto; */
/* 		padding-bottom: 90px; */
		padding-top: 10px;
		position: fixed;
/* 		scrollbar-width: none; */
		top: 110px;
		width: 100%;
		z-index: 999;
	}
	.side-menu_scroll {
		padding-bottom: 90px;
	}

	.side-menu_sns {
		grid-template-columns: repeat(3, 60px);
		justify-content: center;
		margin: 20px 0;
	}

	.side-menu_nav2 {
		display: grid;
		grid-template-columns: 1fr 1fr;
		margin: 0 auto;
	}

	.side-menu_nav2 li a {
		border-bottom: 1px solid var(--clr-pnk1);
		font-size: 15px;
		font-weight: 500;
		padding: 15px 10px 15px 40px;
		position: relative;
		width: 100%;
		display: block;
	}

	.side-menu_nav2 li a::before {
		aspect-ratio: 20/36;
		background: url(./img/gnav_arw.png) no-repeat center/contain;
		content: "";
		display: block;
		left: 20px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 8px;
	}

	.side-menu_nav2 li:nth-child(odd) a {
		border-right: 1px solid var(--clr-pnk1);
	}

	.gnav {
		margin-bottom: 0;
	}

	.gnav-1st_item {
		transition: all 0.3s;
	}

	.gnav-1st_item.is-show {
		background: var(--clr-pnk2);
	}

	.gnav-1st_item.is-show>a::after {
		content: "－";
	}

	.gnav-1st_item>a {
		height: 55px;
		line-height: 55px;
	}

	.gnav-1st_item>a::after {
		aspect-ratio: auto;
		background: none;
		color: var(--color_main);
		content: "＋";
		font-size: 20px;
		width: auto;
	}

	.gnav-2nd {
		height: auto;
		overflow-y: visible;
		padding: 10px 20px;
	}

	.gnav-2nd_item {
		/*     border-bottom: none; */
		margin: 0;
	}

	.gnav-2nd_item a {
		/*     border-bottom: 1px dashed var(--color_main); */
		padding: 10px 0 10px 30px;
	}

	.gnav-2nd_item a::after {
		content: none;
	}

	.gnav-2nd_item a::before {
		content: "-";
		margin-right: 5px;
	}

	/* .gnav-2nd_item:first-child a {
    border-bottom: 1px dashed var(--color_main);
    border-top: 1px solid var(--color_main);
    font-size: 1em;
    margin-bottom: 0;
    padding-left: 10px;
    position: relative;
  }
  .gnav-2nd_item:first-child a:before {
    content: none;
  } */
	.gnav-box {
		left: 0;
		position: static;
		width: 100%;
	}

	.gnav-box.is-show {
		display: block;
	}

	.hamburger {
		align-items: center;
		border-radius: 50%;
		display: block;
		display: flex;
		height: 60px;
		justify-content: center;
		position: fixed;
		right: 0;
		top: 0;
		width: 60px;
		z-index: 100;
	}

	.hamburger_line {
		background-color: var(--color_main);
		border-radius: 2px;
		display: block;
		height: 2px;
		position: relative;
		width: 25px;
	}

	.hamburger_line::after,
	.hamburger_line::before {
		background-color: var(--color_main);
		border-radius: 2px;
		content: "";
		display: block;
		height: 2px;
		position: absolute;
		transition: all 0.3s;
		width: 100%;
	}

	.hamburger_line:before {
		top: -8px;
	}

	.hamburger_line:after {
		top: 8px;
	}

	.hamburger.open .hamburger_line {
		background: transparent;
	}

	.hamburger.open .hamburger_line:before {
		top: 0;
		transform: rotate(45deg);
	}

	.hamburger.open .hamburger_line:after {
		top: 0;
		transform: rotate(-45deg);
	}

	.mainarea {
		margin-left: 0;
	}

	.container {
		margin: 0 5%;
		padding: 0;
	}

	.top-title {
		margin: 0 auto 30px;
	}

	.top-title span {
		margin-left: 5px;
	}

	.top-slide_arrow-prev {
		bottom: -56px;
		left: calc(50% - 70px);
	}

	.top-slide_arrow-next {
		bottom: -56px;
		left: calc(50% + 30px);
	}

	.top-slide_num {
		bottom: -50px;
		left: 50%;
		transform: translateX(-50%);
	}

	#spcslider .top-spc_item {
		margin: 0 5px;
		width: 330px;
	}

	#hyougenslider .top-dept_item,
	#childslider .top-dept_item,
	#commonslider .top-dept_item {
		margin: 0 15px;
	}

	#voiceslider .top-voice_item {
		margin: 0 15px;
	}

	.tab_btns {
		min-width: 730px;
	}

	.top-mv {
		height: 280px;
		margin: 110px 0 20px;
	}

	.top-mv_body {
		bottom: 5px;
		left: 10px;
		padding: 10px;
	}

	.top-mv_catch {
		line-height: 1.3;
		text-shadow: 0 1px 1px #393939;
	}

	.top-mv_catch span {
		margin-top: 5px;
	}

	.topslider .slick-slide {
		height: 280px;
	}

	.top-spc {
		margin-bottom: 80px;
	}

	.top-news {
		padding: 30px 0;
	}

	.top-news .container {
		padding: 30px 0;
	}

	.top-news_btn {
		line-height: 1.4;
		padding: 0;
	}

	li:not(:nth-child(3)) .top-news_btn {
		padding: 0 20px;
	}

	li:nth-child(3) .top-news_btn {
		padding: 0 5px;
	}

	.top-news_panelarea {
		margin-bottom: 20px;
		padding: 0 10px;
	}

	.top-news_panel {
		padding: 20px 0;
	}

	.top-post_inner {
		flex-direction: column;
		gap: 5px;
	}

	.top-post {
		font-size: clamp(14px, 1.82vw, 16px);
	}

	.top-post_ttl {
		line-height: 1.5;
	}

	/*---- top-opc ---------  */
	.top-opc {
		padding: 60px 0;
	}

	.top-opc_catch {
		margin-bottom: 20px;
	}

	.top-opc_title {
		margin-bottom: 20px;
	}

	.top-opc .top-more {
		margin-top: 30px;
	}

	/* 	
  .top-opc_heading {
    height: auto;
    line-height: 1.2;
    margin: 0 auto 40px;
    max-width: 500px;
    padding: 10px 0 5px;
    width: 90%;
  }
  .top-opc_heading::before, .top-opc_heading::after {
    content: none;
  }
  .top-opc_catch {
    line-height: 1.5;
  } */
	.top-opc_txt {
		margin: 10px 0 30px;
	}

	.top-opc_time {
		flex-wrap: wrap;
		margin: 0 auto 30px;
		width: -moz-fit-content;
		width: fit-content;
	}

	.top-opc_time dt {
		text-align: center;
		width: 7em;
	}

	.top-opc_time dd {
		width: 60%;
	}

	.top-opc_time dd:first-of-type {
		margin-right: 0;
	}

	.top-opc_left span {
		margin-bottom: 10px;
	}

	.top-opc_flow {
		row-gap: 5px;
	}

	.top-opc_bus {
		margin: 10px auto;
	}

	.top-opc_caution {
		line-height: 1.5;
		margin: 10px auto 30px;
		max-width: 400px;
		text-align: left;
	}

	.top-opc_qr dt {
		line-height: 1.5;
	}

	.top-opc_photo {
		display: block;
		margin: 0 calc(50% - 50vw);
	}

	.top-opc_item {
		margin: 0 5px;
		width: 300px;
	}

	.top-cal_week {
		line-height: 25px;
		width: 25px;
	}

	.top-dept {
		padding: 70px 0;
	}



	/*   .top-dept_panelarea {
    padding: 20px 0;
  }
  .top-dept_panel {
    padding: 10px 0;
  }
  .top-dept_ttlarea {
    margin-bottom: 30px;
  }
  .top-dept_ttl {
    margin-bottom: 20px;
  }
  .top-dept_ttl span {
    display: block;
    margin: 30px 0 0 80px;
  }
  .top-dept_txt {
    width: 100%;
  } */

	.top-voice {
		margin-bottom: 100px;
	}
}

@media only screen and (max-width: 600px) {
	.sm {
		display: block;
	}

	.top-footer_mid {
		align-items: center;
		flex-direction: column;
		padding: 30px 5% 10px;
	}

	.top-footer_link {
		display: flex;
		flex-wrap: wrap;
		gap: 5px 15px;
		justify-content: space-around;
		margin: 0 auto 10px;
	}
}


.page-mv {
	margin-left: 200px;
	background: url(./img/top-opc_bg.jpg) no-repeat center bottom/cover;
}

.id_501 .page-mv {
	background: url(./img/library_head.jpg) no-repeat center center/cover;
}

.id_24250 .page-mv {
	background: url(./img/hyougen_head.jpg) no-repeat center center/cover;
}

.id_23955 .page-mv {
	background: url(./img/child_head.jpg) no-repeat center center/cover;
}

.page-mv_heading {
	font-size: 38px;
	text-align: center;
	padding: 120px 0;
	line-height: 1;
	font-weight: 500;
	letter-spacing: .1em;
}

@media only screen and (max-width: 782px) {
	.page-mv {
		margin-left: 0;
		margin-top: 120px;
	}

	.page-mv_heading {
		font-size: 28px;
		padding: 70px 0;
	}
}

/* .post_content ol, .post_content ul {
    padding-left: var(--swl-list-padding--left);
} */

.id_23554 .top-opc_calendar {
	padding-left: 0;
}


/* ============= form  ============ */

.form_dl {
	display: table;
	border-bottom: 1px solid var(--clr-gry1);
	padding: 14px 0;
	width: 100%;
}

.form_dt {
	display: table-cell;
	padding: 12px 16px;
	width: 320px;
}

.form_dd {
	display: table-cell;
	flex: 1;
	padding: 0 16px;
	vertical-align: middle;

}


.form_required {
	clear: right;
	display: block;
	float: right;
	margin-left: 0;
	background: var(--clr-red2);
	color: #fff;
	font-size: 14px;
	height: 22px;
	line-height: 22px;
	text-align: center;
	width: 50px;
}

.form_dl:last-of-type {
	border-bottom: 1px solid var(--clr-gry1);
	margin-bottom: 50px;
}

.form_label {
	font-weight: bold;
	letter-spacing: 0.1em;
}



.form_input,
.form_textarea,
.form-select {
	background: #eee;
	border: 2px solid var(--clr-gry1);
	border-radius: 7px;
	padding: 6px 15px;
	width: 100%;
}

.form_input-fit {
	width: max-content;
}

.form_input::-moz-placeholder,
.form_textarea::-moz-placeholder {
	font-size: 14px;
}

.form_input::placeholder,
.form_textarea::placeholder {
	font-size: 14px;
}

.form_input:focus {
	background: #EFEFEF;
}

.form_textarea {
	height: 250px;
	width: 100%;
}

.form-radio {
	display: flex;
	gap: 100px;
	justify-content: center;
}

.form-radio_btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: absolute;
}

.form-radio_label {
	display: block;
	font-size: 15px;
	position: relative;
}

.form-radio_label::before {
	background: #fff;
	border: 1px solid var(--clr-gry1);
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 23px;
	margin-right: 10px;
	position: relative;
	vertical-align: middle;
	width: 23px;
}

.form-radio_btn:checked+.form-radio_label:after {
	background-color: var(--clr-gry1);
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 13px;
	left: 5px;
	position: absolute;
	top: 7px;
	width: 13px;
}

.form-ckbox {
	display: flex;
	gap: 10%;
	justify-content: center;
	flex-wrap:wrap;
}

.form-ckbox_btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: absolute;
}

.form-ckbox_label {
	font-size: 18px;
	position: relative;
}

.form-ckbox_label::before {
	border: 2px solid var(--clr-gry1);
	content: "";
	display: inline-block;
	height: 18px;
	margin-right: 10px;
	position: relative;
	vertical-align: middle;
	width: 18px;
}

.form-ckbox_btn:checked+.form-ckbox_label:after {
	border-bottom: 2px solid var(--clr-gry1);
	border-left: 2px solid var(--clr-gry1);
	content: "";
	height: 5px;
	left: 4px;
	position: absolute;
	top: 50%;
	transform: rotate(-45deg);
	transform-origin: center;
	width: 10px;
}

.form-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 5px;
	padding: 8px 10px;
	width: 100%;
	font-size: 16px;
	background-image: linear-gradient(45deg, transparent 50%, var(--clr-gry1) 50%),
		linear-gradient(135deg, var(--clr-gry1) 50%, transparent 50%);
	background-position: calc(100% - 20px) center, calc(100% - 15px) center;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	cursor: pointer;
}


/* .form-select {
  background: #eee;
  border: 2px solid var(--clr-gry1); 
   border-radius: 5px;
  margin: 0 auto;
  position: relative;
  width: 100%;
} */

/* .form-select:after {
  border-color: var(--clr-gry1) transparent transparent transparent;
  border-style: solid;
  border-width: 8.7px 5px 0 5px;
  content: "";
  display: block;
  height: 0;
  pointer-events: none;
  position: absolute;
  right: 13px;
  top: 45%;
  width: 0;
} */

.form-select_body {
	padding: 8px 10px;
	width: 100%;
}

.form-select_body option {
	font-size: 16px;
}

.form-privacy label {
	font-size: 14px;
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
}

.form-privacy input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	position: absolute;
	width: 20px;
	height: 20px;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.form-privacy label::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid var(--color_text);
	margin-right: 10px;
	box-sizing: border-box;
}


.form-privacy input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	width: 10px;
	height: 5px;
	border-left: 2px solid var(--color_text);
	border-bottom: 2px solid var(--color_text);
	transform: translateY(-50%) rotate(-45deg);
}


.form-btnarea {
	text-align: center;
}

.form-btnarea_btn {
	background: var(--color_main);
	border: 1px solid var(--color_main);
	border-radius: 10px;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
	padding: 20px 0;
	text-align: center;
	transition: all 0.3s;
	width: 255px;
}

.form-btnarea_btn:hover {
	background: #fff;
	color: var(--color_main);
}

.form-btnarea_btn.is-inactive {
	background: var(--clr-gry1);
	border: 1px solid var(--clr-gry1);
	pointer-events: none;
}

.form_note{
	font-size: 0.85em;
	margin-top: 0.3em;
}

	.form-privacy{
		margin-bottom:20px;
	}
div.wpcf7 .wpcf7-spinner {
    display: block;
}


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


	.form_dl {
		display: block;
		padding: 10px 0;
	}

	.form_dt {
		display: block;
		width: 100%;
		padding: 0px 10px 5px;
	}

	.form_dd {
		display: block;
		width: 100%;
		padding: 0 10px;
	}

	.form_required {
		display: inline-block;
		margin-left: 10px;
		float:none;
	}


}

/* ============= pager  ============ */
.post-nav {
	margin: 60px 0;
	text-align: center;
}

.post-nav_list {
	display: flex;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;

}

.post-nav_item {
	flex: 1;
}

/* .post-nav_item-center {
  text-align: center;
} */

.post-nav_center {
	display: inline-block;
	padding: 12px 20px;
	background-color: var(--color_main);
	color: #fff;
	border-radius: 5px;
	text-decoration: none;
	font-weight: bold;
	/*   transition: background-color 0.3s ease; */
}

.post-nav_prev,
.post-nav_next {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-decoration: none;
}

.post-nav_prev:before {
	content: "";
	width: 40px;
	height: 40px;
	background: url(./img/arw-prev.png) no-repeat center/contain;
	position: relative;
	display: inline-block;
}

.post-nav_next:after {
	content: "";
	width: 40px;
	height: 40px;
	background: url(./img/arw-next.png) no-repeat center/contain;
	position: relative;
	display: inline-block;
}


/* .post-nav_link:hover {
  background-color: #ddd;
} */

.post-nav_text {
	font-size: 16px;
}


/*=============== annual-calendar ===========*/
.id_511 .post_content ol,
.id_511 .post_content ul {
	padding-left: 0;
}

.id_511 .post_content li {
	margin: 0;
}

.post_content ol.annual-calendar {
	padding-left: 0;
}

.annual-calendar_item {
	display: flex;
	gap: 30px;

}

.annual-calendar_month {
	align-items: center;
	background: url(./img/calendar_arw.jpg) no-repeat center bottom/100% auto;
	background-color: var(--color_main);
	color: #fff;
	display: flex;
	font-size: clamp(26px, 3.39vw, 35px);
	font-weight: 700;
	justify-content: center;
	padding: 10px 0 30px;
	width: 80px;
}

.annual-calendar_month span {
	font-size: max(0.6em, 16px);
	position: relative;
	top: 5px;
}

.annual-calendar_item:last-of-type .annual-calendar_month {
	background-image: url(./img/calendar_arw2.jpg);
}

.annual-calendar_wrap {
	display: flex;
	padding: 10px 0 30px;
	width: calc(100% - 80px);
}

.annual-calendar_body {
	width: 50%;
}

.annual-calendar_list li {
	padding-left: 2em;
	padding-left: 1.5em;
	position: relative;
	list-style-type: none;

}

.annual-calendar_list li.cs {
	color: var(--clr-red1);
}

.annual-calendar_list li.ce {
	color: var(--clr-blu1);
}

.annual-calendar_list li::before {
	color: inherit;
	content: "●";
	font-size: 0.7em;
	left: 5px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.annual-calendar_img {
	display: flex;
	gap: 10px;
	width: 50%;
}

.annual-calendar_img figure {
	width: 50%;
}

@media only screen and (max-width: 960px) {
	.annual-calendar_wrap {
		flex-direction: column;
		gap: 10px;
	}

	.annual-calendar_body {
		font-size: 14px;
		width: 100%;
	}

	.annual-calendar_img {
		width: 100%;
	}
}

@media only screen and (max-width: 782px) {
	.annual-calendar_item {
		gap: 15px;
	}

	.annual-calendar_month {
		width: 60px;
	}

	.annual-calendar_list li::before {
		font-size: 0.5em;
	}
}