@charset "utf-8";

/*===cariier===cariier===cariier===
...................................

------------------------------ 余白

○(m or p)○(t or b)○(l or m or s)_○(none or l or s)

...................................
===cariier===cariier===cariier===*/
:root {
	--yohaku-px_mtl_l: 120px;
	--yohaku-px_mtl: 100px;
	--yohaku-px_mtl_s: 70px;
	--yohaku-px_mtm_l: 55px;
	--yohaku-px_mtm: 40px;
	--yohaku-px_mtm_s: 30px;
	--yohaku-px_mts_l: 20px;
	--yohaku-px_mts: 15px;
	--yohaku-px_mts_s: 10px;
	--yohaku-px_mtss: 5px;
	--yohaku-vw_mtl_l: 18vw;
	--yohaku-vw_mtl: 15vw;
	--yohaku-vw_mtl_s: 10vw;
	--yohaku-vw_mtm_l: 8vw;
	--yohaku-vw_mtm: 6vw;
	--yohaku-vw_mtm_s: 5.5vw;
	--yohaku-vw_mts_l: 5vw;
	--yohaku-vw_mts: 3vw;
	--yohaku-vw_mts_s: 1vw;
	--yohaku-vw_mtss: 0.5vw;
}

@media screen and (max-width:600px) {
	.mtl_l {
		margin-top: var(--yohaku-vw_mtl_l) !important
	}

	.mbl_l {
		margin-bottom: var(--yohaku-vw_mtl_l) !important
	}

	.ptl_l {
		padding-top: var(--yohaku-vw_mtl_l) !important
	}

	.pbl_l {
		padding-bottom: var(--yohaku-vw_mtl_l) !important
	}

	.mtl {
		margin-top: var(--yohaku-vw_mtl) !important
	}

	.mbl {
		margin-bottom: var(--yohaku-vw_mtl) !important
	}

	.ptl {
		padding-top: var(--yohaku-vw_mtl) !important
	}

	.pbl {
		padding-bottom: var(--yohaku-vw_mtl) !important
	}

	.mtl_s {
		margin-top: var(--yohaku-vw_mtl_s) !important
	}

	.mbl_s {
		margin-bottom: var(--yohaku-vw_mtl_s) !important
	}

	.ptl_s {
		padding-top: var(--yohaku-vw_mtl_s) !important
	}

	.pbl_s {
		padding-bottom: var(--yohaku-vw_mtl_s) !important
	}

	.mtm_l {
		margin-top: var(--yohaku-vw_mtm_l) !important
	}

	.mbm_l {
		margin-bottom: var(--yohaku-vw_mtm_l) !important
	}

	.ptm_l {
		padding-top: var(--yohaku-vw_mtm_l) !important
	}

	.pbm_l {
		padding-bottom: var(--yohaku-vw_mtm_l) !important
	}

	.mtm {
		margin-top: var(--yohaku-vw_mtm) !important
	}

	.mbm {
		margin-bottom: var(--yohaku-vw_mtm) !important
	}

	.ptm {
		padding-top: var(--yohaku-vw_mtm) !important
	}

	.pbm {
		padding-bottom: var(--yohaku-vw_mtm) !important
	}

	.mtm_s {
		margin-top: var(--yohaku-vw_mtm_s) !important
	}

	.mbm_s {
		margin-bottom: var(--yohaku-vw_mtm_s) !important
	}

	.ptm_s {
		padding-top: var(--yohaku-vw_mtm_s) !important
	}

	.pbm_s {
		padding-bottom: var(--yohaku-vw_mtm_s) !important
	}

	.mts_l {
		margin-top: var(--yohaku-vw_mts_l) !important
	}

	.mbs_l {
		margin-bottom: var(--yohaku-vw_mts_l) !important
	}

	.pts_l {
		padding-top: var(--yohaku-vw_mts_l) !important
	}

	.pbs_l {
		padding-bottom: var(--yohaku-vw_mts_l) !important
	}

	.mts {
		margin-top: var(--yohaku-vw_mts) !important
	}

	.mbs {
		margin-bottom: var(--yohaku-vw_mts) !important
	}

	.pts {
		padding-top: var(--yohaku-vw_mts) !important
	}

	.pbs {
		padding-bottom: var(--yohaku-vw_mts) !important
	}

	.mts_s {
		margin-top: var(--yohaku-vw_mts_s) !important
	}

	.mbs_s {
		margin-bottom: var(--yohaku-vw_mts_s) !important
	}

	.pts_s {
		padding-top: var(--yohaku-vw_mts_s) !important
	}

	.pbs_s {
		padding-bottom: var(--yohaku-vw_mts_s) !important;
	}

	.mtss {
		margin-top: var(--yohaku-vw_mtss) !important
	}

	.mbss {
		margin-bottom: var(--yohaku-vw_mtss) !important
	}

	.ptss {
		padding-top: var(--yohaku-vw_mtss) !important
	}

	.pbss {
		padding-bottom: var(--yohaku-vw_mtss) !important
	}
}

