@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
* {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  overflow-y: scroll;
}
html.sp {
  font-size: 16px !important;
}
html.xsp {
  font-size: 12px !important;
}

body, th, main .contents .format table td, td, input, select, textarea {
  font-size: 16px;
  font-size: 1rem;
  line-height: 17.6px;
  line-height: 1.1rem;
  font-family: "Noto Sans JP", Verdana, Meiryo, sans-serif;
  font-feature-settings: "palt";
}

body {
  margin: 0px auto;
  color: #000000;
  overflow: hidden;
}

img {
  display: block;
  margin: auto;
  border: 0px;
}

a {
  text-decoration: none;
}

dl, ul, ol {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

p {
  margin: 0px;
}

input, select {
  outline: none;
}

.clear {
  clear: both;
}

.sp .view_pc {
  display: none !important;
}

.view_sp {
  display: none !important;
}
.sp .view_sp {
  display: block !important;
}

main .contents * + .text, main .contents * + .table, main .contents * + .edit_area, main .contents * + .image, main .contents * + .imagebox, main .contents * + .format, main .contents * + .googlemap, * + .column {
  margin-top: 40px;
}
.sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .edit_area, main .contents .sp * + .edit_area, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .format, main .contents .sp * + .format, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap, .sp * + .column {
  margin-top: 30px;
}

main .contents * + .layout, main .contents * + .menu, main .contents * + .box, main .contents * + .redbox {
  margin-top: 80px;
}

main .contents .text.lead * + p, main .contents .text * + p, main .contents .table * + p, main .contents .edit_area * + p, main .contents .text * + ul, main .contents .table * + ul, main .contents .edit_area * + ul, main .contents .text * + ol, main .contents .table * + ol, main .contents .edit_area * + ol, main .contents .text * + .image.floatright, main .contents .table * + .image.floatright, main .contents .edit_area * + .image.floatright, main .contents .text * + .image.floatleft, main .contents .table * + .image.floatleft, main .contents .edit_area * + .image.floatleft {
  margin-top: 20px;
}

#pagetitle {
  background: #bbc8cf;
  overflow: hidden;
}
#pagetitle > div {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: auto;
  padding: 0px 20px;
  display: table;
  width: 100%;
  height: 100%;
  direction: rtl;
}
.sp #pagetitle > div {
  padding: 0px 10px;
}
.sp #pagetitle > div {
  display: block;
}
#pagetitle > div > * {
  display: table-cell;
  height: 100%;
  text-align: left;
  vertical-align: middle;
}
.sp #pagetitle > div > * {
  display: block;
}
.sp #pagetitle > div {
  padding: 0px;
}
#pagetitle > div > div {
  direction: ltr;
}
#pagetitle > div > div.visual {
  position: relative;
  width: 50%;
  z-index: 1;
}
.sp #pagetitle > div > div.visual {
  position: relative;
  width: 100%;
  padding-top: 25%;
  overflow: hidden;
}
.sp #pagetitle > div > div.visual img {
  position: absolute;
  top: -20%;
}
#pagetitle > div > div.title {
  display: table;
  width: 100%;
  padding-right: 20px;
}
#pagetitle > div > div.title > div {
  display: table-row;
}
#pagetitle > div > div.title > div > div {
  position: relative;
  display: table-cell;
  padding: 5px 0px;
  vertical-align: middle;
  z-index: 1;
}
.sp #pagetitle > div > div.title > div > div {
  display: block;
  padding: 10px;
}
#pagetitle > div > div.title > div > div span {
  display: inline-block;
}
#pagetitle > div > div.title > div + div {
  position: relative;
  height: 57.14285%;
  background: #ffffff;
}
#pagetitle > div > div.title > div + div:after {
  content: "";
  position: absolute;
  display: block;
  width: 10000px;
  height: 100%;
  left: -5000px;
  background: #ffffff;
  z-index: 0;
}
#pagetitle > div > div.title > div + div > div {
  padding: 15px 0px;
}
.sp #pagetitle > div > div.title {
  display: block;
  padding-right: 0px;
}
.sp #pagetitle > div > div.title > div {
  display: block;
}
#pagetitle > div h1 {
  display: inline-block;
  margin: 0px;
  padding: 0px;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 26px;
  line-height: 1.625rem;
  font-weight: normal;
}
#pagetitle > div .name {
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 52px;
  line-height: 3.25rem;
  font-weight: normal;
}
.sp #pagetitle > div .name {
  font-size: 32px;
  font-size: 2rem;
  line-height: 41.6px;
  line-height: 2.6rem;
}
#pagetitle > div .name h1 {
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 52px;
  line-height: 3.25rem;
}
#pagetitle > div img {
  display: block;
  width: 100%;
  height: auto;
  margin-right: 0px;
}

