

/********************  layout  ********************/
html,body{
   width: 100%;
   max-width: 100cqw;
   font-size: 16px;
}

body.open {
   position: fixed;
}

#wrapper {
   margin: 0 auto;
	position: relative;
	min-height: 100%;
   display: flex;
   flex-flow: column;
   overflow: clip;
   /*overflow: hidden;*/
}
#contents {
   /*transform: rotate3d(0,0,0,0);*/ /*chrome色化け対策*/
}

.inner {
   width: 100%;
   padding: 0 40px;
   margin: 0 auto;
}

.bg {
   height: 100vh;
   width: 100vw;
   background-color: rgba(0,0,0,0.3);
   position: fixed;
   top: 0;
   left: 0;
   z-index: 10;
   display: none;
}
@media screen and (max-width: 1100px){
   #wrapper {
      width: 100%;
      min-width: initial;
      margin-top: 58px;
   }
}

@media screen and (max-width: 1030px){
   html,body{
      font-size: 14px;
   }

   .inner {
      width: 100%;
      padding: 0 3.5dvw;
   }

}

/********************  common  ********************/
.clear {
   clear: both;
}
.flex {
   display: flex;
}
.normal {
   font-weight: 400 !important;
}
.medium {
   font-weight: 500 !important;
}
.green {
   color: #009E40;
}
.lightgreen {
   color: #ABCD05;
}
.highlight {
   background-color: #FFDC82;
   line-height: 1.2;
   display: inline-block;
}
.highlight sub {
	line-height: 1;
}
p {
   font-size: 16px;
}
i {
   font-size: inherit;
   font-weight: inherit;;
   color: inherit;
}
input[type="radio"] {
  accent-color: #009E40;
  transform: scale(1.4);
  margin-right: 3px;
}
@media screen and (max-width: 900px){
   input[type="radio"] {
      transform: scale(1.2);
      margin-right: 2px;
   }
}

img {
   width: 100%;
   max-width: 100%;
}
img.vw100 {
   margin: calc(50% - 50vw);
   max-width: none;
   width: 100vw;
}
sup {
	font-size: 70%;
   color: inherit;
   font-weight: inherit;
   position: relative;
   top: -0.7em;
}
sub {
	font-size: 70%;
   color: inherit;
   font-weight: inherit;
   position: relative;
   bottom: -0.2em;
}
body.en-US .lang-ja {
   display: none;
}
body.ja .lang-en {
   display: none;
}
.right {
   text-align: right;
}
.left {
   text-align: left !important;
}
.center {
   text-align: center;
}
.underline {
   text-decoration: underline;
}
.textLink {
   color: #009E40;
   text-decoration: underline;
}
.pc {
   display: inherit !important;
}
.sp {
   display: none !important;
}
.lh135 {
   line-height: 1.35;
}
.lh160 {
   line-height: 1.6;
}
.mt0 {
   margin-top: 0 !important;
}
.mt5 {
   margin-top: 5px !important;
}
.mt10 {
   margin-top: 10px !important;
}
.mt20 {
   margin-top: 20px !important;
}
.mt30 {
   margin-top: 30px !important;
}
.mt40 {
   margin-top: 40px !important;
}
.mt50 {
   margin-top: 50px !important;
}
.mt60 {
   margin-top: 60px !important;
}
.mt120 {
   margin-top: 120px !important;
}
.w560 {
   width: 560px;
}
.w590 {
   width: 560px;
}
.w630 {
   width: 630px;
}


@media screen and (min-width: 901px){
   .pcNoWrap {
      white-space: nowrap;
   }
}
@media screen and (max-width: 900px){
   p {
      font-size: 14px;
   }
   .pc {
      display: none !important;
   }
   .sp {
      display: inherit !important;
   }
   .flex--pc {
      flex-flow: column;
   }
}

.none {
   display: none;
}

