@charset "UTF-8";
@import "../css/reset5.css";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap');


body { color:#000; line-height:1; padding: 0; position: relative; min-height: 100%; overflow-x:hidden; background: #fff; }
html { min-height: 100%; }

* {word-wrap: break-word; }
*,
*::before,
*::after {
  box-sizing: inherit;
}
img { -ms-interpolation-mode: bicubic; }
/* !font-size 16px default setting */
body { font-size: 16px; letter-spacing: 0.08em; font-family:  'Noto Sans JP', sans-serif, Avenir, Helvetica, Arial, Sans-Serif }
p, th, td, li, dt, dd, span { line-height: 1.8; }
h1, h2, h3, h4, h5 { line-height: 1.4; letter-spacing: 0.08em }
p, a { letter-spacing: 0; }


/* !clearfix */
hr { display: none; }

.cfix { zoom:1; }
.cfix:after{
    content:"";
    clear:both;
    display:block;
    height:0;
	font-style:italic;
}

/* スクロールバーの有無によるズレ対策 */
html {
	overflow-y: scroll;
}

img { vertical-align: bottom; }


.pc_none { display: none }
.sp_none { display: block }



/* !Links */
a { cursor: pointer }
a:link { color: #000; text-decoration: none;}
a:visited { color: #000; text-decoration: none }
a:hover { color: #000; text-decoration: underline; }
a:active { color: #000; text-decoration: none }


/* リストの高さ揃える */
.list-flex { display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}


/* common */
#wrapper { width: 100%; text-align: center; min-height: 100%; }


#header { width: 100%; position: fixed; z-index: 100; background: #fff; height: 110px; }
#header .header-inner { padding: 0 4.4vw; text-align: right; position: relative; }
#header .logo-header { position: absolute; top: 37px; left: 4.4vw; }
#header .globalNav { padding: 20px 110px 20px 160px; }
#header .globalNav ul li { display: inline-block; margin: 0 0 0 25px; position: relative; }
#header .globalNav ul li a { font-size: 14px; padding: 22px 0; display: block; }
#header .globalNav .cur { width: 100%; height: 3px; background: #F8E300; display: block; }
/*下の階層を持っているulの指定*/
#header .globalNav li.has-child ul{ position: absolute; left:0 !important; top:60px !important; z-index: 4; text-align: left; visibility: hidden; opacity: 0; transition: all .3s; background: #ddd; }
#header .globalNav li.has-child ul li { margin: 1px 0 0 !important; cursor: pointer; width:240px; background:#F0F0F0; }
#header .globalNav li.has-child ul li:first-child { margin: 0 !important; }
#header .globalNav li.has-child ul li a { font-size: 14px !important; text-decoration: none; padding: 15px 20px !important; }
#header .globalNav li.has-child ul li a:hover { background: #ddd; }
/*hoverしたら表示*/
#header .globalNav li.has-child:hover > ul,
#header .globalNav li.has-child ul li:hover > ul,
#header .globalNav li.has-child:active > ul,
#header .globalNav li.has-child ul li:active > ul{ visibility: visible; opacity: 1; }
#header .sns { position: absolute; top: 37px; right: 4.4vw; }
#header .sns a { margin: 0 0 0 8px; display: inline-block; transition: all 0.2s; }
#header .sns a:hover { transform: scale(1.06); }


#footer { color: #fff; font-size: 14px; text-align: left; background: #000; }
#footer .footer-inner { padding: 45px 4.4vw 40px; position: relative; }
#footer .logo { margin: 0 0 10px; }
#footer .copy { font-weight: 500; position: absolute; top: calc(50% - 16px); right: 4.4vw; }
#footer a { color: #fff; }


#contents { position: relative; z-index: 90; padding: 110px 0 0; opacity: 0; transition: 1s linear }
#contents.fade { opacity: 1 }
#loader { position: fixed; left: 50%; top: 50%; margin-left: -3px; z-index: 1000; }

.side-pd { padding-left: 4.4vw !important; padding-right: 4.4vw !important; }
.frame { max-width: 1000px; margin: 0 auto; }

.slide { position: relative; }
.slide .slide-items { width: calc(100% - 100px); height: 100%; margin: 0 auto; position: relative; z-index: 1; }
.slide .slide-items li { height: auto; margin: 0 25px; }
.slide .slide-items img { object-fit: cover; }
.slide .slick-prev { position: absolute; top: calc(50% - 40px); left: -45px; transition: all 0.2s; z-index: 2; }
.slide .slick-prev:hover { transform: scale(1.06); }
.slide .slick-next { position: absolute; top: calc(50% - 40px); right: -45px; transition: all 0.2s; transform: rotate(180deg); z-index: 2; }
.slide .slick-next:hover { transform: scale(1.06) rotate(180deg); }
.slide ul li { background: #fff;  padding: 0 0 40px; transition: all 0.2s; position: relative; }
.slide ul li:hover { transform: scale(1.02); }
.slide ul li a { text-decoration: none; display: block; }
.slide ul li p { font-size: 16px; text-align: left; line-height: 1.5; padding: 10px 20px 0; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.slide ul li p.date { font-size: 12px; color: #aaaaaa; position: absolute; bottom: 6px; right: 0; }
.slide .slick-track { display: flex; }
.slide .slick-slide { height: auto !important; }

#page-top { position: fixed; bottom: 0; right: 20px; margin: 0 0 20px; z-index: 1000; display: none; }
#page-top a:hover { opacity: 0.8; display: block; }


/* top-common */
#top h2.top-tit { font-size: 40px; margin: 0 0 60px; display: inline-block; }
#top h2.top-tit .line { width: 120px; height: 3px; background: #000; margin: 5px auto 0; display: block; }
#top h3.intro { font-size: 28px; line-height: 2; margin: 0 0 20px; }
#top .btn { margin: 60px 0 0; }
#top .btn a { color: #fff; font-size: 22px; line-height: 1em; text-align: center; text-decoration: none; background: #E60012; max-width: 420px; padding: 23px 0 25px; margin: 0 auto; display: block; position: relative; transition: all 0.2s; }
#top .btn .arw { position: absolute; top: 50%; right: 15px; margin: -5px 0 0; transition: all 0.2s; }
#top .btn a:hover{ transform: scale(1.02); }
#top .btn a:hover .arw { transform: translateX(4px); }


/* top */
/* 2024.03追加 */
#top .vis { }
#top .vis .slide-dots { margin: 0; padding: 0; text-align: center; }
#top .vis .slide-dots li { display: inline-block; margin: 0 10px; }
#top .vis .slide-dots li button { position: relative; text-indent: -9999px; }
#top .vis .slide-dots li button::before { background-image: url("../img/dots.png"); background-repeat: no-repeat; background-size: contain; content: ""; cursor: pointer; height: 10px; left: 0; margin: auto; position: absolute; right: 0; top: 20px; width: 10px; }
#top .vis .slide-dots li.slick-active button::before { background-image: url("../img/dots_active.png"); }
#top .vis button { background: none; border: none; outline: none; padding: 0 7px; }
/* 2024.03ここまで */
/* 2024.09追加 */
#top .vis .pic { position: relative; }
#top .vis p { color: #fff; font-size: 2.6vw; font-weight: 500; line-height: 1.4em; letter-spacing: 0.04em; text-align: left; position: absolute; top: 30.5vw; left: 1vw; }
#top .vis p .tx-s { font-size: 0.8vw; font-weight: normal; display: block; margin: 1.6vw 0 0; }
#top .vis .mrk { font-size: 1vw; }
/* 2024.09ここまで */
/* 2025.09追加 */
#top .heading { padding: 50px 4.4vw; background: #FFFCE8; }
#top .heading h1 { font-size: 36px; }
#top .heading h1 .mrk { font-size: 20px; }
#top .heading h1 .notes { font-size: 14px; font-weight: normal; margin: 10px 0 0; display: block; }
/* 2025.09ここまで */

#top { background: #F8E300; }
#top .block01 { padding: 70px 0; }
#top .block01 .frame { max-width: 1200px; }
#top .block02 { background: #FFFCE8; padding: 70px 0 0; position: relative; }
#top .block02 .frame { position: relative; z-index: 3; }
#top .block02 .pic { margin: 0 0 50px; }
#top .block02 .bg { position: absolute; top: 0; left: 0; z-index: 2; }
#top .block03 { background: #F8E300; padding: 140px 0 80px; position: relative; }
#top .block03 .frame { position: relative; z-index: 2; }
#top .block03 .pic { margin: 0 0 50px; }
#top .block03 .bg_line { position: absolute; top: -400px; left: 0; right: 0;  z-index: 1; }
.features-figure { margin: 60px 0 0 -5%; }
.features-figure li { width: 28.333%; float: left; background: #fff; margin: 0 0 0 5%; padding: 10px 0 30px; }
.features-figure li .ill { padding: 30px 0 20px; }
.features-figure li p { font-size: 22px; font-weight: 500; }

#top .block04 {text-align: left; background: #EEEEEE; padding: 100px 0 0; position: relative; border-bottom: 70px solid #eeeeee; }
#top .block04 .frame { position: relative; }
#top .block04 .frame-inner { position: relative; z-index: 2; }
#top .block04 h2.top-tit { margin: 0 0 40px; }
#top .block04 .top-tit .line { width: 100%; }
#top .block04 .intro { margin: 0 0 40px; }
#top .block04 p { font-size: 25px; font-weight: 500; }
#top .block04 p span { font-size: 18px; }
#top .block04 .notes { font-size: 14px; }
#top .block04 .pic { position: absolute; top: -100px; right: -670px; z-index: 1; }

#top .block05 { background: #FFFCE8; padding: 70px 0 80px; position: relative; border-top: 70px solid #eeeeee; }
#top .block05 .frame { position: relative; z-index: 2; }
#top .block05 h2.top-tit { margin: 0; }
#top .block05 ul { margin: 60px auto 0; max-width: 900px; }
#top .block05 ul li { margin: 0 0 50px; }
#top .block05 ul li:last-child { margin: 0; }
#top .block05 a { transition: all 0.2s; display: block; }
#top .block05 a:hover{ transform: scale(1.02); }
#top .block05 .bg { position: absolute; top: 0; left: 0; z-index: 1; }
#top .block06 { text-align: left; background: #fff; padding: 80px 0; }
#top .block06 .frame-inner { border: 1px solid #707070; padding: 30px 9%; }
#top .block06 h3 { font-size: 24px; font-weight: 400; margin: 0 0 20px; }
#top .block06 ul li { font-size: 18px; padding: 0 0 20px 230px; margin: 0 0 20px; background: url(../img/dots.png) repeat-x left bottom; background-size: 0.5%; position: relative; }
#top .block06 ul li .date { position: absolute; top: 0; left: 0; }
#top .block06 .btn-more { text-align: right; margin: 30px 0 0; }
#top .block06 .btn-more a {font-size: 18px; padding: 0 20px 0 0; position: relative; display: block; }
#top .block06 .btn-more a:before{ content:''; position: absolute; right: 0; top:calc(50% - 4px); width:8px; height:8px; border-top: 2px solid #000; border-right:2px solid #000; transform: rotate(45deg); }
#top .block07 { padding: 30px 0 40px}
#top .block07 ul { margin: 0 0 0 -30px; }
#top .block07 ul li { width: calc(50% - 30px); float: left; margin: 0 0 30px 30px; }
#top .block07 ul li a { transition: all 0.2s; display: block; }
#top .block07 ul li a:hover{ transform: scale(1.02); }



/* lower-common */
h2.tit { font-size: 32px; font-weight: 500; display: inline-block; }
h2.tit span.line { width: 120px; height: 3px; background: #000; margin: 5px auto 0; display: block; }

h2.page-tit  { font-size: 24px; font-weight: 500; margin: 0 0 50px; }
h2.page-tit .line { width: 120px; height: 2px; background: #000; margin: 5px auto 0; display: block; }

h3.intro { font-size: 34px; font-weight: 500; line-height: 2; }

.sdw { box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.16); }

.link-card { margin: 0 0 0 -6%; }
.link-card li { width: 44%; float: left; background: #fff; margin: 0 0 0 6%; padding: 0 0 30px; transition: all 0.2s; cursor: pointer; }
.link-card li:hover{ transform: scale(1.02); }
.link-card li p { font-size: 24px; font-weight: 500; margin: 10px 0; }
.link-card li a { text-decoration: none; }
.link-card .btn-more { text-decoration: none; line-height: 1; border: 1px solid #000; border-radius: 40px; padding: 7px 50px 10px; display: inline-block; }


/* promise */
#promise { background: #F8E300; }
#promise .vis { max-width: 1000px; margin: 0 auto; }
#promise .block { padding: 80px 0; }
#promise .frame { background: #fff; position: relative; }
#promise .frame-inner { padding: 60px 4% 80px; position: relative; z-index: 2; }
#promise .read { font-size: 18px; font-weight: 500; padding: 30px 0 60px; }
#promise .logo { margin: 0 0 80px; }
#promise .bg01 { position: absolute; top: 0; left: 0; z-index: 1; }
#promise .bg02 { position: absolute; bottom: 0; right: 0; z-index: 1; }
#promise .link-card { padding: 0 8%; }


/* features */
#features { background: #FFFCE8; }
#features .block01 { padding: 80px 0 160px; }
#features .block01 .intro { margin: 0 0 40px;}
#features .block01 .features-figure li { border: 1px solid #000; box-sizing: border-box; }
#features .block02 { padding: 0 0 90px; }
#features .block02 .frame { position: relative; z-index: 2; }
#features .block02 .list li { background: #fff; text-align: left; margin: 60px 0 0; }
#features .block02 .list .pic { width: 50%; }
#features .block02 .list .txt { width: calc(50% - 80px); padding: 30px 40px 0; }
#features .block02 .list li:nth-child(odd) .pic { float: left; }
#features .block02 .list li:nth-child(odd) .txt { float: right; }
#features .block02 .list li:nth-child(even) .pic { float: right; }
#features .block02 .list li:nth-child(even) .txt { float: left; }
#features .block02 .list h3 { font-size: 24px; font-weight: 500; margin: 30px 0 20px; }
#features .block03  { background: #F8E300; padding: 0 0 80px; position: relative; }
#features .block03 .frame { position: relative; z-index: 2; }
#features .block03 .frame-inner { background: #fff; padding: 60px 5% 0; }
#features .block03 .tit { margin: 0 0 50px; }
#features .block03 .list { padding: 90px 2% 0; }
#features .block03 .list li { text-align: left; border-top: 1px dotted #000; padding: 60px 0; }
#features .block03 .list li .pic { width: 50%; float: right; }
#features .block03 .list li .txt { width: 44%; float: left; padding: 0 6% 0 0; }
#features .block03 .list li h3 { font-size: 24px; font-weight: 500; margin: 0 0 20px; }
#features .block03 .bg_line { position: absolute; top: -800px; left: 0; right: 0;  z-index: 1; }
#features .block04  { background: #FFFCE8; padding: 80px 0; }


/* concept */
#concept { background: #FFFCE8; }
#concept .block01 { padding: 80px 0 0; position: relative; z-index: 2; }
#concept .block01 .frame { position: relative; z-index: 3; }
#concept .block01 .intro { margin: 0 0 40px;}
#concept .block01 .anchor  { margin: 0 0 0 -5%; padding: 70px 10% 0; }
#concept .block01 .anchor li{ width: 45%; float: left; margin: 0 0 0 5%; }
#concept .block01 .anchor li a { font-size: 24px; font-weight: 500; text-decoration: none; background: #fff; border: 1px solid #000; padding: 30px 0; display: block; position: relative; }
#concept .block01 .anchor li a:hover { background: #F8E300; }
#concept .block01 .anchor li .arw { position: absolute; top: 50%; right: 50px; margin: -10px 0 0; }
#concept .block02 { padding: 100px 0 0; position: relative; z-index: 2; }
#concept .list { position: relative; z-index: 2; }
#concept .list li { background: #fff; text-align: left; margin: 60px 0 0; }
#concept .list .pic { width: 50%; float: left; }
#concept .list .txt { width: calc(50% - 80px); float: left; padding: 50px 35px 0; }
#concept .list  h3 { font-size: 24px; font-weight: 500; line-height: 1.8; margin: 0 0 20px; }
#concept .block03 { background: #F8E300; padding: 120px 0; position: relative; }
#concept .block03 .frame { position: relative; z-index: 2; }
#concept .block03 h2 { position: relative; z-index: 2; }
#concept .block03 .bg_line { position: absolute; top: -880px; left: 0; right: 0;  z-index: 1; }
#concept .block04 { background: #fff; padding: 80px 0; }
#concept .bg { position: absolute; top: 0; left: 0; z-index: 1; }


/* shop */
#shop .block { padding: 80px 0; }
#shop .type-box { padding: 0 30px; }
#shop .type-box ul { margin: 60px 0 0 -50px; }
#shop .type-box ul li { width: calc(50% - 50px); float: left; border: 1px solid #000; box-sizing: border-box; margin: 0 0 0 50px; padding: 0 0 20px; }
#shop .type-box ul li .pic { border-bottom: 1px solid #000; padding: 70px 40px; }
#shop .type-box ul li .ill { padding: 30px 20px 20px; }
#shop .type-box ul li p { font-size: 24px; font-weight: 500; }
#shop .type-box ul li p span { font-size: 18px; display: block; }
#shop .type-box .notes { font-size: 12px; text-align: right; margin: 10px 0 0; }
#shop table { border-top: 1px solid #aaaaaa; border-right: 1px solid #aaaaaa; margin: 40px 0 0; }
#shop th { border-bottom: 1px solid #aaaaaa; border-left: 1px solid #aaaaaa; padding: 10px 20px; background: #F8E300; }
#shop td { border-bottom: 1px solid #aaaaaa; border-left: 1px solid #aaaaaa; padding: 10px 20px; }
#shop .tx-l { width: 20%; }
#shop .tx-c { width: 50%; text-align: center; }
#shop .tx-r { width: 30%; text-align: center; }
#shop .bg-gray { background: #F0F0F0; }
#shop td.item { padding: 10px 5px; }
#shop td span { font-size: 12px; padding: 5px 10px; margin: 0 3px; }
#shop td span.type01 { background: #F8E300; }
#shop td span.type02 { background: #C9C9C9; }
#shop td span.type03 { background: #FFCCDE; }
#shop .tbl-notes { font-size: 12px; text-align: left; margin: 10px 0 0; }


/* company */
#company .block01 { padding: 80px 0; }
#company .block01 .anchor { margin: 60px 0 60px -5%; }
#company .block01 .anchor li { width: 28.333%; float: left; margin: 0 0 0 5%; }
#company .block01 .anchor li a { font-size: 22px; text-decoration: none; line-height: 1; background: #fff; border: 1px solid #000; padding: 30px 0; display: block; position: relative; }
#company .block01 .anchor li a:hover { background: #F8E300; }
#company .block01 .anchor li .arw { position: absolute; top: 50%; right: 30px; margin: -10px 0 0; }
#company .block01 .bnr { max-width: 500px; margin: 0 auto; }
#company .block01 .bnr a { transition: all 0.2s; display: block; }
#company .block01 .bnr a:hover{ transform: scale(1.02); }
#company .block02 { background: #FFFCE8; padding: 80px 0; }
#company .block02 p { font-size: 18px; text-align: right; }
#company .block02 .frame { max-width: 900px; }
#company .block02 table { margin: 80px 0 0; font-size: 18px; }
#company .block02 th { width: 32%; padding: 0 20px 30px 0; }
#company .block02 td { width: 68%; padding: 0 0 30px; }
#company .block03 { padding: 80px 0; }
#company .block03 .frame { max-width: 900px; }
#company .block03 h3 { font-size: 20px; margin: 70px 0 0; }
#company .block03 th { font-size: 18px; width: 40%; padding: 30px 20px 30px 0; border-bottom: 1px solid #707070; }
#company .block03 td { font-size: 16px; width: 60%; padding: 30px 0; border-bottom: 1px solid #707070; }
#company .block04 { background: #FFFCE8; padding: 80px 0; }
#company .block04 table { font-size: 18px; border-left: 3px solid #F8E300; margin: 30px 0 0; }
#company .block04 td { vertical-align: top; padding: 0 0 20px; position: relative; }
#company .block04 .tx-l { width: 10%; padding: 30px 0 0 30px; }
#company .block04 .tx-c { width: 4%; text-align: right; padding: 30px 0 0 0; }
#company .block04 .tx-r { width: 86%; padding: 30px 0 0 45px; }
#company .block04 .tx-l .cir { position: absolute; top: 37px; left: -11px; }
#company .block04 .tx-l .cir_top { position: absolute; top: -3px; left: -11px; }


/* faq */
#faq { background: #FFFCE8; }
#faq .block { padding: 80px 0;}
#faq ul { max-width: 850px; margin: 60px auto 0; }
#faq ul li { text-align: left; margin: 30px 0 0; }
#faq ul li .question { font-size: 22px; background: #F8E300; padding: 20px 50px 20px 90px; position: relative; }
#faq ul li .answer { font-size: 18px; background: #fff; padding: 30px 50px 30px 90px;  position: relative; display: none; }
#faq ul li .answer span { font-size: 14px; line-height: 1.8; display: inline-block; }
#faq ul li .answer .mrk { vertical-align: top; }
#faq ul li .q { position: absolute; top: 50%; left: 30px; margin: -25px 0 0; }
#faq ul li .a { position: absolute; top: 20px; left: 30px; }
#faq ul li .plus { position: absolute; top: 50%; right: 25px; margin: -8px 0 0; }


/* policy */
#policy { background: #FFFCE8; }
#policy .block { padding: 0 0 80px; }
#policy p { font-size: 18px; text-align: left; }
#policy .intro { background: #F8E300; padding: 80px 0; }
#policy .intro p { max-width: 1000px; margin: 50px auto 0; }
#policy .intro a { text-decoration: underline; }
#policy .intro a:hover { text-decoration: none; }
#policy .box { max-width: 1000px; margin: 60px auto 0; }
#policy .box h3 { font-size: 28px; font-weight: 500; text-align: left; padding: 8px 0 30px 70px; position: relative; }
#policy .box h3 .parts { position: absolute; top: 0; left: 0; }
#policy .box ul { margin: 0 0 0 18px; }
#policy .box ul li { font-size: 18px; text-align: left; text-indent: -18px; }
#policy .box a { color: #E60012; }


/* news */
#news { background: #FFFCE8; }
#news .block { padding: 80px 0; }
#news .list { margin: 60px 0 0; padding: 40px 60px; background: #fff; }
#news .list ul { margin: 0 auto; text-align: left; }
#news .list ul li { font-size: 18px; padding: 0 20px 30px 230px; margin: 0 0 30px; background: url(../img/dots.png) repeat-x left bottom; background-size: 0.5%; position: relative; }
#news .list ul li .date { position: absolute; top: 0; left: 10px; }
#news .list ul li:last-child {  margin-bottom: 0; }
#news .list .pager { font-size: 0; margin: 30px 0 0; }
#news .list .pager li { font-size: 16px; display: inline-block; }
#news .list .pager li a { padding: 0 10px; display: block; }
#news .detail { text-align: left; margin: 60px 0 0; padding: 60px 60px; background: #fff; }
#news .detail h3 { font-size: 28px; font-weight: 400; text-align: center; margin: 0 0 40px; }
#news .detail .date { text-align: right; margin: 0 0 40px; }
#news .btn-backto-index { margin: 60px 0 0; }
#news .btn-backto-index a { color: #fff; font-size: 18px; font-weight: 500; letter-spacing: 0.2em; text-decoration: none; line-height: 1; padding: 25px 0; background: #666; width: 360px; display: block; margin: 0 auto; position: relative; transition: all 0.2s; cursor: pointer; }
#news .btn-backto-index a:before{ content:''; position: absolute; left:30px; top:calc(50% - 4px); width:8px; height:8px; border-top: 2px solid #fff; border-right:2px solid #fff; transform: rotate(225deg); }
#news .btn-backto-index a:hover{ transform: scale(1.02); }
#news .detail .chart { margin: 80px 0 0; }
#news .detail table { text-align: left; margin: 20px 0 0; }
#news .detail th { width: 15%; vertical-align: top; padding: 20px 0; }
#news .detail td { vertical-align: top; padding: 20px 0; }
#news .txtC { text-align: center; }


/* sdgs */
#sdgs { padding: 80px 0; }
#sdgs .frame { max-width: 900px; }
#sdgs .intro { max-width: 720px; margin: 0 auto 80px; }
#sdgs .intro h2 { font-size: 32px; font-weight: 500; border-top: 3px solid #000; padding: 20px 0 0; margin: 70px 0 10px; }
#sdgs .intro p { border-bottom: 3px solid #000; padding: 0 0 30px; }
#sdgs ul li { text-align: left; margin: 0 0 70px; padding: 0 0 70px; border-bottom: 1px solid #707070; }
#sdgs ul li:last-child { margin: 0; padding: 0; border: none; }
#sdgs .pic { margin: 0 0 40px; }
#sdgs .icon { width: 25%; float: left; }
#sdgs .txt { width: 70%; float: right; }
#sdgs h3 { font-size: 28px; font-weight: 500; margin: 0 0 20px; }


/* product */
#product { background: #FFFCE8; }
#product h1.tit { font-size: 32px; font-weight: 500; display: inline-block; }
#product h1.tit span.line { width: 120px; height: 3px; background: #000; margin: 5px auto 0; display: block; }
#product .intro { margin: 40px 0 0; }
#product .frame { max-width: 1080px; }
#product .block { padding: 80px 4.4vw; }

#product .btn { margin: 60px 0 0; }
#product .btn a { color: #fff; font-size: 22px; line-height: 1em; text-align: center; text-decoration: none; background: #E60012; max-width: 460px; padding: 23px 0 25px; margin: 0 auto; display: block; position: relative; transition: all 0.2s; }
#product .btn a:hover { transform: scale(1.02); }
#product .btn .arw { position: absolute; top: 50%; right: 10px; margin: -4px 0 0; }

#product .tab { margin: 60px 0 0 -6px; padding: 0 30px; }
#product .tab li { width: calc(12.5% - 6px); float: left; margin: 0 0 0 6px; position: relative; }
#product .tab li a { font-size: 13px; text-decoration: none; line-height: 1.4; background: #C9C9C9; height: 60px; display: flex; align-items:center; justify-content:center; }
#product .tab li a:hover { opacity: 0.8; }
#product .tab .cur { background: #F8E300 !important; }
#product .tab li a.cur:hover { opacity: 1; }
#product .tab .arw { position: absolute; bottom: -12px; left: 50%; margin: 0 0 0 -7px; }

/* 2024.03追加 */
#product .anchor-link { text-align: center; border-bottom: 1px solid #C9C9C9; padding: 0 0 40px; margin: -30px 0 70px; }
#product .anchor-link ul { font-size: 0; }
#product .anchor-link ul li { display: inline-block; margin: 0 10px; }
#product .anchor-link ul li a { font-size: 13px; text-decoration: none; background: #efefef; border-radius: 60px; padding: 10px 35px; display: block; position: relative; }
#product .anchor-link ul li a:hover { background: #e4e4e4; }
#product .anchor-link ul li a .arw { position: absolute; top: calc(50% - 3px); right: 15px; }
#blue, #red, #refill, #case, #sheet, #cloth, #film { margin-top:-110px !important; padding-top:110px; }
/* 2024.03追加ここまで */

/* 2025.09追加 */
#product .type-card .cutter-type { font-size: 20px; font-weight: 600; margin: 60px 0 40px; }
#product .kitchenistawrap-refill-type { font-size: 20px; font-weight: 600; margin: 0 0 20px; }
#product .kitchenistawrap-refill-type span { font-weight: normal; }
/* 2025.09追加ここまで */

#product .product-detail { background: #fff; text-align: left; max-width: calc(1080px - 11%); margin: 0 auto; padding: 70px 5.5% 0; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16); }

#product .outline { padding: 0 4.6%; }
#product .outline h2 { font-size: 31px !important; margin-top: 1em !important; }
#product .outline h3 { font-size: 38px; font-weight: 400; margin: 50px 0 40px; }
#product .outline .read { margin: 0 0 60px; }

#product .outline .box01 { padding: 50px 0 50px 10px; }
#product .outline .box01 .figure { float: left; width: 19.5%; margin: 0 50px 0 0; }
#product .outline .box01 .box-r { float: left; width: calc(80.5% - 50px); }

#product .outline .box02 { padding: 50px 0 50px 10px; }
#product .outline .box02 .figure { float: left; width: 50%; margin: 0 50px 0 0; }
#product .outline .box02 .box-r { float: left; width: calc(50% - 50px); }
#product .outline .box02.siaa .tx { width: 100%; padding: 10px 0 0; }

#product .outline .siaa { margin: 0 0 60px; }
#product .outline .siaa .tx-sm { font-size: 12px !important; letter-spacing: 0.01em !important; }
#product .outline .siaa p.tx-sm { margin-bottom: 5px !important; } 
#product .outline .siaa .cfix { margin: 10px 0 0; }
#product .outline .siaa .tb { width: 50%; float: left; }
#product .outline .siaa .cfix .tit { font-size: 14px; font-weight: 500; }
#product .outline .siaa .tx { width: calc(50% - 10px); float: left; padding: 0 0 0 10px; }
#product .outline .siaa .tx p { line-height: 1.4; margin: 0 0 10px; }
#product .outline .siaa .tx ul { margin: 0 0 0 12px; }
#product .outline .siaa .tx ul li { line-height: 1.4; text-indent: -12px; }

#product .outline .t-line { border-top: 1px solid #000; }
#product .outline .b-line { border-bottom: 1px solid #000; }

#product .type-card { padding: 0 7.5% 60px; }
#product .type-card ul { text-align: center; margin: 0 0 0 -20px; font-size: 0; }
#product .type-card ul li { width: calc(49.9% - 20px); display: inline-block; margin: 0 0 0 20px; }
#product .type-card ul li .card { background: #F0F0F0; padding: 15px 20px; border-radius: 20px; box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.16); transition: all 0.2s; }
#product .type-card ul li .card:hover { transform: scale(1.02); }
#product .type-card ul li .card a { display: block; text-decoration: none; }
#product .type-card ul li .tx { margin: 8px 0 10px; }
#product .type-card ul li .tx h4 { font-size: 26px; font-weight: normal; margin: 0 0 5px; }
#product .type-card ul li .tx p { font-size: 18px; display: block; }
#product .type-card .notes { font-size: 15px; text-align: right; margin: 10px 0 0; }
#product .type-card.no-link ul li .card { transition: none; }
#product .type-card.no-link ul li .card:hover { transform: scale(1); }
#product .type-card.no-link .notes { text-align: left; padding: 0 0 0 25%; }
 
#product .type-jumbo a { font-size: 18px; text-align: center;  text-decoration: none; background: #F0F0F0; border-radius: 20px; box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.16); width: 350px; margin: 40px auto 0; padding: 25px 0; display: block; position: relative; transition: all 0.2s; }
#product .type-jumbo a:hover { transform: scale(1.02); }
#product .type-jumbo .arw { position: absolute; top: 50%; right: 20px; margin: -4px 0 0; }


#product .type-block { padding: 0 0 90px; }

#product .type { margin: 0 7%; position: relative; }
#product .type .box { border: 1px solid #000; height: 128px; margin: 0 0 30px; position: relative; }
#product .type .box .icon { border-right: 1px solid #000; padding: 20px; float: left; }
#product .type .box h4 { font-size: 36px; font-weight: 400; padding: 0 0 0 35px; float: left; height: 128px; display: flex; align-items: center; }
#product .type .spec { font-size: 12px; line-height: 2; position: absolute; top: 30px; right: 20px; }

#product .tbl { margin: 60px 0 0; }
#product table { border-top: 1px solid #000; border-right: 1px solid #000; font-size: 14px; }
#product th { border-bottom: 1px solid #000; border-left: 1px solid #000; text-align: center; padding: 5px; }
#product th span { font-size: 11px; }
#product td { border-bottom: 1px solid #000; border-left: 1px solid #000; text-align: center; padding: 5px 10px; }
#product td.itemImg { text-align: left; }
#product td figure { max-width: 425px !important; }
#product td figure img { width: 100%; height: auto; }
#product .tx01 { width: 52%; }
#product .tx02 { width: 16%; }
#product .tx03 { width: 16%; }
#product .tx04 { width: 16%; }
#product table .gray { background: #F0F0F0; }
#product .tbl p { font-size: 14px; margin: 5px 0 0; }

#product .item01 .tbl th { background: #F8E300; }
#product .item01 .type .ill { float: right; }
#product .item01 .type .ill img { margin: 0 0 0 40px; }
#product .item02 .siaa th { background: #D2F0FA; }
#product .item02 .tbl th { background: #D2F0FA; }
#product .item03 .blue .siaa th { background: #D2F0FA; }
#product .item03 .blue .tbl th { background: #D2F0FA; }
#product .item03 .red .siaa th { background: #FAD2E6; }
#product .item03 .red.tbl th { background: #FAD2E6; }
#product .item03 .outline p span { font-size: 18px; font-weight: 500; }
#product .item04 .tbl th { background: #C9C9C9; }
#product .item04 .outline h4 { font-size: 26px; font-weight: 600; margin: 0 0 15px; }
#product .item04 .outline h5 { font-size: 18px; font-weight: 500; margin: 0 0 20px; }
#product .item05 .tbl th { background: #C9C9C9; }
#product .item05 .outline .siaa p { height: 220px; display: flex; align-items: center; }
#product .item06 .bnr { margin: 0 13% 60px; }
#product .item06 .bnr a { display: block; transition: all 0.2s; }
#product .item06 .bnr a:hover { transform: scale(1.02); }
#product .item06 .siaa th { background: #D2F0FA; }
#product .item06 .tbl th { background: #C9C9C9; }
#product .item07 .tbl th { background: #C9C9C9; }

#product .mb { margin: 0 0 30px; }

#product #link01 { margin-top: -110px; padding-top: 110px; }
#product #link02 { margin-top: -110px; padding-top: 110px; }
#product #link03 { margin-top: -110px; padding-top: 110px; }

#product p.intro .notes { font-size: 12px; }

sup { font-size: 0.6em; vertical-align: super; line-height: 1; }

/* 2025.09追加 */
#product .outline .feature { margin: 40px 0 0 !important; }
#product .outline .feature h3 { font-size: 20px !important; font-weight: 600 !important; margin: 0 0 40px !important; }
#product .outline .feature h3 .tx-normal { font-weight: normal; }
#product .outline .feature ul li { margin: 0 0 40px; }
#product .outline .feature ul li:last-child { margin-bottom: 0 !important; }
#product .outline .feature ul li h3 { font-size: 18px !important; margin: 0 0 10px !important; }
#product .outline .feature .notes { font-size: 12px; line-height: 1.6em !important; margin: 10px 0 0; display: block; }
#product .outline .u-line { text-decoration: underline; }
#product .outline .origin ul { margin: 50px 0 0; }
#product .outline .origin ul li { margin: 0 0 20px; }
#product .outline .origin ul li:last-child { margin-bottom: 0 !important; }
#product .outline .origin ul li h4 { font-size: 16px !important; margin-bottom: 0 !important; }
#product .outline .origin ul li p { font-size: 14px !important; margin: 5px 0 0 !important; }
#product .certification { font-size: 32px !important; margin: 60px 0 10px !important; }
#product .outline .feature .kitchenistawrap_tx01 { font-size: 26px !important; font-weight: 600 !important; text-decoration: underline; }
#product .outline .kitchenistawrap-refill_tx01 { font-size: 20px !important; font-weight: 600 !important; margin: 50px 0 20px !important; }
#product #case .outline .feature h3 { margin-bottom: 20px !important; }
#product #sheet .outline .feature { margin-top: 20px !important; }
#product #film .outline .feature { margin-top: 20px !important; }
#product .outline .kitchenista-decowrap_tx01 { text-align: center !important; margin-bottom: 20px !important; }
#product #blue .outline .mt { margin-top: 80px !important; }
#product .tx-blue { color: #0000ff; }
#product .tx-red { color: #ff0000; }
#product .outline .refill-box { margin: 0 0 60px; }
#product .outline .refill-box .tx-sm { font-size: 12px !important; letter-spacing: 0.01em !important; }
#product .outline .refill-box .tx { margin: 30px 0 0; }
#product .outline .refill-box .tx ul { margin: 0 0 0 12px; }
#product .outline .refill-box .tx ul li { line-height: 1.4; text-indent: -12px; }
/* 2025.09追加ここまで */

/* sitemap */
#sitemap { background: #FFFCE8; }
#sitemap .block { padding: 80px 0; }
#sitemap .list { margin: 60px 0 0; padding: 40px 60px; background: #fff; }
#sitemap .list ul { margin: 0 auto; text-align: left; }
#sitemap .list ul li { font-size: 18px; padding: 0 0 30px; margin: 0 0 30px; background: url(../img/dots.png) repeat-x left bottom; background-size: 0.5%; position: relative; }
#sitemap .list ul li a { padding: 0 20px 0 60px; position: relative; display: block; }
#sitemap .list ul li a:before{ content:''; position: absolute; right: 40px; top:calc(50% - 4px); width:8px; height:8px; border-top: 2px solid #000; border-right:2px solid #000; transform: rotate(45deg); }
#sitemap .list .line { width: 15px; height: 4px; background: #F8E300; display: block; position: absolute; top: calc(50% - 2px); left: 30px; }


/* catalog */
#catalog { background: #FFFCE8; }
#catalog .block { padding: 80px 0; }
#catalog .list { margin: 60px 0 0; padding: 40px 60px 80px; background: #fff; }
#catalog .list ul { text-align: left; margin: 0 -20px }
#catalog .list ul li { float: left; width: calc(33.33% - 40px); margin: 0 20px }
#catalog .list ul li h3 { margin: 1em 0 }
#catalog .list ul li .btn { display: block; text-align: center; padding: 0.5em 0; background: #707070; border-radius: 30px }
#catalog .list ul li .btn a { display: block; color: #fff; transition: all 0.2s }
#catalog .list ul li .btn a:hover{ transform: scale(1.02); }


/* topics */
#topics { background: #F8E300; }

#topics h2.tit { font-size: 40px; font-weight: 500; display: inline-block; }

#topics .card { margin: 0 0 0 -50px; } 
#topics .card li { width: calc(33.333% - 50px); float: left; margin: 0 0 50px 50px; padding: 0 0 40px; background: #fff; transition: all 0.2s; position: relative; }
#topics .card li:hover { transform: scale(1.02); }
#topics .card li a { text-decoration: none; display: block; }
#topics .card li p { font-size: 16px; text-align: left; line-height: 1.5; padding: 10px 20px 0; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
#topics .card li p.date { font-size: 12px; color: #aaaaaa; position: absolute; bottom: 6px; right: 0; }

#topics .btn-cate { margin: 0 0 60px -30px; padding: 0 10px; }
#topics .btn-cate li { width: calc(25% - 30px); float: left; margin: 0 0 0 30px; }
#topics .btn-cate li a { background: #fff; text-decoration: none; line-height: 1em; padding: 20px 0; border: 1px solid #000; display: block; position: relative; }
#topics .btn-cate li a:hover { background: #F8E300; }
#topics .btn-cate li a .arw { position: absolute; top: calc(50% - 7px); right: 12px; }
#topics .btn-cate li a.cur { background: #F8E300; }

#topics .sns-logo ul { font-size: 0; margin: 30px 0 0; }
#topics .sns-logo ul li { padding: 0 15px; display: inline-block; }
#topics .sns-logo ul li a { transition: all 0.2s; display: block; }
#topics .sns-logo ul li a:hover { transform: scale(1.06); }

#topics .pager {  position: relative; display: inline-block; padding: 0 0 60px; } 
#topics .pager ol { font-size: 0; }
#topics .pager ol li { display: inline-block; } 
#topics .pager ol li a { font-size: 16px; text-decoration: none; line-height: 1em; padding: 6px 10px; margin: 0 7px; border: 1px solid #000; border-radius: 4px; display: block; }
#topics .pager ol li a:hover { background: #fff; }
#topics .pager ol li a.cur { background: #fff; }
#topics .prev { position: absolute; top: 0; left: -54px; }
#topics .prev a { color: #fff; background: #000; border-radius: 4px; display: inline-block; padding: 7px 0 6px; width: 46px; }
#topics .prev a:hover { opacity: 0.5; }
#topics .next { position: absolute; top: 0; right: -54px; }
#topics .next a { color: #fff; background: #000; border-radius: 4px; display: inline-block; padding: 7px 0 6px; width: 46px; }
#topics .next a:hover { opacity: 0.5; }
#topics .next img { transform: rotate(180deg); }

#topics .btn-back-top { margin: 60px 0 0; }
#topics .btn-back-top a { color: #fff; font-size: 22px; line-height: 1; text-decoration: none; max-width: 420px; padding: 20px 0 24px; background: #E60012; display: block; margin: 0 auto; transition: all 0.2s; }
#topics .btn-back-top a:hover { transform: scale(1.02); }

#topics .block01 { padding: 80px 0 0; }
#topics .block01 h2 { margin: 0 0 60px; }
#topics .block01 .frame { max-width: 1200px; }
#topics .block02 { background: #FFFCE8; padding: 0 0; position: relative; }
#topics .block02 .frame { position: relative; z-index: 3; }
#topics .block02 .bg { position: absolute; top: 0; left: 0; z-index: 2; }
#topics .block02 h3 { font-size: 28px; font-weight: 500; line-height: 1.6em; }
#topics .block02 .read { font-size: 16px; padding: 50px 0 30px; }
#topics .block02 .notes { font-size: 12px; text-decoration: underline; margin: 0 0 50px; }
#topics .block03 { background: #F8E300; padding: 140px 0 80px; position: relative; }
#topics .block03 .frame { position: relative; z-index: 2; }
#topics .block03 .bg_line { position: absolute; top: -400px; left: 0; right: 0;  z-index: 1; }

#topics .idx { background: #FFFCE8; padding: 80px 0; position: relative; }
#topics .idx .frame { position: relative; z-index: 2; }
#topics .idx .read { font-size: 16px; padding: 50px 0 0; }
#topics .idx .idx-list { margin: 60px 0 0; }
#topics .idx .bg_line { position: absolute; bottom: 0; left: 0; right: 0;  z-index: 1; }
#topics .idx .notes { font-size: 12px; text-decoration: underline; margin: 0 0 50px; }

#topics .detail { background: #F8E300; padding: 80px 0; }
#topics .detail .frame { background: #fff; padding: 150px 0 80px; position: relative; }
#topics .detail .date { font-weight: 500; margin: 50px 0 0; }
#topics .detail ol { text-align: left; margin: 40px 70px 80px; border-top: 1px solid #707070; }
#topics .detail ol li { padding: 60px 0; border-bottom: 1px solid #707070; }
#topics .detail ol li .box-l { width: 35%; float: left; }
#topics .detail ol li .box-l .mov-wid { width: 100%; aspect-ratio: 16 / 9; }
#topics .detail ol li .box-l .mov-wid iframe { width: 100%; height: 100%; }
#topics .detail ol li .box-l .mov-len { width: 100%; aspect-ratio: 9 / 16; }
#topics .detail ol li .box-l .mov-len iframe { width: 100%; height: 100%; }
#topics .detail ol li .txt { width: 65%; float: left; }
#topics .detail ol li .txt h4 { font-size: 30px; font-weight: 500; padding: 0 0 30px 80px; }
#topics .detail ol li .txt p { padding: 0 80px; }
#topics .detail h2 { position: relative; z-index: 2; }
#topics .detail h3 { font-size: 30px; font-weight: 500; line-height: 1.6em; padding: 50px 0 30px; position: relative; z-index: 2; }
#topics .detail .bg { position: absolute; top: 0; left: 0; z-index: 1; }
#topics .detail .btn-back-idx { margin: 60px 0 40px; }
#topics .detail .btn-back-idx a { font-size: 22px; line-height: 1; text-decoration: none; max-width: 420px; padding: 20px 0 24px; border: 1px solid #000; box-sizing: border-box;  display: block; margin: 0 auto; transition: all 0.2s; }
#topics .detail .btn-back-idx a:hover { transform: scale(1.02); }
#topics .detail .btn-back-top { margin: 40px 0 0; }
/* 2005/02追加 */
#topics .detail h1.tit { font-size: 40px; font-weight: 500; display: inline-block; position: relative; z-index: 2; }
#topics .detail h1.tit .cate { position: relative; }
#topics .detail h1.tit .cate::after { position: absolute; content: ""; background: #000; width: 120px; height: 3px; bottom: -5px; left: 50%; transform: translateX(-50%); }
#topics .detail h1.tit span.topics-tit { font-size: 30px; font-weight: 500; line-height: 1.6em; display: block; padding: 50px 0 30px; }
#topics .detail .main-pic { padding: 80px 160px 0; }
#topics .detail .toc { text-align: left; margin: 80px 70px 0; padding: 60px 0; border-top: 1px solid #707070; border-bottom: 1px solid #707070; }
#topics .detail .toc p { font-size: 24px; margin: 0 0 15px; }
#topics .detail .toc ul li { font-size: 24px; margin: 0 0 10px; }
#topics .detail .toc ul li:last-child { margin-bottom: 0; }

#topics .detail .topics-block { text-align: left; margin: 0 70px; padding: 20px 0 100px; }
#topics .detail .topics-block h2 { font-size: 24px; }
#topics .detail .topics-block h2.line { text-decoration: underline; text-decoration-color: #FAD2E6; text-decoration-thickness: 13px;text-underline-offset: -5px; text-decoration-skip-ink: none; }
#topics .detail .topics-block h3 { font-size: 24px !important; padding: 20px 0 !important; }
#topics .detail .topics-block .pic .notes { color: #707070; font-size: 14px; text-align: right; padding: 8px 0 0; }
#topics .detail .topics-block p .line { text-decoration: underline; text-decoration-color: #FAD2E6; text-decoration-thickness: 9px;text-underline-offset: -5px; text-decoration-skip-ink: none;  }
#topics .detail #block-A { padding: 100px 0 0; }
#topics .detail #block-B { padding: 100px 0 0; }
#topics .detail #block-B .pic  { padding: 10px 70px 20px; }
#topics .detail #block-C { padding: 100px 0 0; }
#topics .detail #block-C .pic { padding: 10px 270px 30px 0; }
#topics .detail .pic-topics  { padding: 30px 70px 20px; }
/* 2025/09追加 */
#topics .detail ol li.seotopics { padding: 60px 0; padding-bottom: 0; border-bottom: none; }
#topics [id^="block-"] { position: relative; }
#topics [id^="block-"]::before { content: ""; display: block; height: 110px; margin-top: -110px;}
#topics .detail .pic-topics  { padding: 30px 70px 20px; text-align: center;}
#topics .detail .pic-topics img  {width: 60%;}
#topics .notes { font-size: 12px; margin: 10px 0; }
#topics .detail .mokuji { text-align: left; margin: 80px 70px 0; padding: 0 0 60px; border-bottom: 1px solid #707070; }
#topics .detail .mokuji p { font-size: 20px; margin: 0 0 15px; }
#topics .detail .mokuji ul li { font-size: 24px; margin: 0 0 10px; }
#topics .detail .mokuji ul li:last-child { margin-bottom: 0; }
/* 2025/10追加 */
#topics .detail .mrk { float: left; width: 140px; }
#topics .detail .pic-topics100  { padding: 30px 10px 20px; text-align: center;}
#topics .detail .pic-topics100 img  {width: 100%;}
#topics .detail .pic-topics80  { padding: 30px 10px 20px; text-align: center;}
#topics .detail .pic-topics80 img  {width: 80%;}
#topics .detail h2.chef-name {font-size: 20px; padding: 0 80px;}
#topics .detail h2.topic-ttl {font-size: 20px;}

/* announce */
#announce .block { padding: 80px 0; }
#announce .block p { margin: 60px 0 0; }
#announce .block p .ico { vertical-align: top; }


/* biomass */
#biomass .main { background: #004DA0; }
#biomass .main .inner { max-width: 1000px; margin: 0 auto; position: relative; }
#biomass .main h1 { color: #fff; font-size: 30px; line-height: 1.88em; letter-spacing: 0.1em; position: absolute; top: 160px; left: 0; right: 0; }
#biomass .main p { color: #fff; font-size: 15px; position: absolute; top: 80px; left: 0; right: 0; }
#biomass .main ul { margin: 0 0 0 -35px; padding: 0 105px; position: absolute; bottom: 80px; left: 0; right: 0;}
#biomass .main ul li { width: calc(33.333% - 35px); float: left; margin: 0 0 0 35px; }
#biomass .main ul li a { color: #fff; font-size: 15px; line-height: 1em; border: 1px solid #fff; box-sizing: border-box; padding: 22px 0; display: block; position: relative; transition: all 0.2s 0s ease; }
#biomass .main ul li a:hover { text-decoration: none; background-color: rgba(255,255,255,0.2); }
#biomass .main ul li a::after { position: absolute; content: ""; background: url(../../assets/img/biomass/arw.png) no-repeat; background-size: contain; width: 15px; height: 15px; bottom: 5px; right: 5px; }
#biomass .block01 { position: relative; }
#biomass .block01 .inner { max-width: 1000px; margin: 0 auto; text-align: left; position: relative; padding: 90px 0 0; z-index: 2; }
#biomass .block01 h2 { font-size: 41px; letter-spacing: 0.1em; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; text-align: left; padding: 0 0 0 810px; }
#biomass .block01 .pic { position: absolute; top: 150px; left: 0; }
#biomass .block01 .pic img { width: 650px; }
#biomass .block01 h3 { font-size: 28px; font-weight: 500; line-height: 2em; margin: 0 0 40px; }
#biomass .block01 p {  letter-spacing: 0.08em; padding: 0 0 120px; }
#biomass .block01::after { position: absolute; content: ""; background: url(../../assets/img/biomass/bg.png) no-repeat; background-size: contain; width: 480px; height: 525px; top: 0; left: 0; }
#biomass .block02 { background: #e8f2ff; padding: 80px 0; }
#biomass .block02 .inner { max-width: 860px; background: #fff; margin: 0 auto; text-align: left; position: relative; padding: 70px 70px; }
#biomass .block02 .frame { position: relative; z-index: 2; }
#biomass .block02 h2 { font-size: 36px; font-weight: 600; line-height: 1.6em; text-align: center; margin: 0 0 40px; }
#biomass .block02 .lead { padding: 0 70px; letter-spacing: 0.08em; margin: 0 0 80px; }
#biomass .block02 ul li { background: #fff; border: 1px solid #707070; margin: 0 0 50px; padding: 40px; }
#biomass .block02 ul li:last-child { margin-bottom: 0; }
#biomass .block02 ul li:nth-child(1) h3 { padding: 0 0 40px 130px; }
#biomass .block02 ul li:nth-child(2) h3 { padding: 0 0 40px 130px; }
#biomass .block02 ul li h3 { font-size: 30px; font-weight: 500; line-height: 1.6em; border-bottom: 1px solid #707070; margin: 0 0 40px; padding: 0 0 40px; position: relative; }
#biomass .block02 ul li h3 span { font-size: 20px; }
#biomass .block02 ul li h3 .parts { position: absolute; top: 5px; left: 0; }
#biomass .block02 .notes { font-size: 12px; text-align: right; margin: 15px 0 0; }
#biomass .block02 .bg { position: absolute; top: 0; left: 0; z-index: 1; }
#biomass .block02 ul li .txt { float: left; width: 72%; }
#biomass .block02 ul li .mrk { float: right; width: 180px; }
#biomass .block02 .inner::after { position: absolute; content: ""; background: url(../../assets/img/biomass/bg.png) no-repeat; background-size: contain; width: 480px; height: 525px; top: 0; left: 0; }
#list { margin-top: -70px; padding-top: 70px; }
#biomass .block03 .block-bg { background: #004da0; padding: 80px 0 20px; }
#biomass .block03 .inner { max-width: 1080px; margin: 0 auto;  }

#biomass .block03 h2 { color: #fff; font-size: 32px; font-weight: 500; margin: 0 0 90px; position: relative; display: inline-block; }
#biomass .block03 h2::after { position: absolute; content: ""; background: #fff; width: 120px; height: 3px; bottom: -12px; left: 50%; transform: translateX(-50%); }
#biomass .block03 #product { background: none; }
#biomass .block03 #product p {text-align: left; }
#biomass .block03 #product .type-block { background: #fff; padding: 60px !important; margin: 0 0 60px !important; }
#biomass .block03 #product .type-block th { background: #E8F2FF; }
#biomass .block03 #product .type-block .type { margin: 0 !important; }
#biomass .block03 #product .type-card .card { background: #fff !important; }
#biomass .block03 #product .type-card p { text-align: center !important; }
#biomass .block03 #product .type-card .notes { color: #fff; padding: 0 !important; }

#biomass .lower-main { text-align: left; position: relative; }
#biomass .lower-main .txt { position: absolute; top: 5.5vw;  left: 11vw; }
#biomass .lower-main .txt h1 { color: #fff; font-size: 3.1vw; font-weight: 400; line-height: 1.5em; letter-spacing: 0.1em; margin: 0 0 3.9vw; }
#biomass .lower-main .txt h1 span { color: #fff; font-size: 1.5vw; font-weight: 400; letter-spacing: 0.1em; padding: 0 0 2.3vw 3.9vw; position: relative; display: block; }
#biomass .lower-main .txt h1 span::before { position: absolute; content: ""; background: url(../../assets/img/biomass/lower_main_parts.png) no-repeat; background-size: contain; width: 2vw; height: 1.6vw; top: 0.6vw; left: 0; }
#biomass .lower-main .txt h2 { color: #fff; font-size: 2vw; font-weight: 500; line-height: 1.9em; letter-spacing: 0.1em; margin: 3.1vw 0 0; }
#biomass .lower-main .txt h3 { color: #fff; font-size: 1.9vw; font-weight: 400; line-height: 1.4em; border-left: 0.5vw solid #fff; padding: 0 0 0 1.5vw; letter-spacing: 0.1em; }
#biomass .lower-main .txt h3 span { font-size: 1.2vw; line-height: 1; margin: 0 0 0.3vw; display: block; }

#biomass .voice .inner { max-width: 1000px; margin: 0 auto; text-align: left;  }
#biomass .voice .lead { font-size: 20px; line-height: 1.7em; letter-spacing: 0.04em; padding: 80px; }
#biomass .voice ul { padding: 0 0 80px; }
#biomass .voice ul li { margin: 0 0 80px; position: relative; }
#biomass .voice ul li:last-child { margin-bottom: 0; }
#biomass .voice ul li .pic { width: calc(47% - 150px); position: relative; z-index: 2; }
#biomass .voice ul li .txt { width: 53%; position: relative; z-index: 2; }
#biomass .voice ul li .txt h3 { font-size: 29px; font-weight: 500; line-height: 1.66em; letter-spacing: 0.06em; margin: 10px 0 50px; position: relative; }
#biomass .voice ul li .txt h3 span { text-decoration: underline; text-decoration-thickness: 16px; text-decoration-color: #FFF264; text-underline-offset: 1px; }
#biomass .voice ul li .txt p { line-height: 1.75em}
#biomass .voice ul li:nth-child(odd) .pic { float: right; padding: 50px 50px 0 0; }
#biomass .voice ul li:nth-child(odd) .pic::after { position: absolute; content: ""; background: url(../../assets/img/biomass/bg02.png) no-repeat; background-size: contain; width: 340px; height: 370px; top: 0; right: 0; z-index: -1; }
#biomass .voice ul li:nth-child(odd) .txt { float: left;  padding: 0 0 0 50px; }
#biomass .voice ul li:nth-child(even) .pic { float: left; padding: 50px 0 0 50px; }
#biomass .voice ul li:nth-child(even) .pic::after { position: absolute; content: ""; background: url(../../assets/img/biomass/bg03.png) no-repeat; background-size: contain; width: 340px; height: 370px; top: 0; left: 0; z-index: -1; }
#biomass .voice ul li:nth-child(even) .txt { float: right; padding: 0 50px 0 0; }
#biomass .point { text-align: left; padding: 100px 0; }
#biomass .point .inner { max-width: 1000px; margin: 0 auto; }
#biomass .point .frame { background: #fff; padding: 30px 100px 60px; border: 1px solid #231815; position: relative; }
#biomass .point h3 { margin: 0 0 35px 0; position: relative; }
#biomass .point h3 span { font-size: 20px; font-weight: 400; line-height: 2.4em; border-bottom: 1px solid #707070; position: absolute; top: 15px; left: 210px; display: block; width: calc(100% - 210px); }
#biomass .point ul { margin: 0 0 0 -70px; }
#biomass .point ul li { width: calc(50% - 70px); float: left; margin: 0 0 0 70px; }
#biomass .point ul li p { line-height: 1.5em; letter-spacing: 0.08em; margin: 25px 0 0; }
#biomass .point01 .frame::before { position: absolute; content: ""; background: url(../../assets/img/biomass/company-voice_line_pc.png) no-repeat; background-size: contain; width: 92px; height: 92px; top: -17px; left: -17px; z-index: 1; }
#biomass .point01 .frame::after { position: absolute; content: ""; background: url(../../assets/img/biomass/company-voice_line_pc.png) no-repeat; background-size: contain; width: 92px; height: 92px; bottom: -17px; right: -17px; z-index: 1; transform: rotate(180deg); }
#biomass .point02 .frame::before { position: absolute; content: ""; background: url(../../assets/img/biomass/professional-voice_line_pc.png) no-repeat; background-size: contain; width: 92px; height: 92px; top: -17px; left: -17px; z-index: 1; }
#biomass .point02 .frame::after { position: absolute; content: ""; background: url(../../assets/img/biomass/professional-voice_line_pc.png) no-repeat; background-size: contain; width: 92px; height: 92px; bottom: -17px; right: -17px; z-index: 1; transform: rotate(180deg); }
#biomass .info { text-align: left; padding: 100px 0; }
#biomass .info .inner { max-width: 1000px; margin: 0 auto; }
#biomass .info .frame { padding: 40px; border: 1px solid #707070; position: relative; }
#biomass .info .txt { padding: 0 0 0 39%; }
#biomass .info .txt h3 { font-size: 20px; font-weight: 400; margin: 0 0 15px; }
#biomass .info .txt a { font-size: 14px; font-weight: 400; }
#biomass .info .txt p { line-height: 1.5em; border-top: 1px solid #707070; margin: 15px 0 0; padding: 18px 0 0; }
#biomass .info .info-logo { width: 29%; position: absolute; top: calc(50% - 43px); left: 40px; }
#biomass .btn-bottom { padding: 80px 0; background: #004DA0; }
#biomass .btn-bottom .inner { max-width: 1000px; margin: 0 auto; }
#biomass .btn-bottom ul { margin: 0 0 0 -60px; padding: 0 23%; }
#biomass .btn-bottom ul li { width: calc(50% - 60px); float: left; margin: 0 0 0 60px; }
#biomass .btn-bottom ul li a { color: #fff; font-size: 15px;line-height: 1em; border: 1px solid #fff; box-sizing: border-box; padding: 22px 0; display: block; position: relative; transition: all 0.2s 0s ease; }
#biomass .btn-bottom ul li a:hover { text-decoration: none; background-color: rgba(255,255,255,0.2); }
#biomass .btn-bottom ul li a::after { position: absolute; content: ""; background: url(../../assets/img/biomass/arw.png) no-repeat; background-size: contain; width: 15px; height: 15px; bottom: 5px; right: 5px; }
#biomass .bg-blue { background: #E8F2FF; }
#biomass .bg-white { background: #fff; }


/* feature-idx */
#feature-idx h1.tit { font-size: 40px; font-weight: 500; display: inline-block; position: relative; z-index: 2; }
#feature-idx h1.tit { position: relative; }
#feature-idx h1.tit::after { position: absolute; content: ""; background: #000; width: 120px; height: 3px; bottom: -5px; left: 50%; transform: translateX(-50%); }
#feature-idx .block { padding: 80px 0; background: #F8E300; }
#feature-idx .block ul { text-align: left; margin: 60px 0 0; padding: 60px; background: #fff; }
#feature-idx .block ul li { margin: 0 0 50px; }
#feature-idx .block ul li:last-child { margin-bottom: 0; }
#feature-idx .block ul li h2 { font-size: 24px;  margin: 20px 0 10px; }
#feature-idx .block ul li a { transition: all 0.2s; display: block; }
#feature-idx .block ul li a:hover{ transform: scale(1.02); }


.mt-1 { margin-top: 1em }
.mt-2 { margin-top: 2em }
.mb-1 { margin-bottom: 1em }
.mb-2 { margin-bottom: 2em }




@media screen and (max-width: 1480px) {

	#header .globalNav  { padding: 20px 88px 20px 0px; }
	#header .globalNav ul li { margin: 0 0 0 8px; }
	#header .globalNav ul li a { font-size: 14px; padding: 20px 0; }
	/*下の階層を持っているulの指定*/
	#header .globalNav li.has-child ul li a { font-size: 12px !important; text-decoration: none; padding: 15px 20px !important; }
	#header .sns { position: absolute; top: 38px; right: 4.4vw; }
	#header .sns a { margin: 0 0 0 8px;  }
	#header .sns img { height: 30px; }

	/* 2024.03追加 */
	#blue, #red, #refill, #case, #sheet, #cloth, #film { margin-top: -60px !important; padding-top: 60px; }
	/* 2024.03追加ここまで */	
}




@media screen and (max-width: 1160px) {
	
	#header .logo-header { position: absolute; top: 42px; left: 4.4vw; }
	.logo-header img { height: 25px; }
	#header .globalNav  { padding: 20px 65px 20px 0px; }
	#header .globalNav ul li { margin: 0 0 0 8px; }
	#header .globalNav ul li a { font-size: 13px; padding: 25px 0; }
	/*下の階層を持っているulの指定*/
	#header .globalNav li.has-child ul li a { font-size: 12px !important; text-decoration: none; padding: 15px 20px !important; }
	#header .sns { position: absolute; top: 43px; right: 4.4vw; }
	#header .sns a { margin: 0 0 0 5px;}
	#header .sns img { height: 26px; }
}




@media screen and (max-width: 1024px) {
		
	#header { height: auto; }
	#header .header-inner { text-align: left; padding: 0; }
	#header .logo-header { position: static; padding: 20px 4.4vw; }
	#header .logo-header img { height: 30px; }
	#header .globalNav { padding: 0; height:100vh; display: none; background: #F8E300 }
	#header .globalNav ul li { display: block; margin: 0; border-bottom: 1px solid #fff; }
	#header .globalNav ul li a {font-size: 18px; padding: 18px 4.4vw; }
	#header .globalNav .cur { background: none; }
	/*下の階層を持っているulの指定*/
	#header .globalNav li.has-child ul{ position: static; visibility: visible; opacity: 1; transition: none; display: none;  }
	#header .globalNav li.has-child ul li { width:100%; border: none; background: #FFFCE8; }
	#header .globalNav li.has-child ul li a { font-size: 16px !important; padding: 20px !important; border: none; }
	#header .sns { position: absolute; top: 20px; right: 70px; }
	#header .sns img { height: 30px; }

	/*==矢印の設定*/
	/*2階層目を持つliの矢印の設定*/
	.globalNav ul li.has-child::before{ content:''; position: absolute; right:20px; top:38px; width:6px; height:6px; border-top: 2px solid #000; border-right:2px solid #000; transform: rotate(135deg); }
	/*矢印の位置と向き*/
	.globalNav ul li.has-child.active::before{ transform: rotate(-45deg);} 
	
	.openbtn{ position: absolute; top: 10px; right: 2.2vw; background:#fff; cursor: pointer; width: 50px; height:50px; }
	/*ボタン内側*/
	.openbtn span{ display: inline-block; transition: all .4s; position: absolute; left: 14px; height: 3px; border-radius: 2px; background: #000; width: 45%; }
	.openbtn span:nth-of-type(1) { top:15px; }
	.openbtn span:nth-of-type(2) { top:23px; }
	.openbtn span:nth-of-type(3) { top:31px; }
	/*activeクラスが付与されると線が回転して×に*/
	.openbtn.active span:nth-of-type(1) { top: 18px; left: 18px; transform: translateY(6px) rotate(-45deg); width: 30%; }
	.openbtn.active span:nth-of-type(2) { opacity: 0;/*真ん中の線は透過*/ }
	.openbtn.active span:nth-of-type(3){ top: 30px; left: 18px; transform: translateY(-6px) rotate(45deg); width: 30%; }
	
	
	#contents { padding: 70px 0 0;  }
	
	
	/* top */
	#top .block04 {text-align: left; background: #EEEEEE; padding: 100px 0 0; position: relative; border-bottom: 70px solid #eeeeee; }
	#top .block04 .frame { position: relative; }
	#top .block04 .frame-inner { position: relative; z-index: 2; }
	#top .block04 .top-tit .line { width: 100%; }
	#top .block04 .intro { margin: 0 0 40px; }
	#top .block04 p { font-size: 25px; font-weight: 500; }
	#top .block04 p span { font-size: 18px; }
	#top .block04 .notes { font-size: 14px; }
	#top .block04 .pic { position: absolute; top: -10vw; right: -80vw; z-index: 1; width: 160vw; }
	

	
	/* features */
	#features .block02 .list .txt { width: calc(50% - 40px); padding: 20px 20px 0; }
	#features .block02 .list h3 { font-size: 20px; margin: 10px 0 5px; }
	#features .block03 .list li .txt { width: 46%; padding: 0 4% 0 0; }
	#features .block03 .list li h3 { font-size: 20px; margin: 0 0 5px; }
	#features .block03 .bg_line { position: absolute; top: -400px; left: 0; right: 0;  z-index: 1; }
	
	
	/* concept */
	#concept .block01 .anchor li a { font-size: 22px; }
	#concept .block01 .anchor li .arw { position: absolute; top: 50%; right: 20px; margin: -6px 0 0; height: 12px; }	
	#concept .list .txt { width: calc(50% - 40px); padding: 15px 20px 0; }
	#concept .list  h3 { font-size: 20px; line-height: 1.6; margin: 0 0 5px; }
	#concept .block03 .bg_line { position: absolute; top: -400px; left: 0; right: 0;  z-index: 1; }
	
	
	/* shop */
	#shop td.item { padding: 10px 40px; }
	#shop td span { margin: 3px 0; display: block; }
	
	
	/* company */
	#company .block01 .anchor li .arw { position: absolute; top: 50%; right: 20px; margin: -6px 0 0; height: 12px; }
	
	
	/* sdgs */
	#sdgs .intro { width: 80%; }
	
	
	/* product */
	#product .tab { padding: 0; }
	#product .outline { padding: 0; }
	#product .type-card { padding: 0 0 60px; }
	#product .type { margin: 0; }
	#product .type .box h4 { font-size: 24px;  padding: 0 0 0 20px; }
	#product .tbl { margin: 20px 0 0; }
}




@media screen and (max-width: 1000px) {
	/* biomass */		
	#biomass .main h1 { font-size: 3vw; osition: absolute; top: 12.5vw; }
	#biomass .main p { font-size: 1.5vw; position: absolute; top: 6vw; }
	#biomass .main ul { margin: 0 0 0 -2vw; padding: 0 10vw; position: absolute; bottom: 6vw; left: 0; right: 0;}
	#biomass .main ul li { width: calc(33.333% - 2vw);  margin: 0 0 0 2vw; }
	#biomass .main ul li a { font-size: 1.5vw; }
	#biomass .main ul li a::after { width: 10px; height: 10px; bottom: 3px; right: 3px; }
	#biomass .block01 .inner { padding: 9vw 0 0; }
	#biomass .block01 h2 { font-size: 4vw; padding: 0 0 0 76vw; }
	#biomass .block01 .pic { position: absolute; top: 15vw; left: 0; }
	#biomass .block01 .pic img { width: 65vw; }	
	}




@media screen and (max-width: 820px) {
	/* top */		
	/* 2025.09追加 */	
	#top .heading { padding: 50px 4.4vw; }	
	#top .heading h1 { font-size: 28px; }
	#top .heading h1 .mrk { font-size: 16px; }
	#top .heading h1 .notes { font-size: 13px; margin: 10px 0 0; }
	/* 2025.09ここまで */		
	
	/* biomass */	
	#biomass .btn-bottom ul { margin: 0 0 0 -40px; padding: 0 13%; }
	#biomass .btn-bottom ul li { width: calc(50% - 40px); float: left; margin: 0 0 0 40px; }
	.sp_none { display: none !important; }
}

	


@media screen and (max-width: 767px) {
	
    body { font-size: 16px; line-height: 1.6; -webkit-text-size-adjust: none; }
	
    a { text-decoration: none; -webkit-tap-highlight-color:rgba(0,0,0,0); -webkit-touch-callout:none; }

    .pc_none { display: block }
    .sp_none { display: none }
	
	
	#footer { font-size: 12px; text-align: center; }
	#footer .footer-inner { padding: 25px 4.4vw 30px;  }
	#footer .logo { margin: 0 0 10px; }
	#footer .copy { position: static; margin: 30px 0 0; }
	#footer .copy img { height: 30px; }	
	
	
	
	#contents { padding: 70px 0 0;  }


	.frame { max-width: auto; }
	
	
	.slide .slide-items { width: calc(100% + 10px); margin: 0 0 0 -5px; }
	.slide .slide-items li { height: auto; margin: 0 5px; }
	.slide .slick-prev { position: absolute; top: calc(50% - 30px); left: -5px; height: 30px; width: 30px; }
	.slide .slick-prev:hover { transform: scale(1.0); }
	.slide .slick-next { position: absolute; top: calc(50% - 30px); right: -5px; height: 30px; width: 30px; }
	.slide .slick-next:hover { transform: scale(1.0) rotate(180deg); }
	.slide ul li { padding: 0 0 30px; }	
	.slide ul li:hover { transform: scale(1.0); }
	.slide ul li p { font-size: 14px; line-height: 1.6; padding: 10px 10px 0; }	
	

	#page-top { position: fixed; bottom: 0; right: 10px; margin: 0 0 10px; z-index: 1000; display: none; }
	#page-top a:hover { opacity: 0.8; display: block; }

	
	/* top-common */
	#top h2.top-tit { font-size: 26px; margin: 0 0 30px; }
	#top h2.top-tit .line { width: 100px; height: 3px; }
	#top h3.intro { font-size: 22px; line-height: 1.6; margin: 0 0 10px; }
	#top .btn { margin: 30px 0 0; }
	#top .btn a { color: #fff; font-size: 20px; line-height: 1em; text-align: center; text-decoration: none; background: #E60012; max-width: 100%; padding: 23px 0 25px; margin: 0 auto; display: block; position: relative; transition: none; }
	#top .btn a:hover{ transform: scale(1); }
	#top .btn .arw { position: absolute; top: 50%; right: 10px; margin: -4px 0 0; height: 8px; }


	/* top */
	/* 2024.03追加 */
	#top .vis { }
	#top .vis .slide-dots li button::before { position: absolute; right: 0; top: 10px; width: 10px; }
	/* 2024.03追加ここまで */	
	/* 2024.09追加 */
	#top .vis p { font-size: 2.6vw; text-shadow: 0 0 2px rgba(0, 0, 0, 1);　position: absolute; bottom: 0vw; left: 1vw; }
	#top .vis p .tx-s { font-size: 1.8vw; margin: 0; }
	#top .vis .mrk { font-size: 2vw; }
	/* 2024.09ここまで */
	/* 2025.09追加 */	
	#top .heading { padding: 30px 4.4vw; }	
	#top .heading h1 { font-size: 24px; }
	#top .heading h1 .mrk { font-size: 14px; }
	#top .heading h1 .notes { font-size: 11px; margin: 8px 0 0; text-align: left; }
	/* 2025.09ここまで */	
	#top .block01 { padding: 40px 0; }
	#top .block02 {padding: 40px 0; }
	#top .block02 .pic { margin: 0 0 25px; }
	#top .block03 { padding: 40px 0 40px; }
	#top .block03 .pic { margin: 0 0 25px; }
	#top .block03 .bg_line { position: absolute; top: -200px; left: 0; right: 0;  z-index: 1; }
	.features-figure { margin: 30px 0 0 -5px; }
	.features-figure li { width: calc(33.333% - 5px); margin: 0 0 0 5px; padding: 20px 0; }
	.features-figure li .ill { padding: 0 0 10px; }
	.features-figure li p { font-size: 11px; padding: 0 10px; }
	#top .block04 { padding: 40px 0 0; border-bottom: 40px solid #eeeeee; }
	#top .block04 h2.top-tit { margin: 0 0 30px; }
	#top .block04 .intro { font-size: 20px; margin: 0 0 10px; }
	#top .block04 p { font-size: 18px; }
	#top .block04 p span { font-size: 14px; }
	#top .block04 .notes { font-size: 12px; }
	#top .block04 .pic { position: absolute; top: -40px; right: -240px; z-index: 1; width: 150%;  }
	#top .block05 { padding: 35px 0 40px; border-top: 40px solid #eeeeee; }
	#top .block05 h2.top-tit { margin: 0 0 10px; }
	#top .block05 ul { margin: 20px auto 0; max-width: 100%; }
	#top .block05 ul li { margin: 0 0 10px; transition: none; }
	#top .block05 a:hover{ transform: scale(1.0); }
	#top .block06 { padding: 40px 0; }
	#top .block06 .frame-inner { padding: 20px 5%; }
	#top .block06 h3 { font-size: 20px; margin: 0 0 15px; }
	#top .block06 ul li { font-size: 16px; padding: 0 0 10px 0; margin: 0 0 10px; }
	#top .block06 ul li .date { position: static; display: block; }
	#top .read { text-align: left; }
	#top .block07 { padding: 20px 0; }
	#top .block07 ul { margin: 0; }
	#top .block07 ul li { width: 100%; margin: 0 0 20px; }
	#top .block07 ul li a:hover{ transform: scale(1.0); }
	
		
	/* lower-common */
	h2.tit { font-size: 22px; }
	h2.tit span.line { width: 100px; }

	h2.page-tit  { font-size: 18px; margin: 0 0 20px; }
	h2.page-tit .line { width: 100px; }

	h3.intro { font-size: 20px; line-height: 1.6; }
	
	.link-card { margin: 0 }
	.link-card li { width: 100%; margin: 0 0 20px; transition: none; }
	.link-card li:last-child { margin: 0; }
	.link-card li:hover{ transform: scale(1); }
	.link-card li p { font-size: 20px; }


	/* promise */
	#promise .vis { max-width: 100%; }
	#promise .block { padding: 40px 4.4vw; }
	#promise .frame-inner { padding: 30px 4% 40px;  }
	#promise .read { font-size: 16px; padding: 15px 0 30px; text-align: left; }
	#promise .logo { margin: 0 0 40px; }
	#promise .logo img { width: 60%; }
	#promise .link-card { padding: 0; }
	
	
	/* features */
	#features .block01 { padding: 40px 0 80px; }
	#features .block01 .intro { margin: 0 0 20px;}
	#features .block01 .read { text-align: left; }
	#features .block02 { padding: 0 0 40px; }
	#features .block02 .list li { margin: 30px 0 0; }
	#features .block02 .list .pic { width: 100%; }
	#features .block02 .list .txt { width: calc(100% - 40px); padding: 20px; }
	#features .block02 .list h3 { font-size: 20px; margin: 15px 0 10px; }
	#features .block03  { padding: 0 0 40px; }
	#features .block03 .frame { position: relative; z-index: 2; }
	#features .block03 .frame-inner { background: #fff; padding: 30px 5% 0; }
	#features .block03 .tit { margin: 0 0 30px; }
	#features .block03 .intro { text-align: left; }
	#features .block03 .list { padding: 40px 2% 0; }
	#features .block03 .list li { padding: 30px 0; }
	#features .block03 .list li .pic { width: 100%; }
	#features .block03 .list li .txt { width: calc(100% - 6%); padding: 15px 0 0; }	
	#features .block03 .list li h3 { font-size: 20px; margin: 0 0 10px; }
	#features .block03 .bg_line { position: absolute; top: -200px; left: 0; right: 0; }
	#features .block04  { padding: 40px 0; }	

	
	/* concept */
	#concept .block01 { padding: 40px 0 0; }
	#concept .block01 .intro { margin: 0 0 20px;}
	#concept .block01 .read { text-align: left; }
	#concept .block01 .anchor  { margin: -10px 0 0; padding: 35px 0 0; }
	#concept .block01 .anchor li{ width: 100%; margin: 0 0 10px; }
	#concept .block01 .anchor li a { font-size: 20px; }
	#concept .block01 .anchor li .arw { position: absolute; top: 50%; right: 20px; margin: -5px 0 0;height: 10px; }
	#concept .block02 { padding: 50px 0 0; }
	#concept .list li { margin: 30px 0 0; }
	#concept .list .pic { width: 100%; }
	#concept .list .txt { width: calc(100% - 40px); padding: 0 20px 20px 20px; }
	#concept .list  h3 { font-size: 20px; line-height: 1.6; margin: 15px 0 10px; }
	#concept .block03 { padding: 50px 0 60px; }
	#concept .block03 .bg_line { position: absolute; top: -160px; left: 0; right: 0;  z-index: 1; }
	#concept .block04 { padding: 40px 0; }
	
	
	/* shop */
	#shop .block { padding: 40px 0; }
	#shop .type-box { padding: 0; }
	#shop .type-box ul { margin: 30px 0 0; }
	#shop .type-box ul li { width: 100%; margin: 0 0 20px; }
	#shop .type-box ul li:last-child { margin: 0; }
	#shop .type-box ul li .pic { padding: 40px; }
	#shop .type-box ul li .ill { padding: 20px; }
	#shop .type-box .notes { margin: 5px 0 0; }
	#shop table { margin: 30px 0 0; }
	#shop th { padding: 5px 10px; }
	#shop td { padding: 5px 10px; }
	#shop .tx-l { width: 25%; }
	#shop .tx-c { width: 45%; }
	#shop .tx-r { width: 30%; }
	#shop td.item { padding: 10px; text-align: center; }
	#shop td span { font-size: 10px; margin: 3px 0; display: block; }	
	#shop .tbl-notes { margin: 5px 0 0; }

	
	/* company */
	#company .block01 { padding: 40px 0; }
	#company .block01 .anchor { margin: 30px 0; }
	#company .block01 .anchor li { width: 100%; margin: 0 0 10px; }
	#company .block01 .anchor li:last-child { margin: 0; }
	#company .block01 .anchor li a { font-size: 20px;  }
	#company .block01 .anchor li .arw { position: absolute; top: 50%; right: 20px; margin: -5px 0 0; height: 10px; }
	#company .block01 .bnr { max-width: 100%; }
	#company .block01 .bnr a { transition: none; }
	#company .block01 .bnr a:hover{ transform: scale(1); }
	#company .block02 { padding: 40px 0; }
	#company .block02 p { font-size: 14px;}
	#company .block02 .frame { max-width: 100%; }
	#company .block02 table { margin: 40px 0 0; font-size: 18px; text-align: left; }
	#company .block02 th { width: 100%; padding: 0 0 5px 0; display: inline-block; font-weight: 500;}
	#company .block02 td { width: 100%; padding: 0 0 30px; display: inline-block; }
	#company .block03 { padding: 30px 0; }
	#company .block03 .frame { max-width: 100%; }
	#company .block03 h3 { font-size: 18px; margin: 40px 0 0; }
	#company .block03 th { width: 100%; padding: 20px 0 0; border-bottom: none; display: inline-block; }
	#company .block03 td { width: 100%; padding: 10px 0 20px; display: inline-block; }
	#company .block04 { padding: 40px 0; }
	#company .block04 .tx-l { width: calc(30% - 30px); padding: 20px 0 0 30px; display: inline-block; }
	#company .block04 .tx-c { width: 70%; text-align: left; padding: 20px 0 0 0; display: inline-block; }
	#company .block04 .tx-r { width: calc(100% - 30px); padding: 0 0 0 30px; margin: 0%; display: inline-block; }
	#company .block04 .tx-l .cir { position: absolute; top: 27px; left: -11px; }
	#company .block04 .tx-l .cir_top { position: absolute; top: -13px; left: -11px; }
	
	
	/* faq */
	#faq .block { padding: 40px 0;}
	#faq ul { max-width: 100%; margin: 30px auto 0; }
	#faq ul li { margin: 20px 0 0; }
	#faq ul li .question { font-size: 18px; padding: 20px 50px 20px 60px; }
	#faq ul li .answer { font-size: 16px; padding: 20px 15px 20px 60px; }
	#faq ul li .q { position: absolute; top: 50%; left: 20px; margin: -25px 0 0; }
	#faq ul li .a { position: absolute; top: 10px; left: 20px; }
	#faq ul li .plus { position: absolute; top: 50%; right: 20px; }
	
	
	/* policy */
	#policy .block { padding: 0 0 40px; }
	#policy p { font-size: 16px; }
	#policy .intro { padding: 40px 0; }
	#policy .intro p { margin: 25px auto 0; }
	#policy .box { margin: 40px auto 0; }
	#policy .box h3 { font-size: 20px; padding: 5px 0 15px 40px; }
	#policy .box h3 .parts { position: absolute; top: 0; left: 0; width: 35px; }
	#policy .box ul { margin: 0 0 0 16px; }
	#policy .box ul li { font-size: 16px; text-indent: -16px; }

	
	
	/* news */
	#news .block { padding: 40px 0;}
	#news .list { margin: 30px 0 0; padding: 10px 20px 40px; }	
	#news .list ul { margin: 30px auto 0;}
	#news .list ul li { font-size: 16px; padding: 0 0 15px 0; margin: 0 0 15px; }
	#news .list ul li .date { position: static; display: block; }
	#news .detail { margin: 30px 0 0; padding: 40px 20px; }
	#news .detail h3 { font-size: 20px; text-align: left; margin: 0 0 20px; }
	#news .detail .date { text-align: right; margin: 0 0 20px; }
	#news .btn-backto-index { margin: 50px 0 0; }
	#news .btn-backto-index a { font-size: 16px; padding: 22px 0;  width: 100%; transition: none; }
	#news .btn-backto-index a:hover{ transform: scale(1.0); }
	#news .detail .chart { margin: 40px 0 0; }
	#news .detail table { margin: 10px 0 0; }
	#news .detail th { width: 100%; padding: 10px 0 0; display: inline-block; }
	#news .detail td { padding: 0; display: inline-block; }

	
	/* sdgs */
	#sdgs { padding: 40px 0; }
	#sdgs .intro { max-width: 100%; margin: 0 auto 40px; }
	#sdgs .intro h2 { font-size: 24px; padding: 20px 0 0; margin: 40px 0 5px; }
	#sdgs .intro p { padding: 0 0 20px; }
	#sdgs ul { padding: 0 20px; }
	#sdgs ul li { text-align: left; margin: 0 0 40px; padding: 0 0 40px; }
	#sdgs .pic { margin: 0 0 20px; }
	#sdgs .icon { width: auto; margin: 0 0 20px; padding: 0 50px; }
	#sdgs .txt { width: 100%; }
	#sdgs h3 { font-size: 20px; margin: 0 0 10px; }	
	
	
	
	/* product */
	#product h1.tit { font-size: 22px; }
	#product h1.tit span.line { width: 100px; }	
	#product .intro { margin: 20px 0 0; text-align: left; }

	#product .frame { max-width: auto; }
	#product .block { padding: 40px 0; }
	
	#product .btn { margin: 30px 0 0; }
	#product .btn a { font-size: 16px; max-width: 100%; transition: none; }
	#product .btn a:hover{ transform: scale(1.); }
	#product .btn .arw { position: absolute; top: 50%; right: 10px; margin: -3px 0 0; height: 6px; }
	
	#product .tab { margin: 50px 0 5px -6px; padding: 0; width: auto; }
	#product .tab li { width: calc(50% - 6px); float: left; margin: 0 0 6px 6px; position: relative; }
	/*#product .tab li:first-child { width: calc(100% - 6px); }*/
	#product .tab li a { font-size: 16px; }
	#product .tab .arw { display: none; }
	
	/* 2024.03追加 */
	#product .anchor-link { padding: 0 0 30px; margin: -10px 0 40px; }
	#product .anchor-link ul li { display: block; margin: 0 20px 10px; }
	#product .anchor-link ul li:last-child { margin-bottom: 0; }
	#product .anchor-link ul li a { font-size: 14px; }
	#blue, #red, #refill, #case, #sheet, #cloth, #film { margin-top: -60px !important; padding-top: 60px; }
	/* 2024.03追加ここまで */
	
	/* 2025.09追加 */
	#product .type-card .cutter-type { font-size: 16px; line-height: 1.6em; margin: 30px 0 15px; }
	#product .kitchenistawrap-refill-type { font-size: 16px; margin: 0 0 10px; }
	#product .kitchenistawrap_tx01 { font-size: 20px !important; }	
	/* 2025.09追加ここまで */
	
	
	#product .product-detail { max-width: auto; padding: 40px 4.4vw 0; }	
	#product .outline { padding: 0; }
	#product .outline h2 { font-size: 26px !important; margin-top: 0.6em !important; }	
	#product .outline h3 { font-size: 24px; margin: 30px 0 20px; }
	#product .outline .read { margin: 0 0 30px; }
	
	#product .outline .box01 { padding: 30px 0; }
	#product .outline .box01 .figure { width: calc(100% - 100px); margin: 0 0 30px; padding: 0 50px; }
	#product .outline .box01 .box-r { width: 100%; }
	
	#product .outline .box02 { padding: 30px 0; }
	#product .outline .box02 .figure { width: calc(100% - 20px); margin: 0 0 30px; padding: 0 10px; }
	#product .outline .box02 .box-r { width: 100%; }
	#product .outline .box02.siaa .tx { padding: 0; }

	#product .outline .siaa { margin: 0 0 30px; }
	#product .outline .siaa .cfix { margin: 10px 0 0; }
	#product .outline .siaa .tb { width: 100%; }
	#product .outline .siaa .tx { width: 100%; padding: 10px 0 0; }
	#product .outline .siaa p.ad { height: auto; }

	#product .type-card { padding: 0 0 40px; }
	#product .type-card ul { margin: 0 0 0 -10px; }
	#product .type-card ul li { width: calc(49.8% - 10px); display: inline-block; margin: 0 0 0 10px; }
	#product .type-card ul li .card { padding: 15px 7px; transition: none; }
	#product .type-card ul li .card:hover { transform: scale(1.0); }

	
	#product .type-card ul li .tx { margin: 8px 0 10px; }
	#product .type-card ul li .tx h4 { font-size: 20px; }
	#product .type-card ul li .tx p { font-size: 10px; }	
	
	
	#product .type-card .notes { font-size: 12px; }

	#product .type-jumbo a { width: 100%; margin: 20px auto 0; padding: 25px 0; }

	#product .type-block { padding: 0 0 50px; }

	#product .type { margin: 0; }
	#product .type .box { height: 80px; margin: 0 0 10px; position: relative; }
	#product .type .box .icon { border-right: 1px solid #000; padding: 10px; }
	#product .type .box .icon img { width: 60px; }
	#product .type .box h4 { font-size: 20px;  padding: 0 0 0 10px; height: 80px; }
	#product .type .spec { line-height: 1.4; position: static; margin: 0 0 20px;}

	#product .tbl { margin: 20px 0 0; overflow-x: scroll; }
	#product .tbl table {width: 800px}
	#product td figure { max-width: 100% !important; }
	#product td figure img { width: 280px !important; height: auto; }
	#product .tbl p { font-size: 12px; }

	#product .item01 .type .ill { float: none; }
	#product .item01 .type .ill img { margin: 0 0 10px; width: 100%; }	
	#product .item04 .outline h4 { font-size: 20px; margin: 0 0 10px; }
	#product .item04 .outline h5 { font-size: 17px; margin: 0 0 10px; }
	#product .item05 .outline .siaa p { height: auto; }
	#product .item06 .bnr { margin: 0 0 30px; }
	#product .item06 .bnr a { display: block; transition: none; }
	#product .item06 .bnr a:hover { transform: scale(1); }
	
	#product .mb { margin: 0 0 20px; }	

	#product #link01 { margin-top: -70px; padding-top: 70px; }
	#product #link02 { margin-top: -70px; padding-top: 70px; }
	#product #link03 { margin-top: -70px; padding-top: 70px; }	
	
	sup { font-size: 0.6em; vertical-align: super; line-height: 1; }
	
	/* 2025.09追加 */
	#product .outline .feature { margin: 20px 0 0 !important; }
	#product .outline .feature h3 { font-size: 18px !important; line-height: 1.6em !important; margin: 0 0 20px !important; }
	#product .outline .feature ul li { margin: 0 0 30px; }
	#product .outline .feature ul li h3 { font-size: 17px !important; margin: 0 0 8px !important; }
	#product .outline .feature .notes { margin: 5px 0 0; }
	#product .outline .origin ul { margin: 30px 0 0; }
	#product .outline .origin ul li { margin: 0 0 10px; }
	#product .outline .origin ul li h4 { font-size: 15px !important; }
	#product .outline .origin ul li p { font-size: 14px !important; margin: 0 !important; }
	#product .certification { font-size: 26px !important; margin: 50px 0 5px !important; }
	#product .outline .feature .kitchenistawrap_tx01 { font-size: 22px !important; }
	#product .outline .kitchenistawrap-refill_tx01 { font-size: 18px !important; margin: 40px 0 10px !important; }
	#product #case .outline .feature h3 { margin-bottom: 10px !important; }
	#product #sheet .outline .feature { margin-top: 10px !important; }
	#product #film .outline .feature { margin-top: 10px !important; }
	#product .outline .kitchenista-decowrap_tx01 { margin-bottom: 10px !important; }
	#product #blue .outline .mt { margin-top: 40px !important; }
	#product .outline .refill-box { margin: 0 0 30px; }
	#product .outline .refill-box .tx { margin: 10px 0 0; }
	/* 2025.09追加ここまで */	
	
	
	/* sitemap */
	#sitemap .block { padding: 40px 0;}
	#sitemap .list { margin: 30px 0 0; padding: 10px 20px 40px; }	
	#sitemap .list ul { margin: 30px auto 0;}
	#sitemap .list ul li { font-size: 16px; padding: 0 0 20px 0; margin: 0 0 20px; }
	#sitemap .list ul li:last-child { margin: 0; }
	#sitemap .list ul li a { padding: 0 20px 0 50px; }	
	#sitemap .list ul li a:before{ position: absolute; right: 20px; }
	#sitemap .list .line { position: absolute; top: calc(50% - 2px); left: 20px; }	
	
	
	/* catalog */
	#catalog .list { margin: 30px 0 0; padding: 10px 40px 20px; }
	#catalog .list ul { margin: 30px 0 0; }
	#catalog .list ul li { float: left; width: 100%; margin: 0 0 40px }
	#catalog .list ul li .btn a { display: block; text-align: center; padding: 0.5em 0; background: #707070; border-radius: 30px; color: #fff; transition: all 0.2s }
	#catalog .list ul li .btn a:hover{ transform: scale(1); }
	
	
	/* topics */
	#topics h2.tit { font-size: 22px; }

	#topics .card { margin: 0 0 20px -10px; } 
	#topics .card li { width: calc(50% - 10px); margin: 0 0 20px 10px; padding: 0 0 30px; }
	#topics .card li:hover { transform: scale(1.0); }
	#topics .card li p { font-size: 14px; line-height: 1.6; padding: 10px 10px 0; }

	#topics .btn-cate { margin: 0 0 20px -10px; padding: 0; }
	#topics .btn-cate li { width: calc(50% - 10px); float: left; margin: 0 0 10px 10px; }
	#topics .btn-cate li a { font-size: 13px; }
	#topics .btn-cate li a .arw { position: absolute; top: calc(50% - 7px); right: 10px; }

	#topics .sns-logo ul { margin: 20px 0 0; }
	#topics .sns-logo ul li { padding: 0 5px; }
	#topics .sns-logo ul li a:hover { transform: scale(1.0); }
	#topics .sns-logo ul li img { width: 34px; }
	#topics .sns-logo .sns_share img { width: 100px; }

	#topics .pager { padding: 0 0 40px; }
	#topics .pager ol li a { font-size: 12px; padding: 8px 10px; margin: 0 5px; }
	#topics .prev a { padding: 1px 0 4px; width: 36px; }
	#topics .prev { position: absolute; top: 0; left: -44px; }
    #topics .prev a { padding: 1px 0 4px; width: 36px; }
    #topics .prev a img { height: 10px; vertical-align: middle; }
	#topics .next { position: absolute; top: 0; right: -44px; }
    #topics .next a { padding: 1px 0 4px; width: 36px; }
	#topics .next a img { height: 10px; vertical-align: middle; }

	#topics .btn-back-top { margin: 40px 0 0; }
	#topics .btn-back-top a { font-size: 15px; padding: 16px 0 20px; }
	#topics .btn-back-top a:hover { transform: scale(1.0); }	

	#topics .block01 { padding: 40px 0 0; }
	#topics .block01 h2 { margin: 0 0 30px; }	
	#topics .block02 { padding: 0 0; }
	#topics .block02 h3 { font-size: 20px; }
	#topics .block02 .read { font-size: 15px; padding: 25px 0 15px; text-align: left; }
	#topics .block02 .notes { font-size: 11px; margin: 0 0 30px; }

	#topics .idx { padding: 40px 0;  }
	#topics .idx .read { font-size: 15px; padding: 25px 0 0; text-align: left; }
	#topics .idx .idx-list { margin: 30px 0 0; }
	#topics .idx .bg_line { position: absolute; bottom: 0; left: 0; right: 0; }
	#topics .idx .btn-cate { margin: 0 0 30px; }
    #topics .idx .notes { font-size: 11px; margin: 0 0 30px; }

	#topics .detail { padding: 40px 0; }
	#topics .detail .frame { padding: 40px 20px 50px; }
	#topics .detail .read { font-size: 15px; text-align: left; }
	#topics .detail .date { font-weight: 500; margin: 25px 0 0; }
	#topics .detail ol { margin: 30px 0 40px;  }
	#topics .detail ol li { padding: 30px 0; }
	#topics .detail ol li .box-l { width: 100%; }
	#topics .detail ol li .txt { width: 100%; }
	#topics .detail ol li .txt h4 { font-size: 18px; padding: 10px 0; }
	#topics .detail ol li .txt p { padding: 0; }
	#topics .detail h3 { font-size: 20px; padding: 25px 0 15px; text-align: left; }
	#topics .detail .btn-back-idx { margin: 30px 0 20px; }
	#topics .detail .btn-back-idx a { font-size: 15px; padding: 16px 0 20px; }
	#topics .detail .btn-back-idx a:hover { transform: scale(1.0); }
	#topics .detail .btn-back-top { margin: 10px 0 0; }
	/* 2005/02追加 */
	#topics .detail h1.tit { font-size: 22px; letter-spacing: 0.07em; }
	#topics .detail h1.tit .cate::after { width: 100px; height: 3px; bottom: -6px; left: 50%; transform: translateX(-50%); }
	#topics .detail h1.tit span.topics-tit { font-size: 20px; padding: 25px 0 16px; text-align: left; }
	#topics .detail .main-pic { padding: 30px 0 0; }
	#topics .detail .toc { margin: 40px 0 0; padding: 25px 0; }
	#topics .detail .toc p { font-size: 20px; margin: 0 0 10px; }
	#topics .detail .toc ul li { font-size: 20px; margin: 0 0 10px; }
	#topics .detail .topics-block { margin: 0; padding: 0 0 40px; }
	#topics .detail .topics-block h2 { font-size: 20px;  }
	#topics .detail .topics-block h3 { font-size: 20px !important; padding: 15px 0 !important; }
	#topics .detail .topics-block .pic .notes { font-size: 11px; padding: 5px 0 0; }
	#topics .detail #block-A { padding: 40px 0 0; }	
	#topics .detail #block-B { padding: 40px 0 0; }
	#topics .detail #block-B .pic  { padding: 0 0 20px; }
	#topics .detail #block-C { padding: 40px 0 0; }
	#topics .detail #block-C .pic { padding: 0 0 20px; }
	#topics .detail .pic-topics  { padding: 0 0 20px; }
	/* 2025/09追加 */
	#topics .detail ol li.seotopics { padding: 30px 0; }
	#topics [id^="block-"] { position: relative; }
	#topics [id^="block-"]::before { content: ""; display: block; height: 60px; margin-top: -60px;}
	#topics .detail .pic-topics  { padding: 20px 0 20px; text-align: center;}
	#topics .detail .pic-topics img  { width: 60%;}
	#topics .notes { font-size: 11px; margin: 10px 0; }
	#topics .detail .mokuji { margin: 40px 0 0; padding: 0 0 20px; }
	#topics .detail .mokuji p { font-size: 14px; margin: 0 0 10px; }
	#topics .detail .mokuji ul li { font-size: 20px; margin: 0 0 10px; }
	/* 2025/10追加 */
	#topics .detail .pic-topics100  { padding: 20px 0 20px; text-align: center;}
	#topics .detail .pic-topics100 img  { width: 100%;}
	#topics .detail .pic-topics80  { padding: 20px 0 20px; text-align: center;}
	#topics .detail .pic-topics80 img  { width: 100%;}
	#topics .detail h2.chef-name {font-size: 18px; padding: 10px 0 0 0;}
	#topics .detail h2.topic-ttl {font-size: 18px;}
	
	/* biomass */
	#biomass .main { padding: 10px 0 0; }
	#biomass .main h1 { font-size: 23px; line-height: 1.55em; position: static; width: calc(100% + 4.4vw); margin: 30px 0 40px -2.2vw; }
	#biomass .main p { font-size: 10px; position: static; text-align: left; }
	#biomass .main ul { margin: 40px 0 0; padding: 0 15px 60px; position: static; }
	#biomass .main ul li { width: 100%; margin: 0 0 16px; }
	#biomass .main ul li:last-child { margin-bottom: 0; }
	#biomass .main ul li a { font-size: 16px; padding: 20px 0; }
	#biomass .main ul li a:hover { background-color: rgba(255,255,255,0); }
	#biomass .main ul li a::after { content: ""; background: url(../../assets/img/biomass/arw.png) no-repeat; background-size: contain; width: 10px; height: 10px; bottom: 3px; right: 3px; }
	#biomass .main picture img { width: calc(100% + 8.8vw); margin: 0 0 0 -4.4vw; }
	#biomass .block01 .inner { padding: 60px 15px 0; }
	#biomass .block01 h2 { font-size: 24px; letter-spacing: 0.08em; font-family: 'Noto Sans JP', sans-serif, Sans-Serif; -ms-writing-mode: lr-tb; writing-mode: lr-tb; padding: 0; width: calc(100% + 25px); margin: 0 0 35px; }
	#biomass .block01 .pic { position: static; }
	#biomass .block01 .pic img { width: 100%; }
	#biomass .block01 h3 { font-size: 20px; line-height: 1.65em; margin: 25px 0; }
	#biomass .block01 p {  letter-spacing: 0.06em; padding: 0 0 60px; }
	#biomass .block01::after { background: url(../../assets/img/biomass/bg.png) no-repeat; background-size: contain; width: 170px; height: 190px; }
	#biomass .block02 { padding: 30px 0; }
	#biomass .block02 .inner { padding: 30px 15px; }
	#biomass .block02 h2 { font-size: 24px; line-height: 1.42em; text-align: left; margin: 0 0 30px; }
	#biomass .block02 .lead { padding: 0; margin: 0 0 35px; }
	#biomass .block02 ul li { margin: 0 0 30px; padding: 20px 15px 30px; }
	#biomass .block02 ul li:nth-child(1) h3 { padding: 0 0 25px 0; }
	#biomass .block02 ul li:nth-child(2) h3 { padding: 0 0 25px 0; }
	#biomass .block02 ul li h3 { font-size: 19px; line-height: 1.4em; margin: 0 0 25px; padding: 0 0 25px; }
	#biomass .block02 ul li h3 span { font-size: 14px; }
	#biomass .block02 ul li h3 .parts { position: static; width: 45px; margin: 0 0 10px; }
	#biomass .block02 .notes { text-align: left; margin: 15px 0 0; line-height: 1.25em; }
	#biomass .block02 ul li .txt { width: 100%; }
	#biomass .block02 ul li .mrk { width: 100%; text-align: center; margin: 15px 0 0; }
	#biomass .block02 .inner::after { background: url(../../assets/img/biomass/bg.png) no-repeat; background-size: contain; width: 205px; height: 223px; }
	#list { margin-top: -20px; padding-top: 20px; }
	#biomass .block03 .block-bg { padding: 60px 0 20px; }
	#biomass .block03 h2 { font-size: 20px; margin: 0 0 40px; }
	#biomass .block03 h2::after { width: 60px; height: 2px; }
	#biomass .block03 #product .type-card ul { margin: 0; padding: 0 30px; }
	#biomass .block03 #product .type-card ul li { width: 100%;  margin: 0; }
	#biomass .block03 #product .type-card ul li p span { font-size: 15px; }
	#biomass .block03 #product .type-block { padding: 15px !important; margin: 0 0 30px !important;  }

	#biomass .lower-main { background: #004DA0; }
	#biomass .lower-main .txt { position: static; padding: 12vw 0 0 6.6vw; }
	#biomass .lower-main .txt h1 { font-size: 6.4vw;letter-spacing: 0.08em;  margin: 0 0 8vw; }
	#biomass .lower-main .txt h1 span { font-size: 4.3vw; letter-spacing: 0.1em; padding: 0 0 4vw 8vw; }
	#biomass .lower-main .txt h1 span::before { background: url(../../assets/img/biomass/lower_main_parts.png) no-repeat; background-size: contain; width: 5.3vw; height: 4.2vw; top: 2vw; left: 0; }	
	#biomass .lower-main .txt h2 { font-size: 5.3vw; letter-spacing: 0.06em; line-height: 1.75em; margin: 6.6vw 0 0; position: relative; z-index: 2; }
	#biomass .lower-main .txt h3 { font-size: 5.3vw; border-left: 1vw solid #fff; padding: 0 0 0 3.8vw; }
	#biomass .lower-main .txt h3 span { font-size: 4.1vw; margin: 0 0 0.3vw; }	
	#biomass .lower-main picture img { margin: -12vw 0 0; position: relative; z-index: 1; }
	#biomass .voice { padding: 0 25px !important; }
	#biomass .voice .lead { font-size: 16px; line-height: 1.8em; padding: 50px 0 80px; }
	#biomass .voice ul { padding: 0 0 50px; }
	#biomass .voice ul li { margin: 0 0 50px; }
	#biomass .voice ul li .pic { width: 100%; }
	#biomass .voice ul li .txt { width: 100%; }
	#biomass .voice ul li .txt h3 { font-size: 23px; line-height: 1.5em; margin: 20px 0 30px; }
	#biomass .voice ul li .txt h3 span { text-decoration-thickness: 13px; }
	#biomass .voice ul li:nth-child(odd) .pic { padding: 25px 0 0 0; }
	#biomass .voice ul li:nth-child(odd) .pic::after { background: url(../../assets/img/biomass/bg02.png) no-repeat; background-size: contain; width: 170px; height: 185px; top: 0; right: -25px; }
	#biomass .voice ul li:nth-child(odd) .txt { padding: 0; }
	#biomass .voice ul li:nth-child(even) .pic { padding: 25px 0 0 0; }
	#biomass .voice ul li:nth-child(even) .pic::after { background: url(../../assets/img/biomass/bg03.png) no-repeat; background-size: contain; width: 170px; height: 185px; top: 0; left: -25px; }
	#biomass .voice ul li:nth-child(even) .txt { padding: 0; }
	#biomass .point { padding: 60px 25px !important; }
	#biomass .point .frame { padding: 20px 25px 40px; border: 0.2vw solid #231815; }
	#biomass .point h3 { margin: 0 0 25px 0; }
	#biomass .point h3 span { font-size: 16px; position: absolute; top: 0px; left: 110px; display: block; width: calc(100% - 110px); }
	#biomass .point h3 img { width: 100px;}
	#biomass .point p { letter-spacing: 0.06em !important; }
	#biomass .point ul { margin: 0; }
	#biomass .point ul li { width: 100%;  margin: 0 0 40px; }
	#biomass .point ul li:last-child { margin-bottom: 0; }
	#biomass .point ul li p { margin: 15px 0 0; }
	#biomass .point01 .frame::before { position: absolute; content: ""; background: url(../../assets/img/biomass/company-voice_line_sp.png) no-repeat; background-size: contain; width: 28px; height: 38px; top: -5px; left: -5px; }
	#biomass .point01 .frame::after { position: absolute; content: ""; background: url(../../assets/img/biomass/company-voice_line_sp.png) no-repeat; background-size: contain; width: 28px; height: 38px; bottom: -5px; right: -5px; }
	#biomass .point02 .frame::before { position: absolute; content: ""; background: url(../../assets/img/biomass/professional-voice_line_sp.png) no-repeat; background-size: contain; width: 28px; height: 38px; top: -5px; left: -5px; }
	#biomass .point02 .frame::after { position: absolute; content: ""; background: url(../../assets/img/biomass/professional-voice_line_sp.png) no-repeat; background-size: contain; width: 28px; height: 38px; bottom: -5px; right: -5px; }
	#biomass .info {  padding: 60px 25px !important; }
	#biomass .info .frame { padding: 25px; }
	#biomass .info .txt { padding: 30px 0 0; }
	#biomass .info .txt h3 { font-size: 23px; margin: 0 0 8px; }
	#biomass .info .txt p { line-height: 1.8em; margin: 10px 0 0; padding: 15px 0 0; }
	#biomass .info .info-logo { width: 100%; position: static; }
	#biomass .btn-bottom { padding: 60px 25px !important; }
	#biomass .btn-bottom ul { margin: 0; padding: 0; }
	#biomass .btn-bottom ul li { width: 100%; margin: 0 0 20px; }
	#biomass .btn-bottom ul li:last-child { margin-bottom: 0; }
	#biomass .btn-bottom ul li a { font-size: 16px; transition: none; }
	#biomass .btn-bottom ul li a:hover {  background-color: none; }
	#biomass .btn-bottom ul li a::after { width: 10px; height: 10px; bottom: 3px; right: 3px; }	
	
	
	/* feature-idx */
	#feature-idx h1.tit { font-size: 22px; letter-spacing: 0.07em; }
	#feature-idx h1.tit::after { width: 100px; height: 3px; bottom: -6px; left: 50%; transform: translateX(-50%); }
	#feature-idx .block { padding: 40px 0; }
	#feature-idx .block ul { margin: 30px 0 0; padding: 20px; }
	#feature-idx .block ul li { margin: 0 0 30px; }
	#feature-idx .block ul li h2 { font-size: 18px;  margin: 10px 0 5px; }
	#feature-idx .block ul li a:hover{ transform: scale(1.0); }
}



@media screen and (max-width: 320px) {
	
	#footer a { font-size: 10px !important; }

}

/**
 * ==============================================
 * Dot Falling
 * ==============================================
 */
.dot-falling {
  position: relative;
  left: -9999px;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background-color: #E60012;
  color: #E60012;
  box-shadow: 9999px 0 0 0 #E60012;
  animation: dot-falling 1s infinite linear;
  animation-delay: 0.1s;
}
.dot-falling::before, .dot-falling::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.dot-falling::before {
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background-color: #F8E300;
  color: #F8E300;
  animation: dot-falling-before 1s infinite linear;
  animation-delay: 0s;
}
.dot-falling::after {
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background-color: #F8E300;
  color: #F8E300;
  animation: dot-falling-after 1s infinite linear;
  animation-delay: 0.2s;
}

@keyframes dot-falling {
  0% {
    box-shadow: 9999px -10px 0 0 rgba(230, 0, 18, 0);
  }
  25%, 50%, 75% {
    box-shadow: 9999px 0 0 0 #E60012;
  }
  100% {
    box-shadow: 9999px 10px 0 0 rgba(230, 0, 18, 0);
  }
}
@keyframes dot-falling-before {
  0% {
    box-shadow: 9982px -10px 0 0 rgba(248, 227, 0, 0);
  }
  25%, 50%, 75% {
    box-shadow: 9982px 0 0 0 #F8E300;
  }
  100% {
    box-shadow: 9982px 10px 0 0 rgba(248, 227, 0, 0);
  }
}
@keyframes dot-falling-after {
  0% {
    box-shadow: 10009px -10px 0 0 rgba(248, 227, 0, 0);
  }
  25%, 50%, 75% {
    box-shadow: 10009px 0 0 0 #F8E300;
  }
  100% {
    box-shadow: 10009px 10px 0 0 rgba(248, 227, 0, 0);
  }
}

