@charset "UTF-8";

/*===============================================
SP
===============================================*/
@media screen and (max-width: 850px){	

	
.pc{display:none !important;}


/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top:0;
    right: -120%;
    width:100%;
    height: 100vh;/*ナビの高さ*/
    background: #322e2a;
    /*動き*/
    transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
}

#g-nav li a{
	color: #ffffff;
	text-decoration: none;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
	z-index: 9999;/*ボタンを最前面に*/
	top: 20px;
	right: 20px;
	cursor: pointer;
	width: 80px;
	height: 80px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0px 0px 9px 0px #dddddd;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 22px;
    height: 3px;
    border-radius: 2px;
    background-color: #939393;
    width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top: 27px;
}

.openbtn span:nth-of-type(2) {
	top: 39px;
}

.openbtn span:nth-of-type(3) {
	top: 52px;
}

.openbtn.active span:nth-of-type(1) {
    top: 34px;
    left: 28px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 46px;
    left: 28px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}







/* ===========以下レイアウト=========== */


div.top01 {background: #3d3d3d url(../images/top001.webp) no-repeat;background-size: 100%;height: auto;width:100%;height: 100vw;}




div#top.top01 a.sp_logo {display: block;width: 200px;position: absolute;left: 2em;top: 2em;}
div#top.top01 a.sp_logo img {width: 100%;}


div#top.top01 nav#g-nav div#g-nav-list header#header {
    width: 85%;
    margin: 6vw auto;
}
div#top.top01 nav#g-nav div#g-nav-list header#header h1 {width: 55%;display: block;margin: 0 0 3vw 0;}

div#top.top01 nav#g-nav div#g-nav-list header#header h1 a img {width: 100%;}
div#top.top01 nav#g-nav div#g-nav-list header#header h1 img.pc{ display:none;}
div#top.top01 nav#g-nav div#g-nav-list header#header div.right {display: flex;flex-wrap: wrap;}

div#top.top01 nav#g-nav div#g-nav-list header#header div.right ul#menu.menu.gnavi {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    order: 3;
    justify-content: space-between;
    margin: 2em 0 0 0;
}
div#top.top01 nav#g-nav div#g-nav-list header#header div.right ul#menu.menu.gnavi li.menu_list {width: 49%;}
div#top.top01 nav#g-nav div#g-nav-list header#header div.right ul#menu.menu.gnavi li.child{
    width: 49%;
}	
div#top.top01 nav#g-nav div#g-nav-list header#header div.right ul#menu.menu.gnavi li.menu_list a {font-size: var(--fs-11);font-weight: 500;margin: 0.5em 0 0 0;}

div#top.top01 nav#g-nav div#g-nav-list header#header div.right ul#menu.menu.gnavi li.menu_list div.menu_contents ul li.content {}
div#top.top01 nav#g-nav div#g-nav-list header#header div.right ul#menu.menu.gnavi li.menu_list div.menu_contents ul li.content a {font-size: var(--fs-5);/* padding: 0.5em 0 0 0; */color: #a7a7a7;font-weight: 400;}

div#top.top01 nav#g-nav div#g-nav-list header#header div.right ul#menu.menu.gnavi li.menu_list div.menu_contents ul li.content a i {margin: 0 0.3em 0 0;}

div#top.top01 nav#g-nav div#g-nav-list header#header div.right div.tel {/* position: absolute; */top: 9em;text-align: center;right: 8em;order: 2;width: 100%;margin: 1em 0 0 0;}
div#top.top01 nav#g-nav div#g-nav-list header#header div.right div.tel a {color: #fff;font-size: var(--fs-18);font-weight: 500;}

div#top.top01 nav#g-nav div#g-nav-list header#header div.right div.tel p {color: #fff;font-size: 1.1em;}
div#top.top01 nav#g-nav div#g-nav-list header#header div.right a.contact {border: 3px solid #fff;border-radius: 50px;top: 4.5em;color: #272727;right: 7em;padding: 0.7em;font-weight: 700;order: 1;width: 100%;text-align: center;font-size: var(--fs-10);}



