@charset "UTF-8";
/* --------------------------------------------------------- */
/* font */
/* Roboto - 400 700 */
/* noto-sans-tc -  300 400 500 700 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700&family=Roboto:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Noto+Sans+TC:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
/* --------------------------------------------------------- */
/*reset*/
body, div, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, select, textarea, label, p, blockquote, th, td, iframe, button, a, header, footer {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  font: inherit;
  color: inherit;
}

body {
  font: 16px/150% "Noto Sans TC", "Helvetica Neue", Helvetica, "微軟正黑體", sans-serif;
  font-weight: 400;
  letter-spacing: 0.3px;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1rem;
  font-weight: 400;
}

html {
  /*safari內網頁的字體不會無緣無故變大*/
  -webkit-text-size-adjust: 100%;
  /*safari內網頁滑動起來不會卡卡的*/
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  transition-duration: 0.3s;
}

button {
  color: inherit;
  background: none;
  outline: none;
  cursor: pointer;
}

table {
  width: auto;
  border-collapse: collapse;
  border-spacing: 0;
}

input, button, textarea, select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  outline: none;
}

img {
  /*防止chrome將圖片縮放時平滑化處理*/
  image-rendering: -webkit-optimize-contrast;
}

/*reset end*/
.font-eng, .esgReport::after, .history .year, .historyTable-in .month, .accesskey {
  font-family: "Roboto", "Noto Sans TC", "Helvetica Neue", Helvetica, "微軟正黑體", sans-serif;
}

:focus {
  outline: 3px dashed black;
  outline-offset: 0 5px;
}

/*----------------------------------------------------*/
/* mixin */
/*----------------------------------------------------*/
.color-white {
  color: #fff;
}

.bg-white {
  background-color: #fff;
}

.color-black {
  color: #000;
}

.bg-black {
  background-color: #000;
}

.color-secondary {
  color: #9e0046;
}

.bg-secondary {
  background-color: #9e0046;
}

.color-secondary-dark {
  color: #7a3b44;
}

.bg-secondary-dark {
  background-color: #7a3b44;
}

.btn-primary {
  color: #fff;
  background: #b7933b;
}
.btn-primary:hover {
  background: rgb(163.7169421488, 131.5103305785, 52.7830578512);
}

.btn-secondary {
  color: #fff;
  background: #d25a60;
}
.btn-secondary:hover {
  background: rgb(204.5357142857, 69.9642857143, 76.6928571429);
}

.btn-tertiary {
  color: #fff;
  background: #6b3668;
}
.btn-tertiary:hover {
  background: rgb(90.0527950311, 45.4472049689, 87.5279503106);
}

.key-red {
  color: #d25a60;
}

.key-purple {
  color: #9e0046;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 10px;
}

.mb-2 {
  margin-bottom: 20px;
}

.mb-3 {
  margin-bottom: 30px;
}

.mb-3-5 {
  margin-bottom: 35px;
}

.mb-4 {
  margin-bottom: 40px;
}

.mb-5 {
  margin-bottom: 50px;
}

.mb-10 {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .mb-5 {
    margin-bottom: 40px;
  }
  .mb-10 {
    margin-bottom: 40px;
  }
  .m-mb-1 {
    margin-bottom: 10px !important;
  }
}
.mr-1 {
  margin-right: 10px;
}

.mr-2 {
  margin-right: 20px;
}

.mr-3 {
  margin-right: 30px;
}

.pl-2 {
  padding-left: 20px;
}

/*----------------------------------------------------*/
/* base extend */
/*----------------------------------------------------*/
.btn {
  transition: 0.2s;
}

ul.point li:nth-last-child(1), ul.list li:nth-last-child(1), ul.filelist li:nth-last-child(1), ul.filelink li:nth-last-child(1) {
  margin: 0 !important;
}

/*----------------------------------------------------*/
/* common use */
/*----------------------------------------------------*/
.web {
  display: block;
}

.mobile {
  display: none;
}

@media screen and (max-width: 767px) {
  .web {
    display: none;
  }
  .mobile {
    display: block;
  }
}
/*---------------------------*/
/* 常用 */
.f-xs {
  font-size: 0.875rem;
}

.f-s {
  font-size: 0.9375rem;
}

.f-m {
  font-size: 1rem;
}

.f-l {
  font-size: 1.125rem !important;
}

.f-xl {
  font-size: 1.25rem !important;
}

.f-xl-glod {
  font-size: 1.25rem;
  color: #bf8f00;
  font-weight: bold;
}

.f-xs, .f-s, .f-m, .f-l, .f-xl {
  line-height: 1.5em;
}

@media all and (max-width: 767px) {
  .f-l {
    font-size: 1rem;
  }
  .f-xl {
    font-size: 1rem;
  }
  .m-f-m {
    font-size: 1rem;
  }
}
.line-m {
  line-height: 1em;
}

.w-light {
  font-weight: 300;
}

.w-normal {
  font-weight: 400;
}

.w-mid {
  font-weight: 500 !important;
}

.w-bold {
  font-weight: 700 !important;
}

.tL {
  text-align: left;
}

.tR {
  text-align: right;
}

.tC {
  text-align: center;
}

.d-inblock {
  display: inline-block;
}

.d-flex {
  display: flex;
}
.d-flex.a-center {
  align-items: center;
}
.d-flex.a-end {
  align-items: flex-end;
}
.d-flex.j-between {
  justify-content: space-between;
}
.d-flex .item {
  flex: 0 0 auto;
}
.d-flex.wrap {
  flex-wrap: wrap;
}

.tB {
  font-weight: bold;
}

.imgbox img {
  display: block;
  max-width: 100%;
  height: auto;
}
.imgbox a {
  display: block;
  padding: 0;
}
.imgbox.full img {
  width: 100%;
}
.imgbox.center img {
  margin: 0 auto;
}
.imgbox.right img {
  margin: 0 0 0 auto;
}
@media all and (max-width: 767px) {
  .imgbox.m-center img {
    margin: 0 auto;
  }
}

/*------------------------------------*\
  input
\*------------------------------------*/
.inputbox input,
.inputbox select,
.inputbox textarea {
  width: 100%;
  min-width: 0;
  height: 50px;
  line-height: 3rem;
  font-weight: 500;
  border: solid 1px #d4d4d4;
  border-radius: 8px;
  padding: 0 12px;
  background-color: #fff;
}
.inputbox input:disabled,
.inputbox select:disabled,
.inputbox textarea:disabled {
  background-color: #d4d4d4;
}
.inputbox input::placeholder {
  color: #999;
}
.inputbox input::-webkit-input-placeholder {
  color: #999;
}
.inputbox input::-moz-placeholder {
  color: #999;
}
.inputbox input:-ms-input-placeholder {
  color: #999;
}
.inputbox input:-moz-placeholder {
  color: #999;
}
.inputbox select {
  padding-right: 35px;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-image: url(../images/input-select.svg);
  background-size: 18px auto;
  background-repeat: no-repeat;
  background-position: right 10px center;
}
.inputbox select::-ms-expand {
  display: none;
}
.inputbox option:not(first-child) {
  color: #4c4c4c;
}

.btn-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.btn-box.inline {
  display: inline-flex;
}
.btn-box-block {
  display: block;
}
.btn-box-block .btn {
  display: block;
  margin: 0 0 15px;
}
.btn-box.btn-center .btn {
  margin-left: 10px;
  margin-right: 10px;
}
@media all and (max-width: 767px) {
  .btn-box.m-d-block {
    display: block;
  }
  .btn-box.m-d-block .btn {
    display: block;
    margin: 0 0 10px;
  }
  .btn-box.m-d-block .btn:nth-last-child(1) {
    margin: 0;
  }
}

.btn {
  margin-right: 10px;
  padding: 5px 12px;
  min-width: 48px;
  line-height: 1.4rem;
  text-align: center;
  font-size: 1.1rem;
}
.btn:nth-last-child(1) {
  margin-right: 0;
}
@media all and (max-width: 767px) {
  .btn {
    padding: 10px 12px;
    font-size: 1rem;
  }
}
.btn.withIcon {
  padding-left: 48px;
  background-size: auto 24px;
  background-position: left 16px center;
  background-repeat: no-repeat;
}
.btn.withIcon-doc span {
  padding-left: 32px;
  background: url(../images/btn-in-pdf.png) left center no-repeat;
  background-size: auto 24px;
}

.btn-main {
  min-width: 200px;
  margin-right: 25px;
}
.btn-icon {
  display: inline-block;
  min-width: 0;
  width: 30px;
  height: 30px;
  padding: 0;
  overflow: hidden;
  color: transparent;
  background-position: center center;
  background-size: auto 100%;
  background-repeat: no-repeat;
}
.btn-icon span {
  opacity: 0;
}
.btn-icon.icon-pdf {
  background-image: url(../images/btn-pdf.png);
}

.btn-s {
  line-height: 2rem;
  font-size: 1rem;
}

ul.point, ul.list, ul.filelist, ul.filelink, ul.benefitsList {
  list-style: none;
}
ul.point li, ul.list li, ul.filelist li, ul.filelink li, ul.benefitsList li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 15px;
}
ul.point li::before, ul.list li::before, ul.filelist li::before, ul.filelink li::before, ul.benefitsList li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(0.75em - 3px);
  left: 0;
  width: 6px;
  height: 6px;
  vertical-align: middle;
  border-radius: 50%;
  background: #9d7d37;
}

.btn-gameStart, .btn-gameBack {
  color: #fff;
  background-color: #da4235;
  width: 250px;
}
.btn-gameStart:hover, .btn-gameBack:hover {
  background-color: #d62c1d;
}

.btn-gameAnswer {
  color: #fff;
  background-color: #820046;
  width: 105px;
}
.btn-gameAnswer:hover {
  background-color: #70003c;
}

.btn-gameNext {
  color: #fff;
  background-color: #842f80;
  width: 150px;
}
.btn-gameNext:hover {
  background-color: #771a73;
}

ul.point, ul.list, ul.filelist, ul.filelink {
  list-style: none;
}
ul.point li, ul.list li, ul.filelist li, ul.filelink li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 15px;
}
ul.point li::before, ul.list li::before, ul.filelist li::before, ul.filelink li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(0.75em - 3px);
  left: 0;
  width: 6px;
  height: 6px;
  vertical-align: middle;
  border-radius: 50%;
  background: #9d7d37;
}
ul.point-secondary li::before {
  background: #9e0046;
}
ul.point-tertiary li::before {
  background: #6b3668;
}

.num {
  padding-left: 2em;
}
.num li + li {
  margin-top: 10px;
}

.num-roman {
  list-style: lower-roman;
  padding-left: 1.5em;
}

/*---------------------------------------------------*/
.tag-event {
  display: inline-block;
  margin-right: 20px;
  padding: 0 15px;
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.66em;
  color: #fff;
  border-radius: 30px;
}
.tag-event.type01 {
  background: #9d7d37;
}
.tag-event.type02 {
  background: #a70052;
}
.tag-event.type03 {
  background: #780e70;
}
@media all and (max-width: 767px) {
  .tag-event {
    padding: 0 10px;
    font-size: 0.875rem;
  }
}

/*---------------------------------------------------*/
input[type=radio] {
  width: 20px;
  height: 20px;
  margin-right: 2px;
  vertical-align: middle;
}

.rdobutton {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  cursor: pointer;
  border: 1px solid #9d7d37;
  border-radius: 25px;
  -moz-transition: background-color 0.2s ease-in;
  -webkit-transition: background-color 0.2s ease-in;
  -o-transition: background-color 0.2s ease-in;
  transition: background-color 0.2s ease-in;
}

.rdobutton::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 10px;
  height: 10px;
  background-color: #9d7d37;
  border-radius: 99em;
  opacity: 0;
  -moz-transition: opacity 0.2s ease-in;
  -webkit-transition: opacity 0.2s ease-in;
  -o-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}

input:checked + .rdobutton { /* 當check時 按鈕顏色改變 */
  background-color: #fff;
}

input[type=radio]:checked + .rdobutton::before { /* 當check時 打勾消失 */
  opacity: 1;
}

input[type=radio] {
  display: none;
}

@media all and (max-width: 540px) {
  .rdobutton {
    width: 16px;
    height: 16px;
  }
  .rdobutton::before {
    top: 3px;
    left: 3px;
    width: 8px;
    height: 8px;
  }
}
/*---------------------------------------------------*/
.wrapper {
  background: #fff;
}
@media all and (max-width: 767px) {
  .wrapper {
    padding-top: 50px;
  }
}

.pagesize, .content {
  margin: 0 auto;
  max-width: 1440px;
  padding: 0 20px;
}
@media all and (max-width: 1023px) {
  .pagesize, .content {
    padding: 0 15px;
  }
}

.container {
  min-height: calc(100vh - 270px);
}

/* 無障礙錨點 */
.accesskey {
  font-weight: 700;
  font-size: 1rem;
  color: #b5b5b5;
}
@media all and (max-width: 767px) {
  .accesskey {
    font-size: 0.875em;
  }
}

/* 無障礙藏字 */
label.a-hide {
  font-size: 0;
  line-height: 0;
  display: none;
}

/* 跳到主要內容 */
.pagetab {
  overflow: hidden;
  opacity: 0;
  position: absolute;
  top: 5px;
  left: 5px;
  line-height: 1.1em;
  z-index: 102;
  font-size: 0.875em;
  background: #fff;
  padding: 5px;
}

.pagetab:active,
.pagetab:focus {
  overflow: visible;
  opacity: 1;
  z-index: 1002;
  width: auto;
  height: auto;
}

header .m-header {
  display: none;
}
@media all and (max-width: 767px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 1009;
  }
}
header ul {
  list-style: none;
}

.topnav {
  position: relative;
  z-index: 1001;
  padding: 10px 0;
  background: #f8f0de;
}
.topnav .pagesize, .topnav .content {
  display: flex;
  justify-content: flex-end;
}
.topnav .header-menu {
  display: none;
}
@media all and (max-width: 767px) {
  .topnav {
    height: 54px;
    padding: 10px 0 0;
  }
  .topnav .pagesize, .topnav .content {
    align-items: center;
  }
  .topnav .header-menu {
    display: block;
    width: 28px;
    height: 28px;
    overflow: hidden;
    background: url(../images/header-menu.png) center center no-repeat;
    background-size: 100%;
  }
  .topnav .header-menu.open {
    background: url(../images/header-menu-on.png) center center no-repeat;
    background-size: 100%;
  }
  .topnav .header-menu span {
    width: 0;
    height: 0;
    opacity: 0;
  }
}

.top-link {
  display: flex;
  margin-right: 10px;
}
.top-link li {
  position: relative;
}
.top-link li::after {
  content: "";
  position: absolute;
  right: 0;
  top: 9px;
  width: 1px;
  height: 14px;
  background-color: #815c0f;
}
.top-link > li:nth-last-child(1)::after {
  content: none;
}
.top-link a {
  display: block; /*test*/
  color: #815c0f;
  padding: 0 10px;
  letter-spacing: 0;
  font-size: 0.8rem;
  line-height: 1.875rem;
}

.social-link {
  display: flex;
}
.social-link a {
  margin-right: 5px;
  vertical-align: middle;
  font-size: 0;
  line-height: 0;
  width: 30px;
  height: 30px;
}
.social-link a:last-child {
  margin-right: 0;
}
.social-link a.btn_fb {
  background: url(../images/btn_fb.svg) no-repeat;
  background-size: contain;
}
.social-link a.btn_line {
  background: url(../images/btn_line.svg) no-repeat;
  background-size: contain;
}
.social-link a.btn_ig {
  background: url(../images/btn_ig.svg) no-repeat;
  background-size: contain;
}
.social-link a.btn_yt {
  background: url(../images/btn_yt.svg) no-repeat;
  background-size: contain;
}

