html {
  font-size: calc(10vw / 3.75) !important;
  -webkit-font-smoothing: antialiased; }

body {
  color: #000000;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 1.5rem;
  line-height: 1.8;
  background-color: #FFFFFF;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

body.lock,
body.loading {
  overflow: hidden;
  width: 100vw;
  height: 100vh; }

@media screen and (min-width: 769px) {
  html {
    font-size: 8px !important; }

  body {
    font-size: 1.6rem;
    line-height: 1; } }
@media screen and (min-width: 1050px) {
  html {
    font-size: 9px !important; } }
@media screen and (min-width: 1150px) {
  html {
    font-size: 10px !important; } }
* {
  -webkit-tap-highlight-color: transparent; }

a {
  color: inherit;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

p, dt, dd, li {
  word-break: break-word;
  word-wrap: normal; }

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

.title img {
  width: 100%; }

label {
  cursor: pointer; }

label > * {
  cursor: pointer; }

figure img {
  width: 100%;
  height: auto; }

picture img {
  width: 100%;
  height: auto; }

::placeholder {
  font-weight: 500; }

.ib {
  display: inline-block;
  line-height: inherit;
  font-weight: inherit; }

.en {
  font-family: "Figtree", sans-serif; }

.serif {
  font-family: "BIZ UDPMincho", serif; }

.txtBold {
  font-weight: 700; }

.sub {
  font-size: 0.7em;
  vertical-align: sub; }

.accordionTrigger {
  cursor: pointer;
  display: block; }

.accordionContent {
  display: none; }

input[type="submit"] {
  cursor: pointer; }

.slide .item {
  opacity: 0;
  position: absolute;
  top: 0; }
  .slide .item:first-child {
    opacity: 1;
    position: relative; }
.slide.slick-initialized .item {
  opacity: 1;
  position: relative; }
.slide .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: 3rem 0 0 0; }
  .slide .slick-dots li {
    overflow: hidden;
    flex-basis: 10px;
    margin: 0 10px; }
    .slide .slick-dots li button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      box-sizing: border-box;
      display: block;
      cursor: pointer;
      width: 100%;
      height: 10px;
      text-indent: -9999em;
      background-color: #FAF9F6;
      border-radius: 50%;
      transition: background-color 0.2s ease-out; }
.slide .slick-arrow {
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 10;
  width: 5.0rem;
  height: 5.0rem;
  text-indent: -9999em;
  margin: auto;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box; }
  .slide .slick-arrow.slick-prev {
    left: 0.5rem;
    background: url(../img/img_arrow01_prev.png) center top no-repeat;
    background-size: contain; }
  .slide .slick-arrow.slick-next {
    right: 0.5rem;
    background: url(../img/img_arrow01_next.png) center top no-repeat;
    background-size: contain; }
  .slide .slick-arrow.slick-disabled {
    display: none !important; }

#contactArea .wpcf7 form .wpcf7-spinner {
  display: none; }

#contactArea .wpcf7 form.sent .wpcf7-response-output {
  display: none; }

#contactArea .wpcf7 form .wpcf7-response-output {
  color: #f00;
  font-size: 1em;
  text-align: center;
  background-color: #FFFFFF;
  margin: 0;
  padding: 0;
  border: 0; }

#contactArea .wpcf7 form.failed .wpcf7-response-output,
#contactArea .wpcf7 form.aborted .wpcf7-response-output,
#contactArea .wpcf7 form.invalid .wpcf7-response-output {
  font-size: 1em;
  background-color: transparent;
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 0; }

#contactArea .wpcf7-form-control-wrap {
  display: block;
  line-height: 1; }
  #contactArea .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
    display: none;
    margin-top: 10px; }
  #contactArea .wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip {
    display: block;
    color: #f00; }

.grecaptcha-badge {
  visibility: hidden; }

.smf-form .p-country-name {
  display: none; }

.smf-form .recaptcha_message {
  color: #707070;
  font-size: 1.1rem;
  line-height: 1.4;
  text-align: center;
  padding: 3em 0; }

.smf-form .recaptcha_message a {
  color: inherit;
  text-decoration: underline; }

.smf-form .custom-error-message {
  color: #cc3033;
  margin-top: var(--_margin-2); }

