@charset "UTF-8";
/* 共通変数・プレースホルダー */
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.imagetext, .headermainmenu__home a, .headermainmenuheader, .contentsheader--three_minutes .contentsheader__header, .home-banner__uchimura a, .home-banner__recruit a, .home-banner__threeminutes a, .home-banner__zaidan2 a, .home-banner__zaidan a, .workstyle-recruit__banner, .factory-internbanner a {
  white-space: nowrap;
  text-indent: 200%;
  overflow: hidden;
}

.contentsh1, .s_eirBlock .hstyle2 {
  clear: both;
  position: relative;
  margin: 0 0 25px;
  padding: 0;
  line-height: 1.25;
  font-size: 2.0rem;
  font-weight: normal;
  text-align: left;
  border-bottom: 1px solid #D4B100;
}

.contentsh1 span, .s_eirBlock .hstyle2 span {
  display: inline-block;
  padding: 0 0 15px;
  border-bottom: 4px solid #D4B100;
  color: #333;
}

.contentsh2 {
  display: block;
  margin: 0 0 20px;
  padding: 10px 15px;
  line-height: 1.25;
  background-color: #EFF0F0;
  color: #000;
  font-size: 2.0rem;
  font-weight: normal;
}

.contentsh3 {
  display: block;
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.25;
  color: #D4B100;
  font-weight: normal;
}

.contentsh4 {
  margin: 0 0 20px;
  padding: 10px 0 10px 15px;
  line-height: 1.25;
  font-weight: normal;
  border-top: 3px solid #D4B100;
  border-bottom: 2px dotted #D4B100;
}