main .contents {
  position: relative;
  padding: 0px;
  background: #fff;
  z-index: 10;
}
main .contents:after {
  content: "";
  display: block;
  clear: both;
}
main .contents > div:not(.background) {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: auto;
  padding: 40px 20px;
  padding-bottom: 60px;
}
.sp main .contents > div:not(.background) {
  padding: 20px 10px;
}
.sp main .contents > div:not(.background) {
  width: auto;
}
main .contents > div.pb0 {
  padding-bottom: 0 !important;
}
main .contents > div.bg_grey {
  background: #F1EAE4;
  margin-top: 60px;
}
main .contents > div.bg_grey > div {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: auto;
  padding: 150px 20px 150px;
}
.sp main .contents > div.bg_grey > div {
  padding: 75px 10px 75px;
}
.sp main .contents > div.bg_grey > div {
  padding: 40px 10px;
}
main .contents > div.bg_grey > div .col2 {
  display: flex;
  gap: 80px;
}
.sp main .contents > div.bg_grey > div .col2 {
  flex-direction: column;
  gap: 30px;
}
main .contents > div.bg_grey > div .col2 > * {
  width: calc((100% - 80px) / 2);
}
.sp main .contents > div.bg_grey > div .col2 > * {
  width: 100%;
}
main .contents > div.bg_grey > div .col2 > * .ttl {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 36px;
  line-height: 2.25rem;
  font-weight: bold;
}
.sp main .contents > div.bg_grey > div .col2 > * .ttl {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 27px;
  line-height: 1.6875rem;
}
main .contents > div.bg_grey > div .col2 > * p {
  line-height: 1.7;
}
main .contents > div.background {
  width: 100%;
}
main .contents > div.background.top {
  margin-top: -40px;
}
.sp main .contents > div.background.top {
  margin-top: -20px;
}
main .contents > div.background .inner {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: auto;
  padding: 40px 20px 0px;
}
.sp main .contents > div.background .inner {
  padding: 20px 10px 0px;
}
main .contents > div.background.bg_box .inner {
  padding-top: 20px;
}
main .contents > div.background.bg_box .inner .title {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 31.2px;
  line-height: 1.95rem;
}
main .contents h1 + *, main .contents h2 + *, main .contents h3 + *, main .contents h4 + *, main .contents h5 + *, main .contents h6 + * {
  margin-top: 0px !important;
}
main .contents h1 {
  clear: both;
  display: block;
  margin: 0px 0px 40px;
  padding: 0px;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 52px;
  line-height: 3.25rem;
  font-weight: normal;
}
main .contents * + h1 {
  margin-top: 160px;
}
main .contents h2 {
  clear: both;
  display: block;
  margin: 0px 0px 50px;
  padding: 0px;
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 46.8px;
  line-height: 2.925rem;
  text-align: center;
}
.sp main .contents h2 {
  margin-bottom: 20px;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 31.2px;
  line-height: 1.95rem;
}
main .contents h2::after {
  content: "";
  display: block;
  height: 8px;
  width: 80px;
  margin: 25px auto 0;
  background: #99714B;
}
main .contents h2.left {
  text-align: left;
}
main .contents h2.left::after {
  margin-left: 0;
}
main .contents * + h2 {
  margin-top: 120px;
}
.sp main .contents * + h2 {
  margin-top: 60px;
}
.jp main .contents * + h2.style_h4 {
  margin-top: 40px;
}
main .contents h3 {
  clear: both;
  position: relative;
  margin: 0px 0px 32px;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 31.2px;
  line-height: 1.95rem;
  font-weight: 700;
}
.sp main .contents h3 {
  margin: 0px 0px 20px;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 26px;
  line-height: 1.625rem;
}
main .contents * + h3 {
  margin-top: 80px;
}
.sp main .contents * + h3 {
  margin-top: 40px;
}
main .contents h4 {
  position: relative;
  display: block;
  margin: 0px 0px 20px;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 26px;
  line-height: 1.625rem;
  font-weight: 400;
}
.sp main .contents h4 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 23.4px;
  line-height: 1.4625rem;
}
main .contents * + h4 {
  margin-top: 40px;
}
main .contents h5 {
  position: relative;
  display: block;
  margin: 0px 0px 20px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 23.4px;
  line-height: 1.4625rem;
  font-weight: 700;
  color: #004098;
}
.sp main .contents h5 {
  font-size: 16px;
  font-size: 1rem;
  line-height: 20.8px;
  line-height: 1.3rem;
}
main .contents * + h5 {
  margin-top: 20px;
}
.sp main .contents * + h5 {
  margin-top: 10px;
}
main .contents h6 {
  position: relative;
  display: block;
  margin: 0px 0px 20px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 20.8px;
  line-height: 1.3rem;
}
main .contents .text.lead {
  margin: 0 auto;
}
main .contents .text.lead.top {
  margin-bottom: 90px;
}
.sp main .contents .text.lead.top {
  margin-bottom: 45px;
}
main .contents .text.lead.small p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 40px;
  line-height: 2.5rem;
}
main .contents .text.lead.center {
  text-align: center;
}
.sp main .contents .text.lead.center {
  text-align: left;
}
main .contents .text.lead p {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 67.2px;
  line-height: 4.2rem;
}
.sp main .contents .text.lead p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
}
main .contents .text.lead p span {
  margin-right: 0.5rem;
  color: #99714B;
  font-weight: bold;
}
main .contents .people_lead {
  margin: 0 auto 60px;
}
.sp main .contents .people_lead {
  margin-bottom: 30px;
}
main .contents .people_lead p {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 46.8px;
  line-height: 2.925rem;
  font-weight: bold;
  text-align: center;
}
.sp main .contents .people_lead p {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 31.2px;
  line-height: 1.95rem;
}
main .contents .stack {
  margin-top: 0px !important;
}
main .contents .bottom_stack {
  margin-bottom: 0px !important;
}
main .contents .text, main .contents .table, main .contents .edit_area {
  margin-left: auto;
  margin-right: auto;
}
main .contents .text:after, main .contents .table:after, main .contents .edit_area:after {
  content: "";
  display: block;
  clear: both;
}
main .contents .text.full, main .contents .table.full, main .contents .edit_area.full {
  max-width: none;
}
main .contents .text p, main .contents .table p, main .contents .edit_area p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
}
main .contents .text p .required, main .contents .table p .required, main .contents .edit_area p .required {
  color: #fb3b3b;
  margin-left: 4px;
  margin-right: 4px;
}
main .contents .text p.text_title, main .contents .table p.text_title, main .contents .edit_area p.text_title {
  color: #004098;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 27px;
  line-height: 1.6875rem;
}
main .contents .text p.error_mes, main .contents .table p.error_mes, main .contents .edit_area p.error_mes {
  color: #fb3b3b;
}
main .contents .text p.center, main .contents .table p.center, main .contents .edit_area p.center {
  text-align: center;
}
main .contents .text p.right, main .contents .table p.right, main .contents .edit_area p.right {
  text-align: right;
}
main .contents .text p.left, main .contents .table p.left, main .contents .edit_area p.left {
  text-align: left;
}
main .contents .text p.note, main .contents .table p.note, main .contents .edit_area p.note {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 23.8px;
  line-height: 1.4875rem;
}
main .contents .text p a, main .contents .table p a, main .contents .edit_area p a {
  color: #99714B;
  position: relative;
  display: inline-block;
}
main .contents .text p a:before, main .contents .table p a:before, main .contents .edit_area p a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.25em;
  left: 0px;
  width: 100%;
  height: 1px;
  background: #99714B;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: scale(0);
  transform: scale(0);
}
main .contents .text p a:hover:before, main .contents .table p a:hover:before, main .contents .edit_area p a:hover:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}
main .contents .text ul, main .contents .table ul, main .contents .edit_area ul {
  clear: both;
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
}
main .contents .text ul > li, main .contents .table ul > li, main .contents .edit_area ul > li {
  position: relative;
  padding-left: 1rem;
}
main .contents .text ul > li:before, main .contents .table ul > li:before, main .contents .edit_area ul > li:before {
  content: "";
  position: absolute;
  display: block;
  width: 4px;
  height: 4px;
  left: 0;
  top: 0.8rem;
  background: #99714B;
  border-radius: 50%;
}
main .contents .text ul > li + li, main .contents .table ul > li + li, main .contents .edit_area ul > li + li {
  margin-top: 10px;
}
main .contents .text ul > li ul li, main .contents .table ul > li ul li, main .contents .edit_area ul > li ul li {
  padding-left: 0.8rem;
}
main .contents .text ul > li ul li:before, main .contents .table ul > li ul li:before, main .contents .edit_area ul > li ul li:before {
  width: 0.5rem;
  height: 0.5rem;
  top: 0.7rem;
}
main .contents .text ol, main .contents .table ol, main .contents .edit_area ol {
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
  counter-reset: number;
}
main .contents .text ol > li, main .contents .table ol > li, main .contents .edit_area ol > li {
  margin-left: 1.2em;
  text-indent: -0.63em;
}
main .contents .text ol > li:before, main .contents .table ol > li:before, main .contents .edit_area ol > li:before {
  counter-increment: number;
  content: counter(number) ".";
  display: inline-block;
  margin-right: 0.3em;
  color: #99714B;
}
main .contents .text ol > li + li, main .contents .table ol > li + li, main .contents .edit_area ol > li + li {
  margin-top: 4px;
}
main .contents .text ol ul li, main .contents .table ol ul li, main .contents .edit_area ol ul li {
  text-indent: 0;
}
main .contents .text .image.floatright, main .contents .table .image.floatright, main .contents .edit_area .image.floatright {
  float: right;
  margin-left: 40px;
  margin-bottom: 20px;
}
.sp main .contents .text .image.floatright, .sp main .contents .table .image.floatright, .sp main .contents .edit_area .image.floatright {
  margin-left: 20px;
  margin-bottom: 10px;
}
main .contents .text .image.floatleft, main .contents .table .image.floatleft, main .contents .edit_area .image.floatleft {
  float: left;
  margin-right: 40px;
  margin-bottom: 20px;
}
.sp main .contents .text .image.floatleft, .sp main .contents .table .image.floatleft, .sp main .contents .edit_area .image.floatleft {
  margin-right: 20px;
  margin-bottom: 10px;
}
.sp main .contents .text .image.spclear, .sp main .contents .table .image.spclear, .sp main .contents .edit_area .image.spclear {
  float: none;
  width: auto !important;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
}
main .contents .text.left, main .contents .table.left, main .contents .edit_area.left {
  margin-left: 0;
}
main .contents p a:hover, main .contents li a:hover, main .contents ol a:hover, main .contents table a:hover {
  opacity: 0.7;
}
main .contents .edit_area img {
  max-width: 100%;
  height: auto;
}
main .contents .image img {
  display: block;
  margin: auto;
  max-width: 100%;
  height: auto;
}
main .contents .image p {
  margin: auto;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 18.2px;
  line-height: 1.1375rem;
}
* + main .contents .image p {
  margin-top: 8px;
}
main .contents .image p.center {
  text-align: center;
}
main .contents .image.left img {
  margin-left: 0px;
}
main .contents .image.left p {
  margin-left: 0px;
}
main .contents .image.right img {
  margin-right: 0px;
}
main .contents .image.right p {
  margin-right: 0px;
}
main .contents .image a {
  display: inline-block;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
main .contents .image a:hover {
  opacity: 0.7;
}
main .contents .image a img {
  display: inline-block;
}
main .contents .image.center {
  text-align: center;
}
main .contents * + .image {
  margin-top: 20px;
}
.sp main .contents * + .image {
  margin-top: 10px;
}
main .contents .imagebox {
  display: table;
  width: 100%;
}
main .contents .imagebox > * {
  display: table-cell;
  height: 100%;
  text-align: left;
  vertical-align: top;
}
.sp main .contents .imagebox.spcol1 {
  display: block;
}
.sp main .contents .imagebox.spcol1 > * {
  display: block;
  width: auto !important;
}
.sp main .contents .imagebox.spcol1 > * + * {
  padding-top: 20px;
  padding-left: 0px !important;
  padding-right: 0px !important;
}
main .contents .imagebox .middle {
  vertical-align: middle;
}
main .contents .imagebox > * {
  margin-top: 0px !important;
}
main .contents .imagebox > * + * {
  padding-left: 20px;
}
main .contents .imagebox.reverse {
  direction: rtl;
}
main .contents .imagebox.reverse > * {
  direction: ltr;
}
main .contents .imagebox.reverse > * + * {
  padding-left: 0px;
  padding-right: 20px;
}
main .contents .imagebox > .image p {
  width: auto !important;
}
main .contents .layout {
  display: table;
  width: calc(100% + 40px);
  margin-left: -20px;
  margin-right: -20px;
}
main .contents .layout > * {
  display: table-cell;
  height: 100%;
  text-align: center;
  vertical-align: middle;
}
main .contents .layout:after {
  content: "";
  display: block;
  clear: both;
}
.sp main .contents .layout {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
}
main .contents .layout > * {
  padding: 0px 20px;
}
.sp main .contents .layout > * {
  padding: 0px 10px;
}
main .contents .layout > *.left {
  text-align: left;
}
main .contents .layout > *.right {
  text-align: right;
}
main .contents .layout > *.top {
  vertical-align: top;
}
main .contents .layout > *.bottom {
  vertical-align: bottom;
}
.sp main .contents .layout.spcol1 {
  display: block;
  width: auto;
  margin-left: 0px;
  margin-bottom: -40px;
  margin-right: 0px;
}
.sp main .contents .layout.spcol1 > * {
  display: block;
  margin-bottom: 40px;
  padding: 0px;
  width: auto !important;
}
main .contents .table {
  max-width: none !important;
}
.sp main .contents .table {
  overflow-x: auto;
}
main .contents .table p + table {
  margin-top: 10px;
}
main .contents .table table {
  width: 100%;
  border-collapse: collapse;
  empty-cells: show;
}
main .contents .table table th, main .contents .table .format table td, main .contents .format .table table td {
  padding: 25px 0;
  vertical-align: middle;
  text-align: center;
  font-size: 16px;
  font-size: 1rem;
  line-height: 20.8px;
  line-height: 1.3rem;
  font-weight: normal;
  color: #ffffff;
  text-align: center;
}
main .contents .table table th + th, main .contents .table .format table td + th, main .contents .format .table table td + th, main .contents .table .format table th + td, main .contents .format .table table th + td, main .contents .table .format table td + td, main .contents .format .table table td + td {
  border-left: 1px solid #fff;
}
.sp main .contents .table table th, .sp main .contents .table .format table td, .sp main .contents .format .table table td {
  white-space: nowrap;
}
main .contents .table table th a, main .contents .table .format table td a, main .contents .format .table table td a {
  color: #fff;
  text-decoration: underline;
}
main .contents .table table thead * + tr th, main .contents .table .format table thead * + tr td, main .contents .format .table table thead * + tr td {
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
}
main .contents .table table tbody th, main .contents .table .format table tbody td, main .contents .format .table table tbody td {
  text-align: left;
  color: #000000;
  vertical-align: top;
  border-bottom: 1px solid #99714B;
}
main .contents .table table td {
  padding: 25px 0;
  vertical-align: top;
  text-align: left;
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
  font-weight: normal;
  border-bottom: 1px solid #BCB9B8;
}
main .contents .table table td .name {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 40.8px;
  line-height: 2.55rem;
}
main .contents .table table .left {
  text-align: left;
}
main .contents .table table .right {
  text-align: right;
}
main .contents .table table .center {
  text-align: center;
}
main .contents .table table .top {
  vertical-align: top;
}
main .contents .table table .bottom {
  vertical-align: bottom;
}
main .contents .table table .middle {
  vertical-align: middle;
}
main .contents .table table .empty {
  background: none !important;
}
main .contents .table table.small th, main .contents .table .format table.small td, main .contents .format .table table.small td, main .contents .table table.small td {
  padding: 10px 5px;
}
main .contents .table table.small .year {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 26px;
  line-height: 1.625rem;
  font-weight: bold;
}
main .contents .table table.td_center td {
  text-align: center;
}
main .contents .table table.stripes tr:nth-of-type(2n+1) td {
  background: #F1F0F0;
}
main .contents .table table.stripes th, main .contents .table .format table.stripes td, main .contents .format .table table.stripes td {
  border: none;
  padding: 20px;
  background: #231815;
  color: #fff;
}
main .contents .table table.stripes td {
  border: none;
  padding: 20px;
}
main .contents .table table.stripes td + td {
  border-left: 1px solid #908B89;
}
main .contents .table table.stripes_vertical td:nth-of-type(2n) {
  background: #F5F5F5;
}
main .contents .table table.stripes_border tr:nth-of-type(2n+3) th, main .contents .table .format table.stripes_border tr:nth-of-type(2n+3) td, main .contents .format .table table.stripes_border tr:nth-of-type(2n+3) td, main .contents .table table.stripes_border tr:nth-of-type(2n+3) td {
  border-top: 3px solid #707F89;
}
main .contents .table table.borderless {
  border: none;
}
main .contents .table table.borderless th, main .contents .table .format table.borderless td, main .contents .format .table table.borderless td, main .contents .table table.borderless td {
  border: none !important;
  border-bottom: 1px dotted #99a6b6 !important;
  background: none;
}
main .contents .table table.borderless th:nth-of-type(1), main .contents .table .format table.borderless td:nth-of-type(1), main .contents .format .table table.borderless td:nth-of-type(1) {
  width: 30%;
}
main .contents .table table.borderless th:nth-of-type(2), main .contents .table .format table.borderless td:nth-of-type(2), main .contents .format .table table.borderless td:nth-of-type(2) {
  width: 50%;
}
main .contents .table table.borderless th:nth-of-type(3), main .contents .table .format table.borderless td:nth-of-type(3), main .contents .format .table table.borderless td:nth-of-type(3) {
  width: 20%;
}
main .contents .table > p {
  margin-top: 8px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
}
main .contents .table table.simple {
  border-top: 1px solid #CDD6DD;
  border-left: 1px solid #CDD6DD;
}
main .contents .table table.simple tbody tr th, main .contents .table .format table.simple tbody tr td, main .contents .format .table table.simple tbody tr td {
  background: #fff;
  border-right: 1px solid #CDD6DD;
}
main .contents .format table {
  width: 100%;
  border-collapse: collapse;
  empty-cells: show;
  border-bottom: 1px solid #b3b3b3;
}
main .contents .format table th, main .contents .format table td {
  padding: 16px 8px;
  vertical-align: top;
  text-align: left;
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
  font-weight: bold;
  color: #000000;
  border-top: 1px solid #b3b3b3;
}
main .contents .format table td {
  font-weight: normal;
}
.sp main .contents .format table {
  display: block;
}
.sp main .contents .format table tbody {
  display: block;
}
.sp main .contents .format table tr {
  display: block;
}
.sp main .contents .format table th, .sp main .contents .format table td {
  display: block;
}
.sp main .contents .format table td {
  display: block;
  padding-top: 0px;
  border-top: 0px;
}
main .contents .menu {
  margin-bottom: -20px;
  margin-left: -20px;
  margin-right: -4px;
}
main .contents .menu:after {
  content: "";
  display: block;
  clear: both;
}
.sp main .contents .menu {
  margin-bottom: -10px;
  margin-left: -10px;
}
main .contents .menu > * {
  float: left;
  margin-bottom: 20px;
  margin-left: 20px;
}
.sp main .contents .menu > * {
  margin-left: 10px;
  margin-bottom: 10px;
}
main .contents .menu.col1 > * {
  width: calc((100% - 20px * 1 - 4px) / 1);
}
.sp main .contents .menu.col1 > * {
  width: calc((100% - 10px * 1 - 4px) / 1);
}
.sp main .contents .menu.spcol1 > * {
  width: calc((100% - 10px * 1 - 4px) / 1) !important;
}
main .contents .menu.col2 > * {
  width: calc((100% - 20px * 2 - 4px) / 2);
}
.sp main .contents .menu.col2 > * {
  width: calc((100% - 10px * 2 - 4px) / 2);
}
.sp main .contents .menu.spcol2 > * {
  width: calc((100% - 10px * 2 - 4px) / 2) !important;
}
main .contents .menu.col3 > * {
  width: calc((100% - 20px * 3 - 4px) / 3);
}
.sp main .contents .menu.col3 > * {
  width: calc((100% - 10px * 3 - 4px) / 3);
}
.sp main .contents .menu.spcol3 > * {
  width: calc((100% - 10px * 3 - 4px) / 3) !important;
}
main .contents .menu.col4 > * {
  width: calc((100% - 20px * 4 - 4px) / 4);
}
.sp main .contents .menu.col4 > * {
  width: calc((100% - 10px * 4 - 4px) / 4);
}
.sp main .contents .menu.spcol4 > * {
  width: calc((100% - 10px * 4 - 4px) / 4) !important;
}
main .contents .menu.col5 > * {
  width: calc((100% - 20px * 5 - 4px) / 5);
}
.sp main .contents .menu.col5 > * {
  width: calc((100% - 10px * 5 - 4px) / 5);
}
.sp main .contents .menu.spcol5 > * {
  width: calc((100% - 10px * 5 - 4px) / 5) !important;
}
main .contents .menu > a {
  position: relative;
  display: block;
  padding-bottom: calc(1.625rem + 26px);
  background: #ffffff;
  overflow: hidden;
}
.sp main .contents .menu > a {
  padding-bottom: calc(1.42188rem + 26px);
}
main .contents .menu > a:hover img {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}
main .contents .menu > a div {
  overflow: hidden;
}
main .contents .menu > a img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
main .contents .menu > a strong {
  display: block;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 31.2px;
  line-height: 1.95rem;
}
main .contents .menu > a strong span {
  display: inline-block;
}
.sp main .contents .menu > a strong {
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 27.3px;
  line-height: 1.70625rem;
}
main .contents .menu > a > span {
  position: absolute;
  display: block;
  width: 100%;
  bottom: 0px;
  padding: 12px 12px 16px;
  color: #ffffff;
  background: #99714B;
}
main .contents .menu > a > span p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 18.2px;
  line-height: 1.1375rem;
}
main .contents .menu > a > span p.more {
  font-weight: bold;
}
main .contents .menu > a > span p + p {
  margin-top: 8px;
}
main .contents .menu > a > span.slide {
  bottom: 50px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}
