@charset "utf-8";

/* ==================================================
PC
================================================== */
/* ----------------------------------------
ヘッダ
---------------------------------------- */
#header {
	background: url(/img/sites/kosodate/cloud1.png) no-repeat left calc(50% - 600px) bottom, url(/img/sites/kosodate/cloud2.png) no-repeat right calc(50% - 580px) top 105px;
}
#header2_box {
	display: block;
	max-width: 1080px;
	padding: 15px 0;
	margin: 0 auto;
	position: relative;
}

#logo {
	position: absolute;
	left: 0px;
	top: 2rem;
}
.logo_box {
	display: block;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	max-width: 100%;
}
#logo.top_index_logo {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;
}

#he_left {
	-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
			order: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
		-ms-flex-pack: end;
			justify-content: flex-end;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	gap: 10px 20px;
	margin: 0px 0px 0px 210px;
	width: auto;
}
@media screen and (max-width: 1400px) {
	#he_left {
		margin-right: calc(140px + 20px);
	}
}

#he_left > .h_hojo {
	position: relative;
}
.h_hojo_unit {
	box-shadow: 0 0 10px #f5aca1;
}
.h_news_btn {
	position: relative;
	display: block;
	font-size: 1.4rem;
	line-height: 2rem;
	letter-spacing: .05em;
	padding: 10px 20px 10px 47px;
	border-radius: 5px;
	background: #fde8e5;
	margin: 0 0 0 4px;
}
.h_news_btn::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	translate: -4px -50%;
	display: inline-block;
	width: 40px;
	height: 20px;
	background: url(/img/sites/kosodate/icon_new.png) no-repeat center / contain;
}

/* ----------------------------------------
キーワード検索
---------------------------------------- */
#header_search_keyword {
	margin: 0px 0px 0px 210px;
	margin-top: 30px;
}
@media screen and (max-width: 1400px) {
	#header_search_keyword {
		margin-right: calc(140px + 20px);
	}
}
#top_search_keyword {
	text-align: left;
}
#header-cse-search-box {
	display: flex;
	justify-content: flex-end;
	align-items: center;

}
#header-cse-search-box .search_ttl {
	display: block;
	font-size: 1.5rem;
	padding: 10px 20px;
}
#header-cse-search-box .search_ipt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: stretch;
		-ms-flex-align: stretch;
			align-items: stretch;
	width: 40rem;
	max-width: 100%;
	background: #ffffff;
	border: 1px solid #d7d7d7;
	border-radius: 5px;
	padding: 4px 0px 4px 4px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
#header_tmp_query {
	display: inline-block;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
	width: calc(100% - 6rem) !important;
	height: 5rem !important;
	border: none !important;
}
#header_submit {
	display: block;
	width: 6rem;
	max-width: 40%;
	min-height: 50px;
	padding: 0;
	border: none;
	border-left: 1px solid #d7d7d7;
	border-radius: 0px 5px 5px 0px;
	background-repeat: no-repeat;
	background-size: 29px 29px;
	background-position: center;
	background-color: #ffffff;
	background-image: url(/img/sites/kosodate/icon_srch_pink.png);
	overflow: hidden;
	text-indent: -9999em;
}
@media (hover: hover) {
	#he_right .gnav_i a::after {
		-webkit-transform-origin: right center;
				transform-origin: right center;
		-webkit-transition: .5s scale;
		transition: .5s scale;
	}
	#he_right .gnav_i a:hover::after {
		-webkit-transform-origin: left center;
				transform-origin: left center;
		scale: 1 1;
	}
}

/* ----------------------------------------
検索（セカンド展開用）
---------------------------------------- */
#search_btn {
	display: block;
	color: inherit;
	text-decoration: none;
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: .05em;
	text-align: center;
	width: 140px;
	padding: calc(10px + 24px + 5px) 10px 15px;
	border-radius: 0 0 10px 10px;
	background: url(/img/sites/kosodate/icon_srch_white.png) no-repeat top 10px center / 24px 24px #ffd0c9;
}

.is_active_search #search_btn {
	display: none;
}



/* ========== トップページ ========== */