.qalist__q, .qalist__a, .ffserif, .threeminutes-header__phototitle, .threeminutes-body__header {
  font-family: 'Noto Serif JP', serif;
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
/* タグ基本スタイル定義 */
* {
  box-sizing: border-box;
  max-height: 999999px;
}

form * {
  font-size: 1.6rem;
}

a:link {
  color: #7f6a00;
  text-decoration: underline;
}

a:visited {
  color: #6a5900;
  text-decoration: underline;
}

a:hover {
  transition-duration: .25s;
  color: #666;
  text-decoration: underline;
}

a:active {
  color: #444;
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  border: none;
}

em {
  font-style: normal;
  font-weight: normal;
}

strong {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 15px 0;
  padding: 0;
  font-size: 1.8rem;
  line-height: 1.5;
}

p {
  margin-top: 0;
  line-height: 1.75;
}

p + h2, div + h2, ul + h2, table + h2,
p + h3, div + h3, ul + h3, table + h3,
p + h4, div + h4, ul + h4, table + h4,
p + h5, div + h5, ul + h5, table + h5,
p + h6, div + h5, ul + h6, table + h6 {
  margin-top: 20px;
}

h2 {
  font-size: 2.2rem;
}

h3 {
  font-size: 1.8rem;
}

li {
  line-height: 1.75;
}

figure {
  margin: 0 0 15px;
  padding: 0;
}

figcaption {
  margin: 10px 0 0;
  padding: 0;
}

input[type="text"] {
  border-radius: 3px;
  background-color: #eee;
  border-color: #ccc;
}

input[type="text"]::placeholder {
  color: #888;
  font-size: 1.2rem;
}

input[type="text"]:focus {
  transition-duration: .25s;
  background-color: #fff;
  box-shadow: none;
}

input[type="text"]:focus::placeholder {
  color: #ccc;
}

input[type=radio], input[type=checkbox] {
  display: none;
}

textarea {
  width: 100%;
}

select {
  /* IE8以下用、スマホ専用サイトでは不要 */
  font-size: 18px;
  font-size: 1.8rem;
  border: 1px solid #999;
}

/* レイアウト：サイト基本構造  */
html {
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  color: #000;
  font-size: 1.4rem;
  /*font-family:
		"Open Sans" , "Helvetica Neue" , Helvetica , Avenir , Arial , Verdana , Roboto ,
		"Noto Sans CJK JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
  font-family: "Noto Sans JP", "Open Sans", "Helvetica Neue", Helvetica, Avenir, Arial, Verdana, Roboto, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", sans-serif;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.allwrapper {
  position: relative;
}

.header {
  position: absolute;
  z-index: 1000;
  width: 100%;
  height: 164px;
  padding: 0 30px;
  font-size: 1.4rem;
  background-color: #fff;
  border-bottom: 4px solid #D4B100;
}

.header.is-fixed {
  position: fixed;
  top: -100px;
  left: 0;
}

.header .sitename {
  margin: 0;
  padding: 30px 0 0 0;
  font-size: 2.0rem;
}

.header .sitename a {
  display: block;
  width: 265px;
  height: 50px;
  background: url(../img/logo.png) center center/100% auto no-repeat;
  white-space: nowrap;
  text-indent: 200%;
  overflow: hidden;
}

.header .tagline {
  display: block;
  position: absolute;
  top: 35px;
  left: 160px;
  font-size: 1.2rem;
  line-height: 1.5;
}

.header .contentswidth {
  height: 100%;
}

.headermenu {
  position: absolute;
  width: 100%;
  left: 0;
  top: 100px;
}

.headermenu ul li {
  list-style: none;
}

.headermenu .contentswidth {
  width: 100%;
  max-width: 100%;
  padding: 0 20px;
}

.headermenu .contentswidth.is-fixed .headermenu .contentswidth {
  width: auto;
  max-width: 100%;
}

.headermenu-pulldown {
  display: none;
  position: absolute;
  top: 64px;
  left: 0;
  z-index: 200;
  width: 100%;
  padding: 35px 0 25px;
  opacity: 0;
  background-color: rgba(127, 106, 0, 0.8);
}

.headermenu-pulldown:after {
  content: "";
  clear: both;
  display: block;
}

.headermenu-pulldown .headermainmenu__pulldown {
  display: block;
}

.headermenu-pulldown.is-open {
  animation-duration: 0.5s;
  animation-name: fade-in;
  display: block;
  opacity: 1;
}

.headermenu-pulldown .contentswidth {
  display: flex;
  padding: 0 50px;
}

.headermenu-pulldown__header {
  width: 16%;
  color: #fff;
  font-size: 2.4rem;
}

.headermenu-pulldown__title {
  position: absolute;
  width: 12%;
  color: #fff;
  top: 60px;
  left: 30px;
}

.headermenu-pulldown__title a {
  display: block;
  padding: 10px;
  text-align: center;
  border-radius: 50px;
}

.headermenu-pulldown__title a:link, .headermenu-pulldown__title a:visited, .headermenu-pulldown__title a:active {
  color: #000;
  text-decoration: none;
  background-color: #fff;
}

.headermenu-pulldown__title a:hover {
  color: #fff;
  text-decoration: none;
  background-color: #D4B100;
}

.headermenu-pulldown__body {
  width: 83%;
}

.headermenu-pulldown__body .headermainmenu__pulldown {
  display: flex;
}

.headermenu-pulldown__body ul {
  width: 33.333%;
  margin: 0;
  padding: 0;
}

.headermenu-pulldown__body li {
  display: block;
  margin: 0 0 5px 0;
  padding: 0;
}

.headermenu-pulldown__body a {
  position: relative;
  display: block;
  margin-right: 10px;
  padding: 10px;
  background-color: #aa8e00;
}

.headermenu-pulldown__body a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin-top: -7px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/11px auto no-repeat #D4B100;
}

.headermenu-pulldown__body a:link, .headermenu-pulldown__body a:visited, .headermenu-pulldown__body a:active {
  color: #fff;
  text-decoration: none;
}

.headermenu-pulldown__body a:hover {
  color: #000;
  text-decoration: none;
  background-color: #fff;
}

.headermainmenu {
  display: flex;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  width: 100%;
  height: 64px;
  margin: 0;
  padding: 0 40px;
}

.headermainmenu > li {
  flex: 1 1 auto;
  list-style: none;
}

.headermainmenu > li > a {
  position: relative;
  display: block;
  height: 64px;
  padding: 17px 0 0 0;
  border-bottom: 4px solid transparent;
  text-align: center;
  font-size: 1.6rem;
}

.headermainmenu > li > a:link, .headermainmenu > li > a:visited, .headermainmenu > li > a:active {
  color: #000;
  text-decoration: none;
}

.headermainmenu > li > a:hover {
  color: #000;
  text-decoration: none;
  border-color: #000;
  background-color: rgba(212, 177, 0, 0.25);
}

.headermainmenu > li > a > span {
  display: block;
  padding-right: 10px;
  border-right: #ddd 1px solid;
}

.headermainmenu > li > a .arrow {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 8px;
  width: 14px;
  height: 14px;
  margin-top: -4px;
  background: url(../img/arrow_1-bk.png) center center/100% auto no-repeat;
  transform: rotate(90deg);
  border: none;
}

.headermainmenu > li:last-child > a > span {
  border: none;
}

.headermainmenu > li.is-open a {
  border-color: #000;
  background-color: rgba(212, 177, 0, 0.15);
}

.headermainmenu > li.is-open a .arrow {
  transform: rotate(-90deg);
}

.headermainmenu > li.is-current a {
  border-color: #000;
  color: #D4B100;
}

.headermainmenu > li.ringernet a {
  border-color: #D4B100;
  background-color: #D4B100;
  color: #fff;
}

.headermainmenu > li.ringernet a:hover {
  border-color: #000;
  background-color: #aa8e00;
}

.headermainmenu__home {
  width: 15%;
  min-width: 250px;
  flex: 0 0 15%;
  display: none;
}

.headermainmenu__home a {
  background: url(../img/logo.png) center center/auto 65% no-repeat;
}

.header.is-fixed .headermainmenu__home {
  display: block;
}

.headermainmenu__pulldown {
  display: none;
}

.headermainmenuheader {
  position: absolute;
  left: -9999px;
}

.headermenuwrapper {
  transition-duration: 1s;
  display: block;
}

.headersubmenu {
  position: absolute;
  top: -80px;
  right: 30px;
}

.headersubmenu > ul {
  display: flex;
  margin: 0;
  padding: 0;
}

.headersubmenu > ul > li {
  margin: 0 0 0 15px;
  padding: 0;
  list-style: none;
}

.headersubmenu > ul a {
  display: inline-block;
  padding: 2px 10px;
}

.headersubmenu > ul a:link, .headersubmenu > ul a:visited, .headersubmenu > ul a:active {
  color: #000;
  text-decoration: none;
}

.headersubmenu > ul a:hover {
  color: #000;
  text-decoration: none;
}

.headersubmenu__lang {
  position: relative;
  border: 1px solid #ddd;
}

.headersubmenu__lang:hover {
  transition-duration: .25s;
  background-color: #eff0f0;
}

.headersubmenu__lang > span {
  position: relative;
  display: inline-block;
  margin: 0 -1px 0 -1px;
  padding: 2px 40px 2px 20px;
  cursor: pointer;
  font-size: 1.5rem;
  font-weight: bold;
}

.headersubmenu__lang > span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 9px;
  height: 14px;
  margin-top: -7px;
  background: url(../img/arrow_1-bk.png) center center/100% auto no-repeat;
  transform: rotate(90deg);
}

.headersubmenu__lang .langlist {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 1px 0 0;
}

.headersubmenu__lang .langlist > li {
  margin: 0 -1px;
  padding: 2px 10px;
  list-style: none;
  border-bottom: 1px solid #fff;
  background-color: #EFF0F0;
  cursor: pointer;
}

.headersubmenu__lang .is-open .langlist {
  display: block;
  animation-duration: 0.5s;
  animation-name: fade-in;
}

html:lang(jp) .lang__jp {
  display: none;
}

html:lang(en) .lang__en {
  display: none;
}

html:lang(zh-cn) .lang__zh-cn {
  display: none;
}

html:lang(zh-tw) .lang__zh-tw {
  display: none;
}

html:lang(ko) .lang__ko {
  display: none;
}

.scrollwrapper {
  padding-top: 164px;
}

.posmenu {
  clear: both;
  font-size: 1.4rem;
  padding: 20px 0 0;
}

.posmenu a:link, .posmenu a:visited, .posmenu a:active {
  color: #000;
  text-decoration: none;
  border-bottom: none;
}

.posmenu a:hover {
  color: #000;
  text-decoration: underline;
  border-bottom: none;
}

.contents {
  clear: both;
}

.contentsheader {
  margin: 0;
  padding: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.5) 100%), url(../../csr/common/img/contentsheader-bg.jpg) center center/cover no-repeat;
  color: #fff;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
}

.contentsheader--corporate {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 100%), url(../../corporate/common/img/contentsheader-bg.jpg);
}

.contentsheader--ir {
  text-shadow: none;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 100%), url(../../ir/common/img/contentsheader-bg.jpg);
}

.contentsheader--news_ir {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.2) 100%), url(../../ir/common/img/contentsheader-bg.jpg);
}

.contentsheader--csr {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.2) 100%), url(../../csr/common/img/contentsheader-bg.jpg);
}

.contentsheader--business {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 100%), url(../../business/common/img/contentsheader-bg.jpg?2305);
}

.contentsheader--customer_support {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 100%), url(../../customer_support/common/img/contentsheader-bg.jpg);
}

.contentsheader--three_minutes {
  background: url(../../three_minutes/img/contentsheader-bg-pc.jpg) center center/100% auto no-repeat;
  height: 0;
  padding-top: 50%;
}

.contentsheader--three_minutes .contentsheader__header {
  display: none;
  height: 0;
  overflow: hidden;
}

.contentsheader--workstyle {
  background: url(../../csr/workstyle/img/contentsheader-bg.jpg?2111) center center/cover no-repeat;
  text-align: center;
}

.contentsheader--workstyle .contentsheader__header {
  padding: 150px 0;
  font-size: 4.8rem;
  letter-spacing: .1em;
  font-weight: bold;
}

.contentsheader--customer_support {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 100%), url(../../customer_support/common/img/contentsheader-bg.jpg);
}

.contentsheader--factory {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 100%), url(../../factory/common/img/contentsheader-bg.jpg);
}

.contentsheader--sagafactory {
  position: relative;
  height: 0;
  padding-top: 60%;
  color: #fff;
  background: url(../../factory/saga/img/contentsheader-bg.jpg) center center/cover no-repeat;
}

.contentsheader--sagafactory .contentswidth {
  position: static;
}

.contentsheader--sagafactory .contentsheader__header {
  position: absolute;
  top: 50px;
  left: 50px;
  padding: 20px 60px;
  background-color: rgba(0, 0, 0, 0.5);
}

.contentsheader--sagafactory .contentsheader__header img {
  width: 240px;
}

.contentsheader--fujioyamafactory {
  position: relative;
  height: 0;
  padding-top: 60%;
  color: #fff;
  background: url(../../factory/fujioyama/img/contentsheader-bg.jpg) center center/cover no-repeat;
  text-align: center;
}

.contentsheader--fujioyamafactory .contentswidth {
  position: static;
}

.contentsheader--fujioyamafactory .contentsheader__header {
  position: absolute;
  top: 50px;
  left: 50px;
  padding: 20px 60px;
  background-color: rgba(0, 0, 0, 0.5);
}

.contentsheader--fujioyamafactory .contentsheader__header img {
  width: 240px;
}

.contentsheader--kyotofactory {
  position: relative;
  height: 0;
  padding-top: 60%;
  color: #fff;
  background: url(../../factory/kyoto/img/contentsheader-bg.jpg) center center/cover no-repeat;
  text-align: center;
}

.contentsheader--kyotofactory .contentswidth {
  position: static;
}

.contentsheader--kyotofactory .contentsheader__header {
  position: absolute;
  top: 50px;
  left: 50px;
  padding: 20px 60px;
  background-color: rgba(0, 0, 0, 0.5);
}

.contentsheader--kyotofactory .contentsheader__header img {
  width: 240px;
}

.contentsheader--franchise {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 100%), url(../../franchise/common/img/contentsheader-bg.jpg);
}

.contentsheader__header {
  margin: 0;
  padding: 75px 0;
  font-size: 3.0rem;
  line-height: 1.75;
  font-weight: normal;
}

.contentsheader__header span {
  display: inline-block;
  margin-top: -5px;
  font-size: 2.0rem;
}

.mainsub {
  display: flex;
  justify-content: space-between;
  padding: 0 0 50px;
}

.mainsub__main {
  width: 700px;
}

.mainsub__main--old {
  padding: 0 10px 0 0;
}

.mainsub__sub {
  width: 260px;
}

.mainheader {
  margin: 0;
  padding: 50px 0 25px;
}

.mainheader__header {
  margin: 0;
  padding: 10px 0 10px 10px;
  font-size: 2.2rem;
  line-height: 1.25;
  font-weight: normal;
  border-top: 3px solid #D4B100;
  border-bottom: 2px dotted #D4B100;
}

.mainheader__catch {
  font-size: 120%;
  color: #D4B100;
}

.mainheader + .contentsbody {
  padding-top: 0px;
}

.submenu__header {
  height: 50px;
  margin: 0;
  padding: 0;
  color: #D4B100;
  font-size: 1.8rem;
}

.submenu__header a {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}

.submenu__header a:link, .submenu__header a:visited, .submenu__header a:active {
  color: #D4B100;
  text-decoration: none;
  border-bottom: none;
}

.submenu__header a:hover, .submenu__header a.is-current {
  color: #D4B100;
  text-decoration: none;
  border-bottom: none;
  background-color: #EFF0F0;
}

.submenu__menu {
  margin: 0 0 25px;
  padding: 0;
  border-top: 1px solid #ddd;
}

.submenu__menu > li {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #ddd;
}

.submenu__menu a {
  position: relative;
  display: block;
  margin: 0;
  padding: 10px 30px 10px 15px;
}

.submenu__menu a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin-top: -7px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/11px auto no-repeat #ddd;
}

.submenu__menu a:link, .submenu__menu a:visited, .submenu__menu a:active {
  color: #000;
  text-decoration: none;
  border-bottom: none;
}

.submenu__menu a:hover, .submenu__menu a.is-current {
  color: #000;
  text-decoration: underline;
  border-bottom: none;
  background-color: #EFF0F0;
}

.submenu__menu ul {
  margin: 0 0 15px;
  padding: 0;
}

.submenu__menu ul > li {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #EFF0F0;
}

.submenu__menu ul > li a {
  padding: 6px 30px;
  font-size: 1.2rem;
}

.submenu__menu ul > li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  border-radius: 50%;
  background: url(../img/arrow_1-bk.png) center center/8px auto no-repeat;
}

.uplink {
  margin: 50px 0 0;
  padding: 50px 0 50px;
  text-align: center;
  border-top: 1px solid #ddd;
}

.uplink a {
  font-size: 1.8rem;
}

.bottommenu {
  padding: 50px 0;
}

.bottommenu__menu {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.bottommenu__menu > li {
  width: 25%;
  margin: 0 0 10px;
  padding: 0 15px 0 0;
  list-style: none;
}

.bottommenu__menu a {
  width: 100%;
  font-size: 2.0rem;
}

.footerbanner {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 25px 0;
}

.footerbanner > div {
  width: 120px;
  text-align: center;
}

.footerbanner > div img {
  height: 50px;
}

.footer {
  clear: both;
  margin: 0;
  padding: 50px 0 0;
  background-color: rgba(239, 240, 240, 0.3);
  border-top: 1px solid #ddd;
}

.footermenu {
  display: flex;
}

.footermenu--sp {
  display: none;
}

.footermenu__box {
  width: 33.33%;
  padding-bottom: 20px;
}

.footermenu--pc ul {
  width: 100%;
  margin: 0 20px 0 0;
  padding: 0;
}

.footermenu--pc li {
  position: relative;
  width: 100%;
  margin: 0 0 30px 0;
  padding: 0;
  list-style: none;
}

.footermenu--pc li::after {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 92.5%;
  border-bottom: 1px solid #ccc;
  z-index: 0;
}

.footermenu--pc li ul {
  width: auto;
  margin-top: 5px;
}

.footermenu--pc li li {
  width: auto;
  margin: 0 0 3px 0;
}

.footermenu--pc li li::after {
  display: none;
}

.footermenu--pc li li a {
  padding-left: 15px;
  font-weight: normal;
  font-size: 1.2rem;
}

.footermenu--pc li li a:hover {
  background-color: white;
}

.footermenu--pc a {
  display: block;
  font-weight: bold;
}

.footermenu--pc a:link, .footermenu--pc a:visited, .footermenu--pc a:active {
  color: #222;
  text-decoration: none;
}

.footermenu--pc a:hover {
  color: #555;
  text-decoration: none;
}

.footermenu--pc span {
  position: relative;
  z-index: 2;
  padding-right: 10px;
  background-color: #FAFBFB;
}

.footerinfo {
  display: flex;
  padding: 50px 30px;
  background-color: #fff;
}

.footerinfo__info {
  display: flex;
  width: 70%;
}

.footerinfo__info h2 {
  width: 230px;
  padding: 0 20px 0 0;
}

.footerinfo__info > *:last-child {
  padding-top: 5px;
}

.footerinfo small {
  width: 30%;
  padding-top: 10px;
  text-align: right;
  font-size: 1.2rem;
}

.pagetop {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 100;
  width: 50px;
  height: 50px;
}

.pagetop > a {
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/pagetop-bg.png) top center/100% auto rgba(0, 0, 0, 0.75) no-repeat;
  white-space: nowrap;
  text-indent: 100%;
}

/* コンポーネント：サイト内で共通の部品 */
.slick-slider {
  padding-bottom: 50px;
}

.slick-slide {
  height: auto;
}

.slick-arrow {
  overflow: hidden;
  position: absolute;
  top: 50%;
  z-index: 10;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  border: none;
  background: url(../img/slide-arrow-bg.png);
  background-size: 50px 100px;
  white-space: nowrap;
  text-indent: 100%;
  color: transparent;
}

.slick-arrow:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.slick-prev {
  left: -50px;
  background-position: 0 -50px;
}

.slick-next {
  right: -50px;
}

.slick-dots {
  position: absolute;
  bottom: 25px;
  z-index: 10;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
  padding: 0;
}

.slick-dots li button {
  width: 16px;
  height: 16px;
  padding: 0;
  background: #fff;
  border: 1px solid #333;
  border-radius: 50%;
  color: transparent;
  font-size: 0;
}

.slick-dots li button:hover {
  background-color: #000;
  box-shadow: 0 0 5px #fff;
}

.slick-dots .slick-active button {
  background: #D4B100;
}

.slick-disabled {
  opacity: 0;
}

.fancybox-content {
  max-width: 80%;
}

.contentsbody {
  padding: 50px 0 50px;
}

.contentswidth {
  width: 1000px;
}

.contentswidthnarrow {
  width: 700px;
  margin: 0 auto;
}

.buttonbox {
  margin: 20px 0 25px;
  text-align: center;
}

.buttonbox--tal {
  text-align: left;
}

.buttonbox--tar {
  text-align: right;
}

.button, .bottommenu__menu a {
  position: relative;
  display: inline-block;
  margin: 0 0 5px;
  padding: 8px 50px 8px 30px;
  border: 1px solid #D4B100;
  border-radius: 3px;
  background-color: transparent;
  text-align: center;
  cursor: pointer;
  font-weight: normal;
}

.button::after, .bottommenu__menu a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin-top: -7px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/11px auto no-repeat #D4B100;
}

.button:link, .bottommenu__menu a:link, .button:visited, .bottommenu__menu a:visited, .button:active, .bottommenu__menu a:active {
  color: #000;
  text-decoration: none;
  background-color: #fff;
}

.button:hover, .bottommenu__menu a:hover {
  transition-duration: .25s;
  color: #fff;
  text-decoration: none;
  background-color: #D4B100;
}

.button--large {
  min-width: 400px;
  padding: 15px 50px;
}

.button--large::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin-top: -7px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/11px auto no-repeat #D4B100;
}

