@charset "utf-8";
/* CSS Document */


/*----------------------------------------------------
  COMMON PARTS
----------------------------------------------------*/

.page_title {
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
}

.page_title h1 {
  font-size: calc(66vw / 1440 * 100);
  margin: calc(33vw / 1440 * 100) auto calc(20vw / 1440 * 100);
  line-height: 1.2;
  font-weight: 500;
  color: #004386;
  letter-spacing: 0.05em;
}

.page_title p {
  font-size: calc(24vw / 1440 * 100);
  line-height: 1.2;
  font-weight: 400;
}

.page_title_sub {
  margin-top: calc(47vw / 1440 * 100);
  font-size: calc(24vw / 1440 * 100);
  font-weight: 700;
  color: #004386;
  line-height: 1.5;
  display: block;
  text-align: center;
  letter-spacing: 0.0444em;
}

@media (max-width: 767px) {
  .page_title h1 {
    font-size: calc(40vw / 390 * 100);
    margin: calc(13vw / 390 * 100) auto calc(6vw / 390 * 100);
    letter-spacing: 0;
  }

  .page_title p {
    font-size: calc(20vw / 390 * 100);
  }

  .page_title_sub {
    margin: auto;
    margin-top: calc(19vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
    width: calc(307vw / 390 * 100);
  }
}





/* archive
------------------------------------------------ */
.archive {}

.archive_top {}

.archive_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(1240vw / 1440 * 100);
  margin: calc(70vw / 1440 * 100) auto calc(30vw / 1440 * 100);
}

.archive_main {
  width: 100%;
  width: calc(920vw / 1440 * 100);
}

.archive_container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  flex-direction: column;
}

.archive_article-news {
  width: 100%;
  border-top: calc(1vw / 1440 * 100) solid #000000;
}

.archive_article-news-text {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding: calc(40vw / 1440 * 100) 0;
}

.archive_article-news-date {
  font-size: calc(16vw / 1440 * 100);
  font-weight: 700;
  line-height: 1.5;
}

.archive_article-news-ttl {
  font-size: calc(16vw / 1440 * 100);
  font-weight: 500;
  width: calc(706vw / 1440 * 100);
  color: #000;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  letter-spacing: 0.0333em;
}

.archive_article-news-icon {
  width: calc(24vw / 1440 * 100);
  height: calc(24vw / 1440 * 100);
  margin-right: calc(43vw / 1440 * 100);
}
.archive_article-news-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.archive_sub {
  width: calc(280vw / 1440 * 100);
  flex: 0 0 auto;
  position: sticky;
  top: calc(145vw / 1440 * 100);
  padding-bottom: calc(160vw / 1440 * 100);
}

.archive_dropdown {
  margin-bottom: calc(30vw / 1440 * 100);
  position: relative;
  display: flex;
  align-items: center;
  border: calc(3vw / 1440*100) solid #004386;
  background-color: #fff;
  border-radius: calc(16vw / 1440*100);
}

.archive_dropdown::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/common/icon_arrow_right.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: calc(24vw / 1440*100);
  height: calc(24vw / 1440*100);
  top: 50%;
  right: calc(23vw / 1440*100);
  transform: translateY(-50%) rotate(90deg);
}

.archive_dropdown select {
  width: 100%;
  height: calc(43vw / 1440 * 100);
  font-size: calc(16vw / 1440*100);
  font-weight: 700;
  letter-spacing: calc(1.9vw / 1440*100);
  color: #004386;
  padding: 0 calc(18vw / 1440*100);
  cursor: pointer;
  text-overflow: ellipsis;
  z-index: 1;
  border: none;
  appearance: none;
  outline: none;
  background: transparent;
}

form#archive_search {
  display: flex;
  width: 100%;
  height: calc(48vw / 1440 * 100);
}

form#archive_search input[type=search] {
  border: calc(3vw / 1440 * 100) solid #004386;
  background-color: #fff;
  border-radius: calc(16vw / 1440 * 100) 0 0 calc(16vw / 1440 * 100);
  width: calc(200vw / 1440 * 100);
  color: #004386;
  font-size: calc(16vw / 1440*100);
  font-weight: 700;
  padding: 0 calc(18vw / 1440*100);

  letter-spacing: calc(1.9vw / 1440*100);
}

form#archive_search input[type=submit] {
  border: calc(3vw / 1440 * 100) solid #004386;
  background-color: #004386;
  color: #fff;
  font-size: calc(16vw / 1440*100);
  width: calc(80vw / 1440 * 100);
  border-radius: 0 calc(16vw / 1440 * 100) calc(16vw / 1440 * 100) 0;
  padding: 0 calc(8vw / 1440*100);
  letter-spacing: calc(1.9vw / 1440*100);
}

form#archive_search input[type=search]::placeholder {
  color: #004386;
}

.page-numbers_block {
  margin-top: calc(100vw / 1440 * 100);
}

.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  font-size: calc(18vw / 1440 * 100);
}

.page-numbers li {
  margin: 0 calc(15vw / 1440 * 100);
}

.page-numbers li a {
  width: calc(40vw / 1440 * 100);
  height: calc(40vw / 1440 * 100);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #9B9B9B;
}

.page-numbers li .current {
  color: #004386;
  width: calc(40vw / 1440 * 100);
  height: calc(40vw / 1440 * 100);
}