@media screen and (min-width:601px) {
	.mtl_l {
		margin-top: var(--yohaku-px_mtl_l) !important
	}

	.mbl_l {
		margin-bottom: var(--yohaku-px_mtl_l) !important
	}

	.ptl_l {
		padding-top: var(--yohaku-px_mtl_l) !important
	}

	.pbl_l {
		padding-bottom: var(--yohaku-px_mtl_l) !important
	}

	.mtl {
		margin-top: var(--yohaku-px_mtl) !important
	}

	.mbl {
		margin-bottom: var(--yohaku-px_mtl) !important
	}

	.ptl {
		padding-top: var(--yohaku-px_mtl) !important
	}

	.pbl {
		padding-bottom: var(--yohaku-px_mtl) !important
	}

	.mtl_s {
		margin-top: var(--yohaku-px_mtl_s) !important
	}

	.mbl_s {
		margin-bottom: var(--yohaku-px_mtl_s) !important
	}

	.ptl_s {
		padding-top: var(--yohaku-px_mtl_s) !important
	}

	.pbl_s {
		padding-bottom: var(--yohaku-px_mtl_s) !important
	}

	.mtm_l {
		margin-top: var(--yohaku-px_mtm_l) !important
	}

	.mbm_l {
		margin-bottom: var(--yohaku-px_mtm_l) !important
	}

	.ptm_l {
		padding-top: var(--yohaku-px_mtm_l) !important
	}

	.pbm_l {
		padding-bottom: var(--yohaku-px_mtm_l) !important
	}

	.mtm {
		margin-top: var(--yohaku-px_mtm) !important
	}

	.mbm {
		margin-bottom: var(--yohaku-px_mtm) !important
	}

	.ptm {
		padding-top: var(--yohaku-px_mtm) !important
	}

	.pbm {
		padding-bottom: var(--yohaku-px_mtm) !important
	}

	.mtm_s {
		margin-top: var(--yohaku-px_mtm_s) !important
	}

	.mbm_s {
		margin-bottom: var(--yohaku-px_mtm_s) !important
	}

	.ptm_s {
		padding-top: var(--yohaku-px_mtm_s) !important
	}

	.pbm_s {
		padding-bottom: var(--yohaku-px_mtm_s) !important
	}

	.mts_l {
		margin-top: var(--yohaku-px_mts_l) !important
	}

	.mbs_l {
		margin-bottom: var(--yohaku-px_mts_l) !important
	}

	.pts_l {
		padding-top: var(--yohaku-px_mts_l) !important
	}

	.pbs_l {
		padding-bottom: var(--yohaku-px_mts_l) !important
	}

	.mts {
		margin-top: var(--yohaku-px_mts) !important
	}

	.mbs {
		margin-bottom: var(--yohaku-px_mts) !important
	}

	.pts {
		padding-top: var(--yohaku-px_mts) !important
	}

	.pbs {
		padding-bottom: var(--yohaku-px_mts) !important
	}

	.mts_s {
		margin-top: var(--yohaku-px_mts_s) !important
	}

	.mbs_s {
		margin-bottom: var(--yohaku-px_mts_s) !important
	}

	.pts_s {
		padding-top: var(--yohaku-px_mts_s) !important
	}

	.pbs_s {
		padding-bottom: var(--yohaku-px_mts_s) !important;
	}

	.mtss {
		margin-top: var(--yohaku-px_mtss) !important
	}

	.mbss {
		margin-bottom: var(--yohaku-px_mtss) !important
	}

	.ptss {
		padding-top: var(--yohaku-px_mtss) !important
	}

	.pbss {
		padding-bottom: var(--yohaku-px_mtss) !important
	}
}