/********************  title  ********************/
.title01 {
   font-size: 22px;
   font-weight: 500;
   line-height: 1.6;
   color: #009E40;
}
.title02 {
   font-size: 22px;
   font-weight: 500;
   line-height: 1.35;
}
.title03 {
   font-size: 28px;
   font-weight: 500;
   line-height: 1.35;
}
.title04 {
   font-size: 18px;
   font-weight: 500;
   line-height: 1.35;
}
.title05 {
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.35;
   color: #009E40;
}
.title06 {
   font-size: 1rem;
   font-weight: 500;
   line-height: 1.35;
}
.title07 {
   font-size: 18px;
   font-weight: 500;
   line-height: 1.35;
   color: #009E40;
}
@media screen and (max-width: 900px){
   .title01 {
      font-size: 18px;
   }
   .title02 {
      font-size: 18px;
   }
   .title03 {
      font-size: 22px;
   }
   .title04 {
      font-size: 16px;
   }
   .title07 {
      font-size: 16px;
   }
}

/********************  囲み  ********************/
.column01 {
   border: 1px solid #acacac;
   padding: 1em;
}
.column02 {
   border: 1px solid #acacac;
   padding: 2em;
}

/********************  list  ********************/
.list01 li {
   padding-left: 1.25em;
	text-indent: -1em;
}
.list01 li::before {
	content: '●';
	font-size: 10px;
	color: #009e40;
	position: relative;
	top: -1px;
	margin-right: 0.5em;
}
.list02 li {
   padding-left: 1em;
	text-indent: -1em;
}
.list03 li {
   text-indent: -1.6em;
   padding-left: 1.6em;
}

.ind1 {
   padding-left: 1em;
   text-indent: -1em;
}
.ind2 {
   padding-left: 2em;
   text-indent: -2em;
}

/********************  header  ********************/
header {
   width: 100%;
   z-index: 10;
   position: -webkit-sticky;
   position: sticky;
   top: 0;
}

header .inner {
   padding: 0;
}
header #headerWrap {
   display: flex;
   justify-content: space-between;
   align-items: center;
   height: 100px;
   position: relative;
   padding: 0 20px;
   box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.3);
   background-color: #fff;
}
header .siteTitle img {
   width: 244px;
}




@media screen and (max-width: 1100px){
   header {
      position: fixed;
      padding: 0;
   }
   header .inner {
      width: 100%;
      position: relative;
      padding: 0;
      background-color: #fff;
      /*box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.3);*/
   }
   header #headerWrap {
      height: auto;
      padding: 0 0 0 30px;
   }
   header .siteTitle, header.sticky .siteTitle {
      position: relative;
      transform: none;
      top: 0;
   }
   header .siteTitle a {
      display: flex;
   }
   header .siteTitle img, header.sticky .siteTitle img {
      width: 174px;
      max-width: 50dvw;
   }
   header .menuWrap {
      display: none !important;
   }

}

/*** メニュー ***/
#headerWrap .siteTitle {
   flex: 1;
}
#headerWrap .menuWrap {
   display: flex;
   flex-flow: column;
   justify-content: center;
   gap: 0.5em;
}
#headerWrap .menu__sub {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   font-size: 12px;
   gap: 35px;

}
#headerWrap .menu__sub__menu {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   gap: 20px;
}
#headerWrap .menu__sub__news a {
   transition: 0.3s;
}
#headerWrap .menu__sub__news a:hover {
   color: #009E40;
   opacity: 1;
}
#headerWrap .menu__sub__contact a, #headerWrap .menu__sub__sds a {
   display: inline-block;
   width: 108px;
   height: 28px;
   border: 1px solid;
   border-radius: 100vh;
   font-weight: 700;
   text-align: center;
   align-items: center;
   display: flex;
   justify-content: center;
   line-height: 1;
   transition: 0.3s;
}
#headerWrap .menu__sub__contact a {
   border-color: #009E40;
   color: #009E40;
   margin-left: 5px;
}
#headerWrap .menu__sub__sds a {
   border-color: #2265bc;
   color: #2265bc;
}
#headerWrap .menu__sub__contact a:hover {
   background-color: #009E40;
   color: #fff;
   opacity: 1;
}
#headerWrap .menu__sub__sds a:hover {
   background-color: #2265bc;
   color: #fff;
   opacity: 1;
}
#headerWrap .bogo-language-switcher {
   display: flex;
}
#headerWrap .bogo-language-switcher li:nth-child(1):before {
   content: '｜';
}
.bogo-language-switcher .ja {
order: 1;
}
.bogo-language-switcher .en-US {
order: 2;
}
#headerWrap .bogo-language-switcher a {
   transition: 0.3s;
}
.bogo-language-switcher .current a {
   pointer-events: none;
}
#headerWrap .bogo-language-switcher a:hover {
   opacity: 1;
   color: #009E40;
}
#headerWrap .bogo-language-switcher .bogoflags {
   display: none;
}