.page-numbers li .next {
  background-image: url(../images/common/icon_arrow_blog.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.page-numbers li .prev {
  background-image: url(../images/common/icon_arrow_blog.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(180deg);
}

.archive_article-blog {
  width: calc(280vw / 1440 * 100);
  width: 100%;
  height: auto;
  padding-top: calc(16vw / 1440 * 100);
  padding-bottom: calc(45vw / 1440 * 100);
  border-top: solid calc(1vw / 1440 * 100) #000000;
}

.archive_article-blog a {
  display: block;
  height: 100%;
}

.archive_article-blog-inner {
  position: relative;
  display: block;
  height: calc(100% + calc(20vw / 1440 * 100));
}
.archive_article-blog-inner a{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.archive_article_thumb {
  width: 100%;
  width: calc(280vw / 1440 * 100);
  height: calc(160vw / 1440 * 100);
  object-fit: cover;
  object-position: center center;
  border-radius: 0.4em;
}

.archive_article-blog-text{
  width: calc(614vw / 1440 * 100);
}

.archive_article-blog-date {
  font-size: calc(16vw / 1440 * 100);
  margin-bottom: calc(16vw / 1440 * 100);
  font-weight: 700;
}

.archive_article-blog-ttl {
  font-weight: 500;
  font-size: calc(18vw / 1440 * 100);
  line-height: 1.5;
  color: #000;

  display: -webkit-box;
  height: 3lh;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
}

.archive_article-blog-icon {
  position: absolute;
  right: 0;
  bottom: calc(20vw / 1440 * 100);
  display: block;
  width: calc(24vw / 1440 * 100);
  height: calc(24vw / 1440 * 100);
}

.archive_article-blog-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}


@media (max-width: 767px) {

  .archive_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(320vw / 390 * 100);
    margin: calc(48vw / 390 * 100) auto calc(155vw / 390 * 100);
    flex-direction: column;
  }

  .archive_main {
    width: 100%;
    margin-top: calc(67vw / 390 * 100);
    width: calc(280vw / 390 * 100);
  }

  .post-type-archive-news .archive_main {
    width: calc(320vw / 390 * 100);
    margin-top: calc(45vw / 390 * 100);
  }

  .archive_container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
  }

  .archive_article-news {
    width: 100%;
    border-top: calc(1vw / 390 * 100) solid #000000;
  }

  .archive_article-news-text {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding: calc(16vw / 390 * 100) 0 calc(38vw / 390 * 100);
    flex-direction: column;
  }

  .archive_article-news-date {
    font-size: calc(14vw / 390 * 100);
    margin-bottom: calc(8vw / 390 * 100);
  }

  .archive_article-news-ttl {
    width: 100%;
    font-size: calc(14vw / 390 * 100);
    margin-bottom: calc(16vw / 390 * 100);
  }

  .archive_article-news-icon {
    width: calc(24vw / 390 * 100);
    height: calc(24vw / 390 * 100);
    margin-right: 0;
    margin-left: auto;
  }

  .archive_sub {
    width: 100%;
    flex: 0 0 auto;
    position: relative;
    top: 0;
    padding-bottom: 0;
  }

  .archive_article-blog-text{
    width: 100%;
  }

  .archive_dropdown {
    position: relative;
    display: flex;
    align-items: center;
    border: calc(2vw / 390 * 100) solid #004386;
    background-color: #fff;
    border-radius: calc(16vw / 390*100);
    margin-bottom: calc(17vw / 390 * 100);
  }

  .archive_dropdown::before {
    position: absolute;
    content: "";
    display: block;
    background-image: url(../images/common/icon_arrow_right.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: calc(24vw / 390*100);
    height: calc(24vw / 390*100);
    top: 50%;
    right: calc(20vw / 390*100);
    transform: translateY(-50%) rotate(90deg);
  }

  .archive_dropdown select {
    width: 100%;
    height: calc(44vw / 390 * 100);
    font-size: calc(18vw / 390*100);
    font-weight: 700;
    letter-spacing: calc(0.3vw / 390 * 100);
    color: #004386;
    padding: 0 calc(19vw / 390*100);
    cursor: pointer;
    text-overflow: ellipsis;
    z-index: 1;
    border: none;
    appearance: none;
    outline: none;
    background: transparent;
  }

  form#archive_search {
    display: flex;
    width: 100%;
    height: calc(48vw / 390 * 100);
  }

  form#archive_search input[type=search] {
    border: calc(2vw / 390 * 100) solid #004386;
    background-color: #fff;
    border-radius: calc(16vw / 390 * 100) 0 0 calc(16vw / 390 * 100);
    width: calc(240vw / 390 * 100);
    color: #004386;
    font-size: calc(18vw / 390*100);
    letter-spacing: calc(0.3vw / 390 * 100);
    font-weight: 700;
    padding: 0 calc(19vw / 390*100)
  }

  form#archive_search input[type=submit] {
    border: calc(2vw / 390 * 100) solid #004386;
    background-color: #004386;
    color: #fff;
    font-size: calc(18vw / 390*100);
    letter-spacing: calc(0.3vw / 390 * 100);
    width: calc(80vw / 390 * 100);
    border-radius: 0 calc(16vw / 390 * 100) calc(16vw / 390 * 100) 0;
    padding: 0 calc(15vw / 390*100);
  }

  .page-numbers_block {
    margin-top: calc(6vw / 390 * 100);
  }


  .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    font-size: calc(18vw / 390 * 100);
    position: relative;
  }

  .page-numbers li {
    margin: 0 calc(10vw / 390 * 100);
  }

  .page-numbers li a {
    width: calc(40vw / 390 * 100);
    height: calc(40vw / 390 * 100);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #9B9B9B;
  }

  .page-numbers li .current {
    color: #004386;
    width: calc(40vw / 390 * 100);
    height: calc(40vw / 390 * 100);
  }

  .page-numbers li .next {
    background-image: url(../images/common/icon_arrow_blog.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    bottom: calc(-65vw / 390 * 100);
    right: calc(60vw / 390 * 100);
  }

  .page-numbers li .prev {
    background-image: url(../images/common/icon_arrow_blog.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    transform: rotate(180deg);
    position: absolute;
    bottom: calc(-65vw / 390 * 100);
    left: calc(60vw / 390 * 100);
  }

  .archive_article-blog {
    width: 100%;
    height: auto;
    padding-top: calc(16vw / 390 * 100);
    padding-bottom: calc(16vw / 390 * 100);
    margin-bottom: calc(38vw / 390 * 100);
    border-top: solid calc(1vw / 390 * 100) #000000;
  }

  .archive_article-blog a {
    display: block;
    height: 100%;
  }

  .archive_article-blog-inner {
    position: relative;
    display: block;
    height: calc(100% + calc(20vw / 390 * 100));
  }

  .archive_article_thumb {
    width: 100%;
    height: calc(160vw / 390 * 100);
    margin-bottom: calc(16vw / 390 * 100);
    object-fit: cover;
    object-position: center center;
  }

  .archive_article-blog-date {
    font-size: calc(13vw / 390 * 100);
    margin-bottom: calc(16vw / 390 * 100);
    font-weight: 700;
  }

  .archive_article-blog-ttl {
    font-weight: 500;
    font-size: calc(14vw / 390 * 100);
    line-height: 1.5;
    color: #000;

    display: -webkit-box;
    height: 2lh;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
  }

  .archive_article-blog-icon {
    position: absolute;
    right: 0;
    bottom: calc(-23vw / 390 * 100);
    display: block;
    width: calc(24vw / 390 * 100);
    height: calc(24vw / 390 * 100);
  }
}


/* single
------------------------------------------------ */
.single_wrap {
  width: calc(816vw / 1440 * 100);
  margin: 2.5em auto 0;
}

.single_ttl {
  font-size: calc(32vw / 1440 * 100);
  font-weight: 700;
  color: #004386;
  line-height: 1.5;
  margin-bottom: calc(32vw / 1440 * 100);
  letter-spacing: 0.0333em;
}

.single_information {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: calc(1vw / 1440 * 100) solid #004386;
  padding-bottom: calc(10vw / 1440 * 100);
}

.single_tag {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.single_tag a {
  display: block;
  background-color: #fff;
  color: #004386;
  font-weight: 700;
  border: solid 1px #004386;
  padding: calc(5vw / 1440 * 100) calc(12vw / 1440 * 100);
  font-size: calc(12vw / 1440 * 100);
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
  margin-right: calc(16vw / 1440 * 100);
  margin-bottom: calc(6vw / 1440 * 100);
}

.single_tag a::before {
  content: "#";
  margin-right: calc(1vw / 1440 * 100);
}


.single_date {
  font-size: calc(16vw / 1440 * 100);
  margin-top: calc(5vw / 1440 * 100);
  font-weight: 700;
  color: #004386;
}

.single_content {
  margin: calc(48vw / 1440 * 100) auto calc(48vw / 1440 * 100);
}

.single_content p {
  line-height: 1.8;
  font-size: calc(16vw / 1440 * 100);
  color: #004386;
  font-weight: 700;
  letter-spacing: 0.111em;
}

.single_content a {
  text-decoration: underline;
}

.pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: calc(80vw / 1440 * 100) auto;
  width: calc(755vw / 1440 * 100);
  font-weight: 700;
}

.single_to_archive {
  font-size: calc(18vw / 1440 * 100);
  text-decoration: underline;
}

.single_prev {
  width: calc(170vw / 1440 * 100);
}

.single_prev a {
  font-size: calc(16vw / 1440 * 100);
  width: calc(130vw / 1440 * 100);
  height: calc(44vw / 1440 * 100);
  display: flex;
  align-items: center;
  background-color: #fff;
  border: solid calc(2vw / 1440 * 100) #004386;
  justify-content: flex-end;
  border-radius: 2em 0.5em 0.5em 2em;
  position: relative;
  padding-right: calc(38vw / 1440 * 100);
}

.single_prev a::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/common/icon_arrow_right.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: calc(20vw / 1440 * 100);
  height: calc(20vw / 1440 * 100);
  top: 50%;
  left: calc(40vw / 1440 * 100);
  transform: translateY(-50%) rotate(180deg);
}