/* 非表示 */
#footstep_wrap {
	display: none !important;
}
#footer {
	position: relative;
	padding: 30px 0px 0px;
	background: #ffe9e9;
}
/*
#footer:before {
	content: "";
	position: absolute;
	z-index: 1;
	top: -70px;
	left: 0;
	width: 100%;
	background: url(/img/sites/kosodate/footer_curve.png) no-repeat center;
	height: 126px;
	background-size: cover;
}
*/
#author_info {
	margin: 0px;
	padding: 30px 0px 15px;
}
#author_info_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 45px;
}
#foot_logo {
	width: 231px;
}
#foot_logo img {
	max-width: 100%;
	height: auto;
}
#author_box {
	padding-top: 25px;
}
#author_box p {
	margin: 0px 0px 0.8em;
	font-size: 1.6rem;
}
#author_box p span {
	margin-right: 1em;
	display: inline-block;
}
#author_box p span.short {
	margin-right: 2em;
}
.mail_add {
	margin: 30px 0px 0px;
}
.mail_add a {
	display: inline-flex;
	width: 420px;
	max-width: 100%;
	justify-content: center;
	text-decoration: none;
}
.f_navi_i:after {

}
.f_navi_i:nth-last-child(2)::after {
	content: none;
}
.f_navi_i a {
	margin: 0px;
}
.f_navi_i a:hover {
	text-decoration: none;
}
.footer_navi {
	padding: 40px 0px 20px;
}
.f_navi_list {
	justify-content: center;
	width: 520px;
	margin: 0 auto;
	max-width: 100%;
	gap: 1em;
}
.f_navi_i:nth-child(-2n)::after {
	content: none;
}
#copyright {
	background: #FFDFDF;
	color: #333;
}
#footer_link_pagetop {
	width: 114px;
}
/*全体*/
#container {
	background-color: #fdf9f6;
	background-repeat: no-repeat;
	background-size: 12.6vw;
	background-position: left top, right top;
	background-image: url(/img/sites/kosodate/flag_lft.png), url(/img/sites/kosodate/flag_rgt.png);
}
#mymainback_bg {
overflow-x: clip;
}
#mymainback {
	width: auto;
	padding: 50px 0px 0px;
	background: url(/img/sites/kosodate/ballon_pink.png) no-repeat left calc(50% - 700px) top 5px, url(/img/sites/kosodate/bee1.png) no-repeat left calc(50% - 600px) top 200px, url(/img/sites/kosodate/ballon_blu.png) no-repeat right calc(50% - 750px) top 80px, url(/img/sites/kosodate/butterfly_rgt.png) no-repeat right calc(50% - 570px) top 10px;
}
#main_a > div {
	padding-bottom: 70px;
}
#main_a > div > div {
	max-width: 1080px;
	margin: 0 auto;
}
h2,
.section_information h2,
#main_body .section_information h2 {
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.1;
	padding: 35px 5px 0px;
	margin: 0px 0px 30px;
	background-repeat: no-repeat;
	background-size: auto;
	background-position: center top;
	background-color: transparent;
}
h2.hana_pink {
	background-image: url(/img/sites/kosodate/hana_pink.png);
}
h2.hana_peach {
	background-image: url(/img/sites/kosodate/hana_peach.png);
}
.link_maru {
	text-align: center;
}
.link_maru a,
.section_information_list div.link_box span a {
	padding: 16px 20px;
	padding-right: 50px;
	border-radius: 30px;
	border: 2px solid #fff7b8;
	font-size: 1.6rem;
	line-height: 1.3;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	background-repeat: no-repeat;
	background-size: auto;
	background-position: center right 20px;
	background-color: #fff7b8;
	background-image: url(/img/sites/kosodate/btn_cir_pink.png);
	transition: border-color 0.4s;
}
.section_information_list div.link_box span a {
	width: 27rem;
	max-width: 100%;
	box-sizing: border-box;
}
@media (hover: hover) {
	.link_maru a:hover,
	.section_information_list div.link_box span a:hover {
		border-color: #f6bcbc;
		text-decoration: none;
	}
}


a {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a:link {
	color: #333333;
}
a:hover {
	color: #000000;
}
a:visited {
	color: #333333;
}
a:active {
	color: #000000;
}
:where(.section_information_list :is(a)),
:where(#sidebar_recommend :is(a)),
:where(#sidebar_ai_recommend :is(a)) {
	text-decoration: underline;
}
.section_information_list ul li a:hover,
#sidebar_ai_recommend ul li a:hover,
#sidebar_ai_recommend ul li a:hover {
	text-decoration: none;
}
:where(#mymainback :is(ul, ol)) {
	list-style: none;
	margin: 0;
	padding: 0;
}

#forsp_menu {
	display: none;
}

/* FirstView スライドショー */
.fv_column_bg,
#main_a > div.fv_column_bg {
	position: relative;
	padding: 0 0 40px;
	z-index: 1;
	background: url(/img/sites/kosodate/top_main_bg.png) no-repeat center bottom;
	background-size: 100% auto;
}
/*
.fv_column_bg:before {
	content: "";
	width: 100%;
	height: 331px;
	position: absolute;
	z-index: -1;
	background: url(/img/sites/kosodate/top_main_bg.png) no-repeat center;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-size: cover;
}
*/
.fv_column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-ms-flex-line-pack: start;
		align-content: flex-start;
	-webkit-box-align: start;
		-ms-flex-align: start;
			align-items: flex-start;
	gap: 30px;
}

#slideshow_wrap {

}