#headerWrap .menu__main {
   display: flex;
   justify-content: flex-end;
   font-size: 14px;
}
#headerWrap #menu-main-jp-pc, #headerWrap #menu-main-en-pc {
   display: flex;
   gap: 2em;
}

#menu-main-jp-pc > .menu-item > a, #menu-main-en-pc > .menu-item > a {
   cursor: pointer;
   display: flex;
   align-items: center;
   transition: 0.3s;
}
#menu-main-jp-pc > .menu-item > a:hover, #menu-main-en-pc > .menu-item > a:hover {
   color: #009E40;
   opacity: 1;
   
}
#menu-main-jp-pc > .menu-item-has-children > a::after, #menu-main-en-pc > .menu-item-has-children > a::after {
   content: '▼';
   color: #009E40;
   font-size: 10px;
   margin-left: 0.4em;
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu, #menu-main-en-pc > .menu-item-has-children > .sub-menu {
   transform: translateY(-100%);
   width: 100vw;
   left: 0;
   position: absolute;
   background-color: #fff;
   transition: transform 0.3s;
   z-index: -5;
}
#menu-main-jp-pc > .menu-item-has-children.open > .sub-menu, #menu-main-en-pc > .menu-item-has-children.open > .sub-menu {
   transform: translateY(0);
   box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 1281px){
   #menu-main-jp-pc > .menu-item-has-children > .sub-menu, #menu-main-en-pc > .menu-item-has-children > .sub-menu {
      margin: 0 calc(50% - 50vw);
   }
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li {
   max-width: 1280px;
   margin: 0 auto;
   padding: 35px 40px;
   min-height: 400px;
   position: relative;
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li::after, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li::after {
   position: absolute;
   content: '閉じる';
   font-size: 16px;
   line-height: 1;
   padding: 0.5em 1em;
   border: 1px solid #009E40;
   border-radius: 5px;
   top: 60px;
   right: 40px;
   cursor: pointer;
}
.en-US #menu-main-jp-pc > .menu-item-has-children > .sub-menu > li::after, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li::after {
   content: 'Close';
}

#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li > a, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li > a {
   display: inline-flex;
   align-items: center;
   font-size: 26px;
   line-height: 1;
   padding: 25px 0;
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li > a::after, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li > a::after {
   content: url(../img/common/icon_arrow_right_green.svg);
   width: 26px;
   height: 24px;
   margin-left: 0.5em;
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li > a:hover::after, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li > a:hover::after {
    content: url(../img/common/icon_arrow_right_white_green.svg);
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li > .sub-menu, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li > .sub-menu {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 1em;
    padding-top: 15px;
    padding-right: 360px;
    position: relative;
    border-top: 1px solid #acacac;
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu .sub-menu::after, #menu-main-en-pc > .menu-item-has-children > .sub-menu .sub-menu::after {
   display: inline-block;
   position: absolute;
   top: 15px;
   right: 0;
   min-height: 240px;
}
#menu-main-jp-pc > .menu-item-has-children.company > .sub-menu > li > .sub-menu::after, #menu-main-en-pc > .menu-item-has-children.company > .sub-menu > li > .sub-menu::after {
   content: url(../img/common/img_company_gmenu.jpg);
}
#menu-main-jp-pc > .menu-item-has-children.products > .sub-menu > li > .sub-menu::after, #menu-main-en-pc > .menu-item-has-children.products > .sub-menu > li > .sub-menu::after {
   content: url(../img/common/img_products_gmenu.jpg);
}
#menu-main-jp-pc > .menu-item-has-children.research > .sub-menu > li > .sub-menu::after, #menu-main-en-pc > .menu-item-has-children.research > .sub-menu > li > .sub-menu::after {
   content: url(../img/common/img_research_gmenu.jpg);
}
#menu-main-jp-pc > .menu-item-has-children.ir > .sub-menu > li > .sub-menu::after, #menu-main-en-pc > .menu-item-has-children.ir > .sub-menu > li > .sub-menu::after {
   content: url(../img/common/img_ir_gmenu.jpg);
}
#menu-main-jp-pc > .menu-item-has-children.sustainability > .sub-menu > li > .sub-menu::after, #menu-main-en-pc > .menu-item-has-children.sustainability > .sub-menu > li > .sub-menu::after {
   content: url(../img/common/img_sustainability_gmenu.jpg);
}
#menu-main-jp-pc > .menu-item-has-children.recruit > .sub-menu > li > .sub-menu::after, #menu-main-en-pc > .menu-item-has-children.recruit > .sub-menu > li > .sub-menu::after {
   content: url(../img/common/img_recruit_gmenu.jpg);
}