.single_next {
  width: calc(170vw / 1440 * 100);
}

.single_next a {
  display: block;
  font-size: calc(16vw / 1440 * 100);
  width: calc(130vw / 1440 * 100);
  height: calc(44vw / 1440 * 100);
  display: flex;
  align-items: center;
  background-color: #F6D600;
  border: solid calc(2vw / 1440 * 100) #004386;
  justify-content: flex-start;
  border-radius: 0.5em 2em 2em 0.5em;
  position: relative;
  padding-left: calc(38vw / 1440 * 100);
}

.single_next a::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/common/icon_arrow_right.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: calc(20vw / 1440 * 100);
  height: calc(20vw / 1440 * 100);
  top: 50%;
  right: calc(40vw / 1440 * 100);
  transform: translateY(-50%) rotate(0deg);
}

@media (max-width: 767px) {

  .single_wrap {
    width: calc(320vw / 390 * 100);
    margin: calc(63vw / 390 * 100) auto 0;
  }

  .single_ttl {
    font-size: calc(24vw / 390 * 100);
    font-weight: 700;
    color: #004386;
    line-height: 1.5;
    margin-bottom: calc(16vw / 390 * 100);
  }

  .single_information {
    border-bottom: calc(1vw / 390 * 100) solid #004386;
    padding-bottom: calc(15vw / 390 * 100);
    flex-direction: column;
  }

  .single_tag {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .single_tag a {
    display: block;
    background-color: #fff;
    color: #004386;
    font-weight: 700;
    border: solid 1px #004386;
    padding: calc(4vw / 390 * 100) calc(12vw / 390 * 100);
    font-size: calc(12vw / 390 * 100);
    border-radius: 0 calc(calc(1vw / 390 * 100) * infinity) calc(calc(1vw / 390 * 100) * infinity) 0;
    margin-right: calc(8vw / 390 * 100);
    margin-bottom: calc(6vw / 390 * 100);
  }

  .single_tag a::before {
    content: "#";
    margin-right: calc(1vw / 390 * 100);
  }

  .single_date {
    font-size: calc(16vw / 390 * 100);
    margin-top: calc(10vw / 390 * 100);
    font-weight: 700;
    color: #004386;
    margin-left: auto;
  }

  .single_content {
    margin: calc(20vw / 390 * 100) auto calc(20vw / 390 * 100);
  }

  .single_content p {
    line-height: 1.8;
    font-size: calc(14vw / 390 * 100);
    color: #004386;
  }

  .single_content a {
    text-decoration: underline;
  }

  .pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: calc(60vw / 390 * 100) auto calc(190vw / 390 * 100);
    width: calc(336vw / 390 * 100);
    font-weight: 700;
    position: relative;
  }

  .single_to_archive {
    font-size: calc(18vw / 390 * 100);
    text-decoration: underline;
    position: absolute;
    top: calc(77vw / 390 * 100);
    left: 50%;
    transform: translateX(-50%);
  }

  .single_prev {
    width: calc(140vw / 390 * 100);
  }

  .single_prev a {
    display: block;
    font-size: calc(14vw / 390 * 100);
    width: calc(107vw / 390 * 100);
    height: calc(37vw / 390 * 100);
    display: flex;
    align-items: center;
    background-color: #fff;
    border: solid calc(2vw / 390 * 100) #004386;
    justify-content: flex-end;
    border-radius: 2em 0.5em 0.5em 2em;
    position: relative;
    padding-right: calc(28vw / 390 * 100);
  }

  .single_prev a::before {
    position: absolute;
    content: "";
    display: block;
    background-image: url(../images/common/icon_arrow_right.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: calc(18vw / 390 * 100);
    height: calc(18vw / 390 * 100);
    top: 50%;
    left: calc(25vw / 390 * 100);
    transform: translateY(-50%) rotate(180deg);
  }

  .single_next {
    width: calc(140vw / 390 * 100);
  }

  .single_next a {
    display: block;
    font-size: calc(14vw / 390 * 100);
    width: calc(107vw / 390 * 100);
    height: calc(37vw / 390 * 100);
    display: flex;
    align-items: center;
    background-color: #F6D600;
    border: solid calc(2vw / 390 * 100) #004386;
    justify-content: flex-start;
    border-radius: 0.5em 2em 2em 0.5em;
    position: relative;
    padding-left: calc(28vw / 390 * 100);
  }

  .single_next a::before {
    position: absolute;
    content: "";
    display: block;
    background-image: url(../images/common/icon_arrow_right.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: calc(18vw / 390 * 100);
    height: calc(18vw / 390 * 100);
    top: 50%;
    right: calc(25vw / 390 * 100);
    transform: translateY(-50%) rotate(0deg);
  }
}



/* できること CAN DO
------------------------------------------------ */


.can_wrap {

  width: calc(1205vw / 1440 * 100);
  margin: auto;
}

.can_section {
  display: flex;
  width: calc(1135vw / 1440 * 100);
  justify-content: space-between;
  align-items: flex-start;
  margin-top: calc(140vw / 1440 * 100);
  margin-right: auto;
}

.can_section:first-child {
  margin-top: calc(126vw / 1440 * 100);
}

.can_section:nth-child(2n) {
  margin-right: 0;
  margin-left: auto;
}

.can_image {
  width: calc(600vw / 1440 * 100);
  height: calc(380vw / 1440 * 100);
  overflow: hidden;
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
}

.can_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.can_details {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: calc(496vw / 1440 * 100);
}

.can_title {
  display: inline-block;
  background-color: #F6D600;
  color: #004386;
  padding: calc(20vw /1440 * 100) calc(30vw /1440 * 100);
  margin-bottom: calc(32vw /1440 * 100);
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
  font-weight: 500;
  font-size: calc(28vw /1440 * 100);
  font-family: "Zen Maru Gothic", sans-serif;
}

.can_headline_line {
  display: inline-block;
  display: inline-flex;
  font-size: calc(20vw /1440 * 100);
  margin-top: calc(10vw /1440 * 100);
  padding: calc(10vw /1440 * 100) calc(30vw /1440 * 100);
  background-color: #004386;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.0333em;
}

.can_headline_line span {}

.can_text {
  margin-top: calc(24vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.0333em;
}

@media (max-width: 767px) {

  .can_wrap {
    width: calc(320vw / 390 * 100);
    margin: auto;
  }

  .can_section {
    width: 100%;
    margin-top: calc(120vw / 390 * 100);
    flex-direction: column;
  }

  .can_section:first-child {
    margin-top: calc(85vw / 390 * 100);
  }

  .can_section:nth-child(2n) {
    margin-right: 0;
    margin-left: auto;
  }

  .can_image {
    width: 100%;
    height: calc(203vw / 390 * 100);
    overflow: hidden;
    border-radius: 0 calc(calc(1vw / 390 * 100) * infinity) calc(calc(1vw / 390 * 100) * infinity) 0;
    margin-bottom: calc(40vw /390 * 100);
  }

  .can_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .can_details {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
  }

  .can_title {
    display: inline-block;
    background-color: #F6D600;
    color: #004386;
    padding: calc(15vw /390 * 100) calc(60vw /390 * 100);
    margin-bottom: calc(14vw /390 * 100);
    border-radius: 0 calc(calc(1vw / 390 * 100) * infinity) calc(calc(1vw / 390 * 100) * infinity) 0;
    font-weight: 500;
    font-size: calc(20vw /390 * 100);
    font-family: "Zen Maru Gothic", sans-serif;
  }

  .can_headline_line {
    display: inline-block;
    text-align: left;
    font-size: calc(18vw / 390 * 100);
    margin-top: calc(0vw / 390 * 100);
    padding: 0;
    background-color: unset;
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
  }

  .can_headline_line span {
    display: inline-block;
    text-align: left;
    font-size: calc(17vw / 390 * 100);
    margin-top: calc(10vw / 390 * 100);
    padding: calc(10vw /390 * 100) calc(30vw /390 * 100);
    background-color: #004386;
    font-weight: 700;
    color: #fff;
    line-height: 1;
  }

  .can_headline_line span:not(:first-child) {
    margin-top: calc(10vw /390 * 100);
  }

  .can_text {
    margin-top: calc(24vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
    line-height: 2;
    font-weight: 700;
  }
}


/* 事務所概要 aboutページ
------------------------------------------------ */
.about_image {
  width: calc(1339vw / 1440 * 100);
  overflow: hidden;
  margin-right: auto;
}

.about_image img {
  width: 100%;
  height: 100%;
}

.about_wrap {
  margin-top: calc(56vw /1440 * 100);
}

.message {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  color: #004386;
  margin-top: calc(93vw / 1440 * 100);
  width: calc(1288vw / 1440 * 100);
  padding-top: calc(74vw /1440 * 100);
  padding-bottom: calc(64vw /1440 * 100);
  z-index: 5;
}

.message::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 50%;
  height: calc(623vw /1440 * 100);
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
  background-color: #F6D600;
  z-index: -1;
}

.message::after {
  content: "";
  position: absolute;
  top: calc(570vw /1440 * 100);
  left: 0;
  display: block;
  width: 100%;
  height: 50%;
  height: calc(621vw /1440 * 100);
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
  background-color: #F6D600;
  z-index: -1;
}

.message_main {
  width: calc(685vw / 1440 * 100);
  margin-right: calc(90vw /1440 * 100);
  text-align: left;
  line-height: 2;
}

.message_main_ttl {
  font-size: calc(34vw /1440 * 100);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.033333333em;
}

.message_main_txt {
  margin-top: calc(27vw /1440 * 100);
  font-size: calc(20vw /1440 * 100);
  line-height: 1.9;
  letter-spacing: 0.088888em;
  text-align: justify;
}

.message_items_sp {
  display: none;
}

.message_representative {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(425vw / 1440 * 100);
  height: calc(236vw / 1440 * 100);
  color: #fff;
  background-color: #004386;
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
  margin-top: calc(217vw / 1440 * 100);
  margin-right: calc(-80vw / 1440 * 100);
}

.message_representative:not(:first-child) {
  margin-top: calc(292vw / 1440 * 100);
}

.message_representative_image {
  position: relative;
  width: calc(267vw / 1440 * 100);
  height: calc(480vw / 1440 * 100);
}

.message_representative_image img {
  position: absolute;
  bottom: calc(122vw /1440 * 100);
  left: calc(6.5vw /1440 * 100);
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.message_representative:not(:first-child) .message_representative_image {
  position: relative;
  width: calc(295vw / 1440 * 100);
  height: 100%;
  height: calc(472vw / 1440 * 100);
}

.message_representative:not(:first-child) .message_representative_image img {
  position: absolute;
  bottom: calc(118vw /1440 * 100);
  left: calc(-15vw /1440 * 100);
}

.message_representative_info {
  margin-left: calc(20vw /1440 * 100);
  font-family: "Zen Kaku Gothic New", "Zen Maru Gothic", sans-serif;

}

.message_representative_info_ttl {
  font-size: calc(20vw /1440 * 100);
  line-height: 1;
  font-weight: 400;
  margin-bottom: calc(10vw /1440 * 100);
}

.message_representative_info_name {
  font-size: calc(30vw /1440 * 100);
}

.message_representative:not(:first-child) .message_representative_info {
  margin-left: calc(-44vw /1440 * 100);
}


.about {
  text-align: left;
  position: relative;
}

/*
.about::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/top/top_cando_bg.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: calc(730vw / 1440 * 100);
  height: calc(850vw / 1440 * 100);
  top: calc(-95vw /1440 * 100);
  right: 0;
  z-index: -1;
}*/


/* Safari専用 */
/*
@supports (-webkit-hyphens:none) {
  .about::before {
    position: absolute;
    content: "";
    display: block;
    background-image: url(../images/top/top_cando_bg.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: calc(730vw / 1440 * 100);
    height: calc(850vw / 1440 * 100);
    top: calc(-95vw /1440 * 100);
    right: 0;
    z-index: -1;
  }
}*/

.about_inner {
  width: calc(1120vw / 1440 * 100);
  margin: calc(150vw /1440 * 100) auto calc(52vw /1440 * 100);
}

.about_section_ttl {
  font-size: calc(32vw /1440 * 100);
  margin-bottom: calc(60vw /1440 * 100);
  line-height: 1;
  font-weight: 700;
  color: #004386;
}

.about_dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: calc(1020vw / 1440 * 100);
  margin: 0 auto calc(32vw / 1440 * 100);
  font-size: calc(16vw /1440 * 100);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.033333em;
}

.about_dt {
  width: calc(168vw / 1440 * 100);
  margin-right: calc(40vw / 1440 * 100);
  flex: 0 0 auto;
  color: #004386;
}

.about_dd {
  width: calc(920vw / 1440 * 100);
}

.about_dl:last-child .about_dt {
  margin-top: calc(5vw /1440 * 100);
}

.about_dl:last-child .about_dd {
  line-height: 2;
}

.about_dd_col {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: calc(10vw /1440 * 100);
}

.about_dd_row {
  min-width: 8em;
  margin-right: 1em;
}

.cloud {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(1240vw / 1440 * 100);
  padding: calc(32vw / 1440 * 100) calc(110vw / 1440 * 100);
  margin: 3em auto 4.5em;
  border-radius: calc(16vw / 1440 * 100);
  background-color: #fff;
  box-sizing: border-box;
}

.cloud_title {
  width: calc(322vw / 1440 * 100);
  font-size: calc(28vw / 1440 * 100);
  line-height: 1;
  color: #004386;
  flex: 0 0 auto;
  font-weight: 700;
}

.cloud_main {
  font-weight: 700;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
  flex-wrap: wrap;
}

.cloud_block {
  width: calc(300vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  line-height: 2;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}

.cloud_block:nth-of-type(n + 3) {
  margin-top: calc(40vw / 1440 * 100);
}

.cloud_define {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: calc(16vw / 1440 * 100);
  line-height: 1.5;
}

.cloud_define:last-child {
  margin-top: calc(30vw /1440 * 100);
}

.cloud_define_term {
  width: calc(141vw /1440 * 100);
}

.cloud_define_details {
  width: calc(495vw /1440 * 100);
}

@media (max-width: 767px) {
  .about_image {
    width: 100%;
    aspect-ratio: 15 / 8;
  }

  .about_image img {
    object-fit: cover;
  }


  .about_wrap {
    margin-top: calc(53vw /390 * 100);
  }

  .message {
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: column;
    color: #004386;
    margin-top: calc(67vw / 390 * 100);
    width: 100%;
    padding-top: calc(47vw /390 * 100);
    padding-bottom: calc(48vw /390 * 100);
    z-index: 5;
  }

  .message::before {
    content: none;
  }

  .message::after {
    content: none;
  }

  .message_main {
    width: calc(320vw / 390 * 100);
    margin: 0 auto calc(30vw / 390 * 100);
    text-align: left;
    line-height: 2;
  }

  .message_main_ttl {
    font-size: calc(26vw /390 * 100);
    line-height: 1.5;
    font-weight: 700;
    position: relative;
    min-height: calc(190vw / 390 * 100);
  }

  .message_main_ttl::before {
    content: "";
    position: absolute;
    top: calc(-47vw / 390 * 100);
    left: calc(-35vw / 390 * 100);
    display: block;
    width: calc(336vw / 390 * 100);
    height: calc(154vw / 390 * 100);
    height: 76%;
    border-radius: 0 calc(calc(1vw / 390 * 100) * infinity) calc(calc(1vw / 390 * 100) * infinity) 0;
    background-color: #F6D600;
    z-index: -1;
  }

  .message_main_ttl::after {
    content: "";
    position: absolute;
    top: calc(88vw /390 * 100);
    bottom: auto;
    left: calc(-35vw / 390 * 100);
    display: block;
    width: calc(369vw / 390 * 100);
    height: calc(154vw / 390 * 100);
    height: 80%;
    border-radius: 0 calc(calc(1vw / 390 * 100) * infinity) calc(calc(1vw / 390 * 100) * infinity) 0;
    background-color: #F6D600;
    z-index: -1;
  }

  .message_main_txt {
    margin-top: calc(94vw /390 * 100);
    font-size: calc(14vw /390 * 100);
    letter-spacing: 0.03333em;
  }

  .message_items {
    display: none;
  }


  .message_items_sp {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: calc(365vw / 390 * 100);
    margin: 0 auto calc(30vw / 390 * 100) 0;
    position: relative;
  }

  .message_items_sp::after {
    content: "";
    position: absolute;
    bottom: calc(-14vw /390 * 100);
    left: 0;
    display: block;
    width: calc(375vw / 390 * 100);
    height: calc(154vw / 390 * 100);
    border-radius: 0 calc(calc(1vw / 390 * 100) * infinity) calc(calc(1vw / 390 * 100) * infinity) 0;
    background-color: #004386;
    z-index: -1;
  }

  .message_representative_sp {
    position: relative;
    width: calc(144vw / 390 * 100);
    font-family: "Zen Kaku Gothic New", "Zen Maru Gothic", sans-serif;
    margin-bottom: calc(-81vw /390 * 100);
  }

  .message_representative_image_sp {
    position: relative;
    width: calc(145vw / 390 * 100);
    height: calc(259vw / 390 * 100);
  }

  .message_representative_image_sp img {
    object-fit: cover;
  }

  .message_representative_sp:not(:first-child) {
    width: calc(154vw / 390 * 100);
  }

  .message_representative_sp:not(:first-child) .message_representative_image_sp {
    width: calc(127vw / 390 * 100);
    height: calc(255vw / 390 * 100);
    left: calc(5vw / 390 * 100);
  }

  .message_representative_info_sp {
    color: #333;
    margin-top: calc(19vw /390 * 100);
    margin-left: calc(20vw / 390 * 100);
  }

  .message_representative_sp:not(:first-child) .message_representative_info_sp {
    margin-left: calc(26vw / 390 * 100);
  }

  .message_representative_info_ttl_sp {
    font-size: calc(14vw /390 * 100);
    margin-bottom: calc(10vw /390 * 100);
  }

  .message_representative_info_name_sp {
    font-size: calc(24vw /390 * 100);
    font-weight: 500;
  }

  .about {
    text-align: left;
    position: relative;
  }

  /*
  .about::before {
    position: absolute;
    content: "";
    display: block;
    background-image: url(../images/top/top_cando_bg_sp.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: calc(275vw / 390 * 100);
    height: calc(290vw / 390 * 100);
    top: calc(58vw / 390 * 100);
    right: 0;
    z-index: -1;
  }*/

  /* Safari専用 */
  /*
  @supports (-webkit-hyphens:none) {
    .about::before {
      position: absolute;
      content: "";
      display: block;
      background-image: url(../images/top/top_cando_bg_sp.svg);
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      width: calc(275vw / 390 * 100);
      height: calc(290vw / 390 * 100);
      top: calc(58vw / 390 * 100);
      right: 0;
      z-index: -1;
    }
  }*/

  .about_inner {
    width: calc(320vw / 390 * 100);
    margin: calc(100vw /390 * 100) auto calc(52vw /390 * 100);
  }

  .about_section_ttl {
    font-size: calc(32vw /390 * 100);
    margin-bottom: calc(41vw /390 * 100);
    text-align: center;
  }

  .about_dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: calc(320vw / 390 * 100);
    margin: 0 auto calc(30vw / 390 * 100);
    font-size: calc(14vw /390 * 100);
    font-weight: 700;
    line-height: 1.3;
    flex-direction: column;
  }

  .about_dt {
    width: 100%;
    margin-right: 0;
    flex: 0 0 auto;
    color: #004386;
    margin-bottom: calc(6vw /390 * 100);
  }

  .about_dd {
    width: 100%;
  }

  .about_dl:last-child .about_dt {
    margin-top: calc(5vw /390 * 100);
  }

  .about_dl:last-child .about_dd {
    line-height: 2;
  }

  .about_dd_col {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: calc(3vw / 390 * 100);
    margin-bottom: calc(15vw / 390 * 100);
    flex-direction: column;
  }

  .about_dd_row {
    min-width: 8em;
    margin-right: 0;
    margin-bottom: calc(1vw / 390 * 100);
  }

  .cloud {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: calc(320vw / 390 * 100);
    padding: calc(32vw / 390 * 100) calc(20vw / 390 * 100);
    margin: calc(68vw / 390 * 100) auto;
    border-radius: calc(16vw / 390 * 100);
    background-color: #fff;
    box-sizing: border-box;
    flex-direction: column;
  }

  .cloud_title {
    width: 100%;
    font-size: calc(28vw / 390 * 100);
    margin-bottom: calc(40vw / 390 * 100);
    text-align: center;
  }

  .cloud_main {
    font-weight: 700;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    flex-wrap: wrap;
  }

  .cloud_block {
    width: 100%;
    font-size: calc(16vw / 390 * 100);
    line-height: 2;
  }


  .cloud_block:nth-of-type(n + 3) {
    margin-top: calc(40vw / 390 * 100);
  }

  .cloud_block:not(:first-child) {
    margin-top: calc(40vw /390 * 100);
  }

  .cloud_define {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: calc(16vw / 390 * 100);
    line-height: 1.5;
    flex-direction: column;
  }

  .cloud_define:last-child {
    margin-top: calc(32vw /390 * 100);
  }

  .cloud_define_term {
    width: 100%;
    margin-bottom: calc(33vw /390 * 100);
  }

  .cloud_define_details {
    width: 100%;
  }
}

/* 採用情報
------------------------------------------------ */
.recruit {
  width: calc(1026vw / 1440 * 100);
  margin: calc(100vw / 1440 * 100) auto 0;
}

.recruit_title {
  font-size: calc(32vw / 1440 * 100);
  line-height: 1.5;
  margin-bottom: calc(64vw / 1440 * 100);
  text-align: center;
  color: #004386;
}

.recruit_industry {
  margin: 0 0 calc(40vw / 1440 * 100);
  text-align: center;
  font-size: calc(24vw / 1440 * 100);
  line-height: 1;
  font-weight: 700;
}

.recruit_row {
  margin-bottom: calc(64vw / 1440 * 100);
}

.recruit_col {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin-bottom: calc(32vw / 1440 * 100);
}

.recruit_headline {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #004386;
  color: #fff;
  width: calc(183vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  line-height: 1.8;
  flex: 0 0 auto;
}

.recruit_details {
  border-top: calc(1vw / 1440 * 100) solid #004386;
  padding: calc(10vw / 1440 * 100) calc(24vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  line-height: 1.8;
  width: 100%;
  box-sizing: border-box;
  color: #004386;
  font-weight: 700;
}

.recruit_headline+.recruit_details {
  margin-left: calc(40vw / 1440 * 100);
}

.recruit_empty {
  text-align: center;
  margin: calc(50vw / 1440 * 100) 0;
  font-size: calc(24vw / 1440 * 100);
}

.recruit_images {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  width: calc(1026vw / 1440 * 100);
  margin: calc(34vw / 1440 * 100) auto 0;
}

.recruit_images img {
  display: inline-block;
  width: calc(493vw / 1440 * 100);
  margin-bottom: calc(40vw / 1440 * 100);
}

.recruit_message {
  width: calc(1026vw / 1440 * 100);
  margin: calc(34vw / 1440 * 100) auto 0;
}

.recruit_message_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: calc(32vw / 1440 * 100);
}

.recruit_message_image {
  width: calc(173vw / 1440 * 100);
  height: calc(173vw / 1440 * 100);
  border-radius: 100%;
  overflow: hidden;
}

.recruit_message_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recruit_message_text {
  position: relative;
  width: calc(815vw / 1440 * 100);
  border: calc(5vw / 1440 * 100) solid #204583;
  font-size: calc(16vw / 1440 * 100);
  font-weight: 700;
  line-height: 1.5;
  color: #204583;
  background-color: #fff;
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
  border-radius: 0 3.5em 3.5em 0;
  padding: calc(30vw / 1440 * 100) calc(50vw / 1440 * 100) calc(30vw / 1440 * 100) calc(44vw / 1440 * 100);
  box-sizing: border-box;
  letter-spacing: 0.0333em;
}

.recruit_message_text::before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  margin: auto;
  width: calc(30vw / 1440 * 100);
  height: calc(30vw / 1440 * 100);
  background-color: #004386;
  clip-path: polygon(50% 30%, 100% 100%, 0% 100%);
  transform: rotate(-90deg);
}

.recruit_message_text::after {
  content: "";
  position: absolute;
  top: 0;
  right: 99%;
  bottom: 0;
  margin: auto;
  width: calc(30vw / 1440 * 100);
  height: calc(30vw / 1440 * 100);
  background-color: #fff;
  clip-path: polygon(50% 30%, 100% 100%, 0% 100%);
  transform: rotate(-90deg);
}

@media (max-width: 767px) {

  .recruit {
    width: calc(340vw / 390 * 100);
    margin: calc(73vw / 390 * 100) auto 0;
  }

  .recruit_title {
    font-size: calc(24vw / 390 * 100);
    margin-bottom: calc(45vw / 390 * 100);
  }

  .recruit_industry {
    margin: 0 0 calc(40vw / 390 * 100);
    font-size: calc(20vw / 390 * 100);
  }

  .recruit_row {
    margin-bottom: calc(100vw / 390 * 100);
  }

  .recruit_col {
    align-items: center;
    flex-direction: column;
    margin-bottom: calc(31vw / 390 * 100);
  }

  .recruit_headline {
    width: 100%;
    font-size: calc(16vw / 390 * 100);
    margin-bottom: calc(14vw / 390 * 100);
  }

  .recruit_details {
    border-top: unset;
    padding: 0;
    font-size: calc(14vw / 390 * 100);
    line-height: 1.6;
    width: 100%;
  }

  .recruit_headline+.recruit_details {
    margin-left: 0;
  }

  .recruit_empty {
    text-align: center;
    margin: calc(50vw / 390 * 100) 0;
    font-size: calc(24vw / 390 * 100);
  }

  .recruit_images {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    width: calc(340vw / 390 * 100);
    margin: calc(64vw / 390 * 100) auto 0;
  }

  .recruit_images img {
    display: inline-block;
    width: 100%;
    margin-bottom: calc(40vw / 390 * 100);
  }

  .recruit_images img:last-child {
    margin-bottom: calc(20vw / 390 * 100);
  }

  .recruit_message {
    width: calc(1026vw / 1440 * 100);
    margin: calc(34vw / 1440 * 100) auto 0;
  }

  .recruit_message_row {
    flex-direction: column-reverse;
    margin-bottom: calc(48vw / 390 * 100);
  }

  .recruit_message_image {
    width: calc(220vw / 390 * 100);
    height: calc(220vw / 390 * 100);
    margin-top: calc(45vw / 390 * 100);
  }

  .recruit_message_text {
    position: relative;
    width: 100%;
    border: calc(5vw / 390 * 100) solid #204583;
    font-size: calc(14vw / 390 * 100);
    border-radius: 0 7.5em 7.5em 0;
    padding: calc(40vw / 390 * 100) calc(35vw / 390 * 100) calc(40vw / 390 * 100) calc(22vw / 390 * 100);
    box-sizing: border-box;
  }

  .recruit_message_text::before {
    content: "";
    position: absolute;
    top: auto;
    right: calc(273vw / 390 * 100);
    bottom: calc(-30vw / 390 * 100);
    margin: auto;
    width: calc(30vw / 390 * 100);
    height: calc(30vw / 390 * 100);
    background-color: #004386;
    clip-path: polygon(20% 0%, 100% 90%, 20% 100%);
    transform: rotate(-180deg);
  }

  .recruit_message_text::after {
    content: "";
    position: absolute;
    top: auto;
    right: calc(277.7vw / 390 * 100);
    bottom: calc(-18vw / 390 * 100);
    margin: auto;
    width: calc(30vw / 390 * 100);
    height: calc(30vw / 390 * 100);
    background-color: #fff;
    clip-path: polygon(20% 0%, 100% 90%, 20% 100%);
    transform: rotate(-180deg);
  }
}

/* お役立ちリンク
------------------------------------------------ */
.link_group_wrapper {
  position: relative;
}

/* Safari専用 */
/*
@supports (-webkit-hyphens:none) {
  .link_group_wrapper::before {
    position: absolute;
    content: "";
    display: block;
    background-image: url(../images/common/privacy_bg.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100vw;
    height: calc(1626vw / 1440 * 100);
    top: calc(-270vw / 1440 * 100);
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
}*/

.link_group {
  width: calc(814vw / 1440 * 100);
  margin: calc(122vw / 1440 * 100) auto calc(100vw / 1440 * 100);
  position: relative;
}

.link_group:last-child {
  margin-top: calc(100vw / 1440 * 100);
}

.link_headline {
  font-size: calc(22vw / 1440 * 100);
  line-height: 1.5;
  background-color: #004386;
  color: #fff;
  padding: calc(8vw / 1440 * 100) calc(24vw / 1440 * 100);
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
}

.link_container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

.link_button {
  display: block;
  width: calc(330vw / 1440 * 100);
  font-size: calc(18vw / 1440 * 100);
  line-height: 1.5;
  font-weight: 700;
  border: calc(2vw / 1440 * 100) solid #004386;
  color: #303030;
  margin-top: calc(25vw / 1440 * 100);
  margin-right: calc(65vw / 1440 * 100);
  padding: calc(10vw / 1440 * 100) calc(22vw / 1440 * 100);
  box-sizing: border-box;
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
  font-feature-settings: "palt";
}

.link_button-large {
  display: block;
  width: calc(430vw / 1440 * 100);
  font-size: calc(18vw / 1440 * 100);
  line-height: 1.5;
  font-weight: 700;
  border: calc(2vw / 1440 * 100) solid #004386;
  color: #303030;
  margin-top: calc(25vw / 1440 * 100);
  padding: calc(10vw / 1440 * 100) calc(22vw / 1440 * 100);
  box-sizing: border-box;
  border-radius: 0 calc(calc(1vw / 1440 * 100) * infinity) calc(calc(1vw / 1440 * 100) * infinity) 0;
  font-feature-settings: "palt";
}

@media (max-width: 767px) {

  /* Safari専用 */
  /*
  @supports (-webkit-hyphens:none) {
    .link_group_wrapper::before {
      position: absolute;
      content: "";
      display: block;
      background-image: url(../images/common/privacy_bg.svg);
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 100vw;
      height: calc(1626vw / 390 * 100);
      top: calc(-380vw / 390 * 100);
      left: 50%;
      transform: translateX(-50%);
      z-index: -1;
    }
  }*/

  .link_group {
    width: calc(340vw / 390 * 100);
    margin: calc(100vw / 390 * 100) auto calc(80vw / 390 * 100);
    position: relative;
  }

  .link_group:last-child {
    margin-top: calc(80vw / 390 * 100);
    margin-bottom: calc(180vw / 390 * 100);
  }

  .link_headline {
    font-size: calc(22vw / 390 * 100);
    padding: calc(8vw / 390 * 100) calc(24vw / 390 * 100);
    border-radius: 0 calc(calc(1vw / 390 * 100) * infinity) calc(calc(1vw / 390 * 100) * infinity) 0;
  }

  .link_button {
    display: block;
    width: 100%;
    font-size: calc(18vw / 390 * 100);
    line-height: 1.5;
    border: calc(2vw / 390 * 100) solid #004386;
    color: #303030;
    margin-top: calc(25vw / 390 * 100);
    margin-right: 0;
    padding: calc(10vw / 390 * 100) calc(22vw / 390 * 100);
    box-sizing: border-box;
    border-radius: 0 calc(calc(1vw / 390 * 100) * infinity) calc(calc(1vw / 390 * 100) * infinity) 0;
    font-feature-settings: "palt";
  }

  .link_button-large {
    display: block;
    width: 100%;
    font-size: calc(18vw / 390 * 100);
    line-height: 1.5;
    font-weight: 700;
    border: calc(2vw / 390 * 100) solid #004386;
    color: #303030;
    margin-top: calc(25vw / 390 * 100);
    padding: calc(10vw / 390 * 100) calc(22vw / 390 * 100);
    box-sizing: border-box;
    border-radius: 0 calc(calc(1vw / 390 * 100) * infinity) calc(calc(1vw / 390 * 100) * infinity) 0;
    font-feature-settings: "palt";
  }

}

/* 会員専用ページ
------------------------------------------------ */

#login_pass {
  width: calc(814vw / 1440 * 100);
  margin: calc(100vw / 1440 * 100) auto calc(100vw / 1440 * 100);
  text-align: center;
}

#login_pass p{
  font-size: calc(18vw / 1440 * 100);
  line-height: 1.5;
  margin-bottom: calc(35vw / 1440 * 100);
}

#login_pass .post_password {
  display: flex;
  justify-content: center;
  width: 100%;
  height: calc(48vw / 1440 * 100);
}