#slide_box {
	width: calc(754px + 10px);
	max-width: 100%;
}
.swiper-slide {

}
#slide_box .swiper-slide img,
#slide_box .swiper-slide img.pg_class_slide_img_fit {
	width: 754px !important;
	height: 476px !important;
	object-fit: cover;
	border-radius: 300px;
	box-shadow: -8px 7px #fcb5b5;
	margin-left: 8px;
}
#slide_box button.swiper-button-prev,
#slide_box button.swiper-button-next {
	display: none !important;
}
#slide_box button.swiper-button-start,
#slide_box button.swiper-button-stop {
	position: static;
	transform: none;
	background-color: #ff9292;
	background-repeat: no-repeat;
	box-shadow: none;
	width: 30px;
	height: 30px;
	padding: 0px;
	color: #333333;
}
#slide_box button.swiper-button-stop {
	background-position: center;
	background-image: url(/img/sites/kosodate/icon_pause.png);
}
#slide_box button.swiper-button-start {
	background-position: center left 12px;
	background-image: url(/img/sites/kosodate/icon_play.png);
}
:where(button.swiper-button-start,button.swiper-button-stop)::after {
	content: none !important;
}

#slide_box .swiper-pagination-bullet {
	width: 17px;
	height: 17px;
	border-radius: 100%;
	background: #ffffff;
	border: 3px solid #ff9292;
	opacity: 1;
	box-sizing: border-box;
}
#slide_box .swiper-pagination-bullet-active {
	background: #ff9292;
	border: 3px solid #ffffff;
}
#slide_box .swiper-controls {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-top: 15px;
}
#slide_box .swiper-pagination {
	margin: 0px;
	width: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	bottom: 0;
}
#slide_box .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
#slide_box .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0px;
}
/* FirstViewメニュー */
.fv_menu_bnr {
	width: 28.5rem;
	max-width: 100%;
}
.fv_menu_bnr ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	gap: 25px;
}
.fv_menu_bnr ul li {
	width: 100%;
}
.fv_menu_bnr ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 100px;
	padding: 15px 45px 15px 60px;
	border-radius: 30px;
	border: 1px solid #f4e890;
	position: relative;
	background: url(/img/sites/kosodate/icon_orange.png) no-repeat center right 15px / 26px #fff7b8;
	-webkit-box-sizing: border-box;
		box-sizing: border-box;
	font-size: 2.1rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	transition: border-color 0.4s ease;
	flex-wrap: wrap;
}
.fv_menu_bnr ul li.fv_menu_04 a {
	background-color: #ffcc7b;
	border-color: #eeb86b;
}
.fv_menu_bnr ul li a:before {
	position: absolute;
	z-index: 1;
	content: "";
	width: 30px;
	height: 30px;
	left: 28px;
	top: calc(50% - 15px);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: transform 0.4s ease;
}
.fv_menu_bnr ul li.fv_menu_01 a:before {
	background-image: url(/img/sites/kosodate/icon_hospital.png);
}
.fv_menu_bnr ul li.fv_menu_02 a:before {
	background-image: url(/img/sites/kosodate/icon_lamp.png);
}
.fv_menu_bnr ul li.fv_menu_03 a:before {
	background-image: url(/img/sites/kosodate/icon_msg.png);
}
.fv_menu_bnr ul li.fv_menu_04 a:before {
	background-image: url(/img/sites/kosodate/icon_cal.png);
}

@keyframes yurayura {
	0% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(10deg);
	}
	50% {
		transform: rotate(-10deg);
	}
	75% {
		transform: rotate(6deg);
	}
	100% {
		transform: rotate(0deg);
	}
}

@keyframes yurascale {
  0%,100% { scale: 1; }
  40% { scale: 1.18; }
  60% { scale: 1.12; }
}


.fv_menu_bnr ul li a:before{
	transform-origin: center center;
}

@media (hover: hover) {
	.fv_menu_bnr ul li a:hover {
		border-color: #946342;
	}
	.fv_menu_bnr ul li a:hover:before {
		animation: yurayura 1s ease forwards, yurascale 1s ease forwards;
	}
}

@media screen and (min-width:638px) and (max-width:1079px){
	.fv_menu_bnr {
		width: 100%;
	}
	.fv_menu_bnr ul {
		flex-direction: initial;
		flex-wrap: wrap;
	}
	.fv_menu_bnr ul li {
		width: 28.5rem;
	}
}
@media screen and (max-width:637px) {
	.fv_menu_bnr {
		margin: 0 auto;
	}
	.fv_menu_bnr {
		width: 100%;
	}
	.fv_menu_bnr ul {
		gap: 20px;
	}
	.fv_menu_bnr ul li a {
		padding: 10px 15px 10px 24px;
		min-height: 65px;
		font-size: 1.5rem;
		line-height: 1.4;
	}
}



/* 新着情報 */
.news_cal_2col_bg {
	background: url(/img/sites/kosodate/ballon_peach.png) no-repeat top 120px left calc(50% - 590px), url(/img/sites/kosodate/flowers.png) no-repeat bottom 90px right calc(50% - 620px), url(/img/sites/kosodate/wave.png) no-repeat center bottom #ffe9e9;
	background-size: auto, auto, 100% auto;
}
.news_cal_2col {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: flex-start;
	gap: 20px;
	padding: 80px 0px 70px;
}