main .contents .menu > a > span.slide strong {
  padding-bottom: 16px;
}
html:not(.sp) main .contents .menu > a:hover > span.slide {
  -webkit-transform: translateY(0) !important;
  transform: translateY(0) !important;
}
main .contents .menu > a:after {
  content: "";
  position: absolute;
  display: block;
  bottom: 5px;
  right: 5px;
  border: 5px solid transparent;
  border-right-color: #ffffff;
  border-bottom-color: #ffffff;
}
main .contents .menu.simple a {
  padding: 19px 19px 0px;
  border: 1px solid #d9d9d9;
}
.sp main .contents .menu.simple a {
  padding: 9px 9px 0px;
}
main .contents .menu.simple a > span {
  position: static;
  display: table;
  width: 100%;
  padding-top: 0px;
  padding-bottom: 19px;
  color: #000000;
  background: transparent;
}
main .contents .menu.simple a > span > * {
  display: table-cell;
  height: 100%;
  text-align: center;
  vertical-align: middle;
}
.sp main .contents .menu.simple a > span {
  padding-bottom: 9px;
}
main .contents .menu.simple a > div + span {
  padding-top: 12px;
}
main .contents .menu.simple a:after {
  border-right-color: #99714B;
  border-bottom-color: #99714B;
}
main .contents .box {
  padding: 20px;
  border: 1px solid #bbc8cf;
}
.sp main .contents .box {
  padding: 20px;
}
main .contents .redbox {
  padding: 20px;
  border: 1px solid #EC212F;
}
.sp main .contents .redbox {
  padding: 20px;
}
main .contents .googlemap {
  position: relative;
  padding-top: 50%;
}
.sp main .contents .googlemap {
  padding-top: 75%;
}
main .contents .googlemap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
}

body {
  position: relative;
}

.popup {
  position: relative;
  opacity: 0;
  -webkit-transform: translateY(20%);
  transform: translateY(20%);
}
.sp .popup {
  -webkit-transition: opacity 0ms, -webkit-transform 0ms;
  transition: opacity 0ms, transform 0ms;
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.popup.view {
  -webkit-transition: opacity 600ms, -webkit-transform 1200ms;
  transition: opacity 600ms, transform 1200ms;
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.bold {
  font-weight: bold !important;
}

.red {
  color: #EC212F;
}

.nowrap {
  white-space: nowrap;
}

sup {
  line-height: 0;
}

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

.column {
  display: flex;
  flex-flow: row wrap;
  margin-left: -20px;
  margin-bottom: -20px;
}
.column:after {
  content: "";
  display: block;
  clear: both;
}
.sp .column {
  margin-left: -10px;
}
.column > * {
  position: relative;
  margin-bottom: 20px;
  margin-left: 20px;
}
.sp .column > * {
  margin-left: 10px;
  margin-bottom: 10px;
}
.column > a {
  display: block;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
  color: #99714B;
}
.column > a:hover {
  opacity: 0.7;
}
.column > a .image img {
  width: 100%;
  max-width: none;
}
.column.col1 > * {
  width: calc((100% - 20px * 1) / 1);
}
.column.col1 > *.size2 {
  width: calc(((100% - 20px * 1) / 1) * 2 + 20px * 1);
}
.column.col1 > *.size1 {
  width: calc(((100% - 20px * 1) / 1) * 1 + 20px * 0);
}
.sp .column.col1 > * {
  width: calc((100% - 10px * 1) / 1);
}
.sp .column.spcol1 > * {
  width: calc((100% - 10px * 1) / 1) !important;
}
.column.col2 > * {
  width: calc((100% - 20px * 2) / 2);
}
.column.col2 > *.size2 {
  width: calc(((100% - 20px * 2) / 2) * 2 + 20px * 1);
}
.sp .column.col2 > * {
  width: calc((100% - 10px * 2) / 2);
}
.sp .column.spcol2 > * {
  width: calc((100% - 10px * 2) / 2) !important;
}
.column.col3 > * {
  width: calc((100% - 20px * 3) / 3);
}
.column.col3 > *.size2 {
  width: calc(((100% - 20px * 3) / 3) * 2 + 20px * 1);
}
.column.col3 > *.size3 {
  width: calc(((100% - 20px * 3) / 3) * 3 + 20px * 2);
}
.sp .column.col3 > * {
  width: calc((100% - 10px * 3) / 3);
}
.sp .column.spcol3 > * {
  width: calc((100% - 10px * 3) / 3) !important;
}
.column.col4 > * {
  width: calc((100% - 20px * 4) / 4);
}
.column.col4 > *.size2 {
  width: calc(((100% - 20px * 4) / 4) * 2 + 20px * 1);
}
.column.col4 > *.size3 {
  width: calc(((100% - 20px * 4) / 4) * 3 + 20px * 2);
}
.column.col4 > *.size4 {
  width: calc(((100% - 20px * 4) / 4) * 4 + 20px * 3);
}
.sp .column.col4 > * {
  width: calc((100% - 10px * 4) / 4);
}
.sp .column.spcol4 > * {
  width: calc((100% - 10px * 4) / 4) !important;
}
.column.col5 > * {
  width: calc((100% - 20px * 5) / 5);
}
.column.col5 > *.size2 {
  width: calc(((100% - 20px * 5) / 5) * 2 + 20px * 1);
}
.column.col5 > *.size3 {
  width: calc(((100% - 20px * 5) / 5) * 3 + 20px * 2);
}
.column.col5 > *.size4 {
  width: calc(((100% - 20px * 5) / 5) * 4 + 20px * 3);
}
.column.col5 > *.size5 {
  width: calc(((100% - 20px * 5) / 5) * 5 + 20px * 4);
}
.sp .column.col5 > * {
  width: calc((100% - 10px * 5) / 5);
}
.sp .column.spcol5 > * {
  width: calc((100% - 10px * 5) / 5) !important;
}
.column.col6 > * {
  width: calc((100% - 20px * 6) / 6);
}
.column.col6 > *.size2 {
  width: calc(((100% - 20px * 6) / 6) * 2 + 20px * 1);
}
.column.col6 > *.size3 {
  width: calc(((100% - 20px * 6) / 6) * 3 + 20px * 2);
}
.column.col6 > *.size4 {
  width: calc(((100% - 20px * 6) / 6) * 4 + 20px * 3);
}
.column.col6 > *.size5 {
  width: calc(((100% - 20px * 6) / 6) * 5 + 20px * 4);
}
.column.col6 > *.size6 {
  width: calc(((100% - 20px * 6) / 6) * 6 + 20px * 5);
}
.sp .column.col6 > * {
  width: calc((100% - 10px * 6) / 6);
}
.sp .column.spcol6 > * {
  width: calc((100% - 10px * 6) / 6) !important;
}
.column.col7 > * {
  width: calc((100% - 20px * 7) / 7);
}
.column.col7 > *.size2 {
  width: calc(((100% - 20px * 7) / 7) * 2 + 20px * 1);
}
.column.col7 > *.size3 {
  width: calc(((100% - 20px * 7) / 7) * 3 + 20px * 2);
}
.column.col7 > *.size4 {
  width: calc(((100% - 20px * 7) / 7) * 4 + 20px * 3);
}
.column.col7 > *.size5 {
  width: calc(((100% - 20px * 7) / 7) * 5 + 20px * 4);
}
.column.col7 > *.size6 {
  width: calc(((100% - 20px * 7) / 7) * 6 + 20px * 5);
}
.column.col7 > *.size7 {
  width: calc(((100% - 20px * 7) / 7) * 7 + 20px * 6);
}
.sp .column.col7 > * {
  width: calc((100% - 10px * 7) / 7);
}
.sp .column.spcol7 > * {
  width: calc((100% - 10px * 7) / 7) !important;
}
.column.col8 > * {
  width: calc((100% - 20px * 8) / 8);
}
.column.col8 > *.size2 {
  width: calc(((100% - 20px * 8) / 8) * 2 + 20px * 1);
}
.column.col8 > *.size3 {
  width: calc(((100% - 20px * 8) / 8) * 3 + 20px * 2);
}
.column.col8 > *.size4 {
  width: calc(((100% - 20px * 8) / 8) * 4 + 20px * 3);
}
.column.col8 > *.size5 {
  width: calc(((100% - 20px * 8) / 8) * 5 + 20px * 4);
}
.column.col8 > *.size6 {
  width: calc(((100% - 20px * 8) / 8) * 6 + 20px * 5);
}
.column.col8 > *.size7 {
  width: calc(((100% - 20px * 8) / 8) * 7 + 20px * 6);
}
.column.col8 > *.size8 {
  width: calc(((100% - 20px * 8) / 8) * 8 + 20px * 7);
}
.sp .column.col8 > * {
  width: calc((100% - 10px * 8) / 8);
}
.sp .column.spcol8 > * {
  width: calc((100% - 10px * 8) / 8) !important;
}
.column.col9 > * {
  width: calc((100% - 20px * 9) / 9);
}
.column.col9 > *.size2 {
  width: calc(((100% - 20px * 9) / 9) * 2 + 20px * 1);
}
.column.col9 > *.size3 {
  width: calc(((100% - 20px * 9) / 9) * 3 + 20px * 2);
}
.column.col9 > *.size4 {
  width: calc(((100% - 20px * 9) / 9) * 4 + 20px * 3);
}
.column.col9 > *.size5 {
  width: calc(((100% - 20px * 9) / 9) * 5 + 20px * 4);
}
.column.col9 > *.size6 {
  width: calc(((100% - 20px * 9) / 9) * 6 + 20px * 5);
}
.column.col9 > *.size7 {
  width: calc(((100% - 20px * 9) / 9) * 7 + 20px * 6);
}
.column.col9 > *.size8 {
  width: calc(((100% - 20px * 9) / 9) * 8 + 20px * 7);
}
.column.col9 > *.size9 {
  width: calc(((100% - 20px * 9) / 9) * 9 + 20px * 8);
}
.sp .column.col9 > * {
  width: calc((100% - 10px * 9) / 9);
}
.sp .column.spcol9 > * {
  width: calc((100% - 10px * 9) / 9) !important;
}

#cat_title {
  position: relative;
  margin: 80px 0 80px 0;
  height: 240px;
  z-index: 1;
  background-position: center center;
  background-size: cover;
}
.sp #cat_title {
  margin: 80px 0 40px 0;
  padding: 20px;
  height: 160px;
}
#cat_title::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.75);
}
#cat_title.member {
  background-image: url(../images/member_bg.jpg);
}
#cat_title.message {
  background-image: url(../images/message_bg.jpg);
}
#cat_title.company {
  background-image: url(../images/company_bg.jpg);
}
#cat_title.guideline {
  background-image: url(../images/guideline_bg.jpg);
}
#cat_title.fresh {
  background-image: url(../images/fresh_bg.jpg);
}
#cat_title.concept {
  background-image: url(../images/concept_bg.jpg);
}
#cat_title.crosstalk {
  background-image: url(../images/crosstalk_bg.jpg);
}
#cat_title.welfare {
  background-image: url(../images/welfare_bg.jpg);
}
#cat_title.jobs {
  background-image: url(../images/jobs_bg.jpg);
}
#cat_title.workplaces {
  background-image: url(../images/workplaces_bg.jpg);
}
#cat_title > span {
  position: absolute;
  left: 20px;
  top: 0;
  font-size: 180px;
  font-size: 11.25rem;
  line-height: 126.0px;
  line-height: 7.875rem;
  font-family: caflisch-script-pro, sans-serif;
  font-weight: normal;
  color: #fff;
}
.sp #cat_title > span {
  top: 10px;
  font-size: 90px;
  font-size: 5.625rem;
  line-height: 63.0px;
  line-height: 3.9375rem;
}
#cat_title > div {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: auto;
  padding: 0px 20px 0px;
  display: flex;
  height: 100%;
  align-items: center;
  z-index: 10;
}
.sp #cat_title > div {
  padding: 0px 10px 0px;
}
#cat_title h1, #cat_title .h1 {
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 44px;
  line-height: 2.75rem;
  margin: 0;
  font-weight: 400;
}
.sp #cat_title h1, .sp #cat_title .h1 {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 39.6px;
  line-height: 2.475rem;
}
#cat_title .lead {
  padding: 0 100px;
  text-align: center;
  font-weight: 700;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 39px;
  line-height: 2.4375rem;
}
.sp #cat_title .lead {
  padding: 0;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 23.4px;
  line-height: 1.4625rem;
}