#login_pass .post_password input[type=password] {
  border: calc(3vw / 1440 * 100) solid #004386;
  background-color: #fff;
  border-radius: calc(16vw / 1440 * 100) 0 0 calc(16vw / 1440 * 100);
  width: calc(250vw / 1440 * 100);
  color: #004386;
  font-size: calc(16vw / 1440 * 100);
  font-weight: 700;
  padding: 0 calc(18vw / 1440 * 100);
  letter-spacing: calc(1.9vw / 1440 * 100);
}

#login_pass .post_password input[type=submit] {
  border: calc(3vw / 1440 * 100) solid #004386;
  background-color: #004386;
  color: #fff;
  font-size: calc(16vw / 1440 * 100);
  width: calc(130vw / 1440 * 100);
  border-radius: 0 calc(16vw / 1440 * 100) calc(16vw / 1440 * 100) 0;
  padding: 0 calc(8vw / 1440 * 100);
  letter-spacing: calc(1.9vw / 1440 * 100);
}


.movie_container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  width: calc(1026vw / 1440 * 100);
  margin: calc(121vw / 1440 * 100) auto calc(180vw / 1440 * 100);
  list-style: none;
}

.movie_box {
  width: calc(493vw / 1440 * 100);
  margin-bottom: calc(55vw / 1440 * 100);
}