/* 2col layout prepare */
.section_information,
.section_information#news {
	background: #fffdfd;
	padding: 50px 20px 80px;
	border-radius: 50px;
	border: 1px solid #ffdbdb;
	margin: 46px 0px 0px;
	position: relative;
	width: 630px;
	max-width: 100%;
	box-sizing: border-box;
}
.section_information:before {
	position: absolute;
	content: "";
	width: 110px;
	height: 44px;
	background: url(/img/sites/kosodate/img_news.png) no-repeat center;
	top: -44px;
	left: 50%;
	transform: translateX(-50%);
}
.calendar_column {
	background: #fdfae8;
	border: 2px solid #ffeaa6;
	border-radius: 50px;
	padding: 50px 20px;
	margin-top: 46px;
	position: relative;
	width: 43rem;
	max-width: 100%;
	box-sizing: border-box;
}
.calendar_column:before {
	position: absolute;
	content: "";
	width: 73px;
	height: 46px;
	background: url(/img/sites/kosodate/icon_hedgehog.png) no-repeat center;
	top: -46px;
	right: 65px;
}
.section_information,
.calendar_column {
	display: flex;
	flex-direction: column;
}
.section_information .link_maru {
	margin-top: auto !important;
}
/* 新着 */
.section_information#news {

}
.section_information_list_wrap,
.section_information_list {
	padding: 0px;
	border-radius: 0;
	height: 100%;
}
.section_information_list {
	display: flex;
	flex-direction: column;
}
.section_information_list ul {
	padding: 0px 15px;
}
.section_information_list ul li,
.section_information_list ul li:nth-child(even) {
	background: none;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;
	gap: 20px 35px;
	padding: 14px 10px;
}
.section_information p.no_data {
	margin: 0px;
	padding: 20px 0px;
}
.section_information_list ul li > span.article_date {
	width: 17rem;
}
.section_information_list ul li > span.article_title {
	width: calc(100% - 17rem - 35px);
}
.section_information_list div.link_box {
	justify-content: center;
}
.section_information_list div.link_box span {
	background: transparent;
	margin: 0;
}
/* カレンダー */
.table_bg {
	background: #ffffff;
	padding: 30px 15px;
	position: relative;
	border-radius: 10px;
}
.table_bg:before,
.table_bg:after {
	position: absolute;
	z-index: 1;
	width: 56px;
	height: 38px;
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	top: -20px;
}
.table_bg:before {
	left: -20px;
	background-image: url(/img/sites/kosodate/masking_tape_lft.png);
}
.table_bg:after {
	right: -20px;
	background-image: url(/img/sites/kosodate/masking_tape_rgt.png);
}
table.calendar_table_days {
	width:100%;
	border-collapse: separate;
	border-spacing: 0 3px;
}
.calendar_table_days caption {
	padding: 0px 0px 5px;
	text-align: left;
	font-size: 1.8rem;
	text-align: center;
}
.calendar_table_days tr {
	margin: 0px;
}
.calendar_table_days tr:nth-child(n+8) {
	display: none;
}
.calendar_table_days th,.calendar_table_days td {
	font-weight:normal;
	font-size:1.6rem;
	border-radius: 10px 0 0 10px;
	padding: 0.6em;
	background: #fff;
	border: 1px solid #dcd5d5;
	box-sizing: border-box;
}
.calendar_table_days td {
	padding: 10px;
	border-radius: 0 10px 10px 0;
}
.calendar_table_days th {
	width:135px;
	border: 1px solid #dcd5d5;
	border-right-width: 0px;
}
.calendar_table_days .cal_sat {
	background: #eaf8ff;
}
.calendar_table_days .cal_sun,
.calendar_table_days .cal_hol {
	background: #ffe4f5;
}
.calendar_link {
	margin: 25px 0px 0px;
}
.calendar_link a {

}
.calendar_link a:hover {
	text-decoration: underline;
}
/* ○○さがす */
#srch_by_bg {
	position: relative;
	background: url(/img/sites/kosodate/butterfly_lft.png) no-repeat top 120px left calc(50% - 620px), url(/img/sites/kosodate/bird.png) no-repeat top 90px right calc(50% - 630px), url(/img/sites/kosodate/balloon_up.png) no-repeat top 450px left calc(50% - 630px), url(/img/sites/kosodate/bee2.png) no-repeat top 600px right calc(50% - 630px), url(/img/sites/kosodate/butterfly_lft.png) no-repeat top 120px left calc(50% - 620px), url(/img/sites/kosodate/bird.png) no-repeat top 90px right calc(50% - 630px) #fffdf5;
	padding-top: 30px;
	padding-bottom: 30px !important;
}
/*
#srch_by_bg:before {
	content: "";
	position: absolute;
	z-index: 1;
	top: -70px;
	left: 0;
	width: 100%;
	background: url(/img/sites/kosodate/wave.png) no-repeat center;
	height: 74px;
}
*/
#srch_by_bg:after {
	content: "";
	position: absolute;
	z-index: 1;
	bottom: -50px;
	left: 0;
	width: 100%;
	background: url(/img/sites/kosodate/wave2.png) no-repeat center;
	height: 53px;
}
.srch_by_sth ul {
	display: flex;
	justify-content: center;
	align-items: stretch;
	align-content: flex-start;
	flex-wrap: wrap;
	gap: 0;
}

