@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  word-break: normal;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

body {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-feature-settings: "palt" on, "pkna" on;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

*, :after, :before {
  box-sizing: border-box;
  background-repeat: no-repeat;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
  color:#333;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}
.cl{
  clear: both;
}
.regu{
  font-size: 400;
}
.medi{
  font-weight: 500;
}
.b{
  font-weight: 700;
}
.oh{
  overflow: hidden;
}
details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

a:active, a:hover {
  outline-width: 0;
}
.roboto{
  font-family: "Roboto", sans-serif;
}
.jost{
  font-family: "Jost", sans-serif !important;
}
code, kbd, pre, samp {
  font-family: monospace, monospace;
}
.por{
  position: relative;
}
pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}
.ellipsis{
  overflow: hidden;
  text-overflow: ellipsis;
}
table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -.2rem;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
}


[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  padding: 1rem;
  text-align: center;
}
select::-ms-expand {
  display: none;
}
select option {
    text-align: center;
}
select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

a {
  text-decoration: none;
}

li {
  list-style-type: none;
}
.db{
  display: block;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.scale img{
   height: auto;
  transition: transform 1.5s ease; 
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.scale:hover img{
transform: scale(1.1);
}

.fs10 { font-size: 1rem; }
.fs12 { font-size: 1.2rem; }
.fs13 { font-size: 1.3rem; }
.fs14 { font-size: 1.4rem; }
.fs15 { font-size: 1.5rem; }
.fs16 { font-size: 1.6rem; }
.fs17 { font-size: 1.7rem; }
.fs18 { font-size: 1.8rem; }
.fs19 { font-size: 1.9rem; }
.fs20 { font-size: 2rem; }
.fs21 { font-size: 2.1rem; }
.fs22 { font-size: 2.2rem; }
.fs23 { font-size: 2.3rem; }
.fs24 { font-size: 2.4rem; }
.fs26 { font-size: 2.6rem; }
.fs28 { font-size: 2.8rem; }
.fs29 { font-size: 2.9rem; }
.fs30 { font-size: 3rem; }
.fs31 { font-size: 3.1rem; }
.fs32 { font-size: 3.2rem; }
.fs34 { font-size: 3.4rem; }
.fs36 { font-size: 3.6rem; }
.fs38 { font-size: 3.8rem; }
.fs40 { font-size: 4rem; }
.fs42 { font-size: 4.2rem; }
.fs44 { font-size: 4.4rem; }
.fs45 { font-size: 4.5rem; }
.fs46 { font-size: 4.6rem; }
.fs48 { font-size: 4.8rem; }
.fs50 { font-size: 5rem; }
.fs52 { font-size: 5.2rem; }
.fs54 { font-size: 5.4rem; }
.fs56 { font-size: 5.6rem; }
.fs58 { font-size: 5.8rem; }
.fs60 { font-size: 6rem; }
.fs62 { font-size: 6.2rem; }


.fcBlue{
  color: #0b406b;
}
.fcRblue{
  color: #67acce;
}
.fcWhite{
  color: #fff;
}
.ma{
  margin-left: auto;
  margin-right: auto;
}
.mr15{
  margin-right: 1.5rem;
}
.mt10{
  margin-top: 1rem;
}
.mt15{
  margin-top: 1.5rem;
}
.mt20{
  margin-top: 2rem;
}
.mt30{
  margin-top: 3rem;
}
.mt40{
  margin-top: 4rem;
}
.mt45{
  margin-top: 4.5rem;
}
.mt50{
  margin-top: 5rem;
}
.mt60{
  margin-top: 6rem;
}
.mt70{
  margin-top: 7rem;
}
.mt80{
  margin-top: 8rem;
}
.mt90{
  margin-top: 9rem;
}
.mt100{
  margin-top: 10rem;
}
.mt120{
  margin-top: 12rem;
}

.mt-15{
  margin-top: -1.5rem;
}
.mt-30{
  margin-top: -3rem;
}
.mt-45{
  margin-top: -4.5rem;
}
.mt-60{
  margin-top: -6rem;
}
.mb1em{
  margin-bottom: 1em;
}
.mb10{
  margin-bottom: 1rem;
}
.mb15{
  margin-bottom: 1.5rem;
}
.mb20{
  margin-bottom: 2rem;
}
.mb30{
  margin-bottom: 3rem;
}
.mb40{
  margin-bottom: 4rem;
}
.mb45{
  margin-bottom: 4.5rem;
}
.mb50{
  margin-bottom: 5rem;
}
.mb60{
  margin-bottom: 6rem;
}
.mb70{
  margin-bottom: 7rem;
}
.mb80{
  margin-bottom: 8rem;
}
.mb90{
  margin-bottom: 9rem;
}
.mb100{
  margin-bottom: 10rem;
}
.mb120{
  margin-bottom: 12rem;
}
.p10{
  padding: 1rem;
}
.p15{
  padding: 1.5rem;
}
.p20{
  padding: 2rem;
}
.p30{
  padding: 3rem;
}
.p40{
  padding: 4rem;
}
.p45{
  padding: 4.5rem;
}
.p60{
  padding: 6rem;
}
.h2em{
  height: 2em;
}
.h3em{
  height: 3em;
}
.h4em{
  height: 4em;
}
.h5em{
  height: 5em;
} 
.h6em{
  height: 6em;
} 
.w300{
 max-width: 30rem !important;
}
.w325{
 max-width: 32.5rem !important;
}
.w485{
 max-width: 48.5rem !important;
}

.w545{
 max-width: 54.5rem !important;
}
.w610{
  width: 100%;
   max-width: 61rem;
  margin-left: auto;
  margin-right: auto;
}
.w650{
   max-width: 65rem;
}
.w700{
   max-width: 70rem;
  margin-left: auto;
  margin-right: auto;
}
.w780{
   max-width: 78rem;
  margin-left: auto;
  margin-right: auto;
}
.w960{
   max-width: 96rem;
  margin-left: auto;
  margin-right: auto;
}
.w1050{
   max-width:105rem;
  margin-left: auto;
  margin-right: auto;
}
.w1260{
   max-width: 126rem;
  margin-left: auto;
  margin-right: auto;
}
.fl{
  float: left;
}
.fr{
  float: right;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}
h2{
font-size: min(3.1944444444vw, 4.6rem);
font-family: "Jost", "Noto Sans JP", sans-serif;
 white-space: nowrap;
 line-height: 1;
 margin: 0 auto 4rem;
 letter-spacing:0.12em;
}
h2 span{
  font-weight: 400;
  font-size: min(1.3888888889vw, 2rem);
  display: block;
  margin: auto;
  line-height: 1.6;
  margin: 3rem auto 1.5rem;
  letter-spacing:0.08em;
}
:root {
  --vw: 1vw;
}
th,td{
  text-align: left;
  vertical-align: top;
}
@keyframes slideIn {
  0% {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes zoomIn {
  0% {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}
@keyframes scaleIn {
  0% {
    transform: scale(1.01);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes scaleOut {
  0% {
    transform: scale(1.01);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes slideOut {
  0% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(2rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-2rem);
  }
}
.header {
  position: fixed;
  width: 100%;
  height: 7rem;
  z-index: 96;
}
@media screen and (min-width: 768px) {
  .header {
    height: 10rem;
  }
}
.header_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  width: 100%;
  height: 100%;
  z-index: 97;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.header_content {
  height: 100%;
  position: relative;
  z-index: 99;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2.4rem;
}
@media screen and (min-width: 768px) {
  .header_content {
    padding: 0 6rem;
  }
}
.header_logo {
  max-width: 16rem;
  width: max(12.9166666667vw, 146px);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

  .header_logo img {
    width: 100%;
  }
@media (hover: hover) {
  .header_logo:hover {
    opacity: 0.6;
  }
}
.header_logo--white {
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  filter: invert(88%) sepia(66%) saturate(0%) hue-rotate(262deg) brightness(107%) contrast(101%);
}
.header_hamburger {
  position: relative;
  width: 3.6rem;
  height: 3.6rem;
  cursor: pointer;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .header_hamburger:hover {
    opacity: 0.6;
  }
}

.header_hamburger::before, .header_hamburger::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: #3f3f3f;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  left: 0;
}
.header_hamburger::before {
  top: 1.3rem;
}
.header_hamburger::after {
  top: 2.9rem;
}
.header_hamburger--open::before {
  top:.8rem;
  left: .5rem;
  transform: rotate(36deg);
  transform-origin: left top;
}
.header_hamburger--open::after {
  top: 2.8rem;
  left: .5rem;
  transform: rotate(-36deg);
  transform-origin: left bottom;
}
.header_drawer {
  padding: 7rem 2rem 4.5rem;
  position: fixed;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  overflow: auto;
  top: 0;
  left: 0;
  z-index: 98;
  display: none;
}
@media screen and (min-width: 768px) {
  .header_drawer {
    padding: 10rem 6rem 45px;
  }
}
.header_drawer--open {
  display: block;
}
.header_drawerPrepend {
  content: "";
  display: block;
  width: 100%;
  height: 7rem;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  background: #F2F5F7;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .header_drawerPrepend {
    height: 10rem;
  }
}
.header_drawerPrepend--open {
  animation: fadeIn 0.6s cubic-bezier(0.65, 0, 0.35, 1) 0.4s forwards;
}
.header_drawerDialog {
  opacity: 0;
  will-change: transform, opacity;
  animation: fadeOutUp 0.8s cubic-bezier(0.33, 1, 0.68, 1) 0s forwards;
}
.header_drawerDialog--open {
  animation: scaleIn 0.8s cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
}
.header_drawerBackground {
  transform: translateZ(0);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #F2F5F7;
  backface-visibility: hidden;
  will-change: transform, opacity;
  animation: slideOut 0.6s cubic-bezier(0.65, 0, 0.35, 1) 0.4s forwards;
}
.header_drawerBackground--open {
  animation: slideIn 1s cubic-bezier(0.16, 1, 0.3, 1) 0s forwards;
}
.header_drawerBackground--open a:hover{
  opacity: 0.7;
}
.header--colorChange .header_background {
  background: none;
  -webkit-backdrop-filter: unset;
          backdrop-filter: unset;
}
.header--colorChange .headerNav_link {
  color: #FFF;
}
.header--colorChange .header_hamburger::before, .header--colorChange .header_hamburger::after {
  background: #FFF;
}
.header--colorChange .header_hamburger--open::before, .header--colorChange .header_hamburger--open::after {
  background: #000;
}
.container {
  min-width: 130rem;
  position: relative;
  z-index: 1;
  padding-left: 2rem;
  padding-right: 2rem;  
margin: auto;
clear: both;
overflow: hidden;
}
main.container {
  position: relative;
  padding: 7rem 2rem 2rem;
}
@media screen and (min-width: 768px) {
  main.container  {
    padding: 10rem 6rem 2rem;
  }
}
@media screen and (max-width: 768px) {
  .container {
  min-width:auto;
  }
}
.footer {
  background: #F2F5F7;
 padding: 5rem 0 15px;
  position: relative;
  z-index: 1;
}
.footer .container{
max-width: 120rem;
}

.footer_logo {
  width: max(10.7638888889vw, 155px);
  margin:0 auto 6rem;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .footer_logo:hover {
    opacity: 0.6;
  }
}
.footer_logo img {
  width: 100%;
}
.footer_copyright {
  clear: both;
  margin-top: 46px;
  color: #B7B7B7;
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .footer_copyright {
    margin-top: 17px;
    font-size: min(0.9027777778vw, 1.3rem);
  }
}
.footer_pagetop {
  height: 3.2rem;
  width: 3.2rem;
  position: absolute;
  right: 2rem;
  bottom: 5rem;
  background: #FFF;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .footer_pagetop:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 768px) {
  .footer_pagetop {
    right: 6rem;
    bottom: 8rem;
  }
}
.footer_pagetopIcon {
  display: block;
  width: 11px;
  height: 11px;
  position: relative;
  overflow: hidden;
}
.footer_pagetopIcon::before, .footer_pagetopIcon::after {
  display: block;
  content: "";
  background: #0b406b;
  -webkit-mask-image: url("images/icon_arrow_right.svg");
          mask-image: url("images/icon_arrow_right.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(-90deg);
}

.globalNav {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 98;
}
@media screen and (min-width: 1200px) {
  .globalNav_upperList {
    display: flex;
    gap: 8px;
    padding-bottom: 7rem;
    border-bottom: 1px solid #D6DADC;
  }
}
.globalNav_upperItem {
  position: relative;
  border-bottom: 1px solid #D6DADC;
}
@media screen and (min-width: 1200px) {
  .globalNav_upperItem {
    flex: 1;
    border: none;
  }
}
.globalNav_upperLink {
  display: block;
  padding: 25px 0;
  color: #333;
  font-family: "Yu Gothic Pr6N D", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .globalNav_upperLink:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 1200px) {
  .globalNav_upperLink {
    padding: 16px 0;
    font-size: min(1.0416666667vw, 15px);
    border-bottom: 1px solid #D6DADC;
  }
}
.globalNav_upperButton {
  position: absolute;
  width: 28px;
  height: 28px;
  cursor: pointer;
  top: 18px;
  right: 0;
}
@media screen and (min-width: 1200px) {
  .globalNav_upperButton {
    display: none;
  }
}
.globalNav_upperButton::before, .globalNav_upperButton::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: #0b406b;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.globalNav_upperButton::before {
  width: 1.4rem;
  height: 1px;
}
.globalNav_upperButton::after {
  width: 1px;
  height: 1.4rem;
}
.globalNav_upperButton--open::before, .globalNav_upperButton--open::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.globalNav_upperButton--open::before {
  opacity: 0;
}
.globalNav_lowerList {
  display: none;
  padding: 0 0 3rem 2rem;
}
@media screen and (min-width: 1200px) {
  .globalNav_lowerList {
    padding: 0;
    margin-top: 3rem;
    display: block;
  }
}
.globalNav_lowerItem:not(:first-child) {
  margin-top: 1rem;
}
.globalNav_lowerLink {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 0;
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: min(0.9722222222vw, 1.4rem);
  line-height: 1.4;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .globalNav_lowerLink:hover {
    opacity: 0.6;
  }
}
.globalNav_lowerLink[target=_blank]::after {
  display: block;
  width: 11px;
  height: 11px;
  display: block;
  content: "";
  background: #0b406b;
  -webkit-mask-image: url("images/icon_arrow_right.svg");
          mask-image: url("images/icon_arrow_right.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  will-change: transform;
  transform: translate(0, 0) rotate(-45deg);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.globalNav_socialList {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 1200px) {
  .globalNav_socialList {
    flex-direction: row;
    gap: 3rem;
  }
}
.globalNav_socialLink {
  display: inline-flex;
  gap: 6px;
  color: #333;
  font-family: "Yu Gothic Pr6N D", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: min(0.9027777778vw, 1.3rem);
  line-height: 1;
  align-items: center;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .globalNav_socialLink:hover {
    opacity: 0.6;
  }
}
.globalNav_other {
  padding-top: 4rem;
  border-top: 1px solid #D6DADC;
}
@media screen and (min-width: 1200px) {
  .globalNav_other {
    padding: 0;
    border: none;
  }
}
.globalNav_otherList {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 1rem;
}
.globalNav_otherItem:not(.globalNav_otherItem:last-child) {
  padding-right: 1rem;
  border-right: 1px solid #ABABAB;
}
.globalNav_otherLink {
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1;
  display: block;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .globalNav_otherLink:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 1200px) {
  .globalNav_otherLink {
    font-size: min(0.8333333333vw, 1.2rem);
  }
}

.headerNav {
  display: none;
}
@media screen and (min-width: 1200px) {
  .headerNav {
    display: block;
    margin-left: 33%;
  }
}
.headerNav_list {
  display: flex;
  gap: 3rem;
}
.headerNav_link {
  color: #333;
  font-family: "Yu Gothic Pr6N D", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: min(0.9722222222vw, 1.4rem);
  letter-spacing: 0.05em;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .headerNav_link:hover {
    opacity: 0.6;
  }
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #FFF;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  visibility: visible;
  transition: all 1s;
  overflow: hidden;
}
.loading--off {
  opacity: 0;
  visibility: hidden;
}

.loadingLogo {
  max-width: 217px;
  width: 58%;
  opacity: 0;
  visibility: hidden;
  transition: all 1s;
}
@media screen and (min-width: 768px) {
  .loadingLogo {
    max-width: 28rem;
    width: 19%;
  }
}
.loadingLogo--on {
  opacity: 1;
  visibility: visible;
}

.linkButton {
  cursor: pointer;
  display: block;
  text-align: center;
  padding: 0;
  gap: 9px;
  background: #fff  ;
  color: #0b406b;
  border: 1px solid #0b406b;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  font-weight: 500;
  font-family: "Jost", sans-serif !important;
  width: 100%;
}
.linkButton span{
  color: #0b406b;
}
.linkButton.h70{
  line-height: 7rem;
  border-radius: 3.5rem;
}
.linkButton.h54{
  line-height: 5.4rem;
  border-radius: 2.7rem;
  max-width: 26rem;
}
.linkButton.h54.w350{
  line-height: 5.3rem;
  border-radius: 2.7rem;
   max-width: 35rem;
}
.linkButton_text {
  color: #0b406b;
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.05em;
}
.topPolicy{
  background: url(images/top/bgDev.jpg) no-repeat;
  background-size: cover;
  aspect-ratio: 2 / 1;
  padding: 9rem 5%;
}
.topPolicy h2{
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .linkButton_text {
   font-size: min(1.25vw, 1.8rem); ;
  }
}
.linkButton_icon {
  display: block;
  width: 11px;
  height: 11px;
  position: relative;
  overflow: hidden;
}
.linkButton_icon::before, .linkButton_icon::after {
  display: block;
  content: "";
  background: #0b406b;
  -webkit-mask-image: url("images/icon_arrow_right.svg");
          mask-image: url("images/icon_arrow_right.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
}
.linkButton02 .linkButton_icon::before, .linkButton02 .linkButton_icon::after{
  background: #fff;
}
.buttonOuter p{
  display: flex;
  align-items: center;
  justify-content: center;
}
.contactButton{
  width: 100%;
  color: #fff;
}
.contactButton:hover,.linkButton .contactButton{
  color: #0b406b;
  display: block !important;
}
.linkButton .contactButton:hover,.linkButton.linkButton02 .contactButton{
  color: #fff;
}
.linkButton02 .contactButton:hover{
  color: #0b406b !important;
}
 .linkButton.linkButtonPrev .linkButton_icon{
  left: 1.5rem;
  right: auto;
  transform: rotate(180deg);
}
  .linkButton02Outer:hover span::before {
    background: #0b406b;
  }
.wpcf7 form .wpcf7-response-output{
  display: none;
}
.wpcf7-spinner{
  position: absolute !important;
}
.linkButton02 {
  display: block;
  content: "";
  color: #fff;
  background-color:#0b406b;

}
.linkButton.linkButton02:hover{
   color: #0b406b;
  background-color:#fff;
}
.linkButton_icon::before {
  transform: translate(-150%, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.linkButton_icon::after {
  transform: translate(0, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.linkButton_icon--prepend::before {
  transform: translate(0, 0) rotate(180deg);
}
.linkButton_icon--prepend::after {
  transform: translate(150%, 0) rotate(180deg);
}
.linkButton_icon--external::before {
  transform: translate(-150%, 150%) rotate(-45deg);
}
.linkButton_icon--external::after {
  transform: translate(0, 0) rotate(-45deg);
}
.linkButton_icon--under::before {
  transform: translate(0, -150%) rotate(90deg);
}
.linkButton_icon--under::after {
  transform: translate(0, 0) rotate(90deg);
}
@media (hover: hover) {
  .linkButton:hover {
    background: #0b406b;
    color: #FFF;
  }
  .linkButton:hover > span {
    color: #FFF;
  }
  
  .linkButton:hover > .linkButton_icon::before {
    background: #FFF;
    transform: translate(0, 0);
  }
    .linkButton02:hover > .linkButton_icon::before {
    background: #0b406b;
    transform: translate(0, 0);
  }
  .linkButton:hover > .linkButton_icon::after {
    background: #FFF;
    transform: translate(150%, 0);
  }
  .linkButton:hover > .linkButton_icon--prepend::before {
    transform: translate(-150%, 0) rotate(180deg);
  }
  .linkButton:hover > .linkButton_icon--prepend::after {
    transform: translate(0, 0) rotate(180deg);
  }
  .linkButton:hover > .linkButton_icon--external::before {
    transform: translate(0, 0) rotate(-45deg);
  }
  .linkButton:hover > .linkButton_icon--external::after {
    transform: translate(150%, -150%) rotate(-45deg);
  }
  .linkButton:hover > .linkButton_icon--under::before {
    transform: translate(0, 0) rotate(90deg);
  }
  .linkButton:hover > .linkButton_icon--under::after {
    transform: translate(0, 150%) rotate(90deg);
  }
}

.sectionHeading {
  font-size: 46px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .sectionHeading {
    font-size: min(1.9444444444vw, 46px);
  }
}

.recentPost {
  margin-bottom: 10rem;
}
@media screen and (min-width: 768px) {
  .recentPost {
    margin-bottom: 18rem;
  }
}
.recentPost_list {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem 19px;
}
@media screen and (min-width: 768px) {
  .recentPost_list {
    margin-top: 4rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem;
  }
}
.recentPost_link {
  display: block;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .recentPost_link:hover .recentPost_figure img {
    transform: scale(1.1);
  }
  .recentPost_link:hover .recentPost_textWrap {
    opacity: 0.7;
  }
}
.recentPost_figure {
  border-radius: 1rem;
  background: #EFEFEF;
  overflow: hidden;
  aspect-ratio: 1/1;
}
.recentPost_figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.recentPost_textWrap {
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.recentPost_tag {
  margin-top: 2rem;
  display: inline-block;
  border-radius: 15px;
  opacity: 0.9;
  background: #0b406b;
  padding: 5px 1rem;
  color: #FFF;
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: min(0.7638888889vw, 11px);
  line-height: 1;
  letter-spacing: 1.1px;
}
.recentPost_tag--pink {
  background: #D59E90;
}
.recentPost_tag--green {
  background: #81AD9F;
}
.recentPost_tag--grey {
  background: #999;
}
.recentPost_heading {
  margin-top: 5px;
  color: #333;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .recentPost_heading {
    margin-top: 15px;
    font-size: min(1.25vw, 18px);
  }
}
.recentPost_author {
  margin-top: 5px;
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.2rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .recentPost_author {
    margin-top: 15px;
    font-size: min(0.9027777778vw, 1.3rem);
  }
}
.recentPost_date {
  margin-top: 5px;
  color: #6D6D6D;
  font-family: "Inter", sans-serif;
  font-size: min(0.8333333333vw, 1.2rem);
  font-weight: normal;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .recentPost_date {
    margin-top: 15px;
  }
}

.blockTitle {
  font-size: 2.2rem;
  margin-bottom: 4rem;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .blockTitle {
    margin-bottom: 6rem;
    font-size: min(2.3611111111vw, 3.4rem);
  }
}

.mvText {
  padding: 12rem 0 18rem;
}
@media screen and (min-width: 768px) {
  .mvText {
    padding: 14rem 0 19rem;
  }
}
.mvText_title {
  font-size: 28px;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .mvText_title {
    font-size: min(2.7777777778vw, 4rem);
  }
}
.mvText_text {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 72rem;
  font-size: 1.4rem;
  text-align: left;
  line-height: 2;
  margin-top: 16rem;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .mvText_text {
    font-size: min(1.1111111111vw, 16px);
    margin-top: 6rem;
    width: 100%;
  }
}


.themeButton {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 4rem;
  background-color: #0b406b;
  border-radius: 3rem;
  padding: 11px;
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 11px;
  color: #FFF;
  line-height: 1;
  letter-spacing: 0.05em;
  width: 100%;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .themeButton:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 768px) {
  .themeButton--sm {
    max-width: 22rem;
  }
}
@media screen and (min-width: 768px) {
  .themeButton--md {
    max-width: 37rem;
  }
}
@media screen and (min-width: 768px) {
  .themeButton {
    height: 5.2rem;
    font-size: 1.4rem;
  }
}

d
.sliderMedia_list {
  display: flex;
  gap: 2rem;
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .sliderMedia_list {
    gap: 4rem;
  }
}
.sliderMedia_item {
  background-color: #F2F5F7;
  border-radius: 1rem;
  padding: 4rem 27px 3rem;
  min-width: 255px;
}
@media screen and (min-width: 768px) {
  .sliderMedia_item {
    padding: 4rem;
  }
}
.sliderMedia_item:first-child {
  margin-left: 2rem;
}
@media screen and (min-width: 768px) {
  .sliderMedia_item:first-child {
    margin-left: 0;
  }
}
.sliderMedia_item:last-child {
  margin-right: 2rem;
  position: relative;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .sliderMedia_item:last-child {
    margin-right: 0;
  }
}
.sliderMedia_item:last-child:after {
  position: absolute;
  content: "";
  top: 0;
  left: 100%;
  height: 1px;
  width: 2rem;
  background-color: transparent;
}
@media screen and (min-width: 768px) {
  .sliderMedia_item:last-child:after {
    content: none;
  }
}
.sliderMedia_body {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: flex-start;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .sliderMedia_body {
    gap: 25px;
  }
}
.sliderMedia_heading {
  color: #0b406b;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.sliderMedia_heading::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.sliderMedia_heading::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
@media screen and (min-width: 768px) {
  .sliderMedia_heading {
    font-size: 2.4rem;
  }
}
.sliderMedia_text {
  color: #333;
  text-align: justify;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.2rem;
  line-height: 1.75;
  flex-grow: 1;
}
@media screen and (min-width: 768px) {
  .sliderMedia_text {
    font-size: min(0.9722222222vw, 1.4rem);
  }
}

.simplebar .simplebar-content-wrapper {
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}
.simplebar .simplebar-content-wrapper::-webkit-scrollbar {
  display: none; /* Chrome, Safari 対応 */
  -webkit-appearance: none;
  -webkit-overflow-scrolling: touch;
}
.simplebar .simplebar-track {
  background: #E1E6E9;
}
.simplebar .simplebar-track .simplebar-scrollbar::before {
  background: #0b406b;
  border-radius: 0;
  width: 100%;
  left: 0;
  right: 0;
}
.simplebar .simplebar-track .simplebar-visible::before {
  opacity: 1;
}
.simplebar .simplebar-track.simplebar-vertical {
  width: .4rem;
}
.simplebar .simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 0;
}
.simplebar .simplebar-track.simplebar-horizontal {
  visibility: hidden;
}
.simplebar_horizontal .simplebar-content {
  padding: 0;
}
.simplebar_horizontal .simplebar-track.simplebar-horizontal {
  visibility: visible;
  height: .4rem;
  margin: 0 5rem;
}
.simplebar_horizontal .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: unset;
}
.simplebar_horizontal .simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  left: 0;
  right: 0;
}
.simplebar_horizontal--smallmargin .simplebar-track.simplebar-horizontal {
  margin: 0 38px;
}

/*****************
お知らせ一覧
******************/
.articleList {
  padding-bottom: 10rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 72rem;
}
@media screen and (min-width: 768px) {
  .articleList {
    padding-bottom: 15rem;
  }
}
.articleList_meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .articleList_meta {
    margin-bottom: 4rem;
  }
}
.articleList_categoryList {
  width: 48%;
}
@media screen and (min-width: 576px) {
  .articleList_categoryList {
    width: auto;
  }
}
.articleList_category.-pc li {
  margin-right: 6px;
}
.articleList_category.-pc li:last-child {
  margin-right: 0;
}
.articleList_category.-sp {
  background: #0b406b;
  border-radius: 2rem;
  line-height: 1;
  position: relative;
}
.articleList_category.-sp:after {
  content: "";
  position: absolute;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(135deg);
  width: 6px;
  height: 6px;
  top: 1rem;
  right: 1.2rem;
}
.articleList_categorySeclct {
  color: #FFF;
  font-size: min(0.8333333333vw, 1.2rem);
  padding: 7px 56px 7px 1.2rem;
  width: 100%;
}
.articleList_categoryName {
  display: inline-block;
}
.articleList_categoryLink {
  font-size: min(0.8333333333vw, 1.2rem);
  color: #0b406b;
  padding: 9px 1.2rem;
  line-height: 1;
  background: #F7F7F8;
  border-radius: 2rem;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .articleList_categoryLink:hover {
    opacity: 0.6;
  }
}
.articleList_categoryLink--current {
  background: #0b406b;
  color: #FFF;
}
.articleList_dateList {
  line-height: 1;
  position: relative;
  margin-bottom: 4rem;
}
@media screen and (min-width: 576px) {
  .articleList_dateList {
    width: auto;
  }
}
.articleList_dateListSelect:after {
  content: "";
  position: absolute;
  border-top: 1px solid #808080;
  border-right: 1px solid #808080;
  transform: rotate(135deg);
  width: 6px;
  height: 6px;
  top: 1rem;
  right: 1.2rem;
}
.articleList_dateListSelect {
  font-size: 1.6rem;
  cursor: pointer;
  border-radius: 2.1rem;
  border: 1px solid #808080;
  position: relative;
  text-align: center;
  width: 40%;
  max-width: 32.5rem;
  margin-right: 2rem;
  padding: 0;
  background: url(images/icon_arrow_select_s.svg) no-repeat right 1.2rem center;
    background-size: 1rem;
    padding: 0.6rem 1.2rem;
}

.articleList_dateListSelectYear {
  background: #F7F7F8;
  color: #0b406b;
}
.articleList_contents {
  border-bottom: 1px solid #E6E6E6;
}
.articleList_contents:first-child {
  border-top: 1px solid #E6E6E6;
}
.articleList_contentLink {
  display: block;
  width: 100%;
  padding: 2rem 0;
  position: relative;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.grecaptcha-badge{
  z-index: 2;
}
@media (hover: hover) {
  .articleList_contentLink:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 768px) {
  .articleList_contentLink {
    padding: 28px 0;
  }
}
.articleList_contentLink:after {
  display: block;
  content: "";
  background: #0b406b;
  -webkit-mask-image: url("images/icon_arrow_right.svg");
          mask-image: url("images/icon_arrow_right.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  height: 1rem;
  width: 1rem;
  position: absolute;
  right: 8px;
  top: 50%;
  will-change: transform;
  transform: translate(0, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .articleList_contentLink:hover:after {
    transform: translate(60%, 0);
  }
}
.articleList_contentDate {
  color: #0b406b;
  font-family: "Inter", sans-serif;
  font-size: min(0.9722222222vw, 1.4rem);
  margin-bottom: 6px;
}
@media screen and (min-width: 768px) {
  .articleList_contentDate {
    margin-bottom: 1rem;
  }
}
.articleList_contentTitle {
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  color: #333;
  font-size: 1.4rem;
  padding-right: 2rem;
}
@media screen and (min-width: 768px) {
  .articleList_contentTitle {
    font-size: 17px;
  }
}
.articleList_contentTitle--file {
  position: relative;
  padding-left: 2.4rem;
}
.articleList_contentTitle--file:before {
  content: "";
  position: absolute;
  background: url("images/icon_news_pdf.svg") no-repeat;
  background-size: contain;
  width: 17px;
  height: 21px;
  top: rem;
  left: 0;
}
@media screen and (min-width: 768px) {
  .articleList_contentTitle--file:before {
    top: .2rem;
  }
}

/*****************
お知らせ詳細
******************/
.detailArticle {
  padding: 76px 0 10rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 72rem;
}
@media screen and (min-width: 768px) {
  .detailArticle {
    padding: 12rem 0 16rem;
  }
}
.detailArticle_header {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
@media screen and (min-width: 768px) {
  .detailArticle_header {
    gap: 16px;
  }
}
.detailArticle_meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.detailArticle_date {
  color: #0b406b;
  font-family: "Inter", sans-serif;
  font-size: min(0.9722222222vw, 1.4rem);
}
.detailArticle_tag {
  padding: .4rem 1.2rem;
  display: inline-block;
  background: #0b406b;
  color: #FFF;
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 11px;
  letter-spacing: 0.05em;
  border-radius: 2rem;
}
@media screen and (min-width: 768px) {
  .detailArticle_tag {
    font-size: min(0.8333333333vw, 1.2rem);
  }
}
.detailArticle_title {
  color: #333333;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .detailArticle_title {
    font-size: min(1.5277777778vw, 2.2rem);
  }
}
.detailArticle_content {
  margin-top: 4rem;
  padding-bottom: 6rem;
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  border-bottom: 1px solid #E6E6E6;
}
@media screen and (min-width: 768px) {
  .detailArticle_content {
    margin-top: 6rem;
    padding-bottom: 8rem;
    gap: 4rem;
    font-size: min(1.1111111111vw, 16px);
  }
}
.detailArticle_footer {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 4rem;
}

/*****************
トップページ
******************/
.mainVisual {
  position: relative;
  height: calc(100vh + 10rem);
  width: 114%;
  margin: -10rem 0 0 -7%;
  background: url(images/top/mv.jpg) no-repeat center right;
  background-size: cover;
}
.mainVisual_copy {
position: absolute;
    top: 44%;
    left: 28%;
    transform: translate(-50%, -50%);
    color: #FFF;
    z-index: 1;
    padding: 0 3rem 0 4rem;
    line-height: 1.9;
    letter-spacing: 1.1rem;
}

.topMenu {
  padding-bottom: 10rem;
}
@media screen and (min-width: 768px) {
  .topMenu {
    padding-bottom: 15rem;
  }
}
.topMenu_list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 1200px) {
  .topMenu_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 27% 11% 12% 12% 12% 12%;
    -moz-column-gap: 2.8%;
         column-gap: 2.8%;
    row-gap: 4rem;
    height: 100%;
  }
}
.topMenu_item {
  height: 100%;
}
.topMenu_item--03 .topMenu_heading, .topMenu_item--07 .topMenu_heading {
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-top: 15px;
}
@media screen and (min-width: 1200px) {
  .topMenu_item--03 .topMenu_heading, .topMenu_item--07 .topMenu_heading {
    font-size: min(1.3888888889vw, 2rem);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
.topMenu_item--03 .topMenu_content, .topMenu_item--07 .topMenu_content {
  padding-right: 5rem;
}
.topMenu_item--02 .topMenu_heading {
  font-size: 26px;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-top: 15px;
}
@media screen and (min-width: 1200px) {
  .topMenu_item--02 .topMenu_heading {
    font-size: min(1.3888888889vw, 2rem);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
.imgOuter img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s ease;
}
.topMenu_link.oh{
  display: block;
}
@media (hover: hover) {
  .topMenu_link:hover img {
    transform: scale(1.1);
  }
  .topMenu_link:hover .topMenu_icon::before {
    transform: translate(0, 0);
  }
  .topMenu_link:hover .topMenu_icon::after {
    transform: translate(150%, 0);
  }
}
.topMenu_figure {
  border-radius: 1rem;
  overflow: hidden;
  height: 100%;
  position: relative;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 1200px) {
  .topMenu_figure {
    aspect-ratio: unset;
  }
}
.topMenu_figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.topMenu_content {
  padding: 2rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.topMenu_heading {
  font-size: 26px;
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #FFF;
}
@media screen and (min-width: 1200px) {
  .topMenu_heading {
    font-size: min(1.9444444444vw, 28px);
  }
}
.topMenu_heading small {
  display: block;
  margin-top: 1rem;
  font-size: 1.3rem;
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  color: #FFF;
  letter-spacing: 0.05em;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media screen and (min-width: 1200px) {
  .topMenu_heading small {
    font-size: min(1.0416666667vw, 15px);
  }
}
.topMenu_tag {
  background: rgba(115, 141, 153, 0.9);
  padding: 1rem 1rem;
  border-radius: 15px;
  color: #FFF;
  font-family: "Yu Gothic Pr6N D", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: min(0.7638888889vw, 11px);
  line-height: 1;
  letter-spacing: 0.1em;
  display: inline;
}
.topMenu_tag--green {
  background: rgba(146, 141, 95, 0.9);
}
.topMenu_author {
  font-size: min(0.9027777778vw, 1.3rem);
  font-family: "Yu Gothic Pr6N D", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  color: #FFF;
  letter-spacing: 0.05em;
}
.topMenu_text {
  color: #FFF;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (min-width: 1200px) {
  .topMenu_text {
    -webkit-line-clamp: 2;
  }
}
.topMenu_date {
  font-family: "Inter", sans-serif;
  font-size: min(0.8333333333vw, 1.2rem);
  line-height: 1.5;
}
.topMenu_category {
  font-family: "Yu Gothic Pr6N D", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: min(0.7638888889vw, 11px);
  line-height: 1.8;
  letter-spacing: 0.05em;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.topMenu_category::before {
  content: "";
  width: .3rem;
  height: .3rem;
  border-radius: 50%;
  background-color: #FFF;
  display: inline-block;
  margin: 0 .3rem;
  vertical-align: middle;
}
.topMenu_button {
  border: 1px solid #808080;
  background: #fff;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 50%;
  position: absolute;
  bottom: 15px;
  right: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.topMenu_button.por{
  position: relative;
  float: right;
  top: 0;
  bottom:auto;
}
.topMenu_button--external .topMenu_icon {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.topMenu_iconWrap {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 100%;
  display: block;
}
.topMenu_icon {
  display: block;
  width: 16px;
  height: 15px;
  position: relative;
  overflow: hidden;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.topMenu_icon::before, .topMenu_icon::after {
  display: block;
  content: "";
  background: url("images/icon_arrow_right_gray.svg");
  background-size: contain;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
}
.topMenu_icon::before {
  transform: translate(-150%, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.topMenu_icon::after {
  transform: translate(0, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.topMenu_newsContent {
  padding: 26px 2.2rem 25% 2.2rem;
}
@media screen and (min-width: 1200px) {
  .topMenu_newsContent {
    padding: 2.2rem;
    height: 100%;
  }
}
.topMenu_newsContent .topMenu_heading {
  margin-bottom: 15px;
}

.topInfo {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding-bottom: 6rem;
}
@media screen and (min-width: 1200px) {
  .topInfo {
    padding-bottom: 12rem;
    flex-direction: row;
    gap: 5%;
  }
}
@media screen and (min-width: 1200px) {
  .topInfo_headingWrap {
    flex: 0 1 33%;
  }
}
@media screen and (min-width: 1200px) {
  .topInfo_panelWrap {
    flex: 0 1 62%;
  }
}
.topInfo_tabList {
  display: flex;
  gap: 1rem;
  margin-top: 3rem;
}
.topInfo_tab {
  color: #0b406b;
  background-color: #F7F7F8;
  border-radius: 2rem;
  min-width: 11rem;
  padding: 1.2rem;
  text-align: center;
  font-size: min(0.8333333333vw, 1.2rem);
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  line-height: 1.3;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .topInfo_tab:hover {
    opacity: 0.6;
  }
}
.topInfo_tab--active {
  color: #F7F7F8;
  background-color: #0b406b;
}
.topInfo_panel {
  display: none;
  animation: fadeIn 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}
.topInfo_panel--active {
  display: block;
}
.topInfo_item {
  border-bottom: 1px solid #E6E6E6;
}
.topInfo_item:first-child {
  border-top: 1px solid #E6E6E6;
}
.topInfo_date {
  font-size: min(0.9722222222vw, 1.4rem);
  font-family: "Inter", sans-serif;
  line-height: 1.3;
  color: #0b406b;
  margin-bottom: 6px;
}
.topInfo_title {
  font-size: 15px;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  line-height: 1.5;
  color: #333;
}
@media screen and (max-width: 767.98px) {
  .topInfo_title {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
@media screen and (min-width: 768px) {
  .topInfo_title {
    font-size: min(1.1805555556vw, 17px);
  }
}
.topInfo_title--file {
  position: relative;
  padding-left: 2.4rem;
}
.topInfo_title--file:before {
  content: "";
  position: absolute;
  background: url("images/icon_news_pdf.svg") no-repeat;
  background-size: contain;
  width: 17px;
  height: 21px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.topInfo_button {
  text-align: right;
  margin-top: 3rem;
}
.topInfo_link {
  display: block;
  width: 100%;
  padding: 25px 55px 25px 0;
  position: relative;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .topInfo_link:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 768px) {
  .topInfo_link {
    padding: 28px 28px 28px 0;
  }
}
.topInfo_link:after {
  display: block;
  content: "";
  background: #0b406b;
  -webkit-mask-image: url("images/icon_arrow_right.svg");
          mask-image: url("images/icon_arrow_right.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  height: 1rem;
  width: 1rem;
  position: absolute;
  right: 8px;
  top: 50%;
  will-change: transform;
  transform: translate(0, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .topInfo_link:hover:after {
    transform: translate(60%, 0);
  }
}

/*****************
商品一覧
******************/
.productsList {
  padding-bottom: 10rem;
}
@media screen and (min-width: 768px) {
  .productsList {
    padding-bottom: 16rem;
  }
}
.productsList_contentsList {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
  row-gap: 2rem;
}
@media screen and (min-width: 768px) {
  .productsList_contentsList {
    padding-bottom: 10rem;
    align-items: stretch;
    justify-content: space-between;
    row-gap: 4rem;
  }
}
.productsList_content {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .productsList_content {
    width: calc((100% - 4.2rem) / 2);
  }
}
@media screen and (min-width: 1200px) {
  .productsList_content {
    width: calc((100% - 8.2rem) / 3);
  }
}
.productsList_contentLink {
  display: block;
  width: 100%;
  border-radius: 1rem;
  position: relative;
}
.productsList_contentLink:after {
  content: "";
  position: absolute;
  border-radius: 0 0 1rem 1rem;
  width: 100%;
  height: 30%;
  background: linear-gradient(rgba(1, 1, 1, 0), rgba(52, 62, 66, 0.5));
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .productsList_contentLink:after {
    height: 20%;
  }
}
@media (hover: hover) {
  .productsList_contentLink:hover .productsList_contentImage {
    overflow: hidden;
  }
  .productsList_contentLink:hover .productsList_contentImage > img {
    transform: scale(1.1);
    overflow: hidden;
  }
  .productsList_contentLink:hover .productsList_icon:before {
    transform: translate(0, 0);
  }
  .productsList_contentLink:hover .productsList_icon:after {
    transform: translate(150%, 0);
  }
}
.productsList_contentImage {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1rem;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.productsList_contentImage > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
  overflow: hidden;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.productsList_contentTitle {
  display: block;
  position: absolute;
  font-size: 26px;
  color: #FFF;
  letter-spacing: 0.05em;
  bottom: 2rem;
  left: 2rem;
  line-height: 1;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .productsList_contentTitle {
    font-size: clamp(2rem, 1.95vw, 28px);
  }
}
.productsList_contentTitleLineChage {
  display: block;
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .productsList_contentTitleLineChage {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 8px;
  }
}
.productsList_iconWrap {
  position: absolute;
  width: 3.2rem;
  height: 3.2rem;
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 100%;
  bottom: 17px;
  right: 1.2rem;
  z-index: 1;
}
.productsList_icon {
  display: block;
  position: relative;
  width: 11px;
  height: 11px;
  overflow: hidden;
  transform: translate(0, 0) rotate(-45deg);
  right: -11px;
  top: 1rem;
}
.productsList_icon:before, .productsList_icon:after {
  display: block;
  content: "";
  background: #FFF;
  -webkit-mask-image: url(images/icon_arrow_right.svg);
          mask-image: url(images/icon_arrow_right.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
  z-index: 1;
}
.productsList_icon:before {
  transform: translate(-150%, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.productsList_icon:after {
  transform: translate(0, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

/*****************
くまもと奨学金制度
******************/
.scholarship {
  padding-top: 11rem;
  padding-bottom: 4rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 72rem;
}
@media screen and (min-width: 768px) {
  .scholarship {
    padding-top: 128px;
    padding-bottom: 6rem;
  }
}
.scholarship_header {
  padding-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  .scholarship_header {
    padding-bottom: 14.4rem;
  }
}
.scholarship_headerTitle {
  color: #333;
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 3.2rem;
}
@media screen and (min-width: 768px) {
  .scholarship_headerTitle {
    font-size: 4rem;
    margin-bottom: 59px;
  }
}
.scholarship_headerText {
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.02em;
  max-width: 30rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .scholarship_headerText {
    font-size: 17px;
    max-width: none;
    text-align: center;
  }
}
.scholarship_section {
  padding: 6rem 0;
  border-top: 1px solid #D6DADC;
}
@media screen and (min-width: 768px) {
  .scholarship_section {
    padding: 7rem 0 10rem;
  }
}
.scholarship_sectionTitle {
  color: #333;
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 2.2rem;
}
@media screen and (min-width: 768px) {
  .scholarship_sectionTitle {
    font-size: 3.2rem;
    margin-bottom: 3.2rem;
  }
}
.scholarship_sectionText {
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0.02em;
  margin-bottom: 35px;
}
@media screen and (min-width: 768px) {
  .scholarship_sectionText {
    font-size: 16px;
    margin-bottom: 6rem;
  }
}
.scholarship_description {
  border-radius: 1rem;
  background-color: #F2F5F7;
  overflow: hidden;
  margin-bottom: 2rem;
}
.scholarship_descriptionTitle {
  color: #FFF;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background-color: #0b406b;
  padding: 1rem 2rem;
}
@media screen and (min-width: 768px) {
  .scholarship_descriptionTitle {
    padding: 16px 28px;
  }
}
.scholarship_descriptionBody {
  padding: 2.4rem;
}
@media screen and (min-width: 768px) {
  .scholarship_descriptionBody {
    padding: 3.4rem 3.4rem 4rem;
  }
}
.scholarship_descriptionGroup:not(.scholarship_descriptionGroup:last-child) {
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .scholarship_descriptionGroup:not(.scholarship_descriptionGroup:last-child) {
    margin-bottom: 4rem;
  }
}
.scholarship_descriptionHeading {
  color: #333;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  border-left: 5px solid #0b406b;
  padding-left: 1rem;
  margin-bottom: 7px;
}
@media screen and (min-width: 768px) {
  .scholarship_descriptionHeading {
    font-size: 2rem;
    padding-left: 15px;
    line-height: 1.4;
    margin-bottom: 1.2rem;
  }
}
.scholarship_descriptionItem {
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0.02em;
  list-style: disc;
  padding-left: 1.5em;
  text-indent: -1.4em;
  list-style-position: inside;
}
@media screen and (min-width: 768px) {
  .scholarship_descriptionItem {
    font-size: 1.4rem;
  }
}
.scholarship_notes {
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .scholarship_notes {
    font-size: 1.3rem;
  }
}
.scholarship_downloadItem {
  border-radius: 1rem;
  background-color: #F2F5F7;
  padding: 18px 2rem 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.scholarship_downloadItem:not(.scholarship_downloadItem:last-child) {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .scholarship_downloadItem {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 2rem;
  }
}
.scholarship_downloadName {
  color: #333;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.scholarship_downloadName::before {
  display: inline-block;
  width: 18px;
  height: 2.4rem;
  content: "";
  background-image: url("images/icon_news_pdf.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .scholarship_downloadName::before {
    width: 2.4rem;
    height: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .scholarship_downloadName {
    font-size: 2rem;
    gap: 15px;
  }
}
.scholarship_faqItem:not(.scholarship_faqItem:last-child) {
  margin-bottom: 1rem;
}
.scholarship_faqQuestion {
  background-color: #F2F5F7;
  border-radius: 1rem;
  padding: 16px 5rem 16px 2rem;
  position: relative;
  cursor: pointer;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .scholarship_faqQuestion:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 768px) {
  .scholarship_faqQuestion {
    padding: 3rem 5rem 3rem 4rem;
  }
}
.scholarship_faqText {
  color: #333;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: flex;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .scholarship_faqText {
    font-size: 2rem;
  }
}
.scholarship_faqText::before {
  content: "Q.";
}
.scholarship_faqText--answer::before {
  content: "A.";
}
.scholarship_faqIcon {
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
}
@media screen and (min-width: 768px) {
  .scholarship_faqIcon {
    right: 3rem;
  }
}
.scholarship_faqIcon::before, .scholarship_faqIcon::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: #0b406b;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.scholarship_faqIcon::before {
  width: 1.4rem;
  height: 1px;
}
.scholarship_faqIcon::after {
  width: 1px;
  height: 1.4rem;
}
.scholarship_faqIcon--open::before, .scholarship_faqIcon--open::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.scholarship_faqIcon--open::before {
  opacity: 0;
}
.scholarship_faqAnswer {
  padding: 2rem 3rem 2rem 2rem;
  display: none;
}
@media screen and (min-width: 768px) {
  .scholarship_faqAnswer {
    padding: 36px 4rem;
  }
}
.scholarship_contactBox {
  background-color: #F2F5F7;
  border-radius: 1rem;
  margin-bottom: 1rem;
  padding: 28px 2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .scholarship_contactBox {
    padding: 4.4rem;
  }
}
.scholarship_contactHeading {
  color: #333;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .scholarship_contactHeading {
    font-size: 2.2rem;
    margin-bottom: 21px;
  }
}
.scholarship_contactNote {
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-top: 2rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .scholarship_contactNote {
    text-align: center;
    margin-top: 25px;
  }
}
.scholarship_contactAddress {
  color: #333;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 2rem;
}
.scholarship_contactTel {
  margin-top: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: baseline;
}
@media screen and (min-width: 768px) {
  .scholarship_contactTel {
    pointer-events: none;
    cursor: default;
    margin-top: 2rem;
  }
}
.scholarship_contactTelNumber {
  color: #0b406b;
  font-family: "Inter", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .scholarship_contactTelNumber {
    font-size: 28px;
  }
}
.scholarship_contactTelPerson {
  color: #0b406b;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .scholarship_contactTelPerson {
    font-size: 15px;
  }
}
.scholarship_contactHour {
  color: #000;
  font-family: "Yu Gothic Pr6N M", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 1.2rem;
}
@media screen and (min-width: 768px) {
  .scholarship_contactHour {
    margin-top: 2rem;
  }
}

.detailButton {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.4rem 18px;
  gap: 9px;
  border-radius: 3rem;
  border: 1px solid #0b406b;
  background-color: #FFF;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media screen and (min-width: 768px) {
  .detailButton {
    padding: 2rem 3rem;
  }
}
.detailButton_text {
  color: #0b406b;
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .detailButton_text {
    font-size: min(1.25vw, 18px);
  }
}
.detailButton_icon {
  display: block;
  width: 11px;
  height: 11px;
  position: relative;
  overflow: hidden;
}
.detailButton_icon::before, .detailButton_icon::after {
  display: block;
  content: "";
  background: #0b406b;
  -webkit-mask-image: url("images/icon_arrow_right.svg");
          mask-image: url("images/icon_arrow_right.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
}
.detailButton_icon::before {
  transform: translate(-150%, 150%) rotate(-45deg);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.detailButton_icon::after {
  transform: translate(0, 0) rotate(-45deg);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .detailButton:hover {
    background: #0b406b;
  }
  .detailButton:hover > .detailButton_text {
    color: #FFF;
  }
  .detailButton:hover > .detailButton_icon::before {
    background: #FFF;
    transform: translate(0, 0) rotate(-45deg);
  }
  .detailButton:hover > .detailButton_icon::after {
    background: #FFF;
    transform: translate(150%, -150%) rotate(-45deg);
  }
}

.people {
  padding-bottom: 10rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 114rem;
}

/*****************
会社情報
******************/
.company {
  padding-top: 8rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 96rem;
}
.companyTable{
  width: 100%;
  max-width: 95.3rem;
  margin-left: auto;
  margin-right: auto;
  border-collapse: collapse;
  border-top: 1px solid #a7a7a8;
  font-size: 1.5rem;
}

.companyTable th{
  padding: 3rem;
  white-space: nowrap;
border-bottom: 1px solid #a7a7a8;
}
.companyTable td{
  padding: 3rem;
border-bottom: 1px solid #a7a7a8;
}
.toGgMap{
  display: flex;
  align-items: center;
}
.toGgMap:after{
content:"";
display: block;
margin: 0 0 -.2rem -.8rem;
    width: 1rem;
    height: 1rem;
    border: solid 1px;
    border-color: #67acce #67acce transparent transparent;
    transform: rotate(45deg) skew(-10deg, -10deg);
    margin-left:0;
}
@media screen and (min-width: 768px) {
  .company {
    padding-top: 16rem;
  }
}
.company_mainTextTitle {
  text-align: center;
  font-size: 26px;
  line-height: 1.75;
  letter-spacing: 0.15em;
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .company_mainTextTitle {
    font-size: min(2.2222222222vw, 3.2rem);
  }
}
.company_mainTextContents {
  font-size: 1.4rem;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .company_mainTextContents {
    font-size: min(1.1805555556vw, 17px);
    margin-bottom: 4rem;
  }
}
.company_mainTextContents:last-child {
  margin-bottom: 0;
}

.companyPhilosophy {
  padding-top: 8rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 72rem;
}
@media screen and (min-width: 768px) {
  .companyPhilosophy {
    padding-top: 16rem;
  }
}
.companyPhilosophy_title {
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .companyPhilosophy_title {
    font-size: min(2.2222222222vw, 3.2rem);
    margin-bottom: 6rem;
  }
}
.companyPhilosophy_image {
  max-width: 46rem;
  width: 100%;
  margin: 0 auto 2.2rem;
}
@media screen and (min-width: 768px) {
  .companyPhilosophy_image {
    margin: 0 auto 4rem;
  }
}
.companyPhilosophy_image img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.companyPhilosophy_textContentTitle {
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.75;
  text-align: center;
  margin-bottom: 1.2rem;
}
@media screen and (min-width: 768px) {
  .companyPhilosophy_textContentTitle {
    font-size: min(1.8055555556vw, 26px);
    margin-bottom: 18px;
  }
}
.companyPhilosophy_textContentBox {
  text-align: center;
  margin-bottom: 4rem;
}
.companyPhilosophy_textContentBox--open {
  margin-bottom: 0;
}
.companyPhilosophy_boxContents {
  position: relative;
  overflow: hidden;
  height: 13rem;
  width: 90%;
  margin: 0 auto 2rem;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media screen and (min-width: 768px) {
  .companyPhilosophy_boxContents {
    height: 20rem;
    width: 100%;
    margin: 0 auto 4rem;
  }
}
.companyPhilosophy_boxContents:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(255, 255, 255, 0) 0, #fff 100%);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  top: 0;
  left: 0;
}
.companyPhilosophy_boxContents--open {
  height: auto;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  margin-bottom: 0;
}
.companyPhilosophy_boxContents--open:before {
  content: none;
}
.companyPhilosophy_text {
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 2;
  text-align: left;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .companyPhilosophy_text {
    font-size: min(1.1111111111vw, 16px);
    margin-bottom: 26px;
  }
}
.companyPhilosophy_text > p {
  margin-bottom: 15px;
}
.companyPhilosophy_text > p:last-child {
  margin-bottom: 0;
}
.companyPhilosophy_sign img {
  display: block;
  max-width: 17rem;
  width: 100%;
  height: auto;
  margin-right: 0;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .companyPhilosophy_sign img {
    max-width: 20rem;
  }
}
.companyPhilosophy_signName {
  font-size: 1.2rem;
  margin-bottom: 8px;
  letter-spacing: 0.03em;
  line-height: 2;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .companyPhilosophy_signName {
    font-size: min(0.9722222222vw, 1.4rem);
  }
}
.companyPhilosophy .linkButton_text {
  font-size: min(0.7638888889vw, 11px);
}

.companyInfo {
  padding-top: 8rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 6rem;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 114rem;
}
@media screen and (min-width: 768px) {
  .companyInfo {
    padding-top: 14rem;
  }
}
@media screen and (min-width: 99.2rem) {
  .companyInfo {
    flex-direction: row;
    align-items: flex-start;
    gap: 10rem;
  }
}
.companyInfo_menu {
  width: 100%;
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_menu {
    width: 20%;
    position: sticky;
    top: 20%;
    left: 0;
  }
}
.companyInfo_menuList {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_menuList {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
.companyInfo_tag {
  cursor: pointer;
  width: 100%;
  background: #F7F7F8;
  border-radius: 1rem;
  display: block;
  position: relative;
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  color: #0b406b;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 1.4rem 1.4rem 26px;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .companyInfo_tag:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 768px) {
  .companyInfo_tag {
    font-size: min(1.1111111111vw, 16px);
  }
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_tag {
    border-radius: 4rem;
    text-align: left;
    padding: 18px 25px;
  }
}
.companyInfo_tag:after {
  content: "";
  display: block;
  position: absolute;
  -webkit-mask-image: url(/corp/assets/images/icon_contact_anker.svg);
          mask-image: url(/corp/assets/images/icon_contact_anker.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: #0b406b;
  width: 1rem;
  height: 1rem;
  right: 0;
  left: 0;
  bottom: 8px;
  margin: 0 auto;
  transform: translate(0, 0);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_tag:after {
    right: 25px;
    left: auto;
    top: 2.4rem;
    bottom: unset;
  }
}
@media (hover: hover) {
  .companyInfo_tag:hover::after {
    transform: translate(0, 40%);
  }
}
.companyInfo_tag--current {
  background: #0b406b;
  color: #FFF;
}
.companyInfo_tag--current:after {
  background: #FFF;
}
.companyInfo_panel {
  display: none;
  animation: fadeIn 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}
.companyInfo_panel--current {
  display: block;
}
.companyInfo_contents {
  width: 100%;
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_contents {
    width: 74%;
  }
}
.companyInfo_scroll {
  height: 35rem;
  padding-right: 1rem;
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_scroll {
    overflow: hidden;
    height: unset;
    padding-right: 0;
  }
}
.companyInfo_contentsTitle {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .companyInfo_contentsTitle {
    font-size: min(2.2222222222vw, 3.2rem);
    margin-bottom: 6rem;
  }
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_contentsTitle {
    text-align: left;
  }
}
.companyInfo_contentsBox {
  width: 100%;
}
.companyInfo_aboutTable {
  width: 100%;
}
.companyInfo_aboutTableBox {
  border-bottom: 1px solid #D6DADC;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  box-sizing: border-box;
  padding: 2rem 0;
  font-size: 1.3rem;
  text-align: left;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .companyInfo_aboutTableBox {
    font-size: min(0.9722222222vw, 1.4rem);
  }
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_aboutTableBox {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 4rem;
    padding: 3rem 0;
  }
}
.companyInfo_aboutTableBox:first-child {
  border-top: 1px solid #D6DADC;
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_aboutTableBox--alignStart {
    align-items: flex-start;
  }
}
.companyInfo_aboutTableTitle {
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  letter-spacing: 0.03em;
  width: 100%;
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_aboutTableTitle {
    width: 30%;
  }
}
.companyInfo_aboutTableContents {
  letter-spacing: 0.03em;
  width: 100%;
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_aboutTableContents {
    width: 70%;
  }
}
.companyInfo_aboutTableContents--flex {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_aboutTableContents--flex {
    flex-direction: row;
    align-items: center;
  }
}
.companyInfo_tableContentLink {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: min(0.8333333333vw, 1.2rem);
  color: #0b406b;
  letter-spacing: 0.03em;
  line-height: 1;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .companyInfo_tableContentLink:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 768px) {
  .companyInfo_tableContentLink {
    gap: 8px;
  }
}
.companyInfo_tableContentLink:after {
  content: "";
  display: block;
  border-top: 1px solid #0b406b;
  border-right: 1px solid #0b406b;
  transform: translate(0, 0) rotate(45deg);
  width: 8px;
  height: 8px;
}
.companyInfo_tableContentUnderLink {
  margin-left: .4rem;
  text-decoration: underline;
  color: #000;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .companyInfo_tableContentUnderLink:hover {
    opacity: 0.6;
  }
}
.companyInfo_tableContentMini {
  padding-bottom: 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  grid-template-areas: "a a" "b b" "c c";
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_tableContentMini {
    border-bottom: 1px solid #D6DADC;
    padding: 2rem 0;
    gap: rem rem;
    grid-template-areas: "a a c" "b b b";
  }
}
.companyInfo_tableContentMini:first-child {
  padding-top: 0;
}
.companyInfo_tableContentMini:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.companyInfo_contentMiniTitle {
  grid-area: a;
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
}
.companyInfo_contentMiniText {
  grid-area: b;
  margin-bottom: 1rem;
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_contentMiniText {
    margin-bottom: 0;
  }
}
.companyInfo_contentMiniTextLink {
  grid-area: c;
  line-height: 2;
}
.companyInfo_contentMiniTextLink:after {
  top: 8px;
}
.companyInfo_history {
  width: 100%;
  margin-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .companyInfo_history {
    margin-bottom: 5rem;
  }
}
.companyInfo_history:last-child {
  margin-bottom: 0;
}
.companyInfo_historyTitle {
  font-size: 18px;
  color: #FFF;
  line-height: 1;
  letter-spacing: 0.05em;
  background: #0b406b;
  border-radius: 1rem 1rem 0 0;
  padding: 11px 18px;
  margin-bottom: 2.2rem;
}
@media screen and (min-width: 768px) {
  .companyInfo_historyTitle {
    font-size: min(1.3888888889vw, 2rem);
    padding: 15px 2.2rem;
    margin-bottom: 36px;
  }
}
.companyInfo_historyBox {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1rem;
  padding-left: 16px;
  padding-bottom: 2rem;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .companyInfo_historyBox {
    padding-left: 3.4rem;
    padding-bottom: 3.4rem;
  }
}
.companyInfo_historyBox:before {
  content: "";
  position: absolute;
  background: #0b406b;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  left: 0;
  top: 0.4em;
}
@media screen and (min-width: 768px) {
  .companyInfo_historyBox:before {
    left: 7px;
    top: 0.8em;
  }
}
.companyInfo_historyBox:after {
  content: "";
  position: absolute;
  background: #0b406b;
  height: 100%;
  width: 1px;
  left: .3rem;
  top: 0.8em;
}
@media screen and (min-width: 768px) {
  .companyInfo_historyBox:after {
    left: 1rem;
    top: 1em;
  }
}
.companyInfo_historyBox:last-child {
  margin-bottom: 0;
}
.companyInfo_historyBox:last-child:after {
  content: none;
}
.companyInfo_historyYear {
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.3rem;
  width: 35%;
}
@media screen and (min-width: 768px) {
  .companyInfo_historyYear {
    font-size: min(0.9722222222vw, 1.4rem);
    width: 20%;
  }
}
.companyInfo_historyText {
  font-size: 1.3rem;
  width: 80%;
}
@media screen and (min-width: 768px) {
  .companyInfo_historyText {
    font-size: min(0.9722222222vw, 1.4rem);
  }
}
.companyInfo_historyTextList {
  width: 100%;
}
.companyInfo_historyListText {
  position: relative;
  display: block;
  padding-left: 1.4rem;
}
.companyInfo_historyListText:before {
  content: "";
  position: absolute;
  background: #000;
  border-radius: 100%;
  width: .4rem;
  height: .4rem;
  left: 0;
  top: 0.8em;
}
.companyInfo_groupContentsList {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .companyInfo_groupContentsList {
    gap: 4rem;
  }
}
@media screen and (min-width: 99.2rem) {
  .companyInfo_groupContentsList {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
}
.companyInfo_groupContent {
  max-width: 335px;
  width: 100%;
  border: 1px solid #D6DADC;
  display: flex;
}
@media screen and (min-width: 768px) {
  .companyInfo_groupContent {
    max-width: 385px;
  }
}
.companyInfo_groupContentLink {
  width: 100%;
  color: #000;
  letter-spacing: 0.03em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 3.4rem 28px;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) {
  .companyInfo_groupContentLink:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 768px) {
  .companyInfo_groupContentLink {
    gap: 2.2rem;
    padding: 3.4rem 3rem;
  }
}
.companyInfo_groupLogo {
  max-width: 5.2rem;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .companyInfo_groupLogo {
    max-width: 6.4rem;
  }
}
.companyInfo_groupLogo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
}
.companyInfo_groupName {
  font-family: "Yu Gothic Pr6N B", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1.75;
  text-align: left;
  width: 80%;
}
@media screen and (min-width: 768px) {
  .companyInfo_groupName {
    font-size: min(1.1111111111vw, 16px);
  }
}

.companySite {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 96rem;
  padding-top: 10rem;
}
@media screen and (min-width: 768px) {
  .companySite {
    padding-top: 18rem;
  }
}
.companySite_list {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .companySite_list {
    align-items: stretch;
    flex-direction: row;
    gap: 4rem;
  }
}
.companySite_listContent {
  background: #F2F5F7;
  border-radius: 1rem;
  padding: 4rem 38px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .companySite_listContent {
    padding: 6rem;
    gap: 4rem;
  }
}
.companySite_listContentImage {
  background: #FFF;
  border-radius: 1rem;
  max-width: 100%;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .companySite_listContentImage {
    max-width: 34rem;
  }
}
.companySite_listContentImage img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 1rem;
}
.companySite_listContentBox {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .companySite_listContentBox {
    align-items: flex-start;
    gap: 25px;
  }
}
.companySite_listContentTitle {
  font-size: 18px;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #0b406b;
}
@media screen and (min-width: 768px) {
  .companySite_listContentTitle {
    text-align: left;
    font-size: min(1.6666666667vw, 2.4rem);
  }
}
.companySite_listContentText {
  font-size: 1.3rem;
  text-align: left;
  letter-spacing: 0.03em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .companySite_listContentText {
    font-size: min(0.9722222222vw, 1.4rem);
  }
}

.companyOtherInfo {
  padding: 10rem 0;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 114rem;
}
@media screen and (min-width: 768px) {
  .companyOtherInfo {
    padding: 18rem 0 16rem;
  }
}
.companyOtherInfo .sliderMedia_text {
  margin-bottom: 2.2rem;
}
@media screen and (min-width: 768px) {
  .companyOtherInfo .sliderMedia_text {
    margin-bottom: 3.2rem;
  }
}

@media screen and (min-width: 768px) {
  .customer_caseBodyHeading {
    flex: 0 0 8rem;
  }
}
.customer_caseButton {
  margin-top: 4rem;
  text-align: center;
}
.customer_caseButton--hidden {
  display: none;
}
.customer_searchList {
  cursor: pointer;
  background: #FFF;
  border-radius: 2rem;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.customer_searchList:after {
  content: "";
  position: absolute;
  border-top: 1px solid #0b406b;
  border-right: 1px solid #0b406b;
  transform: rotate(135deg);
  width: 6px;
  height: 6px;
  top: 1rem;
  right: 1.2rem;
}
.customer_searchSelect {
  cursor: pointer;
  color: #0b406b;
  font-family: "Inter", "Yu Gothic Pr6N M", sans-serif;
  font-size: min(0.9722222222vw, 1.4rem);
  padding: 7px 4rem 7px 1.2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .customer_searchSelect {
    padding: 7px 56px 7px 1.2rem;
  }
}
.customer_searchSelectYear {
  background: #FFF;
  color: #0b406b;
}

/*****************
ご案内メールの配信停止
******************/
.qmail {
  padding-top: 4rem;
}
@media screen and (min-width: 768px) {
  .qmail {
    padding-top: 6rem;
  }
}
.qmail_statement {
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
  margin: 0 auto 2rem;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .qmail_statement {
    font-size: min(1.1111111111vw, 16px);
    margin: 0 auto 3rem;
    text-align: center;
    width: 100%;
  }
}
.qmail_statement--important {
  font-size: 18px;
  color: #DE0000;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .qmail_statement--important {
    font-size: min(1.3888888889vw, 2rem);
  }
}
.qmail_statement--error {
  font-size: 18px;
  margin-bottom: 1rem;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .qmail_statement--error {
    font-size: min(1.3888888889vw, 2rem);
    margin-bottom: 8px;
  }
}
.qmail_contents {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 72rem;
}
.qmail_table {
  width: 100%;
  margin-bottom: 2rem;
  border-collapse: separate;
  border-spacing: rem;
}
@media screen and (min-width: 768px) {
  .qmail_table {
    margin-bottom: 3rem;
  }
}
.qmail_table--unsubscribed {
  margin-bottom: 0;
}
.qmail_checkbox {
  border: 1px solid #D6DADC;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .qmail_checkbox {
    flex-direction: row;
  }
}
.qmail_checkbox:last-child {
  margin-top: -1px;
}
.qmail_checkboxTitle {
  background: #F2F5F7;
  padding: 3rem 25px;
  font-family: "Yu Gothic Pr6N D", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, Meiryo, sans-serif;
  font-size: 15px;
  text-align: left;
  line-height: 1.75;
  letter-spacing: 0.03em;
  width: 100%;
  display: block;
}
@media screen and (min-width: 768px) {
  .qmail_checkboxTitle {
    font-size: 16px;
    width: 50%;
    display: inline-block;
  }
}
.qmail_checkboxContent {
  padding: 26px 3rem;
  line-height: 1.75;
  width: 100%;
  display: block;
}
@media screen and (min-width: 768px) {
  .qmail_checkboxContent {
    padding: 3rem;
    width: 50%;
    display: inline-block;
  }
}
.qmail_label {
  cursor: pointer;
  position: relative;
}
.qmail_label input[type=checkbox] {
  opacity: 0;
  visibility: hidden;
}
.qmail_label input[type=checkbox]:checked + span:after {
  opacity: 1;
}
.qmail_labelName {
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 0.03em;
  padding-left: 1.2rem;
}
@media screen and (min-width: 768px) {
  .qmail_labelName {
    font-size: 16px;
  }
}
.qmail_labelName:before {
  content: "";
  position: absolute;
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  background: #FFF6F6;
  border: 1px solid #EB9595;
  border-radius: 5px;
  left: 0;
  bottom: -.3rem;
}
.qmail_labelName:after {
  content: "";
  position: absolute;
  display: block;
  -webkit-mask-image: url(/corp/assets/images/icon_check_red.svg);
          mask-image: url(/corp/assets/images/icon_check_red.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: #DE0000;
  width: 1.4rem;
  height: 1.4rem;
  left: .4rem;
  bottom: -1px;
  z-index: 2;
  opacity: 0;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.qmail_checkStatement {
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0.03em;
  margin: 0 auto 3rem;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .qmail_checkStatement {
    font-size: min(0.8333333333vw, 1.2rem);
    width: 100%;
  }
}
.qmail_checkStatement--complete {
  margin-bottom: 0;
}
.qmail_sumbitButton {
  text-align: center;
}
.qmail_sumbitButton .themeButton--sm {
  max-width: 16.4rem;
}
@media screen and (min-width: 768px) {
  .qmail_sumbitButton .themeButton--sm {
    max-width: 22rem;
  }
}
.qmail_confirmText {
  font-size: 15px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .qmail_confirmText {
    font-size: 16px;
  }
}
.qmail_errorText {
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .qmail_errorText {
    font-size: min(1.1111111111vw, 16px);
  }
}

@media screen and (max-width: 767.98px) {
  .-pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .-sp {
    display: none !important;
  }
}

.pc-flex{
display: flex;
}
.flexCenter{
display: flex !important;
align-items: center;
justify-content: center;
 }
 .stretch{
  align-items: stretch;
 }
 .pc-flex.stretch>div,.pc-flex.stretch>li{
display: flex;
  flex-direction: column;
 }
 /*
 .pc-flex.stretch>div>div,.pc-flex.stretch>li>a,.pc-flex.stretch>li>div{
flex: 1;
  height: auto;
  display: block;
 }
  */
.tc{
  text-align: center;
}
.border{
  border: 0.1rem solid #808080;
  border-radius: 3rem;
}
.row{
  margin-left: -1.7%;
  margin-right: -1.7%;
  overflow: hidden;
  clear: both;
}
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9 {
  float: left;
  padding-left: 1.7%;
  padding-right:1.7%;
}

.col-sm-1 {
  width: 8.333333%;
}

.col-sm-2 {
  width: 16.66666%;
}

.col-sm-3 {
  width: 25%;
}

.col-sm-4 {
  width: 33.3333%;
}

.col-sm-5 {
  width: 41.66666%;
}
.col-sm-6 {
  width: 50%;
}

.col-sm-7 {
  width: 58.333333%;
}

.col-sm-8 {
  width: 66.66666%;
}

.col-sm-9 {
  width: 75%;
}

.col-sm-10 {
  width: 83.33333%;
}

.col-sm-12 {
  width: 100%;
}

.col-sm-offset-1 {
  margin-left: 8.333333%;
}

.col-sm-offset-2 {
  margin-left: 16.66666%;
}
.radious30{
  border-radius: 3rem;
}
.radious20{
  border-radius: 2rem;
}
.topPurpose{
  position: relative;
  padding: 15rem 0 35rem;
}
.topPurpose p.fs30{
  letter-spacing: 0.15em;
}
.topPurposeList{
  position: absolute;
  right: 0;
  bottom: 5rem;
  width: 60%;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding: 4rem 0;
}
.topPurposeList li{
  display: flex;
  background: url(images/ulBg.jpg) no-repeat center/cover;
   background-position: bottom 20% center;
  align-items: center;
  height: 10rem;
  padding: 1rem 1.5rem 1rem 3.6rem;
  border-radius: 4rem 0 0 4rem;
}

.topPurposeList li .fs22{
  white-space: nowrap;
  width: 28rem;
}
.topBrand{
  padding: 10rem 0;
}
.topBrand img{
      transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.topBrand .border{
  height: 100%;
  padding: 10%;
  position: relative;
}
.productOuter{
  aspect-ratio: 4.6/3;
  display: flex;
  align-items: center;
  justify-content:center;
  padding: 1.5rem;
}
.productOuter img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.bgBlue{
  color: #fff;
  background: #67abcd;
  line-height: 7.5rem;
  text-align: center;
  border-radius: 2rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 3rem;
}
.indexCompany{
  background: url(images/top/bg02.jpg) no-repeat;
  background-size: cover;
}
.indexNews{
  background: url(images/top/bg03.jpg) no-repeat;
  background-size: cover;
}
.indexAchievement{
  background: url(images/top/bg04.jpg) no-repeat;
  background-size: cover;
}
.indexUserVoice{
     background: url(images/top/bg05.jpg) no-repeat center;
    background-size: cover;
}
.indexUserVoice .bb{
  border-bottom: 1px solid #2b2b2b;
  padding-bottom: 3rem;
  margin-bottom: 6rem;
  line-height: 6rem;
}
.indexRecruit{
  background: url(images/top/bg06.jpg) no-repeat;
  background-size: cover;
}

.indexShop{
  background: url(images/top/bg07.jpg) no-repeat;
  background-size: cover;
}
.infoUl{
  margin-left: auto;
  margin-right: auto;
}
.infoUl li{
border-bottom: 1px solid #a6a6a7 ;
margin-bottom: 2rem;
position: relative;
} 
.infoUl2b li{
  border-bottom: 1px solid #2b2b2b ;
}
.infoUl li .date{
  padding-right: 1em;
}
.infoUl li a{
  max-width: 63rem;
 display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
padding:0 3rem .3rem 0;
}
.infoUl li a:after{
    display: block;
    content: "";
    background: url(images/icon_arrow_right_s.svg) no-repeat center;
    background-size: contain;
    width:.7rem;
    height:1.1rem;
    position: absolute;
    bottom:1.3rem;
    right:.5rem;
    will-change: transform;
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.infoUl li a:hover:after{
  right: 0;
}
.topInfoImg{
  aspect-ratio: 1.757/1;
  border-radius: 1.5rem;
  max-width: 45.7rem;
  margin: 0 auto 1rem;
  overflow: hidden;
}
.topInfoImg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/*Lower*/
.breadcrumb_list{
padding: 12rem 0 1rem 6rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.breadcrumbArrow{
  margin: 0 0 -.2rem -.8rem;
  width: 1rem;
  height: 1rem;
  border: solid 1px;
  border-color: #2b2b2b #2b2b2b transparent transparent;
 transform: rotate(45deg) skew(-10deg, -10deg);
}

.breadcrumb_list span{
  font-size: 1.4rem;
}
.achievementsUl li{
  margin-bottom: 4rem;
  border-bottom: 1px solid #808080;
}
.achievementsUl li .fcRblue{
  display: block;
}
.stepUl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  max-width: 78rem;
  margin: 4rem auto 9rem;
  padding: 0;
  list-style: none;
}

.stepUl::before {
content: "";
    position: absolute;
    top: -1.3rem;
    width: 52rem;
    left: 13rem;
    right: 0;
    height: 2px;
    background: #808080;
    z-index: 1;
}

.stepUl li {
  text-align: center;
  position: relative;
  flex: 1;
  z-index: 2;
}

.stepUl li .stepNum {
  padding-top: 3.5rem;  
  margin-bottom: 1rem;
  position: relative;
}
.stepUl li .stepNum:before{
  content: "";
  position: absolute;
  top: 1rem;
  left: 50%;
  margin-left: -.8rem;
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: #808080;
}
.stepUl li .stepLabel {
  display: block;
  color: #777;
}

.stepUl li.current .stepNum:before {
 background: #0b406b;
    width: 2.5rem;
    height: 2.5rem;
    top: 0.5rem;
}

.stepUl li.current .stepLabel {
  color: #0b406b;
}

@media screen and (min-width: 768px) {
  .breadcrumb_list {
    gap: 1rem;
  }

}
.breadcrumb_item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .breadcrumb_item {
    gap: 1rem;
  }
}
.breadcrumb_item:after {
  content: "";
  display: block;
  border-top: 1px solid #0b406b;
  border-right: 1px solid #0b406b;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
}
@media screen and (min-width: 768px) {
  .breadcrumb_item:after {
    width: 8px;
    height: 8px;
  }
}
.breadcrumb_item:last-child::after {
  content: none;
}
.breadcrumb_link {
  color: #333;
  font-size: min(0.8333333333vw, 1.2rem);
}
.contactTable{
  width: 100%;
max-width: 68rem;
margin: auto;
}
.contactTable .wpcf7-list-item{
  display: block;
}
.wpcf7-not-valid-tip{
  color: #f00;
  font-weight: 500;
}
.contactTable th,.contactTable td{
  display: block;
  width: 100%;
}
.contactTable th{
  font-size: 2rem;
  padding: 2rem 1.5rem 1rem;
  font-weight: 500;
}
.contactTable td{
  padding-bottom: 1rem;
}
.contactTable.contactTableConfirm th{
  padding: 2rem 1.5rem 1.5rem 0;
}
input[type=text],input[type=email],textarea,select{
  width: 100%;
border: .1rem solid #808080;
padding: 1.5rem;
}
input[type="radio"]{
position: absolute;
    left: 1.5rem;
    bottom: 3.2rem;
    transform: scale(1.5);

}
input[type="checkbox"] {
  appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #a7a7a8;
  border-radius: 3px;
  cursor: pointer;
  margin-right: 0.8rem;
}
select{
  position: relative;
  background: url(images/icon_arrow_select.svg) no-repeat right 1.2rem center ;
  background-size: 1.5rem;
}

input[type="checkbox"]:checked {
  background-color: #67acce;
}

label{
  display: flex;
  align-items: center;
  line-height: 1;
}
input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 3px;
  width: 12px;
  height: 8px;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  transform: rotate(-45deg);
}
.materialsOuter{
  border: #a7a7a8 .1rem dotted;
  padding: 5rem;
}
.wpcf7-form-control{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.materialsOuter .wpcf7-list-item{
  width: 46%;
    border-bottom: .1rem solid #a7a7a8;
    display: block;
    margin: 0 0 4rem 0;
}
.materialsOuter .wpcf7-list-item label{
    position: relative;
    padding: 2.8rem 0 2rem 5rem;
    cursor: pointer;
}
.wpcf7-list-item-label{
  font-size: 1.7rem;
}
.acceptanceOuter .wpcf7-not-valid-tip{
  font-size: 1.2rem;
      color: #67acce ;
}
.materialsOuter .wpcf7-list-item .wpcf7-list-item-label:before{
  content:"[社内調査資料]";
  font-size: 1.7rem;
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: 5rem;
}
.materialsOuter input[type="checkbox"]{
 position: absolute;
    top: 1.42rem;
    left: 1.5rem;
}
.wpcf7-acceptance .wpcf7-list-item{
  margin: auto;
}
.dlUl li{
    background: url(images/pdfIcon.webp) no-repeat left center;
    padding: 1.2rem 0 1.2rem 4rem;
    border-bottom: .1rem solid #a7a7a8;
    margin-bottom: 2rem;
}
#footerContact{
  padding: 10rem 0;
}
#footerContact .linkButton,.buttonOuter .linkButton{
  display: block;
  position: relative;
  width: 100%;
max-width: 64.2rem;
}
.buttonOuter .linkButton.linkButtonPrev{
width: 30%;
min-width: 10rem;
margin-right: 1.5rem;
}
.linkButton .linkButton_icon{
  position: absolute;
  top: 50%;
  right: 1.5rem;
  margin-top: -0.6rem;
}
.toShop{
  display: block;
  border: 1px solid #3f3f3f;
  margin:   auto;
  position: relative;
}
header .toShop{
max-width: 66.6rem;
line-height: 6.6rem;
}

header .toShop img{
  width: 2.6rem;
  position: absolute;
  top:2.1rem;
   left:25%;
}
footer .toShop{
max-width: 45rem;
line-height: 5rem;
}
.footer a:hover{
     opacity: 0.6;
  } 
.singleContents{
  max-width: 70rem;
  margin: auto;
}
.singleContents h1{
font-size:2.8rem;
    white-space: normal;
    line-height: 1.5;
}
.singleContents h2{
font-size: 2.4rem;
    white-space: normal;
    line-height: 1.5;
    margin-bottom: 2rem;
}
.singleContents h3{
  font-size: 2rem;
      white-space: normal;
    line-height: 1.5;
}
.singleContents a{
  text-decoration: underline;
}
.singleContents img{
  display: block;
  border-radius: 4rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .breadcrumb_link {
    font-size: min(0.9722222222vw, 1.4rem);
  }
}
@media (hover: hover) {
  .breadcrumb_link:hover {
    color: #0b406b;
  }
}

.lowerMv{
  height: 30rem;
  background: url(images/lowerTtlBg.jpg) no-repeat center;
  position: relative;
  overflow: hidden;
  background-size: cover;
  margin-bottom: 3rem;
}
.lowerMv:before,.lowerMv:after,.lowerMv .circle{
  content:"";
  display: block;
  aspect-ratio: 1;
  background-color: #fff;
  opacity: 0.3;
  border-radius: 50%;
  position: absolute;
}
.lowerMv.comMv,.lowerMv.activitiesMv{
  background: url(images/lowerTtlBg.jpg) no-repeat center top;
  background-size: cover;
}
.page2:before,.activitiesMv:before,.recruitMv:before{
     width: 56.3rem;
    margin-right: 77%;
}
.page2:after,.recruitMv:after{
width:34.6rem;
bottom: -19rem;
 margin-left: 64%;
}
.activitiesMv:after{
width:34.6rem;
bottom: -14rem;
 margin-left: 64%;
}
.page21:before{
    width: 64rem;
    bottom: -45rem;
    margin-right: 64%;
}
.page21:after{
width: 25.7rem;
    top: -18rem;
    margin-left: 58%;
}
.page23:before{
width: 64rem;
    top: -41rem;
    margin-right: 51%;
}
.page23:after{
width: 25.7rem;
    bottom: -13rem;
    right: -7rem;
}
.page34:before{
width: 105.9rem;
    bottom: -44rem;
    margin-right: 50%;
}
.page34:after{
display: none;
}
.page25:before{
    width: 52rem;
    top: -24rem;
    margin-right: 29%;
}
.page25:after{
width: 19.6rem;
    bottom: -8rem;
    right: 8%;
}
.page25 .circle{
width: 9.1rem;
    top: 9rem;
    left: 6%;
}
.page27:before{
width: 64rem;
    top: -6rem;
    left: -20rem;
}
.page27:after{
display: none;
}
.lowerMv.brandMv{
  background: url(images/lowerTtlBg.jpg) no-repeat center top;
  background-size: cover;
}
.page11:before{
width: 30.9rem;
    bottom: -9rem;
    left: -5rem;
}
.page11:after{
    width: 34.6rem;
    top: -12rem;
    right: -6rem;
}
.userMv{
  background: url(images/lowerTtlBg.jpg) no-repeat center top;
  background-size: cover;
}
.userMv:before{
width: 56.3rem;
    top: -40rem;
    margin-right: 52%;
}

.userMv:after{
       width: 76.6rem;
    top: -5rem;
    right: -30rem;
}
.contactMv{
  background: url(images/lowerTtlBg.jpg) no-repeat center top;
  background-size: cover;
}

.page17:before,.page199:before,.page201:before{
    width: 47.9rem;
    top: -24rem;
    margin-right: 68%;
}
.page17:after,.page199:after,.page201:after{
    width: 35.4rem;
    bottom: -24rem;
    margin-left: 68%;
}
.page112:before,.page216:before,.page220:before{
width: 34.6rem;
    top: -18rem;
    margin-right: 46%;
}
.page112:after,.page216:after,.page220:after{
    width: 56.3rem;
    top: -19rem;
    margin-left: 69%;
}
.newsMv{
  background: url(images/lowerTtlBg.jpg) no-repeat center top;
  background-size: cover;
}
.newsMv:before{
width: 34.9rem;
    top: -3rem;
    margin-right: 58%;
}

.newsMv:after{
width: 37.6rem;
    top: -15rem;
    margin-left: 61%;
}
.newsMv .circle{
width: 9.1rem;
    bottom: -5rem;
    margin-left: 27%;
}

.privacyMv:before{
width: 34.6rem;
  bottom: -20rem;
  left:-15rem;
}
.privacyMv:after{
width: 56.3rem;
    top: -38rem;
    right: -15rem;
}
.lowerMv h1{
  margin: 0 auto;
  position: relative;
  z-index: 2;
  letter-spacing: 0.12em;
}
main.container {
    padding: 4rem 6%;
}
.pagination{
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination li{
margin: 1rem;
}
.pagination .prev .topMenu_button{
  transform: rotate(180deg);
}
/*Company*/
.articleUl{

}

.articleUl li .border,.articleUl li .border a{
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.articleUl01{
  display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.articleUl01 li .border .imgOuter{
  height:33rem;
}
.articleUl01.comArticleUl01 li .border .imgOuter{

}
.articleUl01 li{
  margin-bottom: 3.4%;
}
.articleUl01 .articleTxt{
width: 90%;
margin: auto;
padding: 2rem;
}
.articleUl02 li {
height: 13.5rem;
padding-left: 1%;
    padding-right:1%;
  margin-bottom: 2%;
}
.articleUl02 li.current{
  pointer-events: none;
  opacity: 0.5 !important;
}
.articleUl02 li .border .imgOuter{
  width: 40%;
   height: 100%;
}
.articleUl02 li .border .articleTxt{
  height: 100%;
  width: 60%;
}
.articleUl03 li .imgOuter{
  width: 45%;
}
.articleUl03 li .contentTxt{
  width: 55%;
 display: flex;
    justify-content: center;
}
/*user-voice*/
.userVoiceOuter>div{
  height: 46rem;
}
.userVoiceOuter .imgOuter{
height: 35rem;
}
.userVoiceOuter  .userVoiceTxt{
  height: 11rem;
}
.userVoiceOuter .topMenu_button{
 right: 2rem;
 bottom: 2rem;
}
/*review*/
.singleReview_commentBody{
  z-index: 2;
}
.ukomi-sns-share-section,.ratingOverview,.reviewWidget_inner .reviewTypeSection,.reviewWidget_inner .reviewSortingSection,.reviewWebsiteRedirect{
  display: none !important;
}
.ReviewWidget_pagination span.active, .ReviewWidget_question_pagination span.active, .productWidget_pagination span.active,.page-numbers.current,.current a{
  font-weight: bold;
      color: #2b2b2b !important;
}
.loadedReviews{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.singleReview {
width: 31.33%;
height: 65rem;
border: 1px solid #080808 !important;
border-radius: 3rem;
}
.singleReview_body{
  height: 20rem;
  overflow-y: scroll !important;
}
.ReviewWidget_pagination span{
      border: none !important;
}
.ReviewWidget_pagination span.active, .ReviewWidget_question_pagination span.active, .productWidget_pagination span.active{
  background: none !important;
  border: none !important;
}
.ReviewWidget_pagination>div.prev,.ReviewWidget_pagination>div.next{
      border: 1px solid #808080 !important;
    background: #fff;
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 50%;
    display: inline-flex  ;
    justify-content: center;
    align-items: center;
    gap: 9px;
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.ReviewWidget_pagination>div.first,.ReviewWidget_pagination>div.last{
  display: none;
}
.ReviewWidget_pagination>div, .ReviewWidget_question_pagination>div, .productWidget_pagination>div{
  margin: 1rem !important;
}
.ReviewWidget_pagination span, .ReviewWidget_question_pagination span, .productWidget_pagination span{
  padding: 0 !important;
}
.ReviewWidget_pagination{
  margin: auto !important;
}
.ReviewWidget_pagination span:hover, .ReviewWidget_question_pagination span:hover, .productWidget_pagination span:hover{
  background-color: #fff !important;
    color: #333 !important;
}
.letterOuter{
  aspect-ratio: 7/4;
  background: url(images/user-voice/letter.png);
  background-size: cover;
}
/*doctor*/


/*communication*/
.communicationOuter{

}

.communicationOuter .pdfOuter{
  max-width: 49.3rem;
  padding: 8.4rem;
}
.comNew{
  color: #fff;
  background: #67acce;
  position: absolute;
  top: 0;
  left: 0;
  content:"NEW";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.4rem;
  height: 8.4rem;
  border-radius: 50%;
}
.communicationOuter .imgOuter{
  
}
#volList{

}
#volList .linkButton{
width: calc(33.33% - 1.2rem);
float: left;
margin: .6rem;
}
.toArc{
  padding-bottom: 3rem;
}
.toArc:after{
  content:"";
  display: block;
  position: absolute;
  bottom: 1rem;
  left: 50%;
  margin-left: -1rem;
   width: 1.5rem;
    height: 1.5rem;
    border: solid 1px;
    border-color: #0b406b #0b406b transparent transparent;
    transform: rotate(135deg);
}
.communicationOuter .topMenu_button{
border: 1px solid #0b406b;
    width: 3.9rem;
    height:3.9rem;
}
.communicationOuter .topMenu_icon{
      width: 1rem;
    height: 1rem;
}
.communicationOuter .topMenu_icon::before,.communicationOuter .topMenu_icon::after {
    display: block;
    content: "";
    background: url(images/icon_arrow_right_blue.svg) no-repeat center;
    background-size: contain;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    will-change: transform;
}
/*brand*/
.anchor{
  clear: both;
  overflow: hidden;
}
.brandAnchor li{

}
.brandAnchor li a{
position: relative;
padding-left: 2rem;
}
.brandAnchor li a:hover{
  opacity: 0.7;
}
.brandAnchor li a:before{
  content:"";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -0.3rem;
      width: 1rem;
    height: 1rem;
    border: solid 1px;
    border-color: #2b2b2b #2b2b2b transparent transparent;
    transform: rotate(45deg) skew(-10deg, -10deg);
}
.brandCard .border{
flex:none !important;
}
.brandCard .imgOuter{
aspect-ratio: 25/21;
}
.brandCard .imgOuter img{
object-fit: cover;
}
.brandName{
  white-space: nowrap;
  line-height: 1.4;
}
.brandLinks .linkButton{
  max-width: none;
}
.brandLinksInner{
  margin: 0 -1%;
}
.brandLinksInner{
  margin: 2rem 0;
}
.brandLinksInner{
  display: flex;
  justify-content: space-between;
}
.brandLinksInner .linkButton{
  width: 49%;
  margin: 0 1%;
}
.brandSns{
display: flex;
 margin-left: .5rem;
}

.brandSns li{
  margin-left: 1rem;
}
.brandSns li a{
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border: 1px solid #231815;
  border-radius: .3rem;
}
.brandSns li a.x{
  background: url(images/brand/iconX.png) no-repeat;
  background-size: cover;
}
.brandSns li a.insta{
  background: url(images/brand/iconIns.png) no-repeat;
  background-size: cover;
}
.brandSns li a:hover{
  opacity: 0.7;
}
/*privacy*/

.privacyOuter h4{
  padding-bottom: .5rem;
  margin-bottom: 1.2rem;
  border-bottom: 1px solid #808080;
}
.privacyOuter ul{
  padding-left: 2rem;
}
.privacyOuter ul li{
 list-style-type: disc;
}
.swiper-buttonWrap{
  position: absolute;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 3;
  top: 50%;
  margin-top: -2.8rem;
  height: 5.6rem;
}
.swiper-button-prev{
margin-right: 2rem;
}
.swiper-button-next{
  margin-left: 2rem;
  transform: rotate(180deg);
}
@media screen and (max-width: 767.98px) {
  
.sfs10 { font-size: max(0.6944444444vw, 1rem); }
.sfs12 { font-size: max(0.8333333333vw, 1.2rem); }
.sfs13 { font-size: max(0.9027777778vw, 1.3rem); }
.sfs14 { font-size: max(0.9722222222vw, 1.4rem); }
.sfs15 { font-size: max(1.0416666667vw, 1.5rem); }
.sfs16 { font-size: max(1.1111111111vw, 1.6rem); }
.sfs17 { font-size: max(1.1805555556vw, 1.7rem); }
.sfs18 { font-size: max(1.25vw, 1.8rem); }
.sfs19 { font-size: max(1.3194444444vw, 1.9rem); }
.sfs20 { font-size: max(1.3888888889vw, 2rem); }
.sfs21 { font-size: max(1.4583333333vw, 2.1rem); }
.sfs22 { font-size: max(1.5277777778vw, 2.2rem); }
.sfs23 { font-size: max(1.5972222222vw, 2.3rem); }
.sfs24 { font-size: max(1.6666666667vw, 2.4rem); }
.sfs26 { font-size: max(1.8055555556vw, 2.6rem); }
.sfs28 { font-size: max(1.9444444444vw, 2.8rem); }
.sfs29 { font-size: max(2.0138888889vw, 2.9rem); }
.sfs30 { font-size: max(2.0833333333vw, 3rem); }
.sfs31 { font-size: max(2.15277777764vw, 3.1rem); }
.sfs32 { font-size: max(2.2222222222vw, 3.2rem); }
.sfs33 { font-size: max(2.2916666667vw, 3.3rem); }
.sfs34 { font-size: max(2.3611111111vw, 3.4rem); }
.sfs36 { font-size: max(2.5vw, 3.6rem); }
.sfs38 { font-size: max(2.6388888889vw, 3.8rem); }
.sfs40 { font-size: max(2.7777777778vw, 4rem); }
.sfs42 { font-size: max(2.9166666667vw, 4.2rem); }
.sfs44 { font-size: max(3.0555555556vw, 4.4rem); }
.sfs45 { font-size: max(3.125vw, 4.5rem); }
.sfs46 { font-size: max(3.1944444444vw, 4.6rem); }
.sfs48 { font-size: max(3.3333333333vw, 4.8rem); }
.sfs50 { font-size: max(3.4722222222vw, 5rem); }
.sfs52 { font-size: max(3.6111111111vw, 5.2rem); }
.sfs54 { font-size: max(3.75vw, 5.4rem); }
.sfs56 { font-size: max(3.8888888889vw, 5.6rem); }
.sfs58 { font-size: max(4.0277777778vw, 5.8rem); }
.sfs60 { font-size: max(4.1666666667vw, 6rem); }
.sfs62 { font-size: max(4.3055555556vw, 6.2rem); }

.smt10{
  margin-top: 1rem;
}
.smt15{
  margin-top: 1.5rem;
}
.smt20{
  margin-top: 2rem;
}
.smt30{
  margin-top: 3rem;
}
.smt40{
  margin-top: 4rem;
}
.smt45{
  margin-top: 4.5rem;
}
.smt50{
  margin-top: 5rem;
}
.smt60{
  margin-top: 6rem;
}
.smt70{
  margin-top: 7rem; 
}
.smt80{
  margin-top: 8rem;
}
.smt90{
  margin-top: 9rem;
}
.smt100{
  margin-top: 10rem;
}
.smt120{
  margin-top: 12rem;
}
.smb0{
  margin-bottom:0;
}
.smb10{
  margin-bottom: 1rem;
}
.smb15{
  margin-bottom: 1.5rem;
}
.smb20{
  margin-bottom: 2rem;
}
.smb30{
  margin-bottom: 3rem;
}
.smb40{
  margin-bottom: 4rem;
}
.smb45{
  margin-bottom: 4.5rem;
}
.smb50{
  margin-bottom: 5rem;
}
.smb60{
  margin-bottom: 6rem;
}
.smb70{
  margin-bottom: 7rem;
}
.smb80{
  margin-bottom: 8rem;
}
.smb90{
  margin-bottom: 9rem;
}

.sp10{
  padding: 1rem;
}
.sp15{
  padding: 1.5rem;
}
.sp20{
  padding: 2rem;
}
.sp30{
  padding: 3rem;
}
.sp45{
  padding: 4.5rem;
}
.sp60{
  padding: 6rem;
}
.sp6020{
  padding: 6rem 2rem;
}
.pc-flex{
flex-flow: column;
}
.sp-center{
  text-align:center;
}
.sp-left{
  text-align: left;
}
  .col-xs-4 {
    width: 33.333%;
  }
  .col-xs-6 {
    width: 50%;
  }
  .col-xs-8 {
    width: 66.666%;
  }
  .col-xs-12 {
    width: 100%;
  }
  h2{ 
    margin: 0 auto 3rem;
    font-size: 8vw;
  }
h2 span{
    font-size: 4vw;
    height: 2em;
    margin: 1.5rem auto;
  }
  .linkButton.h54.w350{
        max-width: 26rem;
  }
  .breadcrumb_list {
    padding: 70px 0 0 2.4rem;

}
  .mainVisual {
    height:100svh;
    margin: -4rem 0 0 -7%;
    background: url(images/top/mvSp.jpg) no-repeat center;
    background-size: cover;
}
  .mainVisual_copy {
  position: absolute;
  top: 14vh;
  left: 0;
  line-height: 1.6;
  transform: none;
  color: #FFF;
  z-index: 1;
  width: 100%;
  padding: 0 2rem;
}
.topPurpose,.topBrand{
padding: 6rem 0;
}
.bgBlue{
  line-height: 5.7rem;
}
.topPurposeList{
  margin-top: 6rem;
  position: relative;
 bottom: 0;
 width: 100%;
 gap: 2.4rem;
}
.topPurposeList li{
  height: 13rem;
  display: block;
}
.topPurposeList li span{
  display: block;
  width: auto;
}
.topPolicy{
  padding: 6rem 5%;
  background: url(images/top/bgDevSp.jpg) no-repeat;
  background-size: cover;
}

.indexCompany {
    background: url(images/top/bg02Sp.jpg) no-repeat;
    background-size: cover;
}
.indexNews {
    background: url(images/top/bg03Sp.jpg) no-repeat;
    background-size: cover;
}
.indexAchievement {
   background: url(images/top/bg04.jpg) no-repeat right 36% bottom;
        background-size: cover;
}
.indexUserVoice {
    background: url(images/top/bg05.jpg) no-repeat center right 66%;
    background-size: cover;
}
.indexRecruit {
    background: url(images/top/bg06Sp.jpg) no-repeat;
    background-size: cover;
}
.indexShop {
    background: url(images/top/bg07Sp.jpg) no-repeat;
    background-size: cover;
}
.indexUserVoice .bb{
    line-height: 3rem;
}
.indexUserVoice .bb a{
padding-left: 15%;
        display: flex;
        align-items: center;
        justify-content: space-between;
}
.infoUl li .date{
  display: block;
  padding-right: 0;
}
.lowerMv{
  height: 18.5rem;
  margin-bottom: 6rem;
      background: url(images/lowerTtlBgSp.jpg) no-repeat center bottom;
    background-size: cover;
}
.lowerMv:before,.lowerMv:after,.lowerMv .circle{
  content:"";
  display: block;
  aspect-ratio: 1;
  background-color: #fff;
  opacity: 0.3;
  border-radius: 50%;
  position: absolute;
}
.lowerMv.comMv,.lowerMv.activitiesMv{
  background: url(images/lowerTtlBgSp.jpg) no-repeat center bottom;
  background-size: cover;
}
.page2:before,.recruitMv:before{
     width: 31rem;
            margin-right: 90%;
}
.page2:after,.page23:after,.activitiesMv:before,.recruitMv:after,.page21:after,.page25 .circle,.page11:before,.page27:after{
display: none;
}
.page21:before{
width: 31rem;
        bottom: -24rem;
        margin-right: 102%;
}

.page23:before{
width: 31rem;
        top: -16rem;
        margin-right: 78%;
}
.page34:before{
        width: 29.6rem;
        margin-right: 0;
        left: -5rem;
        bottom: -8rem;
}
.page34:after{
display: none;
}
.page25:before{
        width: 17.6rem;
        top: auto;
        bottom: -10rem;
        margin-right: 0;
        left: -5rem;
}
.page25:after{
width: 17.3rem;
        top: -3rem;
        bottom: auto;
        right: -7%;
}

.page27:before{
width: 61rem;
        top: auto;
        bottom: -47rem;
        left: -46rem;
}

.activitiesMv:after{
width: 31rem;
        bottom: -16rem;
        margin-left: 0;
        right: -19rem;
}
.lowerMv.brandMv{
  background: url(images/lowerTtlBgSp.jpg) no-repeat center bottom;
  background-size: cover;
}
.page11:after{
        width: 22.9rem;
        top: -12rem;
        right: -13rem;
}
.userMv{
  background: url(images/lowerTtlBgSp.jpg) no-repeat center bottom;
  background-size: cover;
}
.userMv:before{
width: 8.1rem;
        top: -2rem;
        margin-right: 0;
        left: 2rem;
}

.userMv:after{
       width: 19.6rem;
    top: auto;
    bottom: -10rem;
        right: 3rem;
}
.contactMv{
  background: url(images/lowerTtlBgSp.jpg) no-repeat center bottom;
  background-size: cover;
}

.page17:before,.page199:before,.page201:before{
width: 31rem;
        top: -17rem;
        margin-right: 0;
        left: -21rem;
}
.page17:after,.page199:after,.page201:after{
width: 18.5rem;
        bottom: -11rem;
        margin-left: auto;
        right: -8rem;
}
.page112:before,.page216:before,.page220:before{
display: none;
}
.page112:after,.page216:after,.page220:after{
   width: 31rem;
        top: 0rem;
        margin-left: 0;
        right: -11rem;
}
.newsMv{
  background: url(images/lowerTtlBgSp.jpg) no-repeat center bottom;
  background-size: cover;
}
.newsMv:before{
width: 34.9rem;
    top: -3rem;
    margin-right: 58%;
}

.newsMv:after{
width: 37.6rem;
    top: -15rem;
    margin-left: 61%;
}
.newsMv .circle{
width: 9.1rem;
    bottom: -5rem;
    margin-left: 27%;
}

.privacyMv:before{
display: none;
}
.privacyMv:after{
width:31rem;
    top: -18rem;
    right: -15rem;
}

  .articleUl01 li,.articleUl02 li{
    margin-bottom: 2rem;
  }
  .recruitImg{
    margin: 0 -2rem;
        max-width: calc(100% + 4rem);
  }
.achievementsMv{
  margin: 3rem -2rem 0;
  max-width: calc(100% + 4rem);
}
.companyTable th,.companyTable td{
  padding: 2rem 1rem;
}
.stepUl{
  flex-flow: column;
      align-items: flex-start;
      margin: 4rem  0 0 0;
}
    .stepUl::before {
        content: "";
        position: absolute;
        top: 1rem;
        width: 2px;
        left: 1.4rem;
        right: 0;
        height: 20rem;
    }
.stepUl li{
  display: flex;
  text-align: left;
  margin-bottom: 5rem;
}
.stepUl li .stepNum{
  padding-top: 0;
  padding-left: 4rem;
}
.stepUl li .stepNum:before {
    content: "";
    position: absolute;
    top: 1rem;
    left: 1.5rem;
    margin-left: -.8rem;
    display: block;
}
.stepUl li.current .stepNum:before {
    content: "";
    position: absolute;
    top:.6rem;
    left: 1rem;
    margin-left: -.8rem;
    display: block;
}
.commonLinks dt{
  border-bottom: 1px solid #a6a6a7;
  padding-bottom: 0.3rem;
  margin-top: 1.3rem;
}
.commonLinks.spAc dt{
  cursor: pointer;
  position: relative;
}
.commonLinks.spAc dt:after{
  content: "";
  display: block;
  position: absolute;
  width: 1rem;
  height: 1rem;
  right:.5rem;
  bottom: 1.2rem;
  border: solid #3f3f3f;
  border-width: 1px 1px 0 0;
  transform: rotate(135deg)
}
.commonLinks.spAc dt.active:after{
transform: rotate(-45deg);
bottom: 0.7rem;
}
.commonLinks dd{
display: none;
}
header .toShop{
  display: flex;
    align-items: center;
    justify-content: center;
}
header .toShop img{
  position: relative;
          margin-right: 2rem;
          margin-left: -2rem;
        left: auto;
        top: auto;
}
.materialsOuter .wpcf7-list-item{
  width: 100%;
  margin: 0 0 2rem 0;
}
.materialsOuter{
  padding: 2rem .7rem;
}
.communicationOuter .pdfOuter{
      padding:8rem 4rem;
}
#volList .linkButton{
      width: calc(50% - 1.2rem);
}

.articleUl02 li .imgOuter,.articleUl02 li .contentTxt,.articleUl03 li .imgOuter,.articleUl03 li .contentTxt{
  width:100%;
}
.articleUl03 li .imgOuter{

}
.articleUl03 li .contentTxt{
  display: block;
  height: 21rem;
}
.userVoiceOuter>div {
    height: 28rem;
}
.userVoiceOuter .imgOuter {
       height: 20rem;
}
.userVoiceOuter .userVoiceTxt {
    height: 8rem;
}
.loadedReviews{
flex-flow: column;
}
.singleReview{
  width: 100%;
  height: auto;
}
.articleList_dateList{
  display: flex;
  justify-content: space-between;
}
.articleList_dateListSelect{
  width: 48%;
  margin-right: 0;
}
.articleUl02 li {
  height: 10rem;
    padding-left:6%;
    padding-right:6%;
}
}
