@charset "UTF-8";
/*
 * Stylesheet for the DICO website
 * 
 * Copyright DICO
 */
	html[lang="ja"] {
		font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	}
	html[lang="en"] {
		font-family: "Noto Sans", sans-serif;
	}

	:root {
		--parent-height: 64px;
	}

	body {
		font-family: Noto Sans JP;
		font-style: normal;
		font-weight: bold;
		font-size: 16px;
		color: rgba(21,21,21,1);
		letter-spacing: 1.1px;
		overflow-x: hidden;
		background-color: rgba(245,245,245,1);
	}

	.webcontent {
		opacity: 0;
		background-color: white;
		
		animation: bodyfadein 0.3s ease-in;
		animation-fill-mode: forwards;
	}

	@keyframes bodyfadein {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}


/* dicostyles */
	.dicobar {
		position: fixed;
		z-index: 101;

		top: 0;
		left: 0;
		right: 0;
		padding: 0;

		height: 3px;
		width: 100%;

		background-color:#ffffff;
		color: #444444;
		background-image: linear-gradient(to right, rgb(255, 148, 107) 25%, rgb(255, 241, 101) 25%, rgb(255, 241, 101) 50%, rgb(147, 255, 144) 50%, rgb(147, 255, 144) 75%, rgb(119, 196, 255) 75%);
		background-size: 100% 3px;
		background-repeat: no-repeat;
		background-position: 1000% 0%;
	}

	.bg1 {
		background-color: #FFF;
	}
	.bg2 {
		background-color: #E6F4F4;
	}
	.bg3 {
		background-color: #F7F7F7;
	}
	.bg4 {
		background-color: #F7F7F7;
	}



/* containers */
	.container {
		position: relative;
	}
	.wrapper {

	}

	.container-content {
		position: relative;
		max-width: 1093px;
		margin-left: auto;
		margin-right: auto;
	}
	.container-extended {
		position: relative;
		width: 100%;
		max-width: 1556px;
		margin-left: auto;
		margin-right: auto;
		padding-right: 0.75rem;
		padding-left: 0.75rem;
	}
	/*.container-xxl {

	}*/

/* navbar */
	.dico-navbar {
		position: fixed;
		z-index: 100;
		top: 0;
		left: 0;
		right: 0;
		padding: 0;
		width: 100%;
		display: flex;
		flex-direction: row;
		pointer-events: none;
	}

	#dico-navbar-logo {
		height: 64px;
		margin-top: 26px;
		margin-left: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
		pointer-events: auto;
		padding-top: 8px;
		padding-bottom: 8px;
		padding-left: 28px;
		padding-right: 35px;
		background-color: white;
		border-radius: 7px;
		box-shadow: 0px 0px 3px #00000029;
	}
	#dico-navbar-buttons {
		width: 535px;
		margin-top: 26px;
		margin-right: 30px;
		font-family: Noto Sans JP;
		font-style: normal;
		font-weight: bold;
		font-size: 16px;
		color: rgba(21,21,21,1);
		letter-spacing: 1.1px;
	}

	#dico-navbar-logo {
		flex-grow: 0;
	}

	#dico-navbar-buttons {
		flex-grow: 1;
		display: flex;
		justify-content: flex-end;

	}

	.dico-navbar-buttongroup {
		display: flex;
		flex-direction: row;
		gap: 4px;

		padding-right: 1rem !important;
		padding-left: 1rem !important;
		background-color: white;

		box-shadow: 0px 0px 3px #00000029;
		border-radius: 7px;

		align-items: center;
		pointer-events: auto;

	}
	.dico-navbar-buttongroup div {
		padding-left: 18px;
		padding-right: 18px;
		display: flex;
		align-items: center;
	}
	#dico-navbar-button-contact {
		margin-left: 1rem;
		pointer-events: auto;
	}
	#dico-navbar-button-contact-sm {
		display: none;
		pointer-events: auto;
	}
	#dico-navbar-button-menuburger {
		cursor: pointer;
		display: block;
		margin-left: 1rem;
		pointer-events: auto;
	}


/* pop up for menu */

	.trigger {
		display: inline-block;
		padding: 10px;
	}

	.popup {
		position: absolute;
		/*  top: 50px;*/
		top: calc(var(--parent-height) + 6px);
		left: -15px;/*0;*/
		/*  width: 200px;
		height: 300px;*/
		min-width: 180px;
		padding-top: 15px;
		padding-bottom: 15px;
		background-color: #fff;
		opacity: 0;
		transition: opacity 0.1s ease-in-out;
		pointer-events: none;

		display: block;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: flex-start;


		background-color: white;

		box-shadow: 0px 0px 3px #00000029;
		border-radius: 7px;

		word-break: keep-all;
	}

	.popup.visible {
		opacity: 1;
		pointer-events: auto;
	}

	/*.popup ul {
		width: 100%;
		height: 100%;
	}
	*/

	.link-popup {
		display: block;
		padding-left: 15px;
		padding-right: 10px;
		padding-bottom: 10px;
		line-height: 18px;
		color: rgba(21,21,21,1);
		text-decoration: none;
		transition: color 0.1s ease-out;
	}
	.popup a:last-child {
		padding-bottom: 2px;
	}
	.link-popup:hover {
		color: rgba(240,108,39,1);
	}
	.link-popupopen {
		color: rgba(21,21,21,1);
		text-decoration: none;
	}
	.link-popupopen:hover {
		color: rgba(240,108,39,1);
	}
	.link-nopopup {
		display: block;
		color: rgba(21,21,21,1);
		text-decoration: none;
		transition: color 0.1s ease-out;
	}
	.link-nopopup:hover {
		color: rgba(240,108,39,1);

	}

