@charset "utf-8";
/*-------------
vars
-------------*/
:root{
    --font-sans-serif: 'Roboto','Noto Sans JP', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    --font-en: 'Avenir','Avenir Next','Poppins', sans-serif;
    --main-color1:#e9538e;
    --main-color2:#abcd03;
    --main-color3:#00a4e3;
    --main-orenge: #ff9326;
    --bg-color1:#f7f7f7;
    --main-black: #1a1a1a;
    --main-blue: #004da0;
    --main-darkblue: #00154b;
    --main-blue_grad: linear-gradient(35deg,#00154b,#004da0 77%);
    --main-gray: #eeeeef;
    --main-gray_border: #9e9e9f;
    --border-gray:#e6e6e6;
    --width--sp: 90.625%;
    --width--sp_vw: 90.625vw;
    --sidespace--sp: 4.6875%;
    --sidespace--sp_vw: 4.6875vw;
}
.is--sample:not(.is--show){
    display: none!important;
}

/*旧サイト用*/
#contents_main_bg {
	 padding-top: 140px;
   width: 1200px;
   margin: 0 auto 100px;
}

#left	{
	width: 230px;
	overflow: hidden;
	float: left;
}
#left .left-title{
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 15px;
  position: relative;
}
#left .left-title::after {
  content: "";
  display: block;
  background: var(--main-color3);
  width: 30px;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.left-title + #sub_menu,
.left-title + .sub_menu{
  border-top: solid 1px #e6e6e6;
}
#sub_menu,
.sub_menu{
  padding: 20px 0;
  box-sizing: border-box;
  border-bottom: solid 1px #e6e6e6;
}
#sub_menu > a,
.sub_menu > a{
  font-size: 1.6rem;
  font-weight: bold;
  padding-left: 14px;
  box-sizing: border-box;
  border-left: solid 4px var(--main-color2);
  transition: all ease .2s;
  display:block;
}
#sub_menu > a:hover,
.sub_menu > a:hover{
  color: var(--main-color3);
}
#sub_menu > a + #sub_menu2 a,
.sub_menu > a + .sub_menu2 a{
  margin-top: 15px;
}
#sub_menu2 a,
.sub_menu2 a{
  font-size: 1.4rem;
  padding-left: 14px;
  box-sizing: border-box;
  display: block;
  margin-bottom: 15px;
  position: relative;
}
#sub_menu2 a:before,
.sub_menu2 a:before{
  content: "";
  background: #cccccc;
  width: 6px;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
#sub_menu2:last-child a,
.sub_menu2:last-child a{
  margin-bottom: 0;
}

#sub_menu2 a:hover,
.sub_menu2 a:hover{
	text-decoration: underline;
  transition: all ease .2s;
  color: var(--main-color3);
}

#sub_menu2 a:active,
.sub_menu2 a:active{
	text-decoration: underline;
  color: var(--main-color3);
}

.right-column__sub_menu{
  margin-top: 70px;
  border-top: solid 1px #e6e6e6;
}
/*--- sp ---*/
@media screen and (max-width:767px){
  .right-column__sub_menu{
    margin-top: 50px;
  }
}

#link {
	width: 150px;
	margin-left: auto;
	margin-right: auto;
}

#link_inner {
	width: 130px;
	background-color: #FFFFFF;
	border-style: dotted;
	border-width: 1px;
	border-color: #D1D1D1;
	padding: 10px 10px 10px 10px;
}

#link a{
	display:block;
	font-size:12px;
	width:130px;
	height:27px;
}

/* sp */
@media screen and (max-width:767px){
  #left	{
    display: none;
  }
}

#right	{
  width: 940px;
  float: right;
  font-size: 1.5rem;
  line-height: 1.5;
}
#main:not(:has(#left)) #right{
  float: none;
  margin: 0 auto;
}

#right h1:not(.content_title2),
.content_title1{
  font-size: 3.6rem;
  font-weight: 900;
  padding: 10px 30px;
  box-sizing: border-box;
  background: #f5f5f5;
  margin-bottom: 40px;
  border-left: solid 6px var(--main-color3);
  display: flex;
  align-items: center;
}

#right h1:not(.content_title2)::after,
.content_title1:after{
    display: block;
    color: var(--main-color3);
    font-family: var(--font-en);
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(1em + 7px);
    content: none;
    margin-left: 15px;
}
#right h1:not(.content_title2).pt2,
.content_title1.pt2{
  flex-wrap: wrap;
  gap: 0 15px;
}
#right h1:not(.content_title2).pt2::after,
.content_title1.pt2:after{
  margin-left: 0;
}

.right p {
  font-size: 12px;
  font-weight: normal;
  line-height: 160%;
  text-align: left;
}
#right table{
  table-layout:inherit;
  text-indent: inherit;
  border-spacing: 2px;
  width: 100%;
}
#right table td,
#right table th{
  vertical-align: inherit;
  padding: 8px;
  box-sizing: border-box;
}

#right table td.vt_top,
#right table th.vt_top{
  vertical-align: top
}

/* sp */
@media screen and (max-width:767px){
  #contents_main_bg {
    padding-top: 80px;
    width: 100%;
    margin: 0 auto 60px;
  }
  #right {
    width: var(--width--sp);
    margin: 0 auto;
    float: none;
  }
  #right h1:not(.content_title2),
  .content_title1{
    font-size: 2.6rem;
    font-weight: 900;
    padding: 10px 10px 10px 20px;
    box-sizing: border-box;
    background: #f5f5f5;
    margin-bottom: 30px;
    display: block;
    border-left: solid 3px var(--main-color3);
  }

  #right h1:not(.content_title2)::after,
  .content_title1:after{
      font-size: 1.4rem;
      margin-left: 0;
  }
  .fpc_img1 td{
    width: 100%;
    display: block;
  }
  .fpc_img1 td img{
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .tb_scroll-parent{
    display: grid;
  }
  .tb_scroll{
    overflow-x: scroll;
  }
  .tb_scroll > table{
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
  }
  .tb_scroll > table.iso_tb2{
     border-collapse: separate !important;
  }
}

#main_bottom {
	width: 711px;
	clear: both;
	}

#footer_menu{
	width: 960px;
	padding: 10px 11px 0px 0px;
	font-size: 12px;
	text-align: right;
	}

#footer {
	padding: 7px 0px 0px 0px;
	width: 100%;
	height: 80px;
	text-align: center;
	font-size:larger;
	font:Geneva, Arial, Helvetica, sans-serif;
	clear: both;
	color:#FFFFFF;
	}

#footer2 {
	margin-right: auto;
	margin-left: auto;
	padding: 0px;
	width: 719px;
	height: 10px;
	color: #333333;
	}

#list_menu ul {
	list-style-type:decimal;
	}

#p_center {
	text-align:center;
	}

#p_right {
	text-align:right;
	}

#group {
	background-color: #CDE4F6;
	padding: 5px;
	font-weight: bold;
	color: #1B73B3;
	font-size: 12px;
        margin-bottom:10px;
	}
#group:not(:first-of-type) {
margin-top:15px;
}
#group_bg {
	margin-left: 50px;
	}

#recruit,
.recruit{
	width:650px;
	margin-left:30px;
  margin-bottom: 20px;
}

#recruit ul,
.recruit ul  {
	list-style-image:url(../img/icon01.gif);
	list-style-position:outside;
	margin:0px 0px 0px 20px
	}

#recruit li,
.recruit li{
	line-height:200%;
	}

#table_bg {
	background-color:#999999;
	}

#p_border {
	border: 1px solid #A2A2A2;
	padding: 10px;
	background-color: #F8F8F8;
	}

#contents {
	width: 520px;
	overflow: hidden;
	margin-left: 10px;
	float: left;
	font-size: 12px;
	line-height: 140%;
	}

#address	{
	width: 173px;
	margin-left: 10px;
	margin-top: 20px;
	border-color: #FF6400;
	border: 1px solid #FF6400;
	padding: 10px;
	font-size: 12px;
	color: #FF6400;
	background-color: #FBFBE6;
	line-height: 100%;
	}

.img_left {
	margin:0 10px;
	float:left;
}

.img_right {
	margin:0 10px;
	float:right;
}

.size1 {  font-size:  8px; line-height:150%; }
.size2 {  font-size: 10px; line-height:150%; }
.size3 {  font-size: 12px; line-height:150%; }
.size4 {  font-size: 14px; line-height:150%; }
.size5 {  font-size: 16px; line-height:150%; }
.size6 {  font-size: 18px; line-height:150%; }
.size8 {  font-size: 20px; line-height:150%; }
.size9 {  font-size: 22px; line-height:150%; }
.size10 {  font-size: 24px; line-height:150%; }

