@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: 16px; line-height: 1.25; font-family: 'Arial Nallow','Helvetica light',sans-serif; }
p           { font-size: 14px; line-height: 1.5; word-wrap: break-word; overflow-wrap: break-word; }
h1,h2,h3,h4 { font-family: 'Optima'; }
h5          { line-height: 1.25; }
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%; font-weight: normal; }
.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: 768px){
 .pc_only   { display: none; }
 .sp_only   { display: block; }
}

/* HEADER (共通)
------------------------------------------------------ */
header                           { border-top: 4px solid #e60012; position: relative; }
.corp_header                     { margin: 0 auto; max-width: 1200px; height: 100px; display: flex; justify-content: space-between; align-items: center; }
.corp_header .corporate_logo     { width: 65px; }
.corp_header .corporate_logo img { width: auto; height: 95px; }
.corp_header h1                  { font-size: 3em; color: #000; padding: 0 32px; width: calc(100% - 140px); }
.corp_header h1                  { font-size: 3em; color: #000; padding: 0 32px 0 170px; width: calc(100% - 140px); }
.corp_header .language           { width: auto; }
.corp_header .language a         { padding: .5em 1.5em; font-size: 1.1em; text-align: center; 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: 1200px){
 .corp_header { padding: 0 1em; width: 100%; }
}
@media only screen and (max-width: 768px){
.corp_header                     { padding: 0 1em; height: 80px; }
.corp_header                     { padding: 0 1em 0 0; height: 80px; }
.corp_header .corporate_logo     { width: 50px; width: 100%; }
.corp_header .corporate_logo img { width: auto; height: 75px; }
.corp_header h1                  { visibility: hidden; width: calc(100% - 200px)!important; }
.corp_header h1                  { visibility: hidden; width: calc(100% - 240px)!important; }
.corp_header h1                  { visibility: hidden; width: calc(100% - 340px)!important; display: none; }
 header:after                    { position: relative; display: block; width: 100%; padding-bottom: 2vw; text-align: center; content: 'Corporate Information'; font-size: 6vw; font-weight: bold; font-family: 'Optima'; }
.corp_header .language a         { padding: .45em 1.5em; font-size: .8em; text-align: center; text-decoration: none; display: block; color: #fff; background: #B71B21; border-radius: .25em; }
}
@media only screen and (max-width: 465px){
.corp_header h1                  { visibility: hidden; width: calc(100% - 250px)!important; }
}

/* 企業情報のブロック(共通)
------------------------------------------------------ */
#Container                   { width: 100%; margin: 0!important; border-top: 1px solid #ccc; }
.org_wrap                    { margin: 0 auto; max-width: 1200px; padding: .5em 1em; }
.org_wrap p.location         { font-size: .8em; font-family: 'Optima'; }
.org_wrap p.location a       { color: #e60012; text-decoration: underline; }
.org_wrap p.location a:hover { opacity: .8; text-decoration: none; }
.corp_wrap         { position: relative; margin: 0 auto; padding: 0; width: 100%; background: #fff; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
.idx .corp_wrap    { border-top: none; }
.corp_wrap a       { color: initial; text-decoration: none; }
.corp_wrap a:hover { opacity: .8; }
.pagetop           { margin: 0 auto; max-width: 1200px; position: relative; }
.pagetop div       { width: calc(25% - 1rem); position: absolute; right: 0; top: -45px; text-align: center; }
.pagetop div a     { height: 44px; padding: 1em 0; font-size: .85em; font-family: 'Optima'; 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; }
#footer            { text-align: center; padding: 2em 0; color: #666; }
@media only screen and (max-width: 768px){
#Container           { border-top: none; }
#Container .org_wrap { width: 100%; padding: 0; }
.org_wrap p.location { margin: 1em; }
#footer              { padding: 0; }
.pagetop             { padding: 0; max-width: 100%; }
.pagetop div         { width: 100%; text-align: center; }
.pagetop div a       { margin: 0 1em; padding-top: 1em; }
.pagetop div a i     { margin-right: .5em; color: #e60012; }
}

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

/*ハンバーガーボタン(共通)
------------------------------------------------------ */
.el_humburger        { display: none; }
@media only screen and (max-width: 768px) {
.el_humburger        { margin-left: 1em; z-index: 20; display: block; 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_navi .navi_head          { padding: 1.2em 1em; font-weight: bold; font-size: 1.2em; font-family: 'Optima'; color: #000; background: #f2f2f2; border: 1px solid #ccc; }
.corp_navi ul                  { display: flex; flex-direction: column; }
.corp_navi li a                { padding: 1.2em 1em 1.2em 2em; font-size: 1em; font-family: 'Optima'; line-height: 1.2; 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-weight: 900; color: #666; position: absolute; left: 1em; } 
.corp_navi li.sub a            { padding: 1em 1em 1em 3em; 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-weight: 900; color: #999; position: absolute; left: 1.5em; } 
.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.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.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.glo li.glo a        { color: #000; background: url(/common/img/bg.gif) repeat #FDFAF5 0 0; }
.corp_navi.glo li.glo 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.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.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 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: absolute; top: calc( -80px - 9.5vw); 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  { transform: translateX(0); opacity: 1; }
 .corp_navi               { padding-left: 0; width: 90%; max-width: 300px; position: absolute; top: 0; right: 0; }
 .corp_navi .navi_head    { padding: 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: 1em 1em 1em 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: 1em 1em 1em 3em; }
 .corp_navi .banner       { width: 100%; }
 .corp_navi .banner a img { max-width: 100%; /*width: 14em;*/ }
}

/* ページ内リンク */
.section_pass            { width: 100%; }
.section_pass li a:after { content: '\f107'; font-family: "Font Awesome 5 Free"; font-size: 1em; font-weight: 900; display: block; }
/* division */
.section_pass .division_link      { display: flex; flex-wrap: wrap; justify-content: space-between; }
.section_pass .division_link li   { padding-bottom: .5em; }
.section_pass .division_link li a { display: block; text-align: center; font-size: 1em; line-height: 1; padding: .5em .5em .25em .5em; color: #e60012!important; background: #fff; border: 1px solid #e60012; border-radius: .25em; white-space: pre; overflow: hidden; text-overflow: ellipsis; }
.section_pass .division_link li.div_item01 { width: 27%; }
.section_pass .division_link li.div_item02 { width: 16%; }
.section_pass .division_link li.div_item03 { width: 15%; }
.section_pass .division_link li.div_item04 { width: 14%; }
.section_pass .division_link li.div_item05 { width: 23%; }

/* history */
.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-weight: bold; font-size: 1em; line-height: 1; padding: .5em .25em .25em .25em; color: #e60012!important; background: #fff; border: 1px solid #e60012; border-radius: .25em; }
@media only screen and (max-width: 768px){
 .section_pass .division_link li a { font-size: 2vw; padding: ; }
 .section_pass .history_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; }
}
/* R and D 論文一覧 */
.section_pass .paper_link      { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0; margin-right: -.5em; }
.section_pass .paper_link li   { padding: 0 .5em .5em 0; width: 33.33%; }
.section_pass .paper_link li a { display: block; text-align: center; font-size: 1em; line-height: 1; padding: .5em .5em .25em .5em; color: #e60012!important; background: #fff; border: 1px solid #e60012; border-radius: .25em; white-space: pre; overflow: hidden; text-overflow: ellipsis; }

@media only screen and (max-width: 768px){
 .section_pass .paper_link li a  { font-size: 2vw; padding: .5em 0 .25em 0; }
}

/* カラム共通 */
p      { font-weight: normal; line-height: 1.5; /*text-align: justify;*/ }
p.read { font-weight: bold; text-align: left; }
.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%; text-align: left; }
@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 .sp_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: 768px){
 span.pc_br:before { content: &nbsp; 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     { width: 100%; height: auto; position: relative; background: #edebe1; }
.corp_visual img { width: 100%; }

/* メイン(TOP)
------------------------------------------------------ */
.corp_article                            { width: 75%; padding-right: 1em; }
.corp_main.idx .corp_article             { position: relative; width: 100%; padding-right: 0; 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.17%; background-color: #fff; background-image: url(/en/img/top/pc_top_btm_wave.png), url(/en/img/top/pc_top_top_wave.png); background-position: top,bottom; background-repeat: no-repeat; background-size: 100%; }
.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(/en/img/top/pc_top_btm_wave.png); background-position: bottom; background-repeat: no-repeat; background-size: 100%; }

@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(/en/img/top/sp_top_btm_wave.png), url(/en/img/top/sp_top_top_wave.png); background-position: top,bottom; background-repeat: no-repeat; background-size: 100%; }
.corp_main.idx .corp_article.beige       { padding-bottom: 9.375%; background-color: #edebe1;  background-image: url(/en/img/top/sp_top_btm_wave.png); background-position: bottom; background-repeat: no-repeat; background-size: 100%; }
}

/*TOPボタンリンク*/
.corp_article ul.top_list               { margin: 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 a          { padding: 0; width: 100%; height: auto; display: block; }
.corp_article ul.top_list li a img      { width: 100%; }
.corp_article ul.top_list li div        { padding: 1em 1em 1em 3.5em; background: url(/en/img/top/left_arrow_logored.png) 1em 50% no-repeat; background-size: 1.5em; }
.corp_article ul.top_list li .top_title { font-weight: bold; font-size: 2em; font-family: 'Optima Bold'; line-height: 1.2; margin-bottom: .25em; }
.corp_article ul.top_list li .copy      { font-size: 1.25em; font-family: serif; }

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

@media only screen and (max-width: 768px){
.corp_article ul.top_list               { margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: stretch; width: 100%; }
.corp_article ul.top_list li            { margin-bottom: 1em; padding: 0; width: 100%; border-radius: .75em; background: #fff; overflow: hidden; }
.corp_article ul.top_list li a          { padding: 0; width: 100%; height: auto; display: block; font-family: 'Optima'; font-weight: bold; font-size: 1.3em; }
.corp_article ul.top_list li a img      { width: 100%; }
.corp_article ul.top_list li div        { padding: 1rem 1rem 1rem 3.5rem; background: url(/corporate/img/top/left_arrow_logored.png) 1em 50% no-repeat; background-size: 1.25em; }
.corp_article ul.top_list li .top_title { font-weight: bold; font-size: 5.5vw; font-family: 'Optima Bold'; }
.corp_article ul.top_list li .copy      { font-size: 3.5vw; font-family: serif; }
}

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

@media only screen and (max-width: 768px){
.corp_main .corp_article             { margin-right: 0; width: 100%; }
.corp_main .corp_article             { padding: 1rem; }
.corp_main .corp_article .inner_wrap { margin: 0; padding: 2em 0 0 0; width: 100%; }
}
/* サブ画面 */
.corp_article article { margin-bottom: 4em; }
.corp_article #grou,
.corp_article #outl,
.corp_article #divi,
.corp_article #rand,
.corp_article #bizg,
.corp_article #offi,
.corp_article #worl,
.corp_article #qual,
.corp_article #comm,
.corp_article #hist,
.corp_article #sust,
.corp_article #fish,
.corp_article #osec,
.corp_article #shik,
.corp_article #sumo,
.corp_article #glos   { margin-bottom: 1em; padding: 0 1rem; width: 100%; height: 156px; border: 1px solid #ccc; border-radius: 1rem; position: relative; }
.corp_article #grou   { background: url(/en/img/header/grou_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #outl   { background: url(/en/img/header/outl_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #divi   { background: url(/en/img/header/divi_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #rand   { background: url(/en/img/header/rand_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #bizg   { background: url(/en/img/header/bizg_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #offi   { background: url(/en/img/header/offi_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #worl   { background: url(/en/img/header/worl_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #qual   { background: url(/en/img/header/qual_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #comm   { background: url(/en/img/header/comm_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #hist   { background: url(/en/img/header/hist_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #sust   { background: url(/en/img/header/sust_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #fish   { background: url(/en/img/header/fish_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #osec   { background: url(/en/img/header/osec_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article #shik   { background: url(/en/img/header/shape-of-tsuzumi.png) right no-repeat; background-size: auto 100%; }
.corp_article #sumo   { background: url(/en/img/header/heisei_kimono2.png) right no-repeat; background-size: auto 100%; }
.corp_article #glos   { background: url(/en/img/header/glos_img_h2.png) right no-repeat; background-size: auto 100%; }
.corp_article h2             { font-size: 2.2em!important; color: #000; 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; position: relative; top: 50%; transform: translateY(-50%); }
.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; font-size: 2.2em!important; color: #333; border-bottom: 1px solid #666; }
.corp_article h4             { margin: 1.75em 0; font-size: 1.5em!important; text-align: center; color: #e60012; }
.corp_article h5             { margin: 2em 0 1em 0; padding: .5em .75em; color: #e60012; border: 1px solid #e60012; border-radius: .25em; }
.corp_article .btn_link a                { display: inline-block; padding: .5em .5em .5em .75em; font-weight: bold; font-size: .95em; 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.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 { padding: 2.5rem 1rem; }
 .corp_article h5 { font-size: 1em; }
}
/* 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; }

/* 紀文グループ(/en/group/index.html)
------------------------------------------------------ */
/* ceo coo */
.corp_article #ceo h5,
.corp_article #coo h5            { padding: 0; margin: 0 0 .5em 0; color: #000; border: none; border-radius: 0; }
.corp_article #ceo p,
.corp_article #coo p             { margin: 0 0 1.5em 0; }
.corp_article #ceo .col_photo    { float: right; }
.corp_article #coo .col_photo    { float: left; }
.corp_article #belief .col_photo { float: right; }
#ceo .column,
#coo .column,
#belief .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; }
#belief .column .col_photo { width: 50%; margin-left: 1em; margin-bottom: .5em; }

@media only screen and (max-width: 640px){
.corp_article #ceo .col_photo,
.corp_article #coo .col_photo,
.corp_article  #belief .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; text-align: center; background: #fff; border-radius: 1em; }
#kibun_ci .heart_flower h4  { margin: 0 0 1em 0; }
#kibun_ci .heart_flower img { margin-bottom: 1.5em; }
#kibun_ci .heart_flower p   { text-align: center; }
#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: relative; }
#kibun_ci .brand_iron h4    { margin: 0 0 1em 0; color: #fff; }
#kibun_ci .brand_iron p     { margin: 0 1.25em 1.25em 0; font-size: 80%; line-height: 1.2; 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        { display: none; }
#group_lists ul li div:first-child span:before {/* content: '\A'; white-space: pre; */}
#group_usa h3 span,
#group_thailand h3 span,
#group_hongkong h3 span,
#group_singapore h3 span,
#group_korea h3 span,
#group_europe h3 span,
#group_china h3 span,
#group_yilin h3 span,
#group_pumuone h3 span { display: none; }
@media only screen and (max-width: 768px){
 #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; }
}
@media only screen and (max-width: 640px){
 #group_lists ul                    { padding: 0; }
 #group_lists ul li div:first-child { font-size: .95em; }
}
/* 子会社 */
.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%; }
/* 注釈 */
.smallest   { border-top: 1px solid #ccc; }
.smallest p { padding-top: 1em; font-size: 10px; padding-left: 25px; text-indent: -25px; }

/* 紀文食品会社概要(/en/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; }
@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; }
 }

/* 部門の紹介(/en/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; }
#manufacturing .btn_link        { margin-bottom: 2em; }
#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: flex-end; position: relative; }
.column .cheeciku_pic .title        { width: 70%; 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: relative; 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: 32%; position: relative; }
.column .cheeciku_pic .images img               { border: none; border-radius: 0; width: 100%; position: absolute; bottom: 0; }
@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%; }
}
#manufacturing .column h6 { padding: 0; margin: 0 0 .5em 0; color: #000; border: none; border-radius: 0; }

/* 研究開発(/en/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.15em; 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; }
}

/* 研究開発 論文 一覧(/en/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; 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_img_center img          { max-width: 100%; }
.rd_back                    { margin: 2em auto; width: 100%; text-align: center; }
.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; }

/* 事業案内(/en/business_guide.html)
------------------------------------------------------ */
.corp_article article h3     { margin-bottom: 1rem; }
.corp_article article h3 + p { font-weight: bold; font-size: 1.15em; }
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){
 #neriseihin .sp_full img,
 #souzai .sp_full img,
 #osechi .sp_full img { margin-bottom: 1em; }
 ul.package li        { max-width: 25%; }
 ul.package li.max36  { max-width: 36%; }
}

/* 国内工場・事業所(/en/office.html) 
------------------------------------------------------ */
#office_map .ja_map img          { padding: 0 4em; 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_map .ja_map img { padding: 0; width: 100%; }
 #office_add ul li       { margin: 2em 0 2em 1em; }
}

/* 海外の事業展開(/en/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; }
#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){
 #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 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;  }
}

/* 安心食品の提供(/en/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; }
}

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

/* 紀文ヒストリー(/en/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.15em; }
#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'; }
#history dl dt .history_year span.showa         { display: none; }
#history dl dt .history_year span.showa:before  { content: '昭和'; font-weight: normal; font-size: 50%; }
#history dl dt .history_year span.heisei        { display: none; }
#history dl dt .history_year span.heisei:before { content: '平成'; font-weight: normal; font-size: 50%; }
#history dl dt .history_year span.reiwa         { display: none; }
#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,
#history dd.pad_fwd { padding-top: 4em!important; }
#history dt.pad_bak,
#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%; padding-right: .5em; }
#heian .heian_copy sup     { color: #e60012; padding: 0 .1em; }
#heian .heian_copy ruby rt { font-size: 75%; }
#heian .heian_img              { width: 33%; padding: 0 0; text-align: center; }
#heian .heian_img img          { width: 100%; cursor: pointer; }
#heian .heian_img .caption     { font-weight: bold; }
#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%; }
}
.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: .5em; text-indent: -.5em; margin-bottom: 0; }
#heian_annotation .caption          { 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,
#heian_annotation 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; }
#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; }
 #history dd.end          { 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: .75em; }
@media screen and (max-width: 700px)  {
#presentday .caution { font-size: 2.5vw; }
}

/* 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); }

/* サステナビリティ(/en/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;}
*/

@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; }
}

/* Fish paste-based products(/en/fishcake.html) 
------------------------------------------------------ */
#fishcake .col_third             { margin-bottom: 1em; }
#fishcake .column h5             { margin: .5em 0; padding: 0; color: #e60012; border: none; }
#surimi .column                  { position: relative; display: block; }
.corp_article #surimi .col_photo { float: right; }
#surimi .column .col_photo       { width: 33.333%; margin-left: 1em; margin-bottom: .25em; }

#fishcake p,
#fishcake .sp_full,
#fishcake .sp_full { margin-bottom: 1em; }

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

/* Kibun and Osechi (/en/osechi.html) 
------------------------------------------------------ */
#osechi .col_third               { margin-bottom: 1em; }
#osechi .column h5               { margin: .5em 0; padding: 0; color: #e60012; border: none; }
#surimi .column                  { position: relative; display: block; }
.corp_article #surimi .col_photo { float: right; }
#surimi .column .col_photo       { width: 33.333%; margin-left: 1em; margin-bottom: .25em; }
#osechi p,
#osechi .sp_full,
#osechi .sp_full { margin-bottom: 1em; }
#osechi p.iware                  { border-top: dashed 1px #B0B0B0; padding-top: 0.8em;}

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

/* Kibun and Sumo (/en/sumo.html) 
------------------------------------------------------ */
#sum rt { font-size: 60%;}
#sum .mt20 { margin-top: 20px;}
#sum .kakomi { margin: 0 auto ; padding: 20px; border: solid 2px #d6d6d6; border-radius: 1em; box-sizing: border-box; }
#sum .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; }
#sum ul.withList li { list-style: disc; margin-left: 1em;}


/* Kibun and Lacquerware (/en/Lacquerware.html) 
------------------------------------------------------ */
#shk p { text-align: justify;}
#shk .fs120 { font-size: 120%; margin-bottom: -2em;}
#shk p.center {text-align: center;}
/* Glossary(/en/glossary.html) 
------------------------------------------------------ */
/* glossaryへの非リンクのアンカー */
a.show { color: #e60012; text-decoration: underline; }
a.show:hover { cursor: help; }

.glossary .caption            { text-align: right; }
.glossary ul li               { padding: 1em 1em 1em 0; border-bottom: 1px solid #ccc; }
.glossary ul li > div         { display: block; position: relative; }
.glossary ul li:first-child   { border-top: 1px solid #ccc; }
.glossary ul li .items        { margin: 0 1rem .25em 24px; font-weight: bold; font-size: 1.5em; font-family: 'Optima'; color: #e60012; width: calc(100% - 240px); float: left; }
.glossary ul li .items:before { content: '▶︎'; position: absolute; top: 0; left: 0; }
.glossary ul li .situation    { padding-left: .25em; font-size: .85rem; font-family: 'Arial Nallow','Helvetica light', sans-serif; color: #000; display: inline-block; }
.glossary ul li .image        { position: relative; float: right; width: 200px; height: auto; }
.glossary ul li .image img    { width: 100%; border: 1px solid #ccc; border-radius: 1em; }
.glossary ul li .meaning      { margin-left: 24px; padding: .5em 1rem 0 0; border-top: dotted 1px #ccc; width: calc(100% - 224px); float: left; }
.glossary ul #Sugar-Free_Noodles .image img { padding: 1em 1.5em; }
@media screen and (max-width: 640px) {
 .glossary ul li .items     { margin: 0 0 .25em 24px; width: auto; float: none; }
 .glossary ul li .image     { position: relative; float: right; width: 45%; height: auto; margin: 0 0 .25em .75em; background: #fff; }
 .glossary ul li .image img { border-radius: .5em; }
 .glossary ul li .meaning   { margin: 1.5em 0 0 24px; padding: .5em 0 0 0; font-size: .9rem; border-top: dotted 1px #ccc; width: auto; float: none; }
}

.glossary ul #Chee_Chiku              { }
.glossary ul #Chikuwa                 { }
.glossary ul #Crab-flavored_seafood   { }
.glossary ul #Date-maki               { }
.glossary ul #Gas_Cogeneration_System { }
.glossary ul #Hanpen                  { }
.glossary ul #Kamaboko                { }
.glossary ul #Nabedane                { }
.glossary ul #Naruto-maki             { }
.glossary ul #Oden                    { }
.glossary ul #Sasakama                { }
.glossary ul #Satsuma-age             { }
.glossary ul #Sugar-Free_Noodles      { }
.glossary ul #Suji                    { }
.glossary ul #Tsumire                 { }
.glossary ul #Uogashi-age             { }

/* END */