#breadcrumbs {
  position: relative;
  background: #fff;
  z-index: 10;
}
.sp #breadcrumbs {
  display: none;
}
#breadcrumbs > ul {
  padding: 15px 20px;
}
#breadcrumbs > ul:after {
  content: "";
  display: block;
  clear: both;
}
#breadcrumbs > ul > li {
  display: inline-block;
  font-size: 16px;
  font-size: 1rem;
  line-height: 17.6px;
  line-height: 1.1rem;
  color: #99a6b6;
}
.sp #breadcrumbs > ul > li {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 11px;
  line-height: 0.6875rem;
}
#breadcrumbs > ul > li + li:before {
  content: ">";
  position: relative;
  display: inline-block;
  top: 0;
  margin: 0px 5px;
}
#breadcrumbs > ul > li a {
  color: #99714B;
  position: relative;
  display: inline-block;
}
#breadcrumbs > ul > li a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.25em;
  left: 0px;
  width: 100%;
  height: 1px;
  background: #99714B;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: scale(0);
  transform: scale(0);
}
#breadcrumbs > ul > li a:hover:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}
#breadcrumbs > ul > li br {
  display: none;
}

.calendar_menu .year {
  position: relative;
  display: inline-block;
}
.calendar_menu .year::before {
  content: "";
  position: absolute;
  width: 21px;
  height: 21px;
  border: 1px solid #707070;
  border-radius: 5px;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}
.calendar_menu .year::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  top: calc(50% - 6px);
  right: 12px;
  transform: translateY(-50%);
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  z-index: 2;
  pointer-events: none;
}
.calendar_menu .year select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
  min-width: 6rem;
  padding-right: 20px;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 31.2px;
  line-height: 1.95rem;
}
.calendar_menu .year select::-ms-expand {
  display: none;
}
.calendar_menu .cat_box {
  display: flex;
}
.sp .calendar_menu .cat_box {
  display: block;
}
.calendar_menu .cat_box > div .cat {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  margin-top: 20px;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 28.9px;
  line-height: 1.80625rem;
}
.calendar_menu .cat_box > div .cat > div:first-child {
  min-width: 5rem;
}
.calendar_menu .cat_box > div .cat ul {
  display: flex;
  flex-wrap: wrap;
}
.calendar_menu .cat_box > div .cat ul li {
  padding-left: 0 !important;
}
.calendar_menu .cat_box > div .cat ul li:before {
  display: none !important;
}
.calendar_menu .cat_box > div .cat ul li:after {
  content: "";
  display: inline-block;
  margin: 0 10px;
  width: 1px;
  height: 75%;
  vertical-align: middle;
  background: #707070;
}
.calendar_menu .cat_box > div .cat ul li:last-child:after {
  display: none;
}
.calendar_menu .cat_box > div .cat ul li + li {
  margin-top: 0 !important;
}
.calendar_menu .cat_box > div .cat ul a.current {
  font-weight: bold;
  color: #BF0101;
}
.calendar_menu .cat_box .map {
  margin: 20px 0 0 50px;
}
.sp .calendar_menu .cat_box .map {
  margin: 20px 0 0 0;
  text-align: center;
}
.calendar_menu .cat_box .map a {
  display: inline-block;
  padding: 5px 20px;
  border: 1px solid #707070;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
.calendar_menu .cat_box .map a:hover {
  opacity: 0.7;
}

.calendar_result {
  margin-top: 80px;
}
.sp .calendar_result {
  margin-top: 40px;
}
.calendar_result > div {
  display: none;
  margin-top: 30px;
}
.calendar_result > div p.title {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 34px;
  line-height: 2.125rem;
  font-weight: bold;
}
.calendar_result > div p.title a {
  color: #BF0101;
}
.calendar_result > div p {
  margin-top: 0 !important;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 28.9px;
  line-height: 1.80625rem;
}

#news_area {
  background: #fff;
}
#news_area > div {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: auto;
  padding: 50px 20px 50px;
}
.sp #news_area > div {
  padding: 25px 10px 25px;
}
#news_area > div.text {
  max-width: 780px;
  padding: 0;
}
#news_area ul {
  position: relative;
  letter-spacing: -1rem;
}
#news_area ul li {
  padding: 20px 0;
  border-bottom: 1px dotted #707070;
  letter-spacing: normal;
}
#news_area ul li > a, #news_area ul li > span {
  display: block;
  color: #99714B;
  letter-spacing: -1rem;
}
#news_area ul li > a > *, #news_area ul li > span > * {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: middle;
}
#news_area ul li > a .date, #news_area ul li > span .date {
  width: 120px;
}
#news_area ul li > a .cat, #news_area ul li > span .cat {
  width: 140px;
}
#news_area ul li > a .cat span, #news_area ul li > span .cat span {
  display: inline-block;
  min-width: 120px;
  text-align: center;
  background: #707070;
  color: #fff;
  padding: 3px;
}
#news_area ul li > a .title, #news_area ul li > span .title {
  line-height: 1.5;
  width: calc(100% - 320px);
  padding-left: 20px;
}
.sp #news_area ul li > a .title, .sp #news_area ul li > span .title {
  width: 100%;
  margin-top: 10px;
  padding-left: 0;
}
#news_area ul li > a.link, #news_area ul li > a.pdf, #news_area ul li > a.blank, #news_area ul li > span.link, #news_area ul li > span.pdf, #news_area ul li > span.blank {
  position: relative;
}
#news_area ul li > a.link .title, #news_area ul li > a.pdf .title, #news_area ul li > a.blank .title, #news_area ul li > span.link .title, #news_area ul li > span.pdf .title, #news_area ul li > span.blank .title {
  width: calc(100% - 320px);
  border-right: 1px solid #99a6b6;
  padding-right: 20px;
}
.sp #news_area ul li > a.link .title, .sp #news_area ul li > a.pdf .title, .sp #news_area ul li > a.blank .title, .sp #news_area ul li > span.link .title, .sp #news_area ul li > span.pdf .title, .sp #news_area ul li > span.blank .title {
  position: relative;
  width: 100%;
  margin-top: 10px;
  border-right: none;
  padding-right: 0px;
}
.sp #news_area ul li > a.link .title:after, .sp #news_area ul li > a.pdf .title:after, .sp #news_area ul li > a.blank .title:after, .sp #news_area ul li > span.link .title:after, .sp #news_area ul li > span.pdf .title:after, .sp #news_area ul li > span.blank .title:after {
  content: "";
  position: absolute;
}
#news_area ul li > a.link::before, #news_area ul li > a.pdf::before, #news_area ul li > a.blank::before, #news_area ul li > span.link::before, #news_area ul li > span.pdf::before, #news_area ul li > span.blank::before {
  content: "";
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
}
.sp #news_area ul li > a.link::before, .sp #news_area ul li > a.pdf::before, .sp #news_area ul li > a.blank::before, .sp #news_area ul li > span.link::before, .sp #news_area ul li > span.pdf::before, .sp #news_area ul li > span.blank::before {
  display: none;
}
#news_area ul li > a.link::before, #news_area ul li > span.link::before {
  width: 15px;
  height: 13px;
  background: url(../images/newsico_link.svg) no-repeat;
  background-size: 15px 13px;
}
.sp #news_area ul li > a.link .title::after, .sp #news_area ul li > span.link .title::after {
  width: 20px;
  height: 18px;
  background: url(../images/newsico_link.svg) right bottom no-repeat;
  background-size: 15px 13px;
}
#news_area ul li > a.pdf::before, #news_area ul li > span.pdf::before {
  width: 15px;
  height: 17px;
  background: url(../images/ico_pdf.png) no-repeat;
  background-size: 15px 17px;
}
.sp #news_area ul li > a.pdf .title::after, .sp #news_area ul li > span.pdf .title::after {
  width: 20px;
  height: 20px;
  background: url(../images/ico_pdf.png) right bottom no-repeat;
  background-size: 15px 17px;
}
#news_area ul li > a.blank::before, #news_area ul li > span.blank::before {
  width: 15px;
  height: 15px;
  background: url(../images/newsico_blank.svg) no-repeat;
  background-size: 15px 15px;
}
.sp #news_area ul li > a.blank .title::after, .sp #news_area ul li > span.blank .title::after {
  width: 20px;
  height: 20px;
  background: url(../images/newsico_blank.svg) right bottom no-repeat;
  background-size: 15px 17px;
}
#news_area ul li a {
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
#news_area ul li a:hover {
  opacity: 0.7;
}
#news_area ul.anchor {
  margin-bottom: 40px;
}
#news_area ul.anchor li {
  border: none;
  padding: 0;
}
#news_area ul.anchor li a {
  display: inline-block;
  letter-spacing: normal;
}
.sp #news_area ul.anchor li a {
  min-width: 3rem;
  padding-top: 0;
}
#news_area ul.cat_wide > li > a .cat {
  width: 180px;
}
#news_area ul.cat_wide > li > a .cat span {
  min-width: 160px;
}
#news_area ul.cat_wide > li > a .title {
  width: calc(100% - 360px);
}
#news_area a, #news_area span {
  position: relative;
  display: block;
  font-size: 16px;
  font-size: 1rem;
  line-height: 17.6px;
  line-height: 1.1rem;
  -webkit-transition: opacity 200ms, color 600ms;
  transition: opacity 200ms, color 600ms;
}
.sp #news_area a, .sp #news_area span {
  font-size: 16px;
  font-size: 1rem;
  line-height: 17.6px;
  line-height: 1.1rem;
}
#news_area ul.category_anchor {
  margin: 0 0 30px -10px;
}
#news_area ul.category_anchor li {
  padding: 0;
  margin: 0 0 10px 10px;
  border: none;
  min-height: auto;
}
#news_area ul.category_anchor li a {
  padding: 0 40px 0 10px;
  color: #fff;
  letter-spacing: normal;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 23.4px;
  line-height: 1.4625rem;
  display: table-cell;
  line-height: 36px;
}

.footer_icolink {
  margin-top: 50px;
  margin-bottom: 30px;
  letter-spacing: -1rem;
}
.footer_icolink > ul {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: auto;
  padding: 30px 20px 30px;
  text-align: center;
}
.sp .footer_icolink > ul {
  padding: 15px 10px 15px;
}
.footer_icolink li {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  letter-spacing: normal;
}
.tablet .footer_icolink li {
  width: calc((99.99% - 40px) / 3);
  margin-bottom: 40px;
}
.tablet .footer_icolink li:nth-of-type(3n+1) {
  margin-left: 0 !important;
}
.footer_icolink li + li {
  margin-left: 80px;
}
.tablet .footer_icolink li + li {
  margin-left: 20px;
}
.footer_icolink li a {
  display: block;
  color: #000000;
  font-weight: bold;
  font-size: 16px;
  font-size: 1rem;
  line-height: 24px;
  line-height: 1.5rem;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
.footer_icolink li a:hover {
  opacity: 0.7;
}
.sp .footer_icolink li a {
  color: #000;
}
.footer_icolink li a img {
  margin-bottom: 10px;
}

footer.content {
  position: relative;
  background-color: #004098;
  padding: 40px 30px;
  background: url(../images/footer_catch.svg) no-repeat center right 40px #004098;
}
.tablet footer.content {
  height: auto;
  padding: 20px 20px 20px 20px;
  background: none;
  background-color: #004098;
}
footer.content .logo {
  margin-bottom: 30px;
}
footer.content .logo img {
  margin: 0;
}
footer.content .logo a {
  display: inline-block;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
footer.content .logo a:hover {
  opacity: 0.7;
}
footer.content p {
  color: #fff;
}
.sp footer.content p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 21px;
  line-height: 1.3125rem;
}
footer.content p + p {
  margin-top: 20px;
}
footer.content p a {
  margin-right: 20px;
  color: #fff;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
footer.content p a:hover {
  opacity: 0.7;
}

main .contents .text .title {
  margin-top: 30px;
  font-weight: bold;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 30px;
  line-height: 1.875rem;
  text-align: center;
}
.sp main .contents .text .title {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 27px;
  line-height: 1.6875rem;
}
main .contents .text .message_name {
  font-weight: bold;
}
main .contents .text .message_name span {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 34px;
  line-height: 2.125rem;
}
main .contents .faq dt, main .contents .faq dd {
  margin: 0;
  text-indent: -1.2rem;
  padding-left: 1.2rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
}
main .contents .faq dt + dt, main .contents .faq dd + dt {
  margin-top: 40px;
}
main .contents .faq dt a, main .contents .faq dd a {
  color: #99714B;
  position: relative;
  display: inline-block;
  text-indent: 0;
}
main .contents .faq dt a:before, main .contents .faq dd a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.25em;
  left: 0px;
  width: 100%;
  height: 1px;
  background: #99714B;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: scale(0);
  transform: scale(0);
}
main .contents .faq dt a:hover:before, main .contents .faq dd a:hover:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}
main .contents .faq dt {
  font-weight: bold;
}
main .contents .faq dd {
  margin-top: 10px;
}
main .contents .column.crosstalk > div {
  padding: 20px;
  background: #E8E7E7;
}
main .contents .column.crosstalk > div.size3 .column {
  padding: 0 10px;
}
.sp main .contents .column.crosstalk > div.size3 .column {
  padding: 0;
}
main .contents .column.crosstalk.center {
  justify-content: center;
}
main .contents .crosstalk_block {
  display: flex;
  flex-wrap: wrap;
  margin-top: -30px !important;
}
main .contents .crosstalk_block .image {
  width: 80px;
  margin-top: 30px;
}
main .contents .crosstalk_block .text {
  width: calc(100% - 100px);
  margin-left: 20px;
  margin-top: 30px;
}
main .contents .text + .crosstalk_block {
  margin-top: 0 !important;
}
main .contents .jobs_link {
  max-width: 380px;
  margin: 80px auto 0;
}
.sp main .contents .jobs_link {
  margin-top: 40px;
}
main .contents .jobs_link.col2 {
  max-width: 620px;
}
.sp main .contents .jobs_link.col2 {
  max-width: 380px;
}
main .contents .jobs_link > div {
  display: flex;
}
.sp main .contents .jobs_link > div {
  display: block;
}
main .contents .jobs_link > div > a {
  display: block;
  color: #000;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
main .contents .jobs_link > div > a:hover {
  opacity: 0.7;
}
main .contents .jobs_link > div > a + a {
  margin-left: 20px;
}
.sp main .contents .jobs_link > div > a + a {
  margin: 30px 0 0 0;
}
main .contents .jobs_link .title {
  margin-bottom: 10px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
  font-weight: bold;
}
main .contents .rerated_link {
  margin-top: 120px;
}
.sp main .contents .rerated_link {
  margin-top: 60px;
}
main .contents .rerated_link a {
  color: #000;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
main .contents .rerated_link a:hover {
  opacity: 0.7;
}
main .contents .rerated_link .text {
  margin-top: 10px;
}

ul.anchor {
  letter-spacing: -1rem;
}
ul.anchor li {
  position: relative;
  display: inline-block;
  margin-top: 10px;
  margin-right: 20px;
  padding: 0;
  letter-spacing: normal;
}
ul.anchor li a {
  position: relative;
  padding-right: 1.6rem;
  color: #99714B;
  position: relative;
  display: inline-block;
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
}
ul.anchor li a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.25em;
  left: 0px;
  width: 100%;
  height: 1px;
  background: #99714B;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: scale(0);
  transform: scale(0);
}
ul.anchor li a:hover:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}
ul.anchor li a:before {
  display: none;
}
ul.anchor li a:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  width: 1.5rem;
  height: 1rem;
  top: 0;
  background: url(../images/arrow_anchor.svg) no-repeat center center;
  background-size: contain;
  transition: all .3s;
}
* + ul.anchor {
  margin-top: 10px;
}
ul.anchor.yearly {
  margin-top: 10px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 16.8px;
  line-height: 1.05rem;
}
ul.anchor.yearly li.ac {
  font-weight: bold;
}
ul.anchor.center {
  text-align: center;
}
ul.anchor.left {
  text-align: left;
}