.button--bold {
  border-width: 2px;
  font-weight: bold;
}

.button--rh {
  background-color: #FFD400;
  border-color: #FFD400;
}

.button--rh:link, .button--rh:visited, .button--rh:active {
  text-decoration: none;
  background-color: #FFD400;
  color: #000;
}

.button--rh:hover {
  color: #000;
  border-color: #FFD400;
  background-color: #fff;
}

.button--rh::after {
  background-color: #FFD400;
}

.button--hk {
  border-color: #BF1826;
}

.button--hk:link, .button--hk:visited, .button--hk:active {
  text-decoration: none;
}

.button--hk:hover {
  color: #fff;
  border-color: #BF1826;
  background-color: #BF1826;
}

.button--hk::after {
  background-color: #BF1826;
}

.button--red {
  background-color: #BF1826;
  border-color: #BF1826;
}

.button--red:link, .button--red:visited, .button--red:active {
  text-decoration: none;
  background-color: #BF1826;
  color: #fff;
}

.button--red:hover {
  color: #BF1826;
  border-color: #BF1826;
  background-color: #fff;
}

.button--red::after {
  background-color: #BF1826;
}

.button--td {
  background-color: #00460E;
  border-color: #00460E;
}

.button--td:link, .button--td:visited, .button--td:active {
  text-decoration: none;
  background-color: #00460E;
  color: #fff;
}

.button--td:hover {
  color: #00460E;
  border-color: #00460E;
  background-color: #fff;
}

.button--td::after {
  background-color: #00460E;
}

.button.w100per, .bottommenu__menu a.w100per {
  width: 100%;
}

.borderbox {
  margin: 25px 0;
  padding: 35px;
  border: 1px solid #ddd;
  border-radius: 3px;
}

.photobox {
  float: right;
  margin: 0 0 20px 20px;
  padding: 0;
}

.photobox--left {
  float: left;
  margin: 0 20px 20px 0;
}

.photobox--center {
  clear: both;
  float: none;
  margin: 0 0 20px 0;
  text-align: center;
}

.photobox--clear {
  clear: both;
}

.photobox.width-100px {
  width: 100px;
}

.photobox.width-110px {
  width: 110px;
}

.photobox.width-120px {
  width: 120px;
}

.photobox.width-130px {
  width: 130px;
}

.photobox.width-140px {
  width: 140px;
}

.photobox.width-150px {
  width: 150px;
}

.photobox.width-160px {
  width: 160px;
}

.photobox.width-170px {
  width: 170px;
}

.photobox.width-180px {
  width: 180px;
}

.photobox.width-190px {
  width: 190px;
}

.photobox.width-200px {
  width: 200px;
}

.photobox.width-210px {
  width: 210px;
}

.photobox.width-220px {
  width: 220px;
}

.photobox.width-230px {
  width: 230px;
}

.photobox.width-240px {
  width: 240px;
}

.photobox.width-250px {
  width: 250px;
}

.photobox.width-260px {
  width: 260px;
}

.photobox.width-270px {
  width: 270px;
}

.photobox.width-280px {
  width: 280px;
}

.photobox.width-290px {
  width: 290px;
}

.photobox.width-300px {
  width: 300px;
}

.photobox.width-310px {
  width: 310px;
}

.photobox.width-320px {
  width: 320px;
}

.photobox.width-330px {
  width: 330px;
}

.photobox.width-340px {
  width: 340px;
}

.photobox.width-350px {
  width: 350px;
}

.photobox.width-360px {
  width: 360px;
}

.photobox.width-370px {
  width: 370px;
}

.photobox.width-380px {
  width: 380px;
}

.photobox.width-390px {
  width: 390px;
}

.photobox.width-400px {
  width: 400px;
}

.photobox.width-410px {
  width: 410px;
}

.photobox.width-420px {
  width: 420px;
}

.photobox.width-430px {
  width: 430px;
}

.photobox.width-440px {
  width: 440px;
}

.photobox.width-450px {
  width: 450px;
}

.photobox.width-460px {
  width: 460px;
}

.photobox.width-470px {
  width: 470px;
}

.photobox.width-480px {
  width: 480px;
}

.photobox.width-490px {
  width: 490px;
}

.photobox.width-500px {
  width: 500px;
}

.photobox figcaption {
  display: block;
  margin: 10px 0 0;
  padding: 0;
}

.flexcontainer {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  margin: 0;
}

.flexcontainer > * {
  margin: 0 0 25px;
  padding: 0;
  list-style: none;
}

.flexcontainer--two > * {
  width: 48.33%;
}

.flexcontainer--three > * {
  width: 31.11%;
}

.flexcontainer--three .flexcontainer__two {
  width: 64.22%;
}

.flexcontainer--four > * {
  width: 22.5%;
}

.flexcontainer--four .flexcontainer__two {
  width: 47.5%;
}

.flexcontainer--four .flexcontainer__three {
  width: 72.5%;
}

.flexcontainer--reverse {
  flex-direction: row-reverse;
}

/**** 2022/06/06 株主サイトより転記 ***/
.news__list {
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.news__list__item {
  padding: 0 0 25px;
  margin: 0 0 25px;
  border-bottom: dotted 1px #999;
}

.news__list__item:last-of-type {
  margin: 0;
}

.news__list__item > a {
  text-decoration: none;
}

.news__list__item > a:hover .excerpt {
  color: #D4B100;
}

.news__list__item > * {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.news__list__item > * .postinfo {
  flex: 0 0 auto;
  font-size: 0;
}

.news__list__item > * .postinfo > * {
  display: inline-block;
  margin: 0;
  line-height: 1;
  white-space: nowrap;
}

.news__list__item > * .postinfo .date {
  padding: 0 1em 0 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #666;
}

.news__list__item > * .postinfo .label {
  padding: 3px 15px;
  background-color: #A9D295;
  border-radius: 3px;
  font-size: 1.2rem;
  font-weight: 300;
  color: #fff;
}

.news__list__item > * .excerpt {
  flex: 1 1 auto;
  padding: 0 0 0 30px;
  line-height: 1.5;
  color: #000;
}

.newslist {
  margin: 0 0 25px;
  padding: 0;
}

.newslist > li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #EFF0F0;
  list-style: none;
}

.newslist > li > * {
  display: flex;
  flex-wrap: wrap;
  padding: 15px;
}

.newslist > li a {
  position: relative;
  display: block;
}

.newslist > li a:link, .newslist > li a:visited, .newslist > li a:active {
  color: #000;
  text-decoration: none;
}

.newslist > li a:hover {
  color: #000;
  text-decoration: none;
  background-color: rgba(239, 240, 240, 0.5);
}

.newslist__time {
  display: inline-block;
  width: 6em;
  flex: 0 0 120px;
  color: #6a5900;
  font-weight: bold;
  font-size: 1.6rem;
}

.newslist__category {
  display: inline-block;
  text-align: center;
}

.newslist__title {
  display: block;
  width: 100%;
  padding-top: 5px;
}

.category {
  display: inline-block;
  width: auto;
  padding: 4px 8px;
  text-align: center;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.2rem;
  white-space: nowrap;
}

.category--press {
  background-color: #2C90E3;
}

.category--co {
  background-color: #D4B100;
}

.category--rh {
  background-color: #FFD400;
  color: #000;
}

.category--hk {
  background-color: #BF1826;
}

.category--sp {
  background-color: #333;
}

.category--td {
  background-color: #00460E;
}

.irlist {
  margin: 0 0 50px;
  padding: 0;
}

.irlist > li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #EFF0F0;
  list-style: none;
}

