/*=========================
　　　　基本設定
===========================*/

body{
    font-family: 'Noto Sans JP', sans-serif;
	margin:0;
	padding:0;
    min-height: 100vh;
    position: relative;
	-webkit-overflow-scrolling: touch;
    -webkit-text-size-adjust: 100%;
}
.scroll-prevent{
    overflow: hidden;
    width: 100%;
}
a,a:hover{
	text-decoration:none;
	border:0;
}
h1,h2,h3,h4,h5,h6,p{
	padding:0;
	margin:0;
}
ul,li{
	list-style:none;
	padding:0;
	margin:0;
}
img{
    width: 100%;
    /* PCの右クリック禁止 */
    pointer-events: none;
    /* SPの長押し禁止 */
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
    user-select:none;
}
.clear{clear:both;}
.contents{
    max-width:1070px;
	margin: 0 auto;
	clear: both;
}
.sp{display: none!important;}
/* =============== header ============== */
header{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}
header#not_front {
    background: #ffffff;
}
#header__contentswrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    padding: 25px 40px 20px;
    z-index: 100;
}
header.gnavopen #header__contentswrap{
    background: #ffffff;
}
header#not_front #header__contentswrap {
    padding-bottom: 10px;
}
#header__contentswrap h1.logo{
    width: 300px;
}
#header__contentswrap h1.logo.top img:nth-of-type(1){display: block!important;}
#header__contentswrap h1.logo.top img:nth-of-type(2){display: none!important;}
header.gnavopen #header__contentswrap h1.logo.top img:nth-of-type(1){display:none!important;}
header.gnavopen #header__contentswrap h1.logo.top img:nth-of-type(2){display:block!important;}
ul#headermenu{
    display: flex;
    align-items: center;
    position: relative;
}
ul#headermenu::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    height: 1px;
    background: #ffffff;
}
ul#headermenu li{
    margin: 0 20px;
}
ul#headermenu li a{
    font-weight: 500;
    color: #ffffff;
    padding: 10px 10px 23px 10px;
    position: relative;
    transition: all .3s;
}
ul#headermenu.front li a {
    padding: 10px 10px 19px 10px;
}
#headermenu.front.menu li.has-child ul {
    top: 181%;
}
header#not_front ul#headermenu li a,
#header__contentswrap.fix_header ul#headermenu li a{
    color: #000000;
}
ul#headermenu li a:hover::before,
ul#headermenu li a.current::before{
    content: "";
    width: 100%;
    height: 2px;
    background: #ff0000;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 5;
}
#headermenu.menu li.has-child{
    position: relative;
    z-index: 3;
}
#headermenu.menu li.has-child ul{
	position: absolute;
	left:10px;
	top:193%;
	z-index:1;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
    background: rgba(0,0,0,0.73);
}
#headermenu.menu li.has-child ul.child li:not(:last-of-type){
    border-bottom: 1px solid rgba(255,255,255,0.44);
}
#headermenu.menu li.has-child ul.child li a{
    padding:15px 8px;
    display: block;
    width:175px;
    position: relative;
    color: #ffffff!important;
}
#headermenu.menu li.has-child ul.child li a.la {
    padding: 15px 8px;
    width: 61px;
    text-align: center;
}
#headermenu.menu li.has-child ul.child li a:hover{color: #ff0000!important;}
#headermenu.menu li.has-child ul.child li a:hover::before{content: none;}
#headermenu.menu li.has-child ul.child li a::after{
    content: "";
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #ffffff;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
#headermenu.menu li.has-child ul.child li a.la::after {
    content:none;
}
/*hoverしたら表示*/
#headermenu.menu li.has-child:hover > ul,
#headermenu.menu li.has-child ul li:hover > ul,
#headermenu.menu li.has-child:active > ul,
#headermenu.menu li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}
/* ------ fix_header -------- */
#header__contentswrap.fix_header {
    position: fixed!important;
    top: -100px;
    opacity: 0;
    left: 0;
	width: 100%;
    box-sizing: border-box;
    padding:13px 50px;
	margin: 0 auto;
	z-index: 1000;
    display: flex;
    align-items: center;
    justify-content:space-between;
    background: #ffffff;
}
#header__contentswrap.fix_header{
    padding:15px 40px 20px;
    background: #ffffff;
}
/* ========== scroll_header ========= */
/*　上に上がる動き　*/
.scroll_header.UpMove{
	animation: UpAnime 0.2s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}
/*　下に下がる動き　*/
.scroll_header.DownMove{
	animation: DownAnime 0.3s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}
