@charset "utf-8";
/* CSS Document */

@media print, screen and (min-width: 1024px) {
	body.scroll {
		overflow:hidden;
	}
	.sp_head {
		display: none;
	}
	.pc_head {
		position: relative;
	}
	header {
		background: #fff;
	}
	header {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content:flex-start;
		align-items: center;
		padding: 0;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1020;
		border-bottom:solid 1px #dddddd;
		transition: .3s;
	}
	header.fixed_bur {
		border-bottom:initial;
		filter:drop-shadow(0px 2px 15px rgba(0,0,0, 0.05));
	}

	.hd_gray {
		display: block;
		width: 100%;
		background-color: #f6f6f6;
		height: auto;
	}

	.hd_white {
		display: block;
		width: 100%;
		background-color: #fff;
		height: auto;
	}
	header .inr {
		margin: auto;
		width: 100%;
		position: relative;
		max-width: 1221px;
		padding-left:10px;
	}
	.hd_gray .inr {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
		padding: 0;
	}


	.hd_gray .inr .contact,
	.hd_gray .inr .contact_link,
	.hd_gray .inr .language,
	.hd_gray .inr .search {
		font-size: 12px;
		line-height: 1;
		text-align: center;
		position: relative;
	}
	.hd_gray .inr .contact a,
	.hd_gray .inr .contact_link a {
		padding: 8px 26px 12px 16px;
		display: block;
	}
	.hd_gray .inr .language a,
	.hd_gray .inr .search a {
		padding: 8px 20px 12px;
		display: block;
	}
	.hd_gray .inr .contact,
	.hd_gray .inr .contact_link {
		background-color: #f6f6f6;
		width: 130px;
	}
	.hd_gray .inr .language {
		background-color: #0852a0;
		width: 151px;
	}
	.hd_gray .inr .language::before,
	.hd_gray .inr .search::before {
		content: "";
		margin: auto;
		width: 16px;
		height: 16px;
		display:block;
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: 50%;
		bottom: 50%;
		left: 15px;
		margin-top: -9px;
	}
	.hd_gray .inr .language::before {
		background-image: url("../images/icon_lag.svg");
	}
	.hd_gray .inr .search::before {
		background-image: url("../images/icon_sch.svg");
	}
	.hd_gray .inr .language::after,
	.hd_gray .inr .search::after {
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		right: 16px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(135deg);
		margin-top: 11px;
	}
	.hd_gray .inr .contact::after {
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		right: 16px;
		width: 6px;
		height: 6px;
		border-top: 1px solid #0852a0;
		border-right: 1px solid #0852a0;
		transform: rotate(135deg);
		margin-top: 11px;
	}
	.hd_gray .inr .contact_link::after {
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		right: 16px;
		width: 6px;
		height: 6px;
		border-top: 1px solid #0852a0;
		border-right: 1px solid #0852a0;
		transform: rotate(45deg);
		margin-top: 11px;
	}
	.hd_gray .inr .language.active::after,
	.hd_gray .inr .search.active::after,
	.hd_gray .inr .contact.active::after {
		transform: rotate(-45deg);
		margin-top: 12px;
	}

	.hd_gray .inr .language a {
		color: #fff;
	}
	.hd_gray .inr .search {
		background-color: #48a8ee;
		width: 112px;
	}
	.hd_gray .inr .search a {
		color: #fff;
	}
	.hd_gray .inr .contact.active,
	.hd_gray .inr .language.active,
	.hd_gray .inr .search.active {
		z-index: 1101;
	}
	.hd_gray .inr .contact a,
	.hd_gray .inr .contact_link a,
	.hd_gray .inr .language a,
	.hd_gray .inr .search a {
		text-decoration:none;
	}
	.hd_gray .inr .contact a:hover,
	.hd_gray .inr .contact_link a:hover,
	.hd_gray .inr .language a:hover,
	.hd_gray .inr .search a:hover {
		text-decoration:underline;
	}
	
	/*PCメニュー/言語画面/検索画面*/
	nav.r_nav,
	nav.s_nav {
		top: 32px;
	}
	nav.con_nav {
		top: 42px;
	}

	nav.r_nav,
	nav.s_nav {
		width: 100%;
		background-color: rgba(250, 250, 250, 1);
		color: #000;
		text-align: center;
		display: none;
		position: fixed;
		left: 0;
		z-index: 1030;
		padding: 0 15px;
	}
	nav.con_nav {
		width: 100%;
		background-color: rgba(250, 250, 250, 0);
		color: #000;
		text-align: center;
		display: none;
		position: fixed;
		left: 0;
		z-index: 1030;
		padding: 0;
	}

	nav.ft_con_nav {
		width: 90%;
		background-color: rgba(250, 250, 250, 1);
		color: #000;
		text-align: center;
		display: none;
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit- transform: translateY(-50%) translateX(-50%);
		z-index: 1035;
		padding: 0 15px;
	}
	nav.con_nav ul.nav {
		padding: 20px 0;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
			overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
		height: 100vh;
	}
	
	nav.con_nav ul.nav {
		background-color: #f6f6f6;
		width: 160px;
		display: block;
		float: right;
		margin-right: 233px;
		height: auto;
		padding: 0;
	}
	.con_nav_inr {
		width: 100%;
		max-width: 1200px;
		margin: auto;
		position: relative;
	}
	nav.con_nav ul.nav > li {
		text-align: left;
		font-size: 12px;
		line-height: 1;
	}
	nav.con_nav ul.nav > li:not(:last-child) {
		border-bottom: solid #ddd 1px;
	}
	nav.con_nav ul.nav li ul {
		padding-left: 10px;
	}
	nav.con_nav ul.nav > li ul li:first-child {
		border-top: solid #ddd 1px;
	}
	nav.con_nav ul.nav > li ul li:not(:last-child){
		border-bottom: solid #ddd 1px;
	}
	nav.con_nav ul.nav li a {
		display: block;
		position: relative;
		transition: all .3s;
		color: #333;
	}
	nav.con_nav ul.nav li span {
		padding: 10px 20px 10px 10px;
		display: inline-block;
	}
	nav.con_nav ul.nav li a::after {
		content: "";
		margin: auto;
		width: 12px;
		height: 12px;
		display:block;
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: 50%;
		bottom: 50%;
		right: 12px;
		background-image: url("../images/icon_rgt.svg");
		transition: transform .3s;
	}
	nav.con_nav ul.nav li a.blank::after {
		background-image: url("../images/icon_blk.svg");
	}
	
	
	nav.con_nav ul.nav li a:hover {
		background-color: #48A8EE;
		color: #fff;
	}
	nav.con_nav ul.nav li a:hover::after {
		right: 10px;
		background-image: url("../images/icon_rgt_w.svg");
	}
	nav.con_nav ul.nav li a.blank:hover::after {
		background-image: url("../images/icon_blk_w.svg");
	}

	
	
	
	nav.ft_con_nav ul.nav li.nav-item,
	nav.r_nav ul.nav li.nav-item,
	nav.s_nav ul.nav li.nav-item {
		padding: 15px 0;
		text-align: left;
	}
	.nav-item_sub {
			display: none;
	}
	.pointerevent {
		pointer-events: none;
	}
	
	

	nav.r_nav .r_nav_box {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
			overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
		height: 100vh;
		width: 100%;
		max-width: 1232px;
		margin: auto;
		padding: 60px 0;
		text-align: left;
	}

	nav.ft_con_nav .r_nav_box {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
			overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
		height: auto;
		width: 90%;
		max-width: 1232px;
		margin: auto;
		padding: 40px 0;
		text-align: left;
	}
	.r_nav_box h2 {
		font-size: 26px;
		font-style: normal;
		font-weight: 600;
		margin-bottom: 60px;
	}
	nav.ft_con_nav .r_nav_box h2 {
		margin-bottom: 36px;
		color:#0852A0;
	}
	ul.box_region,
	ul.box_ft_con {
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
	}
	ul.box_region {
		/*gap: 36px 0;*/
		padding-bottom: 26px;
		margin-bottom: 26px;
		border-bottom: solid 1px #ddd;
	}
	ul.box_region li {
		width: calc(100% / 4);
	}
	ul.box_ft_con li {
		width: calc(94% / 3);
		margin-right:3%;
		margin-bottom:16px;
	}
	ul.box_ft_con li:nth-of-type(3n) {
		margin-right:0;
	}
	ul.box_region li:first-child {
		font-size: 20px;
		font-style: normal;
		font-weight: 600;
		line-height: 175%;
	}
	ul.box_region li:nth-child(5) {
		margin-left: calc(100% / 4);
		margin-top:36px;
	}
	ul.box_region li a,
	ul.box_ft_con li a {
		display: block;
		background-color: #fff;
		width: 90%;
		padding: 11px 36px;
		border: solid 1px #666;
		font-size: 16px;
		font-style: normal;
		font-weight: 300;
		line-height: 175%;
		position: relative;
		color: #333;
		text-decoration:none;
	}
	ul.box_ft_con li a {
		width: 100%;
	}
	ul.box_region li a::before,
	ul.box_ft_con li a::before {
		content: "";
		display: inline-block;
		position: absolute;
		width: 16px;
		height: 16px;
		top: 34%;
		left: 0;
		background-image: url("../images/icon_rgt_gry.svg");
		background-size: contain;
		background-repeat: no-repeat;
	}
	ul.box_region li a.blank::after,
	ul.box_ft_con li a.blank::after {
		content: "";
		display: inline-block;
		position: absolute;
		width: 18px;
		height: 18px;
		top: 33%;
		right: 7px;
		background-image: url("../images/icon_blk_gry.svg");
		background-size: contain;
		background-repeat: no-repeat;
	}
	ul.box_region li a.now,
	ul.box_region li a:hover,
	ul.box_ft_con li a.now,
	ul.box_ft_con li a:hover{
		background-color: #48A8EE;
		color: #fff;
		border: solid 1px #48A8EE;
		text-decoration: none;
	}
	ul.box_region li a.now::before,
	ul.box_region li a:hover::before,
	ul.box_ft_con li a.now::before,
	ul.box_ft_con li a:hover::before {
		background-image: url("../images/icon_rgt_w.svg");
	}
	ul.box_region li a.blank:hover::after,
	ul.box_ft_con li a.blank:hover::after {
		background-image: url("../images/icon_blk_w.svg");
	}
	.region_caution {
		font-size: 14px;
		line-height: 175%;
	}
	.region_caution ol li {
		position: relative;
		padding-left: 20px;
		margin-bottom: 5px;
	}
	.region_caution ol li::before {
		content: '';
		display: inline-block;
		width: 20px;
		height: 16px;
		background-image: url("../images/icon_qus.svg");
		background-size: contain;
		background-repeat: no-repeat;
		background-position: left top 2px;
		margin: 0 0 0 -20px;
	}
	.region_caution ol li a {
		color:#0852a0;
	}
	.r_close_btn,
	.ft_con_close_btn,
	.s_close_btn {
		width: 20px;
		position: absolute;
		display: block;
		top: 30px;
		right: 30px;
		background-image: url("../images/icon_cls.svg");
		background-size: contain;
		background-repeat: no-repeat;
		cursor: pointer;
		padding-top: 20px;
		height: 0;
		overflow: hidden;
	}
	
	nav.s_nav .s_nav_box {
		scrollbar-width: none;
		width: 100%;
		max-width: 1232px;
		margin: auto;
		padding: 36px 0;
		text-align: left;
	}
	nav.s_nav .s_nav_box {
		height:auto;
	}
	.s_nav_box form {
		width: 100%;
		max-width: 912px;
		margin: auto;
		display: flex;
	}
	.s_nav_box input[type="text"] {
		-webkit-appearance: textfield;
		background: #fff;
		padding: 10px 16px;
		width: 85%;
		border: solid 1px #ddd;
		-webkit-appearance: none;
		border-radius: 0;
	}
	.s_nav_box input[type="text"]:focus {
		outline-style: none;
	}
	.s_nav_box input[type="text"]::-webkit-search-decoration {
		display: none;
	}
	.s_nav_box input[type="submit"]{
		cursor: pointer;
		border: none;
		background: #0852A0;
		color: #fff;
		outline : none;
		width: 15%;
		padding: 10px 16px;
		-webkit-appearance: none;
		border-radius: 0;
	}	
	.s_nav_box ::-webkit-input-placeholder {
		color: #0852A0;
	}

	.s_nav_box .mf_finder_searchBox_form{
		display:block;
	}
	.s_nav_box .mf_finder_searchBox_items{
		padding:0;
		display: flex;
	}
	.s_nav_box .mf_finder_searchBox_query_wrap{
		width: 85%;
	}
	.s_nav_box .mf_finder_searchBox_query_input[type="text"]{
		font-size:1.6rem;
		width:100%;
	}
	.s_nav_box .mf_finder_searchBox_submit{
		border-radius:0;
		background-color: #0852A0;
		padding: 10px 16px;
		-webkit-appearance: none;
		border-radius: 0;
		width:15%;
	}
	.s_nav_box .mf_finder_searchBox_submit::before{
		content:none;
	}
	.s_nav_box .mf_finder_searchBox_submit span{
		margin:0;
	}	
	.s_nav_box .mf_finder_searchBox_query_input::placeholder {
		color:#999;
	}
	

	.hd_white .inr {
		display: block;
	}

	.hd_box1 {
		/* display: flex;
		justify-content: center;
		align-items: center; */
		transition: all .1s;
		width: 195px;
		height: 0px;
		padding: 23px 0 0;
		float: left;
	}
	.hd_box1.fixed {
		height: 60px;
	}
	.hd_box1 h1 {
		width: 180px;
		margin-right: 15px;
		display: flex;
		align-items: center; margin: 0px;
	}
	

	.hd_box2 {
		display: block;
		width: calc(100% - 195px);
		float: right;
	}

	.pc_nav {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
		padding: 0;
		z-index: 1011;
		margin: 0px;
	}
	
	.pc_list {
		width: auto;
		height: 80px;
		background-color: #fff;
		transition: all .1s;
		padding: 0 1em;list-style: none;
	}
	ul.pc_nav > li.pc_list:last-child {
		padding-right:0;
	}
	.pc_list.fixed{
		height: 60px;
	}
	.pc_list:hover {
		transition-delay: 0.3s;
	}
	.pc_list:hover::before {
		background-color: #0071BB;
	}
	.pc_list > a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		text-decoration: none;
		
		letter-spacing: 0.05em;
		font-weight: 700;
	}
	.pc_list a:link,
	.pc_list a:visited{
		color: #333;
	}
	.pc_list a:hover {
		color: #0852a0;
	}
	.pc_list .d_list a {
		display: none;
		transition: all 0.5s 0s ease;
	}
	.pc_list:hover .d_list a {
		display: block;
	}
	.pc_list > a span {
		position: relative;
		display: block;
		display: grid;
		justify-items: center;
		align-items: center;
		line-height: 1.2;
	}

	.pc_list > a span::before {
		content: "";
		width: 100%;
		height: 1px;
		position: absolute;
		bottom: -30px;
		transform: scale(0, 0);
		transform-origin: center top;
		transition: transform .3s;
	}
	.pc_list:hover > a span::before {
		background-color: #0852a0;
		transform: scale(1, 1);
	}
	.pc_list.fixed > a span::before {
		bottom: -20px;
	}

	body[data-category="company"] .pc_list a span.company,
	body[data-category="product"] .pc_list a span.product,
	body[data-category="solution"] .pc_list a span.solution,
	body[data-category="solution-komorikare"] .pc_list a span.solution,
	body[data-category="solution-kgc"] .pc_list a span.solution,
	body[data-category="information"] .pc_list a span.information,
	body[data-category="sustainability"] .pc_list a span.sustainability,
	body[data-category="employment"] .pc_list a span.employment {
		color: #0852a0;
	}
	body[data-category="company"] .pc_list > a span.company::before,
	body[data-category="product"] .pc_list > a span.product::before,
	body[data-category="solution"] .pc_list > a span.solution::before,
	body[data-category="solution-komorikare"] .pc_list > a span.solution::before,
	body[data-category="solution-kgc"] .pc_list > a span.solution::before,
	body[data-category="information"] .pc_list > a span.information::before,
	body[data-category="sustainability"] .pc_list > a span.sustainability::before,
	body[data-category="employment"] .pc_list > a span.employment::before {
		background-color: #0852a0;
		transform: scale(1, 1);
	}


	.drop {
		display: none;
		width: 100vw;
		position: absolute;
		left: 0;
		background-color: #f6f6f6;
	
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		z-index: 1020;
	}
	.drop h2 {
		width: 100%;
		max-width: 1272px;
		margin: 0 auto 36px;
		padding: 36px 36px 0 36px;
		text-align: left;
		font-size: 20px;
		font-style: normal;
		font-weight: 600;
		line-height: 175%;
	}
	.drop a {
		position: relative;
		text-decoration:none;
	}
	.drop a:hover {
		text-decoration:underline;
	}
	.drop h2 a {
		color:#0852A0;
		padding-left: 26px;
	}
	.drop h2 a:link,
	.drop h2 a:visited{
		color:#0852A0;
	}
	.drop h2 a::before,
	.drop h2 a::after,
	.drop ul >li a::before {
		content: "";
		display: inline-block;
		position: absolute;
		width: 16px;
		height: 16px;
		top: 50%;
		
		background-size: contain;
		background-repeat: no-repeat;
		transform: translateY(-50%);
		    -webkit-transform: translateY(-50%);
			    -ms-transform: translateY(-50%);
		-webkit-transition: all .2s ease-out 0s;
		transition: all .2s ease-out 0s;
	}
	.drop h2 a::before {
		background-image: url("../images/icon_rgt.svg");
		left: 0;
		margin-top: -2px;
		width: 16px;
		height: 16px;
		margin-right: 20px;
	}
	.drop ul >li a::before {
		background-image: url("../images/icon_rgt_gry.svg");
		left: 0;
		width: 16px;
		height: 16px;
		margin-right: 20px;
	}
	.drop ul >li p a::before {
		background-image: url("../images/icon_rgt_gry.svg");
		left: 0;
		width: 13px;
		height: 13px;
	}
	.drop h2 a:hover::before,
	.drop ul >li a:hover::before {
		left: 5px;
	}
	.drop ul >li a.blank {
		display:block;
	}
	
	.drop ul >li a.blank::after {
        content: "";
        display: inline-block;
        background-size: contain;
        background-repeat: no-repeat;
        width: 23px;
        height: 16px;
        background-position: top 1px right;
        background-image: url("../images/icon_blk_gry2.svg");
    }
	
	.dp_inr {
		width: 100%;
		max-width: 1272px;
		margin: 0 auto 36px;
		padding: 0 36px;
		display: flex;
		flex-wrap: wrap;
		text-align: left;
		align-items: flex-start;
	}
	
	
	.drop ul {
		display: flex;
		flex-wrap: wrap;
		width: 74.25%;
		margin-right: 3%;
		padding: 0;
	}
	.drop ul.fourdivisions {
		width: 100%;
		margin-right: 0;
	}
	.drop ul > li {
		width: calc(92% / 3);
		transition: all .3s;
		position: relative;
		margin-bottom:8px;
		margin-right: 4%;
		font-size: 14px;list-style-type: none;
	}
	.drop ul.fourdivisions > li {
		width: calc(88% / 4);
		margin-right: 4%;
	}
	.drop ul > li:nth-of-type(3n) {
		margin-right: 0;
	}
	.drop ul.fourdivisions > li:nth-of-type(3n) {
		margin-right: 4%;
	}
	.drop ul.fourdivisions > li:nth-of-type(4n) {
		margin-right: 0;
	}
	.drop ul > li span {
		border-bottom: solid 1px #ddd;
		width: 100%;
		display: grid;
		align-items: center;
	}
	.drop ul > li a {
		display: flex;
		justify-content: flex-start;
		flex-direction: column;
		line-height: 18px;
		font-weight: bold;
		padding-left: 26px;
		padding: 14px 16px 14px 26px;
	}
	
	.drop ul > li span + p {
		margin-top: 3px; padding: 0px; margin-bottom: 0px;
	}
	.drop ul > li p {
		font-size: 12px;
		line-height: 15px; padding: 0px; margin: 0px;
	}
	.drop ul > li p a {
		display: block;
		padding: 5px 16px 5px 26px;
		font-weight: normal;
	}
	/*メガメニューのバナー*/	
	.drop ol {
		display: block;
		width: 22.75%;list-style:none
	}
	.wht_bnr a {
		width: 100%;
		padding: 10px;
		border: solid 1px #ddd;
		background-color: #fff;
		margin-bottom: 1em;
		display: flex;
		flex-wrap: wrap;
	}
	.wht_bnr a:link    {color:#333; text-decoration:none;}
	.wht_bnr a:visited {color:#333; text-decoration:none;}
	.wht_bnr a:hover   {color:#0852A0 ;text-decoration:underline;}
	.wht_bnr a div.photo_i  {
		width: 60px;
		height: 60px;
		overflow: hidden;
	}
	.wht_bnr a div.photo_i {
		border: solid 1px #ddd;
	}
	.wht_bnr a div.photo_i img {
		height: auto;
		transition: transform .3s ease;
	}
	.wht_bnr a:hover div.photo_i img {
		transform: scale(1.1);
	}
	.wht_bnr a div.link_txt  {
		width: calc(100% - 60px);
		display: flex;
		font-size: 14px;
		place-items: center start;
		padding-left: 10px;
		position: relative;
	}
	.wht_bnr a.blank div.link_txt::after {
		content: '';
		width: 23px;
		height: 16px;
		display:inline-block;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center right;
		background-image: url("../images/icon_blk_gry2.svg");
		transition: transform .3s;
		padding-left: 7px;
	}
	

	.box-child{
		display:flex;
		flex-direction:column;
	}
	.box-child > span,
	.box-child div	{
		flex-grow:1;
	}

	.fade {
		margin-top: 80px;
		position: fixed;
		top:0px;
		left: 0;
		width:100%;
		height: calc(100% - 80px);
		background-color:#000000;
		visibility: hidden;
		opacity: 0;
		transition: all .2s;
	}
	.fade.ft_ver {
		margin-top: 0;
		height: 100%;
	}
	.pc_head .fade {
		margin-top: 0;
		height: 100%;
	}
	.fade.open {
		visibility: visible;
		opacity: 0.5;
	}
	.fade.open_delay{
		visibility: visible;
		opacity: 0.5;
		transition-delay: 0.2s;
		z-index:1010;
	}
	.fade.ft_ver.open_delay {
		z-index:1030;
	}
	.komoriblue {
		color:#0852a0;
	}


}

@media print, screen and (max-width: 1272px) {
	.hd_box1 h1 {
		margin-right: 0;
		margin-left: 18px;
	}
	ul.pc_nav > li.pc_list:last-child {
		padding-right:1em;
	}
}