.irlist > li > * {
  display: flex;
  padding: 15px;
}

.irlist > li a:link, .irlist > li a:visited, .irlist > li a:active {
  color: #000;
  text-decoration: none;
}

.irlist > li a:hover {
  color: #000;
  text-decoration: none;
  background-color: rgba(239, 240, 240, 0.5);
}

.irlist__time {
  display: block;
  width: 120px;
  flex: 0 0 120px;
  text-align: center;
  color: #6a5900;
}

.irlist__category {
  display: block;
  width: 120px;
  flex: 0 0 120px;
  text-align: center;
}

.irlist__title {
  display: block;
  flex: auto;
  padding-left: 15px;
}

.qalist {
  margin: 0 0 50px;
  padding: 0;
}

.qalist > dt {
  position: relative;
  margin: 0;
  padding: 20px 0 20px 45px;
  font-weight: bold;
  font-size: 1.6rem;
}

.qalist__q {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 30px;
  color: #BF1826;
  text-align: center;
  font-size: 3.6rem;
}

.qalist > dd {
  position: relative;
  margin: 0 0 40px;
  padding: 20px 0 40px 45px;
  border-bottom: 1px solid #ddd;
}

.qalist__a {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 30px;
  color: #039;
  text-align: center;
  font-size: 3.6rem;
  font-weight: bold;
}

.dllist {
  margin: 25px 0;
  padding: 0;
  border-top: 1px solid #ddd;
}

.dllist > dt {
  margin: 0;
  padding: 15px 0 0;
  color: #D4B100;
}

.dllist > dd {
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px solid #ddd;
}

table th {
  font-weight: 500;
}

table.tal th, table.tal td {
  text-align: left;
}

table.tac th, table.tac td {
  text-align: center;
}

table.tar th, table.tar td {
  text-align: right;
}

table.width-100px {
  width: 100px;
}

table.width-150px {
  width: 150px;
}

table.width-200px {
  width: 200px;
}

table.width-250px {
  width: 250px;
}

table.width-300px {
  width: 300px;
}

table.width-350px {
  width: 350px;
}

table.width-400px {
  width: 400px;
}

table.width-450px {
  width: 450px;
}

table.width-500px {
  width: 500px;
}

table.width-550px {
  width: 550px;
}

table.width-600px {
  width: 600px;
}

table.width-650px {
  width: 650px;
}

table.width-700px {
  width: 700px;
}

table th.tal, table td.tal {
  text-align: left;
}

table th.tac, table td.tac {
  text-align: center;
}

table th.tar, table td.tar {
  text-align: right;
}

table th.width-100px, table td.width-100px {
  width: 100px;
}

table th.width-150px, table td.width-150px {
  width: 150px;
}

table th.width-200px, table td.width-200px {
  width: 200px;
}

table th.width-250px, table td.width-250px {
  width: 250px;
}

table th.width-300px, table td.width-300px {
  width: 300px;
}

table th.width-350px, table td.width-350px {
  width: 350px;
}

table th.width-400px, table td.width-400px {
  width: 400px;
}

table th.width-10per, table td.width-10per {
  width: 10%;
}

table th.width-15per, table td.width-15per {
  width: 15%;
}

table th.width-20per, table td.width-20per {
  width: 20%;
}

table th.width-25per, table td.width-25per {
  width: 25%;
}

table th.width-30per, table td.width-30per {
  width: 30%;
}

table th.width-35per, table td.width-35per {
  width: 35%;
}

table th.width-40per, table td.width-40per {
  width: 40%;
}

table th.width-45per, table td.width-45per {
  width: 45%;
}

table th.width-50per, table td.width-50per {
  width: 50%;
}