@media screen and (min-width: 769px) {
  .slide .slick-arrow {
    width: 8rem;
    height: 8rem; }
    .slide .slick-arrow.slick-prev {
      left: -4rem; }
    .slide .slick-arrow.slick-next {
      right: -4rem; }
    .slide .slick-arrow.slick-prev, .slide .slick-arrow.slick-next {
      transition: opacity 0.2s ease-out; }
      .slide .slick-arrow.slick-prev:hover, .slide .slick-arrow.slick-next:hover {
        opacity: 0.8; }

  /* mover */
  .mover {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
    .mover:hover {
      opacity: 0.7; }

  .moverContent > * {
    transition: all 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
  .moverContent:hover > * {
    opacity: 0.7; }

  .moverColor {
    transition: color 0.2s ease-out; }
    .moverColor:hover {
      color: #004F94 !important; }

  .smf-form .recaptcha_message {
    padding: 3em 0 0 0; } }
.modePC,
.modePCib {
  display: none; }
  .modePC.important,
  .modePCib.important {
    display: none !important; }

.modeSP {
  display: block; }
  .modeSP.important {
    display: block !important; }

@media screen and (min-width: 769px) {
  .modePC {
    display: block; }
    .modePC.important {
      display: block !important; }

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

  .modeSP {
    display: none; }
    .modeSP.important {
      display: none !important; } }
@keyframes lineMove {
  0% {
    background-size: 0 1px; }
  50% {
    background-size: 0 1px; }
  100% {
    background-size: 3em 1px; } }
@keyframes shine {
  0% {
    left: -75%; }
  10% {
    left: 125%; }
  100% {
    left: 125%; } }
@keyframes scrolldown {
  0% {
    background-position: -9em 100%; }
  75% {
    background-position: 0 100%; }
  100% {
    background-position: 9em 100%; } }
@keyframes scrolldown2 {
  0% {
    background-position: 10em 100%; }
  75% {
    background-position: 0 100%; }
  100% {
    background-position: -10em 100%; } }
@keyframes fadezoom {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.1); } }
@keyframes fadezoom2 {
  0% {
    transform: scale(1.1); }
  100% {
    transform: scale(1.2); } }
.wrapper {
  opacity: 0;
  position: relative;
  padding: calc(64 / 375 * 100%) 0 0 0;
  transition: opacity 0.3s; }
  .load_complete .wrapper {
    opacity: 1; }

.contentWrap {
  position: relative; }

.scrollPosition {
  position: absolute;
  margin: calc(-64 / 375 * 100vw) 0 0 0;
  padding: calc(64 / 375 * 100vw) 0 0 0; }

.content {
  position: relative; }

.contentInner {
  position: relative;
  z-index: 2;
  width: calc(345 / 375 * 100%);
  margin: auto; }

.fadeContent {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.9s cubic-bezier(0.25, 1, 0.5, 1) 0.12s; }

.fadeContent.current {
  opacity: 1;
  transform: translateY(0); }

@media screen and (min-width: 769px) {
  .wrapper {
    padding: 100px 0 0 0; }

  .scrollPosition {
    margin: -100px 0 0 0;
    padding: 100px 0 0 0; }

  .contentInner {
    width: 100%;
    max-width: 1040px;
    padding: 0 20px;
    box-sizing: border-box; } }
/*----------------------
 breadcrumb
----------------------*/
.layoutType01.event .content {
  background-color: #FAF9F6; }
.layoutType01 .title {
  padding: calc(53 / 345 * 100%) 0 calc(36 / 345 * 100%) 0; }
.layoutType01 .textWrap {
  margin: 0 0 calc(48 / 345 * 100%) 0; }
  .layoutType01 .textWrap .text {
    font-size: 1.5rem;
    line-height: 1.8;
    margin: 0 0 2.8rem 0; }
.layoutType01 .list {
  width: calc(275 / 345 * 100%);
  margin: auto;
  padding: 0 0 calc(37 / 345 * 100%) 0; }
  .layoutType01 .list .item {
    margin: 0 0 calc(29 / 275 * 100%) 0; }
    .layoutType01 .list .item .image {
      position: relative;
      font-size: 1.5rem;
      line-height: 1.8;
      margin: 0 0 calc(15 / 275 * 100%) 0; }
      .layoutType01 .list .item .image .inner {
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0; }
        .layoutType01 .list .item .image .inner .bg {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          background-color: #9F9F9F;
          mix-blend-mode: multiply; }
        .layoutType01 .list .item .image .inner .button {
          display: inline-block;
          position: relative;
          z-index: 2;
          color: #FFFFFF;
          font-size: 1.6rem;
          line-height: 1.69;
          font-weight: 600;
          padding-right: 4.5rem; }
          .layoutType01 .list .item .image .inner .button .icon {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            width: 3.3rem;
            height: 3.3rem;
            background-color: #004F94;
            margin: auto;
            border-radius: 50%; }
            .layoutType01 .list .item .image .inner .button .icon:after {
              content: "";
              display: block;
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              right: 0.5rem;
              width: 0.8rem;
              height: 0.8rem;
              margin: auto;
              border-top: 2px solid #FFFFFF;
              border-right: 2px solid #FFFFFF;
              transform: rotate(45deg);
              box-sizing: border-box; }
    .layoutType01 .list .item .name {
      font-size: 1.6rem;
      line-height: 1.5;
      margin: 0 0 calc(10 / 275 * 100%) 0;
      padding: 0 0 calc(4 / 275 * 100%) 0;
      border-bottom: 1px solid #004F94; }
      .layoutType01 .list .item .name.img picture {
        display: block;
        width: calc(147 / 275 * 100%); }
    .layoutType01 .list .item .infoWrap .info {
      font-size: 1.3rem;
      line-height: 1.6; }

@media screen and (min-width: 769px) {
  .layoutType01 .title {
    padding: calc(90 / 1000 * 100%) 0 calc(32 / 1000 * 100%) 0; }
  .layoutType01 .textWrap {
    text-align: center;
    margin: 0 0 calc(57 / 1000 * 100%) 0; }
    .layoutType01 .textWrap .text {
      font-size: 1.5rem;
      line-height: 1.8;
      margin: 0 0 2.8rem 0; }
      .layoutType01 .textWrap .text .em {
        font-size: 1.8rem;
        line-height: 1.5; }
  .layoutType01 .list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    padding: 0 0 calc(49 / 1000 * 100%) 0; }
    .layoutType01 .list .item {
      flex-basis: calc(480 / 1000 * 100%);
      margin: 0 0 calc(45 / 1000 * 100%) calc(40 / 1000 * 100%); }
      .layoutType01 .list .item:nth-child(2n+1) {
        margin-left: 0; }
      .layoutType01 .list .item .link:hover .image:before {
        opacity: 0.25; }
      .layoutType01 .list .item .link:hover .image picture img {
        transform: scale(1.03); }
      .layoutType01 .list .item .link:hover .infoWrap .buttonArea .button {
        color: #004F94; }
        .layoutType01 .list .item .link:hover .infoWrap .buttonArea .button .icon {
          background-color: #004F94; }
          .layoutType01 .list .item .link:hover .infoWrap .buttonArea .button .icon:after {
            right: 0.2rem;
            border-top: 2px solid #FFFFFF;
            border-right: 2px solid #FFFFFF; }
      .layoutType01 .list .item .image {
        overflow: hidden;
        position: relative;
        margin: 0 0 calc(18 / 480 * 100%) 0; }
        .layoutType01 .list .item .image:before {
          content: "";
          opacity: 0;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          z-index: 10;
          background-color: #9F9F9F;
          mix-blend-mode: multiply;
          transition: all 0.2s ease-out; }
        .layoutType01 .list .item .image picture img {
          transition: all 0.2s ease-out; }
      .layoutType01 .list .item .name {
        font-size: 2.4rem;
        line-height: 1.17;
        margin: 0 0 calc(13 / 480 * 100%) 0;
        padding: 0 0 calc(18 / 480 * 100%) 0; }
        .layoutType01 .list .item .name.img picture {
          width: calc(241 / 480 * 100%); }
      .layoutType01 .list .item .infoWrap {
        position: relative; }
        .layoutType01 .list .item .infoWrap .info {
          font-size: 1.5rem;
          line-height: 1.71;
          letter-spacing: 0.1rem; }
        .layoutType01 .list .item .infoWrap .buttonArea {
          display: flex;
          align-items: center;
          position: absolute;
          top: 0;
          bottom: 0;
          right: 0; }
          .layoutType01 .list .item .infoWrap .buttonArea .button {
            position: relative;
            z-index: 2;
            color: #000000;
            font-size: 1.6rem;
            line-height: 1.69;
            font-weight: 600;
            padding-right: 4.5rem;
            transition: all 0.2s ease-out; }
            .layoutType01 .list .item .infoWrap .buttonArea .button .icon {
              position: absolute;
              top: 0;
              bottom: 0;
              right: 0;
              width: 3.3rem;
              height: 3.3rem;
              background-color: #FFFFFF;
              margin: auto;
              border: 1px solid #004F94;
              border-radius: 50%;
              transition: all 0.2s ease-out; }
              .layoutType01 .list .item .infoWrap .buttonArea .button .icon:after {
                content: "";
                display: block;
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                right: 0.5rem;
                width: 0.8rem;
                height: 0.8rem;
                margin: auto;
                border-top: 2px solid #004F94;
                border-right: 2px solid #004F94;
                transform: rotate(45deg);
                box-sizing: border-box;
                transition: all 0.2s ease-out; } }
.faqLayout .title {
  padding: calc(55 / 345 * 100%) 0 calc(41 / 345 * 100%) 0; }
.faqLayout .wrap {
  padding: 0 0 calc(56 / 345 * 100%) 0; }
  .faqLayout .wrap .row {
    background-color: #FFFFFF;
    margin: 0 0 calc(15 / 345 * 100%) 0;
    border: 1px solid #004F94;
    border-radius: 0.8rem; }
    .faqLayout .wrap .row.open .question .icon:before {
      opacity: 0;
      transform: rotate(90deg); }
    .faqLayout .wrap .row.open .question .icon:after {
      transform: rotate(180deg); }
    .faqLayout .wrap .row .question {
      display: flex;
      position: relative;
      font-size: 1.5rem;
      line-height: 1.4;
      font-weight: 600;
      padding: 1.8rem 5.5rem 1.8rem 2rem; }
      .faqLayout .wrap .row .question:before {
        content: "Q";
        flex-shrink: 0;
        color: #004F94;
        font-family: "Figtree", sans-serif;
        font-size: 2rem;
        line-height: 1;
        font-weight: 600;
        margin: 0 1.7rem 0 0; }
      .faqLayout .wrap .row .question .icon {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 2rem;
        width: 3rem;
        height: 3rem;
        background-color: #004F94;
        margin: auto;
        border-radius: 50%; }
        .faqLayout .wrap .row .question .icon:before, .faqLayout .wrap .row .question .icon:after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          width: 1.8rem;
          height: 2px;
          background-color: #FFFFFF;
          margin: auto;
          transition: all 0.2s ease-out; }
        .faqLayout .wrap .row .question .icon:after {
          transform: rotate(90deg); }
    .faqLayout .wrap .row .answer {
      padding: 0 2rem 0.9rem 2rem; }
      .faqLayout .wrap .row .answer .inner {
        display: flex;
        font-size: 1.5rem;
        line-height: 1.6;
        padding: 1.4rem 0 0.55rem 0;
        border-top: 1px solid #BEBEBE; }
        .faqLayout .wrap .row .answer .inner:before {
          content: "A";
          flex-shrink: 0;
          color: #F8B064;
          font-family: "Figtree", sans-serif;
          font-size: 2rem;
          line-height: 1;
          font-weight: 600;
          margin: 0.3rem 1.7rem 0 0; }
        .faqLayout .wrap .row .answer .inner ul li {
          display: flex; }
          .faqLayout .wrap .row .answer .inner ul li .num {
            flex-shrink: 0;
            margin: 0 0.5rem 0 0; }

@media screen and (min-width: 769px) {
  .faq .title {
    padding: calc(91 / 1000 * 100%) 0 calc(44 / 1000 * 100%) 0; }
  .faq .wrap {
    padding: 0 0 calc(86 / 1000 * 100%) 0; }
    .faq .wrap .row {
      margin: 0 0 calc(15 / 1000 * 100%) 0;
      border-radius: 1rem; }
      .faq .wrap .row .question {
        font-size: 1.8rem;
        line-height: 1.33;
        padding: 2.2rem 6.3rem 2.2rem 2.8rem; }
        .faq .wrap .row .question:before {
          font-size: 2.4rem;
          line-height: 1;
          margin: 0 2.6rem 0 0; }
        .faq .wrap .row .question .icon {
          right: 2.8rem;
          width: 2.4rem;
          height: 2.4rem; }
          .faq .wrap .row .question .icon:before, .faq .wrap .row .question .icon:after {
            width: 1.33rem; }
          .faq .wrap .row .question .icon:after {
            transform: rotate(90deg); }
      .faq .wrap .row .answer {
        padding: 0 2.8rem 1.3rem 2.8rem; }
        .faq .wrap .row .answer .inner {
          font-size: 1.6rem;
          line-height: 1.8;
          padding: 2.2rem 0 1.4rem 0; }
          .faq .wrap .row .answer .inner:before {
            font-size: 2.4rem;
            line-height: 1;
            margin: 0 2.8rem 0 0; } }
#commonEntryArea.entryType2 .content {
  color: #004F94;
  background-color: #FF9421; }
#commonEntryArea.entryType2 .buttonArea .button {
  border: 0; }
#commonEntryArea .content {
  overflow: hidden;
  position: relative;
  z-index: 2;
  background-color: #ECF7FE; }
  #commonEntryArea .content .bg7 {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    aspect-ratio: 750 / 566; }
#commonEntryArea .contentInner {
  position: relative;
  z-index: 2;
  width: calc(295 / 375 * 100%); }
#commonEntryArea .title {
  padding: calc(75 / 295 * 100%) 0 calc(32 / 295 * 100%) 0; }
#commonEntryArea .buttonArea {
  padding: 0 0 calc(55 / 295 * 100%) 0; }
  #commonEntryArea .buttonArea .button {
    margin: 0 0 calc(14 / 295 * 100%) 0; }