.search-box {
  height: 30px;
  border-radius: 6px;
  background-color: #a70052;
  display: flex;
  margin-right: 5px;
}
.search-box a.btn_search {
  width: 30px;
  height: 30px;
  display: block;
  margin: 0;
  background: url(../images/btn_search.png) center center no-repeat;
  background-size: 30px auto;
  font-size: 0;
  line-height: 0;
}
.search-box input.search-txt {
  background-color: #a70052;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  color: #fff;
  width: 0;
  height: 30px;
  font-size: 0.8rem;
  line-height: 1.875rem;
  transition: 0.4s;
}
.search-box input.search-txt::placeholder {
  color: #fff;
}
.search-box:hover .search-txt {
  width: 120px;
  padding: 0 10px;
}
.search-box .search-txt:focus {
  width: 100px;
  padding: 0 10px;
}
.search-box:hover a.btn_search {
  position: relative;
}
.search-box:hover a.btn_search::after {
  content: "";
  background-color: #fff;
  width: 1px;
  height: 15px;
  position: absolute;
  top: 7px;
  right: 0;
}

a.logo {
  display: block;
  width: 160px;
  height: 60px;
  font-size: 0;
  background: url(../images/logo.svg) center no-repeat;
  background-size: contain;
}
@media all and (max-width: 767px) {
  a.logo {
    width: 108px;
    height: 40px;
  }
}

.headerArea .pagesize, .headerArea .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 90px;
  position: relative;
}
.headerArea ul {
  list-style: none;
}

@media all and (min-width: 768px) {
  .headerNav-main {
    display: flex;
  }
  .headerNav-main > li {
    margin-left: 20px;
    font-size: 1.25em;
    line-height: 1.625em;
    color: #262626;
    position: relative;
    height: 90px;
    padding: 5px;
  }
  .headerNav-main > li:nth-last-child(1) {
    padding-right: 0;
  }
  .headerNav-main > li > a {
    display: block;
  }
  .headerNav-main > li > a.hasSub {
    font-size: 1.125rem;
    line-height: 1.2rem;
    color: #222;
    padding: 10px;
    position: relative;
    height: 80px;
    min-width: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .headerNav-main > li > a.hasSub::before {
    content: "";
    width: 100px;
    height: 5px;
    background-color: transparent;
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }
  .headerNav-main > li > a.hasSub:hover, .headerNav-main > li > a.hasSub.open {
    color: #a70057;
    font-weight: bold;
  }
  .headerNav-main > li > a.hasSub:hover::before, .headerNav-main > li > a.hasSub.open::before {
    background-color: #e3d5b4;
  }
  .headerNav-main > li > a.hasSub:hover:focus::before, .headerNav-main > li > a.hasSub.open:focus::before {
    background-color: transparent;
  }
  .headerNav-main > li > a.hasSub.open {
    font-weight: 700;
  }
  .headerNav-main > li .accesskey {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
  }
  .headerNav-main .inner {
    display: none;
  }
  .headerNav-main .hasSub + .inner {
    position: absolute;
    top: 90px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
  }
  .headerNav-main .hasSub + .inner.align-end {
    transform: translateX(-250px);
  }
  .headerNav-main .hasSub + .inner.multi-row {
    width: 1010px;
  }
  .headerNav-main .hasSub + .inner.multi-row .subArea {
    padding-right: 0;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
  }
  .headerNav-main .hasSub + .inner.multi-row .sub-li {
    display: flex;
    flex-wrap: wrap;
  }
  .headerNav-main .hasSub + .inner.multi-row .sub-li > li {
    margin-right: 50px;
    margin-bottom: 50px;
    width: 190px;
  }
  .headerNav-main .subArea {
    background: #fff;
    padding: 30px 50px 40px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
  }
  .headerNav-main .subArea::before {
    content: "";
    width: 100%;
    height: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
  }
  .headerNav-main .nav-title {
    color: #815c0f;
    font-weight: bold;
    width: 130px;
    height: 200px;
    border-bottom-right-radius: 40px;
    text-align: center;
    padding: 50px 0 0;
    margin-bottom: 50px;
    background: linear-gradient(to right, rgb(227, 216, 195) 0%, rgb(242, 236, 220) 100%);
  }
  .headerNav-main .sub-li > li {
    width: 200px;
  }
  .headerNav-main .sub-li .sub-tt {
    color: #9e0046;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.25rem;
    border-bottom: 1px solid #9e0046;
    margin-bottom: 10px;
    min-height: 60px;
    display: flex;
    align-items: center;
  }
  .headerNav-main .sub-li .sub-tt a {
    display: block;
    flex: 1 1 100%;
    color: #9e0046;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.125rem;
    padding: 15px 30px 15px 0;
    position: relative;
  }
  .headerNav-main .sub-li .sub-tt a::before {
    content: "";
    width: 30px;
    height: 30px;
    background: url(../images/arrow.svg) right center no-repeat;
    background-size: 24px;
    position: absolute;
    right: 50px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
  }
  .headerNav-main .sub-li .sub-tt a:hover::before, .headerNav-main .sub-li .sub-tt a:focus:before {
    opacity: 1;
    right: 0;
    transition-duration: 0.3s;
  }
  .headerNav-main .subSecond > li {
    font-size: 1rem;
    line-height: 1.25rem;
    padding: 5px 0;
  }
  .headerNav-main .subSecond > li a {
    padding: 3px 0;
    color: #222;
    display: inline-block;
    width: 100%;
  }
  .headerNav-main .subSecond > li a:hover {
    color: #9e0046;
  }
  .headerNav-main .subThird {
    padding-top: 5px;
  }
  .headerNav-main .subThird > li a {
    font-size: 0.9rem;
    line-height: 1rem;
    padding: 5px 0;
    color: #666666;
    display: inline-block;
    padding-left: 20px;
    position: relative;
  }
  .headerNav-main .subThird > li a:hover {
    color: #9e0046;
  }
  .headerNav-main .subThird > li a::before {
    content: "";
    background-color: #9e0046;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 12px;
    left: 5px;
    border-radius: 100%;
  }
}
@media all and (max-width: 1200px) {
  .headerNav-main {
    display: flex;
  }
  .headerNav-main .subArea {
    padding: 20px 40px 40px;
  }
  .headerNav-main .inner {
    display: none;
  }
  .headerNav-main .hasSub + .inner.align-end {
    transform: translateX(-230px);
  }
}
@media all and (max-width: 1023px) {
  .headerNavArea .accesskey {
    margin-right: 4px;
    line-height: 1.3rem;
  }
  .headerNav-main > li {
    margin-left: 0;
  }
}
@media all and (max-width: 940px) {
  .headerNav-main > li {
    margin-left: 0;
  }
  .headerNav-main > li > a.hasSub {
    font-size: 1rem;
    padding: 10px;
  }
  .headerNav-main > li > a.hasSub::before {
    width: 80px;
  }
}
@media all and (max-width: 767px) {
  header .social-link {
    display: none;
  }
  header .m-header {
    display: block;
    position: relative;
    padding: 0 0 0 10px;
    background-color: #fff;
    height: 50px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  }
  header .m-header a.logo, header .m-header a.header-search, header .m-header a.header-lang {
    position: absolute;
    top: 0;
    display: block;
  }
  header .m-header a.logo {
    left: 10px;
    top: 5px;
  }
  header .m-header a.header-search {
    width: 40px;
    height: 50px;
    background: url(../images/ic-search.svg) center no-repeat;
    background-size: 20px;
    font-size: 0;
    right: 90px;
  }
  header .m-header a.header-lang {
    width: 40px;
    height: 50px;
    color: #bd9d4b;
    right: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
  }
  header .m-header .m-search-box {
    display: none;
    background-color: #a70052;
    padding: 8px;
    position: absolute;
    top: -50px;
    right: 0;
    left: 0;
    width: 100%;
  }
  header .m-header .m-search-box input[type=text] {
    background-color: #b93375;
    line-height: 2.5rem;
    border-radius: 20px;
    padding: 0 20px;
    width: 100%;
    color: #fff;
  }
  header .m-header.open-search a.header-search {
    background: url(../images/ic-search-on.svg) center no-repeat;
    background-size: 20px;
  }
  header .m-header.open-search .m-search-box {
    display: block;
    top: 50px;
  }
  header .m-header ::-webkit-input-placeholder {
    color: #fff;
  }
  .topnav, .headerArea {
    display: none;
  }
  .header_cover {
    position: fixed;
    top: 54px;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: -2;
  }
}
/* --------------------------------------- */
/* --------------------------------------- */
#pageMenu .hasSub button, .pageMenu-btn .line, #pageMenu, .page {
  transition: 0.6s;
}

/* --------------------------------------- */
/* page */
/* --------------------------------------- */
.page {
  width: 100vw;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 2;
}

.page_cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: -2;
}

.openmenu {
  position: fixed;
}

.page.openmenu .page_cover {
  z-index: 1001;
}

/* --------------------------------------- */
/* menu */
/* --------------------------------------- */
#pageMenu {
  position: fixed;
  z-index: 9999;
  width: 300px;
  height: 100vh;
  background: #fff;
  padding-bottom: 20px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
}
#pageMenu > ul {
  margin-bottom: 10px;
}

/* menu_清單 */
#pageMenu ul {
  list-style: none;
}

#pageMenu ul a {
  display: block;
  min-height: 50px;
  padding-left: 20px;
  line-height: 1.5rem;
  padding: 10px;
  color: inherit;
  font-size: 1.125rem;
  text-decoration: none;
}

#pageMenu ul.top-link {
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 10px;
}
#pageMenu ul.top-link li.part {
  flex: 1 1 100%;
}
#pageMenu ul.top-link li.part::after {
  display: none;
}
#pageMenu ul.top-link a {
  font-size: 0.95rem;
  color: #815c0f;
  text-align: center;
  padding: 0 10px;
  height: 30px;
  line-height: 1.875rem;
}
#pageMenu .social-link {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
#pageMenu .social-link a {
  width: 40px;
  height: 40px;
  margin: 0 5px;
}

/* menu_按鈕 */
.pageMenu-btn {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  outline: none;
  border: none;
  font-size: 0;
  background-color: #fff9e9;
}

.pageMenu-btn .line {
  display: block;
  position: absolute;
  right: 15px;
  width: 20px;
  height: 2px;
  background-color: #bd9d4b;
  border-radius: 2px;
}

.pageMenu-btn .line01 {
  top: 18px;
}

.pageMenu-btn .line02 {
  top: 24px;
  width: 24px;
}

.pageMenu-btn .line03 {
  top: 31px;
  width: 10px;
}

/* menu_按鈕_展開 */
.openmenu .pageMenu-btn .line01 {
  width: 30px;
  top: 25px;
  right: 10px;
  transform: rotate(-45deg);
}

.openmenu .pageMenu-btn .line02 {
  display: none;
}

.openmenu .pageMenu-btn .line03 {
  width: 30px;
  top: 25px;
  right: 10px;
  transform: rotate(45deg);
}

/* --------------------------------------- */
.show-left.openmenu {
  transform: translateX(300px);
}

.show-left ~ #pageMenu {
  top: 0;
  left: -300px;
}

.show-left.openmenu ~ #pageMenu {
  left: 0;
}

.show-right.openmenu {
  transform: translateX(-300px);
}

.show-right ~ #pageMenu {
  left: auto;
  right: -300px;
}

.show-right.openmenu ~ #pageMenu {
  right: 0;
}

.show-up ~ #pageMenu {
  top: -100%;
  left: 0;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 70px);
  overflow-y: auto;
}

.show-up.openmenu ~ #pageMenu {
  top: 50px;
}

.show-up.openmenu {
  transform: translateX(0);
}

/* --------------------------------------- */
/* --------------------------------------- */
#pageMenu .hasSub {
  position: relative;
}
#pageMenu .hasSub button {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background: url(../images/ic-sub.svg) center center no-repeat;
  background-size: auto 24px;
  cursor: pointer;
  outline: none;
  border: none;
}
#pageMenu .hasSub.open > a {
  color: #9e0046;
  font-weight: bold;
}
#pageMenu .hasSub.open > button {
  background: url(../images/ic-sub-open.svg) center center no-repeat;
  background-size: auto 24px;
}
#pageMenu .hasSub.open > ul {
  background-color: #fffcf4; /*padding-left: 20px; border-bottom: 1px solid #ecdfc1;*/
}
#pageMenu .hasSub.open > ul a {
  font-size: 1rem;
  color: #666666;
}
#pageMenu .hasSub.open > ul li.open > a {
  color: #9e0046;
  font-weight: bold;
}
#pageMenu .hasSub.open > ul > li > ul {
  background-color: #faf5e8;
}
#pageMenu .hasSub.open > ul > li > ul > li > ul {
  background-color: #f5eeda;
}