/*===cariier===cariier===cariier===
...................................

-------------------------- SP ONLY

...................................
===cariier===cariier===cariier===*/
@media screen and (max-width:600px) {

	.pc_only,
	.pctb_only,
	.sp_none,
	.tb_only {
		display: none !important;
	}

	html {
		font-size: 2.68vw;
	}

	body {
		font-size: 1.4rem;
	}

	.inner {
		width: 89.4vw;
		margin-left: 5.3vw;
		margin-right: 5.3vw;
	}

	footer .subnav {
		display: none;
	}

	/* sp menu */
	html:has(.js_header_on) {
		overflow: hidden;
	}

	.hf_cta {
		margin-top: 9.3vw;
	}

	.hf_cta>li+li {
		margin-top: 2.6vw;
	}

	.hf_cta a {
		display: block;
		font-weight: 700;
		text-decoration: none;
		text-align: center;
		border-radius: 1.3vw;
		padding: 3vw;
		border: 1px solid var(--green);
	}

	header .hf_nav .en_page a {
		text-decoration: none;
		display: block;
		position: relative;
		font-size: 1.2rem;
		width: 21vw;
		padding: 4vw 3vw;
		margin-left: auto;
	}

	header .hf_nav .en_page a::after {
		position: absolute;
		content: "";
		background: url(../img/icon_pdf.svg) no-repeat center center / contain;
		width: 3.2vw;
		height: 100%;
		right: 0;
		top: 0;
	}

	.js-scrollable table {
		margin: 0 1px 1px 0;
	}

	.js_header_on header .hamburger::before {
		top: 50%;
		transform: translate(0%, -100%) rotate(-45deg);
	}

	.js_header_on header .hamburger p::before {
		opacity: 0;
	}

	.js_header_on header .hamburger::after {
		top: 50%;
		transform: translate(0%, -100%) rotate(45deg);
	}

	.h_inner:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
		height: 100%;
		z-index: 5;
		background: #fff;
		transition: 0.7s;
		border-bottom: 1px solid transparent;
	}

	header .logo {
		position: relative;
	}

	header :is(.logo, .h_search, .hamburger) {
		z-index: 10;
	}

	header .hf_nav {
		width: 100vw;
		position: absolute;
		top: 16vw;
		left: -5.3vw;
		background: #fff;
		height: calc(100dvh - 16vw);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		visibility: hidden;
		pointer-events: none;
		opacity: 0;
		transition: 0.7s ease;
		z-index: 1;
		transform: translateY(-100%);
		padding: 0 5.3vw 15vw;
	}

	.js_header_on .h_inner:before {
		border-bottom-color: var(--bo_l);
	}

	.js_header_on header .hf_nav {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	header .top_link,
	header .tl_block,
	header .subnav {
		display: none;
	}

	header .nav_li {
		border-top: 1px solid var(--bo_l);
		margin-bottom: 10.6vw;
	}

	header .nav_li>li {
		position: relative;
		border-bottom: 1px solid var(--bo_l);
	}

	header .nav_li>li:nth-last-child(2) {
		border-bottom: none;
	}

	header .nav_li>li:nth-last-child(2)>a {
		border-bottom: 1px solid var(--bo_l);
	}

	header .nav_li>li:nth-last-child(2).is-active>a {
		border: none;
	}

	header .nav_li>li>.main_nav {
		display: block;
		width: 100%;
		font-weight: 700;
		text-decoration: none;
		position: relative;
		padding: 3.3vw 10.6vw 3.1vw 4vw;
	}

	header .nav_li>li>.main_nav::before {
		position: absolute;
		content: "";
		background: var(--green);
		width: 2.1vw;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		top: 5.7vw;
		left: 0;
	}

	header .nav_li>li::after,
	header .nav_li>li>.main_nav::after {
		position: absolute;
		content: "";
		width: 3.2vw;
		height: 1px;
		right: 3.2vw;
		top: 6.3vw;
		background: var(--green);
	}

	header .nav_li>li::after {
		transform: rotate(-90deg);
		transition: transform 0.3s ease;
	}

	header .nav_li>li.is-active::after {
		transform: rotate(0deg);
	}

	header .nav_li>li>.subnav a {
		display: block;
		padding: 1vw 0 1vw 4vw;
	}

	header .nav_li>li>.subnav {}

	header .nav_li>li>.subnav .subnav_li+p a {
		display: block;
		position: relative;
		padding: 0;
		width: 50vw;
	}

	header .nav_li>li>.subnav .subnav_li+p {
		border-top: 1px solid var(--bo_l);
		padding: 4vw 0 0 4vw;
	}

	header .nav_li>li>.subnav .subnav_li+p a::before {
		position: absolute;
		content: "";
		pointer-events: none;
		top: 0;
		left: 0;
		border: 1px solid var(--green);
		width: 100%;
		height: 100%;
		border-radius: 5px;
		z-index: 10;
	}

	header .nav_li>li>.subnav .subnav_li a {
		display: block;
		text-decoration: none;
		padding: 3.1vw 0 3vw 4vw;
		border-top: 1px solid var(--bo_l);
		position: relative;
	}

	header .nav_li>li>.subnav .subnav_li a::after {
		position: absolute;
		content: "";
		background: url(../img/link.svg) no-repeat center center / contain;
		width: 5.3vw;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		border: 1px solid var(--green);
		top: 50%;
		right: 2vw;
		transform: translate(0%, -50%);
	}

	.scroll-hint-icon {
		height: 90px;
	}

	.img_sp_100p .img_block {
		width: 100% !important;
	}

	.img_sp_589px {
		width: calc(589px * var(--sp_img_calc))
	}

	.sp_gap_w_s {
		column-gap: 2.9vw;
	}

	.sp_gap_h_l {
		row-gap: 6.4vw;
	}

	body.upage.cat01_business.cat02_brand.cat02_index #pb .sp_col>*+* {
		margin-top: 6.4vw;
	}

	.in_over {
		margin-left: -7.5vw;
	}

	.js_readmore {
		display: block;
	}

	.js_readmore_content {
		display: none;
	}

	.js_readmore_btn {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		margin-top: 4.5vw;
		border: 1px solid var(--green);
		color: var(--link) !important;
		position: relative;
		border-radius: 1.2vw;
		height: 11vw;
		font-size: 1.4rem;

		&:before {
			content: '';
			display: block;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: 4.5vw;
			width: 2.5vw;
			aspect-ratio: 1/1;
			z-index: 1;
			background: url(../img/icon_plus.svg) center / 100% no-repeat;
		}
	}

	.tl_line_sp {
		border-bottom: 1px solid var(--green);
		padding-bottom: 1vw;
	}

	.colbox_sp {
		display: flex;
		flex-direction: column-reverse;
		gap: 5vw;

		&:after {
			display: none !important;
		}

		.img_block {
			display: block;
			width: 100% !important;
			float: none !important;
			margin: 0 !important;
		}

		.img_col02 {
			display: grid;
			grid-template-columns: repeat(2,1fr);
			gap: 2vw;

			li + li {
				margin-top: 0 !important;
			}
		}
	}

	.news_release.news_release_sp_display03 {
		li:nth-of-type(n+4) {
			display: none !important;
		}
	}
	
	@supports (background: -webkit-named-image(i)) {
		.list_pdf>li .link_pdf::before {
			top:1.4vw;
		}
	}
}

