@charset "utf-8";

/*==================================================
会社概要／サイトマップ／プライバシー
================================================== */


/*==================================================
  [sp] #com_profile
================================================== */
#com_profile .deco.turtle_side {
	left: -2.933333333vw;
	top: 18.93333333vw;
}

#com_profile .tb_com_profile {
	display: block;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--color-light-gray);
}

#com_profile .tb_com_profile tr {
	display: block;
	padding: 6.4vw 4vw;
	border-bottom: 1px solid var(--color-light-gray);
}

#com_profile .tb_com_profile tr:nth-child(even) {
	background-color: var(--color-water);
}

#com_profile .tb_com_profile th {
	display: block;
	text-align: left;
	font-weight: 600;
	line-height: 1.75;
	font-size: var(--font-base);
}

#com_profile .tb_com_profile td {
	display: block;
	margin: 2.133333333vw 0 0;
	line-height: 1.75;
	font-size: var(--font-base);
}

#com_profile .tb_com_profile td .link_single a {
	display: block;
	width: fit-content;
	padding: 0 12.8vw 0 0;
	margin: 4vw 0 0;
	line-height: 8.533333333vw;
	font-weight: 600;
	color: var(--color-black);
	position: relative;
}

#com_profile .tb_com_profile td .link_single a::before {
	content: "";
	display: block;
	width: 8.533333333vw;
	height: 8.533333333vw;
	border-radius: 4.266666667vw;
	border: 0.533333333vw solid var(--color-primary);
	background: var(--color-white);
	position: absolute;
	right: 0;
	top: 0;
}

#com_profile .tb_com_profile td .link_single a::after {
	content: '';
	display: block;
	width: 2.666666667vw;
	height: 2.666666667vw;
	position: absolute;
	top: 2.933333333vw;
	right: 2.933333333vw;
	background: var(--icon-arrow-right);
}

/*==================================================
  [sp] #com_history
================================================== */
#com_history .deco.pineapple {
	right: -2.666666667vw;
	top: 6.666666667vw;
}

#com_history .tb_com_history {
	display: block;
	margin: 0;
	padding: 0;
}

#com_history .tb_com_history tr {
	display: block;
	padding: 0;
	margin: 8.533333333vw 0 0;
}

#com_history .tb_com_history tr:first-child {
	margin: 0;
}

#com_history .tb_com_history th {
	display: block;
	text-align: left;
	font-weight: 600;
	line-height: 1;
	padding: 0 0 0 7.466666667vw;
	color: var(--color-primary);
	font-size: 7.466666667vw;
	position: relative;
}

#com_history .tb_com_history th::before {
	content: "";
	display: block;
	position: absolute;
	width: 3.2vw;
	height: 3.2vw;
	bottom: 2.133333333vw;
	left: 0;
	border-radius: 1.6vw;
	background: var(--color-logo);
}

#com_history .tb_com_history th::after {
	content: "";
	background: var(--color-tertiary);
	height: 0.266666667vw;
	display: inline-block;
	width: 44vw;
	margin-left: 2.4vw;
	vertical-align: middle;
}

#com_history .tb_com_history td {
	display: block;
	margin: 6.4vw 0 0;
	padding: 6.4vw;
	line-height: 1.75;
	font-size: var(--font-base);
	background: var(--color-water-down);
	border-radius: var(--bd-radius-s);
}

/*==================================================
  [sp] #com_healthmanage
================================================== */
#com_healthmanage .deco.goya {
	left: -2.666666667vw;
	top: 20.8vw;
}

#com_healthmanage .declaration {
	border: 1px solid var(--color-light-gray);
	margin: 0;
	padding: 12.8vw 5.333333333vw;
}

#com_healthmanage h3.tl_declaration {
	margin: 0 0 3.2vw;
	font-size: 6.4vw;
	font-weight: 600;
	text-align: center;
	line-height: 1;
}

#com_healthmanage .logomark {
	margin: 0 auto;
	width: 43.73333333vw;
}

#com_healthmanage .main_msg {
	margin: 8.533333333vw 0;
	font-size: 6.4vw;
	line-height: 1.5;
	color: var(--color-primary);
	font-weight: 600;
	text-align: center;
}

#com_healthmanage p {
	font-size: var(--font-base);
	line-height: 1.75;
}

#com_healthmanage p+p {
	margin: 5.333333333vw 0 0;
}

#com_healthmanage p.signature {
	margin: 8.533333333vw 0 0;
	text-align: right;
}

/*==================================================
  [sp] #com_organization
================================================== */
#com_organization .deco.coral_a {
	right: -2.666666667vw;
	top: -19.2vw;
}