.button {
  display: flex;
  flex-flow: row wrap;
  margin: 40px 0 -20px -20px;
}
.button.center {
  justify-content: center;
}
.button.column {
  margin-bottom: -20px;
}
.button.right {
  text-align: right;
  justify-content: flex-end;
}
.button.left {
  text-align: left;
  justify-content: flex-start;
}
.sp .button {
  margin: 10px 0 -10px -10px;
}
.sp .button.sp_center {
  justify-content: center;
}
.sp .button.column {
  width: auto;
}
.button.column a {
  min-width: 0;
}
.button.column.min9 > * {
  min-width: calc((100% - 20px * 9 - 4px) / 9);
}
.button.col5.spcol1 > *:nth-of-type(5n+1) {
  clear: both;
}
.button a, .button button, .button span {
  position: relative;
  display: inline-block;
  min-width: 200px;
  padding: 12px 15px;
  margin: 0 0 20px 20px;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  font-size: 1rem;
  line-height: 17.6px;
  line-height: 1.1rem;
  outline: none;
  z-index: 2;
  background: #231815;
  color: #ffffff;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
.button a:hover, .button button:hover, .button span:hover {
  opacity: 0.7;
}
.sp .button a, .sp .button button, .sp .button span {
  margin: 0 0 10px 10px;
}
.button a.wide, .button button.wide, .button span.wide {
  width: 100%;
}
.button.pdf a {
  padding-right: 20px !important;
}
.button.pdf a::before {
  display: none;
}
.button.pdf a span::after {
  content: "";
  position: relative;
  top: -2px;
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle;
  width: 18px;
  height: 20px;
  background: url(../images/ico_pdf.png) no-repeat;
  background-size: 18px 20px;
}
.button.none span {
  display: block;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  outline: none;
  position: relative;
  z-index: 2;
  background-color: #98A6B5;
  color: #fff;
  overflow: hidden;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  background-color: #ececec;
  height: 46px;
  letter-spacing: normal;
  text-align: left;
}
.button.icon a {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 16.5px;
  line-height: 1.03125rem;
  padding: 12px 2px 12px 2px;
}
.sp .button.icon a {
  min-width: 100px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 13.2px;
  line-height: 0.825rem;
}
.button.icon a img {
  margin-bottom: 5px;
}
.sp .button.icon a img {
  width: 60px;
}
.button .pdf:after {
  content: "";
  position: relative;
  display: inline-block;
  width: 18px;
  height: 20px;
  top: -1px;
  margin: 0px 5px;
  padding: 0px !important;
  vertical-align: middle;
  overflow: hidden;
  background: url(../images/newsico_pdf_w.svg) no-repeat !important;
  background-size: 18px 20px !important;
}
.button .pdf a {
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
.button .pdf a:hover {
  opacity: 0.7;
}
.button .pdf a:before {
  display: none;
}
.button .blank:after {
  content: "";
  position: relative;
  display: inline-block;
  width: 18px;
  height: 20px;
  top: -1px;
  margin: 0px 5px;
  padding: 0px !important;
  vertical-align: middle;
  overflow: hidden;
  background: url(../images/newsico_blank_w.svg) no-repeat !important;
  background-size: 18px 20px !important;
}
.button .blank a {
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
.button .blank a:hover {
  opacity: 0.7;
}
.button .blank a:before {
  display: none;
}
.button.no_action a:hover::before {
  opacity: 0;
}
.button.no_action a:hover::after {
  width: 0;
}
.sp .button.sp_sausage {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  letter-spacing: -1rem;
  white-space: nowrap;
}
.sp .button.sp_sausage::-webkit-scrollbar {
  height: 8px;
}
.sp .button.sp_sausage::-webkit-scrollbar-track {
  border-radius: 6px;
  background: #eee;
}
.sp .button.sp_sausage::-webkit-scrollbar-thumb {
  border-radius: 6px;
  background: #666;
}
.sp .button.sp_sausage > * {
  letter-spacing: normal;
  display: inline-block;
  min-width: 130px;
  width: auto !important;
}
.button.selects a:before {
  display: none;
}
.button.selects a.on:after {
  width: 100%;
}

main .contents .text .pdf:after, main .contents .table .pdf:after {
  content: "";
  position: relative;
  display: inline-block;
  width: 18px;
  height: 20px;
  top: -1px;
  margin: 0px 5px;
  padding: 0px !important;
  background: url(../images/ico_pdf.png) no-repeat;
  background-size: 18px 20px;
  vertical-align: middle;
  overflow: hidden;
}
main .contents .text .pdf a, main .contents .table .pdf a {
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
main .contents .text .pdf a:hover, main .contents .table .pdf a:hover {
  opacity: 0.7;
}
main .contents .text .pdf a:before, main .contents .table .pdf a:before {
  display: none;
}
main .contents .text .blank:after, main .contents .table .blank:after {
  content: "";
  position: relative;
  display: inline-block;
  width: 18px;
  height: 20px;
  top: -1px;
  margin: 0px 5px;
  padding: 0px !important;
  background: url(../images/ico_blank.svg) no-repeat;
  background-size: 18px 20px;
  vertical-align: middle;
  overflow: hidden;
}
main .contents .text .blank a, main .contents .table .blank a {
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
main .contents .text .blank a:hover, main .contents .table .blank a:hover {
  opacity: 0.7;
}
main .contents .text .blank a:before, main .contents .table .blank a:before {
  display: none;
}

* + p {
  margin-top: 20px;
}

.bg_gray {
  background: #F0F3F5;
}

.youtube {
  max-width: 640px;
  margin: auto;
}
.youtube > div {
  position: relative;
  padding-top: 56.25%;
}
.youtube > div + div {
  margin-top: 20px;
}
.youtube > div > iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
}
.youtube p {
  margin: auto;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 18.2px;
  line-height: 1.1375rem;
}
* + .youtube p {
  margin-top: 8px;
}

.member_profile {
  position: relative;
  height: 35vw;
  max-height: 580px;
}
.sp .member_profile {
  height: auto;
}
.member_profile > .image {
  position: absolute;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.sp .member_profile > .image {
  background-position: top right 30%;
}
.member_profile#member01 > .image {
  background-image: url(../../member/images/member01_bg.jpg);
}
.member_profile#member01_02 > .image {
  background-image: url(../../member/images/member01_02_bg.jpg);
}
.member_profile#member02 > .image {
  background-image: url(../../member/images/member02_bg.jpg);
}
.member_profile#member03 > .image {
  background-image: url(../../member/images/member03_bg.jpg);
}
.member_profile#member03_02 > .image {
  background-image: url(../../member/images/member03_02_bg.jpg);
}
.member_profile#member04 > .image {
  background-image: url(../../member/images/member04_bg.jpg);
}
.member_profile > .left {
  position: relative;
  width: 50%;
  height: 100%;
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.7);
  z-index: 10;
}
.member_profile > .left:after {
  content: "";
  position: absolute;
  display: block;
  width: 17rem;
  padding-top: 17rem;
  bottom: -4%;
  left: -10%;
  background: url(../images/bg_logo.png) no-repeat;
  background-size: 100% auto;
  opacity: 0.4;
}
.sp .member_profile > .left:after {
  opacity: 0.2;
  bottom: -35%;
}
.member_profile > .left .text {
  width: 580px;
  padding: 20px;
  margin: 0 0 0 auto;
}
.sp .member_profile > .left .text {
  width: 100%;
  padding: 10px;
}
.member_profile > .left .text .lead {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 61.2px;
  line-height: 3.825rem;
  color: #fff;
  font-weight: bold;
}
.sp .member_profile > .left .text .lead {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 34px;
  line-height: 2.125rem;
}
.member_profile > .left .text .info {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 34px;
  line-height: 2.125rem;
  color: #fff;
  font-weight: bold;
}
.sp .member_profile > .left .text .info {
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
}
.member_profile > .left .text .info::before {
  content: "";
  display: block;
  width: 60px;
  height: 6px;
  margin: 40px 0;
  background: #fff;
}
.sp .member_profile > .left .text .info::before {
  margin: 20px 0;
}

.member_head {
  position: relative;
  padding-bottom: 150px;
}
.tablet .member_head {
  padding-bottom: 80px;
}
.sp .member_head {
  padding-bottom: 40px;
}
.member_head::before {
  content: "";
  position: absolute;
  width: 100%;
  height: calc(100% - 80px);
  left: 0;
  bottom: 0;
  background: #99714B;
}
.sp .member_head::before {
  height: 100%;
}
.member_head > div {
  position: relative;
  padding-left: max(calc((100% - 1280px) / 2), 20px);
  display: flex;
  gap: 80px;
}
.sp .member_head > div {
  flex-direction: column;
  gap: 30px;
  padding: 40px 10px;
}
.member_head > div .tx {
  width: calc(100% - 56% - 80px);
  padding-top: 230px;
  color: #fff;
}
.sp .member_head > div .tx {
  width: auto;
  padding-top: 0;
}
.member_head > div .tx .ttl {
  position: relative;
  font-size: 42px;
  font-size: 2.625rem;
  line-height: 63px;
  line-height: 3.9375rem;
  font-weight: bold;
  padding-bottom: 50px;
}
.sp .member_head > div .tx .ttl {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 36px;
  line-height: 2.25rem;
  padding-bottom: 30px;
}
.member_head > div .tx .ttl::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 8px;
  background: #fff;
  left: 0;
  bottom: 0;
}
.sp .member_head > div .tx .ttl::before {
  height: 4px;
}
.member_head > div .tx .name {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 36px;
  line-height: 2.25rem;
  margin-top: 40px;
  font-weight: bold;
}
.sp .member_head > div .tx .name {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 27px;
  line-height: 1.6875rem;
  margin-top: 20px;
}
.member_head > div .tx p {
  line-height: 1.7;
  margin-top: 40px;
}
.sp .member_head > div .tx p {
  margin-top: 20px;
}
.member_head > div .img {
  width: 56%;
}
.sp .member_head > div .img {
  width: auto;
}
.member_head > div .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sp .member_head > div .img img {
  object-fit: fill;
}

.wideimg_col {
  padding-right: max(calc((100% - 1280px) / 2), 20px);
  display: flex;
  gap: 80px;
}
.sp .wideimg_col {
  flex-direction: column;
  flex-flow: column-reverse;
  padding: 20px 10px;
  gap: 30px;
}
.wideimg_col.reverse {
  flex-flow: row-reverse;
  padding-right: 0;
  padding-left: max(calc((100% - 1280px) / 2), 20px);
}
.sp .wideimg_col.reverse {
  padding: 20px 10px;
  flex-flow: column-reverse;
}
.wideimg_col .img {
  width: 56%;
}
.sp .wideimg_col .img {
  width: 100%;
}
.wideimg_col .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sp .wideimg_col .img img {
  object-fit: fill;
}
.wideimg_col .tx {
  width: calc(100% - 56% - 80px);
}
.sp .wideimg_col .tx {
  width: 100%;
}
.wideimg_col .tx p {
  line-height: 1.7;
}