.movie_visual img {
  width: 100%;
  height: calc(275vw / 1440 * 100);
  margin-bottom: calc(5vw / 1440 * 100);
  object-fit: cover;
  object-position: center center;
}

.movie_visual {
  position: relative;
  display: block;
  text-decoration: none;
}

.movie_visual:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #004386;
  width: calc(68vw / 1440 * 100);
  height: calc(68vw / 1440 * 100);
}

.movie_visual:after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: calc(13vw / 1440 * 100) 0 calc(13vw / 1440 * 100) calc(20vw / 1440 * 100);
}

.movie_date {
  margin-top: calc(14vw / 1440 * 100);
  font-size: calc(16vw / 1440 * 100);
  width: 100%;
  font-weight: 700;
  text-align: left;
  color: #004386;
}

.movie_title {
  text-align: left;
  color: #004386;
  text-decoration: underline;
  margin-top: calc(19vw / 1440 * 100);
  width: 100%;
  font-weight: 700;
  line-height: 1.5;
  font-size: calc(20vw / 1440 * 100);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}

/* モーダル */
.page-template-clients.is-fixed{
  overflow: hidden;
}

.movie_box__button{
  background-color: unset;
  border: none;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.movie_box__modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 0vw;
  height: 0vh;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.9);
  overflow-y: scroll;
  pointer-events: none;
  transition: transform 0.3s, opacity 0.3s;
  opacity: 0;
  z-index: 300;
}