#com_organization .img_wrap {
	display: block;
	margin: 0;
	padding: 0 0 2.4vw;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	position: relative;
	width: 78.66666667vw;
}

#com_organization .img_wrap img {
	display: block;
	width: 179.2vw;
	max-width: 179.2vw;
}

/*==================================================
  [sp]#sitemap_list
================================================== */

#sitemap_list {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 12.8vw;
}

#sitemap_list .list_part,
#sitemap_list ul {
	width: 100%;
}

#sitemap_list .list_part h3 {
	padding: 0 0 4.266666667vw;
	font-size: 5.333333333vw;
	font-weight: 600;
	border-bottom: 1px solid var(--color-light-gray);
}

#sitemap_list li {
	margin: 6.4vw 0 0;
}

#sitemap_list li a {
	display: block;
	width: fit-content;
	padding: 0 0 0 12.8vw;
	margin: 0;
	font-size: var(--font-base);
	line-height: 8.533333333vw;
	color: var(--color-black);
	position: relative;
}

#sitemap_list li.listitem_lg {
	margin: 12.8vw 0 0;
	padding: 0 0 4.266666667vw;
	border-bottom: 1px solid var(--color-light-gray);
}

#sitemap_list li.listitem_lg:first-of-type {
	margin: 0;
}

#sitemap_list li.listitem_lg a {
	font-size: 5.333333333vw;
	font-weight: 600;
}

#sitemap_list li a::before {
	content: "";
	display: block;
	width: 8.533333333vw;
	height: 8.533333333vw;
	border-radius: 4.266666667vw;
	border: 0.533333333vw solid var(--color-primary);
	background: var(--color-white);
	position: absolute;
	left: 0;
	top: 0;
}

#sitemap_list li a::after {
	content: '';
	display: block;
	width: 2.666666667vw;
	height: 2.666666667vw;
	position: absolute;
	top: 2.933333333vw;
	left: 2.933333333vw;
	background: var(--icon-arrow-right);
}


/*==================================================
  [sp] プライバシー
================================================== */
#privacy_whole section+section {
	margin-top: 14.93333333vw;
}

#privacy_whole a {
	color: var(--color-primary);
}

#privacy_whole p+p {
	margin: 2.133333333vw 0 0;
}

#privacy_whole .sec_mini,
#privacy_whole .sec_mini+section {
	margin: var(--value-sp24) 0 0;
}

#privacy_whole .sec_mini p {
	font-size: 3.733333333vw;
}

#privacy_whole .sec_mini p.kome {
	margin: 1em 0 0;
	font-size: 3.733333333vw;
}

#privacy_whole .sec_mini p.kome .head {
	display: block;
	float: left;
	margin-right: 0.25em;
}

#privacy_whole .sec_mini p.kome .txt {
	display: block;
	overflow: hidden;
}

#privacy_whole ul.list_dot {
	list-style: disc;
	margin: 0 0 0 1em;
}

#privacy_whole .list_dot li {
	font-size: 3.733333333vw;
	line-height: 1.75;
	margin: 2.133333333vw 0 0;
}

#privacy_whole .pp_index li {
	font-size: 3.733333333vw;
	line-height: 1.75;
}

#privacy_whole ul.list_check {
	list-style: none;
	margin: 0 0 0 1.5em;
}

#privacy_whole .list_check li {
	font-size: 3.733333333vw;
	line-height: 1.75;
	margin: 2.4vw 0 0;
	padding: 0 0 0 4.8vw;
	position: relative;
}

#privacy_whole .list_check li::before {
	content: "";
	display: block;
	position: absolute;
	width: 3.2vw;
	height: 3.2vw;
	left: 0;
	top: 1.333333333vw;
	border: 1px solid var(--color-black);
}

#privacy_whole h3.bracket {
	margin: 0 0 4.266666667vw;
	font-size: var(--font-base);
	font-weight: 600;
}

#privacy_whole h3.square{
		margin: 0 0 4.266666667vw;
	padding: 0 0 0 4.8vw;
	font-size: var(--font-base);
	font-weight: 600;
	position: relative;
}
#privacy_whole h3.square::before{
	content: "";
	display: block;
	position: absolute;
	width: 3.466666667vw;
	height: 3.466666667vw;
	left: 0;
	top: 1.6vw;
	background: var(--color-black);
}
#privacy_whole h4.square {
	padding: 0 0 0 4.8vw;
	margin: var(--value-sp40) 0 0;
	font-size: 3.733333333vw;
	font-weight: 600;
	position: relative;
}

#privacy_whole h4.square::before {
	content: "";
	display: block;
	position: absolute;
	width: 3.2vw;
	height: 3.2vw;
	left: 0;
	top: 1.333333333vw;
	background: var(--color-black);
}