/*=====================================
       ハンバーガー
===================================*/
.hamb_menu_box{
    display: none!important;
}
@media(max-width:1120px){
    .hamb_menu_box{
        display:block!important;
    }
    ul#headermenu{display: none;}
}
/*ボタン外側*/
.openbtn{
    position: relative;
    cursor: pointer;
    width: 36px;
    height:36px;
}
/*ボタン内側*/
.openbtn span{
  display: inline-block;
  transition: all .3s;
  position: absolute;
  height: 2px;
  border-radius: 5px;
  background: #003d7f;
  width:100%;
}
.openbtn.front span{background: #ffffff;}
.scrollmenu .openbtn span{background: #1d2b3b;}
.openbtn span:nth-of-type(1) {top:7px; }
.openbtn span:nth-of-type(2) {top:20px;}

.openbtn.active span:nth-of-type(1) {
    top: 4px;
    transform: translateY(6px) rotate(-45deg);
    background: #1d2b3b;
}
.openbtn.active span:nth-of-type(2){
    top: 16px;
    transform: translateY(-6px) rotate(45deg);
    background: #1d2b3b;
}
.openbtn.pages span{background: #1d2b3b;}
/* gnav */
#gnav{
    display:none;
    background:#ffffff;
    overflow: scroll;
    height: 100%;
    position:fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index:50;
    padding: 135px 18px 100px;
    box-sizing: border-box;
}
ul.gnav-menu {
    max-width: 95%;
    margin: 0 auto;
}
.gnav-menu li{
    border-top: 1px solid #cccccc;
    padding: 20px 0;
}
.gnav-menu li a,.gnav-submenu li a{
    color: #1d2b3b;
    display: block;
    width: 100%;
    font-weight: 500;
}
.gnav-submenu li{
    padding: 3px 0;
}
.gnav-submenu li a{
    font-size: 13px;
}
.gnav-menu li:nth-of-type(5){
    border-bottom: 1px solid #cccccc;
}
.childmenubox{display: none;}
.childmenubox li{
    border: none!important;
    width: 95%;
    margin: 0 auto;
    padding: 10px 0;
}
.childmenubox li:first-of-type{
    padding-top: 30px;
}
.childmenubox li a{
    font-size: 15px;
}
.haschild_hambmenu{
    position: relative;
}
.gnav_contact{
    margin: 50px auto;
}
.gnav_contactblk {
    width: 530px;
    margin: 0 auto;
}
.gnav_contactblk .item{
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    margin: 15px auto 25px;
}
.gnav_contactblk div a,
.gnav_contactblk div.fax{
    display: flex;
    align-items: center;
    background: #ebf0f5;
    padding: 20px 30px;
    justify-content: center;
}
.gnav_contactblk div a span,
.gnav_contactblk div span{
    width:35px;
    margin-right:10px;
}
.gnav_contactblk div.tel a p,
.gnav_contactblk div.fax p{
    width: 250px;
}
.gnav_contactblk div.mail p{
    width: 275px;
}
.mail-inner{
    background: #ebf0f5;
    display: flex;
    justify-content: center;
    padding: 20px 30px;
    align-items: center;
}
.gnav_contactblk div.mail .mail-inner p.icon{
    width: 35px;
    margin-right: 12px;
}
.gnav_contactblk div.mail .mail-inner a{
    display: block;
    color: #000000;
    padding: 3px 0px;
}
.gnav_contactblk div.mail p.mail-ch{
    font-size: 14px;
    font-weight: bold;
    padding-bottom: 3px;
}
/* ＋　－ */
.acc{
    position:absolute;
    right: 4px;
    top: 50%;
    transform: translate(0,-50%);
    display: block;
    width: 16px;
    height: 16px;
}
.accordion_i_box{
    position: absolute;
    cursor: pointer;
    top: 30%;
    right: 7%;
    transform: translate(-7%,-30%);
}
.acc:before,.acc:after {
	display: flex;
	content: '';
	background-color: #1c5e8c;
	width: 16px;
	height: 2px;
	position: absolute;
	top: 8px;
	left: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: center center;
    transition-duration: .3s;
    transition: all.3s;
}
.acc:before {
	width: 2px;
	height:16px;
	top: 1px;
	left:7.1px;
    transition-duration: .3s;
}
.acc.active:before {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
ul.gnavlanguage-menu{
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
ul.gnavlanguage-menu li:not(:last-of-type){
    border-right: 1px solid #666666;
}
ul.gnavlanguage-menu li a{
    color: #1d2b3b;
    padding: 3px 12px;
}
/* =============== footer ============== */
footer{
    width: 100%;
}
.footer_contents{
    text-align: center;
    padding:140px 0 80px;
    font-size: 14px;
    line-height: 1.85em;
}
.f-logo{
    margin: 0 auto 13px;
    width: 300px;
}
.copyright{
    background: #003d7f;
    text-align: center;
    color: #ffffff;
    font-size: 11px;
    font-weight: 300;
    padding: 10px 0 12px;
}
/* ----- pagetop ----- */
#page_top {
    position: fixed;
    bottom: 3%;
    right: 2%;
    z-index:99;
    width: 55px;
    height: 55px;
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
    background: #cccccc;
    border-radius: 500px;
}
#page_top::after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 500px;
    background:#1c5e8c;
    opacity: 0;
    top: 0;
    left: 0;
    transition: all .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 0);
    -webkit-transform: scale(0, 0);
	transform-origin:center;
}
#page_top:hover::after{
    content: "";
    opacity: 1;
    transform: scale(1, 1);
    z-index: 3;
}
#page_top a{
    color: #ffffff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