.is-active > .movie_box__modal {
  display: block;
  width: 100vw;
  height: 100vh;
  padding: calc(40vw / 1440 * 100) 0;
  pointer-events: all;
  opacity: 1;
}

.movie_box__wrapper {
  width: calc(1000vw / 1440 * 100);
  margin: auto;
}

.movie_box__iframe{
  width: 100%;
  height: calc(562.5vw / 1440 * 100);
  border: none;
}

.movie_box__close {
  width: calc(50vw / 1440 * 100);
  margin: calc(40vw / 1440 * 100) 0 calc(10vw / 1440 * 100) auto;
}

.movie_box__close__icon {
  width: 100%;
}

.movie_box__close__text {
  margin-top: calc(14vw / 1440 * 100);
  font-size: calc(14vw / 1440 * 100);
  line-height: 1;
  letter-spacing: 0em;
  text-align: center;
  font-weight: 700;
}

@media (max-width: 767px) {

  #login_pass {
    width: calc(320vw / 390 * 100);
    margin: calc(100vw / 390 * 100) auto calc(100vw / 390 * 100);
    text-align: center;
  }

  #login_pass p{
    font-size: calc(14vw / 390 * 100);
    line-height: 1.5;
    margin-bottom: calc(35vw / 390 * 100);
  }

  #login_pass .post_password {
    display: flex;
    justify-content: center;
    width: 100%;
    height: calc(48vw / 390 * 100);
  }

  #login_pass .post_password input[type=password] {
    border: calc(3vw / 390 * 100) solid #004386;
    background-color: #fff;
    border-radius: calc(16vw / 390 * 100) 0 0 calc(16vw / 390 * 100);
    width: calc(250vw / 390 * 100);
    color: #004386;
    font-size: calc(16vw / 390 * 100);
    font-weight: 700;
    padding: 0 calc(18vw / 390 * 100);
    letter-spacing: calc(1.9vw / 390 * 100);
  }

  #login_pass .post_password input[type=submit] {
    border: calc(3vw / 390 * 100) solid #004386;
    background-color: #004386;
    color: #fff;
    font-size: calc(16vw / 390 * 100);
    width: calc(130vw / 390 * 100);
    border-radius: 0 calc(16vw / 390 * 100) calc(16vw / 390 * 100) 0;
    padding: 0 calc(8vw / 390 * 100);
    letter-spacing: calc(1.9vw / 390 * 100);
  }

  .movie_container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    width: calc(340vw / 390 * 100);
    margin: calc(67vw / 390 * 100) auto 0;
    list-style: none;
  }

  .movie_box {
    width: 100%;
    margin-bottom: calc(40vw / 390 * 100);
  }


  .movie_visual img {
    width: 100%;
    height: calc(170vw / 390 * 100);
    margin-bottom: calc(5vw / 390 * 100);
    object-fit: cover;
    object-position: center center;
  }

  .movie_visual {
    position: relative;
    display: block;
    text-decoration: none;
  }

  .movie_visual:before {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background-color: #004386;
    width: calc(60vw / 390 * 100);
    height: calc(60vw / 390 * 100);
  }

  .movie_visual:after {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    border-width: calc(13vw / 390 * 100) 0 calc(13vw / 390 * 100) calc(20vw / 390 * 100);
  }

  .movie_date {
    margin-top: calc(8vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
    width: 100%;
    font-weight: 700;
  }

  .movie_title {
    margin-top: calc(10vw / 390 * 100);
    width: 100%;
    font-weight: 700;
    line-height: 1.5;
    font-size: calc(16vw / 390 * 100);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
  }

  .movie_box__button {
    width: 100%;
  }

  .is-active > .movie_box__modal {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 0;
    pointer-events: all;
    opacity: 1;
  }

  .movie_box__wrapper {
    width: calc(340vw / 390 * 100);
    margin: auto;
  }

  .movie_box__iframe{
    height: calc(250vw / 390 * 100);
  }

  .movie_box__close {
    width: calc(50vw / 390 * 100);
    margin: calc(-70vw / 390 * 100) 0 calc(10vw / 390 * 100) auto;
  }

  .movie_box__close__text {
    margin-top: calc(14vw / 390 * 100);
    font-size: calc(14vw / 390 * 100);
  }


}