.datatable1 {
  width: 100%;
  margin: 25px 0;
  padding: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.datatable1 th {
  padding: 15px;
  border-bottom: 1px solid #ddd;
  background-color: #EFF0F0;
  text-align: left;
}

.datatable1 td {
  padding: 15px;
  border-bottom: 1px solid #ccc;
  text-align: left;
}

.datatable1 tr:first-child th {
  border-top: 1px solid #ddd;
}

.datatable1 tr:first-child td {
  border-top: 1px solid #ccc;
}

.datatable2 {
  width: 100%;
  margin: 25px 0;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
}

.datatable2 th {
  padding: 15px;
  border: 1px solid #ccc;
  text-align: left;
  background-color: #EFF0F0;
}

.datatable2 th:last-child {
  /*border-right: none;*/
}

.datatable2 td {
  padding: 15px;
  border: 1px solid #ccc;
  background-color: #fff;
  text-align: left;
}

.datatable2 td:last-child {
  /*border-right: none;*/
}

.datatable3 {
  width: 100%;
  margin: 25px 0;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
}

.datatable3 th {
  padding: 15px;
  border: 1px solid #ccc;
  text-align: left;
  background-color: #EFF0F0;
}

.datatable3 td {
  padding: 15px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  background-color: #fff;
  text-align: left;
}

.table-notice {
  margin-top: -20px;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.marginbottom {
  display: block;
  margin-bottom: 10px;
}

.marginbottomwide {
  display: block;
  margin-bottom: 50px;
}

.margintop {
  display: block;
  margin-top: 10px;
}

.margintopwide {
  display: block;
  margin-top: 50px;
}

table.marginbottom {
  display: table;
}

table.marginbottomwide {
  display: table;
}

table.margintop {
  display: table;
}

table.margintopwide {
  display: table;
}

.pcnone {
  display: none !important;
}

.spnone {
  display: inline-block !important;
}

.co-disp-none {
  display: none !important;
}

.icon {
  display: inline-block;
  min-width: 24px;
  min-height: 24px;
  margin: -2px 5px 0;
  background: center center / 100% auto no-repeat;
  vertical-align: middle;
  text-align: center;
  line-height: 1;
}

.icon--pdf {
  background-image: url(../img/pdf-icon.png);
}

.icon--30px {
  width: 30px;
  height: 30px;
}

.icon--40px {
  width: 40px;
  height: 40px;
}

.icon--50px {
  width: 50px;
  height: 50px;
}

.icon--60px {
  width: 60px;
  height: 60px;
}

.icon--70px {
  width: 70px;
  height: 70px;
}

.icon--80px {
  width: 80px;
  height: 80px;
}

.icon--90px {
  width: 90px;
  height: 90px;
}

.icon--100px {
  width: 100px;
  height: 100px;
}

.icon img {
  vertical-align: middle;
}

.textred {
  color: #E61934;
}

.textorange {
  color: #f60;
}

.textgreen {
  color: #037F15;
}

.textbrown {
  color: #600;
}

.textcocolor {
  color: #D4B100;
}

.textrhcolor {
  color: #FFD400;
}

.texthkcolor {
  color: #BF1826;
}

.longurl {
  word-break: break-all;
}

.tac--pconly {
  text-align: center;
}

.tablewrapper2 {
  width: 50%;
  margin: 0;
}

/* プロジェクト：ページ固有の部品 */
/* TOP */
.home-topimage {
  height: 0;
  padding-top: 33.33%;
  background: url("../../img/topimage_1.jpg?230302") center center/cover;
}

.home-noticebox table {
  width: 100%;
  border: 2px solid #E61934;
  border-radius: 10px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

.home-noticebox table tr:first-child th {
  border-top: none;
}

.home-noticebox table tr:first-child td {
  border-top: none;
}

.home-noticebox table th {
  padding: 5px;
  background: #E61934;
  color: #FFFFFF;
  border: none;
  font-size: 1.8rem;
  text-align: center;
}

.home-noticebox table td {
  padding: 5px;
}

.home-noticebox table td ul {
  margin: 0;
  padding: 0;
}

.home-noticebox table td ul li {
  margin: 0;
  padding: 3px 15px;
  list-style: none;
}

.home-noticebox table td a:link, .home-noticebox table td a:visited, .home-noticebox table td a:active {
  text-decoration: none;
  color: #000000;
}

.home-noticebox table td a:hover {
  color: #5F5F5F;
  text-decoration: none;
}

.home-irsoukai {
  padding-bottom: 15px;
  background-color: #EFF0F0;
}

.home-irsoukai .contentswidth {
  display: flex;
  justify-content: space-between;
}

.home-irsoukai .ir-soukai {
  width: 48%;
  padding: 0;
}

.home-irsoukai .ir-soukai .contentswidth {
  width: 100%;
  display: block;
  padding: 0 0 20px;
  border-top: 8px solid #D4B100;
  background: url(../../img/soukai-bg.jpg) center center/cover;
}

.home-irsoukai .ir-soukai__header {
  padding: 30px 10px;
}

.home-irsoukai .ir-soukai .ringernet {
  margin: 0 auto 15px;
  max-width: 480px;
  text-align: center;
}

.home-irnewrelease {
  position: relative;
  width: 48%;
  padding: 35px 25px 10px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

.home-irnewrelease .list > li a {
  flex-wrap: wrap;
}

.home-irnewrelease .list__title {
  width: 100%;
}

.home-irnewrelease .button, .home-irnewrelease .bottommenu__menu a, .bottommenu__menu .home-irnewrelease a {
  position: absolute;
  top: 30px;
  right: 25px;
  border-width: 1px;
}

.home-brandrelease, .home-inforelease {
  padding: 15px 0;
  background-color: #EFF0F0;
}

.home-brandrelease .contentswidth, .home-inforelease .contentswidth {
  padding: 35px 25px 10px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

.home-brandrelease .contentswidth .button, .home-brandrelease .contentswidth .bottommenu__menu a, .bottommenu__menu .home-brandrelease .contentswidth a, .home-inforelease .contentswidth .button, .home-inforelease .contentswidth .bottommenu__menu a, .bottommenu__menu .home-inforelease .contentswidth a {
  position: absolute;
  top: 30px;
  right: 25px;
  border-width: 1px;
}

.home-inforelease {
  padding-bottom: 50px;
}

.home-factory__header {
  margin: 0 0 15px;
  padding: 0;
  font-size: 3.6rem;
  font-weight: normal;
  text-align: center;
}

.home-factory__icon {
  display: inline-block;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: url(../img/pan-icon-wh.png) center center/50px auto no-repeat #D4B100;
}

.home-factory__text {
  text-align: center;
  font-size: 1.6rem;
}

.home-factory__image1 {
  height: 0;
  padding-top: 33.33%;
  background: url(../../img/factory-photo_1.jpg) center center/100% auto no-repeat;
}

.home-factory__image2 {
  height: 220px;
  margin-bottom: 10px;
  padding-top: 0;
  background: url(../../img/factory-photo_2.jpg?2407) center center/auto 100% repeat-x;
  animation: factoryimage1 100s linear infinite;
}

@keyframes factoryimage1 {
  0% {
    background-position: -700px 100%;
  }
  100% {
    background-position: -2650px 100%;
  }
}

.home-factory__image3 {
  height: 220px;
  padding-top: 0;
  background: url(../../img/factory-photo_3.jpg?2407) center center/auto 100% repeat-x;
  animation: factoryimage2 100s linear infinite;
}

@keyframes factoryimage2 {
  0% {
    background-position: 500px 100%;
  }
  100% {
    background-position: 2450px 100%;
  }
}

.home-banner {
  background-color: rgba(212, 177, 0, 0.2);
}

.home-banner .contentswidth {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.home-banner__uchimura {
  display: block;
  width: 47.5%;
  margin-bottom: 50px;
}

.home-banner__uchimura a {
  display: block;
  height: 0;
  padding-top: 73.68%;
  background: url(../../img/uchimura-banner.jpg) center center/100% auto no-repeat;
}

.home-banner__recruit {
  display: block;
  width: 47.5%;
}

.home-banner__recruit a {
  display: block;
  height: 0;
  padding-top: 73.68%;
  background: url(../../img/recruit-banner.jpg) center center/100% auto no-repeat;
}

.home-banner__threeminutes {
  display: block;
  width: 47.5%;
}

.home-banner__threeminutes a {
  display: block;
  height: 0;
  padding-top: 73.68%;
  background: url("../../img/threeminutes-banner.jpg") center center/100% auto no-repeat;
}

.home-banner__zaidan2 {
  display: block;
  width: 47.5%;
}

.home-banner__zaidan2 a {
  display: block;
  height: 0;
  padding-top: 73.68%;
  background: url(../../img/zaidan-banner.jpg) center center/100% auto no-repeat;
}

.home-banner__zaidan {
  display: block;
  width: 100%;
}

.home-banner__zaidan a {
  display: block;
  height: 0;
  margin-bottom: 0;
  padding-top: 25%;
  background: url(../../img/zaidan-banner_2.png) right center/47.5% auto no-repeat, url(../../img/zaidan-banner_1.jpg) left center/53% auto no-repeat;
}

.home-60th {
  background: #ddd8d3;
  padding: 50px 0;
}

.home-60th figure {
  margin: 0;
}

/* 3分でわかるリンガーハット */
.threeminutes {
  padding: 25px 0 25px;
  background: url(../img/mesh-wh-bg.png) center center, url(../../img/threeminutes-bg.jpg) center center/cover no-repeat;
}

.threeminutes .contentswidth {
  display: flex;
  flex-wrap: wrap;
}

.threeminutes__header {
  width: 48%;
  margin: 0;
  padding: 0;
}

.threeminutes__body {
  width: 48%;
  margin: 0;
  padding: 130px 0 0;
}

.threeminutes .buttonbox {
  width: 100%;
  padding-top: 25px;
}

.threeminutes .button:hover, .threeminutes .bottommenu__menu a:hover, .bottommenu__menu .threeminutes a:hover {
  background-color: #BF1826;
}

.threeminutes-header {
  position: relative;
  display: flex;
  margin-bottom: 100px;
}

.threeminutes-header__header {
  width: 37%;
  position: relative;
}

.threeminutes-header__header img {
  position: absolute;
  height: 320px;
  right: 100px;
}

.threeminutes-header__photo {
  width: 63%;
}

.threeminutes-header__photo img {
  width: 100%;
}

.threeminutes-header__phototitle {
  position: absolute;
  left: 50%;
  bottom: 30px;
  margin-left: -10%;
  color: #fff;
  font-size: 4.0rem;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.threeminutes-body__header {
  background-color: #EFF0F0;
  margin: 0 0 50px;
  padding: 15px 40px;
  border-top: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  font-size: 3.6rem;
}

.threeminutes-body__contents {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.threeminutes-body__contents div {
  flex: auto;
}

.threeminutes-body__contents figure {
  width: 45%;
  flex: 0 0 45%;
  padding: 0 0 0 30px;
}

.threeminutes-history {
  padding-top: 100px;
}

.threeminutes-history__photocaption {
  position: absolute;
  width: 35%;
  left: 50%;
  bottom: 0;
  margin-left: -500px;
  font-size: 1.2rem;
  line-height: 1.5;
}

.threeminutes-history__worker {
  padding: 25px 10px;
  border: 3px solid #BF1826;
}

.threeminutes-philosophy__five {
  display: table;
  margin-bottom: 50px;
}

.threeminutes-philosophy__five h4 {
  display: table-cell;
  width: 3.5em;
  vertical-align: middle;
  font-size: 2.8rem;
  color: #BF1826;
  font-weight: bold;
  border-right: 1px solid #ddd;
}

.threeminutes-philosophy__five div {
  display: table-cell;
  padding-left: 1em;
}

.threeminutes-philosophy__five div ul {
  margin: 0;
  padding: 0;
}

.threeminutes-philosophy__five div ul li {
  position: relative;
  margin: 0;
  padding: 0 0 0 1.5em;
  list-style: none;
  font-size: 1.6rem;
  font-weight: bold;
}

.threeminutes-philosophy__five div ul li span {
  position: absolute;
  top: 0;
  left: 0;
}

.threeminutes-philosophy__brand {
  display: flex;
  justify-content: space-between;
}

.threeminutes-philosophy__brand > * {
  width: 47.5%;
  padding: 0;
  border: 1px solid #ddd;
}

.threeminutes-philosophy__brand > *:first-child {
  background-color: #FFD400;
}

.threeminutes-philosophy__brand > *:last-child {
  background-color: #BF1826;
  color: #fff;
}

.threeminutes-philosophy__brandlogo {
  padding: 25px 45px;
  background-color: #fff;
}

.threeminutes-philosophy__brandbody {
  margin: 0;
  padding: 25px 40px;
}

.threeminutes-philosophy__brandbody h4 {
  margin: 0 0 15px;
  padding: 0;
  font-size: 2.4rem;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.threeminutes-outline__factory {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.threeminutes-outline__factory > * {
  width: 32%;
}

.threeminutes-outline__factory figure {
  margin: 0;
}

.threeminutes-outline__factory figcaption {
  margin: 15px 0 0;
  padding-left: 15px;
  border-left: 1px solid #ddd;
}

.threeminutes-outline__factory figcaption div {
  margin-bottom: 5px;
  font-size: 1.8rem;
  font-weight: bold;
}

.threeminutes-outline__photocaption {
  position: absolute;
  width: 35%;
  left: 50%;
  bottom: 0;
  margin-left: -500px;
  font-size: 1.2rem;
  line-height: 1.5;
}

.threeminutes-outline__group {
  margin: 0 0 50px;
}

.threeminutes-outline__group > dt {
  margin: 0 0 5px;
  padding: 0;
  font-weight: bold;
  font-size: 1.8rem;
}

.threeminutes-outline__group > dd {
  margin: 0 0 10px;
  padding: 0;
}

.threeminutes-outline__group img {
  height: 259px;
}

.threeminutes-outline__officer {
  display: flex;
}

.threeminutes-outline__officer > *:first-child {
  margin-right: 30px;
}

.threeminutes-grouplist {
  background: url(../../three_minutes/img/outline-list-bg.png) center center #f1f1f1 repeat-y;
}

.threeminutes-grouplist h2 {
  margin: 0;
  padding: 0 0 50px;
  font-weight: normal;
}

.threeminutes-grouplist__list {
  margin: 0 0 50px;
  padding: 0;
}

.threeminutes-grouplist__list > * {
  margin: 0 0 0 100px;
  padding: 15px 0;
  list-style: none;
  border-bottom: 1px solid #ddd;
}

.threeminutes-grouplist a {
  display: flex;
}

.threeminutes-grouplist a:link, .threeminutes-grouplist a:visited, .threeminutes-grouplist a:active {
  color: #000;
  text-decoration: none;
}

.threeminutes-grouplist a:hover {
  color: #000;
  text-decoration: none;
}

.threeminutes-grouplist__thumb {
  width: 250px;
  text-align: center;
}

.threeminutes-grouplist__thumb img {
  height: 80px;
}

.threeminutes-grouplist__name {
  padding: 0 0 0 50px;
}

.threeminutes-grouplist__name strong {
  display: block;
  margin: 0 0 5px;
  font-size: 1.8rem;
}

.pannelbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.pannelbox__pannel {
  width: 47.5%;
  margin-bottom: 50px;
  padding: 0;
  background-color: #fff;
  border-radius: 10px;
}

.pannelbox__pannel:hover {
  transition-duration: .25s;
  background-color: rgba(255, 255, 255, 0.75);
}

.pannelbox__pannel--one, .pannelbox__pannel--eat {
  width: 100%;
}

.pannelbox__pannelleft {
  width: 500px;
}

.pannelbox__pannelleft figure {
  margin: 0;
}

.pannelbox__pannel--eat .pannelbox__pannelleft {
  background: url(../../csr/img/eat-photo.jpg) center center/cover;
}

.pannelbox__pannel--eat .pannelbox__pannelleft img {
  display: none;
}

.pannelbox__pannelright {
  position: relative;
  width: 425px;
}

.pannelbox__pannelright > div {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.pannelbox__pannel--eat .pannelbox__pannelright > div {
  position: static;
}

.pannelbox__eatheader {
  width: 100%;
  margin: 0 0 20px;
  text-align: center;
  font-size: 1.8rem;
}

.pannelbox__link {
  display: block;
  height: 100%;
  padding: 25px;
  border-radius: 10px;
}

.pannelbox__pannel--one .pannelbox__link,
.pannelbox__pannel--eat .pannelbox__link {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  height: auto;
}

.pannelbox__link:link, .pannelbox__link:visited, .pannelbox__link:active {
  color: #000;
  text-decoration: none;
}

.pannelbox__link:hover {
  color: #000;
  text-decoration: none;
}

.pannelbox__title {
  position: relative;
  margin: 0 0 5px;
  padding: 0 0 0 25px;
  line-height: 1.25;
  font-size: 2.0rem;
}

.pannelbox__title::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/10px auto no-repeat #D4B100;
}

.pannelbox p {
  margin: 0;
}

/* 企業情報 */
.corporateindex-list {
  background-color: #F8F1D4;
}

/* CSR */
.csrindex__contentsheader {
  margin: 0 0 50px;
  padding: 0;
  text-align: center;
  font-weight: normal;
  font-size: 2.4rem;
}

.csrindex-report, .csrindex-safety, .csrindex-activity {
  padding-bottom: 0;
  background-color: #F8F1D4;
}

.csrindex-report {
  padding-bottom: 0;
}

.csr-ringer_gou__window {
  max-width: 840px;
}

.workstyle-catch p {
  font-size: 2.4rem;
  text-align: center;
  color: #C41844;
  font-weight: bold;
}

.workstyle-header1 {
  margin: 0 0 50px;
  padding: 0 0 10px;
  border-bottom: 1px solid #C41844;
  font-size: 2.4rem;
  font-weight: normal;
}

.workstyle-background__photo {
  display: flex;
  justify-content: space-between;
  margin-top: 25px;
}

.workstyle-background__photo > * {
  width: 330px;
  height: auto;
}

.workstyle-goal__header {
  position: relative;
  margin: 0 0 25px;
  padding: 0 0 0 4em;
}

.workstyle-goal__header span {
  position: absolute;
  top: 0;
  left: 0;
  color: #C41844;
}

.workstyle-goal__graph {
  text-align: center;
}

.workstyle-header2 {
  margin: 0 0 50px;
  padding: 10px;
  background-color: #C41844;
  font-size: 3.0rem;
  font-weight: normal;
  color: #fff;
  letter-spacing: .1em;
  text-align: center;
}

.workstyle-activity {
  background-color: #F9E8EC;
}

.workstyle-activity__listbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 860px;
  margin: 0 auto;
}

.workstyle-activity__listbox > * {
  width: 380px;
  margin-bottom: 50px;
}

.workstyle-activity__listbox figure {
  margin-bottom: 25px;
}

.workstyle-activity__title {
  margin: 0 0 10px;
  padding: 0;
  color: #C41844;
  font-weight: bold;
  font-size: 1.8rem;
}

.workstyle-recruit {
  border-bottom: 1px solid #EFF0F0;
}

.workstyle-recruit__banner {
  display: block;
  height: 245px;
  background: url(../../csr/workstyle/img/recruit-banner-pc.jpg) center center/cover no-repeat;
}

.workstyle-header3 {
  margin: 0 0 20px;
  color: #C41844;
  font-size: 2.4rem;
  font-weight: bold;
}

.workstyle-leaderfeature {
  background-color: #F9E8EC;
}

.workstyle-leaderfeature__bgbox {
  background: #fff;
  border-radius: 10px;
  margin: 0 auto;
  padding: 25px;
  font-size: 1.6rem;
}

.workstyle-leadervoice {
  background: #F9E8EC;
  padding: 25px;
  border-radius: 10px;
}

.workstyle-underline {
  -webkit-text-decoration: underline solid #C41844;
          text-decoration: underline solid #C41844;
  font-weight: bold;
  color: #C41844;
}

.booklist {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.booklist li {
  margin: 0 0 10px;
  padding: 10px 0;
  border-bottom: 1px solid #e5e5e5;
}

.booklist li:last-child {
  border-bottom: 0px;
}

.booklist li .icon {
  margin-left: 15px;
  margin-right: 0px;
}

/* IR情報 */
.ir-soukai {
  width: 100%;
  padding: 0 0 50px;
}

.ir-soukai__header {
  margin: 0;
  padding: 45px 20px;
  text-align: center;
  font-size: 3.6rem;
  font-weight: bold;
  color: #fff;
}

.ir-soukai__header span {
  display: block;
  font-size: 1.6rem;
}

.ir-soukai__list {
  margin: 0;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
}

.ir-soukai__list > li {
  width: 48%;
  margin: 0;
  padding: 0;
  background-color: #fff;
  border: 2px solid #D4B100;
  border-radius: 10px;
  list-style: none;
}

.ir-soukai__list > li:hover {
  transition-duration: .25s;
  opacity: .8;
}

.ir-soukai__list a {
  display: block;
  text-align: center;
  padding: 0 0 20px;
  font-weight: bold;
  font-size: 1.6rem;
}

.ir-soukai__list a:link, .ir-soukai__list a:visited, .ir-soukai__list a:active {
  color: #D4B100;
  text-decoration: none;
}

.ir-soukai__list a:hover {
  color: #D4B100;
  text-decoration: none;
}

.ir-soukai__movieicon {
  display: block;
  height: 170px;
  background: url(../img/movie-icon.png?202206) center center/150px auto no-repeat;
}

.ir-soukai__dataicon {
  display: block;
  height: 170px;
  background: url(../img/data-icon.png?202206) center center/150px auto no-repeat;
}

.irindex__contentsheader {
  margin: 0 0 25px;
  padding: 0;
  text-align: center;
  font-weight: normal;
  font-size: 2.8rem;
}

.irindex-stockholder, .irindex-library, .irindex-other {
  background-color: #F8F1D4;
  padding-bottom: 0;
}

.irindex-stockholder .contentswidth, .irindex-library .contentswidth, .irindex-other .contentswidth {
  padding: 25px 25px 5px;
  background-color: #fff;
}

.irindex-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

.irindex-menu li {
  width: 222px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.irindex-menu--two li {
  width: 464px;
}

.irindex-menu--three li {
  width: 304px;
}

.irindex-menu a {
  position: relative;
  display: block;
  height: 60px;
  text-align: center;
  line-height: 1.25;
  border: 1px solid #D4B100;
  /*font-size:1.6rem;*/
}

.irindex-menu a:link, .irindex-menu a:visited, .irindex-menu a:active {
  color: #000;
  text-decoration: none;
}

.irindex-menu a:hover {
  color: #fff;
  text-decoration: none;
  background-color: #D4B100;
}

.irindex-menu a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin-top: -7px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/11px auto no-repeat #D4B100;
}

.irindex-menu__single {
  padding: 20px 40px 0 10px;
}

.irindex-menu__double {
  padding: 12px 40px 0 10px;
}

.irindex-stockholder .ir-soukai {
  padding-bottom: 0;
  background: transparent;
}

.irindex-stockholder .ir-soukai .contentswidth {
  padding: 45px 25px;
  background: url(../../img/soukai-bg.jpg) center center/cover;
}

.irindex-stockholder .ir-soukai__header {
  margin: 0;
  padding: 0 0 30px;
}

.irindex-stockholder .ir-soukai__list {
  padding-bottom: 25px;
}

.irindex-stockholder .ir-soukai .ringernet {
  margin: 25px auto;
  max-width: initial;
  text-align: center;
}

.irindex-other {
  padding-bottom: 50px;
}

.irindex-mail {
  background: url(../../ir/img/mail-bg.png) top right/auto 95% no-repeat;
  border-bottom: 1px solid #ddd;
}

.irindex-mail .contentswidthnarrow {
  width: 780px;
}

.irindex-stock_price {
  margin-bottom: 25px;
  padding: 75px 0 20px;
  background: url(../../ir/img/irindex-stock_price-bg.jpg) center center/cover no-repeat;
}

.irindex-stock_price .button, .irindex-stock_price .bottommenu__menu a, .bottommenu__menu .irindex-stock_price a {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.irindex-stock_price .button-fs20 {
  font-size: 2.0rem;
}

/* 工場紹介 */
.factory-topmovie__movie {
  position: relative;
  margin: 0 0 50px;
}

.factory-topmovie__movie video {
  width: 100%;
}

.factory-topmovie__filter {
  position: absolute;
  top: 0;
  left: 0;
}

.factory-topmovie__menu {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.factory-topmovie__menu > li {
  flex: 0 1 300px;
  padding: 0;
  list-style: none;
  background-color: #F8F1D4;
}

.factory-topmovie__menu > li:not(:last-of-type) {
  margin: 0 30px 0 0;
}

.factory-topmovie__menu a {
  display: block;
  text-align: center;
  font-size: 1.8rem;
}

.factory-topmovie__menu a:link, .factory-topmovie__menu a:visited, .factory-topmovie__menu a:active {
  color: #000;
  text-decoration: none;
}

.factory-topmovie__menu a:hover {
  color: #fff;
  text-decoration: none;
  background-color: #D4B100;
}

.factory-topmovie__menuicon {
  padding: 10px 0;
  background-color: #D4B100;
  text-align: center;
}

.factory-topmovie__menuicon img {
  width: 80px;
}

.factory-topmovie__menutitle {
  margin: 0;
  padding: 5px 0;
  line-height: 1.5;
}

.factory__contentsheader {
  margin: 0 0 50px;
  padding: 0;
  text-align: center;
  font-size: 2.8rem;
  font-weight: normal;
}

.factory-kodawari {
  padding-bottom: 100px;
  background: url(../../factory/img/kodawari-bg_2.png) center bottom/808px auto no-repeat, url(../../factory/img/kodawari-bg.jpg) right center/auto 100% no-repeat;
  border-bottom: 1px solid #D4B100;
}

.factory-kodawari__body {
  width: 51%;
}

.factory-kodawari__body p {
  margin-bottom: 35px;
}

.factory-minasan {
  background-color: #F8F1D4;
}

.factory-minasan__photo {
  display: flex;
  margin: 0 0 50px;
}

.factory-minasan__message {
  margin: 0 0 50px;
  text-align: center;
}

.factory-minasan__brand {
  display: flex;
  justify-content: space-between;
}

.factory-minasan__brand > * {
  display: flex;
  width: 47.5%;
  padding: 25px 0;
  border-radius: 10px;
  background-color: #fff;
}

.factory-minasan__brand > * > * {
  width: 50%;
}

.factory-minasan__brand > * > *:last-child {
  padding-right: 25px;
}

.factory-minasan__brand h3 {
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 1.4rem;
  font-weight: normal;
}

.factory-minasan__brand h3 img {
  display: inline-block;
  margin: 0 0 10px;
}

.factory-minasan__brand .button, .factory-minasan__brand .bottommenu__menu a, .bottommenu__menu .factory-minasan__brand a {
  width: 100%;
  padding: 20px 10px;
  text-align: left;
  font-weight: normal;
  font-size: 1.8rem;
}

.factory-factory__body {
  display: flex;
}

.factory-factory__body > * {
  width: 33.33%;
  border-right: 1px solid #fff;
  background-color: #EFF0F0;
  text-align: center;
}

.factory-factory__body > *:last-child {
  border: none;
}

.factory-factory__title {
  margin: 50px  0 50px;
  padding: 0;
  font-size: 2.8rem;
}

.factory-factory__address {
  margin: 0 0 50px;
}

.factory-factory__data {
  width: 70%;
  margin: 0 auto 50px;
}

.factory-factory__data table {
  width: 100%;
  margin-bottom: 50px;
  border: none;
  border-collapse: separate;
  border-spacing: 0;
}

.factory-factory__data table th {
  padding: 10px 15px;
  border-bottom: #EFF0F0 2px solid;
  background-color: #ddd;
  text-align: center;
}

.factory-factory__data table td {
  padding: 10px 15px;
  border-bottom: #EFF0F0 2px solid;
  background-color: #fff;
  text-align: center;
}

.factory-factory .button, .factory-factory .bottommenu__menu a, .bottommenu__menu .factory-factory a {
  width: 100%;
  padding: 15px;
  font-size: 2.0rem;
}

.factory-factory .button::after, .factory-factory .bottommenu__menu a::after, .bottommenu__menu .factory-factory a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin-top: -7px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/11px auto no-repeat #D4B100;
}

.factory-intern__catch {
  text-align: center;
}

.factory-intern__title {
  margin-top: 50px;
  display: flex;
  flex-direction: row-reverse;
  background-color: #E6D0AD;
}

.factory-intern__titletext {
  width: 50%;
}

.factory-intern__titletextwrapper {
  position: relative;
  width: 500px;
  height: 100%;
}

.factory-intern__titleicon {
  margin: 0 0 50px;
  padding-top: 50px;
  text-align: center;
}

.factory-intern__titleicon img {
  width: 100px;
}

.factory-intern__titlecatch {
  padding: 0 0 0 50px;
  color: #fff;
  font-size: 2.6rem;
}

.factory-intern__titlename {
  position: absolute;
  bottom: 20px;
  right: 0;
}

.factory-intern__titlenamename {
  font-size: 2.8rem;
}

.factory-intern__titlenamename span {
  font-size: 2.0rem;
}

.factory-intern__titlephoto {
  width: 50%;
}

.factory-intern__body {
  background-color: #F7F1E6;
  padding-bottom: 50px;
}

.factory-intern .contentswidth {
  background-color: #fff;
}

.factory-intern__interview {
  width: 700px;
  margin: 0 auto;
  padding: 50px 0 25px;
}

.factory-intern__interview dt {
  margin: 0 0 25px;
  padding: 0;
  font-weight: bold;
  line-height: 1.75;
  font-size: 1.6rem;
}

.factory-intern__interview dd {
  margin: 0 0 25px;
  padding: 0;
}

.factory-intern__interview dd p {
  margin: 0;
}

.factory-intern__interviewphoto {
  text-align: center;
}

.factory-internbanner a {
  display: block;
  height: 0;
  padding-top: 25%;
  background: url(../../factory/common/img/intern-banner-pc.jpg) center center/100% auto no-repeat;
}

.factory-report__header {
  margin: 0 0 50px;
  padding: 0;
  text-align: center;
  font-size: 2.8rem;
  font-weight: normal;
}

.factory-report__photo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

.factory-report__photo > * {
  position: relative;
  width: 30%;
  margin: 0 0 50px;
  padding: 0;
  list-style: none;
}

.factory-report__photo a:link, .factory-report__photo a:visited, .factory-report__photo a:active {
  color: #fff;
  text-decoration: none;
}

.factory-report__photo a:hover {
  color: #fff;
  text-decoration: none;
}

.factory-report__photo figure {
  margin: 0;
}

.factory-report__photo figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
}

.factory-report__photo figcaption::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 15px;
  margin-top: -7px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/11px auto no-repeat #D4B100;
}

.factory-detail {
  padding-top: 100px;
  background-color: #F8F1D4;
}

.factory-detail__box {
  display: flex;
  margin: 0 0 50px;
  padding: 0;
  background-color: #fff;
}

.factory-detail__box:nth-child(2n) {
  flex-direction: row-reverse;
}

.factory-detail__box:nth-child(2n) .factory-detail__num {
  text-align: left;
}

.factory-detail__slider {
  width: 600px;
}

.factory-detail__slider figcaption {
  margin: 0;
  padding: 25px 50px 0;
  text-align: center;
  line-height: 1.5;
}

.factory-detail__textbox {
  position: relative;
  width: 400px;
}

.factory-detail__num {
  width: 400px;
  text-align: right;
}

.factory-detail__num img {
  width: 300px;
}

.factory-detail__text {
  /*position: absolute;
			bottom:15px;
			right:75px;*/
  margin: 0 auto;
  width: 250px;
}

.factory-detail__text h2 {
  margin: 0 0 15px;
  padding: 0 0 15px;
  border-bottom: 1px solid #ddd;
  font-weight: normal;
  font-size: 2.8rem;
}

.factory-pointwindow__photo {
  margin: 0 0 25px;
  padding: 0;
  text-align: center;
}

.factory-pointwindow__header {
  padding: 10px;
  background-color: #D4B100;
  text-align: center;
  color: #fff;
  font-size: 2.0rem;
}

.factory-pointwindow__header img {
  width: 40px;
}

.factory-pointwindow p {
  text-align: center;
}

.factory-kyoto_market__marchth {
  width: 47%;
}

.factory__market__readtxt {
  padding: 0;
  margin: 0 0 35px;
  font-size: 1.6rem;
  line-height: 1.75;
}

.factory__market__gallery .photo {
  padding: 0 10px;
  margin: 0;
  text-align: center;
}

.factory__market__flexbox {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.factory__market__flexbox .market-item {
  flex: 0 0 380px;
  padding: 0;
  margin: 0 0 35px;
}

.factory__market__summary {
  padding: 0;
  margin: 20px auto;
  max-width: 860px;
}

.factory__market__summary .datatable1 {
  font-size: 1.6rem;
}

.factory__accordion {
  padding: 0;
  margin: 30px auto;
}

.factory__accordion__head {
  margin: 0 0 30px;
  padding: 15px 60px 15px 30px;
  position: relative;
  border: 2px solid #D4B100;
  border-radius: 3px;
  background-color: #fff;
  font-size: 2rem;
  font-weight: normal;
  line-height: 1.25;
  color: #000;
  cursor: pointer;
  transition: all .3s 0s ease-out;
}

.factory__accordion__head .ui-marker {
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  z-index: 1;
}

.factory__accordion__head .ui-marker::before {
  content: "";
  display: inline-block;
  border-top: 15px solid #D4B100;
  border-bottom: none;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
}

.factory__accordion__head:hover {
  background-color: #D4B100;
  color: #fff;
}

.factory__accordion__head:hover .ui-marker::before {
  border-top-color: #fff;
}

.factory__accordion__head.is-open .ui-marker::before {
  border-top: none;
  border-bottom: 15px solid #D4B100;
}

.factory__accordion__head.is-open:hover .ui-marker::before {
  border-bottom-color: #fff;
}

.factory__accordion__contents {
  margin: 0;
  padding: 0 0 45px;
}

.factory__accordion__contents .ddelemwrap {
  margin: 0 auto;
  max-width: 860px;
}

.factory__accordion__contents .ddelemwrap .tradename {
  font-size: 1.8rem;
  line-height: 1.4;
  text-align: center;
}

/* 事業紹介 */
.businessindex__header {
  margin: 0 0 50px;
  padding: 0;
  text-align: center;
  font-size: 2.8rem;
  font-weight: normal;
}

.businessindex-list {
  background-color: #F8F1D4;
}

.businessindex-list__list {
  position: relative;
  margin: 0;
  padding: 0;
}

.businessindex-list__item {
  position: relative;
  margin: 0 0 25px;
  padding: 0;
  background-color: #fff;
  list-style: none;
}

.businessindex-list__item > * {
  display: flex;
}

.businessindex-list__item a:link, .businessindex-list__item a:visited, .businessindex-list__item a:active {
  color: #000;
  text-decoration: none;
}

.businessindex-list__item a:hover {
  color: #000;
  text-decoration: none;
}

.businessindex-list__item a:hover .businessindex-list__description {
  display: block;
  animation-duration: 0.5s;
  animation-name: fade-in;
}

.businessindex-list__thumb {
  width: 55%;
}

.businessindex-list__text {
  width: 45%;
  padding: 25px;
}

.businessindex-list__logo {
  margin: 40px 0 30px;
  text-align: center;
}

.businessindex-list__logo img {
  height: 120px;
}

.businessindex-list__brandname {
  font-size: 2.0rem;
  text-align: center;
}

.businessindex-list__description {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 290px;
  padding-top: 100px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  text-align: center;
}

.businessindex-list__description span {
  position: absolute;
  bottom: 10px;
  right: 20px;
}

.businessindex-list__description span::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 0 0 5px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/11px auto no-repeat #D4B100;
}

.businessindex-oversea__youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.businessindex-oversea__youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.businessindex-oversea__map {
  margin: 0;
  padding: 0;
  text-align: center;
}

.businessindex-oversea__mapimage {
  width: 690px;
  margin: 0 auto;
  padding: 0;
  position: relative;
}

.businessindex-oversea__maplist {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.businessindex-oversea__maplist li {
  position: absolute;
}

.businessindex-oversea__maplist li a {
  display: block;
  transition: 0.5s;
}

.businessindex-oversea__maplist li a:hover {
  opacity: 0.5;
}

.businessindex-oversea__maplist li.bangkok-hk {
  top: 1%;
  left: 3%;
}

.businessindex-oversea__maplist li.bangkok-rh {
  top: 1%;
  left: 27%;
}

.businessindex-oversea__maplist li.hongkong-rh {
  top: 1%;
  left: 51%;
}

.businessindex-oversea__maplist li.california-rh {
  top: 1%;
  left: 75%;
}

.businessindex-oversea__maplist li.hawaii-rh {
  top: 28%;
  left: 75%;
}

.businessindex-oversea__maplist li.hawaii-hk {
  top: 57%;
  left: 75%;
}

.businessindex-oversea__maplist li.phnompenh-rh {
  bottom: 2%;
  left: 3%;
}

.businessindex-oversea__maplist li.jakarta-rh {
  bottom: 2%;
  left: 27%;
}

.businessindex-oversea__maplist li.hochiminh-rh {
  bottom: 2%;
  left: 51%;
}

.businessindex-oversea__maplist li.taipei-rh {
  bottom: 2%;
  left: 75%;
}

.businessindex-group {
  background-color: #F8F1D4;
}

.businessindex-group__grouplist {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

.businessindex-group__grouplist > li {
  position: relative;
  width: 30%;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #fff;
}

.businessindex-group__grouplist a {
  display: block;
}

.businessindex-group__grouplist a:link, .businessindex-group__grouplist a:visited, .businessindex-group__grouplist a:active {
  color: #000;
  text-decoration: none;
}

.businessindex-group__grouplist a:hover {
  color: #000;
  text-decoration: none;
}

.businessindex-group__grouplist a:hover .businessindex-group__description {
  display: block;
  animation-duration: 0.5s;
  animation-name: fade-in;
}

.businessindex-group__photo {
  margin: 0;
  padding: 0;
}

.businessindex-group__logo {
  margin: 20px 0;
  padding: 0;
  text-align: center;
}

.businessindex-group__logo img {
  height: 80px;
}

.businessindex-group__name {
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
  font-size: 1.8rem;
}

.businessindex-group__description {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 220px;
  padding: 15px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
}

.businessindex-group__description span {
  position: absolute;
  bottom: 10px;
  right: 20px;
}

.businessindex-group__description span::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 0 0 5px;
  border-radius: 50%;
  background: url(../img/arrow_1-wh.png) center center/11px auto no-repeat #D4B100;
}

/* リンガー号レポート */
.ringergoureport-formbutton {
  text-align: center;
}

.ringergoureport-list__photo {
  background: none;
  margin-bottom: 10px;
}

.ringergoureport-list__photo img {
  display: inline-block;
  padding: 5px;
  border: 1px solid #ddd;
}

.ringergoureport-list__title {
  margin-bottom: 10px;
  text-align: center;
  font-size: 1.6rem;
}

.ringergoureport-list .button, .ringergoureport-list .bottommenu__menu a, .bottommenu__menu .ringergoureport-list a {
  width: 100%;
}

.ringergoureport-list a {
  text-decoration: none;
}

.ringergoureport-mainheader {
  padding: 0;
}

.ringergoureport-mainheader__header {
  margin: 0 0 40px;
  padding: 220px 40px 60px 470px;
  background: url(../../ringer_gou_report/img/mainheader-bg.jpg?2302) center top no-repeat;
  text-align: center;
  font-weight: normal;
}

.ringergoureport-mainheader__no {
  display: block;
  color: #600;
  font-size: 2.0rem;
  font-weight: 800;
}

.ringergoureport-mainheader__name {
  display: block;
  color: #600;
  font-size: 3.4rem;
  font-weight: 800;
}

.ringergoureport-photo {
  margin: 0;
  padding: 0;
  text-align: center;
}

.ringergoureport-photo__photo {
  display: inline-block;
  margin: 0 0 10px;
  padding: 5px;
  background-color: #fff;
  border: 1px solid #ddd;
}

.ringergoureport-photo figcaption {
  margin: 0 0 40px;
  padding: 0;
}

.ringergoureport-photo--full .ringergoureport-photo__photo {
  width: 50%;
}

/* IR 更新情報 */
#divDataArea dl {
  margin: 25px 0;
  padding: 0;
  width: 100%;
  overflow: hidden;
  border-bottom: 1px solid #ddd;
}

#divDataArea dl img {
  margin-left: 5px;
}

#divDataArea dl > dt {
  margin: 0;
  padding: 15px 0 10px 15px;
  color: #D4B100;
  width: 25%;
  float: left;
  border-top: 1px solid #ddd;
  box-sizing: border-box;
}

#divDataArea dl > dd {
  margin-left: 25%;
  padding: 15px 0 10px 15px;
  border-top: 1px solid #ddd;
}

/* 過去の株価検索 */
#stockresult {
  width: 100%;
  text-align: center;
  font-size: 2.0rem;
  font-weight: bold;
  background-color: #ddd;
  margin: 20px 0 30px 0;
  padding: 20px 0 20px 0;
  border: 1px solid #CDC4A6;
}

/* IR 決算短信　有価証券報告書 取引所公開リリース 月次レポート*/
/* 決算公告*/
.connection_companylist {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  margin: 0;
}

.connection_companylist > * {
  margin: 0 0 25px;
  padding: 0;
  list-style: none;
}

.connection_companylist--two > * {
  width: 48.33%;
}

.connection_companylist--three > * {
  width: 31.11%;
}

.connection_companylist--three .flexcontainer__two {
  width: 64.22%;
}

.connection_companylist--four > * {
  width: 22.5%;
}

.connection_companylist--four .flexcontainer__two {
  width: 47.5%;
}

.connection_companylist--four .flexcontainer__three {
  width: 72.5%;
}

.connection_companylist--reverse {
  flex-direction: row-reverse;
}

/* SNS公式アカウントページ */
.sns__container {
  display: block;
  margin: 0 0 60px;
  padding: 0;
}

.sns__contentsh {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-wrap: nowrap;
  padding: 0;
  margin: 0 0 30px;
  border-bottom: 1px solid #D4B100;
}

.sns__contentsh > * {
  display: block;
  margin: 0;
  border-bottom: 4px solid #D4B100;
}

.sns__contentsh .logo {
  flex: 0 0 50px;
  padding: 0 0 10px;
}

.sns__contentsh .brand {
  flex: 0 1 auto;
  padding: 0 0 10px 10px;
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 1.2;
  text-align: left;
}

.sns__listblock {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.sns__listblock .elem {
  display: block;
  flex: 0 0 60px;
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
}

.sns__listblock .elem:not(:last-of-type) {
  margin-right: 50px;
}

.sns__listblock .elem:hover {
  opacity: .75;
}

/* 株主通信ページ */
.report__container:not(:last-of-type) {
  padding: 0 0 50px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 50px;
}

.report__termhead {
  margin: 0 0 30px;
  padding: 0;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  color: #D4B100;
}

.report__contentsbox {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  padding: 0;
  margin: 0 auto;
}

.report__contentsbox > * {
  display: block;
  flex: 0 0 48.5%;
  margin: 0;
  padding: 0;
}

.report__elembox {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  padding: 0;
  margin: 0;
}

.report__elembox .photo {
  flex: 0 0 45%;
  margin: 0;
  padding: 0;
  text-align: center;
}

.report__elembox .photo img {
  border: 1px solid #eee;
}

.report__elembox .detail {
  flex: 0 0 55%;
  margin: 0;
  padding: 0 0 0 15px;
}

.report__elembox .detail .detailhead {
  margin: 0 0 15px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
}

.report__elembox .detail a.linkbtn {
  display: block;
  padding: 12px 25px 12px 10px;
  margin: 0;
  background-color: #fff;
  border: 1px solid #ddd;
  background: url("../../ir/common/img/pdf-icon_mid.gif") right 14px center/14px auto no-repeat #fff;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  color: #333;
}

.report__elembox .detail a.linkbtn:hover {
  background-color: #F8F1D4;
  border-color: #D4B100;
}

.report__elembox .detail .pdfsize {
  padding: 5px 0 0;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  text-align: right;
  color: #999;
}

.report__backnumber {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 45px auto 10px;
  padding: 0;
}

.report__backnumber__elem {
  display: block;
  flex: 0 0 49.5%;
  margin: 0 0 30px;
  padding: 0;
}

.report__backnumber__elem table th {
  padding-bottom: 8px;
  border-bottom: 2px solid #D4B100;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  text-align: left;
}

.report__backnumber__elem table th .period {
  display: inline-block;
  padding: 0 0 0 .5em;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 400;
  color: #696969;
}

.report__backnumber__elem table td {
  padding: 0;
}

.report__backnumber__elem table td a {
  color: #333;
  text-decoration: none;
}

.report__backnumber__elem table td a figure {
  margin: 0;
  padding: 15px 6px 0;
  text-align: center;
}

.report__backnumber__elem table td a figure img {
  width: 96%;
  max-width: 560px;
  border: 1px solid #eee;
}

.report__backnumber__elem table td a figure figcaption {
  line-height: 1.25;
  font-weight: 600;
}

.report__backnumber__elem table td a figure figcaption .pdfsize {
  display: inline-block;
  padding-left: 6px;
  font-size: 1.1rem;
  font-weight: 200;
  color: #666;
}

.report__backnumber__elem table td a:hover figure img {
  filter: grayscale(100%);
}

.report__backnumber__elem table td a:hover figure figcaption {
  color: #D4B100;
}

.report__backnumber__elem table td a:hover figure figcaption .pdfsize {
  color: inherit;
}