@media screen and (min-width: 769px) {
  #commonEntryArea .content .bg7 {
    left: auto;
    width: calc(623 / 1366 * 100%);
    aspect-ratio: 1246 / 700; }
  #commonEntryArea .contentInner {
    width: 100%;
    max-width: 940px; }
  #commonEntryArea .title {
    display: flex;
    align-items: center;
    padding: calc(96 / 900 * 100%) 0 calc(36 / 900 * 100%) 0; }
  #commonEntryArea .buttonArea {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 calc(68 / 900 * 100%) 0; }
    #commonEntryArea .buttonArea p {
      flex-basis: calc(440 / 900 * 100%); }
    #commonEntryArea .buttonArea .button {
      margin: 0 0 calc(14 / 295 * 100%) 0; } }
#page404 .wrap {
  padding: calc(49 / 315 * 100%) 0 0 0; }
#page404 .title {
  font-size: 2.6rem;
  line-height: 1.38;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0 calc(34 / 315 * 100%) 0; }
#page404 .textWrap {
  margin: 0 0 calc(50 / 315 * 100%) 0; }
  #page404 .textWrap .text {
    font-size: 1.5rem;
    line-height: 1.67;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-indent: -1em;
    padding: 0 0 0 1em; }
#page404 .buttonArea {
  padding: 0 0 calc(75 / 315 * 100%) 0; }
  #page404 .buttonArea .button {
    padding: 1.45em 0; }