#page_top a:nth-child(1){z-index: 5;}
.f-annilogo2{
    display: none!important;
}
/* ==============================
               page 
=============================== */
/* == btn == */
.btn a{
    display: block;
    width: 335px;
    border-radius: 100px;
    color: #ffffff;
    background: rgba(0, 61, 127, 0.68);
    padding: 15px 40px;
    position: relative;
    box-sizing: border-box;
    transition: all .3s;
}
.btn.pdf{margin-top:20px;}
.btn.pdf a{
    background: rgba(0, 61, 127, 1);
}
.btn.pdf a:hover{
    background: rgba(0, 61, 127, 0.7);
}
.btn a:hover{
    background: rgba(0, 61, 127, 0.98);
}
.btn.white a{
    background: rgba(255,255,255,0.09);
}
.btn.white a:hover{
    background: rgba(255,255,255,0.18);
}
span.btn-arrow{
    display:inline-block;
    width: 23px;
    position: absolute;
    top: 50%;
    right:40px;
    transform:translateY(-50%);
}
span.btn-pdf{
    display:inline-block;
    width: 35px;
    position: absolute;
    top: 54%;
    right:30px;
    transform:translateY(-50%);
}
span.btn-arrow img,
span.btn-pdf img{
    width: 100%;
}
/* =============== top ================ */
#MV{
    width: 100%;
    height:100vh;
    position:relative;
}
#MV video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
.mv-overlay{
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
    opacity: 0.3;
}
.catch{
    color: #ffffff;
    text-shadow: 3px 2px 13px #000000;
    position: absolute;
    bottom: 20%;
    left:10%;
    z-index: 3;
}
.catch .MV-catch{
    font-size: 45px;
    font-weight: bold;
    letter-spacing: 0.016em;
}
.catch .MV-subcatch{
    margin-top: 10px;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.103em;
}
h2.top_item {
    font-size: 38px;
    font-weight: 500;
    color: #003d7f;
    position:relative;
}
h2.top_item.white{
    color: #ffffff;
}
/* top_about */
h2.top_item.topabout::after {
    content: url(img/aboutus.svg);
    position: absolute;
    bottom: -19px;
    left: 40px;
    z-index: -1;
    opacity: 0.09;
}
.top_about {
    padding: 150px 0 90px;
    background: url(img/top_about-bg.png) center repeat;
    position: relative;
    overflow: hidden;
}
.top_about::after{
    content: "";
    width: 100%;
    display: block;
    position: absolute;
    bottom: -32%;
    left: 50%;
    transform: translateX(-50%);
    background: url(img/top_about-bottom.png) center center/cover no-repeat;
    padding-top: 33%;
    z-index: 2;
}
.top_about .contents{
    position: relative;
    z-index: 10;
}
.top_about-toptext {
    margin: 70px auto 60px;
    line-height: 1.85;
}
.top_about_flex {
    display: flex;
    justify-content: space-between;
}
.top_about_flexblk{
    overflow: hidden;
}
.top_about_flexblk a{
    display:block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.top_about_flexblk a::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.63);
    top: 0;
    left: 0;
    transition: all .3s cubic-bezier(0.23, 1, 0.320, 1);
    z-index: 3;
}
.top_about_flexblk a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all .3s cubic-bezier(0.23, 1, 0.320, 1);
    vertical-align: bottom;
}
.top_about_flexblk a p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 23px;
    width: 100%;
    color: #ffffff;
    z-index: 10;
    text-align: center;
}
.top_about_flexblk a:hover::before{
    background: rgba(0,0,0,0.40);
}
.top_about_flexblk a:hover img{
    transform: scale(1.1);
}
/* top_product */
.top_product{
    background: url(img/top_product-bg.png) center repeat;
    color: #ffffff;
    padding: 130px 0 70px;
    overflow: hidden;
}
h2.top_item.topproducts::after{
    content:"";
    width: 300px;
    height: 95px;
    background: url(img/products.svg) center no-repeat;
    background-size: contain;
    position: absolute;
    left: 38px;
    bottom: 23px;
    opacity:0.09;
}
.top_products-toptext {
    line-height: 1.85;
    max-width: 642px;
    margin: 60px 0 0 auto;
}
.top_product .btn a{
    margin: 70px 70px 0 auto;
}
/* add */
.top-product-category.topcatlist {
    margin: 80px auto 100px;
}
#essence.top-product-category{padding-top: 50px;}
.top-product-category.cr,
.top-product-category.fra{
    padding-top: 100px;
}
.topcat-item {
    text-align: center;
    margin-top: 50px;
    padding-bottom: 18px;
    margin-bottom: 45px;
    position: relative;
}
.topcat-item::after{
    content: "";
    width: 150px;
    height: 1px;
    background: #000000;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}
.topcat-item p{
    font-size: 25px;
    font-weight: 500;
}
.top-product-catwrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 30px auto 50px;
}
.top-product-catwrap.productpage{
    justify-content: center;
}
.cat-productblk {
    width: 32%;
}
.cat-productblk:nth-of-type(n+4){
    margin-top: 40px;
}
.cat-productblk a .img-wrap{overflow: hidden;}
.cat-productblk a .img-wrap img{
    vertical-align: middle;
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.cat-productblk a:hover  .img-wrap img{
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
.cat-productblk a{
    color: #000000;
}
.cat-productblk.topcat a,
.top_product-swiper-slide.topcat a{
    position:relative;
    display: block;
    width: 100%;
    height: 100%;
    background: #888888;
    color: #ffffff;
}
.cat-productblk.topcat a .img-wrap img,
.top_product-swiper-slide.topcat a .img-wrap img{
    opacity: 0.83;
    transition: all 0.4s ease;
}
.cat-productblk.topcat a:hover .img-wrap img,
.top_product-swiper-slide.topcat a .img-wrap img{
    opacity: 1;
}
.cat-productblk.topcat a .slide__products-catname,
.top_product-swiper-slide.topcat a .slide__products-catname{
    position: absolute;
    left: 20px;
    bottom: 20px;
    text-shadow: #333333 0 0 5px;
}
.cat-productblk.topcat a .slide__products-catname p,
.top_product-swiper-slide.topcat a .slide__products-catname p{
    font-size: 25px;
    font-weight: 500;
}
.cat-productblk.topcat a .slide__products-catname small,
.top_product-swiper-slide.topcat a .slide__products-catname small{
    font-size: 16px;
}
/* swiper */
.top_product-swiper-outer{
    margin: 0 auto 50px;
    max-width: 1200px;
    display: none!important;
}
.swiper{
    max-width:1400px;
    margin: 45px auto 0px;
    cursor: pointer;
}
.swiper-slide,.swiper-wrapper{
    height: auto;
}
.swiper-slide a .img-wrap{overflow: hidden;}
.swiper-slide a .img-wrap img{
    vertical-align: middle;
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.swiper-slide a{
    color: #ffffff;
    position: relative;
    display: block;
    transition: all .3s;
}
.swiper-slide a:hover  .img-wrap img{
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
.swiper-slide {
    transition: transform 0.6s;
    transform: scale(0.85)!important;
}
.swiper-slide-active {
  transform: scale(1)!important;
}
.swiper-slide img{
    width: 100%;
    height: 100%;
}
.swiper-pagination {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: #dedfdd;
    margin-top: 40px;
}
.swiper-pagination-progressbar-fill {
    position: absolute;
    top: -2px;
    left: 0;
    width: 100%;
    height: 5px;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    background-color: #165295;
}
.slide__products-name {
    color: #000000;
    text-align: center;
}
/* top_company */
.top_company{
    position: relative;
    height: 45vh;
    background: url(img/top_company-bg.jpg) no-repeat;
    background-size: cover;
    background-position: bottom 10% center;
}
.top_company-inner{
    position: absolute;
    top: 53%;
    left: 47%;
    transform: translate(-50%,-50%);
}
h2.top_item.topcompany{
    max-width: 392px;
    margin-bottom: 145px;
}
h2.top_item.topcompany::after{
    content:"";
    width: 363px;
    height:154px;
    background: url(img/company.svg) center no-repeat;
    background-size: contain;
    position: absolute;
    left: 38px;
    bottom:-38px;
    opacity:0.22;
}
/* page header */
.page_header{
    width: 100%;
    height: 268px;
    position: relative;
}
.page_header img{
    width: 100%;
    height:100%;
    object-fit:cover;
    object-position: center;
}
h2.page_title{
    color: #ffffff;
    font-size: 38px;
    font-weight: bold;
    width: 80%;
    position: absolute;
    left: 50%;
    bottom: 20%;
    transform: translateX(-50%);
    box-sizing: border-box;
    padding-left: 35px;
}
h2.page_title::before{
    content: "";
    width: 6px;
    height:135%;
    background: #ffffff;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
/* pan */
.pan{
    width: 80%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    font-size: 11px;
    color: #666666;
    padding: 20px 0;
}
.pan a{color: #666666;}
.pan span{margin: 0 10px;}
/* blur */
.blur{
	animation-name:blurAnime;
	animation-duration:0.95s;
	animation-fill-mode:forwards;
}
@keyframes blurAnime{
  from {
	filter: blur(10px);
	transform: scale(1.01);
	opacity: 0;
  }
  to {
	filter: blur(0);
	transform: scale(1);
	opacity: 1;
  }
}
.blurTrigger{
    opacity: 0;
}
/* ------- SDGs ----------- */
.sdgs_toplogo {
    display: flex;
    justify-content: center;
    align-items:flex-end;
    margin:80px auto;
}
.sdgs_toplogo .clogo{
    margin-right: 40px;
}
.sdgs_top{
    background: rgba(0, 61, 127, 0.03);
    padding: 80px 0;
}
.sdgs_catch {
    font-size: 38px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 50px!important;
}
.sdgs_top p,
.sdgs_top .goals_list,
.sdgscontents{
    max-width: 1120px;
    margin: 0 auto;
}
.sdgs_top p{
    line-height: 1.85;
    margin-bottom: 80px;
}
ul.goals_list {
    display: flex;
    flex-wrap: wrap;
}
ul.goals_list li{
    width: 175px;
    height: 175px;
    margin: 5px;
}
ul.goals_list li img{
    width: 100%;
}
.pagemain_item {
    font-size: 30px;
    color: #003d7f;
    padding: 10px 0px;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #003d7f;
    border-bottom: 1px solid #003d7f;
    background: #ffffff;
}
.pagemain_item p{
    max-width:1150px;
    margin: 0 auto;
}
.pagemain_item p span {
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
    padding-bottom: 7px;
    margin: 0px;
    line-height: 1;
}
.sdgseffort_flexblk{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 50px 0;
}
.sdgseffort_flexblk div.text{
    width: 47%;
    line-height: 1.85;
}
.sdgseffort_paletflex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 90px!important;
}
.sdgseffort_palet {
    width: 49%;
    background: rgba(235, 240, 245, 0.74);
    box-sizing: border-box;
    padding: 15px 25px 25px;
    line-height:1.85;
}
.sdgseffort_palet:nth-of-type(n+3){
    margin-top: 35px;
}
ul.paleticon_list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
}
ul.paleticon_list.sl{
    margin-top: 35px;
}
ul.paleticon_list li{
    width: 100px;
    height: 100px;
    margin: 7px;
}
ul.paleticon_list li img{width:100%;}
/* ---------------- company ---------------- */
.company_top-logo {
    display: flex;
    align-items: center;
    justify-content:space-between;
    max-width: 640px;
    margin: 80px auto 0px;
}
.company_top-logo p.logo-icom {
    width: 67px;
}
.company_top-logo p.group-logo {
    width: 552px;
}
.company_top-logo p img{
    width: 100%;
}
.company_top-textblk.contents {
    padding: 60px 0px;
    background: url(img/companyinfo_bg.png) center no-repeat;
    background-size: auto;
    margin: 80px auto 120px;
    line-height: 1.85;
}
.company_blk {
    display: flex;
    justify-content:space-between;
    margin-bottom: 60px;
}
.company-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    margin-left: 30px;
}
.company-img {
    width: 43%;
}
.company-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.company-text {
    width: 54%;
}
.company-item .flag {
    width: 73px;
    margin-right: 20px;
}
.company-item .item{
    height: 23px;
}
.company-item .item img{
    width: auto;
    height: 100%;
}
.company-info{
    background: rgba(235, 240, 245, 0.74);
    box-sizing: border-box;
    width: 100%;
    padding: 15px 25px;
}
table.company-info__table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
table.company-info__table tr{
    border-bottom: 1px solid rgba(0, 51, 102, 0.20);
}
table.company-info__table tr:last-of-type{border-bottom: none;}
table.company-info__table th,
table.company-info__table td{
    font-weight: normal;
    font-size: 14px;
    padding:10px;
    text-align: left;
    vertical-align: text-top;
}
table.company-info__table td a{
    color: #000000;
    text-decoration: underline;
}
table.company-info__table td a:hover{
    text-decoration: none;
}
.company-history {
    margin-top: 85px;
}
.company-history_listwrap.contents {
    margin: 50px auto;
}
dl.company-history_list {
    display: flex;
    align-items: flex-start;
    width: 100%;
    font-size: 14px;
    padding-bottom: 12px;
    line-height: 1.85;
    border-bottom: 1px solid rgba(0, 51, 102, 0.20);
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box;
}
dl.company-history_list:last-of-type{border-bottom:none;}
.supplierslist_wrap{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 20px;
}
ul.supplierslist {
    margin: 60px 0 0 0;
    line-height: 1.85;
    width:35%;
}
.supplierslist_wrap > div{
    width: 47%;
    margin-left: 30px;
}
ul.supplierslogo {
    display: flex;
    flex-wrap: wrap;
    width: 55%;
    margin-left: 30px;
    align-items: center;
}
ul.supplierslogo li{
    width:33.3%;
}
dd.history-t {
    width: 90%;
}
/* ----------- contact --------------- */
.accordion-area{
    margin: 50px auto;
  }
.accordion_list{
    border: 1px solid #e0e0e0;
    margin-bottom: 20px;
}
.accordion_title {
  position: relative;
  cursor: pointer;
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  background: #f7f8f8;
  padding: 20px 30px 15px;
  box-sizing: border-box;
}
.accordion_title-inner {
    display: flex;
    align-items: center;
}
.accordion_title-inner .icon{
    width: 22px;
}
.accordion_title-inner .title{
    font-weight: bold;
    padding-left: 35px;
}
.accordion_title .arrow{
    width: 30px;
    padding-left: 15px;
}
.accordion_title .arrow img:nth-of-type(2){display: none!important;}
.accordion_title.open .arrow img:nth-of-type(1){display: none!important;}
.accordion_title.open .arrow img:nth-of-type(2){display: block!important;}

.accordion_inner {
    display:none;
    border-top: 1px solid #e0e0e0;
    font-weight: 500;
    padding: 30px;
}
.accordion_inner p{
    width: 88.8%;
    margin: 0 auto;
    line-height: 1.85;
}
.contact_wrap{
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
}
.contact_wrap:nth-of-type(2){
    margin-top: 90px;
}
.contact_wrap-text{
    width: 100%;
    margin-bottom: 10px;
    font-weight: 500;
    line-height: 1.5;
}
.contactblk{
    background: rgba(235, 240, 245, 0.74);
    display: flex;
    align-items: center;
    font-weight: bold;
    flex-wrap: wrap;
    font-size: 18px;
    padding: 30px;
    border-radius: 10px;
}
.contactblk{
    margin-right: 30px;
    margin-top: 30px;
}
.contactblk.mail {
    width: 414px;
    box-sizing: border-box;
    display: block;
}
.contactblk .icon{
    width: 73px;
    margin-right: 30px;
}
.contactblk a.contact{
    color: #000000;
    display: block;
}
.contact_adress-item{margin-bottom: 13px;}
.contact-s .tel{
    width: 62%;
}
.contactblk.mail .contact-s div{
    margin-top:10px;
}
.contactblk.mail .contact-s div.tel{
    margin-top: 3px;
}
.contactblk a.contact p{margin-bottom:10px;}
.contactblk a.contact div img{
    width: 100%;
    height: auto;
}
.contactblk.tel a.contact div,
.contactblk.fax a.contact div{
    width:250px;
}
.contactblk.mail a.contact div{
    width:350px;
}
/* products */
.products_top {
    max-width: 1200px;
    margin: 15px auto 60px;
}
.products_topitem {
    background: #003d7f;
    color: #ffffff;
    font-size: 30px;
    width: 100%;
    box-sizing: border-box;
    padding: 20px 25px;
}
.products_topitem p span{
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
    padding-bottom: 6px;
}
.products_seriesinfo {
    background: rgba(235, 240, 245, 0.74);
    box-sizing: border-box;
    padding: 30px 40px;
    margin: 40px auto;
    line-height: 1.85;
    font-weight: 500;
}
.products_seriesinfo-exsample {
    display: flex;
    margin-bottom: 30px;
}
.products_seriesinfo-exsample p{
    margin-right: 20px;
    padding: 3px 19px;
    border-radius: 9px;
}
.products_seriesinfo-exsample p.exsample{
    color: #ffffff;
    background: #ff9999;
}
ul.series_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 60px;
}
ul.series_list li{
    border:1px solid #003d7f;
    margin:6px 20px;
}
ul.series_list li a{
    display: block;
    color: #003d7f;
    font-size: 20px;
    padding: 14px 20px;
    width: 166px;
    box-sizing: border-box;
    position: relative;
    transition: all .3s;
}
ul.series_list li a:hover{
    background: rgba(235, 240, 245, 0.74);
}
ul.series_list li a::after{
    content: "";
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 13px solid #003d7f;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
}
div.products__blk{
    background: rgba(235, 240, 245, 0.74);
    padding-bottom: 65px;
}
.products__contentswrap{
    max-width: 1130px;
    margin: 0 auto;
}
.products_flexbox {
    display: flex;
    margin: 50px auto 30px;
    box-sizing: border-box;
}
.products_img{
    width: 550px;
    height: 550px;
    border: 1px solid #cccccc;
}
.products_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s ease-in-out;
}
.products_img a{
    display: block;
    width: 100%;
    height: 100%;
}
.products_img a:focus {
    outline: none;
}
.products_img:hover img{
    opacity: 0.7;
}
.products_info{
    margin-left: 50px;
}
.products_info dl:nth-of-type(1){
    border-top: 1px solid #cccccc;
}
.products_info dl{
    display: flex;
    margin: 0;
    border-bottom: 1px solid #cccccc;
}
.products_info dl dt,
.products_info dl dd{
    padding: 15px;
    box-sizing: border-box;
}
.products_info dl dt{
    width: 186px;
    background: rgba(0, 61, 127, 0.08);
    text-align: center;
}
.products_info dl dd{
    width: 342px;
    background:#ffffff;
    margin: 0;
    padding-left: 35px;
}
.products_info dl dt span.unit {
    font-size: 14px;
}
ul.productsimg_list{
    display: flex;
    flex-wrap: wrap;
}
ul.productsimg_list li{
    width: 170px;
    box-sizing: border-box;
    margin: 0px 20px 20px 0px;
}
ul.productsimg_list li a{
    display: flex;
    align-items: center;
    flex-direction: column;
    color: #000000;
    font-size: 15px;
    text-align: center;
}
ul.productsimg_list li a:focus {
    outline: none;
}
ul.productsimg_list li a div{
    width: 100%;
    border: 1px solid #cccccc;
}
ul.productsimg_list li a div img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
    transition: all .3s ease-in-out;
}
ul.productsimg_list li a:hover div img{
    opacity: 0.7;
}
.products_bottom {
    margin: 100px auto 0px;
}
.products_bottom .btn a{
    margin: 0 auto;
    background: rgba(0, 61, 127, 1);
}
.products_bottom .btn a:hover{
    background: rgba(0, 61, 127, 0.68);
}
.productspagelink_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 80px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.productspagelink {
    margin: 15px;
}
.productspagelink a{
    display: block;
    width: 560px;
    font-size: 30px;
    color: #ffffff;
    background: #cccccc;
    padding: 30px 25px;
    box-sizing: border-box;
    position: relative;
    transition: all .3s;
}
.productspagelink a span.seriesshape{
    font-size: 19px;
    display: inline-block;
    padding-bottom: 6px;
    vertical-align: middle;
    line-height: 1;
}
.productspagelink.active a{
    background: #527ba8;
}
.productspagelink.active a:hover{
    background: #003d7f;
}
.productspagelink a span.link-arrow{
    width: 30px;
    display: block;
    position: absolute;
    top: 50%;
    right:25px;
    transform: translateY(-50%);
}
/* superiority */
.superiority_area{
    max-width: 1160px;
    margin: 70px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.superiority_blk-item {
    background: #003d7f;
    color: #ffffff;
    border-top-left-radius: 13px;
    padding: 15px 25px;
}
.superiority_blk {
    width: 360px;
}
.superiority_blk:nth-of-type(n+4){
    margin-top: 65px;
}
.superiority_blk-iteminner {
    display: flex;
    align-items: center;
    font-size: 20px;
    height: 102px;
    box-sizing: border-box;
    overflow: hidden;
}
.superiority_blk-iteminner span{
    display: block;
    height: 50px;
    width: auto;
    margin-right:20px;
}
.superiority_blk-iteminner span img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.superiority_blk-iteminner p{
    width:200px;
    line-height: 1.34;
    transform: translate3d(0, 60px, 0);
    opacity: 0;
}
.superiority_blk-iteminner.active p{
    transition-delay: .5s;
    transition: transform .7s ease 0s,opacity .7s ease 0s;
    transform: translate3d(0, 0, 0);
    opacity: 1;
}
.superiority_contents{
    background: url(img/superiority-bg.jpg) center no-repeat;
    background-size: cover;
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
}
.superiority_contents-inner {
    position: relative;
    overflow: hidden;
}
.superiority_contents-inner img{vertical-align: baseline;}
.superiority_contents-inner::after {
    width: 108%;
    height: 108%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: block;
    margin: auto;
    background: #003166;
    content: "";
    -webkit-transition-timing-function: .7s cubic-bezier(.55, .085, .68, .53);
    transition-timing-function: .7s cubic-bezier(.55, .085, .68, .53);
    transition-delay: .2s;
    -webkit-transition-duration: .6s;
    transition-duration: .6s;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
}
.superiority_contents-inner.after_anim::after {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
}
.superiority_contents-inner p {
    position: absolute;
    color: #ffffff;
    font-size: 64px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
    font-weight: bold;
    line-height: 1.07;
    opacity: 0;
}
.superiority_contents-inner.after_anim p{
    top: 50%;
    left: 50%;
    -webkit-transition-timing-function: .7s cubic-bezier(.55, .085, .68, .53);
    transition-timing-function: .7s cubic-bezier(.55, .085, .68, .53);
    transition-delay: .4s;
    -webkit-transition-duration: .6s;
    transition-duration: .6s;
    opacity: 1;
}
.superiority-text {
    font-weight: 500;
    line-height: 1.85;
    margin-top: 18px;
}
/* ============ media query ============== */
@media(min-width:1650px){
    .page_header{
        height:325px;
        position: relative;
    }
}
@media(max-width:1250px){
    .contents{
        max-width: 90%;
        margin:0 auto;
    }
    /* front */
    .top_about_flexblk{
        width: 48%;
    }
    .swiper {
        width: 100%;
    }
    .swiper-pagination {
        width: 90vw;
    }
    .top_about::after {
        bottom: -10%;
    }
    /* sdgs */
    .sdgs_top p, .sdgs_top .goals_list, .sdgscontents,.pagemain_item p,.sdgs_top .sdgs_catch{
        max-width: 90%;
        margin: 0 auto;
    }
    h2.page_title,.pan{
        width: 90%;
    }
    .sdgs_top p{margin-bottom: 80px;}
    .sdgseffort_flexblk div.pic {
        width: 48%;
    }
    .sdgseffort_flexblk .sdgright{
        width: 48%;
    }
    .sdgseffort_flexblk .sdgright .pic {
        width: 100%;
    }
    ul.goals_list{justify-content: space-between;}
    ul.goals_list li {
        width:15.66%;
        height: auto;
    }
    /* products */
    .products_top{
        max-width: 90%;
    }
    .products__contentswrap {
        max-width:90%;
    }
    .products_img {
        width: 480px;
        height: 480px;
        border: 1px solid #cccccc;
    }
    .products_info dl dd {
        width: 265px;
    }
    ul.productsimg_list li {
        width: 140px;
    }
    .productspagelink a {
        width: 450px;
    }
    /* superiority */
    .superiority_area{
        max-width: 90%;
    }
    .superiority_blk {
    width: 32.3%;
    }
    .superiority_blk-iteminner {
    font-size: 1.68vw;
    }
    .superiority_contents-inner p {
    font-size: 4.75vw;
    }
}
@media(max-width:1079px){
    /* sdgs */
    ul.goals_list li {width: 18.66%;}
    /* products */
    ul.series_list {
        margin-top: 100px;
    }
    ul.series_list li {
        margin:12px 15px 0;
    }
    .products_img {
        width: 400px;
        height: 400px;
    }
    .products_info dl dt {
        width: 142px;
    }
    ul.productsimg_list li {
        width: 120px;
    }
}
@media(max-width:1024px){
    /* front */
    h2.top_item {
        font-size: 33px;
    }
    .top_about {
        padding: 120px 0 90px;
    }
    .top_product {
        padding: 120px 0 20px;
    }
    h2.top_item.topcompany {
        margin-bottom: 80px;
    }
    .top_company{
        height: 35vh;
    }
    .footer_contents {
        padding: 100px 0 80px;
    }
    /* sdgs */
    .sdgs_toplogo .clogo {
        margin-right: 25px;
        width: 300px;
    }
    .sdgs_toplogo .sdgslogo {
        width: 430px;
    }
    .sdgs_catch {
        font-size: 35px;
    }
    /* company */
    ul.supplierslist {
        width:45%;
    }
    ul.supplierslogo {
        display: flex;
        flex-wrap: wrap;
        width: 50%;
        margin-left: 30px;
        align-items: center;
    }
}
@media(max-width:950px){
    /* products */
    .products_flexbox {
        flex-direction: column;
    }
    .products_img {
        width: 500px;
        height: 500px;
    }
    .products_info {
        margin-left: 0px;
        margin-top: 30px;
    }
    .products_info dl dt {
        width: 30%;
    }
    .products_info dl dd{
        width: 70%;
    }
    .productspagelink a {
        width: 365px;
    }
}
@media(max-width:850px){
    /* sdgs */
    ul.goals_list li {width: 23%;}
    .sdgs_toplogo {
        flex-direction: column;
        justify-content: center;
    }
    .sdgs_toplogo p{margin: 0 auto;}
    .sdgs_toplogo .clogo {
        margin-right:auto;
        margin-bottom: 20px;
    }
    /* company */
    .company_top-logo {
        justify-content: center;
    }
    .company_top-logo p.logo-icom {
        width: 67px;
        margin-right: 20px;
    }
    .company_top-logo p.group-logo {
        width: 450px;
    }
    .company_top-textblk.contents {
        background-size:85%;
        margin: 25px auto 45px;
    }
    .company_blk {
        flex-direction: column;
    }
    .company-img {
        width: 100%;
        max-width: 500px;
    }
    .company-text {
        width: 100%;
    }
    .company-item {
        margin-bottom: 10px;
        margin-left: 15px;
    }
    .company-item .flag {
        margin-top: 20px;
        width:53px;
        margin-right: 13px;
    }
    .company-item .item {
        height: 20px;
    }
    /* products */
    .productspagelink {
        margin: 10px;
        width: 45%;
    }
    .productspagelink a {
        width: 100%;
    }
    /* superiority */
    .superiority_blk {
    width: 48.5%;
    }
    .superiority_blk:nth-of-type(n+3){
        margin-top: 60px;
    }
    .superiority_blk-iteminner {
    font-size: 2.6vw;
    }
    .superiority_contents-inner p {
    font-size: 7.3vw;
    }
}
@media(max-width:759px){
    /* front */
    .catch .MV-catch {
        font-size: 37px;
    }
    .catch .MV-subcatch {
        font-size: 16px;
    }
    h2.top_item {
        font-size: 28px;
    }
    h2.top_item.topabout::after {
        content: "";
        background:url(img/aboutus.svg) center no-repeat;
        background-size: contain;
        position: absolute;
        bottom: -19px;
        left: 40px;
        z-index: -1;
        opacity: 0.09;
        width: 365px;
        height: 105px;
    }
    .top_about {
        padding: 90px 0 70px;
    }
    .top_about_flex {
        flex-direction: column;
    }
    .top_about_flexblk {
        width: 100%;
    }
    .top_about_flexblk:nth-of-type(2){
        margin-top: 25px;
    }
    .top_about::after {
        bottom: 0%;
    }
    .top_about-toptext {
        margin: 50px auto 45px;
    }
    /* sdgs */
    .sdgs_catch {
        font-size: 30px;
    }
    .sdgseffort_flexblk {
        flex-direction: column;
    }
    .sdgseffort_flexblk div.text {
        width: 100%;
    }
    .sdgseffort_flexblk div.pic {
        width: 100%;
        margin-top: 25px;
    }
    .sdgseffort_flexblk .sdgright {
        width: 100%;
    }
    ul.paleticon_list.sl {
        margin-top: 15px;
        margin-bottom: 15px;
    }
    /* contact */
    .accordion_title-inner .title {
        padding-left: 20px;
    }
    .accordion_title .arrow {
        width: 20px;
    }
    /* products */
    .products_topitem {
        font-size: 25px;
        padding: 15px 20px;
    }
    .products_seriesinfo-exsample{flex-wrap: wrap;}
    .products_seriesinfo-exsample p:first-of-type {
        width: 100%;
        padding-left: 0px;
        margin-bottom: 5px;
    }
    .productspagelink {
        margin: 6px;
    }
    .productspagelink a {
        font-size: 20px;
        padding: 23px 15px;
    }
    ul.productsimg_list {
        flex-wrap: wrap;
    }
    ul.productsimg_list li {
        margin-right: 10px;
        margin-top: 10px;
    }
}
@media(max-width:650px){
    /* top */
    .top-product-catwrap{
        display: none;
    }
    .top_product-swiper-outer{
        display: block!important;
    }
    .topcat-item p {
        font-size: 23px;
    }
    .topcat-item::after {
        content: "";
        width: 120px;
    }
    .swiper {
        padding-top: 10px;
    }
    .slide__products-name {
        margin-top: 17px;
        font-size: 15px;
    }
    #essence.top-product-category {
        padding-top: 20px;
    }
    .top-product-category.cr, .top-product-category.fra {
        padding-top: 15px;
    }
    .swiper-slide a .img-wrap {
        overflow: hidden;
        box-shadow: #dedfdd 0px 0px 10px;
    }
    .swiper-slide.top_product-swiper-slide.topcat a .img-wrap {
        box-shadow: unset;
    }
    /* sdgs */
    .sdgseffort_paletflex.sdgscontents {
        flex-direction: column;
    }
    .sdgseffort_palet {
        width: 100%;
    }
    .sdgseffort_palet:nth-of-type(n+2) {
        margin-top: 15px;
    }
}
@media(max-width:599px){
    .sp{display:block!important;}
    /* header */
    #header__contentswrap h1.logo {
        width: 215px;
        line-height: 1;
    }
    #header__contentswrap h1.logo img{
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .openbtn span:nth-of-type(1) {top: 11px;}
    .openbtn span:nth-of-type(2) {top: 24px;}
    .openbtn.active span:nth-of-type(1) {
        top: 11px;
    }
    .openbtn.active span:nth-of-type(2){
        top: 23px;
    }
    #header__contentswrap{
        padding:15px 13px 15px 10px;
    }
    #header__contentswrap.fix_header{
        padding:10px 13px 15px 10px;
    }
    #gnav {
        padding: 90px 18px 100px;
    }
    .gnav_contactblk {
        width: 100%;
        margin: 0 auto;
    }
    .gnav_contactblk .item {
        margin: 18px auto 25px;
    }
    .gnav_contactblk div a span, .gnav_contactblk div span {
        width: 25px;
    }
    .gnav_contactblk div.mail .mail-inner p.icon{
        width: 25px;
        margin-right: 12px;
    }
    .gnav_contactblk div.tel a p, .gnav_contactblk div.fax p {
        width: 200px;
    }
    .gnav_contactblk div.mail p {
        width: 250px;
    }
    .gnav_contactblk div.mail p.tel{
        width: 180px;
    }
    /* footer */
    .footer_contents {
        padding: 65px 0 50px;
    }
    .f-logo {
        width: 250px;
    }
    /* front */
    .catch {
        left: 4%;
    }
    .catch .MV-catch {
        font-size: 7.25vw;
    }
    .catch .MV-subcatch {
        font-size: 15px;
        max-width: 96%;
    }
    .top_about_flexblk a p {
        font-size: 5.5vw;
    }
    .top_product {
        padding: 90px 0 20px;
    }
    h2.top_item.topabout::after {
        width: 70vw;
        height: 10vh;
        bottom: 5px;
    }
    h2.top_item.topproducts::after {
        width: 66vw;
        height: 10vh;
        bottom: 8px;
    }
    h2.top_item.topcompany::after {
        width: 67vw;
        height: 11vh;
        bottom: -10px;
    }
    .top_company-inner {
        position: relative;
        top: unset;
        left: unset;
        transform: unset;
        width: 90%;
    }
    .top_company {
        padding-top: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    h2.top_item.topcompany {
        margin-bottom: 50px;
    }
    /* ================ page ============== */
    /* btn */
    .top_company-inner .btn a {
        width: 90%;
        padding: 15px 20px;
        margin: 0 auto;
    }
    span.btn-arrow {
        right: 20px;
    }
    .page_header {
        height: 215px;
    }
    h2.page_title {
        font-size: 5.5vw;
        bottom: 30%;
    }
    .btn.pdf a {
        width: 100%;
        padding: 15px 23px;
    }
    span.btn-pdf {
        display: inline-block;
        width: 32px;
        right: 22px;
    }
    /* sdgs */
    .sdgs_toplogo {
        margin: 60px auto;
    }
    .sdgs_toplogo .clogo {
        width: 60vw;
    }
    .sdgs_toplogo .sdgslogo {
        width: 75vw;
    }
    .sdgs_top {
        padding: 65px 0;
    }
    .sdgs_catch {
        font-size: 27px;
    }
    .sdgs_top p {
        margin-bottom: 45px;
    }
    ul.goals_list li {
        width: 30%;
    }
    .sdgs_catch {
        font-size: 27px;
    }
    .pagemain_item {
        font-size: 23px;
    }
    .pagemain_item p span {
        font-size: 17px;
    }
    ul.paleticon_list li {
        width: 80px;
        height: 80px;
        margin: 5px;
    }
    /* company */
    .company_top-logo {
        max-width: 75%;
    }
    .company_top-logo p.logo-icom {
        margin-right: 13px;
    }
    .company_top-textblk.contents {
        margin: 0px auto 0px;
    }
    .company-item .flag {
        margin-top: 9px;
        width: 38px;
        margin-right: 10px;
    }
    .company-item .item {
        height: 15px;
    }
    .company-info {
        padding: 15px 10px;
    }
    table.company-info__table th{width: 30%;}
    dt.history-y {
        width: 20%;
    }
    dd.history-t {
        width: 80%;
    }
    ul.supplierslist {
        margin: 40px auto 30px;
        line-height: 1.85;
        width: 100%;
    }
    ul.supplierslogo {
        width: 100%;
        margin-left:0px;
    }
    .supplierslist_wrap > div{
        width: 100%;
        margin-left: 0px;
        margin-top: -30px;
    }
    .supplierslist_wrap {
        flex-direction: column;
    }
    /* contact */
    .accordion_title-inner {
        width: 100%;
    }
    .accordion_title {
        padding: 15px 15px 13px;
    }
    .accordion_title-inner .title {
        width: 85%;
        font-size: 15px;
        padding-left: 13px;
    }
    .accordion_title-inner .icon {
        width: 18px;
    }
    .accordion_inner {
        padding: 30px 20px;
    }
    .accordion_inner p {
        width: 95%;
        font-size: 15px;
    }
    .contactblk{
        width: 100%;
        margin-right: 0px;
        margin-top: 20px;
        font-size: 16px;
        padding: 20px;
    }
    .contactblk.mail {
        width: 100%;
    }
    .contactblk .icon {
        width: 40px;
        margin-right:15px;
    }
    .contactblk.tel a.contact div,
    .contactblk.fax a.contact div {
        max-width: 220px;
        width: unset;
    }
    .contactblk.mail .contact-s div {
        max-width: 280px;
        width: unset;
    }
    .contactblk.mail .contact-s div.tel {
        max-width: 200px;
        width: unset;
    }
    .contact_wrap:nth-of-type(2) {
    margin-top: 50px;
    }
    /* products */
    .products_seriesinfo {
        padding: 20px 25px;
    }
    ul.series_list li a {
        font-size: 17px;
        width:145px;
    }
    ul.series_list li {
        margin: 12px 10px 0;
    }
    .products_seriesinfo-exsample p {
        margin-right: 10px;
    }
    ul.series_list {
        margin-top: 50px;
    }
    ul.series_list li a {
        font-size: 18px;
        padding: 14px 15px;
    }
    .products_img {
        width: 100%;
        height:auto;
    }
    .products_img img{
        vertical-align: bottom;
    }
    .products_info dl dt, .products_info dl dd {
        padding: 10px 8px;
        font-size: 14px;
    }
    .products_info dl dt span.unit {
        font-size: 12px;
    }
    .products_info dl dd{
        padding-left: 23px;
    }
    ul.productsimg_list {
        justify-content: space-between;
    }
    ul.productsimg_list li {
        width: 43vw;
        margin-right: 0px;
    }
    .products_bottom {
        margin: 70px auto 0px;
    }
    .productspagelink {
        width: 90%;
    }
    .productspagelink_list {margin-top: 50px;}
    .productspagelink a {
        font-size: 18px;
        padding: 17px 14px;
    }
    .productspagelink a span.seriesshape {
        font-size: 15px;
    }
    .productspagelink a span.link-arrow {
        width: 22px;
        right: 14px;
    }
    /* superiority */
    .superiority_area{margin: 50px auto;}
    .superiority_blk {
        width: 100%;
    }
    .superiority_blk:nth-of-type(n+2){
        margin-top: 50px;
    }
    .superiority_blk-item {
        padding: 5px 20px;
    }
    .superiority_blk-iteminner {
        font-size: 4.8vw;
        height: 95px;
    }
    .superiority_blk-iteminner span {
        width: 15%;
        height: 35px;
    }
    .superiority_blk-iteminner p{
        width:83%;
    }
    .superiority_contents-inner p {
        font-size: 13vw;
    }

}
@media(max-width:350px){
    /* gnav mail */
    .mail-inner{
        display: block;
    }
    .gnav_contactblk div.mail p {
        width: 100%;
    }
    .gnav_contactblk div.mail p.tel {
        width: 169px;
    }
}
@media(max-width:333px){
    ul.goals_list li {
        width: 29.5%;
    }
}