footer {
  position: relative;
  color: #fff;
  font-size: 0.9rem;
  background: url(../images/bg-footer.jpg) top center;
  background-size: 100% 100%;
}
footer .pagesize, footer .content {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25px;
  text-align: center;
}
footer .copyright {
  font-size: 0.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
footer .copyright p {
  display: block;
}
footer .copyright .footer-mark {
  margin-left: 10px;
  display: block;
}
footer .copyright .footer-mark img {
  width: 88px;
  height: 31px;
  display: block;
}
@media all and (max-width: 767px) {
  footer {
    font-size: 0.9375rem;
    background: #f2ecdc;
    color: #444444;
  }
  footer::after {
    content: "";
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 15px;
    background: url(../images/bg-footer.jpg) center center;
    background-size: 100% 100%;
  }
  footer .pagesize, footer .content {
    height: auto;
    display: block;
    padding: 25px 10px 30px;
  }
  footer .footer-info {
    font-size: 0.8rem;
    margin-bottom: 0;
  }
  footer .copyright {
    flex-wrap: wrap;
    font-size: 0.8rem;
  }
  footer .copyright p {
    margin-bottom: 10px;
  }
  footer .copyright .footer-mark {
    margin: 0 auto;
  }
}

.footer-inner {
  position: relative;
}
.footer-inner .accesskey {
  position: absolute;
  left: 4px;
  color: #fff;
}
@media all and (max-width: 767px) {
  .footer-inner {
    padding: 0;
    text-align: center;
    color: #444;
  }
  .footer-inner .accesskey {
    top: -20px;
    left: 0;
    color: #f2ecdc;
  }
}

.footer-info {
  margin-bottom: 10px;
}
.footer-info .part {
  display: inline;
}
.footer-info .part p {
  display: inline-block;
}
.footer-info .part p::after {
  content: "｜";
  margin: 0 10px;
  color: #fff;
}
@media all and (max-width: 1023px) {
  .footer-info .part p::after {
    margin: 0;
    color: #444;
  }
}
.footer-info .part:nth-last-child(1) p:nth-last-child(1)::after {
  content: none;
}
@media all and (max-width: 767px) {
  .footer-info p::after {
    margin: 0;
  }
  .footer-info .part {
    display: block;
  }
  .footer-info .part p:nth-last-child(1)::after {
    content: none;
  }
}

.footer-link {
  font-size: 1.125em;
  padding-left: 45px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer-link a {
  display: block;
  font-size: 1rem;
  line-height: 1.2rem;
  position: relative;
  padding: 0 14px 4px 14px;
  margin: 0 6px;
}
.footer-link a::after {
  content: "";
  width: 1px;
  height: 20px;
  background-color: #fff;
  position: absolute;
  right: -6px;
  top: 3px;
}
.footer-link .part {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
}
.footer-link .part:nth-last-child(1) a:nth-last-child(1)::after {
  content: none;
}
@media all and (max-width: 767px) {
  .footer-link {
    color: #444;
    padding: 0;
    display: block;
    font-size: 0.9375rem;
  }
  .footer-link a {
    margin-bottom: 10px;
    display: inline-block;
  }
  .footer-link a::after {
    background-color: #444;
  }
  .footer-link .part {
    display: block;
    margin-bottom: 0;
  }
  .footer-link .part a:nth-last-child(1)::after {
    content: none;
  }
}
@media all and (max-width: 374px) {
  .footer-link a::after {
    margin: 0 2px;
  }
}

.popup_overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  opacity: 0.5;
  z-index: 1011;
}

.popup_info {
  background-color: #fff;
  position: fixed;
  z-index: 1011;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
.popup_info.video_frame {
  width: 1000px;
}
.popup_info.video_frame .videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.popup_info.video_frame .videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.popup_info.video_frame a.btn_close {
  top: -80px;
  right: -80px;
}
.popup_info.img_frame {
  padding: 10px;
  width: 1000px;
}
.popup_info.img_frame img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
.popup_info.txt_frame {
  padding: 40px;
  border-radius: 20px;
  background-color: #fff;
  border-bottom: 20px solid #9e0046;
  width: 900px;
}
.popup_info a.btn_close {
  width: 60px;
  height: 60px;
  border-radius: 100%;
  background: linear-gradient(to right, rgb(120, 0, 64) 0%, rgb(158, 0, 70) 100%);
  position: absolute;
  top: -20px;
  right: -20px;
  font-size: 0;
  line-height: 0;
}
.popup_info a.btn_close::before {
  content: "";
  background: url(../images/btn_close.svg) center center no-repeat;
  background-size: 28px auto;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 0;
  left: 0;
}
.popup_info .pop_tt {
  font-size: 1.25rem;
  font-weight: 700;
  color: #222;
  padding: 20px 0;
  border-bottom: 1px solid #c4c4c4;
  margin-bottom: 20px;
}
.popup_info .pop_content {
  overflow-y: auto;
  max-height: 320px;
}
.popup_info .pop_content p {
  font-size: 1rem;
  line-height: 1.875rem;
}
.popup_info .pop_content ul.pop_li {
  list-style: none;
}
.popup_info .pop_content ul.pop_li > li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 5px;
}
.popup_info .pop_content ul.pop_li > li::before {
  content: "";
  background-color: #9d7d37;
  width: 6px;
  height: 6px;
  border-radius: 10px;
  position: absolute;
  top: 9px;
  left: 5px;
}
.popup_info .pop_content ul.pop_li > li > ol {
  margin-top: 5px;
}
.popup_info .pop_content ol.pop_ol {
  list-style: none;
}
.popup_info .pop_content ol.pop_ol li {
  counter-increment: decimal-counter;
  margin-bottom: 10px;
}
.popup_info .pop_content ol.pop_ol li::before {
  content: "(" counter(decimal-counter) ")";
}
.popup_info .pop_content a {
  color: #9d7d37;
}
.popup_info .pop_content .imgbox {
  display: flex;
  justify-content: center;
  align-items: center;
}
.popup_info .pop_content .imgbox.b-shadow {
  padding: 20px;
}
.popup_info .pop_content .imgbox.b-shadow img {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
.popup_info .showMail {
  color: #555;
  font-size: 1.75rem;
  line-height: 1.2;
  margin-bottom: 12px;
  word-break: break-all;
  border: 1px solid #eee;
  padding: 10px;
  text-align: center;
}
.popup_info p.hint {
  color: #9e0046;
  font-size: 1.87rem;
  line-height: 1.2;
}
@media all and (max-width: 1023px) {
  .popup_info a.btn_close {
    width: 40px;
    height: 40px;
    top: -20px;
    right: -10px;
  }
  .popup_info a.btn_close::before {
    background-size: 20px auto;
    width: 40px;
    height: 40px;
  }
  .popup_info.video_frame {
    width: 90%;
  }
  .popup_info.video_frame a.btn_close {
    top: -60px;
    right: 0;
  }
  .popup_info.img_frame {
    width: 80%;
    padding: 5px;
  }
  .popup_info.txt_frame {
    width: 90%;
    padding: 10px 30px 30px;
  }
}
@media all and (max-width: 767px) {
  .popup_info {
    width: 90%;
  }
  .popup_info P.showMail {
    font-size: 1.12rem;
    margin-bottom: 10px;
  }
  .popup_info p.hint {
    font-size: 1.25rem;
  }
}
@media all and (max-width: 374px) {
  .popup_info P.showMail {
    font-size: 1rem;
    margin-bottom: 5px;
  }
  .popup_info p.hint {
    font-size: 1.12rem;
  }
}

/*---------------------------------------------*/
.shadowbox, .gameArea, .eventList > li, .infoArea, .awardsList .imgArea .bg, .linkNav a {
  box-shadow: 0 0 10px 0 rgba(92, 84, 68, 0.2);
  border-radius: 20px;
}

.linear-main, .prodSwiper .swiper-slide-thumb-active .ic-prod {
  background: linear-gradient(to bottom, rgb(200, 176, 111) 0%, rgb(215, 176, 59) 100%);
}

.linear-sec, .portalNav li a.go, .awardsList .award-info .source {
  background: linear-gradient(to right, rgb(120, 0, 64) 0%, rgb(158, 0, 70) 100%);
}
.linear-sec:hover, .portalNav li a.go:hover, .awardsList .award-info .source:hover {
  background: linear-gradient(to left, rgb(120, 0, 64) 0%, rgb(158, 0, 70) 100%);
  transition-duration: 0.3s;
}

.img-auto, .m-mapArea img, .mapArea img, .prodSwiper-box .swiper-slide .imgbox img, .portalNav li .ic-esg img, .imgbox img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}

.title {
  font-weight: 700;
}

ul.ul-dot {
  list-style: none;
}
ul.ul-dot li {
  padding-left: 30px;
  position: relative;
}
ul.ul-dot li::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #9e0046;
  position: absolute;
  top: 12px;
  left: 12px;
  border-radius: 100%;
}

/*---------------------------------------------*/
.container {
  background: #eeeeef;
}

.innerBanner {
  height: 380px;
  background-position: top center;
  background-size: cover;
}
@media all and (max-width: 767px) {
  .innerBanner {
    height: 100px;
  }
}

.content {
  padding-bottom: 30px;
}

.content-area {
  position: relative;
  margin: -100px auto 0 auto;
  background: #fff;
}
@media all and (max-width: 767px) {
  .content-area {
    margin-top: -25px;
  }
}
.content-area .accesskey {
  position: absolute;
  top: 10px;
  left: 8px;
}
@media all and (max-width: 767px) {
  .content-area .accesskey {
    top: 6px;
    left: 2px;
  }
}

.content-inner {
  color: #313131;
  padding: 40px;
}
@media all and (max-width: 767px) {
  .content-inner {
    padding: 20px 15px;
  }
}

.breadcrumbs {
  padding: 10px 32px;
  line-height: 1.5em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  border-bottom: solid 1px #ccc;
}
.breadcrumbs a {
  color: #aaa;
}
.breadcrumbs a::after {
  content: " /";
}
.breadcrumbs span {
  color: #000;
}
@media all and (max-width: 767px) {
  .breadcrumbs {
    padding: 7px 15px;
    font-size: 0.875rem;
  }
}

.content-title {
  margin-bottom: 30px;
  font-size: 1.875em;
  line-height: 1.8em;
  font-weight: 700;
  color: #9e0046;
}
.content-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background: #efdfe4;
}
.content-title_mid {
  margin-bottom: 30px;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  letter-spacing: 4pt;
  color: #9414a7;
}
@media all and (max-width: 767px) {
  .content-title {
    margin-bottom: 20px;
    font-size: 1.25rem;
    line-height: 1.8em;
  }
  .content-title::after {
    width: 36px;
    height: 3;
    border-radius: 3px;
  }
}

.content-sub, .infoArea .title, .content-sub-blue, .content-sub-pur, .content-sub-pink, .content-sub-glod, .content-sub-green {
  margin-bottom: 20px;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  color: #1b1b1b;
}
@media all and (max-width: 767px) {
  .content-sub, .infoArea .title, .content-sub-blue, .content-sub-pur, .content-sub-pink, .content-sub-glod, .content-sub-green {
    font-size: 1.125rem;
    margin-bottom: 15px;
  }
}
.content-sub.golden, .infoArea .golden.title, .golden.content-sub-blue, .golden.content-sub-pur, .golden.content-sub-pink, .golden.content-sub-glod, .golden.content-sub-green {
  color: #9d7d37;
}
.content-sub-green {
  color: #64a87c;
}
.content-sub-glod {
  color: #c5a036;
}
.content-sub-pink {
  color: #f27282;
}
.content-sub-pur {
  color: #a0238e;
}
.content-sub-blue {
  color: #477bbf;
}

.newstitle {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px #c9c9c9;
}
.newstitle .date {
  margin-bottom: 10px;
  font-size: 1.3em;
  color: #898989;
}
@media all and (max-width: 767px) {
  .newstitle .date {
    font-size: 1rem;
    margin-bottom: 0;
  }
}
.newstitle .title {
  font-size: 1.5em;
  color: #1b1b1b;
}
@media all and (max-width: 767px) {
  .newstitle .title {
    font-size: 1.125rem;
  }
}

.borderbox {
  margin-bottom: 35px;
  border: solid 1px;
  border-radius: 5px;
}
@media all and (max-width: 767px) {
  .borderbox {
    margin-bottom: 20px;
  }
}
.borderbox-title, .teaminfo .infoTitle {
  position: relative;
  margin-top: 20px;
  padding: 0 30px 0 295px;
  font-size: 1.875em;
  line-height: 1.33em;
  font-weight: bold;
}
@media all and (max-width: 767px) {
  .borderbox-title, .teaminfo .infoTitle {
    margin-top: 15px;
    padding: 0 15px 0 42px;
    font-size: 1.25rem;
    line-height: 1.333em;
  }
}
.borderbox-title::before, .teaminfo .infoTitle::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 255px;
  height: 1.33em;
}
@media all and (max-width: 767px) {
  .borderbox-title::before, .teaminfo .infoTitle::before {
    width: 15px;
    height: 1.333em;
  }
}
.borderbox-title::after, .teaminfo .infoTitle::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 255px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.33em 25px 0 0;
  border-color: #fff transparent transparent transparent;
}
@media all and (max-width: 767px) {
  .borderbox-title::after, .teaminfo .infoTitle::after {
    left: 15px;
    border-width: 1.333em 20px 0 0;
  }
}
.borderbox-inner {
  padding: 25px 30px;
  font-size: 1rem;
  line-height: 1.5em;
}
@media all and (max-width: 767px) {
  .borderbox-inner {
    padding: 16px 15px;
    font-size: 1rem;
  }
}
.borderbox.mb-0,
.borderbox .title.mb-0 {
  margin-bottom: 0;
}
.borderbox .content-sub, .borderbox .infoArea .title, .infoArea .borderbox .title, .borderbox .content-sub-green, .borderbox .content-sub-glod, .borderbox .content-sub-pink, .borderbox .content-sub-pur, .borderbox .content-sub-blue {
  margin-bottom: 10px;
}
@media all and (max-width: 767px) {
  .borderbox .content-sub, .borderbox .infoArea .title, .infoArea .borderbox .title, .borderbox .content-sub-green, .borderbox .content-sub-glod, .borderbox .content-sub-pink, .borderbox .content-sub-pur, .borderbox .content-sub-blue {
    margin-bottom: 5px;
  }
}

.borderbox.color-01 {
  border-color: #6b3668;
}
.borderbox.color-01 .borderbox-title, .borderbox.color-01 .teaminfo .infoTitle, .teaminfo .borderbox.color-01 .infoTitle {
  color: #6b3668;
}
.borderbox.color-01 .borderbox-title::before, .borderbox.color-01 .teaminfo .infoTitle::before, .teaminfo .borderbox.color-01 .infoTitle::before {
  background: #6b3668;
}
.borderbox.color-01 .borderbox-title::after, .borderbox.color-01 .teaminfo .infoTitle::after, .teaminfo .borderbox.color-01 .infoTitle::after {
  border-color: #6b3668 transparent transparent transparent;
}

.borderbox.color-02 {
  border-color: #955090;
}
.borderbox.color-02 .borderbox-title, .borderbox.color-02 .teaminfo .infoTitle, .teaminfo .borderbox.color-02 .infoTitle {
  color: #955090;
}
.borderbox.color-02 .borderbox-title::before, .borderbox.color-02 .teaminfo .infoTitle::before, .teaminfo .borderbox.color-02 .infoTitle::before {
  background: #955090;
}
.borderbox.color-02 .borderbox-title::after, .borderbox.color-02 .teaminfo .infoTitle::after, .teaminfo .borderbox.color-02 .infoTitle::after {
  border-color: #955090 transparent transparent transparent;
}

.borderbox.color-03 {
  border-color: #b25966;
}
.borderbox.color-03 .borderbox-title, .borderbox.color-03 .teaminfo .infoTitle, .teaminfo .borderbox.color-03 .infoTitle {
  color: #b25966;
}
.borderbox.color-03 .borderbox-title::before, .borderbox.color-03 .teaminfo .infoTitle::before, .teaminfo .borderbox.color-03 .infoTitle::before {
  background: #b25966;
}
.borderbox.color-03 .borderbox-title::after, .borderbox.color-03 .teaminfo .infoTitle::after, .teaminfo .borderbox.color-03 .infoTitle::after {
  border-color: #b25966 transparent transparent transparent;
}

.borderbox.color-04 {
  border-color: #7a3b44;
}
.borderbox.color-04 .borderbox-title, .borderbox.color-04 .teaminfo .infoTitle, .teaminfo .borderbox.color-04 .infoTitle {
  color: #7a3b44;
}
.borderbox.color-04 .borderbox-title::before, .borderbox.color-04 .teaminfo .infoTitle::before, .teaminfo .borderbox.color-04 .infoTitle::before {
  background: #7a3b44;
}
.borderbox.color-04 .borderbox-title::after, .borderbox.color-04 .teaminfo .infoTitle::after, .teaminfo .borderbox.color-04 .infoTitle::after {
  border-color: #7a3b44 transparent transparent transparent;
}

.borderbox.color-05 {
  border-color: #b49260;
}
.borderbox.color-05 .borderbox-title, .borderbox.color-05 .teaminfo .infoTitle, .teaminfo .borderbox.color-05 .infoTitle {
  color: #b49260;
}
.borderbox.color-05 .borderbox-title::before, .borderbox.color-05 .teaminfo .infoTitle::before, .teaminfo .borderbox.color-05 .infoTitle::before {
  background: #b49260;
}
.borderbox.color-05 .borderbox-title::after, .borderbox.color-05 .teaminfo .infoTitle::after, .teaminfo .borderbox.color-05 .infoTitle::after {
  border-color: #b49260 transparent transparent transparent;
}

.sideline {
  margin-bottom: 15px;
}
.sideline.mb-0 {
  margin-bottom: 0;
}
.sideline > .title {
  position: relative;
  margin-bottom: 10px;
  padding-left: 20px;
}
.sideline > .title::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: calc(0.75em - 5px);
  left: 0;
  border-radius: 50%;
}
.sideline > .inner {
  position: relative;
  padding-left: 20px;
}
.sideline > .inner::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 4px;
  width: 2px;
  height: 100%;
}

.sideline-01 > .title {
  color: #786777;
}
.sideline-01 > .title::before {
  background: #786777;
}
.sideline-01 > .inner::before {
  background: #dbccda;
}

.sideline-02 > .title {
  color: #756474;
}
.sideline-02 > .title::before {
  background: #756474;
}
.sideline-02 > .inner::before {
  background: #dbccda;
}

.sideline-03 > .title {
  color: #b26777;
}
.sideline-03 > .title::before {
  background: #b26777;
}
.sideline-03 > .inner::before {
  background: #dbccce;
}

.sideline-04 > .title {
  color: #7a6466;
}
.sideline-04 > .title::before {
  background: #7a6466;
}
.sideline-04 > .inner::before {
  background: #dbccce;
}

.sideline-05 > .title {
  color: #d2b585;
}
.sideline-05 > .title::before {
  background: #d2b585;
}
.sideline-05 > .inner::before {
  background: #d2b585;
}

hr.line {
  border: none;
  height: 1px;
  margin: 40px 0;
  background: #c9c9c9;
}
hr.line.m-3-5 {
  margin: 35px 0;
}
@media all and (max-width: 767px) {
  hr.line, hr.line.m-3-5 {
    margin: 20px 0;
  }
}

hr.dash {
  margin: 30px 0;
  border: none;
  height: 1px;
  background: url(../images/hr-dash-01.png) left center repeat-x;
}
@media all and (max-width: 767px) {
  hr.dash {
    margin: 15px 0;
  }
}