.srch_by_sth ul li {
	width: 210px;
	max-width: 50%;
	box-sizing: border-box;
	padding: 0;
	margin: 15px 30px;
}

.srch_by_sth li a {
	display: block;
	text-decoration: none;
	text-align: center;
	font-size: 2.4rem;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	padding: 230px 5px 10px;
}
.srch_by_sth li a:before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 210px;
	height: 210px;
	border: 3px solid #f0ecd9;
	background-color: #ffffff;
	border-radius: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto;
	transition: border-color 0.3s;
}
.srch_by_sth li.a_born a:before {
	background-image: url(/img/sites/kosodate/icon_pregnent_yelo.png);
}
.srch_by_sth li.a_baby a:before {
	background-image: url(/img/sites/kosodate/icon_baby.png);
}
.srch_by_sth li.a_es a:before {
	background-image: url(/img/sites/kosodate/icon_es.png);
}
.srch_by_sth li.a_jhs a:before {
	background-image: url(/img/sites/kosodate/icon_jhs.png);
}

.srch_by_sth li.p_ninshin a:before {
	background-image: url(/img/sites/kosodate/icon_pregnent_pink.png);
}
.srch_by_sth li.p_shusan a:before {
	background-image: url(/img/sites/kosodate/icon_newborn.png);
}
.srch_by_sth li.p_funin a:before {
	background-image: url(/img/sites/kosodate/icon_two_hands.png);
}
.srch_by_sth li.p_oyako a:before {
	background-image: url(/img/sites/kosodate/icon_oyako.png);
}
.srch_by_sth li.p_teate a:before {
	background-image: url(/img/sites/kosodate/icon_card.png);
}
.srch_by_sth li.p_shien a:before {
	background-image: url(/img/sites/kosodate/icon_one_hands.png);
}
.srch_by_sth li.p_soudan a:before {
	background-image: url(/img/sites/kosodate/icon_msg_big.png);
}
.srch_by_sth li.p_tetsuduki a:before {
	background-image: url(/img/sites/kosodate/icon_memo_big.png);
}

.srch_by_sth li a:after {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	transform: translateX(-50%);
	bottom: 14px;
	width: 80%;
	height: 20px;
	opacity: 0;
	background: linear-gradient(transparent 20%, #fff7b8 80%);
	transition: opacity 0.3s;
}
#srch_by div + div {
	padding-top: 50px;
}

@media (hover: hover) {
	.srch_by_sth li a:hover:before {
		border-color: #eeb86b;
	}
	.shisetsu_list ul li a:hover {
		text-decoration: underline;
		border-color: #ffcc7b;
	}
	.srch_by_sth li a:hover:after {
		opacity: 1;
	}
}

/* 応援企業 */
.ouen_sonota_bg {
	padding-top: 70px;
	background:
 url(/img/sites/kosodate/ballon_peach.png) no-repeat right calc(50% - 580px) top 5%,
 url(/img/sites/kosodate/deer.png) no-repeat left calc(50% - 660px) top 20%,
 url(/img/sites/kosodate/flower_one.png) no-repeat right calc(50% - 590px) top 40%,
 url(/img/sites/kosodate/music_note1.png) no-repeat left calc(50% - 590px) top 55%,
 url(/img/sites/kosodate/music_note2.png) no-repeat right calc(50% - 570px) top 80%,
 url(/img/sites/kosodate/footer_curve.png) no-repeat center bottom / 100% auto,
 url(/img/sites/kosodate/btm_bg.jpg) repeat left top
}
#main_a > div.ouen_sonota_bg {
	padding-bottom: 140px;
}
.shisetsu_list ul {
	display: flex;
	justify-content: center;
	align-items: stretch;
	align-content: flex-start;
	flex-wrap: wrap;
	gap: 0;
	margin-bottom: 70px;
}
.shisetsu_list ul li {
	width: 230px;
	max-width: 50%;
	margin: 20px;
	box-sizing: border-box;
	min-height: 230px;
}
.shisetsu_list ul li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	align-content: flex-start;
	gap: 20px;
	text-decoration: none;
	text-align: center;
	font-size: 2.1rem;
	line-height: 1.5;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 8px 8px 16px;
	background: #ffffff;
	border-radius: 5px;
	border: 3px solid #f0ecd9;
	border-radius: 14px;
	transition: border-color 0.3s;
}
.shisetsu_list ul li img {
	max-width: 100%;
	height: auto;
	border-radius: 13px;
}
.ouen_kigyou,
#main_a > div > div.ouen_kigyou {
	border-radius: 50px;
	padding: 10px;
	position: relative;
	background: #ffffff;
	margin: 0 auto 90px;
}
.ouen_kigyou:before,
.ouen_kigyou:after {
	content: "";
	position: absolute;
	z-index: 1;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 108px;
	height: 88px;
}
.ouen_kigyou:before {
	top: 0;
	left: 0;
	background-image: url(/img/sites/kosodate/deco_lft.png);
}
.ouen_kigyou:after {
	top: 0;
	right: 0;
	background-image: url(/img/sites/kosodate/deco_rgt.png);
}
.ouen_kigyou_border {
	border: 2px dashed #f2cb32;
	border-radius: 50px;
	padding: 50px 350px 50px 50px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 25px;
	box-sizing: border-box;
}
.ouen_kigyou_border h2 {
	margin-bottom: 0;
}
.ouen_kigyou img.sticker_pic {
	position: absolute;
	z-index: 1;
	right: 100px;
	top: 50%;
	transform: translateY(-50%);
	max-width: 100%;
	height: auto;
}
.ouen_kigyou_border p {
	text-align: center;
	margin: 0;
	width: 60.1rem;
	max-width: 100%;
	letter-spacing: 0.1em;
}
.ouen_kigyou_border p + p {
	margin-top: 1em;
}