@media screen and (min-width: 769px) {
  #page404 .contentInner {
    max-width: 890px; }
  #page404 .wrap {
    padding: calc(153 / 790 * 100%) 0 0 0; }
  #page404 .title {
    font-size: 3.2rem;
    line-height: 1.13;
    margin: 0 0 calc(51 / 790 * 100%) 0; }
  #page404 .textWrap {
    margin: 0 0 calc(60 / 790 * 100%) 0; }
    #page404 .textWrap .text {
      font-size: 1.6rem;
      line-height: 2; }
  #page404 .buttonArea {
    padding: 0 0 calc(86 / 790 * 100%) 0; }
    #page404 .buttonArea .button {
      width: 250px;
      margin: 0 0 0 auto; } }
.modalContentWrap {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100000; }
  .modalContentWrap .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.5); }
  .modalContentWrap .modalContent {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%; }
  .modalContentWrap.close .bg {
    display: none; }
  .modalContentWrap.housingData .inner {
    position: relative; }
  .modalContentWrap.housingData .closeButton {
    cursor: pointer;
    position: absolute;
    top: 100%;
    right: 0;
    width: calc(64 / 750 * 100vw);
    height: 0;
    margin: auto;
    padding: calc(64 / 750 * 100vw) 0 0 0; }
    .modalContentWrap.housingData .closeButton:before, .modalContentWrap.housingData .closeButton:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 2px;
      background-color: #FFFFFF;
      margin: auto;
      transform: translateY(50%) translateY(-1px) rotate(-45deg); }
    .modalContentWrap.housingData .closeButton:after {
      transform: translateY(-50%) translateY(1px) rotate(45deg); }
  .modalContentWrap.housingData .image {
    width: 90vw;
    background-color: #FFFFFF;
    margin: auto;
    padding: 1rem;
    box-sizing: border-box; }
    .modalContentWrap.housingData .image .caption {
      font-size: 1.6rem;
      line-height: 1.25;
      padding: 1rem 0 0 0; }

@media screen and (min-width: 769px) {
  .modalContentWrap .modalContent {
    max-width: 558px;
    margin: auto; }
  .modalContentWrap.housingData .closeButton {
    width: 4.5rem;
    margin: 0.4rem 0 0 0;
    padding: 4.5rem 0 0 0; }
  .modalContentWrap.housingData .image {
    width: 100%;
    margin: auto; }
    .modalContentWrap.housingData .image .caption {
      font-size: 2.4rem;
      line-height: 1.17; } }
@media screen and (min-width: 769px) and (max-height: 700px) {
  .modalContentWrap.housingData .closeButton {
    position: fixed;
    top: 1rem;
    right: 1rem; } }
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  height: 0;
  background-color: #FFFFFF;
  padding: calc(64 / 375 * 100%) 0 0 0;
  transition: background 0.2s ease-out; }
  #header .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: calc(64 / 375 * 100%) 0 0 0; }
  #header .contentInner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  #header .logoArea {
    flex-basis: calc(153 / 375 * 100%);
    position: relative;
    z-index: 1010;
    margin: 0 0 0 calc(15 / 375 * 100%); }
    #header .logoArea picture {
      display: flex;
      align-items: center; }
  #header .navWrap .itemEntry a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 900;
    width: calc(64 / 375 * 100vw);
    color: #FFFFFF;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 700;
    background-color: #FF9421;
    margin: 0 calc(64 / 375 * 100vw) 0 0;
    box-sizing: border-box;
    aspect-ratio: 64 / 64;
    transition: all 0.2s ease-out; }

#globalNav .bg {
  display: none; }
#globalNav .button {
  cursor: pointer;
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  width: calc(64 / 375 * 100vw);
  background-color: #FAF9F6;
  box-sizing: border-box;
  aspect-ratio: 64 / 64; }
  #globalNav .button .wrap {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: calc(25 / 64 * 100%);
    height: 0;
    padding: calc(16.4 / 64 * 100%) 0 0 0;
    margin: auto; }
    #globalNav .button .wrap span {
      position: absolute;
      left: 0;
      height: 2px;
      background-color: #004F94;
      margin: auto;
      transition: all 0.2s; }
      #globalNav .button .wrap span:nth-of-type(1) {
        top: 0;
        width: 100%; }
      #globalNav .button .wrap span:nth-of-type(2) {
        top: calc(50% - 1px);
        width: calc(20 / 25 * 100%); }
      #globalNav .button .wrap span:nth-of-type(3) {
        bottom: 0;
        width: calc(18 / 25 * 100%); }