/* extras */
	#bgiconsL1 {
		position: absolute;
		left: -50px;

		width: 535px;
		height: auto;
	}
	#bgiconsR1 {
		position: absolute;
		right: -50px;
		overflow: hidden;

		width: 535px;
		height: auto;
	}

	.rel100 {
		position: relative;
		height: 100%;
	}

	.dynamicbr {

	}


/* content */
	.featuredimage {
		position: absolute;
		right: 70px;
	}

	.featuredimage img {
		width: 640px;
		height: auto;
		border-radius: 10px;
	}

	.text-content {
		word-break: auto-phrase;
		text-align: left;
		font: normal normal normal 18px/38px Noto Sans JP;
		letter-spacing: 1.08px;
		color: #2B2B2B;
		opacity: 1;
	}

	.contentintrotitle {
		font-size: 26px;
		font-weight: 700;
		line-height: 42px;
	}

	.introtextheader {
		font-size: 42px;
		font-weight: 700;
		line-height: 50px;
		color: #2B2B2B;
		word-break: normal;
	}
	.introtextbody {
		font-size: 18px;
		font-weight: 400;
		line-height: 38px;
	}
	.textbody {
		font-size: 18px;
		font-weight: 400;
		line-height: 38px;
	}

	.k-all {
		word-break: keep-all !important;
	}

	.text-bold {
		font-weight: bold;
	}
	.smalltext {
		font-size: 22px !important;
	}

	.blocklist {
		border: 1px solid gray;
		padding: 2em;
	}

	.blocklistitems {
		display: flex;
		flex-wrap: wrap;
		align-content: flex-start;
		justify-content: center;
		gap: 20px;
	}
	.blocklistitemsentry {
		text-align: center;
	}
	.blocklistitemsentry:nth-child(-n+8) {
		flex-grow: 5;
	}


	/*.contact-effect {
		
		transition: color 0.3s ease-out;
	}
	.contact-effect:before {
		background: rgba(237,73,44,1);	
		background: linear-gradient(90deg, rgba(237,73,44,1) 0%, rgba(242,124,37,1) 100%);
		z-index: -1;
		transition: opacity 0.3s ease-out;
	}

	.contact-effect:hover:before {
		opacity: 1;
	}
	.contact-effect:hover {
		color: #fff;
	}*/

	.gradient-container {
		background: linear-gradient(90deg, rgba(237,73,44,1) 0%, rgba(242,124,37,1) 100%);
		/*background-size: 200% 100%;
		background-position: left bottom;*/
		height: 64px;
		/* width: 200px;*/
		position: relative;
		border-radius: 10px;
		padding: 3px;
	}

	.gradient-overlay {
		/*  position: absolute;
		top: 0;
		left: 0;*/
		display: flex;
		align-items: center;
		justify-content: center;
		padding-right: calc(1rem - 3px) !important;
		padding-left: calc(1rem - 3px) !important;
		width: 100%;
		height: 100%;
		border-radius: 8px;
		background-color: transparent;
		transition: opacity 0.25s ease-in-out, background-color 0.25s ease-in-out;

		color: rgba(255,255,255,1);

	}

	.gradient-overlay:hover {
		opacity: 1;
		background-color: white;
		transition: background-color 0.25s ease-in-out;
		color: rgba(240,108,39,1);
	}

	.highlighted {
		display: inline;
		padding-bottom: 0;
		/* gradient */
		background-image: linear-gradient(to right, rgb(255, 148, 107), rgb(255, 241, 101), rgb(147, 255, 144), rgb(119, 196, 255));
		/* blocky
		background-image: linear-gradient(to right, rgb(255, 148, 107) 25%, rgb(255, 241, 101) 25%, rgb(255, 241, 101) 50%, rgb(147, 255, 144) 50%, rgb(147, 255, 144) 75%, rgb(119, 196, 255) 75%);
		*/
		/* style one*/
		background-position: 0 100%;
		background-size: 0% 10px;
		/* style two
		background-position: 0 100%;
		background-size: 100% 10px; */
		background-repeat: no-repeat;
		transition: background-size 0.3s, background-position 0s 0.3s;
		font-weight: bolder;
	}
	.highlighted:hover {
		/* style one*/
		background-position: 100% 100%;
		background-size: 100% 10px;
		/* style two 
		background-position: 100% 100%;
		background-size: 0% 10px;*/
	}

	.highlighted2 {
		display: inline;
		padding-bottom: 0;
		/* blocky	*/
		background-image: linear-gradient(to right, rgb(255, 148, 107) 25%, rgb(255, 241, 101) 25%, rgb(255, 241, 101) 50%, rgb(147, 255, 144) 50%, rgb(147, 255, 144) 75%, rgb(119, 196, 255) 75%);
		/* style one*/
		background-position: 0 100%;
		background-size: 0% 10px;
		background-repeat: no-repeat;
		transition: background-size 0.3s, background-position 0s 0.3s;
		font-weight: bolder;
	}
	.highlighted2:hover {
		/* style one*/
		background-position: 100% 100%;
		background-size: 100% 10px;
	}

	.highlighted3 {
		display: inline;
		padding-bottom: 0;
		/* gradient */
		background-image: linear-gradient(to right, rgb(255, 148, 107), rgb(255, 241, 101), rgb(147, 255, 144), rgb(119, 196, 255));
		/* style two*/
		background-position: 0 100%;
		background-size: 100% 3px; 
		background-repeat: no-repeat;
		transition: background-size 0.3s, background-position 0s 0.3s;
		font-weight: bolder;
	}
	.highlighted3:hover {
		/* style two */
		background-position: 100% 100%;
		background-size: 100% 1.25em;
	}
		.highlighted4 {
		display: inline;
		padding-bottom: 0;
		/* blocky	*/
		background-image: linear-gradient(to right, rgb(255, 148, 107) 25%, rgb(255, 241, 101) 25%, rgb(255, 241, 101) 50%, rgb(147, 255, 144) 50%, rgb(147, 255, 144) 75%, rgb(119, 196, 255) 75%);
		/* style two*/
		background-position: 0 100%;
		background-size: 100% 3px; 
		background-repeat: no-repeat;
		transition: background-size 0.3s, background-position 0s 0.3s;
		font-weight: bolder;
	}
	.highlighted4:hover {
		/* style two */
		background-position: 100% 100%;
		background-size: 100% 1.25em;
	}


	#titleimage {
		position: absolute;
		z-index: 10;
		right: 0;
		top: 130px;
		width: 60%;
		min-width: 350px;
		max-width: 919px;
		border-radius: 30px 0 0 30px;
	}

	#titletext {
		display: block;
		height:450px;
		margin-bottom: 170px;
	}
	.titletextcontent {
		padding-top: 130px;
		z-index: 25
	}

	#titletopline {
		white-space: nowrap;
		font-family: Noto Sans JP;
		font-style: normal;
		font-weight: normal;
		font-size: 12px;
		color: rgba(108,108,108,1);
		letter-spacing: 0.8px;
		text-transform: uppercase;
		margin-bottom: 50px;
	}
	#titlemainline {
		white-space: nowrap;
		line-height: 103px;
		margin-top: -11.5px;
		text-align: left;
		font-family: Poppins;
		font-style: normal;
		font-weight: 700;
		letter-spacing: 0px;
		font-size: 80px;
		color: #4A4A4A;
		text-transform: uppercase;
		opacity: 0.2;
	}
	#titlesubline {
		white-space: nowrap;
		line-height: 103px;
		margin-top: -30.5px;
		text-align: left;
		font-family: Noto Sans JP;
		font-style: normal;
		font-weight: 600;
		font-size: 42px;
		text-align: left;
		font: normal normal 900 42px/103px Noto Sans JP;
		letter-spacing: 5.04px;
		color: #2B2B2B;
		opacity: 1;
	}

	.titleaccessory {
		position: absolute;
		bottom: -130px;
		left: 30px;
		z-index: 2;
		width: 25%;
		max-width: 250px;
		min-width: 125px;
	}


	.headerupper {
		text-align: left;

		font-family: Noto Sans JP;
		font-style: normal;
		font-weight: 600;
		font-size: 22px;
		/*font: normal normal 900 22px/103px Noto Sans JP;*/
		letter-spacing: 1.76px;
		color: #F06C27;
		opacity: 1;
	}
	.headerlower {
		text-align: left;

		font-family: Noto Sans JP;
		font-style: normal;
		font-weight: 600;
		font-size: 42px;

		/*font: normal normal 900 42px/103px Noto Sans JP;*/
		letter-spacing: 5.04px;
		color: #2B2B2B;
		opacity: 1;
	}