/* プライバシーポリシー
------------------------------------------------ */
.privacy {
  width: calc(814vw / 1440 * 100);
  margin: calc(127vw / 1440 * 100) auto;
  position: relative;
}

/*
.privacy::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/common/privacy_bg.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 100vw;
  height: calc(1626vw / 1440 * 100);
  top: calc(250vw / 1440 * 100);
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.privacy::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/common/privacy_bg.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 100vw;
  height: calc(1626vw / 1440 * 100);
  bottom: calc(1550vw / 1440 * 100);
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}*/

/* Safari専用 */
/*
@supports (-webkit-hyphens:none) {

  .privacy::before {
    position: absolute;
    content: "";
    display: block;
    background-image: url(../images/common/privacy_bg.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100vw;
    height: calc(1626vw / 1440 * 100);
    top: calc(250vw / 1440 * 100);
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }

  .privacy::after {
    position: absolute;
    content: "";
    display: block;
    background-image: url(../images/common/privacy_bg.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100vw;
    height: calc(1626vw / 1440 * 100);
    bottom: calc(1550vw / 1440 * 100);
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
}*/

.privacy_section {
  margin-bottom: calc(84vw / 1440 * 100);
}

.privacy_headline {
  display: block;
  font-size: calc(20vw / 1440 * 100);
  font-weight: 600;
  padding-bottom: calc(19vw / 1440 * 100);
  margin-bottom: calc(32vw / 1440 * 100);
  color: #204583;
  border-bottom: calc(1vw / 1440 * 100) solid #004386;
}