.ouen_kigyou_border .link_maru {
	margin-top: 15px;
}
.ouen_kigyou_border .link_maru a {
	margin-top: 15px;
	min-width: 135px;
}
/* 関連する組織・関連所法 */
.kanren_info_inner {
	padding: 0px 0px 100px;
}
.kanren_info_inner:not(:has(.free_box)) {
	display: none;
}
.kanren_infobnr {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 68px;
	padding: 30px 0px 0px;
}
.kanren_infobnr .free_box {
	width: 506px;
	max-width: 100%;
}
.kanren_infobnr .free_box a {
	display: block;
}

.recommend_column {
	display: flex;
	justify-content: center;
	gap: 16px;
}
#recommend_tag, #ai_recommend_tag {
	background: #ffffff;
	border: 2px solid #f0ecd9;
	border-radius: 20px;
	width: 100%;
}
#sidebar_recommend, #sidebar_ai_recommend {
	padding: 12px 20px;
	border-radius: 0px;
	background: transparent;
}
#recommend_title, #ai_recommend_title {
	background: transparent;
	border-radius: 20px 20px 0px 0px;
	padding: 13px 5px;
	border-bottom: 2px solid #f0ecd9;
}
#recommend_title h2, #ai_recommend_title h2 {
	font-size: 1.7rem;
	background-size: 22px auto;
	padding: 5px 0px 5px 30px;
}
#recommend_title h2 {
	background: url("/img/sites/kosodate/icon_recommend.png") no-repeat left center transparent;
}
#ai_recommend_title h2 {
	background: url("/img/sites/kosodate/icon_ai_recommend.png") no-repeat left center transparent;
}
#recommend_title h2 span, #ai_recommend_title h2 span {
	display: inline;
}
#sidebar_recommend ul li, #sidebar_ai_recommend ul li {
	padding: 15px 10px 14px;
}
#sidebar_recommend ul li + li, #sidebar_ai_recommend ul li + li {
	border-top: 1px dotted #8f8f8f;
}
#sidebar_recommend ul li a, #sidebar_ai_recommend ul li a {
	font-size: 1.7rem;
}
#sidebar_recommend ul li a:hover, #sidebar_ai_recommend ul li a:hover {
	text-decoration: none;
}
#site_footer {

}
#site_footer_box {
	max-width: 1080px;
	margin: 70px auto 20px;
	background: #ffffff;
	padding: 25px 35px;
	border-radius: 20px;
	border: 2px solid #F0ECD9;
}
#site_footer_box p {
	margin: 0px 0px 0.8em;
}
#site_footer_box p:last-child {
	margin: 0;
}
/* ========== 背景色変更 ========== */

/* 共通 */
.color_change * {

}
.color_change *:before,
.color_change *:after {
	content: none !important;
}
.color_change #main h2 {
	background: #ffffff !important;
}
.color_change .news_cal_2col_bg,
.color_change #srch_by_bg,
.color_change .ouen_sonota_bg,
.color_change .fv_menu_bnr ul li a,
.color_change .link_maru a, .color_change .section_information_list div.link_box span a,
.color_change .sp_menu_anchor ul li a {
	background: none !important;
}
/* 黒 */
.color_black * {

}
/* 青 */
.color_blue * {

}

/* ==================================================
PC ここまで
================================================== */