/* footer */
	.footerUnderlogo {
		font: normal normal normal 13px/17px Noto Sans JP;
		letter-spacing: 1.43px;
		color: #151515;
		opacity: 1;
	}

	.footerEnder {
		font: normal normal normal 12px/43px Arial;
		letter-spacing: 0.72px;
		color: #2B2B2B;
		opacity: 1;
	}

	.footerTitle {
		font: normal normal bold 18px/24px Noto Sans JP;
		letter-spacing: 1.98px;
		color: #151515;
		margin-bottom: 1rem;
	}
	.footerContent {
		text-align: left;
		font: normal normal normal 16px/32px Noto Sans JP;
		letter-spacing: 1.76px;
		color: #151515;
		opacity: 1;
	}

	#dico_footerlogo {
		height: 57px;
	}

/* sidemenu */
	.sidemenuentry {
		margin-bottom: 35px;
	}
	.sidemenuheader {
		font: normal normal bold 32px/43px Noto Sans JP;
		letter-spacing: 3.52px;
		color: #151515;
	}
	.sidemenucontent {
		font: normal normal normal 26px/30px Noto Sans JP;
		letter-spacing: 2.86px;
		color: #151515;
		opacity: 1;
	}

	.sidemenucontent a {
		display: block;
		margin-bottom: 0.7em;
	}



	.backg {
		background-image: url("./bg_test2_01.png");
		background-position: top center;
		background-repeat: repeat-y;
		background-size: initial;
	}
	.backg2 {
		background-image: url("./bg_test2_02.png");
		background-position: top center;
		background-repeat: repeat-y;
		background-size: initial;
	}

	.backg3 {
		background-image: url("./whatwedo.svg");
		background-position: top center;
		background-repeat: repeat-y;
		background-size: initial;
	}
	.backg4 {
		background-image: url("./herobg.svg");
		background-position: top center;
		background-repeat: repeat-y;
		background-size: initial;
	}


	.blockcontainer {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.blocks {
		width: 49%;
		min-height: 170px;
		border: 1px solid #707070;
		background: #FFFFFF 0% 0% no-repeat padding-box;
		margin: 10px 0;
		padding: 1.5em;
	}
	.blockscolorful {
		width: 49%;
		min-height: 170px;
		background: #FFFFFF 0% 0% no-repeat padding-box;
		margin: 10px 0;
		display: flex;
		align-content: center;
		padding: 0.7em;
	}
	.blockstitle {
		font: normal normal 900 27px/28px Noto Sans JP;
		letter-spacing: 0px;
		color: #2B2B2B;
		text-align: center;
		margin-bottom: 0.5em;
	}
	.blockstitlecolorful {
		font: normal normal 900 27px/28px Noto Sans JP;
		letter-spacing: 0px;
		color: #2B2B2B;
		text-align: center;
		margin-bottom: 0.5em;
		width: 40%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.blockssubtitle {
		text-align: left;
		font: normal normal 900 15px/28px Noto Sans JP;
		letter-spacing: 0.9px;
		color: #F06C27;
		opacity: 1;
		margin-left: 10px;
	}
	.blockssubtitlecolorful {
		display: block;
		text-align: center;
		font: normal normal 400 22px/28px Noto Sans JP;
		letter-spacing: 0.9px;
		color: #000000;
		opacity: 1;
		margin-top: 0.5em;
	}
	.blockscontent {
		letter-spacing: 0.96px;
		color: #2B2B2B;
	}
	.blockscontentcolorful {
		letter-spacing: 0.96px;
		color: #2B2B2B;
		width: 60%;
		background-color: white;
		padding: 2em 1em;
		font-size: 18px;
		font-weight: 400;
	}

	.blockbg1 {
		background-image: linear-gradient(to bottom right, #FF946B, #EFB046);
	}
	.blockbg2 {
		background-image: linear-gradient(to bottom right, #FEF265, #A3E34C);
	}
	.blockbg3 {
		background-image: linear-gradient(to bottom right, #93FF90, #78C9F6);
	}
	.blockbg4 {
		background-image: linear-gradient(to bottom right, #77C4FF, #FBAD93);
	}



	.blockfeatured {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		border: 1px solid gray;
		padding: 2em;

	}
	.blockfeaturedrow {

	}
	.blockfeaturedtitle {
		font-size: 27px;
		font-weight: 700;
		margin-bottom: 0.5em;
	}
	.blockfeaturedheadline {
		font-size: 22px;
		font-weight: 600;
		margin-bottom: 0.5em;

	}
	.blockfeaturedcontent {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		gap: 0.5em 2em;
	}
	.blockfeaturedcontent div {
		text-align: center;
	}

	.blockfeaturedcontent img {
		width: 100%;
		max-width: 200px;
		max-height: 60px;
		margin: 0.2em;
	}
	.blockfeaturedcontent .break {
		flex-basis: 100%;
		height: 0;
	}

	.blockworks {
		margin-top: 1em;
		margin-bottom: 2em;
	}
	.blockworksimage {
		border-radius: 10px;
	}
	.blockworkstitle {
		font-size: 24px;
		font-weight: 700;
		line-height: 34px;
		color: #2B2B2B;
		margin-bottom: 0.5em;
	}
	.blockworkssubtitle {
		margin-bottom: 0.5em;
	}
	.blockworkssubtitle div {
		display: inline-block;
	}
	.blockworkstag {
		font-size: 13px;
		font-weight: 600;
		line-height: 31px;
		color: #FFFFFF;
		padding: 0.2em 2em 0.2em 0.5em;
		background-color: #F06C27;
		word-break: keep-all;
	}
	.blockworkstagcontent {
		font-size: 17px;
		font-weight: 600;
		line-height: 31px;
		color: #2B2B2B;
	}
	.blockworkscontent {
		font-size: 17px;
		font-weight: 400;
		line-height: 29px;
		color: #2B2B2B;
	}

	.blockgroups {
		border-radius: 8px;
	}
	.blockgroupsbg1 {
		border: 2px solid #FF946B;
	}
	.blockgroupsbg2 {
		border: 2px solid #FFF265;
	}
	.blockgroupsbg3 {
		border: 2px solid #93FF90;
	}
	.blockgroupsbg4 {
		border: 2px solid #77C4FF;
	}

	.blockgroupheader {
		padding: 0.5em 1em;
		font-size: 24px;
		font-weight: 500;
	}
	.blockgroupheaderbg1 {
		background-color: #ff946b;
	}
	.blockgroupheaderbg2 {
		background-color: #FFF265;
	}
	.blockgroupheaderbg3 {
		background-color: #93FF90;
	}
	.blockgroupheaderbg4 {
		background-color: #77C4FF;
	}

	.blockgroupbody {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 5px;
		padding: 1em;
	}
	.blockgroupbody div {
		border: 1px solid #909090;
		padding: 0.5em 0.75em;
		min-width: 150px;
		font-size: 15px;
	}



	.video-background {
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: -1;
		overflow: hidden;

		display: flex;
		justify-content: center;
		align-items: center;
	}

	.video-background video {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.headline-hero {
		position: absolute;
		z-index: 1;
		text-align: center;
	}

	.headline-superline {
		font-size: 68px;
		color: #fff;
		word-break: auto-phrase;
	}
	.headline-miniline {
		font-size: 28px;
		color: #fff;
		word-break: auto-phrase;
	}

	.scroll-down-hint {
		position: absolute;
		bottom: 50px;
		left: 12%;
		z-index: 2;
	}
	.scroll-down-hint-sp {
		display: none;
		position: absolute;
		bottom: 20px;
		width: 100%;
		z-index: 2;
	}

	.landingheroheader {
		font-size: 38px;
		font-weight: 700;
	}
	.landingherotext {
		font-size: 20px;
		line-height: 48px;
	}

	.bizhighlights {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
	}
	.bizhighlightsblock {
		width: 30%;
		background-color: #fff;
	}
	.bizhighlightsheader {
		color: #fff;
		font-size: 28px;
		font-weight: 600;
		text-align: center;
		padding: 0.25em;
	}
	.bizhighlightsbody {
		font-size: 36px;
		font-weight: 700;
		text-align: center;
		padding: 0.5em 0.5em;
	}
	.bizhighlightsblockbr1 {
		border: 2px solid #F07E52;
	}
	.bizhighlightsblockbr2 {
		border: 2px solid #73D870;
	}
	.bizhighlightsblockbr3 {
		border: 2px solid #48A7F0;
	}
	.bizhighlightsblockbg1 {
		background-color: #F07E52;
	}
	.bizhighlightsblockbg2 {
		background-color: #73D870;
	}
	.bizhighlightsblockbg3 {
		background-color: #48A7F0;
	}
	.bizhighlightsdisclaimer {
		font-size: 13px;
		font-weight: 400;
		color: #151515;
	}

	.bizcompanieshighlight {
		display: flex;
		flex-direction: row;
		justify-content: space-evenly;
		align-items: center;
		background-color: #fff;
		flex-wrap: wrap;
		gap: 2em;
		padding: 2em 2em;
	}
	.bizcompanieshighlight img {
		max-height: 100px;
		max-width: 100%;
	}


	.bizdomlanding {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		justify-content: center;
		align-items: flex-start;
		gap: 5px;
	}

	.bizdomlandingimgwrapper {
		display: inline-block;
		position: relative;
		overflow: hidden;
		border-radius: 10px;
		transition: border 0.2s ease-in-out;
		box-sizing: border-box;
		border: 10px solid rgba(0, 0, 0, 0);
		max-width: 350px;
		max-height: 350px;
	}

	.bizdomlandingimgwrapper img {
		max-width: 350px;
		max-height: 350px;
		/*	border-radius: 20px;*/
		transition: transform 0.2s ease-in-out;
	}

	.bizdomlandingimgwrapper img:hover {
		transform:scale(1.1);
	}
	.bizdomlandingimgwrapper:hover {
		border: 10px solid #DE6C40;
	}
	/*.bizdomlandingimgwrapper::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		right: 0;
		width: 20px; height: 20px;
		background-color: black;
		border-radius: 0 0 10px 0;
		transition: border-radius 0.2s ease-in-out;
	}*/
	.bizdomlandingimgwrapper:hover::after {
		border-radius: 0;
	}
	.bizdomlandingmore {
		text-align: center;
		font-size: 32px;
		font-weight: 700;
	}

	.tableinfo th, td {
		padding-top: 1rem !important;
		padding-bottom: 1rem !important;
	}

	.tableinfo td {
		display: flex;
		flex-direction: row;
	}
	.tableinfo_title {
		font-weight: 800;
		width:20%;
	}
	.tableinfo_content {
		width:80%;
		font-weight: 600;
	}
	.googlemaps {
		border:0;
		width: 100%;
		height: 30vw;
	}


	tbody > tr:last-child > td, tbody > tr:last-child > th {
		border-bottom: 0;
	}

	.closer-contact {
		background: linear-gradient(
						rgba(0, 0, 0, 0.25), 
						rgba(0, 0, 0, 0.25)
						),
					url("./n_0231116-_X0A6619_sv@2x.jpg");

		transition: background 0.5s ease-in-out;
	}
	.closer-contact:hover {
		background: linear-gradient(
						rgba(178, 190, 181, 0.35), 
						rgba(178, 190, 181, 0.35)
						),
					url("./n_0231116-_X0A6619_sv@2x.jpg");
		background-size: cover;
		background-position: center center;
	}
	.closer-recruit {
		background: linear-gradient(
						rgba(0, 0, 0, 0.25), 
						rgba(0, 0, 0, 0.25)
						),
					url("./n_0231116-_X0A5825_si@2x.png");

		transition: background 0.5s ease-in-out;
	}
	.closer-recruit:hover {
		background: linear-gradient(
						rgba(178, 190, 181, 0.35), 
						rgba(178, 190, 181, 0.35)
						),
					url("./n_0231116-_X0A5825_si@2x.png");
		background-size: cover;
		background-position: center center;
	}
	.closerblock {

		width: 100%;
		border: 4px solid #EB6735;
		border-radius: 20px;
		opacity: 1;
		background-size: cover;
		background-position: center center;
		height: 250px;
		padding: 0% 5%;
		margin: 0;
	}


	.closertitle {
		font: normal normal 900 60px/47px Noto Sans JP;
		color: white;
		letter-spacing: 3.84px;
		margin-bottom: 0.5em;
		margin-top: 0.5em;
	}

	.closertext {
		font: normal normal 900 32px/47px Noto Sans JP;
		color: white;
		letter-spacing: 3.84px;
		word-break: keep-all;
	}

	.closerbutton {
		border: 1px solid #FFFFFF;
		border-radius: 11px;
		font: normal normal 400 24px/24px Noto Sans JP;
		position: relative;
		color: white;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.closerbutton svg {
		fill: #fff; /* Adjust arrow color */
		position: absolute;
		top: 35%; 
		right: 1em;
	}
	.closerbuttonstyle1 {
		background: transparent linear-gradient(90deg, #EB6735 0%, #E0BF37 100%) 0% 0% no-repeat padding-box;
	}
	.closerbuttonstyle2 {
		background: transparent linear-gradient(101deg, #44C440 0%, #4A9CDB 100%) 0% 0% no-repeat padding-box;
	}



	.accordion-rotate::after {
		transform: rotate(-90deg);
	}

	.accordion-button:focus {
		z-index: 3;
		border-color: #279C88;
		outline: 0!important;
		box-shadow: 0 0 0 0.25rem rgba(39, 156, 136, 0.25);
	}
	.accordion-button:not(.collapsed) {
		color: black;
		background-color: white;
	}

	.btn-close:focus {
		z-index: 3;
		border-color: #279C88;
		outline: 0!important;
		box-shadow: 0 0 0 0.25rem rgba(39, 156, 136, 0.25);
	}

	.accordion-button.link::after {
		transform: rotate(-90deg);
	}

	.link {
		cursor: pointer;
		text-decoration: none !important;
	}


/*form*/

	#contact-form {
		width: 60%;
	}
	.form-phone {
		width: 25%;
		display: inline;
		margin-right: 5px;
		margin-left: 5px;
	}
	.form-phone:first-child {
		margin-left: 0px;
	}

	.form-control {
		border-color: #7B8591;
	}
	.form-control:focus {
		border-color: #7B8591;
		outline: 0;
		box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.15);
	}

	.form-label {
		font-size: 18px;

	}
	.badge-mandatory {
		font-size: 10px;
		background-color: #C50D26;
		font-weight: 400;
	}

	.badge-optional {
		font-size: 10px;
		background-color: #BCBCBC;
		font-weight: 400;
	}
	.form-text {
		font-size: 14px;
		font-weight: 400;
		color: #2B2B2B
	}
	.form-check-input:checked {
		background-color: #808080;
		border-color: #808080;
	}
	.form-check-input:focus {
		border-color: #7B8591;
		outline: 0;
		box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.15);
	}

	.form-submit {
		font-size: 24px;
		font-weight: 400;
		border-width: 0;
	}

	.button-top {
		border: #F06C27 solid 2px;
		border-radius: 6px;
		padding: 0.75em;
		color: #F06C27;
		font-size: 19px;
		font-weight: 400;
		max-width: 280px;
		text-align: left;
		padding-left: 1.5em;
	}

	#form-body {
		min-height: 400px;
		transition: min-height 0.5s ease-in-out;
	}

	#contact-form-thank {
		position: absolute;
		z-index: 10;
		left: 0;
		right: 0;
		text-align: center;
		padding: 0em 2em;
	}

	.minispace {
		font: normal normal normal 12px/22px Noto Sans JP;
		height: 100px;
		overflow-y: scroll;
		resize: vertical;
		border: 1px #00000021 solid;
		padding: 1em;
	}




/*news*/

	.category-selector .col {
		border-top: 1px #707070 solid;
		border-bottom: 1px #707070 solid;
		border-right: 1px #707070 solid;
		text-align: center;
		padding: 1em 0.7em;
	}
	.category-selector .col:first-child {
		border-left: 1px #707070 solid;
		border-radius: 10px 0 0 10px;
	}
	.category-selector .col:last-child {
		border-radius: 0 10px 10px 0;
	}
	.category-selector .selected {
		background-color: #F06C27;
		color: #FFFFFF;
	}

	.news-link {
			display: block;
			color: rgba(21,21,21,1);
			text-decoration: none;
			transition: color 0.1s ease-out;
			height: fit-content;
	}
	.news-link:hover {
		color: rgba(240,108,39,1);
	}

	.news-image {
		margin: 0 2em 0 0;
		float: left;
	}
	.news-image img {
		max-width: 300px;
	}
	.news-texts {
		padding-left: 2em;
	}

	.news-date {
		font-size: 15px;
		font-weight: 500;
		color: #7B8591;
		padding-right: 1em;
	}

	.category-type {
		font-size: 12px;
		color: #000;
		font-weight: 500;
		border: 2px solid black;
		padding-left: 1.5em;
		padding-right: 1.5em;
		padding-top: 0.1em;
		padding-bottom: 0.1em;
		word-break: keep-all;
	}

	.category-link {
		color: black;
		word-break: break-word;
		text-decoration: none !important;
	}
	.category-link:hover {
		background-color: #F06C27;
		color: #FFFFFF;
	}

	.news-notices {
		border-color: #74D870;
	}
	.news-events {
		border-color: #48A7F0;
	}
	.news-works {
		border-color: #F07E52;
	}

	.news-title {
		margin-top: 1em;
		font-size: 24px;
	}
	.news-content {
		font-size: 18px;
		color: #000;
		font-weight: 500;
		word-wrap: break-word;
	}
	.news-content img {
		max-width: 100%;
	}

	.related-news:active {
		cursor: grabbing;
	}

	#news-scroller {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		cursor: grab;
		user-select: none;
	}

	#news-scroller::-webkit-scrollbar {
		display: none;
	}

	.news-card {
		width: 400px;
	}

	.news-margin-start {
		margin-left: 12vw;
	}

	.news-margin-end {
		margin-right: 12vw !important;
	}



	.divider {
		border: none;
		height: 2px;
		color: #7B8591;
		background-color: #7B8591;
	}


	.related-news {
		display: flex !important;
		flex-direction: row;
		justify-content: flex-start;
		gap: 15px;
		flex-wrap: nowrap;
	}

	.more-news {
		color: rgba(240,108,39,1);
		text-decoration: none;
	}
	.link-white {
		color: rgba(255,255,255,1);
		text-decoration: none;
	}

	.related-news img {
		max-height: 258px;
	}

	.news-titles-card {
		font-size: 18px;
		font-weight: 600;
		margin-top: 0.7em;
		margin-bottom: 0.7em;
	}
	.news-shortintro {
		font-size: 18px;
		font-weight: 500;
	}


	#cookietoast {
		margin: 2em auto;
		width: 90%;
	}

	.langflag {
		width: 60px;
	}




/* breakpoints: smaller than x */

	@media (max-width: 1399.98px) {

		.featuredimage {
			position: absolute;
			right: 30px;
		}

		.backg {
			background-image: url("./bg_test_sm.png");
			background-size: contain;
		}
		.backg2 {
			background-image: url("./bg_test_sm2.png");
			background-size: cover;
		}

		.backg3 {
			background-image: url("./whatwedo_sp.svg");
			background-size: cover;
		}

		.news-margin-start {
			margin-left: 6vw;
		}

		.news-margin-end {
			margin-right: 6vw;
		}

	}

	/*/ `xl` applies to large devices (desktops, less than 1200px)
	 o- navbar's button group disappears
	 o- contact button turns to icon version
	 o- title text+image order turns vertical

	 - footer turns vertical

	*/
	@media (max-width: 1199.98px) {
		/*.dicobar {
			background: red;
		}*/
		.dico-navbar-buttongroup {
			display: none;
		}
		#dico-navbar-button-contact {
			display: none;
		}
		#dico-navbar-button-contact-sm {
			display: block;
		}
		.gradient-container {
			border-radius: 18px;
		}

		#titleimage {
			top: 260px;
		}
		#titletext {
			height: 420px;
			margin-bottom: 8rem;
		}
		.titletextcontent {
			padding-top: 110px;
		}
		#titletopline {
			margin-bottom: 0px;
		}
		#titlemainline {
			margin-top: 20px;
			font-size: 50px;
			word-break: break-word;
			white-space: normal;
			line-height: 42px;
		}
		#titlesubline {
			font: normal normal 900 28px/60px Noto Sans JP;
			letter-spacing: 1.0px;
			color: #2B2B2B;
			opacity: 1;
			word-break: break-all;
			white-space: normal;
			line-height: normal;
			margin-top:0;
		}

		.titleaccessory {
			bottom: -60px;
		}

		.container-content {
			margin-left: 2em;
			margin-right: 2em;
		}


		.featuredimage {
			position: absolute;
			right: 30px;
		}

		.featuredimage img {
			width: 550px;
			height: 376px;
			border-radius: 10px;
		}
		.closertext {
			word-break: break-word;
		}

		.gradient-overlay:hover {
			border-radius: 16px;
		}


	}

	/*/ `lg` applies to medium devices (tablets, less than 992px)
	 - navbar min version
	 o- title text+image height adjustment

	 - order of sidemenu items turns vertical
	*/
	@media (max-width: 991.98px) {
		/*.dicobar {
			background: yellow;
		}*/
		#titleimage {
			top: 260px;
			border-radius: 15px 0 0 15px;
		}
		#titletext {
			height: 350px;
			margin-bottom: 6rem;
		}

		.featuredimage {
			position: relative;
			right: 0;
			text-align: center;

		}

		.featuredimage img {
			width: 100%;
			max-width: 640px;
			height: auto;
		}

		.text-content {
			word-break: break-all;
			text-align: justify;
		}


		.backg {
			background-image: url("./bg_test_sm.png");
			background-size: contain;
		}
		.backg2 {
			background-image: url("./bg_test_sm2.png");
			background-size: contain;
		}
		.backg3 {
			background-image: url("./whatwedo_sp.png");
			background-size: contain;
		}


		.blocks {
			width: 100%;
			min-height: 100px;
		}

		.blockscolorful {
			width: 100%;
			min-height: 100px;
		}


		.closer-contact {
			background: linear-gradient(
							rgba(0, 0, 0, 0.25), 
							rgba(0, 0, 0, 0.25)
							),
						url("./n_0231116-_X0A6619_nyk@2x.png");
			background-size: cover;
			background-position: center center;
		}
		.closer-recruit {
			background: linear-gradient(
							rgba(0, 0, 0, 0.25), 
							rgba(0, 0, 0, 0.25)
							),
						url("./n_0231116-_X0A5825_nyw@2x.png");
			background-size: cover;
			background-position: center center;
		}
		.closer-contact:hover {
			background: linear-gradient(
							rgba(0, 0, 0, 0.25), 
							rgba(0, 0, 0, 0.25)
							),
						url("./n_0231116-_X0A6619_nyk@2x.png");
			background-size: cover;
			background-position: center center;
		}
		.closer-recruit:hover {
			background: linear-gradient(
							rgba(0, 0, 0, 0.25), 
							rgba(0, 0, 0, 0.25)
							),
						url("./n_0231116-_X0A5825_nyw@2x.png");
			background-size: cover;
			background-position: center center;
		}

		.closerblock {
			padding: 1em 1em;
			height: auto;
		}
		.closertitle {
			font: normal normal 900 40px/40px Noto Sans JP;
			letter-spacing: 3.84px;
			margin-bottom: 1em;
			margin-top: 1em;
		}
		.closertext {
			font: normal normal 900 20px/34px Noto Sans JP;
			color: white;
			letter-spacing: 3.84px;
			margin-bottom: 2em;
			word-break: break-word;
		}
		.closerbutton {
			font: normal normal 400 24px/24px Noto Sans JP;
			position: relative;
			color: white;
			display: flex;
			align-items: center;
			justify-content: center;
			max-width: 75%;
			padding: 1em;
			margin-left: 1em;
			margin-right: 1em;
		}

		#dico-navbar-logo {
			margin-left: 15px;
		}
		#dico-navbar-buttons {
			margin-right: 15px;
		}

		.tableinfo td {
			flex-direction: column;
		}
		.tableinfo_title {
			width: 100%;
		}
		.tableinfo_content {
			padding-top: 0.5em;
			width: 100%;
		}
		.googlemaps {
			height: 60vw;
		}


		#contact-form {
			width: 100%;
		}

		.category-selector a {
			color: black;
		}

		.category-selector div.col {
			padding-top: 1.5em;
			padding-bottom: 1.5em;
		}


		.news-image img {
			max-width: 132px;
		}
		.news-title {
			margin-top: 0.5em;
		}

		#titletopline {
			white-space: normal;
		}

		.blockworksimage {
			width: 100%;
			max-width: 640px;
		}

		.blockworkstitle {
			margin-top: 1em;
		}
		.blockworkssubtitle div {
			display: block;
		}


		.bizhighlights {
			flex-direction: column;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: center;
			gap: 20px;
		}
		.bizhighlightsblock {
			width: 100%;
		}


		.headline-superline {
			font-size: 37px;
			font-weight: 700;
		}
		.headline-superline span {
			display: block;
			word-wrap: break-word;
		}

		.headline-miniline {
			padding-left: 1em;
			padding-right: 1em;
			font-size: 16px;
			font-weight: 600;
		}

		.sidemenuheader {
			font-size: 24px;
		}
		.sidemenucontent {
			font: normal normal normal 17px/30px Noto Sans JP;
		}

		.scroll-down-hint {
			display: none;
		}
		.scroll-down-hint-sp {
			display: flex;
			justify-content: center;
		}

		.dynamicbr {
			display: none;
		}

	}



	/*/ small applies to small devices (phones, less than 440px)
	 - tighter borders
	*/
	@media screen and (max-width: 550px) {

		.news-title {
			display: inline-block;
			text-align: center;
		}
		.news-texts {
			text-align: center;
		}

		.news-image {
			float: none;
			text-align: center;
			margin: 0 0 1em 0;
		}
		.news-image img {
			max-width: 80%;
		}

	}

	/*/ tiny applies to small devices (phones, less than 440px)
	 - tighter borders
	*/
	@media screen and (max-width: 440px) {
		#dico-navbar-logo {
			padding-left: 10px;
			padding-right: 10px;
			margin-left: 5px;
		}
		#dico-navbar-button-menuburger {
			margin-left: 5px;
		}
		#dico-navbar-buttons {
			margin-right: 5px;
		}

		#titlemainline {
			margin-top: 20px;
			font-size: 40px;
			word-break: break-word;
			white-space: normal;
			line-height: 42px;
		}


	}



/* Special breaks for titletext */
	@media (max-width: 1399.98px) {
		#titletext {
			margin-bottom: 6rem;
		}
	}
	@media (max-width: 1199.98px) {
		#titletext {
			margin-bottom: 12rem;
		}
	}
	@media (max-width: 991.98px) {
		#titletext {
			margin-bottom: 12rem;
		}
	}
	@media (max-width: 699.98px) {
		#titletext {
			margin-bottom: 8rem;
		}
	}