p.strong {
  font-weight: bold;
}
.sp p.strong.center {
  text-align: left !important;
}

.member_schedule {
  background-color: #F1EAE4;
  padding: 80px;
}
.pc .member_schedule {
  padding: 60px;
}
.sp .member_schedule {
  padding: 20px;
}
.member_schedule .ttl {
  font-size: 32px;
  font-weight: bold;
}
.sp .member_schedule .ttl {
  font-size: 22px;
}
.member_schedule .schedule_box {
  position: relative;
  margin-top: 60px;
  font-size: 24px;
  line-height: 1.5;
}
.sp .member_schedule .schedule_box {
  font-size: 15px;
  margin-top: 30px;
}
.member_schedule .schedule_box::before {
  content: "";
  position: absolute;
  width: 1px;
  height: calc(100% - 30px);
  background: #99714B;
  left: 110px;
  top: 50%;
  transform: translateY(-50%);
}
.sp .member_schedule .schedule_box::before {
  left: 70px;
}
.member_schedule .schedule_box .item {
  display: flex;
}
.member_schedule .schedule_box .item + .item {
  margin-top: 60px;
}
.sp .member_schedule .schedule_box .item + .item {
  margin-top: 30px;
}
.member_schedule .schedule_box .item .time {
  position: relative;
  width: 110px;
}
.sp .member_schedule .schedule_box .item .time {
  width: 70px;
}
.member_schedule .schedule_box .item .time::before, .member_schedule .schedule_box .item .time::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  right: -13px;
  top: 7px;
  background: #99714B;
  z-index: 1;
}
.sp .member_schedule .schedule_box .item .time::before, .sp .member_schedule .schedule_box .item .time::after {
  top: 0px;
}
.member_schedule .schedule_box .item .time::after {
  width: 12px;
  height: 12px;
  background: #fff;
  top: 13px;
  right: -7px;
  z-index: 2;
}
.sp .member_schedule .schedule_box .item .time::after {
  top: 6px;
}
.member_schedule .schedule_box .item .tx {
  width: calc(100% - 110px);
  padding-left: 50px;
}
.sp .member_schedule .schedule_box .item .tx {
  width: calc(100% - 70px);
  padding-left: 30px;
}
.member_schedule .schedule_box .item .tx span.s {
  display: block;
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.5;
}
.sp .member_schedule .schedule_box .item .tx span.s {
  font-size: 11px;
  margin-top: 15px;
}

.accordion {
  padding: 40px;
  background: #F4F0EC;
}
.sp .accordion {
  padding: 20px;
}
* + .accordion {
  margin-top: 40px;
}
.sp * + .accordion {
  margin-top: 20px;
}
.accordion .title {
  display: flex;
  align-items: center;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 31.2px;
  line-height: 1.95rem;
  font-weight: bold;
  cursor: pointer;
}
.sp .accordion .title {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 26px;
  line-height: 1.625rem;
}
.accordion .title span:first-child {
  width: calc(100% - 60px);
}
.accordion .title .btn {
  position: relative;
  width: 50px;
  height: 50px;
  margin-left: 10px;
  background: #231815;
}
.accordion .title .btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
}
.accordion .title .btn::before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 30px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  opacity: 1;
  transition: 0.3s;
}
.accordion.open .btn::before {
  opacity: 0;
}
.accordion .inner {
  display: none;
  margin-top: 20px;
}
.accordion .inner dl {
  display: flex;
  flex-wrap: wrap;
}
.accordion .inner dl dt {
  width: 7rem;
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1px solid #231815;
  font-size: 16px;
  font-size: 1rem;
  line-height: 32px;
  line-height: 2rem;
  font-weight: bold;
}
.sp .accordion .inner dl dt {
  width: 100%;
}
.accordion .inner dl dt:nth-of-type(1) {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}
.accordion .inner dl dd {
  width: calc(100% - 7rem);
  padding-top: 30px;
  margin: 30px 0 0 0;
  border-top: 1px solid #231815;
  font-size: 16px;
  font-size: 1rem;
  line-height: 32px;
  line-height: 2rem;
}
.sp .accordion .inner dl dd {
  width: 100%;
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}
.accordion .inner dl dd:nth-of-type(1) {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}

.background.schedule {
  margin-top: -40px;
}
.sp .background.schedule {
  margin-top: -20px;
}
.background.schedule > div:nth-of-type(2n+1) {
  background: #F1EAE4;
}
.background.schedule > div:nth-of-type(2n) {
  background: #FAF8F6;
}
.background.schedule > div:first-child > div::before {
  height: calc(100% - 20px - 0.5rem);
  top: calc(20px + 0.5rem);
}
.background.schedule > div:last-child > div::before {
  height: calc(20px + 0.5rem);
  top: 0;
}
.background.schedule > div:first-child > div::after {
  height: calc(100% - 20px - 0.5rem);
  top: calc(20px + 0.5rem);
}
.background.schedule > div:last-child > div::after {
  height: calc(20px + 0.5rem);
  top: 0;
}
.background.schedule > div > div {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: auto;
  padding: 0px 20px;
  padding: 20px;
  display: flex;
}
.sp .background.schedule > div > div {
  padding: 0px 10px;
}
.sp .background.schedule > div > div {
  display: block;
  padding: 20px;
}
.background.schedule > div > div::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 100%;
  left: calc(20px + 0.4rem);
  top: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.1);
}
.background.schedule > div > div::after {
  content: "";
  display: block;
  position: absolute;
  width: 0.2rem;
  height: 100%;
  left: calc(20px + 0.4rem);
  top: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.1);
}
.background.schedule > div > div span {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
}
.background.schedule > div > div span.time {
  position: relative;
  width: 12rem;
  padding-left: 2rem;
  font-weight: bold;
  z-index: 1;
}
.sp .background.schedule > div > div span.time {
  width: auto;
}
.background.schedule > div > div span.time::before {
  content: "";
  display: block;
  position: absolute;
  width: 1rem;
  height: 1rem;
  top: 0.3rem;
  left: 0;
  background: #99714B;
  border-radius: 50%;
}
.background.schedule > div > div span.text {
  margin: 0;
  width: calc(100% - 12rem);
}
.sp .background.schedule > div > div span.text {
  padding-left: 2rem;
  width: auto;
}

.memberlist {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.sp .memberlist {
  gap: 20px 10px;
}
.memberlist > a {
  position: relative;
  display: block;
  width: calc((100% - 120px) / 4);
  color: #000;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
.memberlist > a:hover {
  opacity: 0.7;
}
.pc .memberlist > a {
  width: calc((100% - 80px) / 3);
}
.sp .memberlist > a {
  width: calc((100% - 10px) / 2);
}
.memberlist > a .tx {
  margin-top: 15px;
}
.memberlist > a.ac {
  pointer-events: none;
}
.memberlist > a.ac .img {
  position: relative;
}
.memberlist > a.ac .img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: #707070;
  opacity: 0.8;
  mix-blend-mode: multiply;
  z-index: 10;
}

.slide {
  position: relative;
}
.slide p {
  text-align: center;
}
.slide .prev {
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 3.3rem;
  cursor: pointer;
  z-index: 100;
}
.slide .prev::before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 2rem;
  top: 1.3rem;
  left: 1.2rem;
  background: #fff;
  transform: rotate(-45deg);
}
.slide .prev::after {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 2rem;
  top: 0;
  left: 1.2rem;
  background: #fff;
  transform: rotate(45deg);
}
.slide .next {
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 3.3rem;
  cursor: pointer;
}
.slide .next::before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 2rem;
  top: 0;
  left: 1.2rem;
  background: #fff;
  transform: rotate(-45deg);
}
.slide .next::after {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 2rem;
  top: 1.3rem;
  left: 1.2rem;
  background: #fff;
  transform: rotate(45deg);
}

.anchor_button {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
}
.sp .anchor_button {
  gap: 20px;
}
.anchor_button > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((100% - 120px) / 4);
  padding: 20px;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 26px;
  line-height: 1.625rem;
  font-weight: bold;
  color: #000;
}
.anchor_button > a:nth-of-type(1) {
  border: 1px solid #008C9A;
}
.anchor_button > a:nth-of-type(2) {
  border: 1px solid #2A895D;
}
.anchor_button > a:nth-of-type(3) {
  border: 1px solid #AB3A20;
}
.anchor_button > a:nth-of-type(4) {
  border: 1px solid #F1962E;
}
.sp .anchor_button > a {
  width: calc((100% - 20px) / 2);
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 22.1px;
  line-height: 1.38125rem;
}
.anchor_button > a span {
  padding-bottom: 20px;
  position: relative;
}
.anchor_button > a span::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: calc(50% - 7px);
  transform: translateY(-25%) rotate(135deg);
  width: 10px;
  height: 10px;
  border: 2px solid #000;
  border-left: 0;
  border-bottom: 0;
}

.column.welfare_graph > div {
  border: 14px solid #f5f0ec;
}
.column.welfare_graph > div .title {
  padding: 20px 20px 0;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 26px;
  line-height: 1.625rem;
  font-weight: bold;
  text-align: center;
}
.column.welfare_graph > div .tx {
  padding: 0 20px 20px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 23.8px;
  line-height: 1.4875rem;
}

main .contents .office_box {
  position: relative;
  padding-top: 40px;
  min-height: 440px;
}
.pc main .contents .office_box {
  min-height: 35.5vw;
}
.sp main .contents .office_box {
  padding-top: 0;
  min-height: 0;
}
main .contents .office_box > .image {
  position: absolute;
  max-width: 920px;
  width: 78%;
  top: 0;
  left: 0;
  z-index: -1;
}
.sp main .contents .office_box > .image {
  position: relative;
  width: 100%;
}
main .contents .office_box > .text {
  position: relative;
  margin-top: 0 !important;
  margin-right: 0 !important;
  width: 440px;
  padding: 10px 30px 50px 30px;
  background: #231815;
  z-index: 2;
}
.pc main .contents .office_box > .text {
  width: 37.2vw;
}
.sp main .contents .office_box > .text {
  width: 100%;
}
main .contents .office_box > .text p {
  color: #fff;
}
main .contents .office_box > .text p.title {
  margin-top: 0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 28.8px;
  line-height: 1.8rem;
  text-align: left;
}
main .contents .office_box > .text p.title span {
  display: block;
  margin-bottom: -5px;
  font-family: "Inter", sans-serif;
  font-size: 60px;
  font-size: 3.75rem;
  line-height: 60px;
  line-height: 3.75rem;
  font-weight: bold;
}
main .contents .office_box.reverse > .image {
  left: auto;
  right: 0;
}
main .contents .office_box.reverse > .text {
  margin-left: 0 !important;
  margin-right: auto;
}
main .contents .office_box + .office_box {
  margin-top: 60px;
}
.sp main .contents .office_box + .office_box {
  margin-top: 20px;
}

.imagebox.quality .text {
  position: relative;
  padding-bottom: 50px;
}
.imagebox.quality .text .title {
  margin-top: 0;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 43.2px;
  line-height: 2.7rem;
  text-align: left;
}
.imagebox.quality .text .title span {
  display: block;
  margin-bottom: 20px;
  font-size: 80px;
  font-size: 5rem;
  line-height: 80px;
  line-height: 5rem;
  font-weight: bold;
  color: #99714B;
  font-family: "Inter", sans-serif;
}
.imagebox.quality .text .number {
  position: absolute;
  bottom: 2rem;
  left: 0;
  font-size: 180px;
  font-size: 11.25rem;
  line-height: 180px;
  line-height: 11.25rem;
  color: #ACA5A5;
  font-weight: bold;
  font-family: "Inter", sans-serif;
  opacity: 0.2;
}
.sp .imagebox.quality .text .number {
  right: 0;
  left: auto;
}
.imagebox.quality.reverse .text .number {
  right: 0;
  left: auto;
}

main .contents .text p.about_lead {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 39.6px;
  line-height: 2.475rem;
  color: #99714B;
  font-weight: bold;
}
.sp main .contents .text p.about_lead {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 32.4px;
  line-height: 2.025rem;
}

.stack {
  margin-top: 0px !important;
}

.block {
  margin-top: 40px !important;
}
.sp .block {
  margin-top: 30px !important;
}

.section {
  margin-top: 80px !important;
}
.sp .section {
  margin-top: 60px !important;
}

.paragraph {
  margin-top: 20px !important;
}

.halfparagraph {
  margin-top: 7px !important;
}

.loading * {
  -webkit-transition: 0ms !important;
  transition: 0ms !important;
}