div#top.top01 nav#g-nav div#g-nav-list header#header div.right ul#menu.menu.gnavi li:nth-child(6){
	order:8;
	}





nav#g-nav div#g-nav-list div.link.sp ul {display: flex;justify-content: center;margin: 0.5em auto 0 auto;padding: 0 1.5em;}
nav#g-nav div#g-nav-list div.link.sp ul li {width: 46%;margin: 2%;}

nav#g-nav div#g-nav-list div.link.sp ul li a img {width: 90%;height: 3.5em;object-fit: cover;background: #fff;padding: 2% 5%;}



div#g-nav-list div.sns.sp {padding: 0 2em;}
div#g-nav-list div.sns.sp ul {display: flex;}
div#g-nav-list div.sns.sp ul li {margin: 0 1em 0 0;}







div.top01 h2 {position: absolute;color: #fff;font-size: 5.4vw;font-weight: 600;writing-mode: unset;text-shadow: 0 0 14px #000000;line-height: 1.5;top: 37vh;padding: 5vw;}
div.top01 h2 br{display:none;}


div.top02 {padding: 8vw 8%;background: url(../images/top02.webp) no-repeat 10em -4em;background-size: 84%;}
div.top02 h2 {font-size: calc(8vw + 0.5rem);font-weight: 700;color: #000;}
div.top02 p {font-size: calc(2.5vw + 0.5rem);line-height: 2em;margin: 1em 0 0 0;/* width: 60%; */font-weight: 500;}
div.top02 a {background: #0068b7;color: #fff;width: 90%;display: block;border-radius: 50px;padding: 1em 5%;font-size: 1.2em;margin: 1em 0;font-weight: 700;}

div.top02 a:hover{ background:#000; transition:0.5s;}
div.top03 {background: #e9e9e9;padding: 14vw 5%;}
div.top03 div.inner {
    margin: 0 0 2vw 0;
}
div.top03 div.inner div.title_wrap {display: flex;align-items: center;justify-content: space-between;}

div.title h2 {font-size: calc(1.5vw + 0.5rem);line-height: 0;}
div.title p.heebo {font-size: calc(10vw + 0.5rem);font-weight: 600;}
div.top03 div.inner div.title_wrap a {background: #000000;color: #fff;border-radius: 50px;text-align: center;padding: 0.8em 2em;display: block;font-size: calc(1vw + 0.5rem);}
div.top03 dl.news {display: flex;flex-wrap: wrap;align-items: stretch;padding: 0;background: none;gap: 0;width: 100%;margin: 0;max-width: unset;}
div.top03 dl.news dt {color: #141414;width: fit-content;padding: 1em 2% 0 2%;}
div.top03 dl.news dd {width: 88%;display: flex;}
div.top03 dl.news dd.category {color: #0e8acb;font-weight: 600;width: fit-content;padding: 1em 0 0 0.5em;}
div.top03 dl.news dd.news_title {font-weight: 600;color: #000;width: 96%;padding: 0.5em 2% 1em 2%;border-bottom: 1px solid #a3a3a3;}
div.top03 a{ display:block;}
div.top03 a:hover{background: #d2d5d9;}
div.top03 div.inner div.title_wrap a:hover{background: #F44336;transition:0.5s;}
div.top03 div.news_link a:last-child dt{/* border-bottom: 1px solid #000; */}
div.top03 div.news_link a:last-child dd{/* border-bottom: 1px solid #a5a5a5; */}

div.top04 {width: 85%;margin: 0 auto;padding: 16vw 0 8vw 0;}

div.top04 h3 {font-size: calc(4vw + 0.5rem);margin: 0 0 1em 0;font-weight: 600;}
div.top04 img {border: 1vw #dbdbdb solid;box-sizing: border-box;width: 100%;}
div.top04 a {background: #0068b7;color: #fff;border-radius: 50px;padding: 0.5em 5%;font-size: calc(2vw + 0.5rem);font-weight: 400;margin: 1em 0;width: 57%;display: block;text-align: center;}
div.top04 a:hover{ background:#000;}

div.top05 dl {
    display: flex;
    flex-wrap: wrap;
}
div.top05 dl dt {width: 85%;margin: 0 auto;order: 2;}

div.top05 dl dt p.content {font-size: calc(2.6vw + 0.5rem);line-height: 2;margin: 0 0 1.5em 0;}

div.top05 dl dt div.link a {display: flex;align-items: center;justify-content: space-between;color: #000;font-weight: 600;border-bottom: 1px solid #000;padding: 1.5em 0;}
div.top05 dl dt div.link a p {font-size: calc(3vw + 0.5rem);}
div.top05 dl dt div.link a i.fa-solid.fa-angle-right {font-size: calc(1vw + 0.5rem);color: gray;margin: 0 0.5em 0 0;}
div.top05 dl dd {width: 100%;margin: 7vw auto;order: 1;}
div.top05 dl dd img {width: 100%;height: 100%;object-fit: cover;}
div.top05 dl dt div.link a:first-child{ border-top:#000 solid 1px;}
div.top05 dl dt div.link a:hover{background: #ededed;}
footer {width: 90%;margin: 0 auto 2em auto;}
footer div.footer01 {
    display: flex;
    flex-wrap: wrap;
    margin: 3em 0 0 0;
}
footer div.footer01 div.info {width: 100%;text-align: center;}
footer div.footer01 div.info img {
    width: 21%;
}

footer div.footer01 div.info p {font-size: calc(1.5vw + 0.5rem);}
footer div.footer01 div.info p b {font-size: calc(3vw + 0.5rem);margin: 0.3em 0;display: block;}
footer div.footer01 div.info ul {

display: flex;

justify-content: center;

margin: 1em 0;
}
footer div.footer01 div.info ul li {
    margin: 0 0.5em;
}
footer div.footer01 div.info ul li a {font-size: calc(2.5vw + 0.5rem);color: #0a305d;}

footer div.footer01 div.link {width: 34%;padding: 0 0 0 2%;display: none;}

footer div.footer01 div.link a img {transition:0.5s;width: 100%;height: 9em;object-fit: cover;border: 0.5vw #d8d8d8 solid;box-sizing: border-box;}
footer div.footer01 div.link a img:hover{ opacity:0.8; transition:0.5s;}
footer div.footer01 div.link a p {color: #000;font-size: calc(0.5vw + 0.5rem);}
footer div.footer01 div.link a p b {font-size: calc(0.8vw + 0.5rem);color: #000;margin: 0.2em 0;display: block;}
footer div.footer02 {display: flex;justify-content: space-between;margin: 5em 0 0 0;display: none;}
footer div.footer02 div.menu {display: flex;}

footer div.footer02 div.menu ul li.bold a {font-weight: 600;font-size: calc(0.5vw + 0.5rem);}
footer div.footer02 div.menu ul li {margin: 1vw 3vw 1vw 0;}
footer div.footer02 div.menu ul li a {color: #000;}
footer div.footer02 div.link {width: 35%;}
footer div.footer02 div.link ul {display: flex;justify-content: flex-end;}
footer div.footer02 div.link ul li {width: 50%;margin: 0 0 0 1em;}
footer div.footer02 div.link ul li a {padding: 0.3vw 2.5vw;display: block;border: 2px solid #d3d3d3;}
footer div.footer02 div.link ul li a img {width: 100%;height: 4vw;object-fit: cover;}
footer p.c_r {font-weight: 100;text-align: center;}



div#top.top01.second {background: #edf4f7;padding: 10vw 0;width: auto;position: relative;height: 39vw;max-height: 156px;}
div.h2 {display: flex;align-items: center;justify-content: flex-start;margin: 6em 0 0 0;}
div.h2 h2 {position: relative;color: #000;text-shadow: none;bottom: 0;font-size: calc(5vw + 0.5rem);display: block;left: auto;margin: 0 1% 0 10%;writing-mode: unset;height: auto;line-height: normal;-webkit-transform: unset;top: unset;padding: 0;}
div.h2 p {color: gray;margin: 0 0 0 0.5em;}
div.h2 img {width: 40%;position: absolute;top: 5em;right: -1em;display: none;}




div#area.sdgs div.sdgs01 {
    margin: 3em auto 0 auto;
}
div#area.sdgs div.sdgs01 dl {display: flex;flex-wrap: wrap;margin: 0 0 0 0;}
div#area.sdgs div.sdgs01 dl dt {order: 2;width: 100%;padding: 1em 0 0 0;}

div#area.sdgs div.sdgs01 dl dt h4 {font-size: calc(5vw + 0.5rem);}

div#area.sdgs div.sdgs01 dl dd {width: 100%;order: 1;}

div#area.sdgs div.sdgs02 {margin: 3em auto;position: relative;}
div#area.sdgs div.sdgs02 dl {display: block;}
div#area.sdgs div.sdgs02 dl dt {width: 85%;margin: 0 auto;}
div#area.sdgs div.sdgs02 dl dt img {height: 60vw;border-radius: 10px;}
div#area.sdgs div.sdgs02 dl dd {width: 85%;padding: 0;margin: 0 auto;}
div#area.sdgs div.sdgs02 dl dd figure.heebo {position: absolute;top: -0.8em;font-size: calc(6vw + 0.9rem);left: 1em;}

div#area.sdgs div.sdgs02 dl dd ul.icon {width: 100%;}
div#area.sdgs div.sdgs02 dl dd ul.icon li {width: 24%;}

div#area.sdgs div.sdgs02.reverse dl dt img {border-radius: 10px;}

div.area.company {width: 100%;margin: 2em auto;max-width: unset;}
div.area.company div.company01 {margin: 2em auto;}
div.area.company div.company01 h3 {font-size: 2rem;}
div.area.company div.company01 h4 {font-size: 3rem;margin: 1rem 0 0 0;}
div.area.company div.company01 h5 {font-size: 1.5rem;line-height: 1.8;}

div.area.company  table tbody tr th {border: none;background: #d1dce7;}
div.area.company  table tbody tr th,div.area.company  table tbody tr td{
    padding: 4% 3%;
    width: 96%;
    display: block;
}	
div.area.company  table tbody tr td {border: none;}
div.area.company div.company02 ul {flex-direction: column;}
div.area.company div.company02 ul li {width: auto;margin: 0 0 1em 0;}
div.area.company div.company02 ul li img {border-radius: 10px;}

div.area.company div.company03 {margin: 0 auto;width: 85%;}

div.area.company div.company04 h3 {font-size: 1.5rem;text-align: center;}

div.area.company div.company04 ul {gap: unset;flex-wrap: wrap;justify-content: space-between;}
div.area.company div.company04 ul li {width: 32%;}

div.area.strength div.inner {
    width: 85%;
    margin: 2em auto;
}
div.area.strength div.inner div.strength01 {margin: 2em 0;}
div.area.strength div.inner div.strength01 dl {flex-direction: column;gap: 1em;}

div.area.strength div.inner div.strength01 dl dt img {border-radius: 10px;}

div.area.strength div.inner div.strength01 dl dd h4 {line-height: 0.4;padding: 0.2em 0 0.8em 0.5em;font-size: var(--fs-18);}
div.area.strength div.inner div.strength01 dl dd h4 span {line-height: 1.5;display: block;font-size: var(--fs-10);}

div.area.strength div.inner div.strength01.strength02 dl dt {order: 1;}

div.area.strength div.inner div.strength01.strength02 dl dd {order: 2;}


div.area.field {
    padding: 1em 0;
    background-size: 40%;
}
div.area.field div.field01 {width: 85%;margin: 3em auto;}
div.area.field div.field01 h3 {font-size: 1.5rem;white-space: nowrap;padding: 0.2rem 4rem 1rem 4rem;}
div.area.field div.field01 img {height: 66vw;}
div.area.field div.field01 h4 {font-size: 2rem;}
div.area.field div.field01 p {text-align: left;line-height: 1.8;font-size: var(--fs-8);}


div.area.business div.business01 {width: 85%;}
div.area.business div.business01 img {height: 11rem;border-radius: 5px;}
div.area.business div.business01 h3.mnc {position: relative;color: #292929;top: 0;left: 0;font-size: 2rem;line-height: 1.2;margin: 1em 0;}
div.area.business div.business01 h3.mnc span {font-size: 1.3rem;}

div.area.business div.business02 {width: 85%;}
div.area.business div.business02 ul {flex-direction: column;}
div.area.business div.business02 ul li {width: auto;margin: 0 0 2rem 0;}
div.area.business div.business02 ul li img {height: 12rem;}

div.area.business div.business03 {margin: 2em 0;width: 85%;margin: 0 auto;}
div.area.business div.business03 div.wrap {display: block;max-width: unset;}
div.area.business div.business03 div.wrap div.sub {display: none;}

div.area.business div.business03 div.wrap div.main div.business_inner dl dt div.slider-for div img {height: 15rem;}
div.area.business div.business03 div.wrap div.main div.business_inner dl dd div.h3 {
    flex-wrap: wrap;
    margin: 0 0 1rem 0;
}
div.area.business div.business03 div.wrap div.main div.business_inner dl dd div.h3 span.montserrat {display: block;font-size: 4rem;width: 100%;}
div.area.business div.business03 div.wrap div.main div.business_inner dl dd div.h3 h3 {margin: 0 1em 0 0;font-size: 1.5rem;}
div.area.business div.business03 div.wrap div.main div.business_inner dl dd div.h3 p.montserrat {
    padding: 0 0 0 1em;
    font-size: var(--fs-3);
}




/*============================
#area
============================*/
section#area.policy {
}
section#area.policy h3.h3 {
}
section#area.policy div.privacy01 {
}
section#area.policy div.privacy01 p {
}
section#area.policy div.privacy01 div.privacy02 {
}
section#area.policy div.privacy01 div.privacy02 h4 {
}
section#area.policy div.privacy01 div.privacy02 p {
}
section#area.policy div.privacy01 div.privacy02 ul {
}
section#area.policy div.privacy01 div.privacy02 ul li {
}
section#area.policy div.privacy01 div.privacy02 a {
}
section#area.policy div.privacy01 div.privacy02 a i.fa-solid.fa-link {
}

/*============================
#area
============================*/
section#area.sitemap {
}
section#area.sitemap div.menu {flex-direction: column;}
section#area.sitemap div.menu ul {width: 100%;}
section#area.sitemap div.menu ul li.bold {}
section#area.sitemap div.menu ul li.bold a {}
section#area.sitemap div.menu ul li.bold a i.fa-solid.fa-caret-right {
}
section#area.sitemap div.menu ul li {
}
section#area.sitemap div.menu ul li a {
}
section#area.sitemap div.menu ul li a i.fa-solid.fa-angle-right {
}
  .contact { padding: 36px 14px; }
  .contact .form-grid { grid-template-columns: 1fr; }
  .contact .btn-submit { width: 100%; }

  /*============================
#area
============================*/
section#area.news {display: block;padding: 2em 0;width: 90%;}
section#area.news div.main {
    padding: 0;
    width: 100%;
}
section#area.news div.main ul {
}
section#area.news div.main ul li {
}
section#area.news div.main ul li a {
}
section#area.news div.main ul li a img {
}
section#area.news div.main ul li a span.date {
}
section#area.news div.main ul li a h3 {
}
section#area.news div.sub {margin: 3rem 0 0 0;}
section#area.news div.sub div.sub_content.sub_search {
}
section#area.news div.sub div.sub_content.sub_search h4 {
}
section#area.news div.sub div.sub_content.sub_latest {
}
section#area.news div.sub div.sub_content.sub_latest h4 {
}
section#area.news div.sub div.sub_content.sub_latest ul {
}
section#area.news div.sub div.sub_content.sub_latest ul li {
}
section#area.news div.sub div.sub_content.sub_latest ul li a {
}
section#area.news div.sub div.sub_content.sub_latest ul li a span.date {
}
section#area.news div.sub div.sub_content.sub_latest ul li a h5 {
}
section#area.news div.sub div.sub_content.sub_tag {
}
section#area.news div.sub div.sub_content.sub_tag h4 {
}
section#area.news div.sub div.sub_content.sub_tag ul {
}
section#area.news div.sub div.sub_content.sub_tag ul li {
}
section#area.news div.sub div.sub_content.sub_tag ul li a {
}

  .navigation.pagination .page-numbers {
    width: 36px;
    height: 36px;
    font-size: 0.85rem;
    flex-shrink: 0; 
  }

    .news .news_detail { padding: 1.5rem .9rem; }
  .news .news_detail .article__nav { grid-template-columns: 1fr; }
  .news .news_detail .nav__prev,
  .news .news_detail .nav__list,
  .news .news_detail .nav__next {
    justify-self: stretch; text-align: center;}


    