.link-pdf {
  display: inline-block;
  width: 30px;
  height: 30px;
  color: transparent;
  overflow: hidden;
  background: url(../images/btn-pdf.png) center center no-repeat;
  background-size: auto 100%;
}

.txtlink {
  color: #9e0046;
  border-bottom: 1px solid #9e0046;
}

/*---------------------------------------------*/
ul.list, ul.filelist, ul.filelink {
  list-style: none;
}
ul.list li, ul.filelist li, ul.filelink li {
  margin: 0;
  padding: 15px 0 15px 15px;
  border-bottom: solid 1px #d2d2d2;
}
ul.list li::before, ul.filelist li::before, ul.filelink li::before {
  top: calc(0.5rem + 20px);
}
ul.list li *, ul.filelist li *, ul.filelink li * {
  flex: 1 1 auto;
}
ul.list.col-2, ul.col-2.filelist, ul.filelink.col-2 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-right: -30px;
}
ul.list.col-2 li, ul.col-2.filelist li, ul.filelink.col-2 li {
  flex: 0 0 auto;
  width: calc(50% - 30px);
  max-width: calc(50% - 30px);
  margin-right: 30px;
}
@media all and (max-width: 767px) {
  ul.list.col-2, ul.col-2.filelist, ul.filelink.col-2 {
    display: block;
    margin: 0 0 30px;
  }
  ul.list.col-2 li, ul.col-2.filelist li, ul.filelink.col-2 li {
    width: 100%;
    max-width: 100%;
  }
}

.filelist li {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 10px 0 10px 15px;
  transition: 0.2s;
}
.filelist li::before {
  top: calc(50% - 6px);
  transition: 0.2s;
}
@media all and (min-width: 768px) {
  .filelist li:hover {
    box-shadow: 0 0 10px 0 rgba(92, 84, 68, 0.4);
    border-color: transparent;
    border-radius: 4px;
  }
  .filelist li:hover::before {
    opacity: 0;
  }
}
.filelist a {
  display: block;
  min-height: 30px;
  padding: 0 60px 0 0;
  font-size: 1.125rem;
  line-height: 1.875rem;
  background: url(../images/btn-pdf.png) right 20px center no-repeat;
  background-size: auto 30px;
}
.filelist a.link {
  background: url(../images/btn-link.png) right 20px center no-repeat;
  background-size: auto 30px;
}
@media all and (max-width: 767px) {
  .filelist a {
    padding: 0 40px 0 0;
    background-position: right 5px center;
  }
}

.filelink li {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 10px 0 10px 15px;
  transition: 0.2s;
}
.filelink li::before {
  top: calc(50% - 6px);
  transition: 0.2s;
}
@media all and (min-width: 768px) {
  .filelink li:hover {
    box-shadow: 0 0 10px 0 rgba(92, 84, 68, 0.4);
    border-color: rgba(0, 0, 0, 0);
    border-radius: 4px;
  }
  .filelink li:hover::before {
    opacity: 0;
  }
}
.filelink li a {
  display: block;
  min-height: 30px;
  padding: 0 60px 0 0;
  font-size: 1.125rem;
  line-height: 1.33em;
  background: url(../images/btn-link.png) right 20px center no-repeat;
  background-size: auto 30px;
}
@media all and (max-width: 767px) {
  .filelink li a {
    padding: 0 40px 0 0;
    background-position: right 5px center;
  }
}

.linkNav {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -50px 0 0;
}
.linkNav a {
  flex: 0 0 auto;
  width: calc(33% - 50px);
  display: flex;
  align-items: center;
  margin: 0 50px 50px 0;
  padding: 10px;
  font-size: 1em;
  line-height: 1.3em;
  font-weight: bold;
  color: #9d7d37;
  transition: 0.2s;
}
.linkNav a:hover, .linkNav a:focus {
  box-shadow: 0 0 10px 0 rgba(92, 84, 68, 0.4);
}
.linkNav .icon {
  flex: 0 0 auto;
  width: 80px;
  height: 80px;
  margin-right: 10px;
}
.linkNav.mb-0 {
  margin-bottom: -50px;
}
@media all and (max-width: 767px) {
  .linkNav.mb-0 {
    margin-bottom: -15px;
  }
}
@media all and (max-width: 767px) {
  .linkNav {
    margin: 0 -15px 0 0;
  }
  .linkNav a {
    width: calc(50% - 15px);
    margin: 0 15px 15px 0;
    font-size: 1.125rem;
  }
  .linkNav .icon {
    width: 60px;
    height: 60px;
  }
}
@media all and (max-width: 540px) {
  .linkNav {
    margin: 0;
  }
  .linkNav a {
    width: 100%;
    margin: 0 0 15px;
  }
}
.linkNav .half {
  width: calc(50% - 50px);
}
@media all and (max-width: 1200px) {
  .linkNav .half {
    width: calc(50% - 50px);
  }
}
@media all and (max-width: 767px) {
  .linkNav .half {
    width: calc(50% - 15px);
  }
}
@media all and (max-width: 540px) {
  .linkNav .half {
    width: 100%;
  }
}
.linkNav .short {
  width: calc(25% - 50px);
}
@media all and (max-width: 1200px) {
  .linkNav .short {
    width: calc(50% - 50px);
  }
}
@media all and (max-width: 767px) {
  .linkNav .short {
    width: calc(50% - 15px);
  }
}
@media all and (max-width: 540px) {
  .linkNav .short {
    width: 100%;
  }
}
.linkNav .mail {
  width: calc(50% - 50px);
  background: url(../images/linkNav-mail-bg.png) center right no-repeat;
  background-size: contain;
}
.linkNav .mail .icon {
  background: url(../images/linkNav-mail.png) center center no-repeat;
  background-size: 100% 100%;
}
.linkNav .mail .text {
  font-size: 1.125rem;
  font-weight: 400;
  color: #313131;
}
.linkNav .mail .text span {
  display: block;
  word-break: break-all;
}
.linkNav .mail .text .highlight {
  padding-right: 15px;
  font-size: 1.56rem;
  font-weight: 700;
  color: #9d7d37;
}
@media all and (max-width: 1200px) {
  .linkNav .mail {
    width: calc(100% - 50px);
  }
}
@media all and (max-width: 767px) {
  .linkNav .mail {
    width: calc(100% - 15px);
  }
  .linkNav .mail .text {
    font-size: 1rem;
  }
  .linkNav .mail .text .highlight {
    font-size: 1.125rem;
  }
}
@media all and (max-width: 540px) {
  .linkNav .mail {
    width: 100%;
  }
}