#privacy_whole h4.num_dot {
	margin: var(--value-sp24) 0 0;
	font-size: 3.733333333vw;
	line-height: 1.75;
	font-weight: 600;
}

#privacy_whole h4.num_dot .num {
	display: block;
	float: left;
	margin-right: 0.25em;
}

#privacy_whole h4.num_dot .txt {
	display: block;
	overflow: hidden;
}

#privacy_whole h3.square+p,
#privacy_whole h4.num_dot+p {
	margin: var(--value-sp10) 0 0;
}

#privacy_basis h2 {
	font-size: var(--font-base);
	font-weight: 600;
}

#personal_info h2 {
	font-size: 5.333333333vw;
	font-weight: 600;
	line-height: 1.75;
}

#personal_info .pp_index {
	margin: var(--value-sp32) 0 0;
}

#personal_info .pp_index li {
	margin: 2.133333333vw 0 0;
	line-height: 1.75;
}

#personal_info .sec_mini {
	margin: var(--value-sp40) 0 0;
}

#personal_info .list_dot+p {
	margin: var(--value-sp10) 0 0;
}

#privacy_whole h5.num_bracket {
	margin: var(--value-sp24) 0 0;
	font-size: 3.733333333vw;
	line-height: 1.75;
	font-weight: 600;
}

#privacy_whole h5.num_bracket .head {
	display: block;
	float: left;
	margin-right: 0.25em;
}

#privacy_whole h5.num_bracket .txt {
	display: block;
	overflow: hidden;
}

#privacy_whole h5.num_bracket+p {
	margin: var(--value-sp10) 0 0;
}




@media (min-width: 768px) {

	/*==================================================
  [PC] #com_profile
================================================== */
	#com_profile .tb_com_profile {
		display: table;
		width: 100%;
	}

	#com_profile .tb_com_profile tr {
		display: table-row;
		padding: 0;
		border-bottom: 1px solid var(--color-light-gray);
	}

	#com_profile .tb_com_profile th {
		display: table-cell;
		padding: 24px 20px;
		width: 160px;
		vertical-align: top;
	}

	#com_profile .tb_com_profile td {
		display: table-cell;
		padding: 24px 20px 24px 0;
	}

	#com_profile .tb_com_profile td .link_single {
		display: inline-block;
		margin: 0 0 0 40px;
	}

	#com_profile .tb_com_profile td .link_single a {
		padding: 0 40px 0 0;
		margin: 0;
		line-height: 30px;
	}

	#com_profile .tb_com_profile td .link_single a::before {
		width: 30px;
		height: 30px;
		border-radius: 15px;
		border-width: 2px;
		transition: var(--transition-normal);
	}

	#com_profile .tb_com_profile td .link_single a::after {
		width: 10px;
		height: 10px;
		top: 10px;
		right: 10px;
		transition: var(--transition-normal);
	}

	#com_profile .tb_com_profile td .link_single a:hover {
		color: var(--color-primary);
	}

	#com_profile .tb_com_profile td .link_single a:hover::before {
		background: var(--color-primary);
	}

	#com_profile .tb_com_profile td .link_single a:hover::after {
		background: var(--icon-arrow-right-white);
		right: 5px;
	}

	/*==================================================
  [PC] #com_history
================================================== */
	#com_history .deco.pineapple {
		right: -35px;
		top: 10px;
	}

	#com_history .tb_com_history {
		display: table;
		width: 100%;
		border-collapse: separate;
		border-spacing: 0 24px;
	}

	#com_history .tb_com_history tr {
		display: table-row;
		padding: 0;
		margin: 0;
	}

	#com_history .tb_com_history th {
		display: table-cell;
		padding: 24px 0 0 28px;
		width: 280px;
		font-size: 28px;
		vertical-align: top;
	}

	#com_history .tb_com_history th .year {
		font-size: 18px;
	}

	#com_history .tb_com_history th::before {
		width: 12px;
		height: 12px;
		top: 32px;
		border-radius: 6px;
	}

	#com_history .tb_com_history th::after {
		height: 1px;
		display: block;
		position: absolute;
		right: 0;
		top: 37px;
		width: 152px;
	}

	#com_history .tb_com_history td {
		display: block;
		margin: 0;
		padding: 24px;
		border-radius: var(--bd-radius-mini);
	}

	/*==================================================
  [PC] #com_healthmanage
================================================== */
	#com_healthmanage .deco.goya {
		left: -30px;
		top: 86px;
	}

	#com_healthmanage .declaration {
		padding: 80px 80px 65px 80px;
		position: relative;
	}

	#com_healthmanage h3.tl_declaration {
		margin: 0;
		font-size: 24px;
	}

	#com_healthmanage .logomark {
		position: absolute;
		right: 40px;
		top: 40px;
		width: 174px;
	}

	#com_healthmanage .main_msg {
		margin: 48px 0 40px;
		font-size: 28px;
	}

	#com_healthmanage p {
		font-size: var(--font-base);
		line-height: 1.75;
		text-align: center;
	}

	#com_healthmanage p+p {
		margin: 20px 0 0;
	}

	#com_healthmanage p.signature {
		margin: 56px 0 0;
		text-align: right;
	}

	/*==================================================
  [PC] #com_organization
================================================== */
	#com_organization .deco.coral_a {
		right: -72px;
		top: 71px;
	}

	#com_organization .img_wrap {
		margin: 0 auto;
		padding: 0;
		overflow: hidden;
		width: 840px;
	}

	#com_organization .img_wrap img {
		width: 100%;
		max-width: 100%;
	}

	/*==================================================
  [sp]#sitemap_list
================================================== */

	#sitemap_list {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 75px;
	}

	#sitemap_list .list_part {
		width: 270px;
	}

	#sitemap_list .list_part h3 {
		padding: 0 0 22px;
		font-size: 20px;
	}

	#sitemap_list li {
		margin: 24px 0 0;
	}

	#sitemap_list li a {
		padding: 0 0 0 48px;
		line-height: 32px;
	}

	#sitemap_list li.listitem_lg {
		margin: 40px 0 0;
		padding: 0 0 16px;
	}

	#sitemap_list li.listitem_lg a {
		font-size: 20px;
	}

	#sitemap_list li a::before {
		content: "";
		display: block;
		width: 32px;
		height: 32px;
		border-radius: 16px;
		border-width: 2px;
	}

	#sitemap_list li a::after {
		content: '';
		display: block;
		width: 10px;
		height: 10px;
		position: absolute;
		top: 11px;
		left: 11px;
		transition: var(--transition-normal);
	}

	#sitemap_list li a:hover {
		color: var(--color-primary);
	}

	#sitemap_list li a:hover::before {
		background: var(--color-primary);
	}

	#sitemap_list li a:hover::after {
		background: var(--icon-arrow-right-white);
		left: 16px;
	}

	/*==================================================
  [PC] プライバシー
================================================== */
	#privacy_whole section+section {
		margin-top: 80px;
	}

	#privacy_whole a:hover {
		text-decoration: underline;
	}

	#privacy_whole p+p {
		margin: 10px 0 0;
	}