#menu-main-jp-pc > .menu-item-has-children > .sub-menu .sub-menu li, #menu-main-en-pc > .menu-item-has-children > .sub-menu .sub-menu li {
   width: calc((100% - 40px) / 3);
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > a, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > a {
   font-size: 18px;
   line-height: 1.3;
   display: flex;
   align-items: flex-start;
}
#menu-main-jp-pc .note, #menu-main-en-pc .note  {
   font-size: 0.8em;
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > a::before, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > a::before {
   content: '■';
   color: #009E40;
   font-size: 10px;
   margin-right: 1em;
   line-height: 2.34;
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > .sub-menu > li, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > .sub-menu > li {
	width: 100%;
   margin-top: 0.5em;
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > .sub-menu > li > a, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > .sub-menu > li > a {
   font-size: 18px;
   line-height: 1.3;
   display: block;
   margin-left: 1em;
   padding-left: 1.5em;
   text-indent: -1.5em;
}
#menu-main-jp-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > .sub-menu > li > a::before, #menu-main-en-pc > .menu-item-has-children > .sub-menu > li > .sub-menu > li > .sub-menu > li > a::before {
   content: '－';
   color: #009E40;
   font-size: 1em;
   font-weight: 700;
   margin-right: 0.5em;
}
.menu__main_search {
   display: flex;
   justify-content: center;
   padding-left: 2em;
   cursor: pointer;
   width: 54px;
}

.menu__main_search img {
   width: 24px;
}
.menu__main_search.open .open {
   display: block;
   width: 18px;
}
.menu__main_search.open .close {
   display: none;
}
.menu__main_search:not(.open) .open {
   display: none;
}
.searchArea {
	position: fixed;
   z-index: 9;
   /*right: calc((100% - 1280px) / 2);*/
   right: 0;
   top: 100px;
   transition: 0.3s;
   transform: translateY(-200%);
   background-color: #f5f5f5;
   padding: 35px 100px;
   width: 640px;
}
.searchArea.open {
   transform: translateY(0);
}
.searchArea form {
   display: flex;
   border-radius: 6px;
   overflow: hidden;
}
.searchArea input {
   background-color: #fff;
   padding: 0 1.5em;
   width: 100%;
}
.searchArea button {
   background-color: #009E40;
   padding: 16px;
   border: none;
}
.searchArea button:hover {
   cursor: pointer;
}
.searchArea img {
   width: 28px;
   display: block;
}

@media screen and (max-width: 1100px){
   #headerWrap .sp {
      display: inherit !important;
   }
   .spMenuWrap {
      display: flex;
      justify-content: flex-end;
      align-items: center;
   }

   /* ハンバーガーメニュー */
   :root {
      --humBase: 3px;
   }
   .spMenuBtn {
      z-index: 103;
      transition: 0.3s;
   }
   .burger-wrapper {
      display: block;
      cursor: pointer;
      transition: 0.3s;
      height: 58px;
      width: 58px;
      padding: 16px;

   }
   .hamburger {
      background: #525252;
      width: 30px;
      height: 3px;
      position: relative;
      top: 50%;
      left: calc(50% - 15px);
   }
      
   .hamburger::before, .hamburger::after {
      transition: top 500ms 250ms ease, transform 500ms 50ms ease;
      position: absolute;
      background: #525252;
      width: 30px;
      height: 3px;
      content: '';
   }
   .hamburger::before {
      top: -10px;
   }

   .hamburger::after {
      top: 10px;
   }

   .spMenuWrap.open  .hamburger {
      background: transparent;
   }
   .spMenuWrap.open  .hamburger::after, .spMenuWrap.open  .hamburger::before {
      transition: top 500ms 50ms ease, transform 500ms 250ms ease;
      top: 0;
      width: 29px;
   }
   .spMenuWrap.open  .hamburger::before {
      transform: rotate(45deg);
   }
   .spMenuWrap.open  .hamburger::after {
      transform: rotate(-45deg);
   }

   .spMenuWrap.open .spMenuBtn {
      background-color: #009E40;
   }
   .spMenuWrap.open  .hamburger::before, .spMenuWrap.open  .hamburger::after {
      background-color: #fff;
   }

   /* SPメニュー */
   #headerWrap .spMenuWrap .menu__main {
      overflow: scroll;
      position: absolute;
      z-index: -1;
      height: 100dvh;
      width: 100%;
      right: 0;
      top: 0;
      transition: 0.3s;
      transform: translateY(-100%);
      background-color: #fff;
      padding-top: 58px;
      padding-bottom: 30px;
      flex-flow: column;
      justify-content: flex-start;
   }
   #headerWrap .spMenuWrap.open .menu__main {
      transform: translateY(0);
   }
   #headerWrap .menu__sub {
      justify-content: normal;
      padding: 0 14px;
      margin-top: 35px;
   }
   #headerWrap .menu__sub__menu {
      gap: 13px;
      width: 100%;
   }
   #headerWrap .menu__sub__menu > li {
      width: calc((100% - 13px) / 2);
   }
   #headerWrap .menu__sub__menu > li a {
      font-size: 16px;
      height: 38px;
      width: 100%;
   }

   .menu-main-jp-sp-container, .menu-main-en-sp-container {
      margin-top: 35px;
      padding: 0 14px;
      width: 100%;
   }

   .spMenuWrap .menu__sub__menu {

   }
   #menu-main-jp-sp, #menu-main-en-sp {
      border-top: 1px solid #D9D9D9;
   }
   #menu-main-jp-sp > li, #menu-main-en-sp > li { 
      display: flex;
      flex-flow: column;
      justify-content: center;
      border-bottom: 1px solid #D9D9D9;
   }
   #menu-main-jp-sp > li > a, #menu-main-en-sp > li > a {
      font-size: 16px;
      font-weight: 700;
      padding: 12px;
      position: relative;
   }
   #menu-main-jp-sp .note, #menu-main-en-sp .note  {
   font-size: 0.8em;
}
   #menu-main-jp-sp > li > a::before, #menu-main-en-sp > li > a::before {
      position: absolute;
      content: url(../img/common/icon_arrow_green.svg);
      width: 16px;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
   }

   #menu-main-jp-sp > li.menu-item-has-children > a::before, #menu-main-en-sp > li.menu-item-has-children > a::before {
      position: absolute;
      content: url(../img/common/icon_plus_green.svg);
      width: 16px;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      z-index: 5;
      pointer-events: none;
   }
   #menu-main-jp-sp > li.menu-item-has-children.open > a::before, #menu-main-en-sp > li.menu-item-has-children.open > a::before {
      content: url(../img/common/icon_minus_green.svg);
      line-height: 2px;
   }
   #menu-main-jp-sp .sub-menu, #menu-main-en-sp .sub-menu {
      display: none;
   }
   #menu-main-jp-sp .sub-menu li, #menu-main-en-sp .sub-menu li {
      border-top: 1px solid #bbb;
   }
   #menu-main-jp-sp > li.menu-item-has-children > .sub-menu a, #menu-main-en-sp > li.menu-item-has-children > .sub-menu a  {
      font-size: 16px;
      font-weight: 700;
      width: 100%;
      display: inline-block;
      color: #fff;
      background-color: #009E40;
      position: relative;
      padding: 12px;
   }
   #menu-main-jp-sp > li.menu-item-has-children > .sub-menu a::after, #menu-main-en-sp > li.menu-item-has-children > .sub-menu a::after {
      position: absolute;
      content: url(../img/common/icon_arrow_white.svg);
      width: 16px;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
   }
   .menu__footer__menu {
      margin-top: 10px;
      padding: 0 14px;
   }
   .menu__footer__menu li {
      padding: 0 12px;
   }
   .bogo-language-switcher {
      margin-top: 20px;
      padding: 0 14px;
      justify-content: center;
   }
   .menu__main_search {
      width: 58px;
      padding: 0;
      gap: 0;
      height: 100%;
      transition: 0.3s;
   }
   .menu__main_search.open {
      background-color: #009E40;
   }
   .searchArea {
      width: 100%;
      right: 0;
      top: 58px;
      padding: 30px 40px;
   }
   .searchArea input {
      padding: 0.8em 1.5em;
      width: 100%;
   }
   .searchArea button {
      padding: 12px;
   }
   .searchArea img {
      width: 22px;
   }
   .menu__main_search.open img.open {
      width: 23px;
   }
}

