@charset "utf-8";
/*-------------
vars
-------------*/
:root{
    --font-sans-serif: '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;
  --app-height: 100vh;
  --yugothic-fonts: YuGothic, Avenir, "Helvetica neue", Helvetica, "游ゴシック",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo,
    "ＭＳ Ｐゴシック", sans-serif;
}

/*旧サイト用*/
#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;
}
#left .left-title::after {
  display: block;
  color: var(--main-color3);
  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;
}
.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{
  display: inline-block;
  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;
}
#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: attr(data-title-en);
    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.1rem;
    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::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;
	background-image: url(../img/bg07.gif);
	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: bold;
  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 td[valign="top"]{
  vertical-align: top!important;
}
.contact_tb tr td a{
 color:var(--main-color3);
text-decoration: underline;
}
/* 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;
}
.is--sample:not(.is--show){
    display: none!important;
}
*:has(> wbr){
    word-break: keep-all;
}
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:767px){
    .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:767px){
    .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:768px){
    .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;
  }
}

/*-------------
custom-scroller
-------------*/
.custom-scroller{
    --scrollbar-heghit: 10px; /* バーの高さ */
    --scrollbar-gap: calc(var(--scrollbar-heghit) + 10px); /* バーとの間隔 +00pxの部分 */
    position: relative;
    overflow: hidden;
}
.custom-scroll-container{
    position: relative;
    overflow: auto;
    scrollbar-width: none;
}
.custom-scroll-container.is--scrollable{
    padding-bottom: var(--scrollbar-gap);
}
.custom-scroll-container::-webkit-scrollbar{
    display: none;
}
@media screen and (min-width:768px){
    .custom-scroll-container.is--scrollable{
        cursor: grab;
    }  
    .custom-scroll-container.is--scrollable:active{
        cursor: grabbing;
    }  
}
.custom-scroll-container.is--scrolling a,
.custom-scroll-container.is--scrolling img{
    pointer-events: none;
}
.custom-scrollbar{
    display: block;
    position: relative;
    width: 100%;
    height: var(--scrollbar-heghit);
    margin-top: calc(-1 * var(--scrollbar-heghit));
    overflow: hidden;
    border-radius: 999px;
    background-color: rgba(100,100,100,.25);
}
.custom-scrollbar__thumb{
    opacity: .5;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    border-radius: 2px;
    background-color: rgba(0,0,0,.5);
    pointer-events: auto;
    transition: opacity .3s ease;
}
@media screen and (min-width:768px){
    .custom-scrollbar__thumb:hover{
        opacity: .75;
    }
    .custom-scrollbar__thumb:active{
        opacity: 1;
    }
}
.custom-scroller .shadow{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - var(--scrollbar-gap));
    content: "";
    pointer-events: none;
}