.privacy_headline-sub {
  font-size: calc(14vw / 1440 * 100);
  line-height: 1;
  margin-bottom: calc(8vw / 1440 * 100);
  color: #004386;
}

.privacy_block {
  margin-bottom: calc(32vw / 1440 * 100);
}

.privacy_date {
  font-size: calc(14vw / 1440 * 100);
  line-height: 1.8;
  text-align: right;
  margin-bottom: calc(32vw / 1440 * 100);
  font-weight: 700;
}

.privacy_text {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  text-align: justify;
  font-size: calc(14vw / 1440 * 100);
  line-height: 1.8;
  font-weight: 700;
}

.privacy_text a {
  color: #333;
  text-decoration: underline;
}

.privacy_image {
  display: inline-block;
  margin-right: calc(18vw / 1440 * 100);
  width: calc(67vw / 1440 * 100);
  flex: 0 0 auto;
}

.privacy_contact {
  background-color: #fff;
  padding: calc(24vw / 1440 * 100);
}

.privacy_contact_ttl {
  font-weight: 700;
  font-size: calc(14vw / 1440 * 100);
  margin-bottom: calc(8vw / 1440 * 100);
  color: #004386;
  line-height: 1.6;
}

.privacy_contact_text {
  font-size: calc(14vw / 1440 * 100);
  line-height: 1.8;
  font-weight: 700;
}

@media (max-width: 767px) {

  .privacy {
    width: calc(340vw / 390 * 100);
    margin: calc(109vw / 390 * 100) auto;
    position: relative;
  }

  /*
  .privacy::before {
    content: none;
  }

  .privacy::after {
    content: none;
  }
  */
  /* Safari専用 */
  /*
  @supports (-webkit-hyphens:none) {
    .privacy::before {
      content: none;
    }

    .privacy::after {
      content: none;
    }
  }*/

  .privacy_section {
    margin-bottom: calc(84vw / 390 * 100);
  }

  .privacy_headline {
    line-height: 1.5;
    display: block;
    font-size: calc(18vw / 390 * 100);
    font-weight: 700;
    padding-bottom: calc(15vw / 390 * 100);
    margin-bottom: calc(32vw / 390 * 100);
    color: #204583;
    border-bottom: calc(1vw / 390 * 100) solid #004386;
  }

  .privacy_headline-sub {
    font-size: calc(12vw / 390 * 100);
    line-height: 1;
    margin-bottom: calc(8vw / 390 * 100);
    color: #004386;
  }

  .privacy_block {
    margin-bottom: calc(32vw / 390 * 100);
  }

  .privacy_date {
    font-size: calc(12vw / 390 * 100);
    line-height: 1.6;
    text-align: right;
    margin-bottom: calc(32vw / 390 * 100);
    font-weight: 700;
  }

  .privacy_text {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: justify;
    font-size: calc(12vw / 390 * 100);
    line-height: 1.6;
    font-weight: 700;
  }

  .privacy_text a {
    color: #333;
    text-decoration: underline;
  }

  .privacy_image {
    display: inline-block;
    margin-right: calc(18vw / 390 * 100);
    width: calc(53vw / 390 * 100);
    flex: 0 0 auto;
  }

  .privacy_contact {
    padding: calc(24vw / 390 * 100);
  }

  .privacy_contact_ttl {
    font-size: calc(12vw / 390 * 100);
    margin-bottom: calc(8vw / 390 * 100);
    color: #004386;
  }

  .privacy_contact_text {
    font-size: calc(12vw / 390 * 100);
    line-height: 1.6;
  }
}