/*** footer ***/
footer {
   margin-top: 100px;
   background-color: #fff;
}
footer .inner {
   padding: 0;
}
.footerMenuWrap {
   background-color: #f9f9f9;
   padding: 60px 0;
}
.footerMenuWrap .menu {
   max-width: 1280px;
   margin: 0 auto;
   padding: 0 40px;
   display: flex;
   flex-wrap: wrap;
   gap: 30px 64px;
}
.footerMenuWrap .menu > .menu-item {
   width: calc((100% - 64px) / 2);
}

.footerMenuWrap .menu > .menu-item > a {
   font-weight: 500;
}
.footerMenuWrap .menu > .menu-item > .sub-menu {
   display: flex;
   flex-wrap: wrap;
   gap: 0 2em;
}

.footerMenuWrap .menu > .menu-item > .sub-menu a {
   font-size: 14px;
   line-height: 1.3;
}
.footerMenuWrap hr {
   background-color: #acacac;
   height: 1px;
   border: none;
   margin: 30px 0;
}

.footer__subMenuWrap {
   max-width: 1280px;
   margin: 0 auto;
   padding: 0 40px;
   
}
.footer__subMenuWrap ul {
   display: flex;
   flex-wrap: wrap;
   gap: 0 2em;
}
.footer__subMenuWrap li a {
   font-size: 14px;
}
.footer__banner {
   margin-top: 30px;
   width: 190px;
}