#privacy_whole .sec_mini,
#privacy_whole .sec_mini+section {
		margin: var(--value-pc24) 0 0;
	}

	#privacy_whole .sec_mini p {
		font-size: 14px;
	}

	#privacy_whole .sec_mini p.kome {
		font-size: 14px;
	}

	#privacy_whole .list_dot li {
		font-size: 14px;
		line-height: 1.75;
		margin: 10px 0 0;
	}

	#privacy_whole .pp_index li {
		font-size: 14px;
	}

	#privacy_whole .list_check li {
		font-size: 14px;
		margin: 10px 0 0;
		padding: 0 0 0 18px;
		position: relative;
	}

	#privacy_whole .list_check li::before {
		width: 12px;
		height: 12px;
		top: 5px;
	}

	#privacy_whole h3.bracket {
		margin: 0 0 16px;
	}

#privacy_whole h3.square {
		margin: 0 0 16px;
		padding: 0 0 0 18px;
	}
	#privacy_whole h3.square::before{
		width: 13px;
		height: 13px;
		top: 5px;
	}
#privacy_whole h4.square {
		padding: 0 0 0 18px;
		margin: var(--value-pc24) 0 0;
		font-size: 14px;
	}

#privacy_whole h4.square::before {
		width: 12px;
		height: 12px;
		top: 5px;
	}

	#privacy_whole h4.num_dot {
		margin: var(--value-pc24) 0 0;
		font-size: 14px;
	}

#privacy_whole h3.square+p,
#privacy_whole h4.num_dot+p {
		margin: var(--value-pc10) 0 0;
	}


	#personal_info h2 {
		font-size: 20px;
	}

	#personal_info .pp_index {
		margin: var(--value-pc32) 0 0;
	}

	#personal_info .pp_index li {
		margin: var(--value-pc10);
		0 0;
	}

	#personal_info .sec_mini {
		margin: var(--value-pc40) 0 0;
	}

	#personal_info ul.list_dot+p {
		margin: var(--value-pc10) 0 0;
	}

	#personal_info .sec_mini h5.num_bracket {
		margin: 16px 0 0;
		font-size: 14px;
	}

	#personal_info .sec_mini h5.num_bracket+p {
		margin: var(--value-pc10) 0 0;
	}

}