#globalNav .menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  max-height: 100vh;
  background-color: #FFFFFF !important;
  aspect-ratio: 413 / 760; }
  #globalNav .menu .menuBg {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    margin: calc(65 / 375 * 100vw) 0 0 0; }
  #globalNav .menu .menuInner {
    overflow: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100vw;
    color: #000000;
    background-color: #FFFFFF;
    margin: calc(65 / 375 * 100vw) 0 0 0;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box; }
  #globalNav .menu .list {
    box-sizing: border-box; }
    #globalNav .menu .list .item {
      flex-basis: 100%;
      position: relative;
      padding: 0 calc(15 / 375 * 100%);
      border-top: 1px solid #BEBEBE; }
      #globalNav .menu .list .item:first-child {
        border-top: 0; }
      #globalNav .menu .list .item .link {
        cursor: pointer;
        display: block;
        position: relative;
        width: 100%;
        padding: calc(21 / 345 * 100%) 0 calc(21 / 345 * 100%) calc(15 / 345 * 100%);
        box-sizing: border-box; }
        #globalNav .menu .list .item .link br {
          display: none; }
        #globalNav .menu .list .item .link .en {
          color: #004F94;
          font-size: 1.3rem;
          line-height: 1;
          font-weight: 600;
          margin: 0 0 0.8rem 0; }
        #globalNav .menu .list .item .link .ja {
          display: block;
          position: relative;
          font-size: 1.6rem;
          line-height: 1.4;
          font-weight: 700;
          letter-spacing: 0.08em; }
        #globalNav .menu .list .item .link .next {
          padding-right: 5.6rem; }
          #globalNav .menu .list .item .link .next .icon {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            width: 2.2rem;
            height: 2.2rem;
            background-color: #FFFFFF;
            margin: auto;
            border: 1px solid #004F94;
            border-radius: 50%; }
            #globalNav .menu .list .item .link .next .icon:after {
              content: "";
              display: block;
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              right: 0.3rem;
              width: 0.7rem;
              height: 0.7rem;
              margin: auto;
              border-top: 1px solid #004F94;
              border-right: 1px solid #004F94;
              transform: rotate(45deg);
              box-sizing: border-box; }
        #globalNav .menu .list .item .link .down {
          position: absolute;
          top: 0;
          right: 0;
          width: 2rem;
          font-size: 1.6rem;
          line-height: 1.25;
          padding: calc(18 * 2 / 315 * 100% + (20 / 16 * 1em)) 0 0 0; }
          #globalNav .menu .list .item .link .down .icon {
            position: absolute;
            top: 0;
            bottom: 0.5rem;
            right: 0.6rem;
            width: 0.8rem;
            height: 0.8rem;
            margin: auto;
            transform: rotate(45deg); }
      #globalNav .menu .list .item .child {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: calc(172.5 / 375 * 100%);
        margin: 0 calc(15 / 375 * 100%) 0 0; }
        #globalNav .menu .list .item .child .box {
          padding: calc(8 / 315 * 100%) 0 0 0; }
          #globalNav .menu .list .item .child .box .inner .head {
            display: none; }
          #globalNav .menu .list .item .child .box .inner .cont {
            display: flex;
            flex-direction: column;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0; }
            #globalNav .menu .list .item .child .box .inner .cont .childLink {
              display: flex;
              align-items: center;
              flex-basis: 50%;
              position: relative;
              color: #000000;
              font-size: 1.4rem;
              line-height: 1.43;
              border-top: 1px solid #BEBEBE; }
              #globalNav .menu .list .item .child .box .inner .cont .childLink:first-child {
                border-top: 0; }
              #globalNav .menu .list .item .child .box .inner .cont .childLink .icon {
                position: absolute;
                top: 0;
                bottom: 0;
                right: 3rem;
                width: 1.6rem;
                height: 1.6rem;
                background-color: #FFFFFF;
                margin: auto;
                border: 1px solid #BEBEBE;
                border-radius: 50%; }
                #globalNav .menu .list .item .child .box .inner .cont .childLink .icon:after {
                  content: "";
                  display: block;
                  position: absolute;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0.2rem;
                  width: 0.5rem;
                  height: 0.5rem;
                  margin: auto;
                  border-top: 1px solid #BEBEBE;
                  border-right: 1px solid #BEBEBE;
                  transform: rotate(45deg);
                  box-sizing: border-box; }
  #globalNav .menu .entry {
    overflow: hidden;
    position: relative;
    width: calc(345 / 375 * 100%);
    background-color: #ECF7FE;
    margin: 0 auto calc(15 / 375 * 100%) auto;
    padding: 0 0 calc(25 / 375 * 100%) 0; }
    #globalNav .menu .entry:before {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: 1;
      width: calc(172 / 345 * 100%);
      background: url(../img/common/bg_entry_header.svg) right bottom no-repeat;
      background-size: contain;
      aspect-ratio: 172 / 121; }
    #globalNav .menu .entry .title {
      position: relative;
      z-index: 2;
      color: #004F94;
      font-size: 3.25rem;
      line-height: 1;
      font-weight: 600;
      text-align: center;
      padding: 2.5rem 0 1.8rem 0; }
    #globalNav .menu .entry .wrap {
      display: flex;
      justify-content: space-between;
      position: relative;
      z-index: 2;
      width: calc(295 / 345 * 100%);
      margin: auto; }
      #globalNav .menu .entry .wrap .entryButton {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-basis: calc(142 / 295 * 100%);
        position: relative;
        width: 100%;
        color: #004F94;
        font-size: 1.4rem;
        line-height: 1;
        font-weight: 600;
        background-color: #FFFFFF;
        padding: 1.8rem 0;
        border: 1px solid #FF9421;
        border-radius: 0.5rem;
        box-sizing: border-box;
        transition: color 0.3s ease; }
        #globalNav .menu .entry .wrap .entryButton .text {
          position: relative;
          padding-right: 3.5rem; }
          #globalNav .menu .entry .wrap .entryButton .text .icon {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            width: 2.2rem;
            height: 2.2rem;
            background-color: #FF9421;
            margin: auto;
            border: 1px solid #FF9421;
            border-radius: 50%; }
            #globalNav .menu .entry .wrap .entryButton .text .icon:after {
              content: "";
              display: block;
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              right: 0.4rem;
              width: 0.7rem;
              height: 0.7rem;
              margin: auto;
              border-top: 2px solid #FFFFFF;
              border-right: 2px solid #FFFFFF;
              transform: rotate(45deg);
              box-sizing: border-box; }
#globalNav.open .button .wrap span:nth-of-type(1) {
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateY(50%) translateY(-1px) rotate(-45deg); }
#globalNav.open .button .wrap span:nth-of-type(2) {
  opacity: 0;
  left: 0; }
#globalNav.open .button .wrap span:nth-of-type(3) {
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  transform: translateY(-50%) translateY(1px) rotate(45deg); }
#globalNav.open .menu {
  left: 0; }
  #globalNav.open .menu .menuBg {
    left: 0; }