#goTop {
   max-width: 1280px;
   margin: 0 auto;
   position: relative;
}
#goTop a {
   position: absolute;
   display: inline-block;
   right: 42px;
   top: -25px;
   transition: 0.3s;
}
#goTop a:hover {
   top: -35px
}
#goTop img {
   width: 50px;
}

.copyrightWrap {
   text-align: center;
   padding: 50px 0 75px 0;
}
.copyrightWrap img {
   width: 244px;
}
.copyright {
   font-size: 12px;
}
@media screen and (max-width: 900px){
   .footerMenuWrap .menu {
      width: 100%;
      padding: 0 5dvw;
      flex-wrap: wrap;
      gap: 1.5em;
   }
   .footerMenuWrap .menu .menu-item {
      line-height: 1.15;
      margin-top: 0.75em;
   }
   .footerMenuWrap > .menu > .menu-item > a {
      font-size: 14px;
   } 
   .footerMenuWrap .menu > .menu-item > .sub-menu a {
      font-size: 12px;
   }
   .footer__subMenuWrap {
      padding: 0 5vw;
   
   }
   .footer__subMenuWrap ul {
      max-width: none;
   }
   .footer__subMenuWrap li a {
      font-size: 12px;
   }
   .footer__banner {
      margin-top: 30px;
      width: 190px;
   }

   .footer__banner {
      margin-top: 30px;
      width: 190px;
   }
   #goTop {
      width: 100%;
   }
   #goTop a {
      right: 24px;
      top: -22px;
   }
   #goTop img {
      width: 44px;
   }
   .copyrightWrap {
      padding: 50px 0 80px 0;
   }
   .copyrightWrap img {
      width: 200px;
   }
   .copyright {
      font-size: 10px;
   }
}