.linkNav .icon-1 {
  background: url(../images/linkNav-1.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-2 {
  background: url(../images/linkNav-2.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-3 {
  background: url(../images/linkNav-3.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-4 {
  background: url(../images/linkNav-4.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-5 {
  background: url(../images/linkNav-5.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-6 {
  background: url(../images/linkNav-6.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-7 {
  background: url(../images/linkNav-7.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-8 {
  background: url(../images/linkNav-8.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-9 {
  background: url(../images/linkNav-9.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-10 {
  background: url(../images/linkNav-10.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-11 {
  background: url(../images/linkNav-11.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-12 {
  background: url(../images/linkNav-12.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-13 {
  background: url(../images/linkNav-13.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-14 {
  background: url(../images/linkNav-14.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-15 {
  background: url(../images/linkNav-15.png) center center no-repeat;
  background-size: 100% 100%;
}

.linkNav .icon-16 {
  background: url(../images/linkNav-16.png) center center no-repeat;
  background-size: 100% 100%;
}

.scroll-x {
  overflow-x: auto;
}

.table-basic, .table-stripTh, .table-primary {
  width: 100%;
  text-align: center;
}
.table-basic thead th, .table-stripTh thead th, .table-primary thead th {
  padding: 5px 12px;
  vertical-align: middle;
  font-size: 1rem;
  line-height: 1.66rem;
  color: #fff;
  background: #9d7d37;
}
@media all and (max-width: 767px) {
  .table-basic thead th, .table-stripTh thead th, .table-primary thead th {
    padding: 5px 8px;
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
.table-basic tbody tr, .table-stripTh tbody tr, .table-primary tbody tr {
  border-bottom: solid 1px #dcdcdc;
}
@media all and (max-width: 767px) {
  .table-basic tbody tr.m-hide, .table-stripTh tbody tr.m-hide, .table-primary tbody tr.m-hide {
    display: none;
  }
}
.table-basic td, .table-stripTh td, .table-primary td {
  padding: 12px;
  vertical-align: middle;
}
@media all and (max-width: 767px) {
  .table-basic td, .table-stripTh td, .table-primary td {
    padding: 8px;
    font-size: 0.9375rem;
    line-height: 1.5em;
  }
}

.table-primary thead .side {
  background: #8c6f31;
}
.table-primary tbody .sideTh {
  background: #f2f2f2;
}
.table-primary tbody .fullTh {
  background-color: #fbf9ed;
}
.table-primary tbody tr:nth-child(even) {
  background: #f2f2f2;
}
.table-primary tbody tr:nth-child(even) .sideTh {
  background: #e6e6e6;
}
.table-primary .bg-dark {
  background: #5c5444;
}
.table-primary .bg-secondary-dark {
  color: #fff;
  background: #7a3b44;
}
.table-primary.th-light thead th {
  background: rgba(157, 125, 55, 0.75);
}
.table-primary.th-light thead .side {
  background: rgba(140, 111, 49, 0.75);
}

.table-stripTh thead th:nth-child(odd) {
  background: #8c6f31;
}
.table-stripTh tbody td:nth-child(odd) {
  background: #f2f2f2;
}

.x-scroll {
  overflow-x: auto;
}

.table-rwd .sideTd p + p {
  margin-top: 10px;
}

@media all and (max-width: 767px) {
  .table-rwd {
    border-top: solid 1px #dcdcdc;
  }
  .table-rwd,
  .table-rwd tbody,
  .table-rwd tr {
    display: block;
    width: 100%;
  }
  .table-rwd thead {
    display: none;
  }
  .table-rwd tbody tr,
  .table-rwd tbody tr:nth-child(even) {
    background: #fff;
    border: none;
  }
  .table-rwd td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-align: right;
    border-bottom: solid 1px #dcdcdc;
  }
  .table-rwd td::before {
    content: attr(data-th);
    display: block;
    width: 150px;
    text-align: left;
  }
  .table-rwd .sideTh {
    display: block;
    text-align: center;
  }
  .table-rwd .sideTh::before {
    content: none;
  }
  .table-rwd .sideTd {
    display: block;
    text-align: center;
  }
  .table-rwd .sideTd::before {
    /*content: none;*/
    font-size: 0.8rem;
    color: #9d7d37;
    text-align: center;
    width: 100%;
  }
  .table-rwd tbody tr .sideTh {
    color: #fff;
    background: #b0944a;
  }
  .table-rwd tbody tr:nth-child(even) .sideTh {
    background: #8c6f31;
  }
  .table-rwd.th-light tbody tr .sideTh {
    background: rgba(176, 148, 74, 0.75);
  }
  .table-rwd.th-light tbody tr:nth-child(even) .sideTh {
    background: rgba(140, 111, 49, 0.75);
  }
}
.colsArea, .reportArea {
  display: flex;
  align-items: stretch;
}
.colsArea .col, .reportArea .col {
  flex: 1 1 auto;
  margin-left: 30px;
}
.colsArea .col:nth-child(1), .reportArea .col:nth-child(1) {
  margin: 0;
}

/*pager*/
.pager {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pager li {
  display: inline-block;
  margin: 0 4px;
}
.pager a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 30px;
  height: 30px;
  position: relative;
  vertical-align: top;
  text-align: center;
  padding: 0 10px;
  font-size: 1rem;
  line-height: 1rem;
}
@media all and (max-width: 767px) {
  .pager a {
    padding: 0 5px;
  }
}
.pager a.on {
  color: #fff;
  background-color: #966731;
  border-radius: 100%;
}

.pager_icon {
  width: 24px;
  height: 24px;
  line-height: 1.5rem;
  padding: 0;
  overflow: hidden;
  position: relative;
}
.pager_icon.prev span, .pager_icon.next span {
  color: transparent;
  font-size: 0;
}
.pager_icon.prev::before, .pager_icon.next::before {
  content: "";
  width: 30px;
  height: 30px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
.pager_icon.prev::before {
  background: url(../images/arrow-gold.svg) center center no-repeat;
  background-size: 24px;
  transform: rotate(180deg);
}
.pager_icon.next::before {
  background: url(../images/arrow-gold.svg) center center no-repeat;
  background-size: 24px;
}
@media all and (max-width: 767px) {
  .pager_icon {
    height: 20px;
  }
  .pager_icon.prev, .pager_icon.next {
    background-size: auto 20px;
  }
}

.inputbox select {
  background-color: #f5f5f5;
  border-radius: 10px;
  border: none;
  font-size: 1.25rem;
  padding-left: 20px;
  font-weight: 500;
}
.inputbox select option:not(first-child) {
  color: #444;
}

.tab-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.tab-flex.j-end {
  justify-content: flex-end;
}
.tab-flex .tab-item {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
}
.tab-flex .tab-item li {
  margin-left: 10px;
  min-width: 200px;
}
.tab-flex .tab-item li a {
  font-size: 1.25rem;
  text-align: center;
  color: #815c0f;
  border: 1px solid #815c0f;
  border-radius: 40px;
  padding: 10px 20px;
  display: block;
}
.tab-flex .tab-item li a.on, .tab-flex .tab-item li a:hover {
  background: linear-gradient(to right, rgb(227, 216, 195) 0%, rgb(242, 236, 220) 100%);
  border-color: #fff;
}
.tab-flex .tab-item li a.on:hover, .tab-flex .tab-item li a:hover:hover {
  background: linear-gradient(to left, rgb(227, 216, 195) 0%, rgb(242, 236, 220) 100%);
}
.tab-flex .tab-item > li:first-child {
  margin-left: 0;
}
.tab-flex .inputbox {
  max-width: 420px;
  flex: 1 1 auto;
}
@media all and (max-width: 1023px) {
  .tab-flex .tab-item li {
    min-width: initial;
  }
}
@media all and (max-width: 767px) {
  .tab-flex {
    margin-bottom: 15px;
  }
  .tab-flex .tab-item {
    margin-bottom: 10px;
    flex: 1 1 100%;
  }
  .tab-flex .tab-item li {
    min-width: 40%;
    flex: 1 1 auto;
  }
  .tab-flex .tab-item li a {
    font-size: 1rem;
    border-radius: 4px;
  }
  .tab-flex .inputbox {
    max-width: initial;
    width: 100%;
    flex: 1 1 100%;
  }
  .tab-flex .inputbox select {
    border-radius: 4px;
    font-size: 1rem;
    padding-left: 10px;
  }
}

.d-line {
  border-top: solid 1px #d2d2d2;
  padding-bottom: 30px;
}
@media all and (max-width: 767px) {
  .d-line {
    padding-bottom: 15px;
  }
}

.newsList {
  list-style: none;
  margin-bottom: 40px;
}
.newsList > li {
  border-top: solid 1px #d2d2d2;
  padding: 30px 0;
}
.newsList > li .time {
  color: #b8a475;
  font-size: 1.1rem;
  font-weight: normal;
  margin-bottom: 10px;
  display: block;
}
.newsList > li a.title {
  font-size: 1.5rem;
  line-height: 2rem;
  color: #9e0046;
  margin-bottom: 10px;
  display: block;
}
.newsList > li a.title:hover {
  color: #815c0f;
}
.newsList > li:first-child {
  border-top: none;
  padding-top: 0;
}
.newsList .text {
  font-size: 1.1rem;
  line-height: 1.875rem;
}
@media all and (max-width: 767px) {
  .newsList {
    margin-bottom: 30px;
  }
  .newsList > li {
    padding: 20px 0;
  }
  .newsList > li .time {
    font-size: 0.9rem;
  }
  .newsList > li a.title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}

.reportArea .col {
  flex: 1 1 50%;
}
.reportArea .col + .col {
  max-width: 440px;
  height: 205px;
}
.reportArea .imgbox {
  background-image: url(../img/reportArea-bg-01.jpg);
  background-position: center center;
  background-size: cover;
  border-radius: 10px;
}
.reportArea .imgbox2 {
  background-image: url(../img/reportArea-bg-02.jpg);
  background-position: center center;
  background-size: cover;
  border-radius: 10px;
}
.reportArea .imgbox3 {
  background-image: url(../img/reportArea-bg-03.jpg);
  background-position: center center;
  background-size: cover;
  border-radius: 10px;
}
.reportArea .imgbox4 {
  background-image: url(../img/reportArea-bg-04.jpg);
  background-position: right center;
  background-size: cover;
  border-radius: 10px;
}
.reportArea .imgbox5 {
  background-image: url(../img/reportArea-bg-05.jpg);
  background-position: right center;
  background-size: cover;
  border-radius: 10px;
}
@media all and (max-width: 767px) {
  .reportArea {
    display: block;
  }
  .reportArea .col {
    width: 100%;
    margin: 0 0 20px;
    max-height: initial;
  }
  .reportArea .col + .col {
    max-width: 100%;
    height: 200px;
  }
  .reportArea .imgbox, .reportArea .imgbox2, .reportArea .imgbox3, .reportArea .imgbox4, .reportArea .imgbox5 {
    height: 200px;
  }
}

.scoreArea {
  display: flex;
  justify-content: space-around;
  text-align: center;
  max-width: 1300px;
  margin: 0 auto 40px;
}
.scoreArea .score {
  width: auto;
  margin-bottom: 20px;
  border-radius: 50%;
}
.scoreArea .score span {
  display: block;
  width: 135px;
  height: 135px;
  font-size: 1.875rem;
  line-height: 8.4rem;
  border-radius: 50%;
  border: solid 17px #fff;
}
.scoreArea .title {
  font-size: 1.25em;
}
@media all and (max-width: 767px) {
  .scoreArea {
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
  }
  .scoreArea .box {
    margin-bottom: 30px;
  }
}

.scoreArea .score-01 {
  color: #fff;
}
.scoreArea .score-01 span {
  background: #6b3768;
}
.scoreArea .score-01 .score {
  border: solid 1px #6b3768;
}
.scoreArea .score-01 .title {
  color: #6b3768;
}

.scoreArea .score-02 {
  color: #fff;
}
.scoreArea .score-02 span {
  background: #95508f;
}
.scoreArea .score-02 .score {
  border: solid 1px #95508f;
}
.scoreArea .score-02 .title {
  color: #95508f;
}

.scoreArea .score-03 {
  color: #fff;
}
.scoreArea .score-03 span {
  background: #b35867;
}
.scoreArea .score-03 .score {
  border: solid 1px #b35867;
}
.scoreArea .score-03 .title {
  color: #b35867;
}

.sitemapList {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.sitemapList,
.sitemapList ul {
  list-style: none;
}
.sitemapList > li {
  flex: 1 1 auto;
  margin: 0 50px 30px 0;
  width: calc(50% - 50px);
}
.sitemapList > li.wide-l {
  width: 100%;
  max-width: initial;
}
.sitemapList > li.wide-l ul {
  display: flex;
  flex-wrap: wrap;
  margin-left: -20px;
}
.sitemapList > li.wide-l ul li {
  flex: 1 1 calc(50% - 20px);
  margin-left: 20px;
}
.sitemapList > li.wide-l > ul > li {
  margin-bottom: 20px;
}
@media all and (max-width: 767px) {
  .sitemapList {
    display: block;
  }
  .sitemapList > li {
    max-width: initial;
    width: 100%;
    margin: 0 0 20px;
  }
  .sitemapList > li.wide-l {
    max-width: initial;
    width: 100%;
  }
  .sitemapList > li.wide-l ul {
    display: block;
  }
  .sitemapList > li.wide-l > ul > li {
    margin-bottom: 0;
  }
}
.sitemapList a {
  display: block;
  margin: 5px 0;
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  .sitemapList a {
    white-space: unset;
  }
}
.sitemapList .title {
  font-size: 1.25em;
  color: #75580a;
  margin-bottom: 0.5em;
}
.sitemapList .main {
  display: flex;
  flex-wrap: wrap;
  color: #b1944a;
  padding-top: 0.5em;
  border-top: solid 1px #d2d2d2;
}
.sitemapList .main > li {
  flex: 1 1 50%;
  width: 100%;
}
.sitemapList .main > li.full {
  width: 100%;
}
@media all and (max-width: 767px) {
  .sitemapList .main {
    display: block;
  }
  .sitemapList .main > li {
    width: 100% !important;
  }
}
.sitemapList .sub {
  font-size: 0.875em;
  color: #626262;
}
.sitemapList .sub a::before {
  content: " - ";
}
@media all and (max-width: 767px) {
  .sitemapList .sub {
    padding-left: 8px;
  }
}
.sitemapList .sub_2 {
  font-size: 1em;
  color: #959595;
  padding-left: 5px;
}
.sitemapList .sub_2 a::before {
  content: " ‧ ";
}

.awardsList {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  list-style: none;
  margin-left: -30px;
}
.awardsList > li {
  width: calc(33.3% - 30px);
  position: relative;
  margin-bottom: 30px;
  margin-left: 30px;
  display: flex;
  flex-direction: column;
}
.awardsList .imgArea {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  background: url(../images/bg-award.png) center bottom no-repeat;
  background-size: contain;
  display: flex;
  justify-content: center;
}
.awardsList .imgArea .bg {
  width: 280px;
  height: 280px;
  border-radius: 100%;
  background-position: center;
  background-size: cover;
}
.awardsList .award-info {
  margin-top: -20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}
.awardsList .award-info .source {
  color: #fff;
  font-size: 1rem;
  border-radius: 4px;
  padding: 2px 6px 4px;
  margin-bottom: 10px;
}
.awardsList .award-info .title {
  font-size: 1.25rem;
  line-height: 1.875rem;
  text-align: center;
  flex: 1 1 100%;
  padding: 0 40px;
}
@media all and (max-width: 1023px) {
  .awardsList {
    margin-left: -20px;
  }
  .awardsList > li {
    width: calc(50% - 20px);
    padding: 20px;
    margin-bottom: 20px;
    margin-left: 20px;
  }
}
@media all and (max-width: 767px) {
  .awardsList {
    margin-left: 0;
  }
  .awardsList > li {
    width: 100%;
    margin-bottom: 20px;
    margin-left: 0;
  }
}

.historyTable {
  font-size: 1.25em;
  line-height: 1.5em;
}
.historyTable .year {
  width: 115px;
}
.historyTable .text {
  flex: 1 1 auto;
}

.historyTable-title {
  position: relative;
  margin-bottom: 30px;
  padding: 10px 0;
  color: #1b1b1b;
  border-top: solid 1px #d5d5d5;
  border-bottom: solid 1px #d5d5d5;
  display: flex;
  justify-content: center;
  align-items: center;
}
.historyTable-title .year {
  font-size: 1.875rem;
  line-height: 2.5rem;
}
.historyTable-title .inputbox {
  position: absolute;
  right: 0;
  top: 10px;
  width: 250px;
}
.historyTable-title .inputbox select {
  line-height: 2rem;
  height: 40px;
}
@media all and (max-width: 767px) {
  .historyTable-title {
    flex-wrap: wrap;
  }
  .historyTable-title .inputbox {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
  }
}

.historyTable-in {
  position: relative;
  list-style: none;
  padding: 20px 0 5px;
  margin-bottom: 30px;
}
.historyTable-in::before {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 150px;
  width: 5px;
  height: 100%;
  background: #d5d5d5;
}
@media all and (max-width: 767px) {
  .historyTable-in::before {
    width: 3px;
    left: 48px;
  }
}
.historyTable-in li {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
}
.historyTable-in .month {
  flex: 0 0 auto;
  width: 130px;
  position: relative;
  font-size: 1.875rem;
  font-weight: 700;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 50px;
  color: #aa8421;
  background: url(../images/bg-month.svg) 0 0 no-repeat;
  background-size: contain;
}
.historyTable-in .month::before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: calc(50% - 11px);
  right: -32px;
  background: #aa8421;
  border: 5px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
@media all and (max-width: 767px) {
  .historyTable-in .month {
    width: 40px;
    padding-right: 20px;
    background: none;
    justify-content: flex-start;
    font-size: 1.5rem;
    margin-top: 10px;
    margin-right: 10px;
  }
  .historyTable-in .month::before {
    width: 12px;
    height: 12px;
    top: calc(50% - 12px);
    right: 0;
  }
}
.historyTable-in .inner {
  position: relative;
  margin-top: 10px;
  flex: 1 1 auto;
  padding: 40px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  display: flex;
  justify-content: space-between;
}
.historyTable-in .inner .text {
  font-size: 1.1rem;
  line-height: 1.8rem;
  flex: 1 1 auto;
  width: calc(100% - 360px);
}
.historyTable-in .inner .text a {
  color: #9e0046;
  display: inline;
}
.historyTable-in .inner .text a.a-line {
  border-bottom: 1px solid #9e0046;
  line-height: 2.2rem;
  display: inline-block;
}
.historyTable-in .inner .title, .historyTable-in .inner .sub-tt {
  font-size: 1.5rem;
  line-height: 2rem;
}
.historyTable-in .inner .title {
  flex: 0 1 auto;
  color: #414141;
  margin-bottom: 5px;
}
.historyTable-in .inner .sub-tt {
  font-weight: normal;
  color: #b8a475;
  margin-bottom: 10px;
}
.historyTable-in .inner .imgbox {
  width: 320px;
  flex: 1 1 320px;
  max-width: 320px;
}
.historyTable-in .inner .text + .imgbox {
  margin-left: 30px;
}
@media all and (max-width: 1023px) {
  .historyTable-in .inner {
    flex-wrap: wrap;
  }
  .historyTable-in .inner .text {
    width: 100%;
  }
  .historyTable-in .inner .imgbox {
    max-width: initial;
  }
  .historyTable-in .inner .text + .imgbox {
    margin-left: 0;
    margin-top: 20px;
  }
}
@media all and (max-width: 767px) {
  .historyTable-in .inner {
    flex-wrap: wrap;
    padding: 10px;
    font-size: 1rem;
  }
  .historyTable-in .inner .title, .historyTable-in .inner .sub-tt {
    font-size: 1.2rem;
    line-height: 1.5rem;
  }
  .historyTable-in .inner .imgbox {
    min-width: initial;
    width: 100%;
  }
  .historyTable-in .inner .text + .imgbox {
    margin-left: 0;
    margin-top: 20px;
  }
}
@media all and (max-width: 767px) {
  .historyTable-in {
    padding: 0;
  }
}

.infoArea {
  padding: 45px 180px 45px 120px;
}
@media all and (max-width: 1400px) {
  .infoArea {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.infoArea.bg-01 {
  padding-top: 80px;
  padding-bottom: 80px;
  background: url(../images/info-01.jpg) right center no-repeat;
  background-size: cover;
}
@media all and (max-width: 767px) {
  .infoArea.bg-01 {
    background: url(../images/info-01-m.jpg) center bottom no-repeat;
    background-size: 100% auto;
  }
}
@media all and (max-width: 1400px) {
  .infoArea.bg-01 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.infoArea.bg-02 {
  background: url(../images/info-02.jpg) right center no-repeat;
  background-size: cover;
}
@media all and (max-width: 767px) {
  .infoArea.bg-02 {
    background: url(../images/info-02-m.jpg) center bottom no-repeat;
    background-size: 100% auto;
  }
}
.infoArea.bg-03 {
  background: url(../images/info-03.jpg) right bottom no-repeat;
  background-size: 80%;
}
.infoArea.bg-03 .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  max-width: 1000px;
}
@media all and (max-width: 1280px) {
  .infoArea.bg-03 .inner {
    display: block;
  }
}
.infoArea.bg-03 .section {
  flex: 0 1 50%;
  max-width: 460px;
  margin-bottom: 36px;
}
.infoArea.bg-03 .section:nth-child(odd) {
  margin-right: 40px;
  padding-right: 40px;
  border-right: solid 1px #d2d2d2;
}
@media all and (max-width: 1400px) {
  .infoArea.bg-03 .section:nth-child(odd) {
    margin-right: 20px;
    padding-right: 20px;
  }
}
.infoArea.bg-03 .section:nth-child(odd):nth-last-child(1) {
  border: none;
}
.infoArea.bg-03 .section:nth-last-child(1) {
  margin-bottom: 0;
}
@media all and (max-width: 1280px) {
  .infoArea.bg-03 .section {
    max-width: 100%;
  }
  .infoArea.bg-03 .section:nth-child(odd) {
    margin-right: 0;
    padding: 0;
    border: none;
  }
}
@media all and (max-width: 1400px) {
  .infoArea.bg-03 {
    padding-right: 120px;
  }
}
@media all and (max-width: 767px) {
  .infoArea.bg-03 {
    background: url(../images/info-03-m.jpg) center bottom no-repeat;
    background-size: 100% auto;
  }
}
.infoArea.bg-04 {
  background: url(../images/info-04.jpg) right center no-repeat;
  background-size: cover;
}
@media all and (max-width: 767px) {
  .infoArea.bg-04 {
    background: url(../images/info-04-m.jpg) center bottom no-repeat;
    background-size: 100% auto;
  }
}
.infoArea.bg-05 {
  padding-top: 80px;
  padding-bottom: 80px;
  background: url(../images/info-05.jpg) right center no-repeat;
  background-size: cover;
}
@media all and (max-width: 767px) {
  .infoArea.bg-05 {
    background: url(../images/info-05-m.jpg) center bottom no-repeat;
    background-size: 100% auto;
  }
}
@media all and (max-width: 1400px) {
  .infoArea.bg-05 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media all and (max-width: 1400px) {
  .infoArea {
    padding-left: 40px;
  }
}
@media all and (max-width: 767px) {
  .infoArea.bg-01, .infoArea.bg-02, .infoArea.bg-03, .infoArea.bg-04, .infoArea.bg-05 {
    padding: 20px 15px 60vw;
  }
  .infoArea .btn {
    width: 100%;
  }
}
.infoArea .title {
  margin-bottom: 30px;
  color: #9d7d37;
}
.infoArea .sub {
  margin-bottom: 20px;
  font-size: 1.125rem;
  font-weight: bold;
  color: #959595;
}
.infoArea .info-box {
  display: flex;
  align-items: flex-end;
}
.infoArea .info-box.wrap {
  flex-wrap: wrap;
  width: 50%;
}
.infoArea .info-box.wrap .item {
  margin-bottom: 20px;
}
.infoArea .info-box .item {
  flex: 0 0 auto;
  margin-right: 30px;
}
.infoArea .info-box .item:nth-last-child(1) {
  margin: 0;
}
@media all and (max-width: 767px) {
  .infoArea .info-box {
    display: block;
  }
  .infoArea .info-box.wrap {
    width: 100%;
  }
  .infoArea .info-box .item {
    margin: 0 0 10px;
  }
  .infoArea .info-box .btn-box {
    justify-content: flex-start;
  }
}

.eventList {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  list-style: none;
  margin-left: -30px;
}
.eventList > li {
  width: calc(33.3% - 30px);
  position: relative;
  margin-bottom: 30px;
  margin-left: 30px;
  padding: 30px;
  display: flex;
  flex-direction: column;
}
.eventList > li:hover .imgArea .bg {
  transform: scale(1.1);
}
.eventList a.title {
  display: block;
  font-size: 1.25rem;
  line-height: 1.5em;
}
.eventList a.title:hover {
  color: #815c0f;
}
@media all and (max-width: 767px) {
  .eventList a.title {
    font-size: 1.125rem;
  }
}
.eventList .imgArea {
  position: relative;
  padding-top: 69%;
  overflow: hidden;
  margin-bottom: 15px;
}
.eventList .imgArea .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-position: center;
  background-size: cover;
  transform: scale(1);
  transition: 0.2s;
}
.eventList .tag-bg {
  margin-bottom: 10px;
  list-style: none;
  display: flex;
}
.eventList .tag-bg li {
  color: #fff;
  font-size: 1rem;
  text-align: center;
  padding: 4px 10px;
  border-radius: 4px;
  background: linear-gradient(to bottom, rgb(200, 176, 111) 0%, rgb(215, 176, 59) 100%);
}
.eventList .event-info {
  border-top: 1px solid #dbdbdb;
  color: #a5a5a5;
  padding-top: 15px;
  margin-top: 15px;
}
.eventList .event-info p {
  font-size: 1rem;
  line-height: 1.2rem;
  padding-left: 30px;
  position: relative;
  margin-bottom: 10px;
}
.eventList .event-info .date::before, .eventList .event-info .site::before {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
}
.eventList .event-info .date::before {
  background: url(../images/ic-event-calendar.svg) center no-repeat;
  background-size: contain;
}
.eventList .event-info .site::before {
  background: url(../images/ic-event-site.svg) center no-repeat;
  background-size: contain;
}
@media all and (max-width: 767px) {
  .eventList .event-info {
    padding-top: 10px;
    margin-top: 10px;
  }
}
.eventList .title {
  font-size: 1.125rem;
}
@media all and (max-width: 767px) {
  .eventList .title {
    font-size: 1rem;
  }
}
@media all and (max-width: 1023px) {
  .eventList {
    margin-left: -20px;
  }
  .eventList > li {
    width: calc(50% - 20px);
    padding: 20px;
    margin-bottom: 20px;
    margin-left: 20px;
  }
}
@media all and (max-width: 767px) {
  .eventList {
    margin-left: 0;
  }
  .eventList > li {
    width: 100%;
    margin-bottom: 20px;
    margin-left: 0;
  }
}

.teaminfo {
  display: flex;
  margin-bottom: 38px;
}
@media all and (max-width: 767px) {
  .teaminfo {
    display: block;
  }
}
.teaminfo .imgbox {
  flex: 0 0 auto;
  max-width: 410px;
}
@media all and (max-width: 1023px) {
  .teaminfo .imgbox {
    max-width: 320px;
  }
}
@media all and (max-width: 767px) {
  .teaminfo .imgbox {
    margin-bottom: 16px;
    max-width: 100%;
  }
  .teaminfo .imgbox img {
    margin: 0 auto;
  }
}
.teaminfo .inner {
  flex: 1 1 auto;
}
.teaminfo .infoTitle {
  position: relative;
  margin: 0;
  padding-left: 300px;
  color: #b49260;
}
.teaminfo .infoTitle::before {
  width: 235px;
  height: 115px;
  background: #b49260;
}
.teaminfo .infoTitle::after {
  left: 235px;
  border-width: 115px 45px 0 0;
  border-color: #b49260 transparent transparent transparent;
}
@media all and (max-width: 1200px) {
  .teaminfo .infoTitle {
    padding-left: 150px;
  }
  .teaminfo .infoTitle::before {
    width: 90px;
  }
  .teaminfo .infoTitle::after {
    left: 90px;
  }
}
@media all and (max-width: 767px) {
  .teaminfo .infoTitle {
    padding-left: 90px;
    margin-bottom: 16px;
  }
  .teaminfo .infoTitle::before {
    width: 45px;
    height: 90px;
  }
  .teaminfo .infoTitle::after {
    left: 45px;
    border-width: 90px 30px 0 0;
  }
}
.teaminfo .infoTitle .title {
  padding-top: 1rem;
  font-size: 1.5rem;
  line-height: 1.5em;
}
@media all and (max-width: 767px) {
  .teaminfo .infoTitle .title {
    padding-top: 0.5rem;
    font-size: 1.3125rem;
  }
}
.teaminfo .infoTitle .name {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.125rem;
  margin-bottom: 10px;
}
@media all and (max-width: 767px) {
  .teaminfo .infoTitle .name {
    font-size: 1.5rem;
  }
}
.teaminfo .infoTitle .notice {
  font-size: 1rem;
  line-height: 1.5em;
  font-weight: 500;
  color: #515050;
}
.teaminfo .infoText {
  padding: 38px 0 0 38px;
  font-size: 1.25rem;
  line-height: 1.5em;
}
@media all and (max-width: 767px) {
  .teaminfo .infoText {
    padding: 0;
    font-size: 1rem;
  }
}

.teamHistory {
  display: flex;
  align-items: stretch;
}
@media all and (max-width: 767px) {
  .teamHistory {
    display: block;
  }
}
.teamHistory .section {
  margin-right: 24px;
  padding-right: 24px;
  border-right: solid 1px #e5e5e5;
}
@media all and (max-width: 767px) {
  .teamHistory .section {
    margin: 0 0 15px;
    padding: 0 0 15px;
    border: none;
    border-bottom: solid 1px #e5e5e5;
  }
}
.teamHistory .section:nth-last-child(1) {
  border: none;
  margin: 0;
  padding: 0;
}
.teamHistory .section.sec01 {
  flex: 1 1 66.6%;
}
.teamHistory .section.sec01 .inner {
  display: flex;
}
.teamHistory .section.sec01 .inner .point:nth-child(1), .teamHistory .section.sec01 .inner ul.list:nth-child(1), .teamHistory .section.sec01 .inner ul.filelink:nth-child(1), .teamHistory .section.sec01 .inner ul.filelist:nth-child(1) {
  flex: 1 1 45%;
  margin-right: 16px;
}
.teamHistory .section.sec01 .inner .point:nth-child(2), .teamHistory .section.sec01 .inner ul.list:nth-child(2), .teamHistory .section.sec01 .inner ul.filelink:nth-child(2), .teamHistory .section.sec01 .inner ul.filelist:nth-child(2) {
  flex: 1 1 55%;
}
@media all and (max-width: 767px) {
  .teamHistory .section.sec01 .inner {
    display: block;
  }
  .teamHistory .section.sec01 .inner .point:nth-child(1), .teamHistory .section.sec01 .inner ul.list:nth-child(1), .teamHistory .section.sec01 .inner ul.filelink:nth-child(1), .teamHistory .section.sec01 .inner ul.filelist:nth-child(1) {
    margin: 0 0 8px;
  }
}
.teamHistory .section.sec02 {
  flex: 1 1 33.3%;
}

.benefitArea {
  position: relative;
  margin: 50px 0;
  padding: 30px 30px 30px 360px;
  border: solid 1px #b0944a;
  border-radius: 10px;
}
@media all and (max-width: 1200px) {
  .benefitArea {
    margin-top: 80px;
  }
}
@media all and (max-width: 767px) {
  .benefitArea {
    margin: 30px 0 30px;
    padding: 15px 15px 210px;
  }
}
.benefitArea::before {
  content: "";
  display: block;
  position: absolute;
  left: 30px;
  bottom: 0px;
  width: 264px;
  height: 342px;
  background: url(../images/benefit.png) center bottom no-repeat;
  background-size: contain;
}
@media all and (max-width: 767px) {
  .benefitArea::before {
    left: auto;
    right: 15px;
    width: 176px;
    height: 228px;
  }
}
.benefitArea .point, .benefitArea ul.list, .benefitArea ul.filelink, .benefitArea ul.filelist {
  display: flex;
  flex-wrap: wrap;
}
.benefitArea .point li, .benefitArea ul.list li, .benefitArea ul.filelink li, .benefitArea ul.filelist li {
  width: 33%;
  padding-right: 15px;
  margin-bottom: 15px;
}
@media all and (max-width: 1023px) {
  .benefitArea .point li, .benefitArea ul.list li, .benefitArea ul.filelink li, .benefitArea ul.filelist li {
    width: 100%;
  }
}
.benefitArea .point .web-space, .benefitArea ul.list .web-space, .benefitArea ul.filelink .web-space, .benefitArea ul.filelist .web-space {
  width: 50%;
}

.editBox img {
  max-width: 100%;
}

.searchBox_area {
  margin-bottom: 30px;
}
.searchBox_area .box {
  width: 1000px;
  height: 65px;
  border: 1px solid #b0944a;
  border-radius: 10px;
  margin: 0 auto 10px;
  padding: 0 70px 0 0;
  position: relative;
}
.searchBox_area .box input {
  width: 100%;
  height: 100%;
  color: #313131;
  background-color: transparent;
  font-size: 1.25rem;
  padding: 0 20px;
}
.searchBox_area .box a.btn_search {
  width: 65px;
  height: 65px;
  background: #b0944a url(../images/btn_search.png) center center no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0;
  line-height: 0;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.searchBox_area p {
  text-align: center;
  color: #959595;
  font-size: 1.12rem;
}
.searchBox_area p .key {
  color: #b0944a;
}
@media all and (max-width: 1023px) {
  .searchBox_area {
    margin-bottom: 20px;
  }
  .searchBox_area .box {
    width: 100%;
    height: 50px;
    padding: 0 55px 0 0;
  }
  .searchBox_area .box a.btn_search {
    height: 50px;
  }
}
@media all and (max-width: 767px) {
  .searchBox_area .box input {
    font-size: 1rem;
  }
  .searchBox_area .box a.btn_search {
    width: 50px;
    background-size: 40px auto;
  }
  .searchBox_area p {
    font-size: 1rem;
  }
}

ul.searchResult_list {
  margin-bottom: 45px;
}
ul.searchResult_list li {
  transition: 0.2s;
  cursor: pointer;
  list-style: none;
  border-bottom: 1px solid #c9c9c9;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
ul.searchResult_list li:last-child {
  margin-bottom: 0;
}
ul.searchResult_list li:hover {
  opacity: 0.8;
}
ul.searchResult_list li:hover .list_tt {
  color: #9e0046;
}
ul.searchResult_list li .list_tt {
  font-size: 1.5rem;
  color: #1b1b1b;
  font-weight: bold;
  margin-bottom: 12px;
}
ul.searchResult_list li .list_tt::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #9d7d37;
  border-radius: 99em;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
}
ul.searchResult_list li p {
  font-size: 1.25rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
ul.searchResult_list li p .key {
  color: #b0944a;
}
@media all and (max-width: 767px) {
  ul.searchResult_list {
    margin-bottom: 30px;
  }
  ul.searchResult_list li {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  ul.searchResult_list li .list_tt {
    font-size: 1.12rem;
    margin-bottom: 5px;
  }
  ul.searchResult_list li p {
    font-size: 1rem;
  }
}

.gameArea {
  padding: 45px 180px 45px 120px;
}
@media all and (max-width: 1400px) {
  .gameArea {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.gameArea.gameBg-01 {
  padding-top: 100px;
  padding-bottom: 80px;
  background: url(../images/game-01.jpg) right center no-repeat;
  background-size: cover;
}
.gameArea.gameBg-02 {
  min-height: 360px;
  padding: 60px 40% 60px 120px;
  background: #fff url(../images/game-02.png) bottom 20px right 80px no-repeat;
  background-size: 500px auto;
}
.gameArea.gameBg-03 {
  min-height: 360px;
  padding: 80px 0 60px 0;
  display: flex;
  justify-content: center;
}
.gameArea.gameBg-04 {
  min-height: 360px;
  padding: 80px 0 60px 0;
  display: flex;
  justify-content: center;
}
.gameArea.gameBg-05 {
  min-height: 360px;
  padding: 110px 50% 80px 120px;
  background: #fff url(../images/game-05.png) bottom right 220px no-repeat;
  background-size: 500px auto;
}
.gameArea .heading {
  color: #fff;
  font-size: 3.12rem;
  line-height: 1;
  font-weight: bold;
  text-shadow: 1px 1px 8px rgba(143, 107, 39, 0.5);
  margin-bottom: 30px;
}
.gameArea .heading-s {
  color: #9d7d37;
  font-size: 1.875rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.gameArea .question {
  color: #313131;
  font-size: 1.5rem;
  line-height: 3.2rem;
  font-weight: bold;
  margin-bottom: 15px;
  padding-left: 20px;
  background: url(../images/game-q-bg.png) top left no-repeat;
  background-size: 230px auto;
}
.gameArea .question span.num {
  color: #9d7d37;
  padding-left: 0;
}
.gameArea .question span.num::after {
  content: ".";
  margin-right: 2px;
}
.gameArea .question i {
  border-bottom: 2px solid #313131;
  display: inline-block;
  width: 100px;
  margin: 0 5px;
}
.gameArea .txt_in {
  margin-bottom: 20px;
}
.gameArea .txt_in.radioSet {
  padding-left: 20px;
}
.gameArea .txt_in .radio_item {
  margin-bottom: 5px;
  display: block;
}
.gameArea .txt_in.reply {
  position: relative;
  width: 620px;
  padding-left: 30px;
  margin-bottom: 0;
  margin-left: -310px;
}
.gameArea .txt_in.reply .replyBox {
  position: relative;
  padding: 20px 40px 50px 40px;
}
.gameArea .txt_in.reply .replyBox.correct {
  background-color: #f0ece1;
}
.gameArea .txt_in.reply .replyBox.correct .a-result {
  color: #842f80;
}
.gameArea .txt_in.reply .replyBox.correct::after {
  content: "";
  width: 350px;
  height: 319px;
  background: url(../images/game-03.png) no-repeat;
  background-size: 350px auto;
  position: absolute;
  bottom: -93px;
  right: -310px;
}
.gameArea .txt_in.reply .replyBox.error {
  background-color: #efefef;
}
.gameArea .txt_in.reply .replyBox.error .a-result {
  color: #da4235;
}
.gameArea .txt_in.reply .replyBox.error::after {
  content: "";
  width: 350px;
  height: 335px;
  background: url(../images/game-04.png) no-repeat;
  background-size: 350px auto;
  position: absolute;
  bottom: -84px;
  right: -320px;
}
.gameArea .txt_in.reply .btn-gameNext, .gameArea .txt_in.reply .btn-gameBack {
  position: absolute;
  bottom: 5px;
  left: 0;
}
.gameArea .a-result {
  font-size: 1.87rem;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 20px;
}
.gameArea .a-result::before {
  content: "";
  width: 55px;
  height: 22px;
  background: url(../images/a-result-bg.png) no-repeat;
  background-size: 55px auto;
  display: inline-block;
  margin-right: 10px;
}
.gameArea p {
  font-size: 1.12rem;
}
@media all and (max-width: 1400px) {
  .gameArea.gameBg-01 {
    padding: 60px 60px 40px 60px;
  }
  .gameArea.gameBg-02 {
    padding: 60px 40% 60px 40px;
    background-position: bottom 20px right 40px;
    background-size: 480px auto;
  }
  .gameArea.gameBg-05 {
    background-position: bottom right 100px;
    background-size: 480px auto;
  }
  .gameArea .txt_in.reply {
    width: 500px;
  }
}
@media all and (max-width: 1023px) {
  .gameArea.gameBg-02 {
    padding: 40px 35% 40px 40px;
    background-position: bottom 20px right -20px;
    background-size: 340px auto;
  }
  .gameArea.gameBg-05 {
    padding: 60px 50% 60px 50px;
    background-position: bottom right 10px;
    background-size: 400px auto;
    min-height: auto;
  }
  .gameArea .question {
    font-size: 1.25rem;
  }
  .gameArea .txt_in.reply {
    width: 400px;
    margin-left: -210px;
  }
  .gameArea .txt_in.reply .replyBox.correct::after {
    background-size: 280px auto;
    bottom: -148px;
    right: -280px;
  }
  .gameArea .txt_in.reply .replyBox.error::after {
    background-size: 280px auto;
    bottom: -151px;
    right: -280px;
  }
}
@media all and (max-width: 767px) {
  .gameArea.gameBg-01 {
    min-height: 450px;
    background: url(../images/game-01-m.jpg) bottom center no-repeat;
    background-size: cover;
  }
  .gameArea.gameBg-02 {
    min-height: auto;
    padding: 30px 15px 60vw 15px;
    background-position: bottom 30px center;
    background-size: 360px auto;
  }
  .gameArea.gameBg-03 {
    min-height: auto;
    padding: 30px 15px 50vw 15px;
    background: url(../images/game-03.png) bottom center no-repeat;
    background-size: 280px auto;
  }
  .gameArea.gameBg-04 {
    min-height: auto;
    padding: 30px 15px 50vw 15px;
    background: url(../images/game-04.png) bottom center no-repeat;
    background-size: 280px auto;
  }
  .gameArea.gameBg-05 {
    background-position: bottom right -25px;
    background-size: 360px auto;
  }
  .gameArea.gameBg-01, .gameArea.gameBg-05 {
    padding: 60px 15px 60vw 15px;
  }
  .gameArea .btn-box.inline {
    width: 100%;
  }
  .gameArea .btn {
    width: 100%;
    font-size: 1rem;
  }
  .gameArea .heading {
    font-size: 2.25rem;
    line-height: 1.5;
    text-align: center;
  }
  .gameArea .heading-s {
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: center;
  }
  .gameArea .question {
    font-size: 1.12rem;
    line-height: 2.25rem;
    background-size: auto 36px;
  }
  .gameArea .txt_in.radioSet {
    padding-left: 0;
  }
  .gameArea .txt_in.reply {
    width: 100%;
    margin-left: 0;
    padding-left: 0;
  }
  .gameArea .txt_in.reply .replyBox {
    padding: 25px 40px 25px 40px;
  }
  .gameArea .txt_in.reply .replyBox.correct::after, .gameArea .txt_in.reply .replyBox.error::after {
    content: none;
  }
  .gameArea .txt_in.reply .btn-gameNext, .gameArea .txt_in.reply .btn-gameBack {
    position: static;
  }
  .gameArea p {
    font-size: 1rem;
  }
}
@media all and (max-width: 540px) {
  .gameArea.gameBg-02 {
    background-size: 300px auto;
  }
  .gameArea.gameBg-03 {
    padding: 30px 15px 60vw 15px;
    background-size: 220px auto;
  }
  .gameArea.gameBg-04 {
    padding: 30px 15px 60vw 15px;
    background-size: 220px auto;
  }
  .gameArea .heading {
    font-size: 1.75rem;
  }
  .gameArea .a-result {
    font-size: 1.75rem;
  }
  .gameArea .a-result::before {
    width: 44px;
    height: 16px;
    background-size: 44px auto;
  }
}
@media all and (max-width: 374px) {
  .gameArea.gameBg-02 {
    background-size: 250px auto;
  }
  .gameArea.gameBg-03 {
    background-size: 200px auto;
  }
  .gameArea.gameBg-04 {
    background-size: 200px auto;
  }
  .gameArea.gameBg-05 {
    background-size: 300px auto;
  }
  .gameArea .heading-s {
    font-size: 1.25rem;
  }
  .gameArea .a-result {
    font-size: 1.25rem;
  }
}

input[type=text].mailBox {
  width: 400px;
  height: 48px;
  border: 1px solid #d2d2d2;
  border-radius: 10px;
  padding: 0 10px;
}

a.linkto {
  margin: 0 2px;
  padding: 5px 0;
  color: #9d7d37;
  font-weight: bold;
  font-size: 1.12rem;
  position: relative;
}
a.linkto::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #9d7d37;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media all and (max-width: 1023px) {
  input[type=text].mailBox {
    width: 350px;
  }
}
@media all and (max-width: 767px) {
  input[type=text].mailBox {
    width: 100%;
  }
}
.borderbox.color-03.questionnaire .sideline-03 > .title {
  color: #b25966;
}

.borderbox.color-03.questionnaire .sideline-03 > .title::before {
  color: #b25966;
}

.q_radioSet {
  display: flex;
  flex-wrap: wrap;
}
.q_radioSet > label {
  margin-right: 60px;
  margin-bottom: 10px;
}
.q_radioSet > label:last-child {
  margin-right: 0;
}

.q_radioSet-s {
  display: flex;
  justify-content: space-between;
}
.q_radioSet-s > label {
  margin-right: 40px;
}
.q_radioSet-s > label:last-child {
  margin-right: 0;
}

.questionnaire-set {
  display: flex;
}
.questionnaire-set > div {
  flex: 1 1 100%;
}
.questionnaire-set > div:nth-child(1) {
  flex: 1 1 350px;
  margin-right: 30px;
}
.questionnaire-set .questionnaire-item {
  display: flex;
  align-items: center;
}
.questionnaire-set .questionnaire-item > div {
  flex: 1 1 100%;
}
.questionnaire-set .questionnaire-item > div:nth-child(1) {
  flex: 0 0 300px;
  background-color: #f3f3f3;
  padding: 10px 20px;
  margin-right: 20px;
}
.questionnaire-set .key {
  color: #b26777;
  font-weight: bold;
}

@media all and (max-width: 1400px) {
  .q_radioSet-s > label {
    margin-right: 10px;
  }
  .questionnaire-set .questionnaire-item > div:nth-child(1) {
    flex: 0 0 250px;
    margin-right: 10px;
  }
}
@media all and (max-width: 1023px) {
  .questionnaire-set > div:nth-child(1) {
    flex: 1 1 70%;
  }
  .questionnaire-set .questionnaire-item {
    flex-wrap: wrap;
  }
  .questionnaire-set .questionnaire-item > div:nth-child(1) {
    flex: 0 0 100%;
    margin-right: 0;
    padding: 10px;
  }
  .questionnaire-set .questionnaire-item > div:nth-child(2) {
    padding: 5px 10px;
    margin-bottom: 10px;
  }
}
@media all and (max-width: 767px) {
  .questionnaire-set {
    flex-wrap: wrap;
  }
  .questionnaire-set > div:nth-child(1) {
    margin-right: 0;
    margin-bottom: 10px;
    flex: 1 1 100%;
  }
}
.eventList.vedio {
  text-align: center;
}
.eventList.vedio a {
  padding: 0;
}
.eventList.vedio a:hover .bg {
  opacity: 0.5;
}
.eventList.vedio a:hover .imgArea::after {
  content: "";
  width: 80px;
  height: 80px;
  background: url(../images/btn_play.png) center center no-repeat;
  background-size: 80px auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.eventList.vedio .imgArea {
  position: relative;
  background-color: #000;
}
.eventList.vedio .title {
  font-size: 1.25rem;
  font-weight: bold;
}
.eventList.vedio .bot_box {
  padding: 0 20px 20px 20px;
}

@media all and (max-width: 540px) {
  .eventList.vedio li {
    width: 100%;
  }
  .eventList.vedio .title {
    font-size: 1.125rem;
  }
}
.portalNav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.portalNav li {
  flex: 0 1 440px;
  padding: 40px 10px 30px;
  box-shadow: 0 0 10px 0 rgba(92, 84, 68, 0.2);
  border-top-right-radius: 20px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  margin: 0 30px 30px;
}
.portalNav li::before {
  content: "";
  width: 100%;
  height: 100px;
  background-color: #f7f4ef;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
}
.portalNav li .ic-esg {
  position: relative;
  width: 120px;
  height: 120px;
  background-color: #fff;
  border-radius: 100%;
  margin-bottom: 10px;
}
.portalNav li .title {
  flex: 1 1 100%;
  text-align: center;
  font-size: 1.5rem;
  line-height: 2rem;
  margin-bottom: 30px;
}
.portalNav li a.go {
  color: #fff;
  font-size: 1rem;
  padding: 8px 10px;
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  text-align: center;
}
.portalNav li a.go::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../images/arrow-w.svg) center no-repeat;
  background-size: contain;
  margin-left: 10px;
}
@media all and (max-width: 1023px) {
  .portalNav li {
    flex: 0 1 40%;
    padding: 20px 10px;
    margin: 0 2% 20px;
  }
}
@media all and (max-width: 767px) {
  .portalNav li {
    flex: 1 1 100%;
    padding: 20px 10px;
    margin: 0 0 20px;
  }
  .portalNav li .ic-esg {
    width: 100px;
    height: 100px;
  }
  .portalNav li .title {
    font-size: 1.25rem;
    margin-bottom: 20px;
  }
}

.yearsSwiper {
  height: 70px;
  box-sizing: border-box;
  padding: 10px 0;
  margin-bottom: 30px;
  background-color: #f8efde;
  border-radius: 20px;
}
.yearsSwiper .swiper-slide {
  height: 100%;
  cursor: pointer;
  color: #aa8421;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  line-height: 1.875rem;
  text-align: center;
}
.yearsSwiper .swiper-slide-thumb-active {
  font-weight: 700;
}
@media all and (max-width: 1023px) {
  .yearsSwiper {
    margin-bottom: 20px;
  }
  .yearsSwiper .swiper-slide {
    font-size: 1.1rem;
    line-height: 1.2rem;
  }
}

.history {
  position: relative;
  list-style: none;
  padding-top: 40px;
}
.history::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -6px;
  top: 0;
  bottom: 0;
  width: 12px;
  height: 100%;
  background: #aa8421;
}
@media all and (max-width: 767px) {
  .history::before {
    left: 24px;
    margin-left: 0;
  }
}
.history li {
  position: relative;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 1.25rem;
  line-height: 1.5em;
  display: flex;
  justify-content: space-between;
  z-index: 2;
}
.history li .anchor {
  position: absolute;
  top: 0;
  right: 0;
}
.history li .inner {
  width: calc(50% - 50px);
  font-size: 1rem;
  line-height: 1.5rem;
  color: #313131;
  font-weight: 500;
  padding-top: 10px;
  position: relative;
  border-top: 1px solid #aa8421;
}
.history li .inner::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #aa8421;
  border-radius: 100%;
  position: absolute;
  top: -5px;
  left: 0;
}
.history > li:nth-child(odd) {
  justify-content: flex-end;
}
.history > li:nth-child(even) {
  justify-content: flex-start;
}
.history > li:nth-child(even) .inner::before {
  left: initial;
  right: 0;
}
.history .year {
  position: absolute;
  left: 50%;
  margin-left: -50px;
  top: 5px;
  width: 100px;
  font-size: 1.5rem;
  font-weight: 700;
  color: #b49b59;
  text-align: center;
}
.history .year::before {
  content: attr(data-storke);
  position: absolute;
  color: #fff;
  -webkit-text-stroke: 6px #fff;
  text-stroke: 10px #fff;
  z-index: -1;
}
@media all and (max-width: 767px) {
  .history {
    padding-top: 20px;
  }
  .history li .anchor {
    top: -50px;
  }
  .history li .inner {
    width: calc(100% - 60px);
  }
  .history > li:nth-child(odd) {
    justify-content: flex-end;
  }
  .history > li:nth-child(even) {
    justify-content: flex-end;
    text-align: left;
  }
  .history > li:nth-child(even) .inner::before {
    left: 0;
    right: initial;
  }
  .history .year {
    left: 0;
    margin-left: 0;
    width: 60px;
    font-size: 1.2rem;
  }
}

.prodSwiper {
  min-height: 120px;
  box-sizing: border-box;
  margin-bottom: 30px;
}
.prodSwiper .swiper-slide {
  height: 100%;
  cursor: pointer;
  color: #222;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.15rem;
  line-height: 1.675rem;
  text-align: center;
  padding: 5px;
}
.prodSwiper .swiper-slide a {
  display: block;
}
.prodSwiper .ic-prod {
  width: 80px;
  height: 80px;
  margin: 0 auto 10px;
  position: relative;
  display: block;
}
.prodSwiper .ic-prod::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
.prodSwiper .ic-prod.ic-1::before {
  content: "";
  background: url(../images/ic-prod/ic-1.png) center no-repeat;
  background-size: 80px;
}
.prodSwiper .ic-prod.ic-2::before {
  content: "";
  background: url(../images/ic-prod/ic-2.png) center no-repeat;
  background-size: 80px;
}
.prodSwiper .ic-prod.ic-3::before {
  content: "";
  background: url(../images/ic-prod/ic-3.png) center no-repeat;
  background-size: 80px;
}
.prodSwiper .ic-prod.ic-4::before {
  content: "";
  background: url(../images/ic-prod/ic-4.png) center no-repeat;
  background-size: 80px;
}
.prodSwiper .ic-prod.ic-5::before {
  content: "";
  background: url(../images/ic-prod/ic-5.png) center no-repeat;
  background-size: 80px;
}
.prodSwiper .ic-prod.ic-6::before {
  content: "";
  background: url(../images/ic-prod/ic-6.png) center no-repeat;
  background-size: 80px;
}
.prodSwiper .ic-prod.ic-7::before {
  content: "";
  background: url(../images/ic-prod/ic-7.png) center no-repeat;
  background-size: 80px;
}
.prodSwiper .swiper-slide-thumb-active {
  color: #8f6a2a;
}
.prodSwiper .swiper-slide-thumb-active .ic-prod {
  border-radius: 100%;
}
.prodSwiper .swiper-slide-thumb-active .ic-prod::before {
  filter: grayscale(100%) brightness(1000%);
}
.prodSwiper .swiper-slide-thumb-active .ic-prod.ic-1::before, .prodSwiper .swiper-slide-thumb-active .ic-prod.ic-2::before, .prodSwiper .swiper-slide-thumb-active .ic-prod.ic-3::before, .prodSwiper .swiper-slide-thumb-active .ic-prod.ic-4::before, .prodSwiper .swiper-slide-thumb-active .ic-prod.ic-5::before, .prodSwiper .swiper-slide-thumb-active .ic-prod.ic-6::before, .prodSwiper .swiper-slide-thumb-active .ic-prod.ic-7::before {
  background-size: 60px;
}
@media all and (max-width: 1200px) {
  .prodSwiper .swiper-slide {
    font-size: 1rem;
    line-height: 1.2rem;
  }
}
@media all and (max-width: 1023px) {
  .prodSwiper {
    margin-bottom: 10px;
  }
}

.prodSwiper-box {
  position: relative;
  padding: 20px;
}
.prodSwiper-box .swiper-slide {
  width: 100%;
  padding: 50px;
  display: flex;
  align-items: center;
  box-shadow: 0 0 10px 0 rgba(92, 84, 68, 0.2);
}
.prodSwiper-box .swiper-slide .imgbox {
  overflow: hidden;
  margin-right: 50px;
}
.prodSwiper-box .swiper-slide .imgbox img {
  border-radius: 20px;
}
.prodSwiper-box .swiper-slide .col {
  flex: 1 1 50%;
}
.prodSwiper-box .swiper-slide .col .title, .prodSwiper-box .swiper-slide .col .sub-tt {
  line-height: 2rem;
  color: #9e0046;
  margin-bottom: 15px;
}
.prodSwiper-box .swiper-slide .col .title {
  font-size: 1.875rem;
}
.prodSwiper-box .swiper-slide .col .sub-tt {
  font-size: 1.375rem;
}
.prodSwiper-box .swiper-slide .col .scrollArea { /*max-height: calc(100% - 175px); */
  max-height: 300px;
  overflow-y: auto;
  margin-bottom: 20px;
  font-size: 1.125rem;
}
.prodSwiper-box .swiper-slide .col .scrollArea.no-btn { /*max-height: calc(100% - 115px);*/
  max-height: 400px;
}
.prodSwiper-box .swiper-slide .col .scrollArea p {
  margin-bottom: 10px;
  font-size: 1rem;
  line-height: 1.5rem;
}
.prodSwiper-box .swiper-slide .col .scrollArea ul.ul-dot li {
  font-size: 1rem;
  line-height: 1.25rem;
  margin-bottom: 10px;
}
.prodSwiper-box .swiper-slide .col .scrollArea ul.ul-dot li::before {
  top: 8px;
}
.prodSwiper-box .swiper-slide .col .scrollArea p.color-secondary {
  font-size: 1.125rem;
  font-weight: 700;
}
@media all and (max-width: 1023px) {
  .prodSwiper-box {
    padding: 10px;
  }
  .prodSwiper-box .swiper-slide {
    height: auto;
    padding: 20px;
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  .prodSwiper-box .swiper-slide .imgbox {
    width: 80%;
    margin: 0 auto;
  }
  .prodSwiper-box .swiper-slide .imgbox img {
    margin: 0 auto;
  }
  .prodSwiper-box .swiper-slide .col {
    margin-bottom: 20px;
  }
  .prodSwiper-box .swiper-slide .col .title, .prodSwiper-box .swiper-slide .col .sub-tt {
    line-height: 1.5rem;
    margin-bottom: 10px;
  }
  .prodSwiper-box .swiper-slide .col .title {
    font-size: 1.375rem;
  }
  .prodSwiper-box .swiper-slide .col .sub-tt {
    font-size: 1.2rem;
  }
}

.esgReport {
  display: flex;
  justify-content: space-around;
  position: relative;
  margin-bottom: 80px;
}
.esgReport::before {
  content: "";
  width: 70%;
  height: 300px;
  background-color: #fffaec;
  position: absolute;
  top: 0;
  right: 0;
}
.esgReport::after {
  content: "ESG reports";
  color: #fff;
  font-size: 6.25rem;
  line-height: 5rem;
  text-align: right;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 5px;
  position: absolute;
  right: -10px;
  top: 150px;
  width: 500px;
  z-index: 1;
}
.esgReport .esg-cover {
  flex: 1 1 40%;
  position: relative;
  height: 340px;
}
.esgReport .esg-cover::before {
  content: "";
  width: 130px;
  height: 130px;
  border-radius: 100%;
  position: absolute;
  top: 38%;
  left: 15%;
  background: linear-gradient(45deg, rgb(242, 242, 242) 0%, rgb(255, 255, 255) 100%);
}
.esgReport .esg-cover .imgbox {
  width: 350px;
  height: 256px;
  box-shadow: 6px 6px 0 #f4e5bb;
  position: absolute;
  bottom: 0;
  right: 0;
}
.esgReport .esg-text {
  flex: 1 1 60%;
  position: relative;
  padding: 60px;
  height: 340px;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  z-index: 2;
}
.esgReport .esg-text .title {
  flex: 1 1 100%;
  font-size: 1.875rem;
  line-height: 2rem;
  margin-bottom: 20px;
}
@media all and (max-width: 1023px) {
  .esgReport {
    display: block;
    margin-bottom: 40px;
  }
  .esgReport::before {
    width: 100%;
    top: initial;
    bottom: 0;
  }
  .esgReport::after {
    font-size: 4rem;
    line-height: 3.6rem;
    width: 100%;
    top: initial;
    bottom: -10px;
  }
  .esgReport .esg-cover {
    height: auto;
  }
  .esgReport .esg-cover::before {
    display: none;
  }
  .esgReport .esg-cover .imgbox {
    width: 260px;
    height: 190px;
    position: static;
    margin: 0 auto;
  }
  .esgReport .esg-text {
    padding: 20px 20px 80px;
    height: auto;
    align-content: center;
    justify-content: center;
  }
  .esgReport .esg-text .title {
    flex: 1 1 100%;
    font-size: 1.25rem;
    line-height: 1.5rem;
    text-align: center;
  }
}

.pastReport {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0 -20px;
}
.pastReport > li {
  flex: 1 1 25%;
  max-width: 25%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 40px;
  padding: 0 20px;
}
.pastReport > li .imgbox {
  width: 240px;
  margin: 0 auto 20px;
}
.pastReport > li .title {
  flex: 1 1 100%;
  text-align: center;
  font-size: 1.25rem;
  margin-bottom: 20px;
}
@media all and (max-width: 1400px) {
  .pastReport > li {
    flex: 1 1 33.3%;
    max-width: 33.3%;
  }
}
@media all and (max-width: 1023px) {
  .pastReport > li {
    flex: 1 1 50%;
    max-width: 50%;
  }
}
@media all and (max-width: 540px) {
  .pastReport {
    display: block;
  }
  .pastReport > li {
    flex: 1 1 100%;
    max-width: initial;
  }
}

.pastReportList {
  border-top: 1px solid #9d0046;
  list-style: none;
}
.pastReportList > li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px;
}
.pastReportList > li .title {
  font-size: 1.25rem;
  font-weight: 500;
}
.pastReportList > li:nth-child(even) {
  background-color: #f6f6f6;
}
@media all and (max-width: 1023px) {
  .pastReportList > li .title {
    flex: 1 1 100%;
  }
  .pastReportList > li .btn-line-m {
    min-width: initial;
    width: 180px;
    padding: 5px;
  }
}
@media all and (max-width: 767px) {
  .pastReportList > li {
    flex-wrap: wrap;
    justify-content: center;
  }
  .pastReportList > li .title {
    font-size: 1.2rem;
    margin-bottom: 10px;
    text-align: center;
  }
}

.btn-flex {
  display: flex;
  justify-content: first baseline;
}
.btn-flex a + a {
  margin-left: 10px;
}
@media all and (max-width: 1023px) {
  .btn-flex {
    flex-wrap: wrap;
  }
  .btn-flex a + a {
    margin-left: 0;
    margin-top: 10px;
  }
}

.btn-xl {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 250px;
  font-size: 1.15rem;
  line-height: 1.8rem;
  border-radius: 10px;
  padding: 16px 20px;
  color: #fff;
  background: linear-gradient(to right, rgb(120, 0, 64) 0%, rgb(158, 0, 70) 100%);
}
.btn-xl::after {
  content: "";
  background: url(../images/arrow-w.svg) center no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  filter: grayscale(100%) brightness(1000%);
}
.btn-xl:hover {
  background: linear-gradient(to left, rgb(120, 0, 64) 0%, rgb(158, 0, 70) 100%);
  transition-duration: 0.3s;
}
@media all and (max-width: 1023px) {
  .btn-xl {
    min-width: initial;
    width: 100%;
    font-size: 1.1rem;
    line-height: 1.8rem;
    padding: 12px 20px;
  }
}

.btn-m {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 140px;
  font-size: 1rem;
  line-height: 1.2rem;
  border-radius: 10px;
  padding: 10px;
  color: #fff;
  background: linear-gradient(to right, rgb(120, 0, 64) 0%, rgb(158, 0, 70) 100%);
}
.btn-m::after {
  content: "";
  background: url(../images/arrow-w.svg) center no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  filter: grayscale(100%) brightness(1000%);
}
.btn-m.btn-dl::after {
  content: "";
  background: url(../images/ic-dl.svg) center no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  filter: grayscale(100%) brightness(1000%);
}
.btn-m:hover {
  background: linear-gradient(to left, rgb(120, 0, 64) 0%, rgb(158, 0, 70) 100%);
  transition-duration: 0.3s;
}
@media all and (max-width: 1023px) {
  .btn-m {
    min-width: initial;
    font-size: 1.1rem;
    line-height: 1.8rem;
    padding: 12px 20px;
  }
}
@media all and (max-width: 767px) {
  .btn-m {
    width: 180px;
  }
}

.btn-line-m {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 140px;
  font-size: 1rem;
  line-height: 1.2rem;
  border-radius: 10px;
  padding: 10px;
  color: #a70057;
  border: 1px solid #a70057;
  background-color: #fff;
}
.btn-line-m::after {
  content: "";
  background: url(../images/arrow-w.svg) center no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  margin-left: 10px;
}
.btn-line-m.btn-dl::after {
  content: "";
  background: url(../images/ic-dl.svg) center no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  margin-left: 10px;
}
.btn-line-m:hover {
  color: #fff;
  background: linear-gradient(to left, rgb(120, 0, 64) 0%, rgb(158, 0, 70) 100%);
  transition-duration: 0.3s;
}
.btn-line-m:hover::after {
  filter: grayscale(100%) brightness(1000%);
}
@media all and (max-width: 1023px) {
  .btn-line-m {
    min-width: initial;
    width: 100%;
    font-size: 1.1rem;
    line-height: 1.8rem;
    padding: 12px 20px;
  }
}
@media all and (max-width: 767px) {
  .btn-line-m {
    width: 180px;
  }
}

.mapArea {
  position: relative;
  margin: 0 auto;
}
.mapArea .map-full {
  display: block;
}
.mapArea .map-900 {
  display: none;
}
.mapArea .tooltip {
  background-color: #f9f1e1;
  width: 360px;
  border-radius: 20px;
  padding: 20px;
  position: absolute;
  display: none;
}
.mapArea .tooltip::before {
  content: "";
  width: 0;
  height: 0;
  border: 12px solid;
  border-color: #f9f1e1 transparent transparent transparent;
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -12px;
}
.mapArea .tooltip__title {
  color: #a27f35;
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.mapArea ul.ul-dot li {
  padding-left: 20px;
  font-size: 0.875rem;
  line-height: 1.2rem;
  margin-bottom: 6px;
}
.mapArea ul.ul-dot li::before {
  background-color: #a27f35;
  left: 8px;
  top: 6px;
}
.mapArea .dep1 {
  bottom: 72%;
  left: 0;
  width: 420px;
}
.mapArea .dep1::before {
  left: 40%;
  margin-left: 0;
}
.mapArea .dep2 {
  bottom: 72%;
  left: 14%;
}
.mapArea .dep3 {
  bottom: 25.5%;
  left: 0%;
}
.mapArea .dep3::before {
  left: 10%;
  margin-left: 0;
}
.mapArea .dep4 {
  bottom: 25.5%;
  left: 0%;
}
.mapArea .dep4::before {
  left: 29%;
  margin-left: 0;
}
.mapArea .dep5 {
  bottom: 25.5%;
  left: 2.8%;
}
.mapArea .dep6 {
  bottom: 25.5%;
  left: 8%;
}
.mapArea .dep7 {
  bottom: 25.5%;
  left: 15.5%;
}
.mapArea .dep8 {
  bottom: 25.5%;
  left: 20.8%;
}
.mapArea .dep9 {
  bottom: 25.5%;
  left: 26.5%;
  width: 380px;
}
.mapArea .dep10 {
  bottom: 25.5%;
  left: 33%;
  width: 380px;
}
.mapArea .dep11 {
  bottom: 25.5%;
  left: 37.8%;
  width: 420px;
}
.mapArea .dep12 {
  bottom: 25.5%;
  left: 44%;
  width: 420px;
}
.mapArea .dep13 {
  bottom: 25.5%;
  right: 20.2%;
}
.mapArea .dep14 {
  bottom: 25.5%;
  right: 12.5%;
  width: 400px;
}
.mapArea .dep15 {
  bottom: 25.5%;
  right: 7.5%;
}
.mapArea .dep16 {
  bottom: 25.5%;
  right: 0;
  width: 400px;
}
.mapArea .dep17 {
  bottom: 25.5%;
  right: 0;
}
.mapArea .dep17::before {
  left: 64%;
  margin-left: 0;
}
@media all and (max-width: 1400px) {
  .mapArea {
    width: 900px;
  }
  .mapArea .map-full {
    display: none;
  }
  .mapArea .map-900 {
    display: block;
  }
  .mapArea .tooltip__title {
    font-size: 1.1rem;
  }
  .mapArea ul.ul-dot {
    font-size: 0.9rem;
  }
  .mapArea ul.ul-dot > li::before {
    top: 9px;
  }
  .mapArea .dep1 {
    bottom: 68%;
    left: 0;
    width: 380px;
  }
  .mapArea .dep1::before {
    left: 29%;
  }
  .mapArea .dep2 {
    bottom: 68%;
    left: 7.5%;
  }
  .mapArea .dep3 {
    bottom: 25.5%;
    left: 0%;
  }
  .mapArea .dep3::before {
    left: 5.5%;
  }
  .mapArea .dep4 {
    bottom: 25.5%;
    left: -11.5%;
  }
  .mapArea .dep4::before {
    left: 47%;
  }
  .mapArea .dep5 {
    bottom: 25.5%;
    left: -3.5%;
  }
  .mapArea .dep6 {
    bottom: 25.5%;
    left: 1.5%;
  }
  .mapArea .dep7 {
    bottom: 25.5%;
    left: 7%;
    width: 400px;
  }
  .mapArea .dep8 {
    bottom: 25.5%;
    left: 13%;
    width: 390px;
  }
  .mapArea .dep9 {
    bottom: 25.5%;
    left: 21%;
    width: 360px;
  }
  .mapArea .dep10 {
    bottom: 25.5%;
    left: 26%;
  }
  .mapArea .dep11 {
    bottom: 25.5%;
    left: 31.5%;
    width: 400px;
  }
  .mapArea .dep12 {
    bottom: 25.5%;
    left: 37.5%;
    width: 400px;
  }
  .mapArea .dep13 {
    bottom: 25.5%;
    right: 14%;
  }
  .mapArea .dep14 {
    bottom: 25.5%;
    right: 8%;
    width: 355px;
  }
  .mapArea .dep15 {
    bottom: 25.5%;
    right: 1.5%;
  }
  .mapArea .dep16 {
    bottom: 25.5%;
    right: 0;
    width: 360px;
  }
  .mapArea .dep16::before {
    left: 62%;
  }
  .mapArea .dep17 {
    bottom: 25.5%;
    right: 0%;
  }
  .mapArea .dep17::before {
    left: 75%;
  }
}
@media all and (max-width: 1200px) {
  .mapArea .dep4 {
    left: 0%;
  }
  .mapArea .dep4::before {
    left: 19%;
  }
  .mapArea .dep17 {
    right: 0;
  }
  .mapArea .dep17::before {
    left: 75%;
  }
}
@media all and (max-width: 1023px) {
  .mapArea {
    display: none;
  }
}

.m-mapArea {
  display: none;
  position: relative;
}
.m-mapArea .organizationa__image {
  margin: 0 auto;
  width: 300px;
  height: auto;
}
.m-mapArea img {
  margin: 0 auto;
}
.m-mapArea .tooltip {
  background-color: #f9f1e1;
  width: 360px;
  border-radius: 20px;
  padding: 20px;
  position: absolute;
  display: none;
}
.m-mapArea .tooltip::before {
  content: "";
  width: 0;
  height: 0;
  border: 12px solid;
  border-color: #f9f1e1 transparent transparent transparent;
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -12px;
}
.m-mapArea .tooltip__title {
  color: #a27f35;
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.m-mapArea ul.ul-dot li {
  padding-left: 20px;
}
.m-mapArea ul.ul-dot li::before {
  background-color: #a27f35;
  left: 8px;
}
@media all and (max-width: 1023px) {
  .m-mapArea {
    display: block;
  }
}

.costomInfo {
  display: flex;
  flex-wrap: wrap;
  max-width: 1120px;
  margin: 0 auto;
}
.costomInfo > li {
  flex: 1 1 50%;
  padding: 10px 0;
  display: flex;
  align-items: center;
}
.costomInfo > li:first-child .img {
  background: url(../images/img_cos_1.png) center no-repeat;
}
.costomInfo > li:nth-child(2) .img {
  background: url(../images/img_cos_2.png) center no-repeat;
}
.costomInfo > li:nth-child(3) .img {
  background: url(../images/img_cos_3.png) center no-repeat;
}
.costomInfo > li:nth-child(4) .img {
  background: url(../images/img_cos_4.png) center no-repeat;
}
.costomInfo > li:nth-child(5) .img {
  background: url(../images/img_cos_5.png) center no-repeat;
}
.costomInfo > li:nth-child(6) .img {
  background: url(../images/img_cos_6.png) center no-repeat;
}
.costomInfo .img {
  min-width: 100px;
  height: 100px;
  margin-right: 20px;
}
.costomInfo .info p {
  font-size: 1rem;
  line-height: 1.4rem;
  color: #313131;
}
.costomInfo .info p + p {
  margin-top: 5px;
}
.costomInfo .sub-tt {
  font-size: 1.25rem;
  color: #000;
  font-weight: bold;
  margin-bottom: 14px;
}
.costomInfo .flex-2 {
  display: flex;
  flex-wrap: wrap;
}
.costomInfo .flex-2 p {
  flex: 1 1 40%;
}
.costomInfo a.go {
  padding-right: 20px;
  background: url(../images/arrow-s.svg) right 6px no-repeat;
  background-size: 14px;
  color: #A50051;
  font-size: 1rem;
  line-height: 1.25rem;
}
@media all and (max-width: 1023px) {
  .costomInfo {
    display: block;
  }
}
@media all and (max-width: 540px) {
  .costomInfo .flex-2 {
    display: block;
  }
}/*# sourceMappingURL=in.css.map */