header {
  display: flex;
  position: fixed;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 80px;
  padding-left: 20px;
  z-index: 100;
  background: #fff;
}
.sp header {
  height: 70px;
  padding: 20px 0px 20px 10px;
}
header a {
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
header a:hover {
  opacity: 0.7;
}
.sp header .logo {
  width: 100%;
  max-width: calc(100% - 114px);
}
header .logo a {
  display: flex;
  align-items: center;
  width: 100%;
}
.bp1 header .logo a {
  display: block;
}
.sp header .logo a {
  display: flex;
}
header .logo a .image {
  position: relative;
  width: 240px;
}
.bp1 header .logo a .image {
  width: 160px;
  height: 43px;
}
.sp header .logo a .image {
  width: 210px;
  height: auto;
}
header .logo a .image img {
  max-width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
header .logo a > span {
  display: block;
  margin-left: 20px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 23.4px;
  line-height: 1.4625rem;
  color: #000;
}
.bp1 header .logo a > span {
  text-align: right;
  margin-left: 0;
  font-size: 16px;
  line-height: 1.3;
  margin-top: 5px;
}
.bp1 header .logo a > span br {
  display: none;
}
.sp header .logo a > span {
  text-align: left;
  margin-left: 20px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 18.2px;
  line-height: 1.1375rem;
}
header #globalnavi {
  margin-right: 20px;
}
.tablet header #globalnavi {
  display: none;
}
header #globalnavi > ul {
  display: flex;
  height: 50px;
}
header #globalnavi > ul > li {
  position: relative;
  display: flex;
  font-size: 16px;
  font-size: 1rem;
  line-height: 17.6px;
  line-height: 1.1rem;
}
header #globalnavi > ul > li > a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3px 20px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 19.8px;
  line-height: 1.2375rem;
  color: #000;
  font-weight: 500;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
header #globalnavi > ul > li > a:hover {
  opacity: 0.7;
}
.bp2 header #globalnavi > ul > li > a {
  padding: 3px 15px;
}
header #globalnavi > ul > li > a span {
  display: block;
  padding: 3px 20px;
}
.pc header #globalnavi > ul > li > a span {
  padding: 3px 10px;
}
header #globalnavi > ul > li > a:hover {
  opacity: 1 !important;
}
header .right {
  display: flex;
  align-items: center;
  height: 100%;
  right: 0;
  top: 0;
}
.tablet header .right {
  background: rgba(255, 255, 255, 0.3);
}
.sp header .right {
  height: 70px;
}
header .right .entry {
  width: 240px;
  height: 80px;
  background: #231815;
}
.bp2 header .right .entry {
  width: 180px;
}
.tablet header .right .entry {
  display: none;
}
.sp header .right .entry {
  display: none;
  width: 30vw;
  height: 80px;
  max-width: 160px;
}
header .right .entry a {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  color: #fff;
  background: #231815;
}
header .right .entry a span {
  margin: auto;
}
header .right .menu {
  position: relative;
  display: none;
  margin: 0 30px;
  width: 34px;
  height: 28px;
  z-index: 600;
  cursor: pointer;
}
.tablet header .right .menu {
  display: block;
}
header .right .menu a {
  display: block;
  width: 34px;
  height: 28px;
}
header .right .menu span {
  position: absolute;
  width: 34px;
  height: 4px;
  left: 0;
  background-color: #000;
  transition: all .4s;
}
header .right .menu span:nth-of-type(1) {
  top: 0px;
}
header .right .menu span:nth-of-type(2) {
  top: 12px;
}
header .right .menu span:nth-of-type(3) {
  bottom: 0px;
}
.sp header .right .menu span {
  background: #000;
}
header .right .menu.open span:nth-of-type(1) {
  -webkit-transform: translateY(12px) rotate(-45deg);
  -moz-transform: translateY(12px) rotate(-45deg);
  -ms-transform: translateY(12px) rotate(-45deg);
  transform: translateY(12px) rotate(-45deg);
}
header .right .menu.open span:nth-of-type(2) {
  opacity: 0;
}
header .right .menu.open span:nth-of-type(3) {
  -webkit-transform: translateY(-12px) rotate(45deg);
  -moz-transform: translateY(-12px) rotate(45deg);
  -ms-transform: translateY(-12px) rotate(45deg);
  transform: translateY(-12px) rotate(45deg);
}

#fullmenu {
  position: fixed;
  width: 100%;
  max-height: 100%;
  top: -100%;
  left: 0;
  background: rgba(35, 24, 21, 0.9);
  transition: 0.5s;
  z-index: -1;
  overflow-y: auto;
}
.fullmenuopen #fullmenu {
  top: 0;
  z-index: 600;
}
#fullmenu > div {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: auto;
  padding: 0px 20px;
  padding: 120px 20px 45px 20px;
}
.sp #fullmenu > div {
  padding: 0px 10px;
}
.sp #fullmenu > div {
  padding: 70px 10px 45px 10px;
}
#fullmenu > div > ul {
  margin-top: 20px;
}
#fullmenu > div > ul > li {
  display: flex;
}
#fullmenu > div > ul > li > a {
  width: 10rem;
  padding: 5px 0;
  color: #fff;
  position: relative;
  display: inline-block;
  align-self: flex-start;
}
#fullmenu > div > ul > li > a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.25em;
  left: 0px;
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: scale(0);
  transform: scale(0);
}
#fullmenu > div > ul > li > a:hover:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}
#fullmenu > div > ul > li > span {
  width: 10rem;
  padding: 5px 0;
  color: #fff;
  align-self: flex-start;
}
#fullmenu > div > ul > li + li {
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 2px solid #707070;
}
#fullmenu > div > ul > li > ul {
  width: calc(100% - 10rem);
  padding-left: 20px;
}
#fullmenu > div > ul > li > ul > li + li {
  margin-top: 1rem;
}
#fullmenu > div > ul > li > ul > li > a {
  padding: 5px 0;
  min-width: 10rem;
  color: #fff;
  position: relative;
  display: inline-block;
}
#fullmenu > div > ul > li > ul > li > a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.25em;
  left: 0px;
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: scale(0);
  transform: scale(0);
}
#fullmenu > div > ul > li > ul > li > a:hover:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}
#fullmenu .close {
  position: fixed;
  margin: 0 30px;
  width: 34px;
  height: 28px;
  padding: 0 !important;
  top: 45px;
  right: 0;
  z-index: 600;
  cursor: pointer;
  transition: 0.5s;
}
.sp #fullmenu .close {
  top: 20px;
}
#fullmenu .close a {
  display: block;
  width: 34px;
  height: 28px;
}
#fullmenu .close span {
  position: absolute;
  width: 34px;
  height: 4px;
  left: 0;
  background-color: #fff;
  transition: all .4s;
}
#fullmenu .close span:nth-of-type(1) {
  top: 0px;
  -webkit-transform: translateY(12px) rotate(-45deg);
  -moz-transform: translateY(12px) rotate(-45deg);
  -ms-transform: translateY(12px) rotate(-45deg);
  transform: translateY(12px) rotate(-45deg);
}
#fullmenu .close span:nth-of-type(2) {
  top: 12px;
  opacity: 0;
}
#fullmenu .close span:nth-of-type(3) {
  bottom: 0px;
  -webkit-transform: translateY(-12px) rotate(45deg);
  -moz-transform: translateY(-12px) rotate(45deg);
  -ms-transform: translateY(-12px) rotate(45deg);
  transform: translateY(-12px) rotate(45deg);
}
#fullmenu .entry a {
  display: block;
  margin: 20px auto 0;
  padding: 10px;
  max-width: 200px;
  text-align: center;
  color: #000;
  background: #fff;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
  /*
  span::after{
  	content: "";
  	position: relative;
  	display: inline-block;
  	width: 18px;
  	height: 20px;
  	top: -1px;
  	margin: 0px 5px;
  	padding: 0px !important;
  	background: url(../images/ico_blank.svg) no-repeat;
  	background-size: 18px 20px;
  	vertical-align: middle;
  	overflow: hidden;
  }
  */
}
#fullmenu .entry a:hover {
  opacity: 0.7;
}

#megamenu {
  position: fixed;
  left: 0;
  top: 80px;
  width: 100%;
  z-index: 10000;
  overflow: hidden;
}
#megamenu > div {
  display: none;
  background: #F3F3F3;
}
#megamenu > div > div {
  width: 100%;
  max-width: 1280px;
  padding: 80px 20px;
  margin: 0 auto;
}
#megamenu > div > div .ttl {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 24px;
  line-height: 1.5rem;
  font-weight: bold;
}
#megamenu > div > div ul {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 40px;
}
#megamenu > div > div ul li {
  width: calc((100% - 120px) / 4);
}
#megamenu > div > div ul li a {
  display: block;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
  color: #000;
}
#megamenu > div > div ul li a:hover {
  opacity: 0.7;
}
#megamenu > div > div ul li a img {
  width: 100%;
}
#megamenu > div > div ul li a span {
  display: block;
  margin-top: 15px;
}
#megamenu > div .close {
  display: block;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
  position: absolute;
  right: 20px;
  top: 20px;
  width: 60px;
  height: 60px;
  cursor: pointer;
  border: none;
  background: none;
}
#megamenu > div .close:hover {
  opacity: 0.7;
}
#megamenu > div .close::before, #megamenu > div .close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 100%;
  background-color: #000;
}
#megamenu > div .close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#megamenu > div .close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

#mainvisual {
  aspect-ratio: 1920 / 1171;
  position: relative;
  margin-top: 80px;
}
.tablet #mainvisual {
  aspect-ratio: 398 / 592;
  margin-top: 70px;
}
#mainvisual .image img {
  position: absolute;
  display: none;
  overflow: hidden;
}
#mainvisual .image img.mv01 {
  width: 47.2%;
  left: 38.6%;
  top: 0;
  z-index: 1;
}
#mainvisual .image img.mv02 {
  width: 21.0%;
  left: 21.3%;
  top: 75.3%;
  z-index: 5;
}
#mainvisual .image img.mv03 {
  width: 23.2%;
  left: 76.7%;
  top: 46.2%;
  z-index: 5;
}
#mainvisual .image img.mv04 {
  width: 34.5%;
  left: 0;
  top: 38.4%;
  z-index: 2;
}
#mainvisual .image img.mv05 {
  width: 26.0%;
  left: 46.7%;
  top: 61.6%;
  z-index: 2;
}
.tablet #mainvisual .image img.mv01 {
  width: 63.5%;
  left: 36.4%;
  top: 0;
}
.tablet #mainvisual .image img.mv02 {
  width: 46.9%;
  left: 38.1%;
  top: 77.8%;
}
.tablet #mainvisual .image img.mv03 {
  width: 33.1%;
  left: 59.0%;
  top: 35.4%;
}
.tablet #mainvisual .image img.mv04 {
  width: 45.7%;
  left: 6.0%;
  top: 22.6%;
}
.tablet #mainvisual .image img.mv05 {
  width: 50.5%;
  left: 18.0%;
  top: 49.3%;
}

main.home h2 {
  display: flex;
  flex-direction: column;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 28px;
  line-height: 1.75rem;
  font-weight: bold;
  color: #99714B;
  margin: 0;
}
main.home h2::before {
  content: attr(data-en);
  display: block;
  font-size: 70px;
  font-size: 4.375rem;
  line-height: 70px;
  line-height: 4.375rem;
  font-weight: bold;
  color: #000;
  margin-bottom: 40px;
  font-family: "Inter", sans-serif;
}
.sp main.home h2::before {
  font-size: 50px;
  font-size: 3.125rem;
  line-height: 50px;
  line-height: 3.125rem;
}
.xsp main.home h2::before {
  font-size: 50px;
  font-size: 3.125rem;
  line-height: 50px;
  line-height: 3.125rem;
  margin-bottom: 20px;
}
main.home .top_catch > div {
  padding-left: max(calc((100% - 1280px) / 2), 20px);
  padding-top: 80px;
  padding-bottom: 150px;
  display: flex;
  gap: 40px;
}
.tablet main.home .top_catch > div {
  padding-bottom: 80px;
  padding-top: 50px;
}
.sp main.home .top_catch > div {
  padding-top: 30px;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}