@media screen and (min-width:450px) and (max-width:600px) {


	.js-scrollable.scroll-hint.is-scrollable>.scrollable_w464,
	.js-scrollable.scroll-hint.is-scrollable>.scrollable_w409 {
		width: 100%;
	}
}

/*===cariier===cariier===cariier===
...................................

------------------------ PC/TB ONLY

...................................
===cariier===cariier===cariier===*/
@media screen and (min-width:601px)  {
	@supports (background: -webkit-named-image(i)) {
		.list_pdf>li .link_pdf::before {
			top:5px;
		}
	}
}


/*===cariier===cariier===cariier===
...................................

-------------------------- PC ONLY

...................................
===cariier===cariier===cariier===*/
@media screen and (min-width:1240px),
print {

	.pc_none,
	.pctb_none,
	.sp_only,
	.tb_only {
		display: none !important;
	}

	.inner {
		width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}

	.inner900 {
		width: 900px;
		margin-left: auto;
		margin-right: auto;
	}

	a:hover {
		text-decoration: none;
		opacity: 0.5;
		transition: 0.5s ease;
		-webkit-transition: 0.5s ease;
	}
}

/*===cariier===cariier===cariier===
...................................

----------------------- TB/SP ONLY

...................................
===cariier===cariier===cariier===*/
@media screen and (max-width:1239px) {
	header .h_inner,
}

/*===cariier===cariier===cariier===
...................................

-------------------------- TB ONLY

...................................
===cariier===cariier===cariier===*/
@media screen and (min-width:601px) and (max-width:1239px) {

	.pc_only,
	.pctb_none,
	.sp_only,
	.tb_none {
		display: none !important;
	}

	.inner {
		width: 1200px;
		margin-inline: 20px;
	}

	.inner900 {
		width: 900px;
		margin-left: auto;
		margin-right: auto;
	}
}