@media screen and (min-width: 769px) {
  #header {
    padding: 98px 0 0 0; }
    #header .content {
      height: 100%;
      padding: 0; }
    #header .contentInner {
      max-width: 100%;
      padding: 0; }
    #header .logoArea {
      flex-basis: 98px;
      margin: 0 0 0 calc(69 / 1366 * 100%); }
    #header .navWrap .itemEntry a {
      z-index: 1500;
      width: 13.1rem;
      font-size: 1.7rem;
      line-height: 1;
      margin: 0;
      aspect-ratio: 131 / 98; }

  #globalNav.hover .menu {
    z-index: 1202; }
    #globalNav.hover .menu .list .item.on .link {
      color: #004F94; }
    #globalNav.hover .menu .list .item.on .child {
      opacity: 1;
      padding: 100px 0 0 0;
      transform: translateY(0); }
  #globalNav .button {
    display: none; }
  #globalNav .menu {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    height: auto;
    background-color: transparent !important;
    padding: 0;
    aspect-ratio: auto; }
    #globalNav .menu .menuBg {
      display: none; }
    #globalNav .menu .menuInner {
      overflow: hidden;
      position: static;
      width: auto;
      max-width: 100%;
      background-color: transparent !important;
      margin: 0 14.8rem 0.5rem 0;
      padding: 0; }
    #globalNav .menu .list {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0; }
      #globalNav .menu .list .item {
        flex-basis: auto;
        width: auto;
        margin: 0 1rem;
        padding: 0;
        border-top: 0; }
        #globalNav .menu .list .item.itemPeople.on .child {
          padding-right: 17.3vw; }
        #globalNav .menu .list .item.itemWork.on .child {
          padding-right: 10vw; }
        #globalNav .menu .list .item .link {
          position: relative;
          z-index: 2;
          color: #000000;
          font-size: 1.6rem;
          line-height: 1.25;
          font-weight: 700;
          letter-spacing: 0;
          text-align: center;
          padding: 0.5em 0;
          transition: color 0.2s ease-out; }
          #globalNav .menu .list .item .link br {
            display: block; }
          #globalNav .menu .list .item .link .ja {
            font-size: 1.6rem;
            line-height: 1.25;
            letter-spacing: 0; }
          #globalNav .menu .list .item .link .down {
            width: 1rem;
            padding: 3.5rem 0 0 0; }
            #globalNav .menu .list .item .link .down .icon {
              bottom: 0;
              right: 0.3rem;
              width: 0.5rem;
              height: 0.5rem;
              border-bottom: 2px solid #004F94;
              border-right: 2px solid #004F94; }
          #globalNav .menu .list .item .link:hover {
            color: #004F94; }
        #globalNav .menu .list .item:not(.parent) .link:hover .line {
          opacity: 1; }
        #globalNav .menu .list .item.parent.on .link {
          color: #004F94; }
        #globalNav .menu .list .item.parent.on .child {
          opacity: 1;
          padding-top: 44px;
          transform: translateY(0); }
        #globalNav .menu .list .item.parent .link {
          padding-right: 2rem; }
        #globalNav .menu .list .item.parent:hover .link {
          color: #004F94; }
        #globalNav .menu .list .item .child {
          opacity: 0;
          display: block !important;
          position: fixed;
          top: auto;
          bottom: auto;
          left: 0;
          right: 0;
          z-index: 1201;
          width: 480px;
          margin: 0 0 0 auto;
          box-sizing: content-box;
          transform: translateY(1000vh); }
          #globalNav .menu .list .item .child .box {
            display: flex;
            justify-content: space-between;
            position: relative;
            background-color: rgba(255, 255, 255, 0.4);
            padding: calc(19 / 480 * 100%) calc(30 / 480 * 100%);
            border-radius: 1rem;
            box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);
            backdrop-filter: blur(9.5257797241px);
            --webkit-backdrop-filter: blur(9.525779724121094px); }
            #globalNav .menu .list .item .child .box .inner {
              display: flex;
              align-items: center;
              justify-content: space-between;
              width: 100%; }
              #globalNav .menu .list .item .child .box .inner .head {
                display: block;
                flex-basis: calc(230 / 420 * 100%);
                min-height: 7rem;
                border-right: 1px solid #004F94;
                box-sizing: border-box; }
                #globalNav .menu .list .item .child .box .inner .head .childTitle {
                  color: #004F94;
                  font-size: 1.5rem;
                  line-height: 1;
                  font-weight: 600; }
                #globalNav .menu .list .item .child .box .inner .head .theme {
                  font-size: 2.2rem;
                  line-height: 1;
                  font-weight: 700;
                  margin: 0.5em 0 0 0; }
              #globalNav .menu .list .item .child .box .inner .cont {
                flex-basis: calc(190 / 420 * 100%);
                position: static;
                height: 100%;
                padding: 0 0 0 3rem; }
                #globalNav .menu .list .item .child .box .inner .cont .childLink {
                  font-size: 1.5rem;
                  line-height: 1;
                  font-weight: 700;
                  padding: 1.6rem 0;
                  border-top: 0;
                  transition: color 0.3s ease; }
                  #globalNav .menu .list .item .child .box .inner .cont .childLink .icon {
                    right: 0;
                    width: 2.4rem;
                    height: 2.4rem;
                    background-color: transparent;
                    border: 1px solid #004F94;
                    transition: all 0.2s ease-out; }
                    #globalNav .menu .list .item .child .box .inner .cont .childLink .icon:after {
                      right: 0.3rem;
                      width: 0.7rem;
                      height: 0.7rem;
                      border-top: 1px solid #004F94;
                      border-right: 1px solid #004F94;
                      transition: all 0.2s ease-out; }
                  #globalNav .menu .list .item .child .box .inner .cont .childLink:hover {
                    color: #004F94; }
                    #globalNav .menu .list .item .child .box .inner .cont .childLink:hover .icon {
                      background-color: #004F94; }
                      #globalNav .menu .list .item .child .box .inner .cont .childLink:hover .icon:after {
                        right: 0;
                        border-top: 1px solid #FFFFFF;
                        border-right: 1px solid #FFFFFF; }
  .open #globalNav .menu {
    height: auto; } }
@media screen and (min-width: 960px) {
  #globalNav .menu .list .item {
    margin: 0 1.5rem; }
    #globalNav .menu .list .item .link br {
      display: none; } }
@media screen and (min-width: 1000px) {
  #globalNav .menu .list .item .link br {
    display: block; } }
@media screen and (min-width: 1180px) {
  #globalNav .menu .list .item {
    margin: 0 2.2rem; }
    #globalNav .menu .list .item .link br {
      display: none; } }
#footer .contentInner {
  width: calc(315 / 375 * 100%); }