/*-------------
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);
}
@media screen and (min-width:768px){
  @media screen and (max-width:1399px){
    .header-menu2-sec2--item a{
      width: 130px;
    }
  }
  @media screen and (max-width:1320px){
    .header-menu2-sec2--item a{
      width: 120px;
      font-size: 1.3rem;
    }
  }
}
.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;
  }
  @media screen and (max-width:1449px){
    .header:not(.hd-fix) .header-logo{
        width: 280px;
    }
    .header:not(.hd-fix) .header-logo img{
        width: 100%;
        height: auto;
    }
  }
  @media screen and (max-width:1415px){
    .header:not(.hd-fix) .header-logo{
        width: 240px;
    }
  }
  @media screen and (max-width:1375px){
    .header:not(.hd-fix) .header-logo{
        width: 220px;
    }
  }
  .header-inner2{
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
  }
  .header-menu{
    margin-right: 15px;
  }
  @media screen and (max-width:1359px){
    .header:not(.hd-fix) .header-menu{
      margin-right: 8px;
    }
  }
  .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 8px 23px;
    font-size: 1.6rem;
    line-height: calc(1em + 5px);
    transition: all ease .3s;
  }
  @media screen and (max-width:1320px){
    .header-nav-list-item__link{
        font-size: 1.5rem;
    }
  }
  @media screen and (max-width:1260px){
    .header-nav-list-item__link{
        font-size: 1.4rem;
    }
  }
  @media screen and (max-width:1359px){
    .header:not(.hd-fix) .header-menu{
      margin-right: 8px;
    }
  }
  .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 49%;
    }
    .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: 120px;
  margin-bottom: 100px;
}
/* sp */
@media screen and (max-width:767px){
  .contents{
    margin-top: 50px;
    margin-bottom: 60px;
  }
}
/*-------------
title
-------------*/
.title1{
  margin-bottom: 30px;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--main-color3);
}
.title1:before{
  content: "";
  width: 10px;
  height: 10px;
  display:inline-block;
  background: var(--main-color2);
  border-radius: 50%;
  margin-right: 5px;
}
.title1::after {
  display: block;
  color: var(--main-black);
  font-family: var(--font-en);
  font-size: 3.8rem;
  font-weight: bold;
  line-height: calc(1em + 7px);
  content: attr(data-title-en);
  margin-top: 5px;
}
.title2{
  color: #1a1a1a;
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 15px;
  font-size: 3.6rem;
  font-weight: bold;
  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;
  }
  .title1::after {
    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:768px){
  .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 190px;
  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 */
@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;
  width: 160px;
  margin: 0 0 10px auto;
}
.eco-sec2-info .era{
  display: flex;
  justify-content: space-between;
}
.eco-sec2-info .era:after{
  content: none;
}
.eco-sec2-info .era span{
  align-self: flex-start;
}
/* 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;
  }
}
/*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: 160px;
  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-size: 2.4rem;
  font-weight: bold;
}
.pt2 .in-title-main{
  font-size: 2.1rem;
}
.pt2 .in-title-main::before {
  display: block;
  color: var(--main-color3);
  font-family: var(--font-en);
  font-size: 5.0rem;
  font-weight: bold;
  line-height: calc(1em + 7px);
  content: attr(data-title-en);
  margin-top: 5px;
}
#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;
}
.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);
}
/*技術情報*/
.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: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.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: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .tec_title1:after{
    width: 90px !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;
    }
}
/*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;
}
}
/*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*="en/technology/"]),
.footer-nav-list--item-nav a[href*="en/technology/"]{
 display:none!important;
}

/*-----------------
トップページ改修css
-------------------*/
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: .6s;
}
.popup.is-show {
  opacity: 1;
  visibility: visible;
}
.poup-wrapper{
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 2;
}
.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  max-height: 100%;
  background-color: #fff;
  z-index: 2;
  padding: 40px 0 30px;
  box-sizing: border-box;
  border-radius: 3px;
  overflow: auto;
}
.popup-inner img {
  width: 100%;
  border-radius: 3px 3px 0 0;
}
div#modalCloseCloss:hover {
    opacity: 0.7;
}
.modalCloseButton {
    position: absolute;
    right: 0;
    top: -60px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    cursor: pointer;
    z-index: 100;
    background: #fff;
    border-radius: 50%;
}
.lineClose {
    display: inline-block;
    vertical-align: middle;
    color: #707070;
    line-height: 1;
    margin-top: -5px;
    width: 2rem;
    height: 0.3rem;
    background: currentColor;
    border-radius: 0.2rem;
    position: relative;
    transform: rotate(45deg);
}
.lineClose::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 1;
  cursor: pointer;
}
.modalBottom {
    padding: 0;
}
.modalBottom p {
    margin: 0;
}
/* sp */
@media screen and (max-width:767px){
  .modalCloseButton {
    top: -40px;
    width: 30px;
    height: 30px;
    line-height: 30px;
  }
  .lineClose {
    width: 1.4rem;
    height: 0.2rem;
  }
  .poup-wrapper{
    width: 100vw
    height: 100vh;
  }
  .modalBottom{
    padding: 0;
  }
}
/*-----------------
エントランスページcss
-------------------*/
body:has(#firstTimeModal).load{
  opacity: 0;
}
#entrance{
  background-color: #fff;
  font-family: Avenir, "Helvetica neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #000;
  font-weight: 400;
  font-size: 1.6rem;
  position: relative;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -ms-overflow-style: none;
}
.p-entrance__container {
    /* min-height: 100vh;
    padding: 45px 0; */
    font-family: var(--yugothic-fonts);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Avenir, "Helvetica neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
.p-entrance__wrapper {
    max-width: 680px;
    margin: 0 auto;
    height: 100%;
}
.p-entrance__top {
    text-align: center;
}
.p-entrance__logo svg {
    width: 230px;
    height: 199.91px;
    margin-bottom: 45px;
}
.p-entrance__top h1 {
    font-size: 2.6rem;
    font-weight: 700;
    font-feature-settings: "palt" 1;
    letter-spacing: 2px;
}
.sp-only {
    display: none !important;
}
.p-entrance__center {
    display: block;
    width: 300px;
    height: 55px;
    margin: 55px auto 65px;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    line-height: 55px;
    position: relative;
    letter-spacing: 0;
}
.p-entrance__center::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 35px;
    padding: 3px;
    background: linear-gradient(to right, #dd3a7c, #a9c300, #0096de);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}
.p-entrance__bottom {
    margin-bottom: 45px;
}
.p-entrance__group {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
}
.p-entrance__special {
    position: relative;
}
.p-entrance__btn {
    width: calc(317px - 2px);
    height: 80px;
    border: 1px solid #707070;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    transition: ease-in-out 0.3s;
}
.p-entrance__btn p {
    padding-left: 30px;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.35px;
}
.p-entrance__btn .arrow {
    border: solid #000;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 6px;
    transform: rotate(-45deg);
    position: absolute;
    right: 30px;
    transition: ease-in-out 0.2s;
}
.p-entrance__btn:hover .arrow {
    right: 25px;
}
.is-hidden {
    display: none !important;
}
.p-entrance__special {
    position: relative;
}
.p-entrance__lang {
    position: absolute;
    bottom: -30px;
    left: 30px;
    font-size: 1.2rem;
    text-decoration: underline;
}
.p-entrance__bnr a {
  display: block;
  width: 100%;
  height: auto;
  margin: 63px auto 0;
}
.p-entrance__bnr img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
/*sp*/
@media only screen and (max-width: 820px) {
  .p-entrance__wrapper {
    max-width: 100%;
    width: 100%;
  }
  .p-entrance__logo svg {
    width: 153.1px;
    height: 133.07px;
    margin-bottom: 30px;
  }
  .p-entrance__top h1 {
    font-size: 2.2rem;
    line-height: 1.65;
  }
  .p-entrance__center {
    font-size: 1.3rem;
    width: 204px;
    height: 41px;
    line-height: 41px;
    letter-spacing: 0;
    margin: 25px auto 50px;
  }
  .p-entrance__bottom {
    max-width: 240px;
    margin: 0 auto 25px;
  }
  .p-entrance__group {
    flex-direction: column;
    gap: 40px;
  }
  .p-entrance__special {
    width: 100%;
  }
  .p-entrance__btn {
    width: 100%;
    height: 50px;
    border-radius: 5px;
  }
  .p-entrance__btn p {
    font-size: 1.4rem;
    padding-left: 20px;
  }
  .p-entrance__btn .arrow {
    padding: 5px;
    right: 25px;
  }
  .p-entrance__lang {
    font-size: 1rem;
    bottom: -23px;
    left: 0px;
  }
  .p-entrance__bnr a {
    margin: 23px auto 0;
  }
  .sp-only {
    display: block !important;
  }
}

/*-------------
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 184px;
}
.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;
  letter-spacing: .02em;
  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;
}
.glos-idxlist-item .textGroup_jp::first-letter{
  font-size: 2.4rem;
}
.glos-idxlist-item .textSize_middle{
  font-size: 2rem;
}
/*--- sp ---*/
@media screen and (max-width:767px){
  .glos-idxlist{
    gap: 10px 7px;
  }
  .glos-idxlist-item{
    flex: 0 0 calc((100% - 14px) / 3);
  }
  .glos-idxlist-item__link{
    height: 50px;
    padding-left: 12px;
    border: solid 1px var(--border-gray);
    border-radius: 5px;
    font-size: 1.2rem;
  }
  .glos-idxlist-item__link::after{
    right: 12px;
  }
  .glos-idxlist-item .textGroup_jp{
    font-size: 1.3rem;
  }
  .glos-idxlist-item .textGroup_jp::first-letter{
    font-size: 2rem;
  }
  .glos-idxlist-item .textSize_middle{
    font-size: 1.8rem;
  }
}

/*-------------
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:768px){
  .glos-idxlist--dtl-item__link:not(:hover){
    text-decoration: underline;
  }
}
/* glos-dtl-termblock */
.glos-dtl-termblock{
  padding: 32px 15px 35px;
  border-top: solid 1px var(--border-gray);
}
.glos-dtl-termblock:last-of-type{
  border-bottom: solid 1px var(--border-gray);
}
.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__term--en{
  display: block;
  position: relative;
  margin-top: 5px;
  padding-left: 5em;
  line-height: calc(1em + 5px);
}
.glos-dtl-termblock__term--en-head{
  position: absolute;
  top: 0;
  left: 0;
  font-feature-settings: normal;
}
.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:767px){
    /*--- 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:768px){
    .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:767px){
    /*--- 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:768px){
    .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:767px){
    /*--- 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:767px){
    /*--- 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:767px){
    /*--- 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:767px){
    /*--- 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:not(:last-child){
    margin-bottom: 50px;
}
.privacy-sect-title{
    counter-increment: prvs-sect-num;
}
.privacy-sect-title::before{
    display: inline-block;
    margin-right: .25em;
    content: counter(prvs-sect-num)".";
}
.privacy-sect-body,
.privacy-sect-body *{
    line-height: calc(1em + 12px);
}
.privacy-sect-body br + br{
    display: block;
    margin-bottom: 1em;
    content: "";
}
.privacy-sect-body ol{
    margin: 1em 0;
    list-style-type: lower-roman;
    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: .5em;
}
.privacy-sect-body a:not(:hover){
    text-decoration: underline;
}
.privacy-bottom{
    display: flex;
    justify-content: flex-end;
    margin-top: 50px;
}
.privacy-bottom-title{
    margin-bottom: 5px;
    font-weight: bold;
}
.privacy-bottom__desc:not(:last-child){
    margin-bottom: 3px;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .privacy-sect:not(:last-child){
        margin-bottom: 40px;
    }
    .privacy-sect-body,
    .privacy-sect-body *{
        line-height: calc(1em + 10px);
    }
    .privacy-bottom{
        margin-top: 40px;
    }
}

/*-------------
top-fp-columns
-------------*/
.top-fp-columns{
    position: relative;
    margin: 30px 0 -60px;
    padding: 40px 0 60px;
    overflow: hidden;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0 40px, var(--bg-color1) 40px calc(100% - 60px), rgba(255,255,255,0) calc(100% - 60px) 100%);
}
.top-fp-columns::before{
    position: absolute;
    top: 0;
    left: 20px;
    transform: rotate(45deg);
    width: 240px;
    height: 240px;
    overflow: hidden;
    border-radius: 50%;
    background: repeating-linear-gradient(to right,rgba(233,84,142,.2) 0px,rgba(233,84,142,.2) 5px,rgba(255,255,255,0) 5px,rgba(255,255,255,0) 8px);
    content: "";
}
.top-fp-columns::after{
    position: absolute;
    bottom: 0;
    right: -60px;
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius: 50%;
    background: #DDEB9A;
    content: "";
}
.top-fp-columns-inner{
    position: relative;
    z-index: 1;
    padding: 55px 0 154px;
}
.top-fp-columns-inner::after{
    position: absolute;
    right: 10px;
    bottom: 20px;
    z-index: -1;
    width: 60px;
    height: 60px;
    background: url(../img/fp-columns-dot.svg) no-repeat center / contain;
    content: "";
}
.top-fp-columns-title{
    margin-bottom: 37px;
    font-size: 42px;
    font-weight: bold;
    line-height: calc(1em + 8px);
    text-align: center;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .top-fp-columns{
        margin: -20px 0 -40px;
    }
    .top-fp-columns::before{
        left: -40px;
        transform: rotate(-135deg);
        width: 120px;
        height: 120px;
        background: repeating-linear-gradient(to right,rgba(233,84,142,.2) 0px,rgba(233,84,142,.2) 3px,rgba(255,255,255,0) 3px,rgba(255,255,255,0) 5px);
    }
    .top-fp-columns-inner{
        padding: 36px 0 40px;
    }
    .top-fp-columns-inner::after{
        right: 10px;
        bottom: 19px;
    }
    .top-fp-columns-title{
        margin-bottom: 26px;
        font-size: 30px;
    }
}

/* top-fp-columns-list */
.top-fp-columns-list{
    display: flex;
    justify-content: center;
}
.top-fp-columns-list-item{
    flex: 0 0 auto;
    width: 420px;
    padding: 0 30px;
}
.top-fp-columns-list-item__link{
    display: block;
    position: relative;
}
.top-fp-columns-list-item__link::before{
    position: absolute;
    top: 305px;
    right: 10px;
    z-index: 1;
    width: 80px;
    height: 80px;
    background: no-repeat center / contain;
    content: "";
    transition: transform .3s ease;
}
.top-fp-columns-list-item:nth-child(3n-2) .top-fp-columns-list-item__link::before{
    background-image: url(../img/piece_blue.svg);
}
.top-fp-columns-list-item:nth-child(3n-1) .top-fp-columns-list-item__link::before{
    background-image: url(../img/piece_green.svg);
}
.top-fp-columns-list-item:nth-child(3n) .top-fp-columns-list-item__link::before{
    background-image: url(../img/piece_red.svg);
}
@media screen and (min-width:768px){
    .top-fp-columns-list-item__link:hover::before{
        transform: rotate(30deg);
    }
}
.top-fp-columns-list-item__thumb{
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
}
.top-fp-columns-list-item__thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
@media screen and (min-width:768px){
    a:hover .top-fp-columns-list-item__thumb img{
        transform: scale(1.1);
    }
}
.top-fp-columns-list-item-head{
    display: flex;
    align-items: center;
    gap: 0 15px;
    margin-bottom: 13px;
}
.top-fp-columns-list-item__cate{
    padding: 6px 10px 8px;
    border-radius: 3px;
    background: var(--main-color3);
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: calc(1em + 2px);
    text-align: center;
}
.top-fp-columns-list-item__date{
    color: #999;
    font-family: var(--font-en);
    font-size: 1.4rem;
    letter-spacing: .02em;
}
.top-fp-columns-list-item__title{
    font-size: 2rem;
    font-weight: bold;
    line-height: calc(1em + 12px);
    letter-spacing: .04em;
    transition: color .3s ease;
}
@media screen and (min-width:768px){
    a:hover .top-fp-columns-list-item__title{
        color: var(--main-color3);
    }
}
.top-fp-columns-list-item__tag{
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 20px;
}
.top-fp-columns-list-item__tag-item a{
    display: block;
    padding: 8px 10px 10px 24px;
    border-radius: 3px;
    background: #ebebeb url(../img/icon_hashtag.svg) no-repeat left 10px center / 10px auto;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: calc(1em + 2px);
    transition: background .3s ease, color .3s ease;
}
@media screen and (min-width:768px){
    .top-fp-columns-list-item__tag-item a:hover{
        background-color: #FCE5EE;
        background-image: url(../img/icon_hashtag_pink.svg);
        color: var(--main-color1);
    }
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .top-fp-columns-list-item{
        width: 84.375vw;
        padding: 0 3.125vw;
    }
    .top-fp-columns-list-item__link::before{
        top: calc(78.125vw - 40px);
        width: 60px;
        height: 60px;
    }
    .top-fp-columns-list-item-head{
        margin-bottom: 15px;
    }
    .top-fp-columns-list-item__cate{
        padding: 7px 10px;
    }
    .top-fp-columns-list-item__date{
        color: #999;
        font-family: var(--font-en);
        font-size: 1.4rem;
        letter-spacing: .02em;
    }
    .top-fp-columns-list-item__title{
        font-size: 1.8rem;
        line-height: calc(1em + 10px);
    }
}

/* top-fp-columns-slider */
.top-fp-columns-slider-wrap{
    position: relative;
}
.top-fp-columns-slider-track{
    position: relative;
    width: 100%;
    overflow: hidden;
}
.top-fp-columns-list.keen-slider{
    justify-content: flex-start;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 2100px!important;
}
@media screen and (min-width:768px){
    .top-fp-columns-slider-controler{
        display: flex;
        align-items: center;
        position: absolute;
        bottom: -96px;
        left: calc(50% - 130px);
        width: 260px;
        padding: 8px;
        border-radius: 99px;
        background: #fff;
    }
}
.top-fp-columns-slider-arrow{
    flex: 0 0 auto;
    position: relative;
    width: 40px;
    height: 40px;
    border: solid 1px #1a1a1a;
    border-radius: 50%;
    background: #1a1a1a;
    color: rgba(255,255,255,0);
    font-size: 0;
    cursor: pointer;
    transition: background .3s ease;
}
.top-fp-columns-slider-arrow._right{
    transform: rotate(180deg);
}
.top-fp-columns-slider-arrow::after{
    position: absolute;
    top: 50%;
    left: 17px;
    transform: scaleY(.9) translateY(-50%) rotate(-45deg);
    width: 7px;
    height: 7px;
    border-top: solid 2px #fff; 
    border-left: solid 2px #fff; 
    content: "";
    transition: border .3s ease;
}
@media screen and (min-width:768px){
    .top-fp-columns-slider-arrow:hover{
        background: #fff;
    }
    .top-fp-columns-slider-arrow:hover::after{
        border-color: #1a1a1a;
    }
}
.top-fp-columns-slider-counter{
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0 16px;
    position: relative;
    margin: 0 auto;
}
.top-fp-columns-slider-counter::before{
    position: absolute;
    top: calc(50% - 15px);
    left: calc(50% - .5px);
    transform: rotate(30deg);
    width: 1px;
    height: 30px;
    background: #333;
    content: "";
}
.top-fp-columns-slider-counter-num{
    flex: 0 0 auto;
    width: 40px;
    color: #333;
    font-family: var(--font-en);
    font-size: 1.8rem;
    line-height: 1;
    text-align: center;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .top-fp-columns-list.keen-slider{
        width: 253.125vw!important;
    }
    .top-fp-columns-slider-controler{
        display: flex;
        justify-content: space-between;
        position: absolute;
        top: calc(39.0625vw - 20px);
        left: var(--sidespace--sp_vw);
        width: var(--width--sp_vw);
    }
    .top-fp-columns-slider-arrow{
        border-color: rgba(26,26,26,.75);
        background: rgba(255,255,255,.75);
    }
    .top-fp-columns-slider-arrow::after{
        border-color: #1a1a1a;
    }
    .top-fp-columns-slider-counter{
        display: none;
    }
}

/* top-fp-columns-bottom */
.top-fp-columns-bottom{
    position: absolute;
    right: calc(50% - 600px);
    bottom: 60px;
}
.top-fp-columns-bottom-btn{
    width: 180px;
}
.top-fp-columns-bottom-btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    padding-bottom: 1px;
    border: solid 1px #ccc;
    border-radius: 25px;
    background: #fff url(../img/icon_news1.svg) no-repeat right 20px center / 15px 10px;
    font-size: 1.5rem;
    font-weight: bold;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .top-fp-columns-bottom{
        position: static;
        width: var(--width--sp);
        margin: 40px auto 0;
        padding-top: 25px;
        border-top: solid 1px #ccc;
    }
    .top-fp-columns-bottom-btn{
        width: 100%;
    }
}