.red       { color: #FF0000; }
.red-b     { font-weight: bold; color: #FF0000; }
.red2      { color: #CC0000; }
.red2-b    { font-weight: bold; color: #CC0000; }
.green     { color: #00FF00; }
.green-b   { font-weight: bold; color: #00FF00; }
.green2    { color: #336633; }
.green2-b  { font-weight: bold; color: #336633; }
.blue      { color: #0000FF; }
.blue-b    { font-weight: bold; color: #0000FF; }
.blue2     { color: #000099; }
.blue2-b   { font-weight: bold; color: #000099; }
.blue3     { color: #1B73B3; }
.blue3-b   { font-weight: bold; color: #1B73B3; }
.yellow    { color: #FFFF00; }
.yellow-b  { font-weight: bold; color: #FFFF00; }
.yellow2   { color: #FF8F1D; }
.yellow2-b { font-weight: bold; color: #FF8F1D; }
.white     { color: #FFFFFF; }
.white-b   { font-weight: bold; color: #FFFFFF; }
.gray      { color: #666666; }
.gray-b    { font-weight: bold; color: #666666; }
.brown     { color: #91591C; }
.brown-b   { font-weight: bold; color: #91591C; }
.pink      { color: #F76155; }
.pink-b    { font-weight: bold; color: #F76155; }


.blue3-b-14   { font-weight: bold; color: #1B73B3; font-size:15px; line-height:150%; background-color:#DEEDF3;}

#right h3:not(.h3-style--out),
#product_subtitle,
#product_name2{
  font-size: 2.0rem;
  font-weight: bold;
  background: #f5f5f5;
  padding: 8px 8px 8px 30px;
  box-sizing: border-box;
  position: relative;
  margin-bottom: 15px;
}
#right h3:not(.h3-style--out)::before,
#product_subtitle:before,
#product_name2:before{
  content: "";
  background: var(--main-color2);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 10px;
  bottom: 0;
  margin: auto;
}
#right h2:not(.h2-style--out),
#product_subtitle670,
.content_title2{
	font-size: 2.8rem;
  font-weight: 900;
  border-bottom: solid 2px #e6e6e6;
  margin-bottom: 30px;
  padding-bottom: 15px;
  position: relative;
}
#right h2:not(.h2-style--out)::after,
#product_subtitle670:after,
.content_title2::after{
  content: "";
  background: var(--main-color1);
  width: 120px;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -2px;
}

#product_text{
	display:block;
	font-size:1.5rem;
	padding:3px 0;
  margin-bottom: 15px;
}
#product_name,
.product_name{
  display: table;
}
#product_name:not(:last-of-type),
.product_name:not(:last-of-type){
  margin-bottom: 5px;
}
#product_name a,
.product_name a{
  display: block;
  padding: 15px 50px 15px 15px;
  box-sizing: border-box;
  border: solid 1px #e6e6e6;
  border-radius: 5px;
  position: relative;
}
#product_name a:after,
.product_name a:after {
  content: "";
  background: url(../img/icon_news1.svg) no-repeat;
  background-size: cover;
  width: 15px;
  height: 10px;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}

#viewer {
	margin: 0 auto;
	width: 970px;
	height: 265px;
	text-align: left;
	overflow: hidden;
	position: relative;
}

#viewer img {
	top: 0;
	left: 0;
	position: absolute;
}

/* PCのみ */
@media screen and (min-width:768px){
  #product_name a,
  .product_name a{
    transition: all ease .3s;
  }
  #product_name a:hover,
  .product_name a:hover{
    background: #e5f4fe;
    transition: all ease .3s;
  }
}

/* sp */
@media screen and (max-width:767px){
  #right h2:not(.h2-style--out),
  #product_subtitle670,
  .content_title2 {
    font-size: 2.1rem;
    font-weight: bold;
    border-bottom: solid 2px #e6e6e6;
    margin-bottom: 20px;
    padding-bottom: 15px;
    position: relative;
  }
  #right h3:not(.h3-style--out),
  #product_subtitle,
  #product_name2 {
    font-size: 1.8rem;
  }
  .img_right{
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto 10px;
    float: none;
    display: block;
  }
  #main_bottom {
    width: 100%;
    clear: both;
  }
}

/* 緊急のお知らせここから */
.top-info--emar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 1200px;
    min-height: 300px;
    margin: 150px auto 50px;
    padding: 50px 80px 55px;
    border: solid 1px #808080;
}
.top-info--emar-head{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: solid 1px #ccc;
}
.top-info--emar-head__title{
    display: block;
    font-size: 30px;
    font-weight: bold;
    line-height: calc(1em + 8px);
}
.top-info--emar-body:not(:last-child){
    margin-bottom: 25px;
}
.top-info--emar__link{
    position: relative;
    margin-top: 10px;
    padding-left: 18px;
    line-height: calc(1em + 8px);
}
.top-info--emar__link::before{
    position: absolute;
    top: .5em;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--main-color2);
    content: "";
}
.top-info--emar__link a{
    color: #00a4e3;
}
.top-info--emar__link a:not(:hover){
    text-decoration: underline;
}
/*--- sp ---*/
@media screen and (max-width:767px){
.top-info--emar {
    width: var(--width--sp);
    min-height: 210px;
    margin: 70px auto 20px;
    padding: 20px 15px 25px;
}
.top-info--emar-head{
    margin-bottom: 20px;
    padding-bottom: 8px;
}
.top-info--emar-head__title{
    font-size: 2.1rem;
}
.top-info--emar-body:not(:last-child){
    margin-bottom: 20px;
}
.top-info--emar__link{
    padding-left: 16px;
}
.top-info--emar__link::before{
    width: 8px;
    height: 8px;
}
}
/* 緊急のお知らせ ここまで */

#product_j ul {
	list-style-type:none;
         padding-left:5px;
         margin-left:20px;
         margin-top:10px;
}

#product_j li {
	line-height:200%;
	}

#table_explain {
	font-size:1.13em;
	line-height: 140%;
	/*background-color:#D2E4FC;*/
         margin-left:5px;
         width:95%;
}

#analysis_subtitle{
	display:block;
	font-size:13px;
	height:20px;
	margin-left:40px;
	margin-top:10px;
}
#method_subtitle{
	display:block;
        font-weight: bold;
	font-size:14px;
	line-height: 130%;
	margin-left:15px;
	margin-top:20px;
}
#method_subtitle2{
	display:block;
        font-weight: bold;
	font-size:14px;
	line-height: 130%;
	margin-left:15px;
}

/* イノベーションセンターページ用 */
.ic_h2,
.ic_h3{
	margin-top:20px;
	font-weight: bold;
	color: #1B73B3;
}
.ic_h2{
	font-size:22px;
}
.ic_h3{
	font-size:18px;
}
.ic_date{
	font-size:16px;
	text-align:right !important;
}
.ic_p{
         margin-top:10px;
         margin-bottom:25px;
         margin-left:10px;
	line-height: 160%;
	font-size:16px;
}
.ic_flex{
         display:flex;
         justify-content:space-between;
}
.ic_profile{
         background-color:#f5f5f5;
         padding:20px;
	font-size:16px;
}
.ic_imgcap{
	color: #696969;
	font-weight: 500;
	text-align:right !important;
	font-size:14px;
}

/* 製品情報 資料ダウンロード */
.prod-download-head{
  width: 60px;
  padding: 8px 0;
  box-sizing: border-box;
}
.prod-download{
  padding: 2px 5px;
  font-size: 0;
}
.prod-download a{
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 auto;
  border-radius: 3px;
  background: url(../img/icon_download.svg) no-repeat center / 12px auto,#069;
  text-decoration: none;
}
.prod-footer-comment{
  margin: -2em 8px 0;
  padding: 2em 0 0;
  border-top: dashed 1px #999;
}

.page_top{
  text-align: right;
}
.analysis_tb2{
  width: auto !important;
}
.analysis_tb2 tr td img{
  width: auto;
}
.analysis_bottomborder{
  border-top: solid 1px var(--main-color2);
  width: 100%;
  margin-top: 15px;
  padding-top:15px;
}
.iso_tb2{
  border-collapse:separate;
  border-spacing:1px;
  border-spacing: 1px !important;
}
.mark-list li{
  position: relative;
  padding-left: 18px;
}
.mark-list li:before{
  content: "";
  background: var(--main-color3);
  width: 10px;
  height: 10px;
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
}
.contact_tb{
  border-top: solid 1px #8e8e8e;
}
.contact_tb tr:first-child{
  border-bottom: solid 1px #8e8e8e;
}
.contact_tb tr:first-child td{
  position: relative;
  padding-left: 25px !important;
}
.contact_tb tr:first-child td:before{
  content: "";
  background: var(--main-color3);
  width: 10px;
  height: 10px;
  display: block;
  position: absolute;
  top: 0;
  left: 10px;
  bottom: 0;
  margin: auto;
}
.contact_tb tr td a{
 color:var(--main-color3);
text-decoration: underline;
}
.contact_tb td[valign="top"]{
  vertical-align: top!important;
}
/* sp */
@media screen and (max-width:767px){
  .page_top img{
    width: auto;
  }
  .analysis_tb tr td{
    display: block;
    width: 100%;
  }
  .analysis_tb tr td img{
    width: auto;
    max-width: 100%;
    margin: 0 auto;
    display: block;
  }
  .iso_tb1 tr{
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
  }
  .iso_tb1 tr td{
    display: block;
  }
  .iso_tb1 tr td img{
    width: auto;
    max-width: 100%;
    display: block;
    margin: 0 auto;
  }
  #recruit,
  .recruit{
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 20px;
  }
  .ic_p {
    margin-top: 10px;
    margin-bottom: 25px;
    margin-left: 0;
    line-height: 160%;
    font-size: 1.4rem;
  }
  .ic_profile div[style="margin-left: 40px;"]{
    margin-left: 0!important;
  }
  /* contact_tb */
  .contact_tb td.is--empty{
    display: none;
  }
}
/*-------------
新サイト
base
-------------*/
html{
    font-size: 62.5%;
}
body{
    width: 100%;
    min-width: 1200px;
    background: #fff;
    color: var(--main-black);
    font-family: var(--font-sans-serif);
    font-feature-settings: "palt" 1;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0;
    line-height: normal;
    text-align: left;
    word-wrap: break-word;
}
.sp{
    display: none;
}
.clearfix::after,
.cf::after{
    content: "";
    display: block;
    clear: both;
}
@media screen and (min-width:768px){
    body > header,
    body > footer,
    body > section,
    body > article,
    body > div{
        font-size: 1.6rem;
    }
}
.preload *{
    transition: none!important;
}
a:hover{
    text-decoration: none;
}
a[href^="tel:"]{
    pointer-events: none;
}
a.linkText,
.hasLinkText a{
  color: #069;
}
a.linkText:not(:hover),
.hasLinkText a:not(:hover){
  text-decoration: underline;
}
.txt_ind {
    text-indent: -1em;
    padding-left: 1em;
}
.txt_c{
  text-align: center;
}
.txt_r{
  text-align: right;
}
/* sp */
@media screen and (max-width:767px){
    html{
        font-size: 62.5%;
    }
    body{
        min-width: 320px;
        font-size: 1.4rem;
    }
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
    a[href^="tel:"]{
        pointer-events: auto;
    }
    img{
        width: 100%;
        height: auto;
    }
}

/*-------------
data-effect
-------------*/
*[data-effect^="fade"]{
    opacity: 0;
    transition: transform .8s ease,opacity .8s ease;
}
*[data-effect^="fade-left"]{
    transform: translateX(-50px);
}
*[data-effect^="fade-right"]{
    transform: translateX(50px);
}
*[data-effect^="fade-up"]{
    transform: translateY(50px);
}
*[data-effect^="fade"].effected{
    opacity: 1;
    transform: none;
}
@media screen and (max-width:767px){
    *[data-effect^="fade"]{
        transition: transform .4s ease,opacity .4s ease;
    }
}
/*-------------
accordion
-------------*/
.accordion-btn:not(.is--ready){
    pointer-events: none;
}
.accordion-btn.is--ready{
    cursor: pointer;
}
@media screen and (max-width:768px){
    .accordion-btn--sp:not(.is--ready){
        pointer-events: none;
    }
    .accordion-btn--sp.is--ready{
        cursor: pointer;
    }
}
.accordion-btn:not(.accordion--open):not([data-target-class]) + *:not(.accordion-container),
.accordion-content{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
@media screen and (max-width:768px){
    .accordion-btn--sp:not(.accordion--open):not([data-target-class]) + *:not(.accordion-container),
    .accordion-content--sp{
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }
}
.accordion-container{
    overflow: hidden;
    transition: height .3s ease;
}
.accordion-container.is--hit_low{
    transition: height .2s ease;
}
.accordion-container:not(.is--open){
    height: 0!important;
}
@media screen and (min-width:769px){
    .accordion-container.is--limit_sp{
        height: auto!important;
    }
}
.mB10{
  margin-bottom: 10px;
}
.mB20{
  margin-bottom: 20px;
}
.mB25{
  margin-bottom: 25px;
}
.mB30{
  margin-bottom: 30px;
}
.mB40{
  margin-bottom: 40px;
}
@media screen and (max-width:767px){
  .mL0_sp{
    margin-left: 0!important;
  }
}

/*-------------
header
-------------*/
.header{
  width: 100%;
  top: 0;
  position: fixed;
  z-index: 10;
  background: #fff;
  margin: 0 auto;
  min-height: 120px;
}
@media print{
  .header{
    display: none!important;
  }
}
.header-wrapper{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 1440px;
  min-width: 1200px;
  margin: 0 auto;
  background: #fff;
}
.header:after{
  content: none;
}
@media screen and (min-width:768px){
    .header.is--on_recruit{
        margin-bottom: 55px;
    }
}
.header-menu-btn{
    display: none;
}
.header-nav-list{
    display: flex;
}
.header-menu2-sec2--item a{
  width: 145px;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 22px;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  background: var(--main-color3);
}
/*.header-menu2-sec2--item.contact-btn{
  margin-left: 10px;
}*/
.header-menu2-sec2--item.contact-btn a{
  background: var(--main-color1);
}
.header-menu2-sec2--item a span{
  margin-left: 8px;
  line-height: 1;
}
/* .header-nav--pulldown-item-link a:before {
  content: "";
  width: 8px;
  height: 1px;
  background: #333333;
  margin-right: 8px;
} */
.header-nav-list-item__link .is--mark{
   background: linear-gradient(to top,rgba(255,255,255,0) 1px, #fcee21 1px 11px,rgba(255,255,255,0) 11px);
}
@media screen and (min-width:768px){
    .header-nav-list-item__link .is--mark{
       background: linear-gradient(to top,rgba(255,255,255,0) 1px, #fcee21 1px 9px,rgba(255,255,255,0) 9px);
    }
}
/* PCのみ */
@media screen and (min-width:768px){
.header-wrapper{
padding:0 5px;
}
  .header-nav-list-item:nth-of-type(4){
      margin-right: auto;
  }
  .header-logo a{
    padding: 30px 0;
    box-sizing: border-box;
    display: block;
  }
  .header-inner2{
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
  }
  .header-menu{
    margin-right: 15px;
  }
  .header-nav--pulldown{
      position: absolute;
      bottom: 0;
      left: 0;
      right: auto;
      z-index: 1;
      transform: translateY(100%);
      width: 100%;
      background: #f9f9f9;
      transition: opacity .3s ease;
  }
  .header-nav--pulldown:not(.is--active){
      display: none;
  }
  .header.is--on_recruit .header-nav--pulldown{
      display: block;
  }
  .header-nav--pulldown:not(.is--show){
      opacity: 0;
  }
  .header.is--on_recruit .header-nav--pulldown{
      opacity: 1;
  }
  .header-nav--pulldown-list{
      display: flex;
      justify-content: flex-end;
      width: 100%;
      height: 55px;
      max-width: 1280px;
      margin: 0 auto;
  }
  .header-nav--pulldown-list-item{
      height: 100%;
  }
  .header-nav--pulldown-list-item__link{
      display: flex;
      align-items: center;
      height: 100%;
      padding: 0 20px;
      font-size: 1.6rem;
      line-height: calc(1em + 5px);
  }
  .header-nav-list-item__link{
    display: block;
    font-weight: bold;
    position: relative;
    padding: 0 15px 23px;
    font-size: 1.6rem;
    line-height: calc(1em + 5px);
    transition: all ease .3s;
  }
  .header-nav-list-item__link.sp{
    display: none;
  }
  .header-nav-list-item__link:before{
    content: "";
    width: 0;
    height: 4px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: var(--main-color2);
    transition: all ease .4s;
  }
  .header-nav-list-item__link:hover{
    color: var(--main-color2);
  }
  .header-nav-list-item__link:hover:before{
    width: 100%;
    transition: all ease .4s;
  }
  .header-nav--pulldown-wrapper{
    max-width: 1200px;
    min-width: 1024px;
    margin: 0 auto;
    padding: 40px 0;
    box-sizing: border-box;
  }
  .header-nav--pulldown-title{
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
  }
  .header-nav--pulldown-title span{
    font-family: var(--font-en);
    color: var(--main-color3);
    font-size: 1.4rem;
    margin-left: 10px;
    margin-top: 2px;
  }
  .header-nav--pulldown-items{
    display: flex;
    flex-flow: row wrap;
  }
  .header-nav--pulldown-items:after{
    content: none;
  }
  .header-nav--pulldown-item{
    flex: 0 1 25%;
  }
  .header-nav--pulldown-item:not(:last-of-type){
    padding-right: 20px;
    box-sizing: border-box;
  }

  /*追加*/
  .header-nav--pulldown-item-title a{
    display: block;
    width: 100%;
    font-size: 1.5rem;
    font-weight: bold;
    padding-bottom: 10px;
    margin-bottom: 15px;
    border-bottom: solid 1px #cccccc;
    padding-left: 20px;
    box-sizing: border-box;
    position: relative;
    transition: all ease .2s;
  }
  .header-nav--pulldown-item-title a:hover{
    color: var(--main-color3);
    transition: all ease .2s;
  }
  /*ここまで*/

  .header-nav--pulldown-item-title:not(:first-of-type){
    margin-top: 20px;
  }
  .sp + .header-nav--pulldown-item-title{
    margin-top: 0;
  }
  .header-nav--pulldown-item-title a:before{
    content: "";
    background: url(../img/icon_link2.svg) no-repeat;
    background-size: cover;
    width: 14px;
    height: 14px;
    position: absolute;
    top: 0;
    bottom: 10px;
    left: 0;
    margin: auto;
  }
  .header-nav--pulldown-item-link{
    margin-bottom: 10px;
  }
  .header-nav--pulldown-item-link a{
    display: flex;
    align-items: center;
    transition: all ease .3s;
  }
  .header-nav--pulldown-item-link a:hover{
    text-decoration: underline;
    color: var(--main-color3);
  }
  .header-nav--pulldown-item-link a span{
    margin-right: 10px;
    position: relative;
  }
  .header-nav--pulldown-item-link a:hover span:before{
    content: "";
    background : rgba(0, 141, 242, 1);
    opacity : 0.4;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  /*js-header-search-menu*/
  .header-search{
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    transform: translateY(100%);
    width: auto;
    background: var(--main-color2);
    padding: 10px;
    box-sizing: border-box;
    transition: opacity .3s ease;
  }
  .header-search:not(.is--active){
    display: none;
  }
  .header-search:not(.is--show){
    opacity: 0;
  }
  .header-search input[type=text] {
    width: 300px;
    height: 40px;
    box-sizing: border-box;
    border: none;
    padding: 0 40px 0 10px;
    background: #fff;
    border-radius: 22px;
    position: relative;
  }
  .header-search button {
    border: none;
    display: block;
    background: none;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 25px;
    line-height: 0;
  }
  /*header-menu2*/
  .header-menu2-sec1{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 20px;
    padding-right: 10px;
  }
  .header-menu2-sec1-eng{
    padding-right: 15px;
    margin-right: 15px;
    border-right: solid 1px #c4c4c4;
    font-family: var(--font-en);
  }
  .header-menu2-sec1-eng a{
    display: flex;
    align-items: center;
  }
  .header-menu2-sec1-eng span{
    margin-right: 5px;
    line-height: 1;
  }
  .header-menu2-sec1-search{
    line-height: 1;
    cursor: pointer;
  }
  .header-menu2-sec2--items{
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    margin-bottom: 13px;
  }

  /*ヘッダースクロールメニュー*/
  .header.hd-fix .header-menu2-sec1{
    display: none;
  }
  .header.hd-fix{
    min-height: 70px;
  }
  .header.hd-fix .header-logo a {
    padding: 15px 0;
    box-sizing: border-box;
    display: block;
  }
  .header.hd-fix .header-logo a img{
    width: 220px;
    height: auto;
  }
}
@media screen and (min-width:1200px){
  .header-nav--pulldown{
      position: absolute;
      bottom: 0;
      right: calc((100% - 100vw) / 2);
      left: auto;
      z-index: 1;
      transform: translateY(100%);
      width: 100vw;
      background: #f9f9f9;
      transition: opacity .3s ease;
  }
}
/* sp */
@media screen and (max-width:767px){
    .header{
        min-height: 0;
        background: none;
    }
    .header-inner{
        position: relative;
        width: 100%;
        height: 50px;
        background: #fff;
        display: flex;
        justify-content: space-between;
    }
    .header-logo{
        position: absolute;
        top: 12px;
        left: 10px;
        width: 137px;
    }
    .header-menu-btn{
      display: block;
        position: fixed;
        top: 0;
        right: 0;
        width: 50px;
        height: 50px;
        background: linear-gradient(to top,#fff,#fff) no-repeat top 24px left 13px / 24px 2px,var(--main-color3);
        cursor: pointer;
    }
    .header-menu-btn.menu--open{
        background: var(--main-color3);
    }
    .header-menu-btn::before,
    .header-menu-btn::after{
        position: absolute;
        left: 13px;
        width: 24px;
        height: 2px;
        background: #fff;
        content: "";
        transition: transform .3s ease,top .3s ease;
    }
    .header-menu-btn::before{
        top: calc(50% - 8px);
    }
    .header-menu-btn.menu--open::before{
        top: calc(50% - 1px);
        transform: rotate(45deg);
    }
    .header-menu-btn::after{
        top: calc(50% + 6px);
    }
    .header-menu-btn.menu--open::after{
        top: calc(50% - 1px);
        transform: rotate(-45deg);
    }
    .header-menu{
      width: 100%;
      position: fixed;
      top: 50px;
      left: 0;
      z-index: -1;
      height: calc(100vh - 50px);
      padding: 0 0 calc(20px + env(safe-area-inset-bottom));
      overflow-x: hidden;
      overflow-y: auto;
      background: rgba(255,255,255,.9);
      transition: opacity .3s ease;
      border-top: solid 1px #e6e6e6;
    }
    .header-menu:not(.is--active){
        display: none;
    }
    .header-menu:not(.is--show){
        opacity: 0;
    }
    .header-nav{
        max-width: 100%;
        background: #fff;
    }
    .header-nav-list{
        display: block;
    }
    .header-nav-list-item__link{
        display: inline-block;
        padding: 6px 0 7px;
        font-size: 1.4rem;
        transition: all ease .3s;
    }
    /* header-nav--pulldown */
    .header-nav--pulldown{
      background: #f5f5f5;
      padding: 10px 15px;
      box-sizing: border-box;
    }
    .header-nav--pulldown-list-item__link{
        display: inline-block;
        position: relative;
        padding: 6px 0 7px;
        font-size: 1.4rem;
        line-height: calc(1em + 5px);
    }
    .header-nav--pulldown-list-item__link::before{
        display: inline-block;
        margin-right: .2em;
        content: "・";
    }
    .header-nav-list-item__link.pc{
      display: none;
    }

    .header-nav-list-item__link{
      font-weight: bold;
      width: 100%;
      display: block;
      padding: 15px 30px 15px 15px;
      box-sizing: border-box;
      border-bottom: solid 1px #e6e6e6;
      position: relative;
    }
    .header-nav-list-item__link.accordion_close_sp,
    .header-nav-list-item__link.accordion_open_sp{
      cursor: pointer;
    }
    .header-nav-list-item__link:not(.js-accordion--sp):after,
    .header-nav-list-item__link:not(.accordion_close_sp):after,
    .header-nav-list-item__link:not(.accordion_open_sp):after{
      content: "";
      background: url(../img/icon_link2.svg) no-repeat;
      background-size: cover;
      width: 14px;
      height: 14px;
      position: absolute;
      top: 0;
      right: 15px;
      bottom: 0;
      margin: auto;
    }
    .header-nav-list-item__link.js-accordion--sp:after{
      content: "";
      background: url(../img/icon_link2.svg) no-repeat;
      background-size: cover;
      width: 14px;
      height: 14px;
      position: absolute;
      top: 0;
      right: 15px;
      bottom: 0;
      margin: auto;
    }
    .header-nav-list-item__link.js-accordion--sp:before,
    .header-nav-list-item__link.accordion_close_sp:before,
    .header-nav-list-item__link.accordion_open_sp:before {
      content: "";
      background: var(--main-color3);
      width: 10px;
      height: 2px;
      position: absolute;
      top: 0;
      right: 17px;
      bottom: 0;
      margin: auto;
    }
    .header-nav-list-item__link.js-accordion--sp:after,
    .header-nav-list-item__link.accordion_close_sp:after,
    .header-nav-list-item__link.accordion_open_sp:after {
      content: "";
      background: var(--main-color3);
      width: 2px;
      height: 10px;
      position: absolute;
      top: 0;
      right: 21px;
      bottom: 0;
      margin: auto;
      transition: all .5s ease;
    }
    .header-nav-list-item__link.js-accordion--sp.accordion--open:after,
    .header-nav-list-item__link.accordion_open_sp:after {
      transform: rotate(90deg);
      opacity: 0;
    }
    .header-nav-list-item__link.js-accordion--sp.accordion--open,
    .header-nav-list-item__link.accordion_open_sp{
      color: var(--main-color2);
      border-bottom: solid 3px var(--main-color2);
      transition: all .2s ease;
    }
    .header-nav--pulldown-item{
      border-bottom: solid 1px #e6e6e6;
    }
    .header-nav--pulldown-item.in_acd{
      padding-bottom: 10px;
    }
    .header-nav--pulldown-item.second{
      border-bottom: none;
    }
    .header-nav--pulldown-title{
      display: none;
    }
    .header-nav--pulldown-item-title a{
      font-weight: bold;
      width: 100%;
      display: block;
      padding: 10px 0;
      box-sizing: border-box;
      position: relative;
    }
    .header-nav--pulldown-item-title a:after{
      content: "";
      background: url(../img/icon_link2.svg) no-repeat;
      background-size: cover;
      width: 14px;
      height: 14px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto;
    }
    .header-nav--pulldown-item-title.second{
      margin-top: 15px;
      border-top: solid 1px #e6e6e6;
    }
    .header-nav--pulldown-item-title.second + .header-nav--pulldown-item-title.second{
      margin-top: 0;
    }
    .header-nav--pulldown-item-title.sp{
      border-bottom: solid 1px #e6e6e6;
    }
    .header-nav--pulldown-item-link a{
      color: #4d4d4d;
      font-size: 1.4rem;
      display: flex;
      background: #fff;
      width: 100%;
      align-items: center;
      padding: 8px 5px;
    }
    .header-nav--pulldown-item-link a span{
      margin-right: 5px;
    }
    .header-nav--pulldown-item-link{
      margin-bottom: 5px;
    }
    .header-search{
      display: none;
    }
    /*header-menu2-sec2--items*/
    .header-menu2-sec2--items{
      display: flex;
      justify-content: space-between;
      padding: 20px 15px 10px;
      box-sizing: border-box;
    }
    .header-menu2-sec2--item{
      flex: 0 1 100%;
    }
    .header-menu2-sec2--item a{
      width: 100%;
      border-radius: 25px;
    }
    .header-menu2-sec2--item a span{
      margin-left: 5px;
      line-height: 1;
    }
    .header-menu2-sec2--item a span img{
      width: 14px;
    }
    .header-menu-search{
      padding: 10px 15px;
      box-sizing: border-box;
      position: relative;
    }
    .header-menu-search input[type=text] {
      width: 100%;
      height: 50px;
      box-sizing: border-box;
      border: none;
      padding: 0 40px 0 10px;
      background: #fff;
      border-radius: 25px;
      position: relative;
      border: solid 1px #cccccc;
    }
    .header-menu-search button {
      border: none;
      display: block;
      background: none;
      width: 18px;
      height: 18px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      right: 30px;
      line-height: 0;
    }
    .header-menu-eng{
      width: 38%;
      margin: 0 auto;
    }
    .header-menu-eng a{
      font-family: var(--font-en);
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 40px;
      border-radius: 20px;
      background: #f2f2f2;
    }
    .header-menu-eng a img{
      width: 18px;
      margin-right: 5px;
    }
}

/*-------------
footer
-------------*/
.footer{
  background: #f0f0f0;
  padding: 50px 0;
  box-sizing: border-box;
  border-bottom: solid 5px #346180;
}
.footer-wrapper{
  width: 100%;
  max-width: 1440px;
  min-width: 1200px;
  margin: 0 auto;
padding:0 5px;
box-sizing: border-box;
}
.footer-logo{
  margin-bottom: 60px;
}
.footer-titlelink a{
  display: block;
  width: 100%;
  font-size: 1.5rem;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 15px;
  border-bottom: solid 1px #cccccc;
  padding-left: 20px;
  box-sizing: border-box;
  position: relative;
}
.footer-titlelink a:before {
  content: "";
  background: url(../img/icon_link2.svg) no-repeat;
  background-size: cover;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 0;
  bottom: 10px;
  left: 0;
  margin: auto;
}
.footer-titlelink.top a{
  border-bottom: none;
}
.footer-inner-main{
  display: flex;
  justify-content: space-between;
}
.footer-inner-main:after{
  content: none;
}
.footer--sec:first-child{
  flex: 0 1 49%;
}
.footer--sec:nth-child(2){
  flex: 0 1 22.5%;
}
.footer--sec:nth-child(3){
  flex: 0 1 22.5%;
}
@media screen and (min-width:768px){
  .footer-sec-2colm{
    display: flex;
    flex-direction: row-reverse;
    gap: 0 6.9%;
  }
  .footer-sec-2colm > *{
    flex: 1;
  }
}
.footer-nav-list{
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
.footer-nav-list:after{
  content: none;
}
.footer-nav-list--item{
  flex: 0 1 46.55%;
  margin-bottom: 20px;
}
.footer-nav-list--item.long{
flex:0 1 100%;
}
.footer-sec--item:not(:last-of-type){
  margin-bottom: 30px;
}
.footer--sec:nth-child(2) .footer-nav-list{
  display: block;
}
.footer-nav-list--item-wrapper{
  margin-bottom: 8px;
}
.footer-nav-list--item-wrapper a{
  font-weight: bold;
  font-size: 1.3rem;
}
.footer-nav-list--item-nav p:not(:last-of-type){
  margin-bottom: 8px;
}
.footer-nav-list--item-nav p a{
  color: #666666;
  font-size: 1.3rem;
  display: block;
  width: 100%;
  padding-left: 20px;
  position: relative;
}
.footer-nav-list--item-nav p a:before{
  content: "";
  width: 8px;
  height: 1px;
  background: #333333;
  position: absolute;
  top: 9px;
  left: 0;
}
.foote-btn{
  padding: 30px 0;
  box-sizing: border-box;
}
.foote-btn--item__link{
  width: 100%;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  background: var(--main-color3);
}
.foote-btn--item__link.contact-btn{
  margin-top: 10px;
}
.foote-btn--item__link.contact-btn{
  background: var(--main-color1);
}
.foote-btn--item__link span{
  margin-left: 8px;
  line-height: 1;
}
.footer-company{
  margin-bottom: 40px;
}
.footer-company dt{
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.footer-company dd{
  font-size: 1.3rem;
  color: #666666;
  line-height: 1.5;
}
.footer-copy{
  font-size: 1.2rem;
  font-family: var(--font-en);
  color: #b3b3b3;
  margin-top: 40px;
}
.footer__pagetop-btn{
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000000;
  margin: 0 0 0 auto;
  cursor: pointer;
  position: relative;
}
.footer__pagetop-btn:before{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 10px;
  border-color: transparent transparent transparent #fff;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  transform: rotate(-90deg);
}
/* sp */
@media screen and (max-width:767px){
  .footer {
    padding: 40px 0;
  }
  .footer-wrapper {
    width: 100%;
    max-width: inherit;
    min-width: inherit;
    margin: 0 auto;
padding:0;
  }
  .footer-logo {
    width: 137px;
    margin-bottom: 20px;
    margin-left: 15px;
  }
  .footer-titlelink a {
    font-size: 1.4rem;
    padding: 12px 15px 12px 35px;
    box-sizing: border-box;
    border-bottom: solid 1px #cccccc;
    margin-bottom: 0;
  }
  .footer-titlelink.top a {
    border-top: solid 1px #cccccc;
    border-bottom: solid 1px #cccccc;
    margin-bottom: 0;
  }
  .footer-titlelink a:before{
    bottom: 0;
    left: 15px;
  }
  .footer-inner-main {
    display: block;
  }
  .footer-sec--item:not(:last-of-type) {
    margin-bottom: 0;
  }
  .footer-titlelink a:before {
    width: 15px;
    height: 15px;
  }
  .footer-titlelink span {
    font-size: 1.4rem;
    padding: 12px 15px 12px 35px;
    box-sizing: border-box;
    border-bottom: solid 1px #cccccc;
    margin-bottom: 0;
    display: block;
    font-weight: bold;
  }
  .footer-titlelink.js-accordion--sp{
    position: relative;
  }
  .footer-titlelink.js-accordion--sp:before{
    content: "";
    width: 15px;
    height: 15px;
    background: var(--main-color2);
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    margin: auto;
  }
  .footer-titlelink.js-accordion--sp span:before {
    content: "";
    background: #fff;
    width: 8px;
    height: 2px;
    position: absolute;
    top: 0;
    left: 17.8px;
    bottom: 0;
    margin: auto;
  }
  .footer-titlelink.js-accordion--sp span:after {
    content: "";
    background: #fff;
    width: 2px;
    height: 8px;
    position: absolute;
    top: 0;
    left: 21px;
    bottom: 0;
    margin: auto;
    transition: all .5s ease;
  }
  .footer-titlelink.js-accordion--sp.accordion--open span:after {
    transform: rotate(90deg);
    opacity: 0;
  }
  .footer-nav-list {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
    background: #fff;
    padding: 15px;
    box-sizing: border-box;
  }
  .footer-nav-list--item-wrapper a {
    padding-bottom: 5px;
    border-bottom: solid 1px #cccccc;
    display: block;
    width: 100%;
  }
  .footer-nav-list--item-nav p a {
    padding-left: 15px;
  }
  .footer--sec:first-child .footer-sec1--item:nth-child(2) .footer-nav-list{
    display: block;
  }
  .footer-nav-list--item {
    flex: 0 1 48%;
  }
  .foote-btn {
    padding: 30px 15px;
    box-sizing: border-box;
  }
  .foote-btn--item__link{
    height: 50px;
  }
  .foote-btn--item__link span img{
    width: 14px;
  }
  .footer-company{
    padding: 0 15px;
    box-sizing: border-box;
  }
  .footer--sec:nth-child(3) .footer-nav-list--item-nav{
    padding: 0 15px;
    box-sizing: border-box;
  }
  .footer-copy{
    padding: 0 15px;
    box-sizing: border-box;
  }
  .footer__pagetop-btn {
    width: 40px;
    height: 40px;
  }
  .footer__pagetop-btn:before {
    border-width: 6px 0 6px 8px;
  }
}

/*-------------
keen-slider
-------------*/
.keen-slider {
    align-content: flex-start;
    display: flex;
    overflow: hidden;
    position: relative;
    touch-action: pan-y;
    user-select: none;
    width: 100%;
}
.keen-slider--navigation-wrapper,
.keen-slider--navigation-track {
    position: relative;
}
.keen-slider-dots {
    display: flex;
    justify-content: center;
    padding: 10px 0;
}
.keen-slider-dot {
    width: 10px;
    height: 10px;
    margin: 0 8px;
    padding: 5px;
    border-radius: 50%;
    background: #c5c5c5;
    color: rgba(255,255,255,0);
    font-size: 0;
    cursor: pointer;
}
.keen-slider-dot:focus {
    outline: none;
}
.keen-slider-dot--active {
    background: #006be5;
    pointer-events: none;
}
.keen-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    color: rgba(255,255,255,0);
    font-size: 0;
    cursor: pointer;
}
/* sp */
@media screen and (max-width:767px){
  .keen-slider-dot {
    margin: 0 5px;
  }
}
/*-------------
contents
-------------*/
.contents{
  margin-top: 100px;
  margin-bottom: 100px;
}
/* sp */
@media screen and (max-width:767px){
  .contents{
    margin-top: 50px;
    margin-bottom: 60px;
  }
}
/*-------------
title
-------------*/
.title1{
  margin-bottom: 30px;
  color: var(--main-black);
  font-family: var(--font-en);
  font-size: 3.8rem;
  font-weight: bold;
  line-height: calc(1em + 7px);
  position: relative;
  padding-top: 20px;
}
.title1:before{
  content: "";
  width: 10px;
  height: 10px;
  display:inline-block;
  background: var(--main-color1);
  border-radius: 50%;
  margin-right: 5px;
  position: absolute;
  left: 0;
  top: 0;
}
.title1:after{
  content: "";
  width: 10px;
  height: 10px;
  display:inline-block;
  background: var(--main-color2);
  border-radius: 50%;
  margin-right: 5px;
  position: absolute;
  left: 20px;
  top: 0;
}
.title1 span:before{
  content: "";
  width: 10px;
  height: 10px;
  display:inline-block;
  background: var(--main-color3);
  border-radius: 50%;
  margin-right: 5px;
  position: absolute;
  left: 40px;
  top: 0;
}
.title2{
  color: #1a1a1a;
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 15px;
  font-size: 3.6rem;
  font-weight: 900;
  position: relative;
  letter-spacing: 0.2rem;
}
.title2:after{
  content: "";
  background: var(--main-color1);
  width: 40px;
  height: 3px;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
/*sp*/
@media screen and (max-width:767px){
  .title1{
    margin-bottom: 25px;
    font-size: 3.0rem;
  }
  .title2{
    font-size: 2.5rem;
  }
}
/*-------------
top
-------------*/
.top-mainvisual{
    position: relative;
    width: 100%;
    margin: 0 auto 20px;
    max-width: 1440px;
    min-width: 1024px;
}
.top-mainvisual a{
    transition: opacity .3s ease;
}
@media screen and (min-width:769px){
  .top-mainvisual a:hover{
    opacity: .75;
  }
}
.top-mainvisual-slider-item img{
  width: 100%;
  height: auto;
}
.top-mainvisual .keen-slider-arrow{
  display: none;
}
/*sp*/
@media screen and (max-width:767px){
 .top-mainvisual{
   min-width: inherit;
   max-width: inherit;
 }
}
/*top-product*/
.top-product{
  width: 100%;
  background: var(--bg-color1);
  padding: 70px 0;
  box-sizing: border-box;
}
.top-product-wrapper{
  width: 1200px;
  margin: 0 auto;
}
.top-product--items{
  display: flex;
  justify-content: space-between;
}
.top-product--item img{
  border-radius: 10px;
}
.top-product--item-main{
  color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 30px;
  box-sizing: border-box;
  z-index: 1;
}
.top-product--item-main_title{
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 10px;
  text-shadow: 1px 1px 6px rgb(0 0 0 / 70%);
  display: flex;
  align-items: center;
}
.top-product--item-main_title:after{
  content: "";
  background: url(../img/icon_link.png) no-repeat;
  background-size: cover;
  width: 36px;
  height: 36px;
  min-width: 36px;
  margin-top: 1px;
  margin-left: 5px;
}
/* PCのみ */
@media screen and (min-width:768px){
  .top-product--item{
    position: relative;
    transition: all ease .3s;
    overflow: hidden;
  }
  .top-product--item:after{
    content: "";
    width: 100%;
    height: 0;
    background : linear-gradient(0deg, rgba(26, 26, 26, 0.9) 0%, rgba(26, 26, 26, 0.2) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    transition: height .3s ease;
  }
  .top-product--item:hover:after{
    transition: height .3s ease;
    height: 100%;
  }
  .top-product--item-main_text{
    line-height: 2;
  }
  .top-product--item-main{
    transition: all ease .3s;
  }
  .top-product--item:hover .top-product--item-main{
    transform: translateY(0) !important;
    transition: all ease .3s;
  }
  .news-article-list-item__title{
    transition: all ease .3s;
  }
  .news-article-list-item-inner:hover .news-article-list-item__title{
    color: var(--main-color3);
    transition: all ease .3s;
  }
}
/*sp*/
@media screen and (max-width:767px){
  .top-product{
    padding: 40px 0;
  }
  .top-product-wrapper{
    width: var(--width--sp);
    margin: 0 auto;
  }
  .top-product--items{
    display: block;
  }
  .top-product--item {
    position: relative;
  }
  .top-product--item:not(:last-child){
    margin-bottom: 10px;
  }
  .top-product--item-main{
    transform: none!important;
    width: 100%;
    padding: 15px 15px;
  }
  .top-product--item-main_title{
    margin-bottom: 0;
    font-size: 1.8rem;
  }
  .top-product--item-main_text{
    display: none;
  }
}
/*top-news*/
.top-news{
  width: 100%;
  padding: 70px 0;
  box-sizing: border-box;
}
.top-news-wrapper{
  width: 1200px;
  margin: 0 auto;
  position: relative;
}
.top-news-rss{
  position: absolute;
  top: 20px;
  right: 190px;
}
/*news*/
.news-article-list{
  border-bottom: solid 1px var(--border-gray);
}
.news-article-list-item {
  border-top: solid 1px var(--border-gray);
}
.news-article-list-item-inner {
  display: block;
  padding: 20px 90px 20px 210px;
  position: relative;
}
.news-article-list-item-inner:after{
  content: "";
  background: url(../img/icon_news1.svg) no-repeat;
  background-size: cover;
  width: 15px;
  height: 10px;
  position: absolute;
  top: 0;
  right: 40px;
  bottom: 0;
  margin: auto;
}
.news-article-list-item__date{
  font-size: 1.4rem;
  color: #999999;
  position: absolute;
  top: 0;
  left: 60px;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
}
.news-article-list-item__cate{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 73px;
  height: 24px;
  padding: 0 5px;
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: 5px;
  border-radius: 3px;
}
.news-article-list-item__cate.cat1{
  background: var(--main-color1);
}
.news-article-list-item__cate.cat2{
  background: var(--main-color2);
}
.news-article-list-item__cate.cat3{
  background: var(--main-color3);
}
.news-article-list-item__cate.cat4{
  background: var(--main-orenge);
}
.news-article-list-item__title{
  font-size: 1.8rem;
}
.news-article-list-item__title span{
  font-size: 1.4rem;
  color:#666666;
}
.news-article-list-item__title span:before {
    content: "";
    background: url(../img/icon_pdf.svg) no-repeat;
    background-size: cover;
    width: 14px;
    height: 17px;
    margin-left: 5px;
    margin-right: 12px;
    display: inline-block;
}
.top-news-btn{
  width: 180px;
  height: 50px;
  position: absolute;
  top: 20px;
  right: 0;
}
.top-news-btn a{
  font-weight: bold;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  border: solid 1px #cccccc;
  border-radius: 25px;
  position: relative;
}
.top-news-btn a:after{
  content: "";
  background: url(../img/icon_news1.svg) no-repeat;
  background-size: cover;
  width: 15px;
  height: 10px;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}
/*sp*/
@media screen and (max-width:767px){
  .top-news{
    padding: 40px 0;
  }
  .top-news-wrapper{
    width: var(--width--sp);
    margin: 0 auto;
  }
  .top-news-rss{
    position: absolute;
    top: 27px;
    right: 0;
  }
  .top-news-rss img{
    width: 35px;
  }
  .top-news-btn{
    width: 100%;
    height: 50px;
    position: static;
  }

  /*news*/
  .news-article-list{
    margin-bottom: 20px;
  }
  .news-article-list-item-inner {
    display: block;
    padding: 20px 30px 20px 10px;
    position: relative;
  }
  .news-article-list-item-head{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 10px;
  }
  .news-article-list-item__date{
    position: static;
    margin: 0 8px 0 0;
  }
  .news-article-list-item__cate{
    margin-bottom: 0;
  }
  .news-article-list-item-inner:after{
    right: 5px;
  }
}
/*top-linklist*/
.top-linklist{
  width: 100%;
}
.top-linklist--items{
  min-width: 1200px;
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
.top-linklist--items:after{
  content: none;
}
.top-linklist--item{
  flex: 0 1 50%;
}
.top-linklist--item a{
  display: block;
  width: 100%;
  position: relative;
}
.top-linklist--item a img{
  width: 100%;
  height: auto;
  aspect-ratio: 12 / 5;
}
.top-linklist--item_title{
  font-size: 2.6rem;
  font-weight: bold;
  position: absolute;
  left: 60px;
  bottom: 30px;
  text-shadow: 1px 1px 10px rgb(255 255 255 / 90%)
}
.top-linklist--item_title::after {
    display: block;
    color: var(--main-black);
    font-family: var(--font-en);
    font-size: 1.4rem;
    font-weight: bold;
    line-height: calc(1em + 7px);
    content: attr(data-title-en);
    margin-top: 5px;
}
.top-linklist--item_catch{
  position: absolute;
  top: 60px;
  left: 60px;
}
.top-linklist--item_catch span{
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  display: table;
  padding: 5px 8px;
  box-sizing: border-box;
  letter-spacing: 0.5rem;
  transform: skewX(-10deg);
}
.top-linklist--item_catch span:not(:last-child){
  margin-bottom: 5px;
}
.top-linklist--item_catch span:first-child{
  background: #000;
}
.top-linklist--item_catch span:nth-child(2){
  background: #e11718;
}
@media screen and (min-width:1250px){
  .top-linklist--item_title{
    bottom: 60px;
  }
}
/* 1300以下の時 */
@media screen and (max-width:1300px){
  .top-linklist--item_catch span{
    font-size: 2.0rem;
  }
}
/* sp */
@media screen and (max-width:767px){
  .top-linklist{
    width: 100%;
  }
  .top-linklist--items{
    min-width: inherit;
  }
  .top-linklist--item{
    flex: 0 1 50%;
  }
  .top-linklist--item a img{
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
  }
  .top-linklist--item_title{
    font-size: 2.0rem;
    font-weight: bold;
    position: absolute;
    left: 15px;
    bottom: 15px;
    text-shadow: 1px 1px 6px rgb(255 255 255 / 70%)；
  }
  .top-linklist--item_title::after {
      font-size: 1.2rem;
  }
  .top-linklist--item_catch{
    position: absolute;
    top: auto;
    left: 15px;
    bottom: 80px;
  }
  .top-linklist--item_catch span{
    color: #fff;
    font-size:1.4rem;
    font-weight: bold;
    display: table;
    padding: 5px;
    box-sizing: border-box;
    letter-spacing:0;
  }
  .top-linklist--item_catch span:not(:last-child){
    margin-bottom: 3px;
  }
}
/*------------------------------
追記
--------------------------------*/
table.company_tb{
  width: 100%;
  border-top: solid 1px var(--main-color2) !important;
}
table.company_tb tr{
  border-bottom: solid 1px var(--main-color2) !important;
}
table.company_tb tr td[width="8"]{
  padding: 0!important;
}
table.company_tb tr td table{
  border-top: none !important;
}
table.company_tb tr td table tr{
  border-bottom: none !important;
}
table.company_tb tr td table tr td[align="right"] img{
  width: auto;
}
/* sp */
/* sp */
@media screen and (max-width:767px){
  table.company_tb :is(th,td).is--sp-wid_auto{
    width: auto!important;
  }
  table.company_tb :is(th,td).is--sp-valign_top{
    padding-top: 16px!important;
    vertical-align: top!important;
  }
}
/*-------------------------------
サステナビリティ
-----------------------------------*/
/*eco-sec1*/
.eco-sec1{
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
.eco-sec1:after{
   content: none;
}
.eco-sec1-main{
  flex: 0 1 450px;
}
.eco-sec1-main p{
  line-height: 1.8;
}
.eco-sec1-pho img{
  border-radius: 5px;
}
/* sp */
@media screen and (max-width:767px){
  .eco-sec1{
    display: block;
    margin-bottom: 40px;
  }
  .eco-sec1-pho{
    padding: 25px;
    box-sizing: border-box;
  }
}
/*eco-sec2*/
.eco-sec2{
  margin-bottom: 50px;
}
.eco-sec2 p{
  line-height: 1.8;
}
.eco-sec2-text{
  margin-bottom: 20px;
}
.eco-sec2-list{
  border: solid 1px #e6e6e6;
  box-sizing: border-box;
  padding: 30px;
  margin-bottom: 20px;
  counter-reset: number 0;
}
.eco-sec2-list li{
  display: flex;
  line-height: 2;
}
.eco-sec2-list li:before{
  font-weight: bold;
  color: var(--main-color2);
  counter-increment: number 1;
  content: counter(number) ".";
  width: 25px;
  display: block;
  min-width: 25px;
}
.eco-sec2-info{
  line-height: 1.5;
  margin: 0 0 10px auto;
}
.eco-sec2-info .era{
  display: flex;
  justify-content: flex-end;
}
.eco-sec2-info .era:after{
  content: none;
}
/* sp */
@media screen and (max-width:767px){
  .eco-sec2-list{
    padding: 15px;
  }
}
/*eco-sec3*/
.eco-sec3{
  margin-bottom: 50px;
}
.eco-sec3-main{
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.eco-sec3-main:after{
   content: none;
}
.eco-sec3-main .file-link-list{
  flex: 0 1 450px;
}
.eco-sec3-pho img{
  border-radius: 5px;
}
.file-link-list li:not(:last-of-type){
  margin-bottom: 5px;
}
.file-link-list li a{
  display: block;
  padding: 15px 50px 15px 15px;
  box-sizing: border-box;
  border: solid 1px #e6e6e6;
  border-radius: 5px;
  position: relative;
}
.file-link-list li a:after {
    content: "";
    background: url(../img/icon_news1.svg) no-repeat;
    background-size: cover;
    width: 15px;
    height: 10px;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
.file-link-list li.pdf a span:before{
  content: "";
  background: url(../img/icon_pdf.svg) no-repeat;
  background-size: cover;
  width: 14px;
  height: 17px;
  margin-left: 5px;
  margin-right: 12px;
  display: inline-block;
}
.acrobat-bnr{
  display: flex;
  align-items: center;
}
.acrobat-bnr-pho{
  margin-right: 20px;
}
/* PCのみ */
@media screen and (min-width:768px){
  .file-link-list li a{
    transition: all ease .3s;
  }
  .file-link-list li a:hover{
    background: #e5f4fe;
    transition: all ease .3s;
  }
}
/* sp */
@media screen and (max-width:767px){
  .eco-sec3{
    margin-bottom: 40px;
  }
  .eco-sec3-main{
    display: block;
    margin-bottom: 0;
  }
  .eco-sec3-pho{
    padding: 25px;
    box-sizing: border-box;
  }
  .acrobat-bnr{
    display: none;
  }
}
/*eco-sec4*/
.eco-sec4{
  margin-bottom: 50px;
}
.eco-sec4 p{
  margin-bottom: 20px;
  line-height: 1.8;
}
.eco-sec4 .file-link-list{
  margin-top: 20px;
}
.eco-sec4 .file-link-list li{
  display: table;
}
/* sp */
@media screen and (max-width:767px){
  .eco-sec4 .file-link-list li{
    display: block;
  }
}
/*eco-sec5*/
.eco-sec5-pho{
  margin-bottom: 20px;
}
.eco-sec5-text{
  margin-bottom: 20px;
  line-height: 1.8;
}
.eco-sec5 .file-link-list li{
  display: table;
}
/* sp */
@media screen and (max-width:767px){
  .eco-sec5 .file-link-list li{
    display: block;
  }
  .eco-sec5-pho.wid img{
    width:250px;
  }
}
/*relationship-sec1*/
.relationship-sec1{
  margin-bottom: 50px;
}
.relationship-sec-text{
  margin-bottom: 20px;
  line-height: 1.8;
}
.relationship-sec1 .file-link-list{
  display: table;
}
/* sp */
@media screen and (max-width:767px){
  .relationship-sec1{
    margin-bottom: 40px;
  }
  .relationship-sec1 .file-link-list{
    display: block;
  }
}
/*relationship-sec2*/
.relationship-sec2{
  margin-bottom: 50px;
}
.relationship-sec2 h3{
  margin-bottom: 30px !important;
}
.relationship-sec2-list{
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  border-top: solid 1px #e6e6e6;
  border-bottom: solid 1px #e6e6e6;
}
.relationship-sec2-list:after{
  content: none;
}
.relationship-sec2-list--item{
  flex: 0 1 50%;
  padding: 20px 10px 20px 20px;
  box-sizing: border-box;
  display: flex;
}
.relationship-sec2-list--item:not(:nth-of-type(-n + 2)){
  border-top: solid 1px #e6e6e6;
}
.relationship-sec2-list--item:nth-of-type(2n){
  border-left: solid 1px #e6e6e6;
}
.relationship-sec2-list--item_title{
  font-weight: bold;
  flex: 0 1 115px;
  min-width: 115px;
  border-right: solid 1px #e6e6e6;
  display: flex;
  align-items: center;
}
.relationship-sec2-list--item_text{
  padding-left: 20px;
  box-sizing: border-box;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.relationship-sec2-list--item_text > *{
  flex: 0 1 100%;
}
.relationship-sec2-list--item_text p:not(:last-of-type){
  margin-bottom: 8px;
}
.relationship-sec2-list--item_text .product_name a{
  width: 210px;
  padding: 10px 50px 10px 10px;
}
.relationship-sec2-list2{
  border-bottom: solid 1px #e6e6e6;
}
.relationship-sec2-list2-wrapper{
  padding: 20px 10px 20px 20px;
  box-sizing: border-box;
  display: flex;
}
.relationship-sec2-list2_title{
  font-weight: bold;
  flex: 0 1 320px;
  min-width: 320px;
  border-right: solid 1px #e6e6e6;
  display: flex;
  align-items: center;
}
.relationship-sec2-list2_text{
  padding-left: 20px;
  box-sizing: border-box;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.relationship-sec2-list2_text p:not(:last-child){
  margin-bottom: 8px;
}
.relationship-sec2-list2-info{
  background: #f5f5f5;
  box-sizing: border-box;
  padding: 20px;
  width: 100%;
  margin-top: 20px;
}
.relationship-sec2-list2-info-title{
  font-size: 1.5rem !important;
  padding: 0 0 10px 0 !important;
  margin-bottom: 20px !important;
  position: relative !important;
  border-bottom: solid 1px #cccccc !important;
}
.relationship-sec2-list2-info-title:before{
  content: none !important;
}
.relationship-sec2-list2-info-title:after {
    content: "";
    background: var(--main-color3);
    width: 50px;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -1px;
}
.relationship-sec2-list2-info-items{
  display: flex;
  justify-content: space-between;
}
.relationship-sec2-list2-info-items:after{
  content: none;
}
.relationship-sec2-list2-info-items img{
  margin-bottom: 5px;
}
.relationship-sec2-list2-info-items p{
  font-size: 1.3rem;
  text-align: center;
  margin-bottom: 0;
  line-height: 1.5;
  max-width: 163px;
}
/* sp */
@media screen and (max-width:767px){
  .relationship-sec2{
    margin-bottom: 40px;
  }
  .relationship-sec2-list{
    display: block;
    border-top: solid 1px #e6e6e6;
    border-bottom: none;
  }
  .relationship-sec2-list--item{
    padding: 20px 0;
    display: block;
    border-bottom: solid 1px #e6e6e6;
  }
  .relationship-sec2-list--item:nth-of-type(2n){
    border-left: none;
  }
  .relationship-sec2-list--item_title{
    min-width: inherit;
    border-right: none;
    display: block;
    margin-bottom: 15px;
  }
  .relationship-sec2-list--item_text{
    padding-left: 0;
    display: block;
  }
  .relationship-sec2-list--item_text p:not(:last-of-type){
    margin-bottom: 5px;
  }
  .relationship-sec2-list--item_text .product_name{
    display: block;
  }
  .relationship-sec2-list--item_text .product_name a{
    width: 100%;
    margin-top: 10px;
  }
  .relationship-sec2-list2-wrapper {
    padding: 20px 0;
    box-sizing: border-box;
    display: block;
  }
  .relationship-sec2-list2_title {
    min-width: inherit;
    border-right: none;
    display: block;
    margin-bottom: 15px;
  }
  .relationship-sec2-list2_text {
    padding-left: 0;
    display: block;
  }
  .relationship-sec2-list2-info-title{
    font-size: 1.4rem !important;
    margin-bottom: 20px !important;
  }
  .relationship-sec2-list2-info-scroll{
    overflow-x: scroll;
  }
  .relationship-sec2-list2-info-item:not(:last-of-type){
    margin-right: 15px;
  }
  .relationship-sec2-list2-info-item img{
    width: 163px;
  }
  .relationship-sec2-list2-info-items p{
    max-width: inherit;
  }
}
.relationship-sec3{
  margin-bottom: 50px;
}
.relationship-sec3 h3{
  margin-bottom: 30px !important;
}
.relationship-sec3-text2{
  display: flex;
  flex-flow: row-reverse;
  margin-bottom: 30px;
}
.relationship-sec3-text2 img{
  margin-left: 30px;
}
.relationship-sec3-text2 p{
  line-height: 1.8;
}
.relationship-sec3-list{
  border-top: solid 1px #e6e6e6;
  border-bottom: solid 1px #e6e6e6;
}
.relationship-sec3-list:after{
  content: none;
}
.relationship-sec3-list--item{
  flex: 0 1 50%;
  padding: 20px 10px 20px 20px;
  box-sizing: border-box;
  display: flex;
}
.relationship-sec3-list--item:not(:first-of-type){
  border-top: solid 1px #e6e6e6;
}
.relationship-sec3-list--item_title{
  font-size: 1.8rem;
  color: var(--main-color3);
  font-weight: bold;
  flex: 0 1 210px;
  min-width: 210px;
  border-right: solid 1px #e6e6e6;
  display: flex;
  align-items: center;
}
.relationship-sec3-list--item_text{
  padding-left: 20px;
  box-sizing: border-box;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  line-height: 1.8;
}
.relationship-sec3-list--item_text > *{
  flex: 0 1 100%;
}
.relationship-sec3-list--item_text p:not(:last-of-type){
  margin-bottom: 8px;
}
.relationship-sec3-list--item_text .product_name a{
  width: 160px;
  padding: 10px 50px 10px 10px;
}
/* sp */
@media screen and (max-width:767px){
  .relationship-sec3{
    margin-bottom: 40px;
  }
  .relationship-sec3 h3{
    margin-bottom: 20px !important;
  }
  .relationship-sec3-text2{
    display: block;
  }
  .relationship-sec3-text2 img{
    width: 45.17%;
    margin: 0 auto 10px;
    display: block;
  }
  .relationship-sec3-list--item{
    padding: 20px 0;
    display: block;
    border-bottom: solid 1px #e6e6e6;
  }
  .relationship-sec3-list--item_title{
    min-width: inherit;
    border-right: none;
    display: block;
    margin-bottom: 15px;
    border-bottom: solid 1px #e6e6e6;
    padding: 0 0 15px 0;
  }
  .relationship-sec3-list--item_text{
    padding-left: 0;
    display: block;
  }
  .relationship-sec3-list--item_text p:not(:last-of-type){
    margin-bottom: 5px;
  }
}
/*back-btn*/
.back-btn{
  width: 280px;
  margin: 0 auto;
}
.back-btn a{
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    background: var(--main-color3);
}
/*news*/
.news-tb tr td a{
  color: var(--main-color3);
  text-decoration: underline;
}
/* sp */
@media screen and (max-width:767px){
  .news-tb{
    width: 100% !important;
    table-layout:fixed !important;
  }
  .news-tb tr td,
  .news-tb tr th{
    display: block;
    width: 100%;
  }
  .news-tb tr td[width="15"]{
    display: none;
  }
}
/*ニュースなど追加中ページ*/
.in-title{
  background: #f5f5f5;
  width: 100%;
  height: 120px;
}
.in-title.pt2{
  height: 250px;
}
.in-title-wrapper{
  width: 1200px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  background: url(../img/in-titlebg.png) right center no-repeat;
}
.pt2 .in-title-wrapper{
  background: url(../img/in-titlebg_pt2.png) right center no-repeat;
}
.in-title-main{
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: bold;
}
.pt2 .in-title-main{
  font-family: var(--font-en);
  font-size: 4.4rem;
  font-weight: bold;
  padding-top: 10px;
  position: relative;
}
.pt2 .in-title-main::before {
  content: "";
  background: var(--main-color3);
  width: 40px;
  height: 4px;
  position: absolute;
  top: 0;
  left: 0;
}
#pankuzu {
  width: 1200px;
  margin: 0 auto;
  padding: 10px 0;
  box-sizing: border-box;
}
#pankuzu p a{
  color: var(--main-color3);
  text-decoration: underline;
}
#pankuzu p a:not(:last-child){
  margin-right: 30px;
  position: relative;
}
#pankuzu p a:not(:last-child)::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: solid 2px #cccccc;
    border-right: solid 2px #cccccc;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: -18px;
    bottom: 0;
    margin: auto;
}
.news-main{
  margin-top: 90px;
  margin-bottom: 60px;
}
.news-main.news-top{
  margin-top: 40px;
  margin-bottom: 60px;
}
.news-list{
  width: 1200px;
  margin: 0 auto;
}
.news-link{
  width: 1200px;
  border-bottom: solid 3px var(--main-color1);
  margin: 0 auto 40px;
}
.news-link-wrapper{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.news-link-wrapper:after{
  content: none;
}
.news-link-item{
  flex: 0 1 236px;
  height: 50px;
  background: #ededed;
  border-radius: 5px 5px 0 0;
}
.news-link-item.current{
  height: 60px;
  background: var(--main-color1);
}
.news-link-item a,
.news-link-item span{
  color: #999999;
  font-size: 1.6rem;
  font-weight: bold;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 5px 5px 0 0;
  text-align:center;
}
.news-link-item.current span{
  color: #fff;
}
.news-acrobat{
  width: 1200px;
  margin:30px auto 0;
}
.ir-information{
  width: 1200px;
  margin: 0 auto;
}
.ir-information-list{
  display: flex;
  justify-content: space-between;
}
.ir-information-list:after{
  content: none;
}
.ir-information-list_item{
  flex: 0 1 32.5%;
}
.ir-information-list_item a {
  color: #505050;
  font-size: 1.8rem;
  font-weight: bold;
  display: block;
  padding: 15px 50px 15px 15px;
  box-sizing: border-box;
  border: solid 1px #e6e6e6;
  border-radius: 5px;
  position: relative;
  text-align: center;
}
.ir-information-list a:after {
    content: "";
    background: url(../img/icon_news1.svg) no-repeat;
    background-size: cover;
    width: 15px;
    height: 10px;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
.ir-library{
  width: 1200px;
  margin: 0 auto 70px;
}
.ir-library-main{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 40px;
}
.ir-library-main:after{
  content: none;
}
.ir-library-main-pho img{
  border-radius: 5px;
}
.ir-library-main .file-link-list {
    flex: 0 1 580px;
    width: 580px;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.ir-library-main .file-link-list:after{
  content: none;
}
.ir-library-main .file-link-list li{
  flex: 0 1 49.13%;
  margin-bottom: 20px;
}
.ir-library-main .file-link-list li a{
  padding: 10px 50px 10px 10px;
}
.ir-library-link a{
  display: block;
  position: relative;
}
.ir-library-link a p{
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.2rem;
}
.ir-library-link a p img{
  margin-left: 20px;
}
/* PCのみ */
@media screen and (min-width:768px){
  .news-link-item a{
    transition: all ease .3s;
  }
  .news-link-item a:hover{
    color: var(--main-color1);
    transition: all ease .3s;
  }
  .ir-information-list_item a {
    transition: all ease .3s;
  }
  .ir-information-list_item a:hover {
    background: #e5f4fe;
    transition: all ease .3s;
  }
}
/* sp */
@media screen and (max-width:767px){
  .in-title{
    height: 100px;
    background: url(../img/in-titlebg_sp.png) right center no-repeat,#f5f5f5;
    background-size: auto 100%;
  }
  .in-title.pt2 {
    height: 140px;
  }
  .in-title-wrapper{
    width: var(--width--sp);
    height: 100%;
    margin: 0 auto;
    background: none;
  }
  .pt2 .in-title-wrapper{
    background: none;
  }
  .in-title-main{
    font-size: 1.8rem;
  }
  .pt2 .in-title-main::before {
    display: inline;
    font-size: 2.0rem;
    margin-right: 8px;
  }
  #pankuzu {
    width: var(--width--sp);
  }
  .news-main{
    margin-top: 30px;
    margin-bottom: 50px;
  }
  .news-main.news-top{
    margin-top: 30px;
    margin-bottom: 50px;
  }
  .news-list{
    width: var(--width--sp);
    margin: 0 auto;
  }
  .news-link{
    width: var(--width--sp);
    border-bottom: solid 3px var(--main-color1);
    margin: 0 auto 30px;
  }
  .news-link-wrapper{
    overflow-x: scroll;
  }
  .news-link-item{
    min-width: 160px;
  }
  .news-link-item:not(:last-child){
    margin-right: 5px;
  }
  .news-link-item a,
  .news-link-item span{
    font-size: 1.5rem;
  }
  .news-acrobat{
    width: var(--width--sp);
    margin: 20px 0 auto;
  }
  .ir-information{
    width: var(--width--sp);
    margin: 0 auto;
  }
  .ir-information-list {
    display: block;
  }
  .ir-information-list_item a{
    font-weight: normal;
    padding: 12px 47px 12px 12px
  }
  .ir-information-list_item:not(:last-child){
    margin-bottom: 8px;
  }
  .top-news .top-news-btn a{
    border-radius: 5px;
  }
  .ir-library{
    width: var(--width--sp);
    margin: 0 auto 50px;
  }
  .ir-library-main {
    display: block;
    margin-bottom: 25px;
  }
  .ir-library-main-pho{
    margin-bottom: 25px;
  }
  .ir-library-main .file-link-list {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }
  .ir-library-main .file-link-list li {
    margin-bottom: 10px;
  }
  .ir-library-main .file-link-list li a{
    padding: 15px 50px 15px 15px;
  }
  .ir-library-link a p {
    color: #fff;
    font-size: 1.8rem;
  }
  .ir-library-link a p img{
    position: absolute;
    width: 12px;
    height: 10px;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
  }
}

/*20230214追記*/
.technology-sec1{
  margin-bottom: 50px;
}
.technology-list{
  display: flex;
  justify-content: space-between;
}
.technology-lis:after{
  content: none;
}
.technology-list--item{
  flex: 0 1 300px;
  width: 300px;
}
.technology-list--item picture{
  display: block;
  margin-bottom: 20px;
}
.technology-list--item dl dd ul{
  border-top: solid 1px #e6e6e6;
  border-left: solid 1px #e6e6e6;
  border-right: solid 1px #e6e6e6;
}
.technology-list--item dl dd ul li{
  border-bottom: solid 1px #e6e6e6;
}
.technology-list--item dl dd ul li a {
  display: block;
  padding: 15px 50px 15px 15px;
  box-sizing: border-box;
  position: relative;
}
.technology-list--item dl dd ul li a:after {
  content: "";
  background: url(../img/icon_news1.svg) no-repeat;
  background-size: cover;
  width: 15px;
  height: 10px;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}
/*title3*/
.title3{
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: solid 1px #e6e6e6;
  position: relative;
}
.title3:before{
  content: "";
  background: var(--main-color2);
  width: 50px;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -1px;
}
/*technology-linklist*/
.technology-linklist{
  display: flex;
  justify-content: space-between;
}
.technology-linklist:after{
  content: none;
}
.technology-linklist--item{
  flex: 0 1 310px;
  width: 310px;
  border: solid 1px #e6e6e6;
  border-radius: 10px;
}
.technology-linklist-pho img{
  border-radius: 10px 10px 0 0;
}
.technology-linklist-icon{
  text-align: center;
  margin-top: -40px;
}
.technology-linklist--item_text{
  font-size: 2.0rem;
  font-weight: bold;
  padding: 10px 10px 20px;
  text-align: center;
  font-family: var(--font-en);
}
.technology-linklist--item_text span{
  font-size: 1.4rem;
  display: block;
  font-family: var(--font-en);
  font-weight: bold;
}
.color1 .technology-linklist--item_text span{
  color: var(--main-color1);
}
.color2 .technology-linklist--item_text span{
  color: var(--main-color2);
}
.color3 .technology-linklist--item_text span{
  color: var(--main-color3);
}
.color1 .technology-linklist--item_text{
  color: var(--main-color1);
}
.color2 .technology-linklist--item_text{
  color: var(--main-color2);
}
.color3 .technology-linklist--item_text{
  color: var(--main-color3);
}
/*技術情報*/
.tec_title{
  text-align: center;
  font-size: 2.8rem;
  margin-bottom: 20px;
}
.tec_title span{
  font-family: var(--font-en);
  color: var(--main-color3);
}
.tec_title1{
  display: flex;
  font-size: 2.0rem !important;
}
.tec_title1 span{
  font-size: 2.4rem;
  font-weight: bold;
  color: #fff;
  margin-right: 10px;
  min-width: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tec_title1:after{
width:150px !important;
}
.tec_title1.color1{
  color: var(--main-color1);
}
.tec_title1.color2{
  color: var(--main-color2);
}
.tec_title1.color3{
  color: var(--main-color3);
}
.tec_title1.color1:after,
.tec_title1.color1 span{
  background: var(--main-color1) !important;
}
.tec_title1.color2:after,
.tec_title1.color2 span{
  background: var(--main-color2) !important;
}
.tec_title1.color3:after,
.tec_title1.color3 span{
  background: var(--main-color3) !important;
}
/* PCのみ */
@media screen and (min-width:768px){
  .title3 a{
    transition: all ease .3s;
  }
  .title3 a:hover{
    color: var(--main-color3);
    transition: all ease .3s;
  }
  .technology-list--item dl dd ul li a {
    transition: all ease .3s;
  }
  .technology-list--item dl dd ul li a:hover {
    background: #e5f4fe;
    transition: all ease .3s;
  }
}
/* sp */
@media screen and (max-width:767px){
  .technology-list {
    display: block;
  }
  .technology-list--item{
    width: 100%;
  }
  .technology-list--item:not(:last-of-type){
    margin-bottom: 30px;
  }
  .technology-list--item dl dd ul li a {
    padding: 12px 50px 12px 12px;
  }
  /*technology-linklist*/
  .technology-linklist {
    display: block;
  }
  .technology-linklist--item {
    width: 100%;
    border-radius: 5px;
  }
  .technology-linklist--item:not(:last-of-type){
    margin-bottom: 5px;
  }
  .technology-linklist--item a{
    display: flex;
    align-items: center;
    position: relative;
  }
  .technology-linklist--item a:after{
    content: "";
    width: 8px;
    height: 8px;
    border-top: solid 2px var(--main-color1);
    border-right: solid 2px var(--main-color1);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
  }
  .technology-linklist--item.color2 a:after{
    border-color: var(--main-color2);
  }
  .technology-linklist--item.color3 a:after{
    border-color: var(--main-color3);
  }
  .technology-linklist-pho{
    padding: 5px;
    box-sizing: border-box;
  }
  .technology-linklist-pho img{
    width: 80px;
    border-radius: 5px;
  }
  .technology-linklist-icon {
    text-align: left;
    margin-top: 0;
  }
  .technology-linklist-icon img{
    width: 45px;
  }
  .technology-linklist--item_text {
    text-align: left;
    padding: 0 0 0 8px;
  }
  .footer--sec:nth-child(3) .footer-nav-list{
    display: block;
  }
  /*技術情報*/
  .tec_title{
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
  .tec_title1{
    display: flex;
    font-size: 1.8rem !important;
  }
  .tec_title1 span{
    font-size: 2.0rem;
    font-weight: bold;
    color: #fff;
    margin-right: 10px;
    min-width: 110px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .tec_title1:after{
    width: 110px !important;
  }
}
/*relationship-sec3-text2-pho*/
.relationship-sec3-text2-pho{
  min-width: 480px;
  width: 480px;
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  margin-left: 30px;
}
.relationship-sec3-text2-pho:after{
  content: none;
}
.relationship-sec3-text2-pho img{
  margin-left: 0;
}
.relationship-sec3-text2-pho img:not(:nth-of-type(-n + 2)){
  margin-top: 15px;
}
.expansion-btn{
  display: none;
}
/* sp */
@media screen and (max-width:767px){
  .relationship-sec3-text2-pho{
    min-width: inherit;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    margin-left: 0;
  }
  .relationship-sec3-text2-pho img{
    flex: 0 1 48%;
    margin-bottom: 10px;
  }
  .relationship-sec3-text2-pho img:not(:nth-of-type(-n + 2)){
    margin-top: 0;
  }
  .expansion-btn{
    width: 100%;
    display: block;
    margin-top: 15px;
  }
  .expansion-btn a{
    height: 45px;
  }
  .expansion-btn a:before{
    content: "";
    background: url(../img/icon_plus.svg) no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    margin-right: 5px;
  }
  #group img{
    width:auto;
  }
}
/*-------------
cookie同意バナー
-------------*/
.cookie-bnr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    opacity: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    min-height: 60px;
    margin: 0;
    padding: 9px 30px;
    box-sizing: border-box;
    background: rgba(50,50,50,.8);
    transition: opacity .3s ease;
}
.cookie-bnr.is--show {
    opacity: 1;
}
.cookie-bnr__text {
    flex: 1 1 auto;
    margin: 0 20px 0 0;
    color: #fff;
    font-size: 15px;
    line-height: calc(1em + 6px);
    text-align: left;
    text-shadow: 0 0 5px rgba(0,0,0,.2);
}
.cookie-bnr__text__link {
    display: inline-block;
    background-color: transparent;
    color: #fff;
    text-decoration: underline;
}
.cookie-bnr__text__link:hover {
    text-decoration: none;
}
.cookie-bnr__btn {
    width: 150px;
    min-width: 100px;
    height: 40px;
    border: none;
    border-radius: 10px;
    background: var(--main-color3);
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    text-align: center;
    appearance: none;
    cursor: pointer;
    outline: none;
}

@media screen and (max-width:767px){
    .cookie-bnr {
        display: block;
        position: fixed;
        padding: 10px 4.6875% calc(13px + env(safe-area-inset-bottom));
    }
    .cookie-bnr__text {
        margin: 0 0 12px;
        font-size: 12px;
    }
    .cookie-bnr__btn {
        width: 100%;
        min-width: 0;
        height: 30px;
        border-radius: 5px;
        font-size: 14px;
    }
}
/*英語サイト用*/
.top-linklist--items.eng .top-linklist--item {
  flex: 0 1 33.333%;
}
.top-linklist--items.eng .top-linklist--item a img{
  width: 100%;
    height: auto;
    aspect-ratio: 98 / 60;
}
.top-linklist--item_title{
  border-bottom: solid 2px #000;
}
.engsite .top-product--item-main_text {
    line-height: 1.5;
}
/* sp */
@media screen and (max-width:767px){
  .top-linklist--items.eng {
    display: block;
  }
}
/*contents_inner*/
.contents_inner{
  padding-top: 75px;
  margin-top: -75px;
}
.contents_inner2{
  padding-top: 170px;
  margin-top: -170px;
}
/* sp */
@media screen and (max-width:767px){
  .contents_inner{
    padding-top: 55px;
    margin-top: -55px;
  }
.contents_inner2{
  padding-top: 120px;
  margin-top: -120px;
}
  /*news-main*/
  .news-main .news-article-list-item-head{
    display: block;
  }
  .news-main .news-article-list-item__cate{
    text-align: center;
    display: block;
    margin-top: 5px;
  }
}
/*message_tb*/
.message_tb td[valign="top"]{
vertical-align: top !important;
}
@media screen and (max-width:767px){
  .message_tb td{
    display: block;
  }
  .message_tb td:first-child{
    float: left;
    width: 180px;
    padding-right: 20px!important;
  }
  .message_tb td[width="10"]{
    display: none;
  }
}
/*
highlight-main
*/
.highlight-main {
  width: 1200px;
  margin: 70px auto 0;
}
.title4{
  font-size: 2.8rem;
  font-weight: bold;
  border-bottom: solid 2px #e6e6e6;
  margin-bottom: 30px;
  padding-bottom: 15px;
  position: relative;
}
.title4:after{
  content: "";
  background: var(--main-color1);
  width: 120px;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -2px;
}
.title5{
  font-size: 2.4rem;
  font-weight: bold;
  padding: 10px 20px;
  background: #f2f2f2;
  border-left: solid 4px var(--main-color2);
  line-height: 1.3;
  margin-bottom: 30px;
}
.highlight-items{
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
.highlight-items:after{
  content: none;
}
.highlight-item{
  flex: 0 1 580px;
  margin-bottom: 80px;
}
/*E-ir-text*/
.E-ir-text{
  width: 1200px;
  margin: 0 auto 60px;
}
.E-ir-text p{
  color: #666666;
  line-height: 1.8;
  margin-bottom: 20px;
  font-size:1.5rem;
}
.E-ir-text p a{
  color: var(--main-color3);
  text-decoration: underline;
}
.E-ir-text div{
  text-align: right;
}
/* sp */
@media screen and (max-width:767px){
.highlight-main {
  width: var(--width--sp);
  margin: 50px auto 10px;
}
.highlight-main .title4{
  margin-bottom: 40px;
}
.highlight-items{
  display: block;
}
.highlight-item{
  width: 100%;
  margin-bottom: 40px;
}
/*E-ir-text*/
.E-ir-text{
  width: var(--width--sp);
  margin: 0 auto 50px;
}
.E-ir-text div img{
  width: 105px;
}
.title4 {
    font-size: 2.4rem;
    font-weight: bold;
    border-bottom: solid 2px #e6e6e6;
    margin-bottom: 20px;
    padding-bottom: 15px;
    position: relative;
  }
  .title5{
    font-size: 1.8rem;
    margin-bottom: 20px;
    padding: 10px;
  }
}
.relationship-sec2-list2_text > p{
  padding-left: 10px;
  box-sizing: border-box;
  position: relative;
}
.relationship-sec2-list2_text > p:before{
  content: "";
  width: 5px;
  height: 5px;
  background: #99d2fa;
  position: absolute;
  top: 10px;
  left: 0;
  border-radius: 50%;
}
/*news-main*/
.news-select{
  width: 1200px;
  margin: 0 auto 30px;
}
.news-select select{
  border: solid 1px #999999;
  min-width: 160px;
  height: 43px;
  padding: 8px;
  box-sizing: border-box;
  border-radius: 3px;
}
.news-select-main{
  position: relative;
  display: table;
}
.news-select-main:after{
  position: absolute;
  top: calc(50% - 4px);
  right: 10px;
  transform: rotate(135deg);
  width: 6px;
  height: 6px;
  border-top: solid 2px var(--main-color3);
  border-right: solid 2px  var(--main-color3);
   content: "";
}
.title4.news-main-title{
  width: 1200px;
  margin: 0 auto 40px;
}
/* sp */
@media screen and (max-width:767px){
  .news-select{
    width: var(--width--sp);
  }
  .title4.news-main-title{
    width: var(--width--sp);
    margin: 0 auto 30px;
  }
}
.acrobat-bnr p{
  font-size:1.4rem;
  color:#666;
}
/*IR追加修正*/
.ir_colum2{
  display: flex;
  justify-content: space-between;
  padding-top: 140px;
  width: 1200px;
  margin: 0 auto 100px;
}
.ir_colum2:after{
  content: none;
}
.ir_news-right{
  width: 940px;
line-height: 1.5;
}
.ir_news-right .news-link,
.ir_news-right .title4.news-main-title,
.ir_news-right .news-list,
.ir_news-right .news-select,
.ir_news-right .news-acrobat{
  width: 100%;
}
.ir_news-right .news-link-item{
  flex: 0 1 186px;
}
.ir_news-right .top-news-wrapper,
.ir_news-right .ir-library,
.ir_news-right .ir-information{
  width: 100%;
}
.ir_news-right .ir-library-main .file-link-list {
    flex: 0 1 500px;
    width: 500px;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.ir_news-right .top-news{
  padding: 0 0 70px;
}
/* sp */
@media screen and (max-width:767px){
  .ir_colum2 {
    display: block;
    padding-top: 80px;
    width: 100%;
    margin: 0 auto 60px;
  }
  .ir_news-right{
    width: var(--width--sp);
    margin: 0 auto;
  }
  .ir_news-right .ir-library-main .file-link-list {
    width: 100%;
  }
  .ir_news-right .top-news{
    padding: 0 0 40px;
  }
}
.ir_news-right .highlight-main {
    width: 100%;
    margin: 70px auto 0;
}
.ir_news-right .highlight-item {
    flex: 0 1 460px;
    margin-bottom: 80px;
}
.ir_news-right .E-ir-text{
  width: 100%;
}
/* sp */
@media screen and (max-width:767px){
  .ir_news-right .highlight-main {
    margin: 30px auto 10px;
  }
  .ir_news-right .highlight-item{
    margin-bottom: 40px;
  }
}
.calender_tb{
  width: 100%;
  border-top: solid 1px var(--main-color2);
}
.calender_tb tr{
  border-bottom: solid 1px var(--main-color2);
}
.calender_tb tr th,
.calender_tb tr td{
  padding: 10px !important;
}
/* sp */
@media screen and (max-width:767px){
  .calender_tb tr th,
  .calender_tb tr td{
    display: block;
  }
  .calender_tb tr th{
    padding-bottom: 0 !important;
  }
  .calender_tb tr td{
    padding-top: 5px !important;
  }
}
.koukoku-coment a{
text-decoration: underline;
  color: var(--main-color3);
}

/* 臨時対応 */
.footer-nav-list--item-nav:has(a[href*="jp/technology/"]),
.footer-nav-list--item-nav a[href*="jp/technology/"]{
 display:none!important;
}
.icon_pagetop{
vertical-align: middle;
}

/*-------------
glossary
-------------*/
.glos-idx-lead{
  margin-bottom: 20px;
}
.glos-page-nav{
  margin-bottom: 55px;
}
.glos-idxlist{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5px;
}
.glos-idxlist-item{
  flex: 0 0 130px;
}
.glos-idxlist-item__link{
  display: flex;
  align-items: center;
  position: relative;
  height: 60px;
  padding-left: 18px;
  border: solid 1px var(--border-gray);
  border-radius: 3px;
  font-size: 2.4rem;
  letter-spacing: .2em;
  transition: border .3s ease,background .3s ease,color .3s ease;
}
@media screen and (min-width:768px){
  .glos-idxlist-item__link:hover{
    border-color: #b2ddfb;
    background: #e5f4fe;
  }
}
.is--inactive .glos-idxlist-item__link{
  color: #ccc;
  pointer-events: none;
}
.is--current .glos-idxlist-item__link{
  border-color: var(--main-color3);
  background: #e5f4fe;
  color: var(--main-color3);
  pointer-events: none;
}
.glos-idxlist-item__link::after{
  position: absolute;
  top: calc(50% - 6px);
  right: 18px;
  width: 14px;
  height: 12px;
  background: url(../img/glos-idxlink_arrow.svg) no-repeat center / contain;
  content: "";
}
.is--current .glos-idxlist-item__link::after,
.is--inactive .glos-idxlist-item__link::after{
  content: none;
}
/* sub_menu--glos */
.sub_menu--glos{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5%;
}
.sub_menu--glos > a{
  flex: 0 0 100%;
  margin-bottom: 20px;
}
.sub_menu--glos .sub_menu2{
  flex: 0 0 30%;
}
.sub_menu--glos > a + .sub_menu2 a{
  margin-top: 0;
}
/*--- sp ---*/
@media screen and (max-width:767px){
  .glos-idxlist{
    gap: 9px 6px;
  }
  .glos-idxlist-item{
    flex: 0 0 calc((100% - 18px) / 4);
  }
  .glos-idxlist-item.is--number{
    flex: 0 0 calc(50% - 3px);
  }
  .glos-idxlist-item__link{
    height: 50px;
    padding-left: 12px;
    border: solid 1px var(--border-gray);
    border-radius: 5px;
    font-size: 2rem;
  }
  .glos-idxlist-item__link::after{
    right: 12px;
  }
}

/*-------------
glos-dtl
-------------*/
.glos-initial-nav{
  margin-bottom: 50px;
}
.glos-idxlist--dtl{
  display: flex;
  flex-wrap: wrap;
  gap: 20px 15px;
}
.glos-idxlist--dtl-item{
  flex: 0 0 46px;
}
.glos-idxlist--dtl-item__link{
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1 / 1;
  background: #6c7f8c;
  border-radius: 3px;
  color: #fff;
  font-size: 1.6rem;
  text-underline-offset: 3px;
}
@media screen and (min-width:769px){
  .glos-idxlist--dtl-item__link:not(:hover){
    text-decoration: underline;
  }
}
/* glos-dtl-termblock */
.glos-dtl-termblock{
  padding: 32px 15px 35px;
  border-bottom: solid 1px var(--border-gray);
}
.glos-dtl-termblock:first-of-type{
  padding-top: 5px;
}
.glos-dtl-termblock-head{
  margin-bottom: 16px;
}
.glos-dtl-termblock__term{
  display: block;
  color: var(--main-color3);
  font-size: 2.4rem;
  font-weight: bold;
  line-height: calc(1em + 5px);
}
.glos-dtl-termblock__desc{
  color: #4d4d4d;
  font-size: 1.6rem;
  line-height: calc(1em + 12px);
}
.glos-dtl-termblock__desc-contents{
  margin-top: 25px;
  padding: 30px;
  background: #f2f5f7;
  border-radius: 5px;
  line-height: calc(1em + 12px);
}
/*--- sp ---*/
@media screen and (max-width:767px){
  .glos-dtl-container{
    display: flex;
    flex-direction: column-reverse;
  }
  .glos-dtl-container .glos-page-nav{
    margin: 40px 0 0;
  }
  .glos-dtl .glos-idxlist-item__link{
    height: 40px;
  }
  .glos-initial-nav{
    margin-bottom: 30px;
  }
  .glos-idxlist--dtl{
    gap: 15px 10px;
  }
  .glos-idxlist--dtl-item{
    flex: 0 0 40px;
  }
  /* glos-dtl-termblock */
  .glos-dtl-termblock{
    padding: 37px 0 40px;
  }
  .glos-dtl-termblock-head{
    margin-bottom: 16px;
  }
  .glos-dtl-termblock__term{
    font-size: 2.1rem;
  }
  .glos-dtl-termblock__desc{
    font-size: 1.5rem;
  }
  .glos-dtl-termblock__desc-contents{
    margin-top: 15px;
    padding: 25px var(--sidespace--sp_vw);
  }
}

/*-------------
column__bnr
-------------*/
.left-column__bnr:not(:first-child){
  margin-top: 20px;
}
.left-column__bnr + .left-column__bnr{
  margin-top: 10px;
}
.left-column__bnr img{
  max-width: 100%;
  height: auto;
}
/* right-column__bnr */
.right-column__bnr:not(:first-child){
  margin-top: 70px;
}
.right-column__bnr + .right-column__bnr{
  margin-top: 20px;
}
.right-column__bnr img{
  max-width: 100%;
  height: auto;
}
/*--- sp ---*/
@media screen and (max-width:767px){
  /* right-column__bnr */
  .right-column__bnr:not(:first-child){
    margin-top: 50px;
  }
  .right-column__bnr + .right-column__bnr{
    margin-top: 10px;
  }
  .right-column__bnr img{
    width: 100%;
  }
}

/*-------------
map
-------------*/
.map-iframe{
    overflow: hidden;
    background: #eee;
}
.map-iframe #map{
    position: relative;
    width: 940px;
    height: 630px;
}
.map-baloon__link:not(:hover){
    text-decoration: underline;
}
.map-iframe #map .gm-style-iw-c:has(.gm-style-iw-ch:empty){
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
}
.map-iframe #map .gm-style-iw-c:has(.gm-style-iw-ch:empty) .gm-style-iw-d{
    overflow: auto!important;
}
.map-iframe #map .gm-style-iw-t:has(._pin2){
    bottom: 0!important;
    transform: translateY(calc(100% + 12px));
}
.map-iframe #map .gm-style-iw-t:has(._pin2) .gm-style-iw-c{
    position: static;
    transform: translateX(-50%);
}
.map-iframe #map .gm-style-iw-t:has(._pin2) .gm-style-iw-tc{
    top: -12px;
    transform: translateX(-50%) rotate(180deg);
}
/* map-root */
.map-root-title{
    margin: 0 0 15px 30px;
    padding-bottom: 3px;
    border-bottom: solid 1px #ccc;
    font-size: 1.7rem;
    font-weight: bold;
}
.map-root-title:not(:first-child){
    margin-top: 15px;
}
.map-root-item{
    margin-left: 30px;
    padding-bottom: 10px;
}
.map-root-item-head{
    position: relative;
    margin-bottom: 2px;
    padding-left: 20px;
    font-weight: bold;
}
.map-root-item-head::before{
    position: absolute;
    top: calc(50% - 7px);
    left: 0;
    width: 12px;
    height: 12px;
    background: var(--main-color2);
    content: "";
}
/*--- sp ---*/
@media screen and (max-width:767px){
    .map-iframe{
        width: 100%;
        aspect-ratio: 5 / 4;
    }
    .map-iframe iframe,
    .map-iframe #map{
        width: 100%!important;
        height: 100%!important;
    }
    /* map-root */
    .map-root-title{
        font-size: 1.6rem;
    }
}

/*-------------
management
-------------*/
.mgmt-sect:not(:last-child){
    margin-bottom: 50px;
}
.mgmt-lead{
    line-height: calc(1em + 12px);
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .mgmt-sect:not(:last-child){
        margin-bottom: 40px;
    }
    .mgmt-lead{
        line-height: calc(1em + 10px);
    }
}

/*-------------
int-report
-------------*/
.int-report-lead{
    line-height: calc(1em + 12px);
}
.int-report-visual{
    position: relative;
    margin: 25px 0 30px;
    overflow: hidden;
}
.int-report-visual::after{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: solid 1px #e6e6e6;
    content: "";
    pointer-events: none;
}
.int-report-visual:has(> a),
.int-report-visual:has(> a)::after{
    border-radius: 10px;
}
.int-report-visual a{
    transition: opacity .3s ease;
}
@media screen and (min-width:769px){
    .int-report-visual a:hover{
        opacity: .75;
    }
}
.int-report__sect{
    --left-indent: 30px;
}
.int-report__sect:not(:last-child){
    margin-bottom: 50px;
}
.int-report-all-pages-item:not(:last-child){
    margin-bottom: 6px;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .int-report-lead{
        line-height: calc(1em + 10px);
    }
    .int-report-visual:has(> a),
    .int-report-visual:has(> a)::after{
        border-radius: 5px;
    }
    .int-report__sect:not(:last-child){
        margin-bottom: 40px;
    }
}
/* int-report-download */
.int-report-download{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 5px;
    position: relative;
    padding: 5px 0 6px var(--left-indent);
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
    transition: background .3s ease;
}
@media screen and (min-width:769px){
    .int-report-download:hover{
        background: #e5f4fe;
    }
}
.int-report-download::before{
    position: absolute;
    top: calc(.5em - 3px);
    left: 8px;
    width: 15px;
    height: 20px;
    background: url(../img/icon_download_green.svg) no-repeat center / contain;
    content: "";
}
.int-report-download .is--small{
    display: inline-block;
    font-size: 1.6rem;
}
/* int-report-idx */
.int-report-idx:not(:last-child){
    margin-bottom: 30px;
}
.int-report-idx-title{
    margin-bottom: 4px;
}
.int-report-idx__desc{
    padding-left: var(--left-indent);
    word-break: keep-all;
    color: #444;
    line-height: calc(1em + 10px);
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .int-report-idx-title{
        margin-bottom: 3px;
    }
    .int-report-idx:not(:last-child){
        margin-bottom: 18px;
    }
}
.int-report-bnr{
    margin: 60px auto 20px;
}
.int-report-bnr img{
    width: 100%;
    height: auto;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .int-report-bnr{
        margin-top: 35px;
    }
}

/*-------------
人権方針
-------------*/
:where(.human-rights) *{
    line-height: calc(1em + 10px);
}
.h-rights-container{
    counter-reset: sect-num;
}
.h-rights-lead p:not(:first-child){
  margin-top: 8px;
}
.h-rights-lead-list{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 5px 2px;
    margin: 15px 0;
}
.h-rights-lead-list-item{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .h-rights-lead-list{
        margin: 12px 0;
    }
}
/* h-rights-sect */
.h-rights-sect{
    margin-top: 30px;
}
.h-rights-sect-title{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 .3em;
    margin-bottom: 15px;
    font-size: 2rem;
    font-weight: bold;
}
.h-rights-sect-title::before{
    color: var(--main-color3);
    letter-spacing: .1em;
    content: counter(sect-num)".";
    counter-increment: sect-num;
}
.h-rights-sect p:not(:first-child){
  margin-top: 8px;
}
.h-rights-sect p:not(:last-child){
  margin-bottom: 8px;
}
.h-rights-sect ul{
    margin: 15px 0 20px;
}
.h-rights-sect ul li{
    position: relative;
    padding-left: 20px;
    line-height: calc(1em + 10px);
}
.h-rights-sect ul li:not(:last-child){
    margin-bottom: 6px;
}
.h-rights-sect ul li::before{
    position: absolute;
    top: calc(.5em + 2px);
    left: 3px;
    width: 8px;
    height: 8px;
    border: solid 2px var(--main-color1);
    border-radius: 50%;
    content: "";
}
.h-rights-sect ul li b:first-child{
    display: block;
    font-weight: 500;
}
.h-rights-sect ul li:has(b:first-child){
    margin-bottom: 14px;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .h-rights-sect{
        margin-top: 25px;
    }
    .h-rights-sect p:not(:first-child){
        margin-top: 8px;
    }
    .h-rights-sect p:not(:last-child){
        margin-bottom: 8px;
    }
    .h-rights-sect-title{
        margin-bottom: 10px;
        font-size: 1.8rem;
    }
    .h-rights-sect ul{
        margin: 10px 0 15px;
    }
    .h-rights-sect ul li::before{
        top: calc(.5em + 1px);
    }
    .h-rights-sect ul li:has(b:first-child){
        margin-bottom: 10px;
    }
}

/*-------------
プライバシーポリシー
-------------*/
.privacy-container{
  counter-reset: prvs-sect-num;
}
.privacy-sect{
  counter-reset: prvs-mid-sect-num;
}
.privacy-sect:not(:last-child){
  margin-bottom: 50px;
}
@media screen and (max-width:767px){
  .privacy-sect:not(:last-child){
    margin-bottom: 40px;
  }
}
.privacy-sect-title{
  counter-increment: prvs-sect-num;
}
.privacy-sect-title::before{
  display: inline-block;
  margin-right: .25em;
  content: counter(prvs-sect-num)".";
}
.privacy-mid-sect-title{
  font-size: 2.0rem;
  font-weight: bold;
  background: #f5f5f5;
  padding: 8px 8px 8px 17px;
  border-left: solid 3px var(--main-color2);
  box-sizing: border-box;
  position: relative;
  margin-bottom: 15px;
}
@media screen and (max-width:767px){
  .privacy-mid-sect-title{
    font-size: 1.8rem;
  }
}
.privacy-mid-sect-title::before{
  display: inline-block;
  margin-right: .3em;
  content: counter(prvs-sect-num)"-"counter(prvs-mid-sect-num)".";
  counter-increment: prvs-mid-sect-num;
}
.privacy-mid-sect{
  margin-top: 35px;
}
@media screen and (max-width:767px){
  .privacy-mid-sect{
    margin-top: 25px;
  } 
}
.privacy-sect-body,
.privacy-sect-body *{
  line-height: calc(1em + 12px);
}
@media screen and (max-width:767px){
  .privacy-sect-body,
  .privacy-sect-body *{
    line-height: calc(1em + 10px);
  }
}
.privacy-sect-body p:not(:last-child){
  margin-bottom: 5px;
}
@media screen and (max-width:767px){
  .privacy-sect-body p:not(:last-child){
    margin-bottom: 7px;
  }
}
.privacy-sect-body ol,
.privacy-sect-body ul{
  margin: 5px 0 25px;
}
.privacy-sect-body ul li{
  position: relative;
  padding-left: 1.5em;
}
.privacy-sect-body ul li::before{
  position: absolute;
  top: 0;
  left: 0;
  width: .8em;
  font-size: 1.5em;
  text-align: center;
  content: "・";
}
.privacy-sect-body ol{
  list-style-type: decimal;
  list-style-position: outside;
}
.privacy-sect-body ol li{
  margin-left: 1.5em;
}
.privacy-sect-body ol:has(> li:nth-child(3)) li{
  margin-left: 1.4em;
}
.privacy-sect-body ol:has(> li:nth-child(8)) li{
  margin-left: 2em;
}
.privacy-sect-body li:not(:last-child){
  margin-bottom: 3px;
}
.privacy-sect-body a:not(:hover){
  text-decoration: underline;
}
.privacy-bottom{
  display: flex;
  justify-content: flex-end;
  margin-top: 50px;
  text-align: right;
}
@media screen and (max-width:767px){
  .privacy-bottom{
    margin-top: 40px;
    text-align: left;
  }
}
.privacy-bottom-title{
  margin-bottom: 5px;
  font-weight: bold;
}
.privacy-bottom__desc:not(:last-child){
  margin-bottom: 5px;
}

/*-------------
innovation-center
-------------*/
.modal-window._innovation-center,
#main._innovation-center{
    --inner-width: 960px;
    --base-black: #333;
    --accent-black: #000;
    color: var(--base-black);
}
@media screen and (max-width:767px){
    .modal-window._innovation-center,
    #main._innovation-center{
        --inner-width: min(100%, var(--width--sp_vw));
    }
    #main._innovation-center{
        width: var(--inner-width);
        margin: 0 auto;
    }
}
:where(.modal-window._innovation-center, #main._innovation-center) *{
  line-height: 1.5;
}

/* invcenter-lead */
.invcenter-lead{
    margin-bottom: 145px;
}
@media screen and (max-width:767px){
    .invcenter-lead{
        margin-bottom: 36px;
    }
}
.invcenter-lead-title{
    clip-path: polygon(0 0,0 0,0 0,0 0);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
}
.invcenter-lead-visual{
    position: relative;
    margin-bottom: 75px;
    overflow: hidden;
    border-radius: 20px;
}
@media screen and (max-width:767px){
    .invcenter-lead-visual{
        margin-bottom: 36px;
        border-radius: 5px;
    }
}

/* invcenter-lead-slider */
.invcenter-lead-slider._active{
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 1;
    pointer-events: none;
    user-select: none;
}
.invcenter-lead-slider._active .invcenter-lead-slide{
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.invcenter-lead-slider._active .invcenter-lead-slide._fade{
    opacity: 1;
    z-index: 1;
}
.invcenter-lead-slider._active .invcenter-lead-slide:not(._current){
    transition: none!important;
}
.invcenter-lead-slider._active .invcenter-lead-slide._current{
    z-index: 2;
    transition: opacity 1s ease;
}
.invcenter-lead-slider._active .invcenter-lead-slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.invcenter-lead-slider-gauge{
    --my-progress: 0;
    clip-path: polygon(0 0, var(--my-progress) 0, var(--my-progress) 100%, 0 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    transform: translate(0);
    width: 100%;
    height: 10px;
    background: linear-gradient(to right, #e9538e, #abcd03, #00a4e3);
}
@media screen and (max-width:767px){
    .invcenter-lead-slider-gauge{
        height: 6px;
    }
}

/* invcenter-lead-inner */
.invcenter-lead-inner{
    width: var(--inner-width);
    margin: 0 auto;
}
.invcenter-lead-catch{
    margin-bottom: 36px;
    color: var(--accent-black);
    font-size: 36px;
    font-weight: bold;
    line-height: calc(1em + 8px);
    letter-spacing: .08em;
}
@media screen and (max-width:767px){
    .invcenter-lead-catch{
        margin-bottom: 18px;
        font-size: 2.4rem;
    }
}
.invcenter-lead-body{
    font-size: 1.6rem;
    letter-spacing: .1em;
}
@media screen and (max-width:767px){
    .invcenter-lead-body{
        font-size: 1.5rem;
        letter-spacing: .08em;
    }
    .invcenter-lead-body br{
        display: none;
    }
}
.invcenter-lead-movie{
    margin-top: 51px;
    overflow: hidden;
    background: var(--bg-color1);
}
.invcenter-lead-movie iframe{
    display: block;
    margin: 0 auto;
}
@media screen and (max-width:767px){
    .invcenter-lead-movie{
        margin-top: 33px;
    }
    .invcenter-lead-movie iframe{
        width: 100%;
        height: auto;
    }
}

/* invcenter-floor */
.invcenter-floor{
    margin-bottom: 115px;
    counter-reset: floornum;
}
.invcenter-floor-title{
    margin-bottom: 47px;
    color: var(--accent-black);
    font-size: 36px;
    font-weight: bold;
    line-height: calc(1em + 8px);
    letter-spacing: .08em;
}
@media screen and (max-width:767px){
    .invcenter-floor{
        margin-bottom: 36px;
    }
    .invcenter-floor-title{
        margin-bottom: 26px;
        font-size: 2.2rem;
    }
}

/* invcenter-floor-sect */
.invcenter-floor-sect{
    --my-floor-color: #e9538e;
    --my-floor-lit-color: #fdeef4;
}
.invcenter-floor-sect:nth-of-type(3n+2){
    --my-floor-color: #abcd03;
    --my-floor-lit-color: #f7fae6;
}
.invcenter-floor-sect:nth-of-type(3n){
    --my-floor-color: #00a4e3;
    --my-floor-lit-color: #e5f6fc;
}
.invcenter-floor-sect:not(:last-child){
    margin-bottom: 120px;
}
@media screen and (max-width:767px){
    .invcenter-floor-sect:not(:last-child){
        margin-bottom: 50px;
    }
}

/* invcenter-floor-lead */
.invcenter-floor-lead{
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    background: var(--bg-color1);
}
.invcenter-floor-lead::before{
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 100%;
    background: var(--my-floor-color);
    content: "";
}
@media screen and (max-width:767px){
    .invcenter-floor-lead{
        border-radius: 5px;
    }
    .invcenter-floor-lead::before{
        width: 5px;
    }
}
.invcenter-floor-lead-pic{
    width: 100%;
    aspect-ratio: 2 / 1;
}
.invcenter-floor-lead-pic img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width:767px){
    .invcenter-floor-lead-pic{
        aspect-ratio: unset;
    }
    .invcenter-floor-lead-pic img{
        height: auto;
    }
}
.invcenter-floor-lead-title{
    display: flex;
    align-items: flex-start;
    gap: 15px;
    position: absolute;
    top: 30px;
    left: 40px;
}
@media screen and (max-width:767px){
    .invcenter-floor-lead-title{
        gap: 5px;
        top: min(30px, var(--sidespace--sp_vw));
        left: min(35px, calc(var(--sidespace--sp_vw) + 5px));
    }
}
.invcenter-floor-num{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--my-floor-color);
    color: #fff;
    font-family: var(--font-en);
    font-size: 30px;
    font-weight: bold;
    line-height: 1;
}
@media screen and (max-width:767px){
    .invcenter-floor-num{
        width: 30px;
        height: 30px;
        font-size: 16px;
    }
}
.invcenter-floor-concept{
    display: flex;
    align-items: center;
    min-height: 60px;
    padding-bottom: 1px;
    color: #fff;
    font-size: 48px;
    font-weight: bold;
    line-height: calc(1em + 5px);
    letter-spacing: .08em;
    text-shadow: 0 0 10px rgba(0,0,0,.75);
}
@media screen and (max-width:767px){
    .invcenter-floor-concept{
        min-height: 30px;
        font-size: 2.4rem;
        text-shadow: 0 0 4px rgba(0,0,0,.75);
    }
}

/* invcenter-floor-inner */
.invcenter-floor-inner{
    width: var(--inner-width);
    margin: 0 auto;
}
.invcenter-floor-desc{
    margin: 51px 0 33px;
    font-size: 1.6rem;
    letter-spacing: .04em;
}
@media screen and (max-width:767px){
    .invcenter-floor-desc{
        margin: 13px 0 23px;
        font-size: 1.4rem;
    }
}

/* invcenter-floor-pickup */
.invcenter-floor-pickup{
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin: 30px -10px 0;
}
@media screen and (max-width:767px){
    .invcenter-floor-pickup{
        flex-direction: column;
        gap: 5px 0;
        margin: 20px 0 0;
    }
}
.invcenter-floor-pickup-item{
    display: block;
    flex: 0 0 auto;
    width: calc(50% - 11px);
    padding: 10px;
    border-radius: 10px;
    transition: background .3s ease;
}
@media screen and (min-width:768px){
    .invcenter-floor-pickup-item[data-modal]:hover{
        background: var(--my-floor-lit-color);
    }
}
@media screen and (max-width:767px){
    .invcenter-floor-pickup-item{
        display: flex;
        align-items: center;
        gap: 0 8px;
        width: 100%;
        border-radius: 5px;
        background: var(--my-floor-lit-color);
    }
}
.invcenter-floor-pickup-pic{
    width: 100%;
    aspect-ratio: 3 / 2;
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 8px;
}
@media screen and (max-width:767px){
    .invcenter-floor-pickup-pic{
        flex: 0 0 auto;
        width: min(150px, 31.25vw);
        margin: 0;
        border-radius: 3px;
    }
}
.invcenter-floor-pickup-pic img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
@media screen and (min-width:768px){
    [data-modal]:hover .invcenter-floor-pickup-pic img{
        transform: scale(1.1);
    }
}
.invcenter-floor-pickup-cap{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    min-height: 36px;
    padding: 4px 30px 5px;
    font-size: 1.6rem;
    line-height: calc(1em + 3px);
    letter-spacing: .04em;
    text-align: center;
    transition: color .3s ease;
}
@media screen and (min-width:768px){
    [data-modal]:hover .invcenter-floor-pickup-cap{
        color: var(--my-floor-color);
    }
}
@media screen and (max-width:767px){
    .invcenter-floor-pickup-cap{
        flex: 1 1 auto;
        justify-content: flex-start;
        min-height: 20px;
        padding: 0 26px 0 0;
        color: var(--my-floor-color);
        font-size: 1.4rem;
        text-align: left;
    }
}
[data-modal] .invcenter-floor-pickup-cap::after{
    --my-bg-color: #fff;
    --my-line-color: var(--base-black);
    position: absolute;
    top: calc(50% - 13px);
    right: 0;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: linear-gradient(to top, var(--my-line-color), var(--my-line-color)) no-repeat center / 11px 1px,
    linear-gradient(to right, var(--my-line-color), var(--my-line-color)) no-repeat center / 1px 11px,
    var(--my-bg-color);
    content: "";
    transition: background .3s ease;
}
@media screen and (min-width:768px){
    [data-modal]:hover .invcenter-floor-pickup-cap::after{
        --my-bg-color: var(--my-floor-color);
        --my-line-color: #fff;
    }
}
@media screen and (max-width:767px){
    .invcenter-floor-pickup-cap::after{
        top: calc(50% - 11px);
        width: 21px;
        height: 21px;
        background: linear-gradient(to top, #fff, #fff) no-repeat center / 11px 1px,
        linear-gradient(to right, #fff, #fff) no-repeat center / 1px 11px,
        var(--my-floor-color);
    }
}

/* invcenter-floor-modal */
.invcenter-floor-modal{
    width: 830px;
    padding: 40px 40px 0;
}
@media screen and (max-width:767px){
    .invcenter-floor-modal{
        width: 100%;
        padding: 20px 20px 0;
    }
}
.invcenter-floor-modal-pic{
    margin-bottom: 20px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 3 / 2;
    background: var(--bg-color1);
}
.invcenter-floor-modal-pic img{
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: contain;
}
@media screen and (max-width:767px){
    .invcenter-floor-modal-pic{
        margin-bottom: 16px;
    }
    .invcenter-floor-modal-pic img{
        max-height: 78.125vw;
    }
}
.invcenter-floor-modal-title{
    margin-bottom: 13px;
    color: var(--accent-black);
    font-size: 30px;
    font-weight: bold;
    line-height: calc(1em + 8px);
    letter-spacing: .08em;
    text-align: center;
}
@media screen and (max-width:767px){
    .invcenter-floor-modal-title{
        margin-bottom: 9px;
        font-size: 2rem;
    }
}
.invcenter-floor-modal-desc{
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1.6rem;
    letter-spacing: .04em;
}
@media screen and (max-width:767px){
    .invcenter-floor-modal-desc{
        font-size: 1.4rem;
    }
}
.invcenter-floor-modal-bottom{
    position: sticky;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 93px;
    background: linear-gradient(to top, #fff 50%, rgba(255,255,255,0));
}
@media screen and (max-width:767px){
    .invcenter-floor-modal-bottom{
        height: 73px;
    }
}
.invcenter-floor-modal-close-btn{
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    gap: 0 8px;
    min-width: 100px;
    min-height: 40px;
    max-height: 60px;
    padding: 5px 12px 6px 40px;
    border: solid 1px var(--accent-black);
    border-radius: 99px;
    background: var(--accent-black);
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 3px);
    letter-spacing: .04em;
    transition: background .3s ease, color .3s ease;
}
@media screen and (min-width:768px){
    .invcenter-floor-modal-close-btn:hover{
        background: #fff;
        color: var(--accent-black);
    }
}
@media screen and (max-width:767px){
    .invcenter-floor-modal-close-btn{
        bottom: 20px;
    }
}
.invcenter-floor-modal-close-btn::before{
    position: absolute;
    top: calc(50% - 8px);
    left: 16px;
    transform: rotate(45deg);
    width: 16px;
    height: 16px;
    background: linear-gradient(to top, #fff, #fff) no-repeat center / 2px 100%,
    linear-gradient(to right, #fff, #fff) no-repeat center / 100% 2px;
    content: "";
    transition: filter .3s ease;
}
@media screen and (min-width:768px){
    .invcenter-floor-modal-close-btn:hover::before{
        filter: invert(1);
    }
}

/* invcenter-build */
.invcenter-build{
    width: var(--inner-width);
    margin: 0 auto 115px;
}
.invcenter-build-title{
    margin-bottom: 47px;
    color: var(--accent-black);
    font-size: 36px;
    font-weight: bold;
    line-height: calc(1em + 8px);
    letter-spacing: .08em;
}
@media screen and (max-width:767px){
    .invcenter-build{
        margin-bottom: 36px;
    }
    .invcenter-build-title{
        margin-bottom: 26px;
        font-size: 2.2rem;
    }
}
.invcenter-build-lead{
    margin-bottom: 73px;
}
.invcenter-build-lead-pic{
    margin-bottom: 41px;
}
.invcenter-build-lead-pic img{
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
.invcenter-build-lead-desc{
    font-size: 1.6rem;
    letter-spacing: .04em;
}
@media screen and (max-width:767px){
    .invcenter-build-lead{
        margin-bottom: 23px;
    }
    .invcenter-build-lead-pic{
        margin-bottom: 18px;
    }
    .invcenter-build-lead-desc{
        font-size: 1.4rem;
    }
}

/* invcenter-build-feature */
.invcenter-build-feature-item{
    display: flex;
    gap: 40px;
    align-items: flex-start;
}
.invcenter-build-feature-item:not(:last-child){
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: solid 1px var(--border-gray);
}
@media screen and (max-width:767px){
    .invcenter-build-feature-item{
        display: block;
    }
    .invcenter-build-feature-item:not(:last-child){
        margin-bottom: 30px;
        padding-bottom: 23px;
    }
}
.invcenter-build-feature-pic{
    flex: 0 0 auto;
    width: 360px;
    overflow: hidden;
    border-radius: 8px;
}
.invcenter-build-feature-pic img{
    width: 100%;
    height: auto;
}
@media screen and (max-width:767px){
    .invcenter-build-feature-pic{
        width: 100%;
        border-radius: 5px;
    }
}
.invcenter-build-feature-body{
    flex: 1 1 auto;
}
.invcenter-build-feature-title{
    margin: 5px 0 18px;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: calc(1em + 8px);
    letter-spacing: .08em;
}
.invcenter-build-feature-desc{
    font-size: 1.6rem;
    letter-spacing: .04em;
}
@media screen and (max-width:767px){
    .invcenter-build-feature-title{
        margin: 21px 0 14px;
        font-size: 2rem;
    }
    .invcenter-build-feature-desc{
        font-size: 1.4rem;
    }
}

/* invcenter-access */
.invcenter-access{
    width: var(--inner-width);
    margin: 0 auto;
}
.invcenter-access-title{
    margin-bottom: 47px;
    color: var(--accent-black);
    font-size: 36px;
    font-weight: bold;
    line-height: calc(1em + 8px);
    letter-spacing: .08em;
}
@media screen and (max-width:767px){
    .invcenter-access-title{
        margin-bottom: 26px;
        font-size: 2.4rem;
    }
}
.invcenter-access-map{
    margin-bottom: 20px;
    background: #eee;
}
.invcenter-access-map #map,
.invcenter-access-map iframe{
    width: 100%;
    height: 480px;
}
@media screen and (max-width:767px){
    .invcenter-access-map{
        aspect-ratio: 5 / 4;
    }
    .invcenter-access-map #map,
    .invcenter-access-map iframe{
        width: 100%!important;
        height: 100%!important;
    }
}
.invcenter-access-map #map .gm-style-iw-c:has(.gm-style-iw-ch:empty){
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
}
.invcenter-access-map #map .gm-style-iw-c:has(.gm-style-iw-ch:empty) .gm-style-iw-d{
    overflow: auto!important;
}
.invcenter-access-way{
    margin-bottom: 20px;
}
.invcenter-access-way img{
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* invcenter-access-info */
.invcenter-access-info{
    display: flex;
    gap: 0 30px;
    padding: 30px;
    border-radius: 10px;
    background: #fafafa;
}
@media screen and (max-width:767px){
    .invcenter-access-info{
        display: block;
        padding: 15px 15px 17px;
    }
}
.invcenter-access-info-pic{
    flex: 0 0 auto;
    width: 360px;
    overflow: hidden;
    border-radius: 10px;
}
.invcenter-access-info-pic img{
    width: 100%;
    height: auto;
}
@media screen and (max-width:767px){
    .invcenter-access-info-pic{
        width: 100%;
        border-radius: 8px;
    }
}
.invcenter-access-info-title{
    margin: 7px 0 13px;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
    letter-spacing: .04em;
}
.invcenter-access-desc{
    font-size: 1.6rem;
    line-height: calc(1em + 8px);
    letter-spacing: .04em;
}
.invcenter-access-desc > *:not(:last-child){
    margin-bottom: 7px;
}
@media screen and (max-width:767px){
    .invcenter-access-info-title{
        margin: 17px 0 14px;
        font-size: 2rem;
    }
    .invcenter-access-desc{
        font-size: 1.4rem;
        line-height: calc(1em + 7px);
    }
    .invcenter-access-desc > *:not(:last-child){
        margin-bottom: 8px;
    }
}

/*-------------
cookie consent
-------------*/
.not-concent-msg-box{
    overflow: hidden;
    display: grid;
    grid-template-columns: repeat(2, 100%);
    width: 100%;
}
.not-concent-msg{
    position: relative;
    z-index: 1;
    transform: translateX(-100%);
    background: var(--bg-color1);
}
.not-concent-msg-box:has(._loaded) .not-concent-msg{
    display: none;
}
.not-concent-box{
    display: grid;
    grid-template-columns: auto;
    justify-content: center;
    align-items: center;
    gap: min(30px, 4.6875vw) 0;
    width: 100%;
    height: 100%;
    padding: min(50px, 6.25vw) min(40px, 4.6875vw);
}
.not-concent-box__msg{
    display: flex;
    align-items: center;
    align-self: flex-end;
    position: relative;
    min-height: 62px;
    padding-left: 70px;
    color: #333;
    font-size: 1.6rem;
    line-height: calc(1em + 14px);
}
.not-concent-box__msg::before{
    position: absolute;
    top: 7px;
    left: 0;
    width: 50px;
    height: 50px;
    border: solid 5px #999;
    border-radius: 50%;
    background: linear-gradient(to top, #999 0 6px, rgba(255,255,255,0) 6px 9px, #999 9px) no-repeat center / 6px 26px;
    content: "";
}
@media screen and (max-width:767px){
    .not-concent-box__msg{
        min-height: 58px;
        padding-left: 50px;
        font-size: 1.3rem;
        line-height: calc(1em + 10px);
    }
    .not-concent-box__msg::before{
        top: 4px;
        width: 40px;
        height: 40px;
        border-width: 4px;
        background: linear-gradient(to top, #999 0 4px, rgba(255,255,255,0) 4px 7px, #999 7px) no-repeat center / 4px 20px;
    }
}
.not-concent-box__alt{
    display: flex;
    justify-content: flex-start;
    align-self: flex-start;
}
.not-concent-box__alt-btn{
    min-width: 50%;
    overflow: hidden;
    border-radius: 99px;
}
.not-concent-box__alt-btn a{
    display: flex;
    align-items: center;
    position: relative;
    min-height: 60px;
    padding: 8px 55px 9px 25px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" id="a" width="16" height="16" data-name="svg" viewBox="0 0 16 16"><defs><style>.b{fill:%23fff}</style></defs><path d="M14 13c0 .551-.449 1-1 1H3c-.551 0-1-.449-1-1V3c0-.551.449-1 1-1h2V0H3a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-2h-2z" class="b"/><path d="M8 0v2h4L5 9l2 2 7-7v4h2V0z" class="b"/></svg>') no-repeat center right 24px / 16px 16px, var(--main-color2);
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: .04em;
    line-height: calc(1em + 3px);
    word-break: break-all;
}
@media screen and (max-width:767px){
    .not-concent-box__alt-btn a{
        min-height: 50px;
        padding: 8px 45px 9px 20px;
        background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" id="a" width="14" height="14" data-name="svg" viewBox="0 0 14 14"><defs><style>.b{fill:%23fff}</style></defs><path d="M12 11c0 .551-.449 1-1 1H3c-.551 0-1-.449-1-1V3c0-.551.449-1 1-1h2V0H3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9h-2z" class="b"/><path d="M7 0v2h3L4 8l2 2 6-6v3h2V0z" class="b"/></svg>') no-repeat center right 21px / 14px 14px, var(--main-color2);
        font-size: 1.4rem;
    }
}
.movies-not-concent{
    width: 720px;
    max-width: 100%;
    height: 405px;
    background: #fff;
}
.movies-not-concent .not-concent-msg-box{
    height: 100%;
}
@media screen and (max-width:767px){
    .movies-not-concent{
        height: auto;
    }
}
.line-margin p:not(:last-child){
    margin-bottom:8px
}