#footer .wrap {
  margin: 0 0 calc(16 / 315 * 100%) 0;
  padding: calc(61 / 315 * 100%) 0 calc(5 / 315 * 100%) 0;
  border-bottom: 1px solid #B4B4B4; }
  #footer .wrap .row {
    width: calc(295 / 315 * 100%);
    margin: auto; }
    #footer .wrap .row .logo {
      width: calc(126 / 295 * 100%);
      margin: 0 0 calc(14 / 295 * 100%) calc(4 / 295 * 100%); }
    #footer .wrap .row .access {
      margin: 0 0 calc(33 / 295 * 100%) 0; }
      #footer .wrap .row .access .name {
        font-size: 1.5rem;
        line-height: 2.13;
        font-weight: 700;
        margin: 0 0 calc(7 / 295 * 100%) 0; }
      #footer .wrap .row .access .address {
        font-size: 1.2rem;
        line-height: 1.75; }
      #footer .wrap .row .access .tel {
        font-size: 1.2rem;
        line-height: 1.75; }
    #footer .wrap .row .menu {
      margin: 0 0 calc(28 / 315 * 100%) 0; }
      #footer .wrap .row .menu .list .item {
        display: flex;
        align-items: center;
        margin: 0 0 calc(15 / 295 * 100%) 0; }
        #footer .wrap .row .menu .list .item .link {
          display: block;
          position: relative;
          font-size: 1.4rem;
          line-height: 1.43;
          font-weight: 700;
          padding: 0.5rem 0; }
          #footer .wrap .row .menu .list .item .link.corporate {
            display: flex;
            align-items: center;
            color: #004F94;
            font-size: 1.2rem;
            line-height: 1.67;
            letter-spacing: -0.07rem; }
            #footer .wrap .row .menu .list .item .link.corporate .icon {
              content: "";
              display: block;
              position: static;
              width: 1.2rem;
              height: 1.2rem;
              background: url(../img/common/icon_blank.svg) center center no-repeat;
              background-size: contain;
              margin: 0 0 0 1rem;
              border: 0;
              border-radius: 0; }
              #footer .wrap .row .menu .list .item .link.corporate .icon:after {
                display: none; }
          #footer .wrap .row .menu .list .item .link.privacy {
            color: #676767;
            font-size: 1.2rem;
            line-height: 1.67;
            margin: 0 0 0 2.8rem; }
          #footer .wrap .row .menu .list .item .link .icon {
            position: absolute;
            top: 0;
            bottom: 0;
            right: -2.2rem;
            width: 1.4rem;
            height: 1.4rem;
            background-color: #FFFFFF;
            margin: auto;
            border: 1px solid #004F94;
            border-radius: 50%; }
            #footer .wrap .row .menu .list .item .link .icon:after {
              content: "";
              display: block;
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              right: 0.2rem;
              width: 0.4rem;
              height: 0.4rem;
              margin: auto;
              border-top: 1px solid #004F94;
              border-right: 1px solid #004F94;
              transform: rotate(45deg);
              box-sizing: border-box; }
        #footer .wrap .row .menu .list .item .child {
          display: flex;
          align-items: center; }
          #footer .wrap .row .menu .list .item .child > *:first-child a {
            margin: 0 0 0 1.4rem; }
          #footer .wrap .row .menu .list .item .child a {
            position: relative;
            color: #676767;
            font-size: 1.2rem;
            line-height: 1.67;
            margin: 0 0 0 3.7rem;
            padding: 0.5rem 0; }
            #footer .wrap .row .menu .list .item .child a .icon {
              position: absolute;
              top: 0;
              bottom: 0;
              right: -2.2rem;
              width: 1.4rem;
              height: 1.4rem;
              background-color: #FFFFFF;
              margin: auto;
              border: 1px solid #BEBEBE;
              border-radius: 50%; }
              #footer .wrap .row .menu .list .item .child a .icon:after {
                content: "";
                display: block;
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                right: 0.2rem;
                width: 0.4rem;
                height: 0.4rem;
                margin: auto;
                border-top: 1px solid #BEBEBE;
                border-right: 1px solid #BEBEBE;
                transform: rotate(45deg);
                box-sizing: border-box; }
#footer .copyright {
  text-align: center;
  padding: 0 0 calc(35 / 375 * 100%) 0; }
  #footer .copyright small {
    color: #000000;
    font-size: 1.2rem;
    line-height: 1.67; }

@media screen and (min-width: 769px) {
  #footer .contentInner {
    width: 100%;
    max-width: 1170px; }
  #footer .wrap {
    display: flex;
    justify-content: space-between;
    margin: 0 0 calc(28 / 1130 * 100%) 0;
    padding: calc(50 / 1130 * 100%) 0 calc(24 / 1130 * 100%) 0; }
    #footer .wrap .row {
      width: 26rem;
      margin: 0; }
      #footer .wrap .row:nth-child(2) {
        width: calc(100% - 28rem); }
      #footer .wrap .row .logo {
        width: calc(153 / 310 * 100%);
        margin: 0 0 calc(17 / 310 * 100%) 0; }
      #footer .wrap .row .access {
        margin: 0 0 calc(33 / 310 * 100%) 0; }
        #footer .wrap .row .access .name {
          font-size: 1.8rem;
          line-height: 1.78;
          margin: 0 0 calc(10 / 310 * 100%) 0; }
        #footer .wrap .row .access .address {
          font-size: 1.5rem;
          line-height: 1.53; }
        #footer .wrap .row .access .tel {
          font-size: 1.5rem;
          line-height: 1.53; }
      #footer .wrap .row .menu {
        display: flex;
        justify-content: flex-end;
        margin: 0;
        padding: calc(55 / 700 * 100%) 0 0 0; }
        #footer .wrap .row .menu .list {
          flex-basis: 35rem; }
          #footer .wrap .row .menu .list .item {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            margin: 0 0 calc(17 / 350 * 100%) 0; }
            #footer .wrap .row .menu .list .item .link {
              font-size: 1.6rem;
              line-height: 1.25;
              padding: 0.85rem 0;
              transition: all 0.2s ease-out; }
              #footer .wrap .row .menu .list .item .link.corporate {
                font-size: 1.3rem;
                line-height: 1.85;
                letter-spacing: -0.07rem; }
                #footer .wrap .row .menu .list .item .link.corporate .icon {
                  width: 1.2rem;
                  height: 1.2rem;
                  margin: 0 0 0 1rem; }
                #footer .wrap .row .menu .list .item .link.corporate:hover .icon {
                  background-color: transparent; }
              #footer .wrap .row .menu .list .item .link.privacy {
                color: #676767;
                font-size: 1.3rem;
                line-height: 1.85;
                margin: 0 0 0 2.8rem; }
              #footer .wrap .row .menu .list .item .link .icon {
                right: -2.8rem;
                transition: all 0.2s ease-out; }
              #footer .wrap .row .menu .list .item .link:hover .icon {
                background-color: #004F94; }
                #footer .wrap .row .menu .list .item .link:hover .icon:after {
                  right: 0;
                  border-top: 1px solid #FFFFFF;
                  border-right: 1px solid #FFFFFF; }
            #footer .wrap .row .menu .list .item .child {
              flex-wrap: wrap; }
              #footer .wrap .row .menu .list .item .child > *:first-child a {
                margin: 0 0 0 2.5rem; }
              #footer .wrap .row .menu .list .item .child a {
                color: #676767;
                font-size: 1.2rem;
                line-height: 1.5;
                margin: 0 0 0 3rem;
                padding: 0.85rem 0;
                transition: all 0.2s ease-out; }
                #footer .wrap .row .menu .list .item .child a .icon {
                  transition: all 0.2s ease-out; }
                #footer .wrap .row .menu .list .item .child a:hover {
                  color: #004F94; }
                  #footer .wrap .row .menu .list .item .child a:hover .icon {
                    background-color: #004F94; }
                    #footer .wrap .row .menu .list .item .child a:hover .icon:after {
                      right: 0;
                      border-top: 1px solid #FFFFFF;
                      border-right: 1px solid #FFFFFF; }
  #footer .copyright {
    padding: 0 0 calc(35 / 1130 * 100%) 0; }
    #footer .copyright small {
      font-size: 1.6rem;
      line-height: 1.25;
      letter-spacing: 0.045rem; } }