/* ==================================================
スマートフォン
================================================== */
@media screen and (max-width: 1080px) {

	#spm_wrap a, #spm_wrap button {
		background-color: #fde8e5;
	}
	#spm_wrap #spm_news {
		background-image: url(/img/sites/kosodate/spm_news.png);
	}
	#spm_wrap #spm_search {
		background-color: #ffd0c9;
	}
	#forsp_menu {
		position: fixed;
		width: 100%;
		height: 100vh;
		display: block;
		top: 100%;
		left: 0;
		z-index: 100;
		background-color: #fff7b8;
		-webkit-transition: .5s translate;
		transition: .5s translate;
	}
	.spm_menu_open #forsp_menu {
		translate: 0 -100%;
	}
	.sp_menu_anchor {
		height: 100%;
		display: flex;
	}
	.sp_menu_anchor ul {
		list-style: none;
		width: 100%;
		margin: auto;
		padding: 20px 20px calc(20px + 70px);
		box-sizing: border-box;
	}
	.sp_menu_anchor ul li {
		line-height: 1.7;
		margin: 0 0 15px;
	}
	.sp_menu_anchor ul li a {
		font-size: 1.6rem;
		padding: 15px 10px 14px 45px;
		display: block;
		box-sizing: border-box;
		border-radius: 20px;
		background: url(/img/sites/kosodate/hana_pink.png) no-repeat left 15px center #ffffff;
		text-decoration: none;
	}
	.sp_menu_anchor ul li:nth-child(even) a {
		background-image: url(/img/sites/kosodate/hana_peach.png);
	}
	#header_search_keyword {
		display: none !important;
	}


	/* ----------------------------------------
	ヘッダ
	---------------------------------------- */
	#header2_box {
		-webkit-box-pack: justify;
			-ms-flex-pack: justify;
				justify-content: space-between;
		-webkit-box-align: center;
			-ms-flex-align: center;
				align-items: center;
		gap: 10px;
		max-width: none;
		padding: 15px 20px;
		display: flex;
	}
	.tpl_top_index #header2_box {
		padding-left: calc(20px + 124px + 20px);
	}

	#logo {
		-webkit-box-ordinal-group: initial;
			-ms-flex-order: initial;
				order: initial;
		position: static;
		max-width: 55%;
	}

	#he_left {
		-webkit-box-flex: 1;
			-ms-flex: 1;
				flex: 1;
		-webkit-box-ordinal-group: initial;
			-ms-flex-order: initial;
				order: initial;
		gap: 12px 10px;
		width: auto;
		margin: 0px;
	}
	.h_list_i a:any-link, .h_hojo_btn_txt {
		text-decoration: 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6, 0 0 5px #fdf9f6;
	}
	.h_hojo_unit {
		box-shadow: none;
	}
	.h_hojo_box {
		width: 98vw;
		border-color: #ffd0c9;
	}
	.h_hojo_btn.open::before {
		border-color: #ffd0c9;
	}

	/* フッタ */
	#footer {
		padding: 10px 0px 0px;
	}
	#author_info_box {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	#foot_logo {
		width: 200px;
	}
	#author_info {
		padding: 20px;
	}
	#author_box {
		padding: 15px 0px 0px;
		width: 100%;
		text-align: center;
	}
	#author_box p {
		font-size: 1.3rem;
		line-height: 1.3;
	}
	#author_info_box {

	}
	.mail_add {
		margin: 20px 0px 0px;
	}
	.f_navi_list {
		gap: 1.3em 1.4em;
	}
	#footer_link_pagetop {
		width: 80px;
	}
	#copyright {
		padding-bottom: 160px;
	}
	h2, .section_information h2, #main_body .section_information h2 {
		margin-bottom: 10px;
	}
	h2 img, .section_information h2 img, #main_body .section_information h2 img {
		max-width: 100%;
		height: auto;
	}
	#mymainback_bg {
		background: url(/img/sites/kosodate/cloud1.png) no-repeat left top 15px, url(/img/sites/kosodate/cloud2.png) no-repeat right top 25px;
	}
	#mymainback {
		margin: 0px;
		padding: 10px 0px 0px;
	}
	#main_a > div,
	#main_a > div.ouen_sonota_bg {
		padding-bottom: 60px;
	}
	#main_a > div > div {
		padding: 0px 15px;
	}
	.link_maru a, .section_information_list div.link_box span a {
		padding: 15px 20px;
		padding-right: 45px;
		font-size: 1.4rem;
	}

	/* スライドショー */
	.fv_column_bg, #main_a > div.fv_column_bg {
		background-size: cover;
	}
	.fv_column {
		display: block;
	}
	#slideshow_wrap {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		margin: 0px 0px 30px;
	}
	#slide_box {
		width: 100%;
		max-width: 100%;
	}
	#slide_box .swiper-controls {
		margin-top: 10px;
	}

	/* スライド内画像のリセット・スマホサイズ化 */
	#slide_box .swiper-slide img,
	#slide_box .swiper-slide img.pg_class_slide_img_fit {
		width: calc(100% - 14px) !important;
		height: auto !important;
		min-height: 200px;
		max-height: 550px !important;
		object-fit: cover;
		border-radius: 200px;
		box-shadow: -5px 4px #fcb5b5;
		margin-left: 5px;
	}

	/* カレンダー */
	.news_cal_2col {
		flex-direction: column;
		gap: 40px;
		align-content: center;
	}
	.calendar_column {
		width: 630px;
		border-radius: 30px;
		padding: 30px 15px;
	}
	.table_bg {
		padding: 30px 10px;
	}
	.table_bg:before, .table_bg:after {
		width: 45px;
		height: 30px;
		top: -10px;
	}
	.table_bg:before {
		left: -10px;
	}
	.table_bg:after {
		right: -10px;
	}
	.calendar_table_days th, .calendar_table_days td {
		font-size: 1.4rem;
		padding: 0.6em 0.5em;
	}
	.calendar_table_days th {
		width: 105px;
	}
	.section_information, .section_information#news {
		border-radius: 30px;
		padding: 30px 15px;
	}
	.section_information_list ul {
		padding: 0px;
	}
	.section_information_list ul li, .section_information_list ul li:nth-child(even) {
		display: block;
		position: relative;
	}
	.section_information_list ul li,
	.section_information_list ul li:first-child {
		padding: 12px 10px;
	}
	.section_information_list ul li:has(img.icon_new) img.icon_new {
		position: absolute;
		left: 10px;
		top: 1.6rem;
		margin: 0;
		height: 1.5rem;
		width: auto;
	}
	.section_information_list ul li > span.article_date,
	.section_information_list ul li > span.article_title {
		display: block;
		width: auto;
		font-size: 1.5rem;
	}
	.section_information_list ul li:has(img.icon_new) > span.article_date {
		padding-left: 42px;
	}
	.section_information_list ul li > span.article_title {
		font-size: 1.4rem;
	}
	.section_information, .section_information#news {

	}
	.table_bg:before, .table_bg:after {

	}
	/* search by */
	#srch_by_bg:before {
		height: 30px;
		top: -30px;
		background-size: cover;
	}
	.srch_by_sth ul li {
		width: 155px;
		margin: 10px;
	}
	.srch_by_sth li a {
		padding-top: 170px;
		font-size: 2rem;
	}
	.srch_by_sth li a:before {
		width: 155px;
		height: 155px;
		background-size: auto 120px;

	}
	.shisetsu_list ul li {
		width: 155px;
		min-height: 160px;
		margin: 10px;
	}
	.shisetsu_list ul li a {
		font-size: 1.6rem;
		border-radius: 10px;
		padding: 5px;
	}
	.shisetsu_list ul li img {
		border-radius: 8px;
	}
	/* 応援企業 */
	.ouen_sonota_bg {
		background-size: auto, auto, auto, auto, auto, 125% auto, auto;
	}
	.ouen_kigyou,
	#main_a > div > div.ouen_kigyou {
		padding: 10px;
		margin: 0 10px 50px;
	}
	.ouen_kigyou_border {
		padding: 15px 15px 30px;
	}
	.ouen_kigyou_border p {
		width: auto;
		letter-spacing: 0.03em;
	}
	.ouen_kigyou img.sticker_pic {
		position: static;
		transform: none;
		width: 60%;
	}
	.ouen_kigyou:before, .ouen_kigyou:after {
		width: 90px;
		height: 65px;
	}
	.ouen_kigyou_border .link_maru {
		margin-top: 0px;
	}

	/* 関連 */
	.kanren_infobnr {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 25px;
		padding: 0px;
	}
	.kanren_info_inner {
		padding: 0px 0px 50px;
	}

	/* 共通フッタ */
	#site_footer_box {
		padding: 15px 20px;
		border-radius: 15px;
		margin: 50px 0px 20px;
	}
	#sidebar_recommend, #sidebar_ai_recommend {
		padding: 10px 15px;
	}
	#recommend_title h2, #ai_recommend_title h2 {
		font-size: 1.6rem;
	}
	#sidebar_recommend ul li a, #sidebar_ai_recommend ul li a {
		font-size: 1.4rem;
	}

	@media screen and (max-width: 767px) {
		.srch_by_sth ul li {
			width: 145px;
		}
		.srch_by_sth li a {
			padding-top: 160px;
			font-size: 1.7rem;
		}
		.srch_by_sth li a:before {
			width: 145px;
			height: 145px;

		}
		.shisetsu_list ul li {
			width: 145px;
		}
		.shisetsu_list ul li a {
			font-size: 1.5rem;
		}
	}
	/* ========== 背景色変更 ========== */

	/* 共通 */
	.color_change * {

	}

	/* 黒 */
	.color_black * {

	}
	/* 青 */
	.color_blue * {

	}

}
/* ==================================================
スマートフォン ここまで
================================================== */