/*** パンくず ***/
#breadcrumbWrap {
  
}
#breadcrumbWrap .inner {
   max-width: 1280px;
}
#breadcrumbWrap ol {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   padding: 10px 0;
}
#breadcrumbWrap li span {
   font-size: 12px;
   font-weight: 500;
   color: #7e7e7e;
}
#breadcrumbWrap li:nth-child(n+2)::before {
   content: '＞';
   font-size: 12px;
   color: #7e7e7e;
   padding: 0 1em;

}
@media screen and (max-width: 1030px){
   #breadcrumbWrap .inner {
      width: 100%;
   }
   #breadcrumbWrap li span, #breadcrumbWrap li:nth-child(n+2)::before {
      font-size: 10px;
   }
   .breadcrumb__item {
      line-height: 1.3;
   }
}

/*** 固定ページ共通 ***/
.page .page__title {
   width: 100%;
   height: 240px;
   position: relative;
   background-size: cover;
   background-repeat: no-repeat;
   background-position: center;
}
.page__title__inner {
   max-width: 100%;
   width: 1280px;
   margin: 0 auto;
   height: 100%;
   display: flex;
   flex-flow: column;
   justify-content: center;
   background-image: linear-gradient(90deg, #ffffffe6, transparent);
   background-size: 580px 100%;
   background-repeat: no-repeat;
}
/*画像なしタイトル*/
#privacy .page__title, #sitemap .page__title {
   height: 140px;
   border-bottom: 1px solid #acacac;
}
.page__title__inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 50vw);
  width: calc(50vw - 640px);
  height: 100%;
  background-color: #ffffffe6;
  pointer-events: none;
}
.page .page__title .sub {
	width: 1280px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 40px;
}
.page .page__title .sub .cate {
   position: relative;
   padding-left: 1em;
}
.page .page__title .sub .cate::before {
   content: '｜';
   padding-right: 1em;
}
.page .page__title h1 {
   width: 1280px;
   max-width: 100%;
   margin: 0 auto;
   padding: 0 40px;
   font-size: 36px;
   font-weight: 500;
   position: relative;
   z-index: 2;
}

#contentWrap {
   width: 1280px;
   max-width: 100%;
   margin: 0 auto;
}
#contentWrap .lead {
   margin-top: 80px;
}
.content__sec {
   margin-top: 80px;
}
#contentWrap h3 {
	position: relative;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.5;
	/*display: inline-block;*/
	padding-top: 11px;
}
#contentWrap h3::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 2em;
	height: 2px;
	background: linear-gradient(90deg,rgba(0, 158, 65, 1) 0%, rgba(171, 205, 5, 1) 100%);
}

@media screen and (max-width: 1100px){
   .page .page__title {
      height: 170px;
   }
   .page__title__inner {
      background-size: 90% 100%;
   }
   .page .page__title h1 {
      width: 100%;
      font-size: 28px;
      padding: 0 5dvw;
      line-height: 1.3;
   }
   .page .page__title .sub {
      padding: 0 5dvw;
   }
   #contentWrap .lead {
      margin-top: 50px;
   }
   .content__sec {
      margin-top: 40px;
   }
   #contentWrap h3 {
   	font-size: 20px;
   }
}


/* 固定ページの子ページ共通 */
.page.low #mainImgWrap {
   height: 300px !important;
}
.page.low h1 {
   font-size: 32px;
}



@media screen and (max-width: 1100px){
   .page.low #mainImgWrap {
      height: calc((100dvw / 9) * 5.5) !important;
   }
   .page.low h1 {
      font-size: 28px;
   }
   
}

/*関連ページ*/
.related__wrap {
   max-width: 1200px;
   margin: 100px auto 0 auto;
}
.related__wrap h4 {
   font-size: 18px;
   font-weight: 500;
   line-height: 1;
}
.related__list {
   margin-top: 1.3em;
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
}
.related__item {
   border-top: 1px solid #acacac;
   border-bottom: 1px solid #acacac;
   width: calc((100% - 60px) / 4);
}
.related__item a {
   display: flex;
}
.related__list__img {
   width: 45%;
}
.related__item p {
   width: 55%;
   font-size: 14px;
   font-weight: 500;
   line-height: 1.15;
   padding: 0.5em;
   display: flex;
   align-items: center;
}

