/*! Writen  by SCSS */
@media screen and (max-width: 480px) {
  .w10_sp {
    width: 10%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w20_sp {
    width: 20%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w30_sp {
    width: 30%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w40_sp {
    width: 40%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w50_sp {
    width: 50%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w60_sp {
    width: 60%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w70_sp {
    width: 70%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w80_sp {
    width: 80%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w90_sp {
    width: 90%;
    margin: 0 auto; } }

@media screen and (max-width: 480px) {
  .w100_sp {
    width: 100%;
    margin: 0 auto; } }

.fr10 {
  font-size: 10%; }

.fr20 {
  font-size: 20%; }

.fr30 {
  font-size: 30%; }

.fr40 {
  font-size: 40%; }

.fr50 {
  font-size: 50%; }

.fr60 {
  font-size: 60%; }

.fr70 {
  font-size: 70%; }

.fr80 {
  font-size: 80%; }

.fr90 {
  font-size: 90%; }

.fr100 {
  font-size: 100%; }

.fr110 {
  font-size: 110%; }

.fr120 {
  font-size: 120%; }

.fr130 {
  font-size: 130%; }

.fr140 {
  font-size: 140%; }

.fr150 {
  font-size: 150%; }

.fr160 {
  font-size: 160%; }

.fr170 {
  font-size: 170%; }

.fr180 {
  font-size: 180%; }

.fr190 {
  font-size: 190%; }

.fr200 {
  font-size: 200%; }

.fr210 {
  font-size: 210%; }

.fr220 {
  font-size: 220%; }

.fr230 {
  font-size: 230%; }

.fr240 {
  font-size: 240%; }

.fr250 {
  font-size: 250%; }

.fr260 {
  font-size: 260%; }

.fr270 {
  font-size: 270%; }

.fr280 {
  font-size: 280%; }

.fr290 {
  font-size: 290%; }

.fr300 {
  font-size: 300%; }

.main:before {
  background-image: url("../images/main_img.jpg"); }
  @media screen and (max-width: 480px) {
    .main:before {
      background-image: url("../images/main_img_sp.jpg"); } }

.anchor_list {
  font-size: clamp(14px, 1.954vw, 20px);
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  max-width: 800px;
  width: calc(100% - 40px);
  margin: clamp(30px, 6.836vw, 70px) auto clamp(50px, 9.766vw, 100px);
  display: flex; }
  @media screen and (max-width: 767px) {
    .anchor_list {
      flex-direction: column; } }
  .anchor_list .anchor_item {
    width: calc(50% - 1px); }
    @media screen and (max-width: 767px) {
      .anchor_list .anchor_item {
        width: 100%; }
        .anchor_list .anchor_item:first-child {
          margin-bottom: 15px; } }
    .anchor_list .anchor_item a {
      display: block;
      width: 100%;
      padding: 12px 10px;
      color: #6eb5b8;
      transition: color 0.3s ease-in-out;
      border: 3px solid #6eb5b8;
      position: relative;
      border-image-slice: 1; }
      @media screen and (max-width: 480px) {
        .anchor_list .anchor_item a {
          padding: 15px 10px; } }
      .anchor_list .anchor_item a::before {
        content: '';
        inset: 0;
        display: block;
        width: 100%;
        background: #6eb5b8;
        opacity: 0;
        position: absolute;
        transition: opacity 0.3s ease-in-out;
        z-index: 1; }
      .anchor_list .anchor_item a span {
        position: relative;
        z-index: 2; }
      @media (hover: hover) {
        .anchor_list .anchor_item a:hover {
          color: #fff; }
          .anchor_list .anchor_item a:hover::before {
            opacity: 1; } }
    .anchor_list .anchor_item:first-child a {
      color: #fff; }
      .anchor_list .anchor_item:first-child a::before {
        opacity: 1; }

.page_wrap .image {
  max-width: max-content;
  height: max-content; }
.page_wrap .page_ttl_wrap {
  margin-bottom: clamp(40px, 11.25vw, 180px); }
  .page_wrap .page_ttl_wrap h4.en {
    letter-spacing: 0.8em;
    line-height: 1;
    color: #247073;
    opacity: 0.8;
    text-align: center;
    margin-bottom: 0;
    font-size: clamp(26px, 3.907vw, 40px);
    margin-left: 0.5em; }
  .page_wrap .page_ttl_wrap .location_ttl_read {
    line-height: 2.5;
    letter-spacing: 0.15em; }
    @media screen and (max-width: 480px) {
      .page_wrap .page_ttl_wrap .location_ttl_read {
        letter-spacing: 0.05em; } }

.location_wrap .location_item_wrap {
  margin-bottom: clamp(60px, 10.743vw, 110px); }
.location_wrap .location_item {
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  position: relative; }
  .location_wrap .location_item::before {
    display: none; }
    @media screen and (max-width: 480px) {
      .location_wrap .location_item::before {
        display: block;
        content: '';
        position: absolute;
        width: 75%;
        height: calc(100% - 6.25vw);
        max-width: 1200px;
        z-index: 2;
        right: 0;
        bottom: 0;
        background-color: rgba(110, 181, 184, 0.5); } }
.location_wrap .location_item_wrap.rev .location_item::before {
  right: initial;
  left: 0; }
.location_wrap .location_item_img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  max-width: 510px;
  width: 31.88%; }
  @media screen and (max-width: 480px) {
    .location_wrap .location_item_img {
      position: relative;
      width: 85%;
      max-width: 100%;
      z-index: 3; } }
  .location_wrap .location_item_img span {
    color: #fff;
    right: clamp(10px, 7.5vw, 120px); }
    @media screen and (max-width: 1600px) {
      .location_wrap .location_item_img span {
        right: initial;
        left: 0; } }
.location_wrap .location_item_wrap.rev .location_item_img {
  left: initial;
  right: 0; }
  .location_wrap .location_item_wrap.rev .location_item_img span {
    right: 0; }
  @media screen and (max-width: 480px) {
    .location_wrap .location_item_wrap.rev .location_item_img {
      margin-left: auto; } }
.location_wrap .location_item_ttl {
  font-size: clamp(28px, 3.907vw, 40px);
  color: #ff9600;
  font-feature-settings: 'palt';
  letter-spacing: 0.2em;
  margin-left: clamp(60px, 35vw, 560px);
  padding-top: clamp(30px, 2.5vw, 40px);
  position: relative;
  z-index: 10; }
  @media screen and (max-width: 480px) {
    .location_wrap .location_item_ttl {
      width: calc(100% - 40px);
      margin: 0 auto;
      text-align: left; } }
.location_wrap .location_item_wrap.rev .location_item_ttl {
  margin-left: initial;
  margin-right: clamp(60px, 35vw, 560px);
  color: #247073;
  text-align: right; }
  @media screen and (max-width: 480px) {
    .location_wrap .location_item_wrap.rev .location_item_ttl {
      width: calc(100% - 40px);
      margin: 0 auto;
      text-align: right; } }
.location_wrap .bank_wrap .location_item_ttl {
  margin-left: 0;
  padding-top: 0;
  margin-bottom: clamp(20px, 3.907vw, 40px); }
.location_wrap .location_item_bg {
  position: relative;
  z-index: 3; }
  .location_wrap .location_item_bg::before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    display: block;
    pointer-events: none;
    z-index: 2;
    left: 110px;
    bottom: 0;
    background-color: rgba(255, 150, 0, 0.4); }
    @media screen and (max-width: 480px) {
      .location_wrap .location_item_bg::before {
        display: none; } }
.location_wrap .location_item_wrap.rev .location_item_bg {
  position: relative;
  z-index: 3; }
  .location_wrap .location_item_wrap.rev .location_item_bg::before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    display: block;
    pointer-events: none;
    z-index: 2;
    right: 110px;
    left: initial;
    bottom: 0;
    background-color: rgba(110, 181, 184, 0.4); }
    @media screen and (max-width: 480px) {
      .location_wrap .location_item_wrap.rev .location_item_bg::before {
        display: none; } }
.location_wrap .location_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: clamp(20px, 3.907vw, 40px);
  padding: clamp(30px, 3.75vw, 60px) 0 30px;
  margin-top: clamp(20px, 2.93vw, 30px);
  position: relative;
  z-index: 2; }
  @media screen and (max-width: 480px) {
    .location_wrap .location_list {
      margin-top: 0; } }
  .location_wrap .location_list .location_list_item {
    max-width: 320px;
    width: 31.25%; }
    @media screen and (max-width: 480px) {
      .location_wrap .location_list .location_list_item {
        max-width: 100%;
        width: 80%;
        margin: 0 auto; } }
    .location_wrap .location_list .location_list_item.big {
      max-width: 754px;
      width: 73.64%;
      margin-left: auto; }
      @media screen and (max-width: 480px) {
        .location_wrap .location_list .location_list_item.big {
          max-width: 100%;
          width: 100%; } }
    .location_wrap .location_list .location_list_item span {
      color: #464646;
      position: relative;
      font-size: 12px; }
      @media screen and (max-width: 480px) {
        .location_wrap .location_list .location_list_item span {
          font-size: 10px; } }
.location_wrap .location_item_wrap.rev .location_list .location_list_item.big {
  margin-left: initial;
  margin-right: auto; }
.location_wrap .education_wrap .location_list {
  max-width: 700px;
  width: 68.36%;
  margin-left: auto; }
  @media screen and (max-width: 480px) {
    .location_wrap .education_wrap .location_list {
      max-width: 100%;
      width: 80%;
      margin: 0 auto; } }
  .location_wrap .education_wrap .location_list .location_list_item {
    max-width: 320px;
    width: 45.72%; }
    @media screen and (max-width: 480px) {
      .location_wrap .education_wrap .location_list .location_list_item {
        max-width: 100%;
        width: 100%; } }

.lifeinfo_wrap {
  margin-top: clamp(20px, 3.907vw, 40px); }
  @media screen and (max-width: 767px) {
    .lifeinfo_wrap {
      display: block; } }
  @media screen and (max-width: 767px) {
    .lifeinfo_wrap .lifeinfo_list:first-child {
      margin-bottom: 30px; } }

.lifeinfo_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .lifeinfo_list {
      display: block;
      width: 100%; } }
  .lifeinfo_list .lifeinfo_item {
    width: 47.8515625%; }
    @media screen and (max-width: 767px) {
      .lifeinfo_list .lifeinfo_item {
        width: 100%; } }

.info_table {
  border-spacing: 0;
  width: 100%; }
  .info_table th,
  .info_table td {
    line-height: 1.4;
    font-size: clamp(12px, 1.563vw, 16px);
    padding-bottom: 15px;
    vertical-align: text-top;
    color: #464646;
    font-weight: normal; }
  .info_table th {
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    order: 1;
    position: relative; }
    .info_table th::after {
      content: '';
      border-top: 2px dotted;
      flex: auto;
      margin-left: 10px;
      margin-top: 0.6em;
      order: 2; }
    .info_table th.cap_th {
      padding-bottom: 30px; }
    .info_table th .cap {
      display: block;
      font-size: 12px;
      order: 3;
      width: 100%; }
      @media screen and (max-width: 1024px) {
        .info_table th .cap {
          font-size: 10px;
          white-space: nowrap;
          position: absolute;
          top: 20px; } }
  .info_table td {
    text-align: right; }
    .info_table td.time {
      width: 4.7em; }
      .info_table td.time.border_time {
        position: relative; }
        .info_table td.time.border_time::after {
          content: '';
          display: block;
          position: absolute;
          top: 1px;
          width: 100%;
          border-top: 2px dotted;
          margin-top: 0.6em;
          margin-left: 1.87px; }
    .info_table td.range {
      width: 5.7em; }

.map_wrap .map_image {
  position: relative;
  margin: 0 auto clamp(100px, 17.579vw, 180px); }
  .map_wrap .map_image::before {
    content: '';
    position: absolute;
    display: block;
    box-sizing: border-box;
    border: 3px solid #6eb5b8;
    top: -13px;
    left: -13px;
    right: -13px;
    bottom: -13px;
    border-image-slice: 1;
    pointer-events: none; }
  .map_wrap .map_image::after {
    pointer-events: none;
    content: '';
    position: absolute;
    display: block;
    box-sizing: border-box;
    border: 1px solid #6eb5b8;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px; }

.access_main_img {
  max-width: 100%; }
  .access_main_img img {
    width: 100%; }

.access_wrap {
  padding-top: clamp(40px, 9.766vw, 100px);
  margin-bottom: clamp(40px, 8.79vw, 90px); }
  .access_wrap .page_ttl_wrap {
    margin-bottom: clamp(30px, 6.836vw, 70px); }
  @media screen and (max-width: 767px) {
    .access_wrap .access_detail_wrap {
      flex-direction: column;
      row-gap: 20px; } }
  .access_wrap .access_detail_wrap .access_fig {
    max-width: 694px;
    width: 67.78%; }
    @media screen and (max-width: 767px) {
      .access_wrap .access_detail_wrap .access_fig {
        max-width: 100%;
        width: 100%;
        margin: 0 auto;
        text-align: center; } }
  .access_wrap .access_detail_wrap .access_detail_img {
    max-width: 280px;
    width: 27.35%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    row-gap: 20px; }
    @media screen and (max-width: 767px) {
      .access_wrap .access_detail_wrap .access_detail_img {
        flex-direction: row;
        max-width: 100%;
        width: 100%; }
        .access_wrap .access_detail_wrap .access_detail_img .image {
          width: calc(100% / 3 - 10px); } }
    @media screen and (max-width: 480px) {
      .access_wrap .access_detail_wrap .access_detail_img {
        flex-direction: column;
        margin: 0 auto;
        align-items: center;
        row-gap: 20px; }
        .access_wrap .access_detail_wrap .access_detail_img .image {
          width: 100%; } }
    .access_wrap .access_detail_wrap .access_detail_img span {
      color: #fff; }