@media screen and (min-width: 1100px) {
  #footer .wrap .row {
    width: 31rem; }
    #footer .wrap .row:nth-child(2) {
      width: calc(700 / 1130 * 100%); }
    #footer .wrap .row .menu .list {
      flex-basis: calc(350 / 700 * 100%); } }
/* titleType01 */
.titleType01 .en {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 600; }
  .titleType01 .en:before {
    content: "";
    display: block;
    width: 1.7rem;
    background: url(../img/common/icon_title.svg) center center no-repeat;
    background-size: contain;
    margin: 0 1rem 0 0;
    aspect-ratio: 17 / 11; }
.titleType01 .ja {
  display: block;
  font-family: "BIZ UDPMincho", serif;
  font-size: 2.4rem;
  line-height: 1.4;
  margin: 1rem 0 0 0; }

@media screen and (min-width: 769px) {
  .titleType01 .en {
    font-size: 2.2rem;
    line-height: 1; }
    .titleType01 .en:before {
      width: 2.8rem;
      margin: 0 1.5rem 0 0;
      aspect-ratio: 28 / 18; }
  .titleType01 .ja {
    font-size: 4.2rem;
    line-height: 1.4;
    margin: 2.3rem 0 0 0; } }
/* titleType02 */
.titleType02 {
  color: #004F94; }
  .titleType02 .en {
    font-size: 4.5rem;
    line-height: 1;
    font-weight: 600; }
  .titleType02 .ja {
    display: block;
    font-size: 1.5rem;
    line-height: 1.67;
    font-weight: 600;
    margin: 0.2rem 0 0 0; }

@media screen and (min-width: 769px) {
  .titleType02 .en {
    font-size: 7rem;
    line-height: 1; }
  .titleType02 .ja {
    font-size: 2.2rem;
    line-height: 1.64;
    margin: 0 0 0 3.8rem; } }
/* titleType03 */
.titleType03 {
  text-align: center; }
  .titleType03 .en {
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 600; }
  .titleType03 .ja {
    display: block;
    font-family: "BIZ UDPMincho", serif;
    font-size: 2rem;
    line-height: 1;
    margin: 0.3rem 0 0 0; }

@media screen and (min-width: 769px) {
  .titleType03 .en {
    font-size: 1.6rem;
    line-height: 1; }
  .titleType03 .ja {
    font-size: 3rem;
    line-height: 1;
    margin: 2.2rem 0 0 0; } }
/* linkType01 */
.linkType01.blank {
  position: relative; }
  .linkType01.blank .icon {
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    background: url(../img/common/icon_blank.svg) center center no-repeat;
    background-size: contain;
    margin: 0 0 0 0.5em; }

/* buttonType01 */
.buttonType01 {
  display: block;
  position: relative;
  width: 100%;
  font-size: 1.7rem;
  line-height: 1;
  font-weight: 600;
  padding: 1.7rem 0;
  box-sizing: border-box;
  transition: all 0.2s ease-out; }
  .buttonType01.next {
    display: flex;
    align-items: center;
    padding-right: 5.6rem; }
    .buttonType01.next .icon {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      width: 4rem;
      height: 4rem;
      background-color: #FFFFFF;
      margin: auto;
      border: 1px solid #004F94;
      border-radius: 50%;
      transition: all 0.2s ease-out; }
      .buttonType01.next .icon:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0.5rem;
        width: 1.0rem;
        height: 1.0rem;
        margin: auto;
        border-top: 2px solid #004F94;
        border-right: 2px solid #004F94;
        transform: rotate(45deg);
        box-sizing: border-box;
        transition: all 0.2s ease-out; }

@media screen and (min-width: 769px) {
  .buttonType01 {
    font-size: 2rem;
    line-height: 1; }
    .buttonType01.next {
      display: flex;
      align-items: center;
      padding-right: 6.8rem; }
      .buttonType01.next .icon {
        width: 5rem;
        height: 5rem; }
        .buttonType01.next .icon:after {
          right: 0.5rem;
          width: 1.1rem;
          height: 1.1rem; }
    .buttonType01:not(.nohover):hover {
      color: #004F94; }
      .buttonType01:not(.nohover):hover.next .icon {
        background-color: #004F94; }
        .buttonType01:not(.nohover):hover.next .icon:after {
          right: 0.2rem;
          border-top: 2px solid #FFFFFF;
          border-right: 2px solid #FFFFFF; } }
/* buttonType02 */
.buttonType02 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  width: 100%;
  color: #004F94;
  font-size: 1.7rem;
  line-height: 1;
  font-weight: 600;
  background-color: #FFFFFF;
  padding: 2.6rem 2.5rem;
  border: 1px solid #FF9421;
  border-radius: 0.5rem;
  box-sizing: border-box;
  transition: all 0.2s ease-out; }
  .buttonType02.next .text {
    display: flex;
    align-items: center;
    position: relative;
    padding-right: 5.6rem; }
    .buttonType02.next .text .icon {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      width: 4rem;
      height: 4rem;
      background-color: #FF9421;
      margin: auto;
      border: 1px solid #FF9421;
      border-radius: 50%;
      transition: all 0.2s ease-out; }
      .buttonType02.next .text .icon:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0.5rem;
        width: 1.0rem;
        height: 1.0rem;
        margin: auto;
        border-top: 2px solid #FFFFFF;
        border-right: 2px solid #FFFFFF;
        transform: rotate(45deg);
        box-sizing: border-box;
        transition: all 0.2s ease-out; }

@media screen and (min-width: 769px) {
  .buttonType02 {
    font-size: 2.2rem;
    line-height: 1;
    padding: 3.5rem 3.8rem;
    border-radius: 0.5rem; }
    .buttonType02.next .text {
      padding-right: 7rem; }
      .buttonType02.next .text .icon {
        width: 5rem;
        height: 5rem; }
        .buttonType02.next .text .icon:after {
          right: 0.5rem;
          width: 1.1rem;
          height: 1.1rem; }
    .buttonType02:not(.nohover):hover {
      color: #FFFFFF;
      background-color: #FF9421; }
      .buttonType02:not(.nohover):hover.next .icon {
        background-color: #FFFFFF; }
        .buttonType02:not(.nohover):hover.next .icon:after {
          right: 0.2rem;
          border-top: 2px solid #FF9421;
          border-right: 2px solid #FF9421; } }