section#area.equipment {padding: 1em 5%;}
section#area.equipment h3 {width: 100%;}
section#area.equipment p.date {width: 100%;}
section#area.equipment table.equ01 {
}
section#area.equipment table.equ01 thead {
}
section#area.equipment table.equ01 thead tr {
}
section#area.equipment table.equ01 thead tr th {
}
section#area.equipment table.equ01 tbody {
}
section#area.equipment table.equ01 tbody tr {
}
section#area.equipment table.equ01 tbody tr td {
}
.scroll-hint-icon{top: 5em !important;}

section#area.access {
}
section#area.access div.office {margin: 2em auto 4em auto;width: 85%;}
section#area.access div.office div.h3 {margin: 0 0 1em 0;}
section#area.access div.office div.h3 h3 {
}
section#area.access div.office div.h3 p {
}
section#area.access div.office dl {flex-direction: column-reverse;}
section#area.access div.office dl dt {width: auto;}
section#area.access div.office dl dt div.h4 {
}
section#area.access div.office dl dt div.h4 h4 {
}
section#area.access div.office dl dt div.h4 ul {
}
section#area.access div.office dl dt div.h4 ul li {
}
section#area.access div.office dl dd {width: auto;}
section#area.access div.office dl dd img {
}
section#area.access div.office iframe {height: 200px;}

section#area.flow {
}
section#area.flow div {width: 85%;margin: 0rem auto;}
section#area.flow div dl {flex-direction: column;margin: 2em 0;}
section#area.flow div dl dt {width: 100%;}
section#area.flow div dl dt span.montserrat {width: 50px;padding: 1em 1.5em;}
section#area.flow div dl dt h3 {font-size: var(--fs-12);}
section#area.flow div dl dd {width: auto;}
section#area.flow div dl dd p {font-size: var(--fs-7);}
section#area.flow div dl dd p a {}
section#area.flow div dl dd p a.button {
}
	section#area.equipment ul{
    width: 100%;
}
	.news .main img{
		width:100% !important;
	}
	.wp-block-image figure{
    margin: 0 !important;
    float: unset !important;
}


div.ann60 {
}
div.ann60 dl {display: block;}
div.ann60 dl dt {display: flex;justify-content: start;text-align: left;}
div.ann60 dl dt img {display: block;margin: 0 auto  0 0;}
div.ann60 dl dd {
}
div.ann60 dl dd p.mnc {white-space: unset;margin: 1em 0 0 0;line-height: 1.3;font-size: 1.2em;}



}