@media only screen and (max-width: 900px) {
   .related__wrap {
      margin-top: 60px;
   }
   .related__list {
      gap: 1em;
   }
   .related__item {
      width: 100%;
   }
   .related__list__img {
      width: 32%;
   }
   .related__item p {
      width: 68%;
   }
}


/* 404 */
.notfound {
   padding-top: 60px;
}
.notfound h1, .notfound p {
   text-align: center;
}

/*ページネーション*/
#pagination {
   width: 1200px;
   max-width: 100%;
   margin: 60px auto 0 auto;
   display: flex;
   justify-content: center;
   gap: 12px;
}
#pagination a {
   cursor: pointer;
   width: 36px;
   height: 36px;
   border: 1px solid #7e7e7e;
   display: flex;
   align-items: center;
   justify-content: center;
}
#pagination a:hover, #pagination a.jp-current {
   background-color: #E8F3F1;
}
@media screen and (max-width: 1030px){
   #pagination {
      width: 100%;
   }
}

/*** ボタン ***/
/*緑地白抜き　矢印横向き*/
.btn--green--side a {
	display: inline-flex;
	width: 100%;
	background-color: #009e40;
	border: 1px solid #009e40;
	color: #fff;
	font-weight: 600;
	padding: 0 3em 0 1em;
	position: relative;
	transition: 0.3s;
	line-height: 1.1;
	height: 60px;
	align-items: center;
}
.btn--green--side a:hover {
	background-color: #fff;
	color: #009e40;
	opacity: 1;
}
.btn--green--side a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	background-image: url('../img/common/icon_arrow_right_green.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 24px;
	width: 24px;
}
.btn--green--side a:hover::after {
	background-image: url('../img/common/icon_arrow_right_white_green.svg');
}
/*中央に１つ*/
.btn--center--single {
   width: 387px;
   max-width: 100%;
   margin: 0 auto;
   margin-top: 30px;
}

/*** 方針関連の白バック ***/
.policyWrap {
   background-color: #f9f9f9;
   margin: 0 calc(50% - 50vw);
   padding-top: 100px;
   padding-bottom: 100px;
}
.policy__inner {
   max-width: 1200px;
   margin: 0 auto;
   padding: 60px 100px;
   background-color: #fff;
}
.policy__date {
   text-align: right;
   font-size: 14px;
   margin-top: 1em;
}
.policy__content {
   margin-top: 2em;
   border-top: 1px solid #acacac;
   padding-top: 2em;
}
.policy__content .title01:not(:first-child) {
   margin-top: 2em;
}
.policy__content ol {
	counter-reset: listnum; /* カウンターをリセット */
   margin-top: 1.5em;
}
.policy__content ol > li {
   position: relative;
   padding-left: 2em;
   text-indent: -1.5em;
   margin-top: 1em;
}
.policy__content ol > li::before {
   counter-increment: listnum;
	content: counter(listnum)"　"; /* 全角スペース追加 */
	color: #009e40;
   font-weight: 500;
}

.policy__content ul > li {
   position: relative;
   padding-left: 0.5em;
   text-indent: -1.15em;
   margin-top: 0.5em;
}
.policy__content ul > li::before {
	content: '●';
	color: #009e40;
   padding-right: 0.5em;
   font-size: 12px;
   position: relative;
   top: -2px;
}
@media only screen and (max-width: 900px) {
   .policyWrap {
      padding-top: 60px;
      padding-bottom: 60px;
   }
   .policy__inner {
      padding: 40px 3.5dvw;
   }
   .policy__date {
      font-size: 12px;
   }
}

/*** サイトマップ ***/
.sitemap__table {
   width: 100%;
   border-collapse: collapse;
   table-layout: fixed;
   margin-top: 5em;
}
.sitemap__table col:nth-child(n+2) {
   border-left: 1px solid #acacac;
}
.sitemap__table td {
   border-top: 1px solid #acacac;
   padding: 0.2em 0.5em;
}
.sitemap__table tr:last-child {
   border-bottom: 1px solid #acacac;
}
.sitemap__table a {
   color: #009E40;
   text-decoration: underline;
   line-height: 1.35;
}

/*代表サイン*/
.sign--president {
   width: 169px;
   margin-top: 1em;
}