main.home .top_catch > div .tx {
  width: 50%;
}
.tablet main.home .top_catch > div .tx {
  width: 100%;
}
main.home .top_catch > div .tx .catch {
  aspect-ratio: 552 / 324;
  max-width: 552px;
}
.tablet main.home .top_catch > div .tx .catch {
  width: 50%;
}
.sp main.home .top_catch > div .tx .catch {
  width: calc(50% + 10px);
}
main.home .top_catch > div .tx .catch .image {
  position: fixed;
  z-index: 100;
  width: min(calc((100% - 20px) / 2), 552px);
  max-width: 552px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: top 1.8s, left 1.8s, transform 1.8s;
}
main.home .top_catch > div .tx .catch .image.start {
  top: 100px;
  left: max(calc((100% - 1280px) / 2), 20px);
  transform: translate(0, 0);
}
main.home .top_catch > div .tx .catch .image.fix {
  position: static;
  transform: translate(0, 0);
  transition: none !important;
  width: 100%;
}
main.home .top_catch > div .tx .catch .image img {
  filter: drop-shadow(0 0 3px white) drop-shadow(0 0 5px rgba(255, 255, 255, 0.8));
}
main.home .top_catch > div .tx .catch + p {
  margin-top: 40px;
}
main.home .top_catch > div .tx p {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 40.8px;
  line-height: 2.55rem;
}
.pc main.home .top_catch > div .tx p {
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 35.7px;
  line-height: 2.23125rem;
}
main.home .top_catch > div .img {
  width: calc(100% - 50% - 40px);
}
.tablet main.home .top_catch > div .img {
  display: none;
}
main.home .top_catch > div .img .img01 {
  padding-right: max(12%, 20px);
}
main.home .top_catch > div .img .img02 {
  margin-top: 80px;
  padding-left: max(30%, 100px);
}
main.home .top_aboutsection {
  position: relative;
  padding-bottom: 150px;
}
.tablet main.home .top_aboutsection {
  padding-bottom: 80px;
}
.sp main.home .top_aboutsection {
  padding-bottom: 60px;
}
main.home .top_aboutsection::after {
  content: "";
  position: absolute;
  width: 100%;
  height: calc(100% - 50px);
  left: 0;
  bottom: 0;
  background: #99714B;
  opacity: 0.1;
  z-index: 0;
}
.sp main.home .top_aboutsection::after {
  height: calc(100% - 30px);
}
.xsp main.home .top_aboutsection::after {
  height: calc(100% - 20px);
}
main.home .top_aboutsection + .top_aboutsection {
  margin-top: 150px;
}
.tablet main.home .top_aboutsection + .top_aboutsection {
  margin-top: 80px;
}
.sp main.home .top_aboutsection + .top_aboutsection {
  margin-top: 60px;
}
main.home .top_aboutsection > div {
  position: relative;
  z-index: 10;
  padding-left: max(calc((100% - 1280px) / 2), 20px);
  display: flex;
  gap: 80px;
}
.pc main.home .top_aboutsection > div {
  gap: 40px;
}
.sp main.home .top_aboutsection > div {
  padding-right: 20px;
  padding-left: 20px;
}
main.home .top_aboutsection > div .tx {
  width: 540px;
}
.pc main.home .top_aboutsection > div .tx {
  width: 400px;
}
.sp main.home .top_aboutsection > div .tx {
  width: 100%;
}
main.home .top_aboutsection > div .tx p {
  margin-top: 40px;
  line-height: 1.7;
}
.xsp main.home .top_aboutsection > div .tx p {
  margin-top: 20px;
}
main.home .top_aboutsection > div .tx ul {
  margin-top: 40px;
  border-top: 1px solid #707070;
}
.xsp main.home .top_aboutsection > div .tx ul {
  margin-top: 20px;
}
main.home .top_aboutsection > div .tx ul li {
  border-bottom: 1px solid #707070;
}
main.home .top_aboutsection > div .tx ul li a {
  position: relative;
  display: block;
  padding: 40px 0;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 22px;
  line-height: 1.375rem;
  font-weight: bold;
  color: #000;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
main.home .top_aboutsection > div .tx ul li a:hover {
  opacity: 0.7;
}
.sp main.home .top_aboutsection > div .tx ul li a {
  padding: 20px 0;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 18px;
  line-height: 1.125rem;
}
main.home .top_aboutsection > div .tx ul li a::after {
  content: "";
  position: absolute;
  width: 9.8px;
  height: 17.0px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/arrow01.svg) no-repeat center/contain;
  transition: 0.3s;
}
main.home .top_aboutsection > div .tx ul li a:hover::after {
  right: 0;
}
main.home .top_aboutsection > div .img {
  width: calc(100% - 540px - 80px);
}
.pc main.home .top_aboutsection > div .img {
  width: calc(100% - 400px - 40px);
}
.sp main.home .top_aboutsection > div .img {
  display: none;
}
main.home .top_aboutsection > div .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main.home .top_aboutsection.reverse > div {
  padding-left: 0;
  padding-right: max(calc((100% - 1280px) / 2), 20px);
  flex-flow: row-reverse;
}
.sp main.home .top_aboutsection.reverse > div {
  padding-left: 20px;
}
main.home .top_people {
  padding: 150px 20px 40px;
}
.tablet main.home .top_people {
  padding-top: 80px;
}
.sp main.home .top_people {
  padding-top: 60px;
}
main.home .top_people > div {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
main.home .top_people > div p {
  margin-top: 40px;
  line-height: 1.7;
}
main.home #people_scroll .slick-slide {
  margin: 0 20px;
}
.sp main.home #people_scroll .slick-slide {
  margin: 0 10px;
}
main.home #people_scroll .slick-slide a {
  position: relative;
  display: block;
  color: #000;
  overflow: hidden;
}
main.home #people_scroll .slick-slide a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50%;
  left: 0;
  bottom: 0;
  background: linear-gradient(to top, #fff, transparent);
  z-index: 1;
}
main.home #people_scroll .slick-slide a:hover img {
  transform: scale(1.1);
}
main.home #people_scroll .slick-slide a img {
  position: relative;
  z-index: 0;
  transition: 0.4s;
}
main.home #people_scroll .slick-slide a .tx {
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 10;
}
main.home #people_scroll .slick-slide a .tx .title {
  display: block;
  font-weight: bold;
}
main.home #people_scroll .slick-slide a .tx .in {
  display: block;
  margin-top: 15px;
}
.sp main.home #people_scroll .slick-slide a .tx .in {
  margin-top: 10px;
}
main.home .bg_img {
  margin-top: 150px;
  height: 400px;
}
.tablet main.home .bg_img {
  height: 200px;
}
.sp main.home .bg_img {
  height: 100px;
}
.tablet main.home .bg_img {
  margin-top: 80px;
}
.sp main.home .bg_img {
  margin-top: 60px;
}
main.home .bg_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main.home .top_culture {
  background: #99714B;
  padding: 0 20px 150px;
}
.tablet main.home .top_culture {
  padding-bottom: 80px;
}
.sp main.home .top_culture {
  padding-bottom: 40px;
}
main.home .top_culture > div {
  width: 100%;
  max-width: 1280px;
  margin: -40px auto 0;
}
.sp main.home .top_culture > div {
  margin-top: -25px;
}
.xsp main.home .top_culture > div {
  margin-top: -18px;
}
main.home .top_culture > div h2 {
  color: #fff;
}
main.home .top_culture > div h2:before {
  color: #fff;
}
main.home .top_culture > div p {
  color: #fff;
  margin-top: 40px;
  line-height: 1.7;
}
.xsp main.home .top_culture > div p {
  margin-top: 20px;
}
main.home .top_culture > div ul {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.sp main.home .top_culture > div ul {
  margin-top: 40px;
  gap: 20px;
}
main.home .top_culture > div ul li {
  width: calc((100% - 80px) / 3);
  aspect-ratio: 400 / 200;
  background: #fff;
}
.tablet main.home .top_culture > div ul li {
  width: calc((100% - 40px) / 2);
  aspect-ratio: 400 / 150;
}
.sp main.home .top_culture > div ul li {
  width: 100%;
  aspect-ratio: auto;
}
main.home .top_culture > div ul li a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  aspect-ratio: 400 / 200;
  background: #fff;
  color: #000;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 18px;
  line-height: 1.125rem;
  font-weight: bold;
  padding-left: 40px;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
main.home .top_culture > div ul li a:hover {
  opacity: 0.7;
}
.tablet main.home .top_culture > div ul li a {
  aspect-ratio: 400 / 150;
}
.sp main.home .top_culture > div ul li a {
  aspect-ratio: auto;
  padding: 20px;
}
main.home .top_culture > div ul li a::before {
  content: attr(data-en);
  display: block;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 40px;
  line-height: 2.5rem;
  font-weight: bold;
  color: #000;
  margin-bottom: 15px;
  font-family: "Inter", sans-serif;
}
main.home .top_culture > div ul li a::after {
  content: "";
  position: absolute;
  width: 9.8px;
  height: 17.0px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/arrow01.svg) no-repeat center/contain;
  transition: 0.3s;
}
main.home .top_culture > div ul li a:hover::after {
  right: 30px;
}
main.home .top_culture > div .crosstalk {
  background: #fff;
  margin-top: 40px;
}
.sp main.home .top_culture > div .crosstalk {
  margin-top: 20px;
}
main.home .top_culture > div .crosstalk a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  aspect-ratio: 1280 / 406;
  background: url(../../images/img06.jpg) no-repeat center/cover;
  color: #000;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 18px;
  line-height: 1.125rem;
  font-weight: bold;
  padding-left: 40px;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
main.home .top_culture > div .crosstalk a:hover {
  opacity: 0.7;
}
.sp main.home .top_culture > div .crosstalk a {
  aspect-ratio: 400 / 150;
  padding-left: 20px;
}
main.home .top_culture > div .crosstalk a::before {
  content: attr(data-en);
  display: block;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 40px;
  line-height: 2.5rem;
  font-weight: bold;
  color: #000;
  margin-bottom: 15px;
  font-family: "Inter", sans-serif;
}
main.home .top_culture > div .crosstalk a::after {
  content: "";
  position: absolute;
  width: 9.8px;
  height: 17.0px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/arrow01.svg) no-repeat center/contain;
  transition: 0.3s;
  z-index: 10;
}
main.home .top_culture > div .crosstalk a:hover::after {
  right: 30px;
}
main.home .top_info > div {
  width: 100%;
  max-width: 1280px;
  padding: 150px 20px 0px;
  margin: 0 auto;
}
.tablet main.home .top_info > div {
  padding-top: 80px;
}
.sp main.home .top_info > div {
  padding-top: 60px;
}
main.home .top_info > div p {
  margin-top: 40px;
  line-height: 1.7;
}
.xsp main.home .top_info > div p {
  margin-top: 20px;
}
main.home .top_info > div ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
  margin-top: 40px;
}
.xsp main.home .top_info > div ul {
  margin-top: 30px;
  gap: 20px;
}
main.home .top_info > div ul li {
  width: calc((100% - 80px) / 3);
}
.sp main.home .top_info > div ul li {
  width: calc((100% - 40px) / 2);
}
.xsp main.home .top_info > div ul li {
  width: calc((100% - 20px) / 2);
}
main.home .top_info > div ul li a {
  position: relative;
  display: block;
  color: #000;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 18px;
  line-height: 1.125rem;
  font-weight: bold;
  padding: 40px 0;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
  border-bottom: 1px solid #707070;
}
main.home .top_info > div ul li a:hover {
  opacity: 0.7;
}
.sp main.home .top_info > div ul li a {
  padding: 20px 0;
}
main.home .top_info > div ul li a::after {
  content: "";
  position: absolute;
  width: 9.8px;
  height: 17.0px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/arrow01.svg) no-repeat center/contain;
  transition: 0.3s;
  z-index: 10;
}
main.home .top_info > div ul li a:hover::after {
  right: 0px;
}

footer {
  margin-top: 140px;
  background: #000000;
}
.tablet footer {
  margin-top: 80px;
}
.sp footer {
  margin-top: 60px;
}
footer > div {
  width: 100%;
  max-width: 1280px;
  padding: 150px 20px 80px;
  margin: 0 auto;
}
.tablet footer > div {
  padding: 80px 20px 60px;
}
.sp footer > div {
  padding: 60px 20px 20px;
}
footer .logo a {
  display: flex;
  gap: 20px;
  align-items: center;
  color: #fff;
}
.sp footer .logo a {
  flex-direction: column;
  align-items: flex-start;
}
footer ul {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 40px;
}
.sp footer ul {
  gap: 20px;
  margin-top: 30px;
}
footer ul li {
  width: calc((100% - 40px) / 2);
  aspect-ratio: 620 / 261;
  background: #fff;
}
.sp footer ul li {
  width: 100%;
  aspect-ratio: auto;
}
footer ul li a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  aspect-ratio: 620 / 261;
  color: #fff;
  background: #99714B;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 20px;
  line-height: 1.25rem;
  font-weight: bold;
  padding-left: 40px;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
footer ul li a:hover {
  opacity: 0.7;
}
.sp footer ul li a {
  aspect-ratio: auto;
  padding: 20px;
}
footer ul li a::before {
  content: attr(data-en);
  display: block;
  font-size: 50px;
  font-size: 3.125rem;
  line-height: 50px;
  line-height: 3.125rem;
  font-weight: bold;
  color: #fff;
  margin-bottom: 15px;
  font-family: "Inter", sans-serif;
}
footer ul li a::after {
  content: "";
  position: absolute;
  width: 9.8px;
  height: 17.0px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/arrow01_w.svg) no-repeat center/contain;
  transition: 0.3s;
  z-index: 10;
}
footer ul li a:hover::after {
  right: 30px;
}
footer .link {
  text-align: right;
  margin-top: 40px;
}
footer .link a {
  position: relative;
  display: inline-block;
  border: 1px solid #fff;
  padding: 20px 0px 20px 30px;
  width: 290px;
  color: #fff;
  text-align: left;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
  transition: 0.3s;
}
footer .link a:hover {
  opacity: 0.7;
}
.xsp footer .link a {
  width: 220px;
  padding: 15px 0px 15px 20px;
}
footer .link a::before {
  content: "";
  position: absolute;
  width: 9.8px;
  height: 17.0px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/arrow01_w.svg) no-repeat center/contain;
  transition: 0.3s;
  z-index: 10;
}
footer .link a::after {
  content: "";
  position: absolute;
  width: 9.8px;
  height: 17.0px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/arrow01.svg) no-repeat center/contain;
  transition: 0.3s;
  z-index: 10;
  opacity: 0;
}
footer .link a:hover {
  background: #fff;
  color: #000;
  opacity: 1;
}
footer .link a:hover::before {
  right: 30px;
  opacity: 0;
}
footer .link a:hover::after {
  right: 30px;
  opacity: 1;
}
footer .copy {
  font-size: 16px;
  font-size: 1rem;
  line-height: 27.2px;
  line-height: 1.7rem;
  color: #fff;
}
.sp footer .copy {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 20.4px;
  line-height: 1.275rem;
}
