@charset "UTF-8";

@font-face { font-family: 'Optima'; font-style: normal; font-weight: normal; src: local('Optima'), url('/corporate/css/fonts/OPTIMA.woff') format('woff'); }
@font-face { font-family: 'Optima Italic'; font-style: normal; font-weight: normal; src: local('Optima Italic'), url('/corporate/css/fonts/Optima_Italic.woff') format('woff'); }
@font-face { font-family: 'Optima Medium'; font-style: normal; font-weight: normal; src: local('Optima Medium'), url('/corporate/css/fonts/Optima_Medium.woff') format('woff'); }
@font-face { font-family: 'Optima Bold'; font-style: normal; font-weight: normal; src: local('Optima Bold'), url('/corporate/css/fonts/OPTIMA_B.woff') format('woff'); }

/* commonのリセット分(共通)
------------------------------------------------------ */
html                  { overflow-y: auto; }
body                  { font-size: 14px; line-height: 1.5; font-family: "YuGothic","Yu Gothic", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif; }
#ModalBg              { position: absolute; }
#Container            { width: 100%; }
#Container .org_wrap  { margin: 0 auto; width: 980px; }
@media only screen and (max-width: 768px){
#Container .org_wrap { width: 100%; }
}

.corp_wrap a:hover   { color: initial; text-decoration: none; opacity: .8; }
.corp_wrap a:link,
.corp_wrap a:visited { color: initial; text-decoration: none; }
span.inline          { display: inline-block; }
span.color           { color: #e60012; }
p.color              { margin-left: 2em; padding: .25em 0 1em 0; font-weight: bold; font-size: 85%; color: #666; text-indent: -2em; }
sub,sup              { font-size: 75%; }
p.read               { font-weight: bold; font-size: 1.15em; }
.pc_only             { }
.sp_only             { display: none; }

.bold                { font-weight: bold; }
.nomal               { font-weight: normal !important; font-size: 14px!important; }
.mt20                { margin-top: 20px; }
.mt40                { margin-top: 40px; }


@media only screen and (max-width: 640px){
.pc_only { display: none; }
.sp_only { display: initial; }
}

/* 企業情報のブロック(共通)
------------------------------------------------------ */
.corp_wrap     { position: relative; margin: 0 auto; padding: 4em 0 8em 0; width: 100%; background: #edebe1; background: #fff; border-top: 4px solid #e60012; border-bottom: 1px solid #ccc; }
.corp_wrap.idx { padding: 4em 0 0 0; }
.corp_wrap * { box-sizing: border-box; }
@media only screen and (max-width: 768px){
.corp_wrap   { padding-top: 0!important; }
}

/* 企業情報メイン(共通)
------------------------------------------------------ */
.corp_main { margin: 0 auto; max-width: 1200px; display: flex; justify-content: space-between; flex-direction: row-reverse; }
@media only screen and (max-width: 1024px){
.corp_main { margin: 0 auto; padding: 0 1em; width: 100%; }
}
@media only screen and (max-width: 768px){
.corp_main { margin: 0 auto; padding: 0 .5em; width: 100%; min-height: calc(962px - 8em); }
}

.pagetop         { margin: 0 auto; max-width: 1200px; position: relative; }
.pagetop div     { width: calc(25% - 1rem); position: absolute; right: 0; top: -4em; text-align: center; }
.pagetop div a   { height: calc(3em - 2px); padding-top: 1em; text-decoration: none; display: block; background: #fff; border: 1px solid #ccc; border-bottom: 0; border-radius: .5em .5em 0 0; }
.pagetop div a i { margin-right: .5em; color: #e60012; }
@media only screen and (max-width: 768px){
.pagetop         { padding: 0; max-width: 100%; }
.pagetop div     { width: 100%; text-align: center; }
.pagetop div a   { margin: 0 1em; padding-top: 1em; text-decoration: none; display: block; border: 1px solid #ccc; border-bottom: 0; border-radius: .5em .5em 0 0; }
.pagetop div a i { margin-right: .5em; color: #e60012; }
}

/* 企業情報ヘッダ(共通)
------------------------------------------------------ */
.corp_header     { margin: 0 auto 2em auto; padding-bottom: 20px; max-width: 1200px; border-bottom: 1px solid #ccc; display: flex; justify-content: space-between; align-items: center; }
.corp_header.idx { border-bottom: none; margin-bottom: 0em; }
.corp_header h1  { margin: 0!important; font: bold 3em/1 "YuGothic","Yu Gothic", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif; text-align: left!important; color: #000; }
.corp_header .language a       { padding: .5em 2em; font-size: 1.2em; text-decoration: none; display: block; color: #fff; background: #B71B21; border-radius: .25em; }
.corp_header .language a:hover { opacity: .8; }
.corp_header .menu-trigger     { display: none; }
@media only screen and (max-width: 1024px){
.corp_header                   { padding: 0 1em 1em 1em; max-width: 100%; display: flex; justify-content: space-between; align-items: center; }
}
@media only screen and (max-width: 768px){
.corp_header                   { padding: 1em; width: 100%; }
.corp_header h1                { font-size: 2em; }
.corp_header .language a       { padding: .25em 1.5em; font-size: 1em; text-decoration: none; display: block; color: #fff; background: #B71B21; border-radius: .25em; }
.corp_header .language a:hover { opacity: .8; }
}

/*ハンバーガーボタン(共通)
------------------------------------------------------ */
.el_humburger         { display: none; }
@media only screen and (max-width: 768px) {
 .el_humburger        { margin-left: 1em; z-index: 20; display: block; right: 0; top: 0; width: 28px; height: 28px; cursor: pointer; pointer-events: auto; }
 .el_humburger_wrap   { width: 2em; }
 .el_humburger_wrap i { font-weight: 900; font-size: 2em; color: #999; }
 }

/* 企業情報ナビ(共通)
------------------------------------------------------ */
.corp_navi                   { padding-left: 1rem; width: 25%; position: relative; }
.corp_main.idx .corp_navi    { display: none; }
.corp_navi .navi_head        { padding: 1em 1.5em; font-weight: bold; font-size: 1.5em; color: #000; background: #f2f2f2; border: 1px solid #ccc; }
.corp_navi ul                { display: flex; flex-direction: column; }
.corp_navi li a              { padding: 1em 1.5em 1em 2em; font-size: 1.125em; color: #333; display: block; border: 1px solid #ccc; border-top: none; position: relative; }
.corp_navi li a:before       { content: "\f054"; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; color: #666; position: absolute; left: 1em; -webkit-font-smoothing: antialiased; } 
.corp_navi li.sub a          { padding: 1em 1.5em 1em 3em; font-size: 1.125em; color: #333; background: #fff; display: block; border: 1px solid #ccc; border-top: none; position: relative; }
.corp_navi li.sub a:before   { content: "\f101"; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; color: #999; position: absolute; left: 1.5em; -webkit-font-smoothing: antialiased; } 

.corp_navi.grp li.grp a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.grp li.grp a:before { color: #e60012; }
.corp_navi.out li.out a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.out li.out a:before { color: #e60012; }
.corp_navi.div li.div a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.div li.div a:before { color: #e60012; }
.corp_navi.r_d li.r_d a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.r_d li.r_d a:before { color: #e60012; }
.corp_navi.bus li.bus a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.bus li.bus a:before { color: #e60012; }
.corp_navi.off li.off a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.off li.off a:before { color: #e60012; }
.corp_navi.wor li.wor a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.wor li.wor a:before { color: #e60012; }
.corp_navi.qua li.qua a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.qua li.qua a:before { color: #e60012; }
.corp_navi.com li.com a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.com li.com a:before { color: #e60012; }
.corp_navi.his li.his a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.his li.his a:before { color: #e60012; }
.corp_navi.sus li.sus a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.sus li.sus a:before { color: #e60012; }
.corp_navi.env li.env a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.env li.env a:before { color: #e60012; }
.corp_navi.pro li.pro a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.pro li.pro a:before { color: #e60012; }
.corp_navi.sdiv li.sdiv a      { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.sdiv li.sdiv a:before { color: #e60012; }
.corp_navi.tcf li.tcf a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.tcf li.tcf a:before { color: #e60012; }

.corp_navi.has li.has a,
.corp_navi.hr li.hr a,
.corp_navi.logi li.logi a,
.corp_navi.supp li.supp a,
.corp_navi.env2 li.env2 a,
.corp_navi.materi li.materi a,
.corp_navi.vcp li.vcp a,
.corp_navi.manage li.manage a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.has li.has a:before,
.corp_navi.hr li.hr a:before,
.corp_navi.logi li.logi a:before,
.corp_navi.supp li.supp a:before,
.corp_navi.env2 li.env2 a:before,
.corp_navi.materi li.materi a:before,
.corp_navi.vcp li.vcp a:before,
.corp_navi.manage li.manage a:before { color: #e60012; }



.corp_navi.fis li.fis a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.fis li.fis a:before { color: #e60012; }
.corp_navi.ner li.ner a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.ner li.ner a:before { color: #e60012; }
.corp_navi.ost li.ost a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.ost li.ost a:before { color: #e60012; }
.corp_navi.sum li.sum a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.sum li.sum a:before { color: #e60012; }
.corp_navi.shk li.shk a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.shk li.shk a:before { color: #e60012; }

.corp_navi li a:hover:before { color: #e60012; }
.corp_navi .banner           { display: block; }
.corp_navi .banner a         { margin-top: 20px; display: block; }
.corp_navi .banner a img     { width: 100%; }

/* navi smartphone */
@media only screen and (max-width: 768px) {
.navi { padding: 4em calc(2em + 5px) 2em 2em; position: fixed; right: -10px; background: rgba(255,255,255,.95); z-index: 3; box-shadow: -5px 5px 5px rgba(0,0,0,.2);
 transform: translateZ(0) translateX(100%); -webkit-transition: all 1000ms ease-in-out; transition: all 1000ms ease-in-out; opacity: 0; }
.js_humburgerOpen .navi  { position: absolute; top: 0; transform: translateZ(0) translateX(0); opacity: 1; }
.corp_navi               { padding-left: 0; width: 100%;  position: absolute; top: 0; right: 0; display: block!important; }
.corp_navi .navi_head    { padding: .75em 1em; font-weight: bold; font-size: 1.2em; color: #000; background: #f2f2f2; border: 1px solid #ccc; }
.corp_navi ul            { display: flex; flex-direction: column; }
.corp_navi li a          { padding: .75em 1em .75em 2em; font-size: .9em; color: #333; background: #fff; display: block; border: 1px solid #ccc; border-top: none; position: relative; }
.corp_navi li.sub a      { padding: .75em 1em .75em 3em; font-size: .9em; color: #333; background: #fff; display: block; border: 1px solid #ccc; border-top: none; position: relative; }
.corp_navi .banner       { width: 100%; }
.corp_navi .banner a img { max-width: 100%; width: 14em; }
}

/* ページ内リンク */
.section_pass                     { width: 100%; }
.section_pass .division_link      { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0; margin-right: -.5em; }
.section_pass .division_link li   { width: 20%; text-align: center; white-space: pre; padding: 0 .5em .5em 0; }
.section_pass .division_link li a { display: block; font-size: 1em; line-height: 1; padding: .5em .25em .25em .25em; color: #e60012!important; background: #fff; border: 1px solid #e60012; border-radius: .25em; }
.section_pass .history_link       { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0; margin-right: -.5em; }
.section_pass .history_link li    { width: 20%; text-align: center; white-space: pre; padding: 0 .5em .5em 0; }
.section_pass .history_link li a  { display: block; font-size: 1em; line-height: 1; padding: .5em .25em .25em .25em; color: #e60012!important; background: #fff; border: 1px solid #e60012; border-radius: .25em; }
.section_pass .paper_link         { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0; margin-right: -.5em; }
.section_pass .paper_link li      { width: 33.33%; text-align: center; white-space: pre; padding: 0 .5em .5em 0; }
.section_pass .paper_link li a    { display: block; font-size: 1em; line-height: 1; padding: .5em .25em .25em .25em; color: #e60012!important; background: #fff; border: 1px solid #e60012; border-radius: .25em; }
.section_pass li a:after          { content: '\f107'; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; display: block; }
@media only screen and (max-width: 768px){
.section_pass .division_link li a { font-size: 2vw; padding: .5em 0 .25em 0; }
.section_pass .history_link li a  { font-size: 2vw; padding: .5em 0 .25em 0; }
.section_pass .paper_link li a    { font-size: 2vw; padding: .5em 0 .25em 0; }
}
@media only screen and (max-width: 640px){
.section_pass .history_link li a span:before { content: '\A'; white-space: pre; }
}

/* カラム共通 */
.column                      { margin-bottom: 2em; display: flex; flex-wrap: wrap; justify-content: space-between; }
.column_center               { margin-bottom: 2em; display: flex; flex-wrap: wrap; justify-content: center; }
.column .col_full            { margin-bottom: 1em; width: 100%; }
.column .col_half            { width: calc(50% - 1em); }
.column_center .col_half     { width: 50%; }
.column_center .col_half img { width: 100%; }
.column .col_third           { width: calc(33.33% - 1em); }
.column .col_third2          { width: calc(66.66% - 1em); }
.column div img              { width: 100%; border: 1px solid #ccc; border-radius: 1em; }
.column_center div img       { width: 100%; border: 1px solid #ccc; border-radius: 1em; }
.column div p.caption        { margin: .5em 0; font-size: 80%; }
@media only screen and (max-width: 640px){
.column_center               { display: flex; flex-wrap: wrap; justify-content: space-between; }
.column .col_half            { width: calc(50% - .5em); }
.column .sp_full,
.column_center .sp_full      { width: 100%; }
.column div img              { width: 100%; border: 1px solid #ccc; border-radius: .5em; }
.column_center div img       { width: 100%; border: 1px solid #ccc; border-radius: .5em; }
.column .col_full.flow_pic   { padding: 0 10%; }
}

span.sp_br:before  { content: '　'; }
span.pc_br:before  { content: '\A'; white-space: pre; }
@media only screen and (max-width: 640px){
span.pc_br:before  { content: ''; white-space: normal; }
span.sp_br:before  { content: '\A'; white-space: pre; }
}

#officer .column ul        { display: flex; flex-wrap: wrap; justify-content: space-between; }
#officer .column ul li     { margin-bottom: 1em; width: calc(20%); text-align: center; }
#officer .column ul li img { width: 90%; }
@media only screen and (max-width: 640px){
#officer .column ul li     { margin-bottom: 1em; width: calc(50%); text-align: center; }
}

/* google map */
.g_map        { margin-top: .5em; height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative; border: 1px solid #ccc; border-radius: 1em; }
.g_map iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%; }

/* 企業情報ビジュアル(TOP)
------------------------------------------------------ */
.corp_visual.pc_only        { padding-top: 36.458%; width: 100%; height: 0; position: relative; background: #edebe1; }
.corp_visual.sp_only        { display: none; }
.sliderArea                 { width:100%; position: absolute; top:0; }
.sliderArea .slider div img { width: 100%; }
@media only screen and (max-width: 768px){
.corp_visual.pc_only        { display: none; }
.corp_visual.sp_only        { display: block; padding-top: 80.39%; width: 100%; height: 0; position: relative; background: #edebe1; }
}

/* メイン(TOP)
------------------------------------------------------ */
.corp_article  { margin: 0 auto; max-width: 1200px; }
.corp_main.idx { margin: 0; padding: 0; width: 100%; max-width: 100%; display: block; }
.corp_main .corp_article                 { margin-right: 1em; width: 75%; }
.corp_main.idx .corp_article             { margin: 0 auto; max-width: 100%; width: 100%; background: #edebe1; }
.corp_main.idx .corp_article .inner_wrap { margin: 0 auto; padding: 4em 0 2em 0; max-width: 1200px; }

.corp_main.idx .corp_article.wht                { padding-top: 4.17%; padding-bottom: 4.218%; background-color: #fff;  background-image: url(/corporate/img/top/pc_top_btm_wave.png), url(/corporate/img/top/pc_top_top_wave.png); background-position: top,bottom; background-repeat: no-repeat; background-size: contain; }
.corp_main.idx .corp_article.wht ul.top_list li { border: solid 1px #ccc; }
.corp_main.idx .corp_article.beige              { padding-bottom: 4.17%; background-color: #edebe1; background-image: url(/corporate/img/top/pc_top_btm_wave.png); background-position: bottom; background-repeat: no-repeat; background-size: contain; }
.corp_main.idx .corp_article.wht ul.top_list li { border: solid 1px #ccc; }

@media only screen and (max-width: 768px){
.corp_main .corp_article                 { margin-right: 0; width: 100%; }
.corp_main.idx .corp_article             { padding: 1rem; }
.corp_main.idx .corp_article .inner_wrap { margin: 0; padding: 2em 0 0 0; width: 100%; }

.corp_main.idx .corp_article.wht         { padding-top: 9.375%; padding-bottom: 9.375%; background-color: #fff;  background-image: url(/corporate/img/top/sp_top_btm_wave.png), url(/corporate/img/top/sp_top_top_wave.png); background-position: top,bottom; background-repeat: no-repeat; background-size: contain; }
.corp_main.idx .corp_article.beige       { padding-top: 0; padding-bottom: 9.375%; background-color: #edebe1; background-image: url(/corporate/img/top/sp_top_btm_wave.png); background-position: bottom; background-repeat: no-repeat; background-size: contain; }
}

/*TOPボタンリンク*/
.corp_article ul.top_list                { margin: 0 0 0 0; display: flex; flex-wrap: wrap; justify-content: space-between; }
.corp_article ul.top_list li             { margin-bottom: 40px; padding: 0; width: calc(50% - 20px); background: #fff; border-radius: 1em; overflow: hidden; }
.corp_article ul.top_list li div         { padding-left: 4em; background: url(/corporate/img/top/left_arrow_logored.png) 1em 50% no-repeat; background-size: 2em; }
.corp_article ul.top_list li:hover       { opacity: .7; }
.corp_article ul.top_list li a           { display: block; }
.corp_article ul.top_list li img         { width: 100%; }
.corp_article ul.top_list li .top_title  { padding: 1rem 1rem .5rem 0; font-weight: bold; font-size: 2em; font-family: "YuGothic","Yu Gothic", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif; color: #000; }
.corp_article ul.top_list li p           { padding: 0 1rem 1rem 0; font-size: 16px; font-family: serif; }

.corp_main.idx .corp_article ul.top_list.fx_center { justify-content: center; }

@media only screen and (max-width: 768px){
.corp_article ul.top_list                { display: flex; flex-direction: column; margin-right: 0; }
.corp_article ul.top_list li             { margin-bottom: 1rem; margin-right: 0; padding: 0; width: 100%; border-radius: .5rem; }
.corp_article ul.top_list li div         { padding-left: 10vw; background: url(/corporate/img/top/left_arrow_logored.png) 2vw 50% no-repeat; background-size: 5vw; }
.corp_article ul.top_list li .top_title  { padding: .5rem .5rem .25rem 0; font-size: 6vw; }
.corp_article ul.top_list li p           { padding: 0 .5rem .5rem 0; font-size: 3.5vw; font-family: serif; }
}

/*フッタ前バナー*/
.corp_main.idx .corp_banner               { padding-top: 4em; padding-bottom: 8em; }
.corp_main.idx .corp_banner .banner       { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 auto; max-width: 1200px; }
.corp_main.idx .corp_banner .banner a     { width: calc(33.33% - 2em); }
.corp_main.idx .corp_banner .banner a img { width: 100%; }
@media only screen and (max-width: 768px){
.corp_main.idx .corp_banner               { padding-top: 2em; }
.corp_main.idx .corp_banner .banner       { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 auto; padding: 0 1rem; }
.corp_main.idx .corp_banner .banner a     { width: 100%; margin-bottom: 1rem; }
.corp_main.idx .corp_banner .banner a img { width: 100%; }
}

/* サブ画面 */
.corp_article article { margin-bottom: 4em; }
.corp_article h2,
.corp_article h3,
.corp_article h4,
.corp_article h5 { line-height: 1.5; font-family: "YuGothic","Yu Gothic", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif; }
.corp_article h2#grou { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/grou_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#outl { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/outl_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#divi { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/divi_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#rand { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/rand_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#bizg { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/bizg_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#offi { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/offi_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#worl { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/worl_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#qual { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/qual_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#comm { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/comm_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#hist { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/hist_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#sust { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/sust_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#fish { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/fish_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#osec { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/osec_img_h2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#sumo { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/heisei_kimono2.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
.corp_article h2#shik { margin-bottom: 1em; padding: 2.5rem 1rem; font-size: 3em; line-height: 1.2; color: #000; border: 1px solid #ccc; border-radius: 1rem;
 background-image: url(/corporate/img/header/kusabana-makie.png);
 background-repeat: no-repeat; background-position: right; background-size: auto 100%; }
 
.corp_article h2 {text-shadow: 1px 1px 1px #fff,-1px 1px 1px #fff, 1px -1px 1px #fff,-1px -1px 1px #fff, 1px 0px 1px #fff, 0px 1px 1px #fff,-1px 0px 1px #fff, 0px -1px 1px #fff; }

.corp_article h2 span        { color: #e60012; font-size: 50%; font-family: 'Optima'; }
.corp_article h2 span:before { content: '\A'; white-space: pre; }
.corp_article h3             { margin: 1.5em 0; color: #000; font-weight: bold; font-size: 2.5em; border-bottom: 1px solid #666; }
.corp_article h4             { margin: 1.5em 0; font-size: 1.75em; text-align: center; color: #e60012; }
.corp_article h5             { padding: .25em .75em; margin: 2em 0 1em 0; font-size: 1.25em; color: #e60012; border: 1px solid #e60012; border-radius: .25em; }
.corp_article .btn_link a                { display: inline-block; padding: .25em .75em .25em 1em; text-decoration: none; color: #fff; background: #e60012; border-radius: .25em; }
.corp_article .btn_link a:after          { content: ' ＞'; }
.corp_article .btn_link a:after          { content: '\f054'; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; color: #fff; padding-left:.5em; }
.corp_article .btn_link.external a:after { content: '\f35d'; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; color: #fff; padding-left:.5em; }
.corp_article .btn_link.pdf              { margin: 1em auto!important; display: block!important; text-align: center; }
.corp_article .btn_link.pdf a:after      { content: '\f1c1'; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; color: #fff; padding-left:.5em; }
.corp_article .btn_link.onlyone a        { display: inline-block; padding: .5em .75em .25em .75em; line-height: 1; text-decoration: none; color: #e60012; background: #fff; border: 1px solid #e60012; border-radius: .25em; }
.corp_article .btn_link.onlyone a:after  { content: '\f107'; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; color: #e60012; padding: 0; display: block; }

@media only screen and (max-width: 768px){
 .corp_article h2 { font-size: 2em!important; }
 .corp_article h3 { font-size: 1.5em!important; }
 .corp_article h4 { font-size: 1.25em!important; }
 .corp_article h5 { font-size: 1.05em; }
}

/* MAP */
.accordion-container                    { position: relative width: 100%; }
.accordion-container .accordion-title   { position: relative; margin: 0; padding-left: 1em; color: #e60012; cursor: pointer; }
.accordion-container .accordion-title i { padding-left:.5em; color: #e60012; }
.accordion-content img                  { width: 100%; border: 1px solid #ccc; border-radius: 1em; }

/* 紀文グループ(/corporate/group/index.html)
------------------------------------------------------ */
/* ceo coo */
.corp_article #ceo h5,
.corp_article #coo h5         { padding: 0; margin: 0 0 .5em 0; font-size: 1.1em; color: #000; border: none; border-radius: 0; }
.corp_article #ceo p,
.corp_article #coo p          { margin: 0 0 2em 0; }
.corp_article #ceo .col_photo { float: right; }
.corp_article #coo .col_photo { float: left; }
#ceo .column,
#coo .column            { position: relative; display: block; }
#ceo .column .col_photo { width: 33.333%; margin-left: 1em; margin-bottom: .5em; }
#coo .column .col_photo { width: 33.333%; margin-right: 1em; margin-bottom: .5em; margin-bottom: 2em; }
@media only screen and (max-width: 640px){
 .corp_article #ceo .col_photo,
 .corp_article #coo .col_photo { float: none; width: 50%; margin: 0 auto 1em auto; }
}

/* ci */
#kibun_ci { background: #46202b; }
#kibun_ci .inner_wrap       { display: flex; }
#kibun_ci .inner_wrap > div { width: 50%; }
#kibun_ci .heart_flower     { margin: 1.25em 0 1.25em 1.25em; padding: 1.5em 0 1.5em 0; text-align: center; background: #fff; border-radius: 1em; }
#kibun_ci .heart_flower h4  { margin-top: 0; }
#kibun_ci .heart_flower img { margin-bottom: 2.5em; }
#kibun_ci .heart_flower p   { font-weight: bold; }
#kibun_ci .brand_iron       { padding: 1.5em; color: #fff; background: url(/corporate/group/img/brand_iron.png) no-repeat; background-size: 93%; background-position: top .05em right 0px; position: relative; }
#kibun_ci .brand_iron h4    { margin-top: 0; color: #fff; }
#kibun_ci .brand_iron p     { margin: 0 1.25em 1.25em 0; font-size: 85%; text-align: justify; position: absolute; bottom: 0; }
@media only screen and (max-width: 768px){
 #kibun_ci { margin: 4em -.5em; }
}
@media only screen and (max-width: 640px){
 #kibun_ci .inner_wrap       { flex-direction: column; }
 #kibun_ci .inner_wrap > div { width: auto; }
 #kibun_ci .heart_flower     { margin: 1em; padding: 1.5em; text-align: center; background: #fff; border-radius: 1em; box-sizing: initial; }
 #kibun_ci .brand_iron       { padding: 1.5em; color: #fff; background: url(/corporate/group/img/brand_iron.png) no-repeat; background-size: 95%; background-position: top right; position: initial; }
 #kibun_ci .brand_iron p     { margin: 14em 0 0 0; position: initial; }
}

/* 紀文グループ一覧 */
#group_lists ul    { margin-bottom: 2em; display: flex; flex-wrap: wrap; justify-content: space-between; }
#group_lists ul li { margin-bottom: 1em; width: calc(50% - 1em); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#group_lists ul li div:first-child             { padding-left: 1em; font-weight: bold; color: #000; text-indent: -1em; }
#group_lists ul li div:first-child:before      { content: '▶'; white-space: pre; }
#group_lists ul li div:first-child span:before { content: '\A'; white-space: pre; }
@media only screen and (max-width: 640px){
 #group_lists ul    { margin-bottom: 2em; padding: 0 1em; display: flex; flex-wrap: wrap; justify-content: space-between; }
 #group_lists ul li { margin-bottom: 1em; width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
}

/* 子会社 */
.column .solid img { border: none; border-radius: 0; }
#group_anzen .certification     { position: relative; height: 0; padding-top: 66.666%; overflow: hidden; }
#group_anzen .certification img { position: absolute; top: 0; padding: 0 24.345317%; }
#group_anzen .certification + p.caption { padding-left: 24.345317%; }


/* 理念・ブランド */
.philosophy { margin-bottom: 2em; }
.philosophy h4.vision { background: #b6d2c3; color: #FFF; border-radius: 7px; padding: 0 0.5em; text-align: left; margin-bottom: 0.5em;  }
.philosophy h4.mission { background: #f1d7a6; color: #FFF; border-radius: 7px; padding: 0 0.5em; text-align: left; margin-bottom: 0.5em;  }
.philosophy h4.value { background: #efcbcb; color: #FFF; border-radius: 7px; padding: 0 0.5em; text-align: left; margin-bottom: 0.5em;  }
.philosophy h4.philosophy { background:#E74043; color: #FFF; border-radius: 7px; padding: 0 0.5em; text-align: left; margin-bottom: 1.5em;  }
.philosophy p { margin-left: 2em; }
.philosophy p.fs22 { font-size: 22.5px; font-weight: bold; }
.philosophy dl { margin-left: 3em; display: flex; margin-bottom: 0.5em; }
.philosophy dl dt { color: #FF0004; margin-bottom: 0.5em; white-space: nowrap; font-size: 22.5px; font-weight: bold; }
.philosophy dl dt span { color: #4c4c4c; }
.philosophy dl dd { font-weight: bold; font-size: 18px; line-height: 1.9; }
.philosophy .col_half p { margin-bottom: 1.2em; margin-left: 0; }
.philosophy dl.philo { font-size: 140%; }
.philosophy dl.philo dt { color: #000; width: 6em;}
.brand_message { font-size: 200%; text-align: center; margin: 2em 0; font-weight: 600; }
.brand_message span { font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
.philosophy_column { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; }
.philosophy_column div img { width: 100%; border: none; }
.center.philosophy { margin: auto; width: 85%; }
.center.philosophy h4 { text-align: left; }
.center.philosophy p { margin-bottom: 1.2em; font-size: 110%; text-align: left; margin-left: 0; }

/* 注釈 */
.smallest   { border-top:1px solid #ccc; }
.smallest p { padding-top: 1em; font-size: 9px; padding-left: 22px; text-indent: -22px; }


/* 紀文食品会社概要(/corporate/outline.html) 
------------------------------------------------------ */
.office_chart dl           { display: flex; flex-wrap: wrap; border-top: 1px solid #e60012; border-bottom: 1px solid #e60012; line-height: 1.8rem; }
.office_chart dl dt        { background: #f2f2f2; width: 30%; padding: 1em; border-bottom: 1px solid #ccc; font-weight: bold; font-size: 1.15em; }
.office_chart dl dd        { padding: 1em; margin: 0; border-bottom: 1px solid #ccc; width: 70%; background: #fff; }
.office_chart dl .btn_link { margin-left: 1em; display: inline; }
.office_chart dl dd .accordion-container h4    { margin: 1em 0 .5em 0; font-size: 1.1em; text-align: left; color: initial; border-bottom: 1px solid #333; }
.office_chart dl dd .accordion-container dl    { display: flex; flex-wrap: wrap; border: none; line-height: 1.5em; }
.office_chart dl dd .accordion-container dl dt { background: none; width: 14em; padding: 0; border: none; font-weight: bold; font-size: 1em; }
.office_chart dl dd .accordion-container dl dd { padding: 0; margin: 0; border: none; width: calc(100% - 14em); background: #fff; }
.office_chart dl dd .accordion-container dl dt.nontitle { font-weight: normal; }
@media screen and (max-width: 640px) {
 .office_chart dl        { flex-flow: column nowrap; }
 .office_chart dl dt,
 .office_chart dl dd     { width: 100%; padding: .5em 1em; line-height: 1.5rem; }
 .office_chart dl dd > p { margin-bottom: 1em; }
 .office_chart dl dd .accordion-container dl dt { width: 100%; }
 .office_chart dl dd .accordion-container dl dd { width: 100%; }
}

/* 部門の紹介(/corporate/division.html) 
------------------------------------------------------ */
#product_development .paded img { padding: 1em 3em; }
#product_development .btn_link,
#purchasing .btn_link,
#manufacturing .btn_link        { margin-top: 1em; text-align: center; }
#product_development h5 p       { color: #000; font-size: 90%; display: inline; padding-left: 1em; }
.covid-19                       { position: relative; }
.covid-19 .over_photo           { position: absolute; right: 1em; bottom: 1em; color: #fff; }
@media only screen and (max-width: 640px){
 #product_development h5 p  { display: block; padding-left: 0; }
 .covid-19 .over_photo { position: absolute; width: 100%; left: 0; bottom: .5em; padding: 0 1em; }
}
#product_development .sp_full p,
#purchasing .sp_full p,
#manufacturing .sp_full p,
#logistics .sp_full p,
#sales .sp_full p { margin-bottom: 1em; }
.column .uogashi_pic                { position: relative; }
.column .uogashi_pic img            { border: none; border-radius: 0; }
.column .uogashi_pic p.caption      { position: absolute; left: 0; bottom: 0; background: #ffc71a; padding: .5em; width: 60%; border-radius: .5em; }
.column .cheeciku_pic               { margin-bottom: 1em; padding: .5em .75em; border: 2px solid #ffc71a; border-radius: 1em; width: 100%; display: flex; align-items: stretch; position: relative; }
.column .cheeciku_pic .title        { width: 65%; position: relative; }
.column .cheeciku_pic .title h6     { font-size: 1.15em; color: #987d01; margin-right: -3em; }
.column .cheeciku_pic .title p.copy { margin-bottom: 0!important; margin-right: -2em; }

.column .cheeciku_pic .point                    { text-align: right; position: absolute; bottom: 0; right: 0; }
.column .cheeciku_pic .point div p.caption      { background: #ffc71a; padding: .5em 1em; border-radius: .5em; display: inline-block; }
.column .cheeciku_pic .point div p.caption span { font-weight: bold; font-size: 110%; }
.column .cheeciku_pic .point p:last-child       { margin-bottom: 0!important; }
.column .cheeciku_pic .images                   { width: 35%; }
.column .cheeciku_pic .images img               { border: none; border-radius: 0; width: 100%; }
@media only screen and (max-width: 640px){
 .column .cheeciku_pic .title h6            { font-size: 3vw; }
 .column .cheeciku_pic .title p.copy        { font-size: 2.6vw; }
 .column .cheeciku_pic .point div p.caption { font-size: 2.228vw; }
}
.column .ja_network  { width: 60%; margin: 0 auto; }

@media only screen and (max-width: 640px){
 .column .ja_network { width: 100%; }
}

/* 研究開発(/corporate/rd/index.html) 
------------------------------------------------------ */
#reserch_intro .sp_full p,
#reserch_protein .sp_full p,
#reserch_health .sp_full p,
#reserch_joint .sp_full p,
#reserch_sustain .sp_full p { margin-bottom: 1em; }
#reserch_health .btn_link a { display: block; padding: 1em .75em 1em 1em; text-align: center; font-size: 1.5em; background: #e60012; border-radius: .5em; }
.joint_title                { width: 100%; font-weight: bold; font-size: 1.25em; }
.column .fit_h              { max-height: 288px; text-align: center; }
.column .fit_h img          { border: none; border-radius: 0; object-fit: contain; width: auto; max-height: 288px;  }
@media only screen and (max-width: 768px){
.column .fit_h              { max-height: initial; }
.column .fit_h img          { max-width: 80%; max-height: initial; }
}

/* 研究開発 論文 一覧(/corporate/rd/article/)  */
.corp_article h2 i          { font-style: normal; font-size: 65%; opacity: .75; }
#rd_article ul              { list-style: none inside; margin: 0; padding: 0; }
#rd_article ul li           { padding: 1em 2em 1em 3.5em; word-wrap: break-word; overflow-wrap: break-word; position: relative; }
#rd_article ul li:before    { content: '●'; font-size: 1.5em; color: #000; position: absolute; top: .5em; left: 1em; }
#rd_article p               { margin-bottom: 1em; position: relative; font-size: 1.15em; }
#rd_article p a             { text-decoration: underline!important; color: #80000b; }
#rd_article p.caption       { font-size: 90%; }

#rd_article ul li .btn_link { text-align: right; }
@media only screen and (max-width: 640px){
 #rd_article ul li          { padding: 1em 1em 1em 2.5em; word-wrap: break-word; overflow-wrap: break-word; position: relative; }
 #rd_article ul li:before    { content: '●'; font-size: 1.5em; color: #000; position: absolute; top: .5em; left: 0.5em; }
}
/* 論文個別設定 */
.rd_img_center              { margin: 1em auto; text-align: center; }
.rd_back                    { margin: 2em auto; width: 100%; text-align: center; }
.rd_back .btn_link a        { display: inline-block; padding: .25em 1em .25em .75em; text-decoration: none; color: #fff; background: #e60012; border-radius: .25em; font-size: 1.25em; }
.rd_back .btn_link a:after  { content: ''; padding-right: initial; }
.rd_back .btn_link a:before { content: '\f053'; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; color: #fff; padding-right: .5em; }

/* 事業案内(/corporate/business_guide.html)
------------------------------------------------------ */
.corp_article article h3     { margin-bottom: 1rem; }
.corp_article article h3 + p { font-weight: bold; font-size: 1.15em; }
.corp_article article h3 + p.red { color: #e60012; }
.corp_article article h3 + p span { font-weight: normal; }

@media only screen and (max-width: 640px){
 #neriseihin .sp_full img,
 #souzai .sp_full img,
 #osechi .sp_full img { margin-bottom: 1em; }
}
ul.package           { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
ul.package li        { text-align: center; }
ul.package li img    { padding: 0 .5em 1em .5em; width: auto; max-height: 150px; }
ul.package li.double { max-width: 45%; }
@media only screen and (max-width: 640px){
 ul.package li       { max-width: 25%; }
 ul.package li.max36 { max-width: 36%; }
}

/* 国内工場・事業所(/corporate/office.html) 
------------------------------------------------------ */
#office_map .ja_map img  { padding: 0 4em; width: 100%; }
@media screen and (max-width: 640px) {
 #office_map .ja_map img { padding: 0; width: 100%; }
}
#office_add ul li                { margin: 2em; }
#office_add ul li .branch        { padding-left: 1em; font-weight: bold; color: #000; text-indent: -1em; }
#office_add ul li .branch:before { content: '▶'; white-space: pre; }
#office_add ul li .add           { padding-left: 1em; }
#office_add ul li .add span      { display: inline-block; margin-left:.5em; text-indent: 0; }
@media screen and (max-width: 640px) {
 #office_add ul li { margin: 2em 0 2em 1em; }
}

/* 海外の事業展開(/corporate/worldwide.html)
------------------------------------------------------ */
#world .world_map img           { margin-top: 1em; padding: 0; border: none; border-radius: 0; }
#crab_seafood h3,
#healthy_noodle h3              { margin: 1.5em 0 0 0; font-size: 2.25em; border: none; }
#crab_seafood .synth_img,
#healthy_noodle .synth_img      { width: 100%; border: none; border-radius: 0; }
#healthy_noodle img.noodle_pack { border: none; border-radius: 0; }
@media only screen and (max-width: 640px){
 #world .world_map img           { margin-top: 1em; padding: 0; border: none; border-radius: 0; }
 #healthy_noodle img.noodle_pack { margin-bottom: 1em; }
 #cheechiku .sp_full p           { margin-bottom: 1em; }
}
#crab_seafood .kanikama_three         { display: flex; align-items: center; margin: 2em 0; }
#crab_seafood .kanikama_three div     { width: 33.333%; padding: 0 2em 0 8em; }
#crab_seafood .kanikama_three div img { width: 100%; }
#crab_seafood .kanikama_three p       { width: 66.666%; padding: 0 8em 0 1em; text-indent: -1em;  }
@media only screen and (max-width: 640px){
 #crab_seafood .kanikama_three div     { width: 33.333%; padding: 0 2em 0 0; }
 #crab_seafood .kanikama_three div img { width: 100%; }
 #crab_seafood .kanikama_three p       { width: 66.666%; padding: 0 0 0 1em; text-indent: -1em;  }
}

/* 安心食品の提供(/corporate/quality.html)
------------------------------------------------------ */
#quality_content .quality_fig .title { margin-bottom: .5em; font-weight: bold; font-size: 1em; color: #000; }
#quality_content .quality_fig img    { margin-bottom: 2em; border: none; border-radius: 0; }
#hygiene_manage .certification img   { padding: 0 2em; border: none; border-radius: 0; }
.edu_title                           { width: 100%; font-weight: bold; font-size: 1.25em; }
@media only screen and (max-width: 640px){
 #hygiene_manage .certification img { padding: 0 1em; border: none; border-radius: 0; }
 #quality_content .quality_fig      { margin-top: 2em; }
 #factory_qualitycontrol .sp_full   { margin-bottom: 1em; }
 #factory_hygienemanage .sp_full    { margin-bottom: 1em; }
 #employee_education .sp_full       { margin-bottom: 1em; }
}

/* コミュニケーション(/corporate/communication.html)
------------------------------------------------------ */
#kokoro p,
#dento .sp_full,
#kurashi .sp_full { margin-bottom: 1em; }
.center {text-align: center;}

/* 紀文ヒストリー(/corporate/history.html) 
------------------------------------------------------ */
#history    { margin-top: 2em; border-bottom: 1px solid #ccc; }
#history h5 { margin: 0; text-align: center; }
#history h6 { margin-bottom: .25em; color: #112f61; font-size: 1.25em; }

#history dl { padding: 0; display: flex; justify-content: space-between; }
#history dt { padding: 2em 0; width: 347px; border-right: 14px solid #ccc; position: relative; line-height: 1; white-space: pre; }
#history dd { padding: 2em 0; width: calc(100% - 375px); }

#history dl dt .history_year                    { font-weight: 400; font-size: 2em; color: #000; font-family: 'Optima Medium'; }
#history dl dt .history_year span.showa:before  { content: '昭和'; font-weight: normal; font-size: 50%; }
#history dl dt .history_year span.heisei:before { content: '平成'; font-weight: normal; font-size: 50%; }
#history dl dt .history_year span.reiwa:before  { content: '令和'; font-weight: normal; font-size: 50%; }
#history dl dt .history_year span.showa:after   { content: '年'; font-weight: normal; font-size: 50%; }
#history dl dt .history_year span.heisei:after  { content: '年'; font-weight: normal; font-size: 50%; }
#history dl dt .history_year span.reiwa:after   { content: '年'; font-weight: normal; font-size: 50%; }
#history dl dt .history_year span.century:after { content: '年'; font-weight: normal; font-size: 50%; }
#history dl dt .history_year span:before,
#history dl dt .history_year span:after         { font-family: "YuGothic","Yu Gothic", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif; }
#history dl dt .history_year span:after         { margin-right: 1em; }

#history dt:after { position: absolute; right: -24px; transform:translateY(-31px); content: ''; width: 28px; height: 28px; background: #e60012; border: 3px solid #fff; border-radius: 31px; z-index: 1; }
#history .prod_history dd       { padding: 0 28px 2em 0; width: 347px; border-right: 14px solid #ccc; position: relative; }
#history .prod_history dd .crop { background: #f5f9f1; border: solid 2px #9ec67e; border-radius: .5em; padding: .75em; margin-top: -.25em; }
#history .comp_history dd .crop { background: #f7fcff; border: solid 2px #8abcd9; border-radius: .5em; padding: .75em; margin-top: -.25em; }

#history dd.photo .copy               { width: 50%; float: left; }
#history dd .copy img                 { float: right; }
#history dd.photo .images             { float: right; width: 50%; padding-left: 1em; }
#history dd.photo .images img         { width: 100%; border: solid 1px #ccc; border-radius: .5em; }
#history dd.photo .images .caption    { padding: .25em 0; font-size: 85%; }
#history dd.photo .images.package img { padding: .5em 0; background:#fff; }
#history dd.photo .images.meimon img  { padding: 0 2em; border: none; }

#history dl.prod_history              { padding: 0; display: flex; flex-direction: column; justify-content: space-between; }
#history dl.prod_history dt           { padding: 2em 0 1em 0; }
#history dl.prod_history dd .crop     { background: #f5f9f1; border: solid 2px #9ec67e; border-radius: .5em; padding: .75em; margin-top: -.25em; text-align: center; }
#history dl.prod_history dd .crop img { max-width: 80%; max-height: 120px; margin: .5em auto; }
#history dl.prod_history dd .crop p   { text-align: left; }
#history dl.prod_history dd .crop img.yubanyu { max-width: 60%; max-height: 120px; margin: .5em auto; }
#history dl.prod_history dd .crop p.copyright { font-size: 65%; text-align: center; }
#history .ten_years .odentane img     { border: solid 1px #ccc; border-radius: .5em; }
#history dt.pad_fwd { padding-top: 4em!important; }
#history dt.pad_bak { padding-bottom: 4em!important; }
#history dd.pad_fwd { padding-top: 4em!important; }
#history dd.pad_bak { padding-bottom: 4em!important; }

.same_year                 { position: relative; }
.same_year dl.prod_history { position: relative; }
.same_year dl.comp_history { position: absolute; top: 0; display:block; width: 100%; }
.same_year.revers          { position: relative; }
.same_year.revers dl.comp_history { position: relative; }
.same_year.revers dl.prod_history { position: absolute; top: 0; display:block; width: 100%; }

#heian                     { margin: 2em 0; display: flex; }
#heian p                   { margin-bottom: 1em; }
#heian .heian_copy         { width: 66%; }
#heian .heian_copy sup     { color: #e60012; padding: 0 .1em; }
#heian .heian_copy ruby rt { font-size: 60%; }
#heian .heian_img          { width: 33%; padding: 0 1em; text-align: center; }
#heian .heian_img img          { width: 100%; cursor: pointer; }
#heian .heian_img .caption     { font-weight: bold; font-size: 1.1em; }
#heian .heian_img .button-open { cursor: pointer; margin: 1em 0; padding: .25em .5em; display: inline-block; color: #fff; background: #e60012; border-radius: .25em; }
@media screen and (max-width: 640px) {
#heian .heian_copy         { width: 55%; }
#heian .heian_img          { width: 45%; padding: 0 1em; text-align: center; }
}
.overlay              { display: none; position: fixed; top: 0; left: 0; background: rgba(0, 0, 0, 0.5); width: 100%; height: 100%; z-index: 9998; }
.modal-window         { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; }
.modal-window .images { background: #fff; padding: 2em; border-radius: 1em; box-shadow: 0 0 10px rgba(0,0,0,0.4); }
.button-close         { position: absolute; top: 0%; right: 0%; padding: 4px; font-weight: 900; font-family: "Font Awesome 5 Free"; font-size: 24px; color: #e60012; background: #fff; border-radius: 20px; transform: translate(50%, -50%); box-shadow: 0 0 10px rgba(0,0,0,0.4); cursor: pointer; }

#heian_annotation p                 { font-size: .85em; }
#heian_annotation p span            { font-weight: bold; }
#heian_annotation .ext              { padding-left: 1em; text-indent: -1em; margin-bottom: 0; }
#heian_annotation .caption          { margin: 1em 0; padding-left: 4.5em; text-indent: -4.5em; }
#heian_annotation .caption.sec      { margin-top: 0; }
#heian_annotation .caption span.red { font-weight: normal; color: #e60012; }

@media screen and (max-width: 768px) {
.modal-window     { width: 80%; }
.modal-window img { width: 100%; }
}
@media screen and (max-width: 700px)  {
#heian p        { font-size: 2.5vw; }
#heian .ext     { font-size: 2.25vw; }
#heian .caption { font-size: 2.25vw; }
}
@media screen and (max-width: 640px) {
#heian .heian_img .caption { font-weight: bold; font-size: 3.4vw; }
#heian .heian_img .button-open { font-size: 2.5vw; }
}

@media screen and (max-width: 700px) {
 #history h5 { margin: 0; text-align: center; }
 #history h6 { margin-bottom: .25em; color: #112f61; font-size: 3.0vw; }
 #history dl { padding: 0; display: flex; justify-content: space-between; }
 #history dt { padding: 1em 0; width: 25%; border-right: 2vw solid #ccc; position: relative; line-height: 1; white-space: pre; }
 #history dd { padding: 1em 0; width: calc(75% - 2vw); }
#history dl dt .history_year { font-weight: bold; font-size: 3vw; color: #000; font-family: 'Optima Medium'; }
 #history dt:after { position: absolute; right: calc(-3vw + 1px); transform: translateY( calc(-3vw - 2px) ); content: ''; width: 3vw; height: 3vw; background: #e60012; border: 2px solid #fff; border-radius: calc(3vw + 2px); z-index: 1; }
 #history .prod_history dd       { padding: 1em 0; width:  calc(75% - 2vw); border-right: none; position: static; }
 #history .prod_history dd .crop { background: #f5f9f1; border: solid 2px #9ec67e; border-radius: .5em; padding: .5em; margin-top: -2vw; }
 #history .comp_history dd .crop { background: #f7fcff; border: solid 2px #8abcd9; border-radius: .5em; padding: .5em; margin-top: -2vw; }

#history dd.photo .copy               { width: 100%; float: none; }
#history dd .copy                     { font-size: 2.5vw; }
#history dd .copy img                 { float: right; }
#history dd.photo .images             { float: none; width: 100%; padding-left: 0; margin-top: .5em; }
#history dd.photo .images img         { width: 100%; border: solid 1px #ccc; border-radius: .5em; }
#history dd.photo .images .caption    { padding: .25em 0; font-size: 2vw; }
#history dd.photo .images.package img { padding: .5em 0; background:#fff; }
#history dd.photo .images.meimon      { margin: .5em auto 0 auto; width: 70%; }
#history dd.photo .images.meimon img  { border: none; }

#history dl.prod_history              { padding: 0; display: flex; flex-direction: row; justify-content: space-between; }
#history dl.prod_history dt           { padding: 1em 0 1em 0; }
#history dl.prod_history dd .crop     { background: #f5f9f1; border: solid 2px #9ec67e; border-radius: .5em; padding: .75em; margin-top: -.25em; text-align: center; }
#history dl.prod_history dd .crop img { max-width: 80%; max-height: 120px; margin: .5em auto; }
#history dl.prod_history dd .crop p   { text-align: left; }
#history dl.prod_history dd .crop img.yubanyu { max-width: 60%; max-height: 120px; margin: .5em auto; }
#history dl.prod_history dd .crop p.copyright { font-size: 65%; text-align: center; }

#history .ten_years .odentane img     { border: solid 1px #ccc; border-radius: .5em; }

#history dt.pad_fwd      { padding-top: 2em!important; }
#history dt.pad_fwd.resp { padding-top: 1em!important; }
#history dt.pad_bak      { padding-bottom: 2em!important; }
#history dt.pad_bak.resp { padding-bottom: 1em!important; }
#history dd.pad_fwd      { padding-top: 2em!important; }
#history dd.pad_fwd.resp { padding-top: 1em!important; }
#history dd.pad_bak      { padding-bottom: 2em!important; }
#history dd.pad_bak.resp { padding-bottom: 1em!important; }
#history dd.non_fwd.resp { padding-top: 2em!important;  }

.same_year { position: relative; }
.same_year dl.prod_history { position: relative; }
.same_year dl.comp_history { position: static; }
.same_year.revers { position: relative; }
.same_year.revers dl.comp_history { position: static; }
.same_year.revers dl.prod_history { position: static; top: 0; display:block; width: 100%; }
}
#presentday .caution { margin: 1em 0; font-weight: bold; font-size: .85em; }

/* scrollするとfade in */
.fadeIn          { transition: 2s; opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
.fadeIn.animated { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }

/* サステナビリティ(/corporate/sustainability.html) 
------------------------------------------------------ */
#Sustain_intro .sp_full p { margin-bottom: 1em; }
#sdgs img  { border: none; border-radius: 0; }
.office_chart dl dt.nob { border-bottom: none;}

.scroll-table { margin-bottom: 1em;}
table.sust th { border-top: solid 1px #999; border-bottom: solid 1px #999; padding: 1em 0.5em; box-sizing: border-box; background-color: #f2f2f2; }
table.sust td { border-top: solid 1px #999; border-bottom: solid 1px #999; padding: 1em 0.5em; box-sizing: border-box; background-color: #fff; }
table.sust th.notb {border-top: none; border-bottom: solid 1px #e60012;}
table.sust td.notb {border-top: none; border-bottom: solid 1px #e60012;}
table.sust td.textInd1 { text-indent: -1em; padding-left: 2em;}
.img_half img { width: 60%; height: auto; margin-top: 1em;}

table.sust th.bbRed, table.sust td.bbRed { border-bottom: solid 1px #e60012;}

/*table.sust th,
table.sust td { width: 110px; box-sizing: border-box;}
table.sust td:nth-child(3) { width: 150px!important; box-sizing: border-box;}
*/


.corp_main.sus .corp_article ol    { margin-left: 2em; }
.corp_main.sus .corp_article ol li { list-style: decimal; margin: 1em 0 2em 1em; padding-left: 0.5em;  }

.corp_main.sus .corp_article ol li ul li { list-style: disc; margin: 0 1em; padding-left: 0em;  }

.corp_main.sus .corp_article ul    { margin-left: 0.5em; }
.corp_main.sus .corp_article ul li { list-style: disc; margin: 0 1em; padding-left: 0em;  }


.corp_main.sus table th { width: 30%; }
.office_chart table { width: 100%; border-top: 1px solid #e60012; border-bottom: 1px solid #e60012!important; line-height: 1.8rem; margin-bottom: 0.3em; }
.office_chart table th { background: #f2f2f2; width: 30%; padding: 1em; font-weight: bold; font-size: 1.15em; }

.office_chart table th span,
table.td3 th span { color: rgba(255,0,4,1.00); font-size: 80%; font-weight: normal; }

table.td3 td { width: 23.3%; text-align: center; }
table.td2 td { width: 35%; text-align: center; }
table.td2 td.left { text-align: left; }

table tr.borderb,
table td.borderb     { border-bottom: solid 1px #cdcdcd; }

table td.bggray      { background: #f2f2f2;}


table.caree th       { width: 25%; }
table.caree tr>*:first-child { width: 30%; }
table.caree tr>*:nth-child(2) { width: 20%; text-align: center; }
table.caree tr>*:last-child { padding-left: 0.8em; }

table.sust2030          { margin-bottom: 0.5em; border-bottom: 1px solid #e60012!important; }
table.sust2030 th       { width: 17%; border-bottom: solid 1px #ccc; }

table.sust2030 td       { border-bottom: solid 1px #ccc; }
table.sust2030 th.noborder,
table.sust2030 td.noborder { border-bottom: none; }

table.sust2030 th:last-child      { border-bottom: 1px solid #e60012; }

.sust .top-message                                { width: 100%; background: #f2f2f2; border: solid 1px #CCC; display: flex; justify-content: space-between; }
.sust .top-message .top-message-text              { width: 75%; padding: 3em 4em; box-sizing: border-box; position: relative; }
.sust .top-message .top-message-text h3           { font-size: 1.5em; border-bottom: none;} 
.sust .top-message .top-message-text p            { font-size: 1.3em; font-weight: bold; position: absolute; bottom: 3em; right: 4em; }
.sust .top-message .top-img                       { width: 25%; padding: 1.5em 0.8em 0 0; }
.sust .top-message .top-img img                   { width: 100%; height: auto; }

.sust .link-area                                  { width: 100%; display: flex; justify-content: space-around; flex-wrap: wrap; }
.sust .link-area .link-area-btn                   { width: 46%; border: solid 1px #CCC; border-radius: 15px; margin-top: 2em; background:#FFF1EB; padding: 0.5em 2em 1em; box-sizing: border-box; }
.sust .link-area .link-area-btn h3                { font-size: 1.2em; margin: 0.8em 0; border-bottom: solid 1px #831D1E; padding-bottom: 0.2em; } 
.sust .link-area .link-area-btn a h3:before       { content: "\f054"; font-family: "Font Awesome 5 Free"; font-size: 1em; color: #666; margin-right: 0.3em;}
.sust .link-area .link-area-btn a h3:hover:before { color: #e60012; }
.sust .link-area .link-area-btn li                { margin-bottom: 0.7em; }
.sust .link-area .link-area-btn a li              { padding-left: 0.5em;  }
.sust .link-area .link-area-btn a li:before       { content: "\f054"; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; color: #666; -webkit-font-smoothing: antialiased; margin-right: 0.3em; }
.sust .link-area .link-area-btn a li:hover:before { color: #e60012; }

.sust .link-area .link-area-btn2                  { width: 46%; border: solid 1px #CCC; border-radius: 15px; margin-top: 2em; background:#FFF; padding: 0.5em 2em 1em; box-sizing: border-box; }
.sust .link-area .link-area-btn2 h3               { font-size: 1.2em; margin: 0.8em 0; border-bottom: solid 1px #CCC; padding-bottom: 0.2em; }
.sust .link-area .link-area-btn2 a h3:before      { content: "\f054"; font-family: "Font Awesome 5 Free"; color: #666; margin-right: 0.3em; }
.sust .link-area .link-area-btn2 a h3:hover:before{ color: #e60012; }

@media screen and (max-width: 640px) {
 #sdgs div.column:last-child p:first-child { margin-bottom: 1em; }
.scroll-table { overflow:auto!important; display: block;}
table.sust td { min-width: 110px; box-sizing: border-box;}
table.sust td.widthA {min-width: 450px; box-sizing: border-box;}
.img_half img {width: 100%; height: auto; }
}
/* 紀文と練製品(/corporate/fishcake.html) 
------------------------------------------------------ */
#fishcake p, #fishcake .sp_full, #fishcake .sp_full { margin-bottom: 1em;}
#fishcake .column h5 { margin: 0.5em 0; padding: 0; color: #e60012; border: none;}
#surimi .column .col_photo { width: 33.333%; margin-left: 1em; margin-bottom: 0.25em;}
a.show { color: #e60012 !important; text-decoration: underline !important; }

#fishcake .center {text-align: center; border-collapse: collapse; }

@media screen and (max-width: 640px) {
#surimi .column .col_photo { width: 50%; margin-left: 1em; margin-bottom: 0.25em;}
}

/* 紀文とおせち料理(/corporate/osechi.html) 
------------------------------------------------------ */
.corp_article #osechi { margin-bottom: 0;}
#osechi p, #osechi .sp_full, #osechi .sp_full { margin-bottom: 1em;}
#osechi .column h5 { margin: 0.5em 0; padding: 0; color: #e60012; border: none;}
#osechi p.iware { border-top: dashed 1px #B0B0B0; padding-top: 0.8em;}

/* 紀文と相撲(/corporate/sumo.html) 
------------------------------------------------------ */
#sumo rt { font-size: 60%;}
#sumo .mt20 { margin-top: 20px;}
#sumo .kakomi { margin: 0 auto; padding: 20px; border: solid 2px #d6d6d6; border-radius: 1em; box-sizing: border-box; }
#sumo .kakomi h5 { margin: -20px -20px 20px -20px; padding: 20px 1em; font-size: 24px; color: #1F1F1F !important; border: none; border-bottom: 2px solid #d6d6d6; border-radius: 0; box-sizing: border-box; }


/* 紀文と漆器(/corporate/shikki.html) 
------------------------------------------------------ */
#history h5 { margin: 0; text-align: center; }
#shikki rt { font-size: 60%;}
#shikki .fs120 { font-size: 120%; margin-bottom: -2em;}