/*-------------
fp-columns-idx
-------------*/
.fp-columns-idx{
    position: relative;
    padding-right: 260px;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-idx{
        position: relative;
        width: var(--width--sp);
        margin: 0 auto;
        padding-right: 0;
    }
    .fp-columns-idx .content_title1{
        margin-bottom: 20px;
    }
    .fp-columns-idx-nav{
        display: flex;
        gap: 6px;
        position: relative;
        z-index: 2;
        margin-bottom: 16px;
    }
    .fp-columns-idx-nav-colm{
        flex: 1;
    }
    .fp-columns-idx-nav-colm-head{
        display: flex;
        align-items: center;
        position: relative;
        height: 44px;
        padding: 0 10px 0 30px;
        border: solid 1px var(--border-gray);
        border-radius: 5px;
        background: #fff;
        font-weight: bold;
        letter-spacing: .04em;
        cursor: pointer;
        transition: background .3s ease, border .3s ease;
    }
    .fp-columns-idx-nav-colm-head.is--active{
        border-color: var(--main-color2);
        background: #F7FAE6;
    }
    .fp-columns-idx-nav-colm-head::before{
        position: absolute;
        top: calc(50% - 8px);
        left: 9px;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: linear-gradient(to right, #fff, #fff) no-repeat center / 2px 8px,
        linear-gradient(to top, #fff, #fff) no-repeat center / 8px 2px,
        var(--main-color2);
        content: "";
        transition: transform .3s ease;
    }
    .fp-columns-idx-nav-colm-head.is--active::before{
        transform: rotate(90deg);
        background: linear-gradient(to right, #fff, #fff) no-repeat center / 2px 8px,
        var(--main-color2);
    }
    .fp-columns-idx-nav-colm-head::after{
        position: absolute;
        bottom: -6px;
        left: calc(50% - 5px);
        z-index: 2;
        transform: scaleX(.7) translateY(100%) rotate(45deg);
        width: 10px;
        height: 10px;
        border-top: solid 1px var(--border-gray);
        border-left: solid 1px var(--border-gray);
        background: #fff;
        content: "";
        transition: opacity .3s ease;
        pointer-events: none;
    }
    .fp-columns-idx-nav-colm-head:not(.is--active)::after{
        opacity: 0;
    }
    .fp-columns-idx-nav-colm-body{
        position: absolute;
        bottom: -10px;
        left: 0;
        z-index: 1;
        transform: translateY(100%);
        width: 100%;
        border: solid 1px var(--border-gray);
        border-radius: 5px;
        box-shadow: 0 0 10px rgba(0,0,0,.2);
        background: #fff;
        transition: opacity .3s ease;
    }
    .fp-columns-idx-nav-colm-body:not(.is--active){
        display: none;
    }
    .fp-columns-idx-nav-colm-body:not(.is--show){
        opacity: 0;
    }
}

/* fp-columns-idx-category */
@media screen and (min-width:768px){
    .fp-columns-idx-category{
        position: absolute;
        top: 0;
        right: 0;
        width: 200px;
    }
    .fp-columns-idx-category-title{
        margin-bottom: 15px;
        padding-bottom: 30px;
        border-bottom: solid 1px var(--border-gray);
        font-size: 2.4rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: .04em;
    }
    .fp-columns-idx-category-title::after{
        display: block;
        margin-top: 10px;
        color: var(--main-color3);
        font-family: var(--font-en);
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 1;
        content: attr(data-en);
    }   
}
.fp-columns-idx-category-list-item:not(:last-child){
    margin-bottom: 7px;
}
.fp-columns-idx-category-list-item a{
    display: block;
    position: relative;
    padding-left: 19px;
    font-size: 1.5rem;
    line-height: calc(1em + 8px);
}
.fp-columns-idx-category-list-item a._current{
    pointer-events: none;
}
@media screen and (min-width:768px){
    .fp-columns-idx-category-list-item a:hover{
        text-decoration: underline;
    }
}
.fp-columns-idx-category-list-item a::before{
    position: absolute;
    top: calc(.5em + .5px);
    left: 3px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #EEF5CD;
    content: "";
}
.fp-columns-idx-category-list-item a._current::before{
    background: var(--main-color2);
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-idx-category-list{
        padding: 11px 15px;
    }
    .fp-columns-idx-category-list-item:not(:last-child){
        margin-bottom: 4px;
    }
}

/* fp-columns-idx-keyword */
@media screen and (min-width:768px){
    .fp-columns-idx-keyword{
        margin-bottom: 50px;
    }
    .fp-columns-idx-keyword-title{
        position: relative;
        margin-bottom: 26px;
        padding-bottom: 13px;
        border-bottom: solid 2px var(--border-gray);
        font-size: 2.8rem;
        font-weight: bold;
        line-height: calc(1em + 5px);
    }
    .fp-columns-idx-keyword-title::before{
        position: absolute;
        bottom: -2px;
        left: 0;
        width: 120px;
        height: 2px;
        background: var(--main-color1);
        content: "";
    }
}
.fp-columns-idx-keyword-list{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.fp-columns-idx-keyword-list-item{
    flex: 0 0 auto;
}
.fp-columns-idx-keyword-list-item a{
    display: block;
    padding: 13px 15px 15px 29px;
    border-radius: 6px;
    background: #ebebeb url(../img/icon_hashtag.svg) no-repeat left 15px center / 12px auto;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 2px);
    transition: background .3s ease, color .3s ease;
}
.fp-columns-idx-keyword-list-item a._current{
    background-color: #FCE5EE;
    background-image: url(../img/icon_hashtag_pink.svg);
    color: var(--main-color1);
    pointer-events: none;
}
@media screen and (min-width:768px){
    .fp-columns-idx-keyword-list-item a:hover{
        background-color: #FCE5EE;
        background-image: url(../img/icon_hashtag_pink.svg);
        color: var(--main-color1);
    }
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-idx-keyword-list{
        gap: 4px;
        padding: 10px;
    }
    .fp-columns-idx-keyword-list-item{
        width: calc(50% - 2px);
    }
    .fp-columns-idx-keyword-list-item a{
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        min-height: 34px;
        padding: 4px 10px 4px 24px;
        border-radius: 3px;
        background: #ebebeb url(../img/icon_hashtag.svg) no-repeat left 10px center / 10px auto;
        font-size: 1.4rem;
    }
}

/* fp-columns-idx-list-head */
.fp-columns-idx-list-head{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 20px;
}
.fp-columns-idx-list-head-title{
    position: relative;
    padding-right: 22px;
    font-size: min(30px, 2.8rem);
    font-weight: bold;
    line-height: calc(1em + 7px);
    letter-spacing: .04em;
}
.fp-columns-idx-list-head-title::before{
    position: absolute;
    top: 4px;
    right: 0;
    width: 2px;
    height: calc(100% - 7px);
    background: #333;
    content: "";
}
.fp-columns-idx-list-head__leng{
    font-size: 1.6rem;
    letter-spacing: .04em;
}
.fp-columns-idx-list-head__leng .__head{
    display: none;
}
.fp-columns-idx-list-head__leng .__num{
    font-size: 2.4rem;
    letter-spacing: .04em;
}


/* fp-columns-idx-list */
.fp-columns-idx-list{
    display: flex;
    flex-wrap: wrap;
    gap: 50px 35px;
    margin-top: 37px;
}
.fp-columns-idx-list-item{
    flex: 0 0 auto;
    width: 290px;
}
.fp-columns-idx-list-item:not(.is--show){
    display: none;
}
.fp-columns-idx-list-item__link{
    display: block;
    position: relative;
}
.fp-columns-idx-list-item__link::before{
    position: absolute;
    top: 240px;
    right: 10px;
    z-index: 1;
    width: 80px;
    height: 80px;
    background: no-repeat center / contain;
    content: "";
    transition: transform .3s ease;
}
.fp-columns-idx-list-item:nth-child(3n-2) .fp-columns-idx-list-item__link::before{
    background-image: url(../img/piece_red.svg);
}
.fp-columns-idx-list-item:nth-child(3n-1) .fp-columns-idx-list-item__link::before{
    background-image: url(../img/piece_blue.svg);
}
.fp-columns-idx-list-item:nth-child(3n) .fp-columns-idx-list-item__link::before{
    background-image: url(../img/piece_green.svg);
}
.fp-columns-idx-list-item._pazzle1 .fp-columns-idx-list-item__link::before{
    background-image: url(../img/piece_red.svg);
}
.fp-columns-idx-list-item._pazzle2 .fp-columns-idx-list-item__link::before{
    background-image: url(../img/piece_blue.svg);
}
.fp-columns-idx-list-item._pazzle3 .fp-columns-idx-list-item__link::before{
    background-image: url(../img/piece_green.svg);
}
@media screen and (min-width:768px){
    .fp-columns-idx-list-item__link:hover::before{
        transform: rotate(30deg);
    }
}
.fp-columns-idx-list-item__thumb{
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 10px;
    background: #f0f0f0;
}
.fp-columns-idx-list-item__thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
@media screen and (min-width:768px){
    a:hover .fp-columns-idx-list-item__thumb img{
        transform: scale(1.1);
    }
}
.fp-columns-idx-list-item-head{
    display: flex;
    align-items: center;
    gap: 0 15px;
    margin-bottom: 13px;
}
.fp-columns-idx-list-item__cate{
    padding: 6px 10px 8px;
    border-radius: 3px;
    background: var(--main-color3);
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: calc(1em + 2px);
    text-align: center;
}
.fp-columns-idx-list-item__date{
    color: #999;
    font-family: var(--font-en);
    font-size: 1.4rem;
    letter-spacing: .02em;
}
.fp-columns-idx-list-item__title{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(1em + 12px);
    letter-spacing: .04em;
    transition: color .3s ease;
}
@media screen and (min-width:768px){
    a:hover .fp-columns-idx-list-item__title{
        color: var(--main-color3);
    }
}
.fp-columns-idx-list-item__tag{
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 20px;
}
.fp-columns-idx-list-item__tag-item a{
    display: block;
    padding: 8px 10px 10px 24px;
    border-radius: 3px;
    background: #ebebeb url(../img/icon_hashtag.svg) no-repeat left 10px center / 10px auto;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: calc(1em + 2px);
    transition: background .3s ease, color .3s ease;
}
@media screen and (min-width:768px){
    .fp-columns-idx-list-item__tag-item a:hover{
        background-color: #FCE5EE;
        background-image: url(../img/icon_hashtag_pink.svg);
        color: var(--main-color1);
    }
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-idx-list{
        flex-direction: column;
        gap: 30px 0;
        margin-top: 30px;
    }
    .fp-columns-idx-list-item{
        width: 100%;
        min-height: 31.25vw;
        padding-left: calc(31.25vw + 15px);
    }
    .fp-columns-idx-list-item__link::before{
        top: calc(31.25vw - 25px);
        right: auto;
        left: -60px;
        z-index: 1;
        width: 40px;
        height: 40px;
    }
    .fp-columns-idx-list-item__thumb{
        position: absolute;
        top: 0;
        left: calc((31.25vw + 15px) * -1);
        width: 31.25vw;
        aspect-ratio: 1 / 1;
        margin-bottom: 20px;
        overflow: hidden;
        border-radius: 10px;
        background: #fff;
    }
    .fp-columns-idx-list-item-head{
        gap: 0 8px;
        margin-bottom: 6px;
    }
    .fp-columns-idx-list-item__cate{
        padding: 4px 10px 5px;
        font-size: 1.3rem;
    }
    .fp-columns-idx-list-item__title{
        font-size: 1.6rem;
        line-height: calc(1em + 8px);
    }
    .fp-columns-idx-list-item__tag{
        margin-top: 8px;
    }
    .fp-columns-idx-list-item__tag-item a{
        padding: 7px 8px 7px 21px;
        background: #ebebeb url(../img/icon_hashtag.svg) no-repeat left 8px center / 9px auto;
        font-size: 1.3rem;
    }
}

/* fp-columns-showmore */
.fp-columns-showmore{
    position: relative;
    z-index: 0;
    margin-top: 50px;
}
.fp-columns-showmore::before{
    position: absolute;
    top: calc(50% - .5px);
    left: 0;
    z-index: -1;
    width: 100%;
    height: 1px;
    background: #ccc;
    content: "";
}
.fp-columns-showmore-btn{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    height: 51px;
    margin: 0 auto;
    padding-bottom: 2px;
    border: solid 1px #ccc;
    border-radius: 99px;
    background: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-showmore{
        margin-top: 30px;
    }
    .fp-columns-showmore-btn{
        width: min(300px, 62.5vw);
        padding-bottom: 0;
    }
}

/*-------------
fp-columns-dtl
-------------*/
.fp-columns-dtl{
    width: 960px;
    margin: 0 auto;
    padding-top: 70px;
}
.fp-columns-dtl-head{
    display: flex;
    gap: 0 40px;
    align-items: flex-start;
    margin-bottom: 95px;
    padding-bottom: 60px;
    border-bottom: solid 1px var(--border-gray);
}
.fp-columns-dtl-head__visual{
    flex: 0 0 auto;
    position: relative;
    max-width: 460px;
}
.fp-columns-dtl-head__visual::after{
    position: absolute;
    right: 20px;
    bottom: -30px;
    width: 80px;
    height: 80px;
    background: url(../img/piece_red.svg) no-repeat center / contain;
    content: "";
}
.fp-columns-dtl-head__visual-pic{
    overflow: hidden;
    border-radius: 10px;
}
.fp-columns-dtl-head__visual-pic img{
    max-width: 100%;
    height: auto;
}
.fp-columns-dtl-head-inner{
    flex: 1 1 auto;
}
.fp-columns-dtl-head-info{
    display: flex;
    align-items: center;
    gap: 5px 15px;
    margin-bottom: 10px;
}
.fp-columns-dtl-head__cate{
    padding: 8px 10px 10px;
    border-radius: 5px;
    background: var(--main-color3);
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 2px);
}
.fp-columns-dtl-head__date{
    color: #999;
    font-family: var(--font-en);
    font-size: 1.6rem;
    letter-spacing: .02em;
}
.fp-columns-dtl-head-title{
    font-size: 32px;
    font-weight: bold;
    line-height: calc(1em + 16px);
}
.fp-columns-dtl-head__tag{
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 29px;
}
.fp-columns-dtl-head__tag-item a{
    display: block;
    padding: 8px 12px 10px 28px;
    border-radius: 3px;
    background: #ebebeb url(../img/icon_hashtag.svg) no-repeat left 12px center / 12px auto;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 2px);
    transition: background .3s ease, color .3s ease;
}
@media screen and (min-width:768px){
    .fp-columns-dtl-head__tag-item a:hover{
        background-color: #FCE5EE;
        background-image: url(../img/icon_hashtag_pink.svg);
        color: var(--main-color1);
    }
}
.fp-columns-dtl-head-desc{
  margin-top: 22px;
  line-height: calc(1em + 13px);
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-dtl{
        width: var(--width--sp);
        padding-top: 10px;
    }
    .fp-columns-dtl-head{
        flex-direction: column;
        gap: 20px 0;
        margin-bottom: 40px;
        padding-bottom: 30px;
    }
    .fp-columns-dtl-head__visual{
        max-width: none;
    }
    .fp-columns-dtl-head__visual::after{
        right: 10px;
        bottom: -20px;
        width: 60px;
        height: 60px;
    }
    .fp-columns-dtl-head__visual-pic img{
        width: 100%;
        height: auto;
    }
    .fp-columns-dtl-head-info{
        gap: 5px 10px;
        margin-bottom: 14px;
    }
    .fp-columns-dtl-head__cate{
        padding: 9px 10px;
    }
    .fp-columns-dtl-head-title{
        font-size: 2.4rem;
        line-height: calc(1em + 12px);
    }
    .fp-columns-dtl-head__tag{
        margin-top: 19px;
    }
    .fp-columns-dtl-head__tag-item a{
        padding: 7px 8px 7px 21px;
        border-radius: 3px;
        background: #ebebeb url(../img/icon_hashtag.svg) no-repeat left 8px center / 9px auto;
        font-size: 1.3rem;
    }
    .fp-columns-dtl-head-desc{
        margin-top: 19px;
        line-height: calc(1em + 11px);
    }
}

/* fp-columns-dtl-block */
.fp-columns-dtl-block{
    margin-top: 85px;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-dtl-block{
        margin-top: 45px;
    }
}

/* fp-columns-dtl-block-body */
.fp-columns-dtl-block-body{
    font-size: 1.8rem;
    line-height: 2;
}
.fp-columns-dtl-block-body > *:first-child,
.fp-columns-dtl-block-body > *:first-child *:first-child{
    margin-top: 0;
}
.fp-columns-dtl-block-body > *:last-child,
.fp-columns-dtl-block-body > *:last-child *:last-child{
    margin-bottom: 0;
}
:where(.fp-columns-dtl-block-body) p:not(:last-child){
    margin-bottom: 22px;
}
:where(.fp-columns-dtl-block-body) br + br{
    display: block;
    height: 1em;
    content: "";
}
:where(.fp-columns-dtl-block-body) :is(h1,h2,h3,h4,h5,h6) + *,
:where(.fp-columns-dtl-block-body) :is(h1,h2,h3,h4,h5,h6) + * > *:first-child{
    margin-top: 0!important;
}
:where(.fp-columns-dtl-block-body) h1{
    position: relative;
    margin: 65px 0 25px;
    padding-left: 65px;
    font-size: 36px;
    font-weight: bold;
    line-height: calc(1em + 12px);
}
:where(.fp-columns-dtl-block-body) h1::before{
    position: absolute;
    top: calc(.5em - 18px);
    left: 0;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #E1F6FF url(../img/icon_title-piece.svg) no-repeat center / auto;
    content: "";
}
:where(.fp-columns-dtl-block-body) h2{
    position: relative;
    margin: 47px 0 30px;
    padding-bottom: 12px;
    border-bottom: solid 1px var(--border-gray);
    font-size: 30px;
    font-weight: bold;
    line-height: calc(1em + 8px);
}
:where(.fp-columns-dtl-block-body) h2::before{
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100px;
    height: 1px;
    background: var(--main-color1);
    content: "";
}
:where(.fp-columns-dtl-block-body) h3{
    margin: 37px 0 27px;
    font-size: min(30px, 2.7rem);
    font-weight: bold;
    line-height: calc(1em + 8px);
}
:where(.fp-columns-dtl-block-body) h4{
    margin: 32px 0 22px;
    font-size: min(27px, 2.4rem);
    font-weight: bold;
    line-height: calc(1em + 8px);
}
:where(.fp-columns-dtl-block-body) h5{
    margin: 27px 0 17px;
    font-size: min(24px, 2.1rem);
    font-weight: bold;
    line-height: calc(1em + 8px);
}
:where(.fp-columns-dtl-block-body) h6{
    margin: 22px 0 12px;
    font-size: min(21px, 1.8rem);
    font-weight: bold;
    line-height: calc(1em + 8px);
}
:where(.fp-columns-dtl-block-body) a{
    color: var(--main-color3);
}
:where(.fp-columns-dtl-block-body) a:not(:hover){
    text-decoration: underline;
}
:where(.fp-columns-dtl-block-body) img{
    border-radius: 10px;
}
:where(.fp-columns-dtl-block-body) > img,
:where(.fp-columns-dtl-block-body) > *:has(img){
    margin: 52px 0 50px;
}
:where(.fp-columns-dtl-block-body) img + br,
:where(.fp-columns-dtl-block-body) > *:has(img) + br{
    display: none;
}
:where(.fp-columns-dtl-block-body) iframe{
    display: block;
    max-width: 100%;
    margin: 52px 0 50px;
    background: #f0f0f0;
}
:where(.fp-columns-dtl-block-body) .editor__emded{
    margin: 52px 0 50px;
}
:where(.fp-columns-dtl-block-body) .editor__emded iframe{
    margin: 0;
}
:where(.fp-columns-dtl-block-body) ul,
:where(.fp-columns-dtl-block-body) ol{
    margin: 30px 0 32px;
}
:where(.fp-columns-dtl-block-body) li:not(:last-child){
    margin-bottom: 7px;
}
:where(.fp-columns-dtl-block-body) ul li{
    position: relative;
    padding-left: 1.4em;
}
:where(.fp-columns-dtl-block-body) ul li::before{
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(2);
    transform-origin: left center;
    color: var(--main-color1);
    content: "・";
}
:where(.fp-columns-dtl-block-body) ol{
    counter-reset: listnum;
}
:where(.fp-columns-dtl-block-body) ol li{
    position: relative;
    padding-left: 1.6em;
}
:where(.fp-columns-dtl-block-body) ol li::before{
    position: absolute;
    top: 0;
    left: 0;
    color: var(--main-color2);
    font-weight: 500;
    content: counter(listnum, decimal-leading-zero)".";
    counter-increment: listnum;
}
:where(.fp-columns-dtl-block-body) blockquote{
    margin-bottom: 25px;
    padding: 6px 0 8px 1em;
    border-left: solid 1px #ccc;
}
:where(.fp-columns-dtl-block-body) blockquote > *{
    display: inline;
}
:where(.fp-columns-dtl-block-body) blockquote::before{
    color: var(--main-color3);
    font-size: 2em;
    line-height: .5em;
    vertical-align: middle;
    content: "“";
}
:where(.fp-columns-dtl-block-body) hr{
    margin: 42px 0 40px;
    border-color: var(--border-gray);
}
:where(.fp-columns-dtl-block-body) .editor__table,
:where(.fp-columns-dtl-block-body) table{
    margin: 42px 0 40px;
}
:where(.fp-columns-dtl-block-body) .editor__table table{
    margin: 0;
}
:where(.fp-columns-dtl-block-body) th,
:where(.fp-columns-dtl-block-body) td{
    padding: revert-layer;
    line-height: 1.5;
}
:where(.fp-columns-dtl-block-body) th{
    background: var(--bg-color1);
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-dtl-block-body{
        font-size: 1.5rem;
        line-height: 1.8;
    }
    :where(.fp-columns-dtl-block-body) p:not(:last-child){
        margin-bottom: 18px;
    }
    :where(.fp-columns-dtl-block-body) h1{
        margin: 28px 0 8px;
        padding-left: 38px;
        font-size: 2.4rem;
    }
    :where(.fp-columns-dtl-block-body) h1::before{
        top: calc(.5em - 11px);
        width: 30px;
        height: 30px;
        background-size: 18px;
    }
    :where(.fp-columns-dtl-block-body) h2{
        margin: 30px 0 15px;
        padding-bottom: 11px;
        font-size: 2rem;
    }
    :where(.fp-columns-dtl-block-body) h2::before{
        width: min(100px, 15.625vw);
    }
    :where(.fp-columns-dtl-block-body) h3{
        margin: 25px 0 15px;
        font-size: 1.8rem;
    }
    :where(.fp-columns-dtl-block-body) h4{
        margin: 23px 0 13px;
        font-size: 1.7rem;
    }
    :where(.fp-columns-dtl-block-body) h5{
        margin: 21px 0 11px;
        font-size: 1.6rem;
    }
    :where(.fp-columns-dtl-block-body) h6{
        margin: 19px 0 9px;
        font-size: 1.5rem;
    }
    :where(.fp-columns-dtl-block-body) img{
        border-radius: 5px;
    }
    :where(.fp-columns-dtl-block-body) > img,
    :where(.fp-columns-dtl-block-body) > *:has(img){
        margin: 34px 0;
    }
    :where(.fp-columns-dtl-block-body) iframe,
    :where(.fp-columns-dtl-block-body) .editor__emded{
        margin: 34px 0;
    }
    :where(.fp-columns-dtl-block-body) ul,
    :where(.fp-columns-dtl-block-body) ol{
        margin: 18px 0 23px;
    }
    :where(.fp-columns-dtl-block-body) li:not(:last-child){
        margin-bottom: 8px;
    }
    :where(.fp-columns-dtl-block-body) blockquote{
        margin-bottom: 24px;
        padding: 8px 0 8px 1em;
    }
    :where(.fp-columns-dtl-block-body) hr{
        margin: 34px 0;
    }
    :where(.fp-columns-dtl-block-body) .editor__table,
    :where(.fp-columns-dtl-block-body) table{
        margin: 34px 0;
    }
}
:where(.fp-columns-dtl-block-body) .graybox{
  margin: 31px 0;
  padding: 15px 20px 17px;
  border: none;
  border-radius: 10px;
  background: #ebebeb;
}
:where(.fp-columns-dtl-block-body) .graybox > *:first-child{
  margin-top: 0!important;
}
:where(.fp-columns-dtl-block-body) .graybox > *:last-child{
  margin-bottom: 0!important;
}
@media screen and (max-width:767px){
  :where(.fp-columns-dtl-block-body) .graybox{
    margin: 24px 0;
    padding: 14px 15px;
    border-radius: 8px;
  }
}

/* fp-columns-dtl-block__files */
.fp-columns-dtl-block__files{
    margin-top: 35px;
}
.fp-columns-dtl-block__files-item:not(:last-child){
    margin-bottom: 5px;
}
.fp-columns-dtl-block__files-item a{
    display: flex;
    align-items: center;
    min-height: 50px;
    padding: 9px 45px 11px;
    border-radius: 5px;
    background: url(../img/icon_columns-file.svg) no-repeat left 15px center / 20px auto,
    url(../img/icon_news1.svg) no-repeat right 15px center / 15px auto,
    #f2f2f2;
    line-height: calc(1em + 6px);
    transition: background .3s ease;
}
@media screen and (min-width:768px){
    .fp-columns-dtl-block__files-item a:hover{
        background-color: #D9EEFD;
    }
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-dtl-block__files{
        margin-top: 25px;
    }
    .fp-columns-dtl-block__files-item:not(:last-child){
        margin-bottom: 10px;
    }
    .fp-columns-dtl-block__files-item a{
        min-height: 44px;
        padding: 10px 39px;
        background: url(../img/icon_columns-file.svg) no-repeat left 15px center / 16px auto,
        url(../img/icon_news1.svg) no-repeat right 14px center / 15px auto,
        #f2f2f2;
    }
}

/* fp-columns-dtl-pages */
.fp-columns-dtl-pages{
    display: flex;
    gap: 0 20px;
    position: relative;
    margin-top: 60px;
    padding: 15px 0;
    border-top: solid 1px var(--border-gray);
    border-bottom: solid 1px var(--border-gray);
}
.fp-columns-dtl-pages::before{
    position: absolute;
    top: 15px;
    left: 50%;
    width: 1px;
    height: calc(100% - 30px);
    background: var(--border-gray);
    content: "";
}
.fp-columns-dtl-pages-item{
    flex: 0 0 auto;
}
@media screen and (min-width:768px){  
    .fp-columns-dtl-pages-item._next{
        margin-left: auto;
    }   
}
.fp-columns-dtl-pages-item a{
    display: flex;
    gap: 0 15px;
    width: 470px;
    padding: 20px;
    border-radius: 10px;
    transition: background .3s ease;
}
@media screen and (min-width:768px){
    .fp-columns-dtl-pages-item a:hover{
        background: #F7FAE6;
    }
    .fp-columns-dtl-pages-item._next a{
        flex-direction: row-reverse;
    }
}
.fp-columns-dtl-pages-item__thumb{
    flex: 0 0 auto;
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius: 10px;
    background: #f0f0f0;
}
.fp-columns-dtl-pages-item__thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
@media screen and (min-width:768px){  
    a:hover .fp-columns-dtl-pages-item__thumb img{
        transform: scale(1.1);
    }
}
.fp-columns-dtl-pages-item-body{
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    max-width: 274px;
    padding-top: 10px;
}
.fp-columns-dtl-pages-item-body__msg{
    display: flex;
    align-items: center;
    gap: 0 5px;
    margin-bottom: 9px;
    color: #808080;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: .04em;
    transition: color .3s ease;
}
@media screen and (min-width:768px){
    .fp-columns-dtl-pages-item._next .fp-columns-dtl-pages-item-body{
        align-items: flex-end;
    }
    a:hover .fp-columns-dtl-pages-item-body__msg{
        color: var(--main-color2);
    }
    .fp-columns-dtl-pages-item._next .fp-columns-dtl-pages-item-body__msg{
        flex-direction: row-reverse;
    }
}
.fp-columns-dtl-pages-item-body__msg::before{
    flex: 0 0 auto;
    transform: translateY(1px) rotate(-45deg);
    width: 16px;
    height: 16px;
    border: solid 1px #808080;
    border-radius: 50%;
    background: linear-gradient(to top, #808080, #808080) no-repeat top 5px left 5px / 5px 2px,
    linear-gradient(to right, #808080, #808080) no-repeat top 5px left 5px / 2px 5px,
    #fff;
    content: "";
}
.fp-columns-dtl-pages-item._next .fp-columns-dtl-pages-item-body__msg::before{
    transform: translateY(1px) rotate(135deg);
}
@media screen and (min-width:768px){
    a:hover .fp-columns-dtl-pages-item-body__msg::before{
        border-color: var(--main-color2);
        background: linear-gradient(to top, #fff, #fff) no-repeat top 5px left 5px / 5px 2px,
        linear-gradient(to right, #fff, #fff) no-repeat top 5px left 5px / 2px 5px,
        var(--main-color2);
    }
}
.fp-columns-dtl-pages-item-title{
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 12px);
    letter-spacing: .04em;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .fp-columns-dtl-pages{
        flex-direction: column;
        margin-top: 30px;
    }
    .fp-columns-dtl-pages::before{
        content: none;
    }
    .fp-columns-dtl-pages-item:not(:last-child){
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: solid 1px var(--border-gray);
    }
    .fp-columns-dtl-pages-item a{
        gap: 0 10px;
        width: 100%;
        padding: 0;
        border-radius: 0;
    }
    .fp-columns-dtl-pages-item__thumb{
        width: 100px;
        height: 100px;
    }
    .fp-columns-dtl-pages-item-body{
        max-width: none;
        padding-top: 5px;
    }
    .fp-columns-dtl-pages-item-body__msg{
        margin-bottom: 6px;
        color: var(--main-color2);
    }
    .fp-columns-dtl-pages-item-body__msg::before{
        border-color: var(--main-color2);
        background: linear-gradient(to top, #fff, #fff) no-repeat top 5px left 5px / 5px 2px,
        linear-gradient(to right, #fff, #fff) no-repeat top 5px left 5px / 2px 5px,
        var(--main-color2);
    }
    .fp-columns-dtl-pages-item-title{
        font-size: 1.5rem;
        line-height: calc(1em + 7px);
    }
}

/*-------------
bottom-recruit
-------------*/
#contents_main_bg:has(+ .bottom-recruit){
    margin-bottom: 80px;
}
.bottom-recruit{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: clamp(420px, 35svw, 490px);
    padding-top: 25px;
    overflow: hidden;
    background: linear-gradient(to top, rgba(26,26,26,.6), rgba(26,26,26,.6)),
    url(../img/bottom-recruit_bg.jpg) no-repeat center / cover;
}
.bottom-recruit-msg{
    margin-bottom: 32px;
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    line-height: calc(1em + 18px);
    letter-spacing: .04em;
    text-align: center;
}
.bottom-recruit__btn{
    width: 300px;
    margin: 0 auto;
}
.bottom-recruit__btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    padding-bottom: 2px;
    border-radius: 5px;
    background: var(--main-color1);
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    transition: color .3s ease;
}
@media screen and (min-width:768px){
    .bottom-recruit__btn a:hover{
        color: #fcee21;
    }
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    #contents_main_bg:has(+ .bottom-recruit){
        margin-bottom: 30px;
    }
    .bottom-recruit{
        height: auto;
        min-height: 240px;
        padding: 24px var(--sidespace--sp) 40px;
        overflow: hidden;
        background: linear-gradient(to top, rgba(26,26,26,.6), rgba(26,26,26,.6)),
        url(../img/bottom-recruit_bg@sp.jpg) no-repeat center / cover;
    }
    .bottom-recruit-msg{
        margin-bottom: 14px;
        font-size: 2.4rem;
        line-height: calc(1em + 12px);
    }
    .bottom-recruit__btn{
        width: min(300px, 78.125vw);
        margin: 0 auto;
    }
    .bottom-recruit__btn a{
        height: 50px;
        padding-bottom: 0;
        font-size: 1.4rem;
    }
}

/*-------------
coffee
-------------*/
.coffee-sect:not(:last-child){
    margin-bottom: 61px;
}
.coffee-sect-title{
    margin-bottom: 19px;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: calc(1em + 14px);
    letter-spacing: .06em;
}
.coffee-sect__column{
    line-height: calc(1em + 12px);
}
:where(.coffee-sect__column) p:not(:last-child){
    margin-bottom: 8px;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .coffee-sect:not(:last-child){
        margin-bottom: 40px;
    }
    .coffee-sect-title{
        margin-bottom: 11px;
        font-size: 2rem;
        line-height: calc(1em + 9px);
    }
    .coffee-sect__column{
        line-height: calc(1em + 10px);
    }
    :where(.coffee-sect__column) p:not(:last-child){
        margin-bottom: 10px;
    }
}

/* coffee-sect_1 */
.coffee-sect_1-bnr{
    height: 376px;
    margin-bottom: 33px;
    overflow: hidden;
}
.coffee-sect_1-bnr img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}
.coffee-sect_1-body{
    overflow: hidden;
}
.coffee-sect_1-body__pic{
    float: right;
    max-width: 450px;
    margin: 8px 0 23px 29px;
}
.coffee-sect_1-body__pic img{
    width: auto;
    max-width: 100%;
    border-radius: 5px;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .coffee-sect_1-bnr{
        height: auto;
        margin-bottom: 20px;
    }
    .coffee-sect_1-body__pic{
        width: min(294px, 40.625vw);
        margin: 5px 0 10px 15px;
    }
}

/* coffee-sect_2 */
.coffee-sect_2-body{
    margin: 32px 0 -18px;
    overflow: hidden;
}
.coffee-sect_2-body__pic{
    float: left;
    max-width: 450px;
    margin: 0 40px 18px 0;
}
.coffee-sect_2-body__pic img{
    width: auto;
    max-width: 100%;
    border-radius: 5px;
}
@media screen and (min-width:768px){
    .coffee-sect_2-body .coffee-sect__column{
        padding-bottom: 28px;
    }
}
.coffee-sect_2-mid-figure{
    margin: 20px auto;
}
.coffee-sect_2-mid-figure img{
    display: block;
    max-width: 100%;
    margin: 0 auto;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .coffee-sect_2-body{
        margin: 25px 0 0;
        overflow: hidden;
    }
    .coffee-sect_2-body__pic{
        float: none;
        max-width: none;
        margin: 0 0 15px;
        text-align: center;
    }
    .coffee-sect_2-mid-figure{
        margin: 25px auto;
    }
}

/* coffee__service */
.coffee__service{
    margin-top: 20px;
    padding: 22px 30px 30px;
    background: #f5f5f5;
}
.coffee__service-title{
    position: relative;
    margin-bottom: 13px;
    padding-bottom: 10px;
    border-bottom: solid 1px #ccc;
    font-size: 2rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
}
.coffee__service-title::after{
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 80px;
    height: 1px;
    background: var(--main-color3);
    content: "";
}
.coffee__service a{
    color: #666;
}
.coffee__service a:not(:hover){
    text-decoration: underline;
}
.coffee__service-com{
    margin-top: 25px;
}
.coffee__service-com-name{
    margin-bottom: 10px;
    padding: 0 0 1px 6px;
    border-left: solid 4px var(--main-color2);
    font-size: 1.7rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
}
.coffee__service-com__columns{
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 10px 0;
}
.coffee__service-com__row{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 3;
    padding-top: 10px;
    border-top: dashed 1px #ccc;
}
.coffee__service-com__row::before{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    font-feature-settings: normal;
    content: "：";
}
.coffee__service-com__row-head{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    font-weight: 500;
}
.coffee__service-com__row-desc{
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .coffee__service{
        padding: 12px 15px 20px;
    }
    .coffee__service-title{
        font-size: 1.6rem;
    }
    .coffee__service-title::after{
        width: 60px;
    }
    .coffee__service-com{
        margin-top: 20px;
    }
    .coffee__service-com-name{
        font-size: 1.5rem;
    }
    .coffee__service-com__columns{
        font-size: 1.4rem;
    }
}

/* coffee-flow */
.coffee-flow{
    display: flex;
    flex-wrap: wrap;
    gap: 35px 20px;
    margin-top: 35px;
    counter-reset: flownum;
}
.coffee-flow-item{
    flex: 0 0 auto;
    width: 300px;
}
.coffee-flow-item__pic{
    width: 100%;
    aspect-ratio: 3 / 2;
    margin-bottom: 7px;
    overflow: hidden;
    border-radius: 5px;
}
.coffee-flow-item__pic img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.coffee-flow-item-body{
    display: flex;
    line-height: calc(1em + 8px);
    counter-increment: flownum;
}
.coffee-flow-item-body::before{
    display: inline-block;
    flex: 0 0 auto;
    margin-right: .25em;
    color: var(--main-color3);
    font-weight: 500;
    content: counter(flownum)".";
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .coffee-flow{
        gap: 16px 14px;
        margin-top: 25px;
    }
    .coffee-flow-item{
        width: calc(50% - 7px);
    }
    .coffee-flow-item-body{
        font-size: 1.4rem;
        line-height: calc(1em + 6px);
    }
}

/* coffee-package */
.coffee-package{
    display: flex;
    gap: 0 40px;
    margin-top: 35px;
}
.coffee-package-pic{
    flex: 0 0 auto;
    max-width: 450px;
}
.coffee-package-pic img{
    max-width: 100%;
    border-radius: 5px;
}
.coffee-package-copys{
    flex: 1 1 auto;
}
.coffee-package-copys-item:not(:last-child){
    margin-bottom: 17px;
}
.coffee-package-copys-item__term{
    display: flex;
    align-items: center;
    gap: 0 2px;
    margin-bottom: 8px;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
}
.coffee-package-copys-item__term::before,
.coffee-package-copys-item__term::after{
    flex: 0 0 auto;
    transform: translateX(2px) rotate(-45deg);
    width: .65em;
    height: .65em;
    margin-top: 1px;
    border-top: solid 2px currentColor;
    border-left: solid 2px currentColor;
    content: "";
}
.coffee-package-copys-item__term::after{
    transform: translateX(-2px) rotate(135deg);
}
@media screen and (max-width:767px){
    /*--- sp ---*/
    .coffee-package{
        flex-direction: column;
        gap: 20px 0;
        margin-top: 25px;
    }
    .coffee-package-pic{
        max-width: none;
        text-align: center;
    }
    .coffee-package-copys-item:not(:last-child){
        margin-bottom: 12px;
    }
    .coffee-package-copys-item__term{
        margin-bottom: 4px;
        font-size: 1.6rem;
    }
    .coffee-package-copys-item__term::before,
    .coffee-package-copys-item__term::after{
        width: .625em;
        height: .625em;
        margin-top: 0;
    }
}

/* coffee-sect_6 */
.coffee-sect_6-middle-pic{
    margin: 20px 0 22px;
}
.coffee-sect_6-middle-pic img{
    border-radius: 5px;
}

/*-------------
movies
-------------*/
@media screen and (min-width:768px){
    #right._movies{
        width: 960px;
    }
}
@media screen and (max-width:767px){
    #right._movies h1{
        margin-bottom: 20px;
    }
}
.movies-cate{
    position: relative;
    z-index: 1;
    margin-bottom: 32px;
}
@media screen and (max-width:767px){
    .movies-cate{
        margin-bottom: 24px;
    }
}
.movies-cate-btn{
    display: none;
}
@media screen and (max-width:767px){
    .movies-cate-btn{
        display: flex;
        align-items: center;
        position: relative;
        min-height: 44px;
        padding: 10px 14px 10px 31px;
        border: solid 1px var(--border-gray);
        border-radius: 5px;
        background: #fff;
        font-size: 1.4rem;
        font-weight: bold;
        letter-spacing: .04em;
        line-height: 1;
        transition: border .3s ease, background .3s ease;
    }
    .movies-cate-btn._open{
        border-color: var(--main-color2);
        background: #f7fae6;
    }
    .movies-cate-btn::before{
        position: absolute;
        top: calc(50% - 8px);
        left: 10px;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: linear-gradient(to top, #fff, #fff) no-repeat 4px 7px / 8px 2px, 
        linear-gradient(to right, #fff, #fff) no-repeat 7px 4px / 2px 8px, 
        var(--main-color2);
        content: "";
        transition: transform .3s ease;
    }
    .movies-cate-btn._open::before{
        transform: rotate(90deg);
        background: linear-gradient(to right, #fff, #fff) no-repeat 7px 4px / 2px 8px, 
        var(--main-color2);
    }
}
.movies-cate-nav{
    position: relative;
    z-index: 1;
}
@media screen and (max-width:767px){
    .movies-cate-nav{
        position: absolute;
        bottom: -8px;
        left: 0;
        transform: translateY(100%);
        width: 100%;
        padding: 15px;
        border: solid 1px var(--border-gray);
        border-radius: 5px;
        box-shadow: 0 0 10px rgba(0,0,0,.2);
        background: #fff;
        transition: opacity .3s ease;
    }
    .movies-cate-nav:not(._show){
        opacity: 0;
        z-index: -999;
        pointer-events: none;
    }
    .movies-cate-nav::before{
        clip-path: polygon(0 0, 100% 0, 0 100%);
        position: absolute;
        top: -1px;
        left: 21.25vw;
        transform: rotate(45deg) translateY(-50%);
        width: 10px;
        height: 10px;
        border-top: solid 1px var(--border-gray);
        border-left: solid 1px var(--border-gray);
        background: #fff;
        content: "";
    }
}
.movies-cate-list{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.movies-cate-list-item{
    flex: 0 0 auto;
    min-width: 96px;
}
@media screen and (max-width:767px){
    .movies-cate-list{
        flex-direction: column;
        gap: 4px 0;
    }
    .movies-cate-list-item{
        width: 100%;
    }
}
.movies-cate-list-item a{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 100%;
    min-height: 46px;
    padding: 3px 37px 5px 15px;
    border-radius: 6px;
    background: #f2f2f2;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 6px);
    transition: background .3s ease, color .3s ease;
}
@media screen and (min-width:768px){
    .movies-cate-list-item a:hover{
        background: #fce5ee;
        color: #e9538e;
    }
}
@media screen and (max-width:767px){
    .movies-cate-list-item a{
        min-height: 34px;
        padding: 3px 25px;
        border-radius: 3px;
        font-size: 1.4rem;
    }
}
.movies-cate-list-item a::after{
    position: absolute;
    top: calc(50% - 6px);
    right: 20px;
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    border-right: solid 2px #999;
    border-bottom: solid 2px #999;
    content: "";
    transition: border .3s ease;
}
@media screen and (min-width:768px){
    .movies-cate-list-item a:hover::after{
        border-color: #f298bb;
    }
}
@media screen and (max-width:767px){
    .movies-cate-list-item a::after{
        right: 15px;
    }
}

/* movies-sect */
.movies-sect:not(:last-child){
    margin-bottom: 36px;
}
@media screen and (max-width:767px){
    .movies-sect:not(:last-child){
        margin-bottom: 37px;
    }
}

/* movies-list */
.movies-list{
    display: flex;
    flex-wrap: wrap;
    gap: 32px 24px;
}
.movies-list-item{
    flex: 0 0 auto;
    width: 304px;
}
@media screen and (max-width:767px){
    .movies-list{
        gap: min(22px, 3.75vw) min(20px, 3.125vw);
    }
    .movies-list-item{
        width: calc(50% - min(10px, 1.5625vw));
    }
}
.movies-list-thumb{
    width: 100%;
    aspect-ratio: 16 / 9;
    position: relative;
    margin-bottom: 12px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--main-gray);
}
@media screen and (max-width:767px){
    .movies-list-thumb{
        margin-bottom: 6px;
        border-radius: 5px;
    }
}
.movies-list-thumb::before{
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.2);
    content: "";
    transition: opacity .3s ease;
}
@media screen and (min-width:768px){
    [data-modal-youtube]:hover .movies-list-thumb::before{
        opacity: 1;
    }
}
.movies-list-thumb::after{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 42px;
    height: 42px;
    overflow: hidden;
    border-radius: 50%;
    box-shadow: 0 1px 8px rgba(0,0,0,.2);
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42"><path d="M17.531 13.345C16.139 12.523 15 13.222 15 14.9v12.201c0 1.678 1.139 2.377 2.531 1.555l10.425-6.16c1.392-.822 1.392-2.168 0-2.991z" style="fill:%23abcd03"/></svg>') no-repeat center / contain, #fff;
    content: "";
    transition: background .3s ease;
}
@media screen and (min-width:768px){
    [data-modal-youtube]:hover .movies-list-thumb::after{
        background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42"><path d="M17.531 13.345C16.139 12.523 15 13.222 15 14.9v12.201c0 1.678 1.139 2.377 2.531 1.555l10.425-6.16c1.392-.822 1.392-2.168 0-2.991z" style="fill:%23fff"/></svg>') no-repeat center / contain, var(--main-color2);
    }
}
.movies-list-thumb::after{
    width: min(42px, 9.375vw);
    height: min(42px, 9.375vw);
    box-shadow: 0 1px 8px rgba(0,0,0,.2);
}
.movies-list-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.movies-list-title{
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 10px);
    letter-spacing: .04em;
    transition: color .3s ease;
}
@media screen and (min-width:768px){
    [data-modal-youtube]:hover .movies-list-title{
        color: var(--main-color3);
    }
}
@media screen and (max-width:767px){
    .movies-list-title{
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 1.4rem;
        line-height: calc(1em + 7px);
    }
}

/*-------------
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;
    }
}

/* 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;
    line-height: calc(1em + 20px);
    letter-spacing: .1em;
}
@media screen and (max-width:767px){
    .invcenter-lead-body{
        font-size: 1.5rem;
        line-height: calc(1em + 15px);
        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;
    line-height: calc(1em + 16px);
    letter-spacing: .04em;
}
@media screen and (max-width:767px){
    .invcenter-floor-desc{
        margin: 13px 0 23px;
        font-size: 1.4rem;
        line-height: calc(1em + 14px);
    }
}

/* 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;
    line-height: calc(1em + 16px);
    letter-spacing: .04em;
}
@media screen and (max-width:767px){
    .invcenter-floor-modal-desc{
        font-size: 1.4rem;
        line-height: calc(1em + 14px);
    }
}
.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;
    line-height: calc(1em + 16px);
    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;
        line-height: calc(1em + 14px);
    }
}

/* 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;
    line-height: calc(1em + 16px);
    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;
        line-height: calc(1em + 14px);
    }
}

/* 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
-------------*/
.movies-not-concent{
    width: 720px;
    max-width: 100%;
    height: 405px;
    background: #fff;
}
@media screen and (max-width:767px){
    .movies-not-concent{
        height: auto;
    }
}
.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);
}
@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;
    }
}
