@charset "UTF-8";
@import url("../css/setting.css");
html {
  scroll-padding-top: 100px;
}

/* header ヘッダー
////////////////////////////////////////////////////////////////////////////////////////////////// */
#header {
  position: fixed;
  width: 100%;
  z-index: 5;
  top: 0;
  left: 0;
  background: #f7fdff;
  /* --------------------------------- */
  /* --------------------------------- */
}
#header .header--wrap {
  width: 100%;
  min-width: 1080px;
  height: 120px;
}
@media screen and (max-width: 767px) {
  #header .header--wrap {
    height: 70px;
  }
}
#header .header--left {
  position: relative;
  width: fit-content;
  padding-left: clamp(20px, 50vw - 500px, 210px);
}
@media screen and (max-width: 767px) {
  #header .header--left {
    width: 100%;
    padding-left: 0;
    margin-left: 0;
  }
}
#header .item-logo {
  display: block;
  width: fit-content;
}
#header .item-logo a {
  width: fit-content;
  display: block;
  transition: ease 0.2s;
}
#header .item-logo a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  #header .item-logo {
    margin: 0 auto;
    max-width: 55dvw;
    max-height: 55px;
  }
  #header .item-logo img {
    height: auto;
  }
}
#header .header--right {
  position: relative;
  width: fit-content;
  padding-right: clamp(20px, 50vw - 500px, 210px);
}
@media screen and (max-width: 767px) {
  #header .header--right {
    display: none;
  }
}
#header .header--right .com--line {
  --size: var(--font-size-40);
}
#header .cont-info {
  width: fit-content;
  gap: 30px;
  margin-bottom: var(--margin-25);
}
#header .cont-info .com--tel {
  gap: 10px;
}

:root {
  --separate-01-w: url(../img/common/separate__a_01.png) center bottom / max(1280px, 100%) 136px no-repeat;
  --separate-01-b: url(../img/common/separate__a_02.png) center bottom / max(1280px, 100%) 136px no-repeat;
}

/* nav グローバルナビゲーション
////////////////////////////////////////////////////////////////////////////////////////////////// */
#nav .list-nav {
  width: fit-content;
}
#nav .list-nav-item {
  width: fit-content;
  position: relative;
  margin-right: 55px;
  font-size: var(--font-size-13);
}
#nav .list-nav-item::before {
  content: "・";
  color: var(--col--main-01);
  position: absolute;
  left: -35px;
  top: 50%;
  translate: 0 -50%;
}
#nav .list-nav-item a {
  transition: ease 0.17s;
}
#nav .list-nav-item a:hover {
  color: var(--col--main-01);
}
#nav .list-nav-item:first-of-type::before {
  display: none;
}
#nav .list-nav-item:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  #nav {
    display: none;
  }
}

/* mv メインビジュアル
////////////////////////////////////////////////////////////////////////////////////////////////// */
#mv {
  position: relative;
  width: 100%;
  height: 1000px;
  overflow: hidden;
  background: url(../img/mv/mv__bg.jpg) center center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  #mv {
    height: 100vw;
  }
}
#mv .mv-img {
  position: absolute;
  background: url(../img/mv/mv__img.png) center center/contain no-repeat;
  width: 1524px;
  height: 817px;
  left: 50%;
  top: 55%;
  translate: -50% -50%;
}
#mv .mv-catch {
  position: absolute;
  left: 180px;
  top: 50%;
  translate: 0 -50%;
}

/* sv サブビジュアル
////////////////////////////////////////////////////////////////////////////////////////////////// */
#sv {
  z-index: 1;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 700px;
  background: url(../img/sv/sv__bg_01.png) center center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  #sv {
    height: 50vw;
  }
}
#sv .sv-img {
  position: absolute;
  width: 1182px;
  height: 521px;
  right: 10vw;
  bottom: 25px;
}
#sv .sv-catch {
  z-index: 1;
  position: absolute;
  left: max(20px, 50vw - 800px);
  width: 620px;
  text-align: center;
  top: 60%;
  translate: 0 -50%;
  background: #fff;
  color: var(--col--main-01);
  padding: 15px 10px;
  font-size: var(--font-size-36);
  font-weight: 500;
  letter-spacing: 0.06em;
  font-family: var(--fot--Zen-Maru-Goth);
  border-radius: 10px;
  white-space: nowrap;
}

.sv-service {
  background: url(../img/sv/sv__service.png) center center/cover no-repeat;
}

.sv-about {
  background: url(../img/sv/sv__about.png) center center/cover no-repeat;
}

.sv-case {
  background: url(../img/sv/sv__case.png) center center/cover no-repeat;
}

.sv-company {
  background: url(../img/sv/sv__company.png) center center/cover no-repeat;
}

.sv-notfound {
  background: url(../img/sv/sv__notfound.png) center center/cover no-repeat;
}

.sv-contact {
  background: url(../img/sv/sv__contact.png) center center/cover no-repeat;
}

.sv-complete {
  background: url(../img/sv/sv__complete.png) center center/cover no-repeat;
}

.sv-news {
  background: url(../img/sv/sv__news.png) center center/cover no-repeat;
}

.sv-site {
  background: url(../img/sv/sv__site.png) center center/cover no-repeat;
}

.sv-privacy {
  background: url(../img/sv/sv__privacy.png) center center/cover no-repeat;
}

/* main コンテンツ
////////////////////////////////////////////////////////////////////////////////////////////////// */
/* TOP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.wrap-allover {
  overflow: hidden;
  position: relative;
}

.com--ttl03-01 {
  width: 100%;
  padding-bottom: var(--margin-35);
  position: relative;
}
.com--ttl03-01::before {
  content: "";
  position: absolute;
  background: url(../img/common/border__dot__a_01.png) repeat-x;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
}
.com--ttl03-01 .en {
  display: block;
  width: fit-content;
}
.com--ttl03-01 .ja {
  display: block;
  width: fit-content;
  margin: 0 auto;
  font-size: var(--font-size-38);
  font-weight: 700;
  font-family: var(--fot--Zen-Maru-Goth);
}
.com--ttl03-01 .ja .str-01 {
  color: var(--col--main-01);
}

.pagetop {
  z-index: 6;
  position: fixed;
  right: 0;
  bottom: 10px;
  width: fit-content;
  transition: ease 0.4s;
}
.pagetop:hover {
  opacity: 0.6;
  bottom: 15px;
}

/* top--greeting
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#top--greeting {
  background: var(--separate-01-w), url(../img/common/bg__img_01.png) center center/cover no-repeat;
}
#top--greeting .inbox {
  padding-bottom: 230px;
}
#top--greeting .ttl03 {
  position: relative;
  text-align: center;
  font-family: var(--fot--Zen-Maru-Goth);
  padding-bottom: var(--margin-50);
  text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
  margin-bottom: var(--margin-50);
}
#top--greeting .ttl03 .sub {
  margin: 0 auto;
  width: fit-content;
  font-size: var(--font-size-26);
  font-weight: 700;
  color: var(--col--main-01);
  margin-bottom: var(--margin-30);
  position: relative;
}
#top--greeting .ttl03 .sub::before {
  content: "";
  position: absolute;
  background: url(../img/common/deco__border__a_01.png) center center/contain no-repeat;
  width: 24px;
  height: 41px;
  left: -50px;
  bottom: -7px;
}
#top--greeting .ttl03 .sub::after {
  content: "";
  position: absolute;
  background: url(../img/common/deco__border__a_01.png) center center/contain no-repeat;
  width: 24px;
  height: 41px;
  right: -50px;
  bottom: -7px;
  scale: -1 1;
}
#top--greeting .ttl03 .ja {
  color: var(--col--txt-01);
  font-size: var(--font-size-36);
  letter-spacing: 0.08em;
  font-weight: 700;
  line-height: 1.5;
}
#top--greeting .ttl03 .ja .str-01 {
  font-size: var(--font-size-46);
  background: linear-gradient(180deg, rgba(220, 243, 253, 0) 50%, #dcf3fd 50%);
}
#top--greeting .ttl03::before {
  content: "";
  position: absolute;
  background: url(../img/common/border__dot__a_01.png) repeat-x;
  width: 100%;
  height: 4px;
  left: 0;
  bottom: 0;
}

/* top--worries
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#top--worries {
  background: var(--separate-01-b), url(../img/common/deco__bubble__a_01.png) top 150px right no-repeat, url(../img/common/deco__bubble__a_02.png) top 770px left no-repeat, url(../img/common/deco__bubble__a_03.png) top 1600px right no-repeat, url(../img/common/deco__bubble__a_04.png) top 2090px left no-repeat, url(../img/common/deco__bubble__a_05.png) top 2780px right no-repeat, url(../img/common/deco__bubble__a_06.png) top 3830px left no-repeat;
}
#top--worries .inbox {
  width: 1280px;
  padding-bottom: 240px;
  padding-top: 40px;
}
#top--worries .ttl03 {
  margin-bottom: var(--margin-50);
}
#top--worries .cont-btn {
  gap: 40px;
  margin-bottom: var(--margin-70);
}
#top--worries .cont-btn .com--btn-01 {
  --width: 160px;
  --height: 40px;
}
#top--worries .cont-btn .com--btn-01::before {
  width: 18px;
  height: 18px;
  right: 10px;
}
#top--worries .cont-case {
  margin-bottom: 100px;
}
#top--worries .cont-case .list-case-item {
  margin: 0 auto;
  margin-bottom: var(--margin-40);
  padding: 100px 250px;
}
#top--worries .cont-case .list-case-item .ttl04 {
  margin-bottom: var(--margin-40);
}
#top--worries .cont-case .list-case-item .ttl04 .num {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 9px;
  width: 165px;
  color: var(--col--main-01);
  background: url(../img/common/frame__b_01.png) center center/contain no-repeat;
  height: 56px;
  font-size: var(--font-size-20);
  margin-bottom: 10px;
}
#top--worries .cont-case .list-case-item .ttl04 .ja {
  font-family: var(--fot--Zen-Maru-Goth);
  font-size: var(--font-size-38);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
}
#top--worries .cont-case .list-case-item .item-img {
  margin-bottom: var(--margin-40);
}
#top--worries .cont-case .list-case-item .wrap-list-worries {
  width: 770px;
  background: #fff;
  border-radius: 110px;
  padding: 40px;
  box-shadow: 0 5px 0 #dff0f8;
  margin-bottom: var(--margin-60);
  position: relative;
}
#top--worries .cont-case .list-case-item .wrap-list-worries::before {
  --width: 160px;
  --height: 30px;
  --color: #dff0f8;
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 100%;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: var(--color) transparent transparent transparent;
  border-width: var(--height) calc((var(--width)) / 2) 0px calc((var(--width)) / 2);
}
#top--worries .cont-case .list-case-item .list-worries {
  margin: 0 auto;
  width: fit-content;
}
#top--worries .cont-case .list-case-item .list-worries-item {
  position: relative;
  font-family: var(--fot--Zen-Maru-Goth);
  font-size: var(--font-size-18);
  font-weight: 500;
  margin-bottom: var(--margin-20);
  padding-left: 25px;
  width: fit-content;
}
#top--worries .cont-case .list-case-item .list-worries-item:last-child {
  margin-bottom: 0;
}
#top--worries .cont-case .list-case-item .list-worries-item::before {
  content: "";
  position: absolute;
  background: url(../img/common/icon__check__a_01.png) center center/contain no-repeat;
  width: 18px;
  height: 15px;
  left: 0;
  top: 4px;
}
#top--worries .cont-case .list-case-item .btn-contact {
  width: 770px;
  height: 120px;
  background: var(--col--main-01);
  border: 3px solid var(--col--main-01);
  border-radius: 32px;
  color: #fff;
  font-weight: 700;
  font-family: var(--fot--Zen-Maru-Goth);
  position: relative;
  transition: ease 0.2s;
}
#top--worries .cont-case .list-case-item .btn-contact::before {
  content: "";
  position: absolute;
  background: url(../img/common/icon__arrow__a_02.png) center center/contain no-repeat;
  width: 32px;
  height: 32px;
  top: 50%;
  translate: 0 -50%;
  right: 20px;
  transition: ease 0.2s;
}
#top--worries .cont-case .list-case-item .btn-contact .sub {
  font-size: var(--font-size-20);
  margin-bottom: var(--margin-15);
}
#top--worries .cont-case .list-case-item .btn-contact .main {
  font-size: var(--font-size-30);
}
#top--worries .cont-case .list-case-item .btn-contact:hover {
  opacity: 0.6;
  background: #fff;
  color: var(--col--main-01);
}
#top--worries .cont-case .list-case-item:nth-of-type(1) {
  background: url(../img/common/frame__a_01.png) center center/contain no-repeat;
  width: 1285px;
  height: 1234px;
}
#top--worries .cont-case .list-case-item:nth-of-type(2) {
  background: url(../img/common/frame__a_02.png) center center/contain no-repeat;
  width: 1285px;
  height: 1269px;
}
#top--worries .cont-case .list-case-item:nth-of-type(3) {
  background: url(../img/common/frame__a_03.png) center center/contain no-repeat;
  width: 1303px;
  height: 1261px;
}
#top--worries .btn-service {
  width: 1080px;
  margin: 0 auto;
  height: 120px;
  background: url(../img/common/bg__btn__a_01.png) center center/cover no-repeat, #f0f1bf;
  border-radius: 32px;
  position: relative;
  transition: ease 0.2s;
}
#top--worries .btn-service::before {
  content: "";
  position: absolute;
  background: url(../img/common/icon__arrow__a_01.png) center center/contain no-repeat;
  width: 32px;
  height: 32px;
  right: 50px;
  top: 50%;
  translate: 0 -50%;
  transition: ease 0.2s;
}
#top--worries .btn-service p {
  text-align: center;
  font-weight: 700;
  font-family: var(--fot--Zen-Maru-Goth);
  font-size: var(--font-size-26);
  letter-spacing: 0.08em;
  line-height: 1.4;
}
#top--worries .btn-service:hover {
  opacity: 0.6;
}
#top--worries .btn-service:hover::before {
  right: 40px;
}

/* top--introduce
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#top--introduce {
  background: url(../img/common/bg__img_02.png) center bottom 30px/100% 723px no-repeat, var(--col--base-02);
}
#top--introduce .inbox {
  padding: 30px 0 100px;
}
#top--introduce .ttl03 {
  margin-bottom: var(--margin-60);
}
#top--introduce .ttl03 .sub {
  margin-bottom: var(--margin-20);
}
#top--introduce .cont-movie {
  width: 100%;
  height: 610px;
  border-radius: 23px;
  border: 4px solid #fff;
}
#top--introduce .cont-movie iframe {
  width: 100%;
  height: 100%;
  border-radius: 23px;
  border: 4px solid #fff;
}

/* top--case
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#top--case .ttl03 {
  margin-bottom: var(--margin-60);
}
#top--case .cont-post {
  gap: 30px;
  margin-bottom: var(--margin-60);
}
#top--case .cont-post .unit-post {
  padding: 50px 0;
  background: #f2fafe;
  border-radius: 33px;
  margin-bottom: var(--margin-50);
  position: relative;
  width: calc((100% - 30px) / 2);
  transition: ease 0.2s;
  top: 0;
}
#top--case .cont-post .unit-post:last-child {
  margin-bottom: 0;
}
#top--case .cont-post .unit-post .list-images {
  order: 1;
  padding: 0 50px;
  gap: 20px;
  margin-bottom: var(--margin-10);
}
#top--case .cont-post .unit-post .list-images-item {
  width: fit-content;
}
#top--case .cont-post .unit-post .list-images-item .title {
  color: var(--col--main-01);
  margin-top: 5px;
}
#top--case .cont-post .unit-post .list-images-before .item-img {
  width: 170px;
  height: 130px;
  border-radius: 10px;
  border: 4px solid #fff;
}
#top--case .cont-post .unit-post .list-images-before .title {
  text-align: start;
}
#top--case .cont-post .unit-post .list-images-after .item-img {
  width: 240px;
  height: 180px;
  border-radius: 10px;
  border: 4px solid #fff;
}
#top--case .cont-post .unit-post .list-images-after .title {
  text-align: end;
}
#top--case .cont-post .unit-post .tag_list {
  order: 2;
  padding: 0 50px;
  margin-bottom: var(--margin-20);
  gap: 20px;
}
#top--case .cont-post .unit-post .tag_list-item {
  background: #f0f1bf;
  padding: 5px 15px;
  width: fit-content;
  border-radius: 6px;
  font-size: var(--font-size-14);
  font-family: var(--fot--Zen-Maru-Goth);
  font-weight: 500;
}
#top--case .cont-post .unit-post .ttl04 {
  order: 3;
  padding: 0 50px;
  padding-bottom: var(--margin-20);
  border-bottom: 1px solid #c0dfee;
  margin-bottom: var(--margin-20);

  width : 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#top--case .cont-post .unit-post .ttl04 .ja {
  font-size: var(--font-size-24);
  font-weight: 700;
  letter-spacing: 0.08em;
  font-family: var(--fot--Zen-Maru-Goth);
  line-height: 1.5;
}
#top--case .cont-post .unit-post .item-text {
  order: 4;
  padding: 10px 50px;

  overflow: hidden;
  height: 65px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#top--case .cont-post .unit-post:hover {
  opacity: 0.6;
  top: -5px;
}
#top--case .com--btn-01 {
  width: 400px;
  margin: 0 auto;
}

/* top--subpages
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#top--subpages {
  background: url(../img/common/bg__btn__a_02.png) center center/cover no-repeat, #fffff2;
}
#top--subpages .inbox {
  gap: 45px;
}
#top--subpages .com--btn-01 {
  width: 330px;
  height: 90px;
  border-radius: 45px;
}
#top--subpages .com--btn-01::before {
  content: "";
  position: absolute;
  background: url(../img/common/icon__arrow__a_02.png) center center/contain no-repeat;
  width: 32px;
  height: 32px;
  right: 30px;
}

/* top--for_company
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#top--for_company .inbox {
  width: 100%;
  padding: 100px 0 0;
  background: url(../img/common/bg__img_03.png) center top/cover no-repeat;
}
#top--for_company .ttl03 {
  margin: 0 auto;
  margin-bottom: var(--margin-60);
  width: 1080px;
  text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
}
#top--for_company .cont-intro {
  margin: 0 auto;
  width: 1080px;
  text-align: center;
  padding-bottom: 150px;
}

/* news
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.unit-latest {
  position: relative;
  font-family: var(--fot--Zen-Maru-Goth);
  font-size: var(--font-size-16);
  font-weight: 400;
  padding-bottom: var(--margin-25);
  border-bottom: 1px solid #d3effb;
  margin-bottom: var(--margin-25);
  transition: ease 0.2s;
  right: 0;
}
.unit-latest:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: unset;
}
.unit-latest a {
  width: 100%;
  height: 100%;
}
.unit-latest .unit-latest-text {
  width: 100%;
}
.unit-latest .unit-latest-text.on_thumb {
  width: 85%;
}
@media screen and (max-width: 767px) {
  .unit-latest .unit-latest-text.on_thumb {
    width: 70%;
  }
}
.unit-latest .item-ttl {
  order: 3;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.unit-latest .item-time {
  position: relative;
  order: 1;
  width: fit-content;
  margin-right: var(--margin-20);
  margin-bottom: var(--margin-15);
  color: var(--col--main-01);
}
.unit-latest .item-time::before {
  content: "";
  position: absolute;
  border-right: 1px solid var(--col--main-01);
  height: 100%;
  width: 1px;
  right: -12px;
  top: 0;
}
.unit-latest .tag_list {
  order: 2;
  width: 70%;
  margin-bottom: var(--margin-15);
  gap: 12px;
}
.unit-latest .tag_list-item {
  width: fit-content;
  height: fit-content;
  color: var(--col--main-01);
}
.unit-latest .unit-latest-img {
  height: 130px;
  width: 130px;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .unit-latest .unit-latest-img {
    height: 20vw;
    width: 20vw;
    margin-right: 2vw;
  }
}
.unit-latest .item-thumb {
  height: 130px;
  width: 130px;
}
@media screen and (max-width: 767px) {
  .unit-latest .item-thumb {
    height: 20vw;
    width: 20vw;
    margin-right: 2vw;
  }
}
.unit-latest:hover {
  color: var(--col--main-01);
  right: -10px;
}

.s-post-taglist {
  gap: 10px;
}
.s-post-taglist .tag-name {
  width: fit-content;
  height: fit-content;
  color: var(--col--main-01);
}

#top--news {
  background: url(../img/common/bg__img_04.jpg) center center/cover no-repeat;
}
#top--news .ttl03 {
  margin-bottom: var(--margin-70);
}
#top--news .cont-latest {
  margin-bottom: 100px;
}
#top--news .unit-latest {
  position: relative;
  font-family: var(--fot--Zen-Maru-Goth);
  font-size: var(--font-size-16);
  font-weight: 400;
  padding-bottom: var(--margin-25);
  border-bottom: 1px solid #d3effb;
  margin-bottom: var(--margin-25);
  transition: ease 0.2s;
  right: 0;
}
#top--news .unit-latest:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: unset;
}
#top--news .unit-latest a {
  width: 100%;
  height: 100%;
}
#top--news .unit-latest .unit-latest-text {
  width: 100%;
}
#top--news .unit-latest .unit-latest-text.on_thumb {
  width: 85%;
}
@media screen and (max-width: 767px) {
  #top--news .unit-latest .unit-latest-text.on_thumb {
    width: 70%;
  }
}
#top--news .unit-latest .item-ttl {
  order: 3;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#top--news .unit-latest .item-time {
  position: relative;
  order: 1;
  width: fit-content;
  margin-right: var(--margin-20);
  margin-bottom: var(--margin-15);
  color: var(--col--main-01);
}
#top--news .unit-latest .item-time::before {
  content: "";
  position: absolute;
  border-right: 1px solid var(--col--main-01);
  height: 100%;
  width: 1px;
  right: -12px;
  top: 0;
}
#top--news .unit-latest .tag_list {
  order: 2;
  width: 70%;
  margin-bottom: var(--margin-15);
  gap: 12px;
}
#top--news .unit-latest .tag_list-item {
  width: fit-content;
  height: fit-content;
  color: var(--col--main-01);
}
#top--news .unit-latest .unit-latest-img {
  height: 130px;
  width: 130px;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  #top--news .unit-latest .unit-latest-img {
    height: 20vw;
    width: 20vw;
    margin-right: 2vw;
  }
}
#top--news .unit-latest .item-thumb {
  height: 130px;
  width: 130px;
}
@media screen and (max-width: 767px) {
  #top--news .unit-latest .item-thumb {
    height: 20vw;
    width: 20vw;
    margin-right: 2vw;
  }
}
#top--news .unit-latest:hover {
  color: var(--col--main-01);
  right: -10px;
}
#top--news .com--btn-01 {
  width: 400px;
  margin: 0 auto;
}

/* footer フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#footer {
  position: relative;
  width: 100%;
  background: var(--col--main-01);
  /* --------------------------------- */
  /* --------------------------------- */
  /* --------------------------------- */
}
@media screen and (max-width: 767px) {
  #footer .inbox {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
#footer .item-logo {
  transition: ease 0.2s;
  display: block;
  width: fit-content;
  margin-bottom: var(--margin-40);
}
#footer .item-logo:hover {
  opacity: 0.6;
}
#footer .com--times {
  margin-bottom: var(--margin-40);
  gap: 20px;
}
#footer .list-sns {
  width: fit-content;
  gap: 30px;
}
#footer .list-sns a {
  --size: 35px;
}
#footer .cont-contact {
  background: #fff;
  padding: 5px 80px 25px;
  border-radius: 17px;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: var(--margin-40);
}
#footer .cont-contact .com--tel {
  --font-weight: 600;
}
#footer .cont-contact .com--tel small {
  font-weight: 600;
}
#footer .cont-contact dt {
  font-size: var(--font-size-16);
  font-weight: 700;
  font-family: var(--fot--Zen-Maru-Goth);
  color: var(--col--main-01);
  margin: var(--margin-20);
}
#footer .cont-contact dd {
  gap: 30px;
}
#footer .cont-contact dd .com--tel .tel-num {
  margin-bottom: var(--margin-10);
}
#footer .cont-contact dd .com--line {
  --size: 40px;
}
#footer .footer--wrap {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #footer .footer--wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
#footer .footer--left {
  position: relative;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  #footer .footer--left {
    width: 100%;
  }
}
#footer .footer--right {
  position: relative;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  #footer .footer--right {
    width: 100%;
  }
}
#footer .list-nav {
  width: 580px;
  gap: 13px 25px;
}
#footer .list-nav-item {
  width: fit-content;
}
#footer .list-nav-item a {
  position: relative;
  transition: ease 0.2s;
  color: #fff;
  font-size: var(--font-size-13);
}
#footer .list-nav-item a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  #footer .list-nav {
    display: none;
  }
}
#footer #copyright {
  font-size: var(--font-size-13);
  text-align: center;
  color: var(--col--main-02);
  background: #f0f1bf;
  font-size: 10px;
  padding: 10px;
  color: #544a43;
  font-weight: 400;
}
#footer #copyright a {
  margin: 0 2px;
  padding: 0 5px;
  transition: ease 0.12s;
}
#footer #copyright a:hover {
  background: var(--col--main-02);
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  #footer #copyright a {
    margin: unset;
    padding: unset;
  }
  #footer #copyright a:hover {
    color: inherit;
    background: inherit;
  }
}

/* 共通タイトル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#contents-u .ttl01,
#contact .ttl01 {
  position: relative;
  width: 100%;
  margin: 0 auto;
  margin-bottom: var(--margin-70);
  padding-bottom: var(--margin-40);
}
#contents-u .ttl01::before,
#contact .ttl01::before {
  content: "";
  position: absolute;
  background: url(../img/common/border__dot__a_01.png) repeat-x;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
}
#contents-u .ttl01 .en,
#contact .ttl01 .en {
  display: none;
}
#contents-u .ttl01 .ja,
#contact .ttl01 .ja {
  display: block;
  width: fit-content;
  margin: 0 auto;
  font-size: var(--font-size-38);
  font-weight: 700;
  font-family: var(--fot--Zen-Maru-Goth);
}
#contents-u .ttl01 .ja .str-01,
#contact .ttl01 .ja .str-01 {
  color: var(--col--main-01);
}

/* subpage 下層ページ
////////////////////////////////////////////////////////////////////////////////////////////////// */
.com--ttl03-02 {
  width: 100%;
  padding-bottom: var(--margin-35);
  position: relative;
  margin-bottom: var(--margin-70);
}
.com--ttl03-02::before {
  content: "";
  position: absolute;
  background: url(../img/common/border__dot__a_01.png) repeat-x;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
}
.com--ttl03-02 .en {
  display: block;
  width: fit-content;
}
.com--ttl03-02 .ja {
  display: block;
  width: fit-content;
  margin: 0 auto;
  font-size: var(--font-size-38);
  font-weight: 700;
  font-family: var(--fot--Zen-Maru-Goth);
}
.com--ttl03-02 .ja .str-01 {
  color: var(--col--main-01);
}

/* service
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* about
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#service--about {
  position: relative;
  background: url(../img/common/bg__img_02.png) center top 100px/100% auto no-repeat, #f7fdff;
}
#service--about .cont-service .list-service-item {
  position: relative;
  padding: 50px;
  background: #fff;
  border-radius: 33px;
  margin-bottom: var(--margin-20);
  min-height: 400px;
}
#service--about .cont-service .list-service-item .ttl04 {
  width: 510px;
  margin-bottom: var(--margin-25);
}
#service--about .cont-service .list-service-item .ttl04 .sub {
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(../img/common/frame__b_01.png) center center/contain no-repeat;
  width: 165px;
  height: 56px;
  margin-bottom: var(--margin-10);
  font-size: var(--font-size-22);
  color: var(--col--main-01);
  font-weight: 500;
  padding-bottom: 9px;
}
#service--about .cont-service .list-service-item .ttl04 .ja {
  font-size: var(--font-size-26);
  font-weight: 700;
  letter-spacing: 0.08em;
  font-family: var(--fot--Zen-Maru-Goth);
}
#service--about .cont-service .list-service-item .item-text {
  width: 510px;
  font-family: var(--fot--Zen-Maru-Goth);
}
#service--about .cont-service .list-service-item:last-child {
  margin-bottom: 0;
}
#service--about .cont-service .list-service-item:nth-of-type(odd) .ttl04 {
  margin-left: auto;
}
#service--about .cont-service .list-service-item:nth-of-type(odd) .item-img {
  position: absolute;
  left: 80px;
  top: 50px;
}
#service--about .cont-service .list-service-item:nth-of-type(odd) .item-text {
  margin-left: auto;
}
#service--about .cont-service .list-service-item:nth-of-type(even) .ttl04 {
  margin-right: auto;
}
#service--about .cont-service .list-service-item:nth-of-type(even) .item-img {
  position: absolute;
  right: 80px;
  top: 50px;
}
#service--about .cont-service .list-service-item:nth-of-type(even) .item-text {
  margin-right: auto;
}

/* other
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#service--other {
  position: relative;
  background: url(../img/common/bg__img_05_01.png) left top 580px no-repeat, url(../img/common/bg__img_05_02.png) right top 230px no-repeat, #fff;
}
#service--other .cont-post .unit-post {
  position: relative;
  padding: 50px;
  background: var(--col--base-02);
  border-radius: 33px;
  margin-bottom: var(--margin-50);
}
#service--other .cont-post .unit-post:last-child {
  margin-bottom: 0;
}
#service--other .cont-post .unit-post .ttl04 {
  position: relative;
  padding-left: 20px;
  margin-bottom: var(--margin-30);
}
#service--other .cont-post .unit-post .ttl04::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: var(--col--main-01);
  left: 0;
  top: 20px;
  border-radius: 50%;
}
#service--other .cont-post .unit-post .ttl04 .ja {
  font-size: var(--font-size-30);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-family: var(--fot--Zen-Maru-Goth);
}
#service--other .cont-post .unit-post .unit-description {
  gap: 30px;
}
#service--other .cont-post .unit-post .item-img {
  order: 1;
  width: 400px;
  height: 260px;
  border-radius: 24px;
  border: 4px solid #d7f3ff;
}
#service--other .cont-post .unit-post .item-text {
  flex: 1;
  order: 2;
}
#service--other .cont-post .unit-post .item-text p {
  line-height: 1.8;
}

/* price
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#service--price {
  position: relative;
  background: #f7fdff;
}
#service--price .ttl03 {
  margin-bottom: var(--margin-50);
}
#service--price .lead-text {
  text-align: center;
  margin-bottom: var(--margin-50);
}
#service--price .lead-text small {
  display: block;
  line-height: 2;
}
#service--price .cont-post .unit-post {
  background: #fff;
  border: 4px solid #d7f3ff;
  border-radius: 33px;
  padding: 50px;
  margin-bottom: var(--margin-20);
}
#service--price .cont-post .unit-post:last-child {
  margin-bottom: 0;
}
#service--price .cont-post .unit-post .ttl04 {
  text-align: center;
  margin-bottom: var(--margin-40);
}
#service--price .cont-post .unit-post .ttl04 .ja {
  font-size: var(--font-size-26);
  color: var(--col--main-01);
  font-family: var(--fot--Zen-Maru-Goth);
  font-weight: 700;
}
#service--price .cont-post .unit-post .list-price-item {
  padding-bottom: var(--margin-20);
  border-bottom: 1px solid #d3effb;
  margin-bottom: var(--margin-20);
}
#service--price .cont-post .unit-post .list-price-item:last-child {
  margin-bottom: 0;
  border-bottom: unset;
}
/* about
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* about--flow
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#about--flow {
  background: url(../img/common/bg__img_02.png) center top 100px/100% auto no-repeat, #f7fdff;
}
#about--flow .cont-flow .list-flow-item {
  background: #fff;
  padding: 50px;
  position: relative;
  margin-bottom: var(--margin-20);
  min-height: 380px;
}
#about--flow .cont-flow .list-flow-item:last-child {
  margin-bottom: 0;
}
#about--flow .cont-flow .list-flow-item .ttl04 {
  padding-bottom: var(--margin-20);
  border-bottom: 1px solid var(--col--main-01);
  margin-bottom: var(--margin-20);
  width: 530px;
  margin-left: auto;
}
#about--flow .cont-flow .list-flow-item .ttl04 .num {
  font-family: var(--fot--Zen-Maru-Goth);
  color: var(--col--main-01);
  font-size: var(--font-size-30);
  margin-bottom: var(--margin-20);
  font-weight: 700;
}
#about--flow .cont-flow .list-flow-item .ttl04 .num small {
  font-size: var(--font-size-20);
}
#about--flow .cont-flow .list-flow-item .ttl04 .ja {
  font-family: var(--fot--Zen-Maru-Goth);
  font-weight: 700;
  font-size: var(--font-size-30);
}
#about--flow .cont-flow .list-flow-item .item-img {
  position: absolute;
  left: 50px;
  top: 50px;
}
#about--flow .cont-flow .list-flow-item .item-text {
  width: 530px;
  margin-left: auto;
}

/* about--faq
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#about--faq .cont-post .unit-post {
  margin-bottom: var(--margin-50);
}
#about--faq .cont-post .unit-post:last-child {
  margin-bottom: 0;
}
#about--faq .cont-post .unit-post dt {
  width: 100%;
  background: #f7fdff;
  padding: 23px 25px;
  padding-left: 80px;
  font-size: var(--font-size-24);
  font-weight: 700;
  letter-spacing: 0.08em;
  font-family: var(--fot--Zen-Maru-Goth);
  margin-bottom: var(--margin-15);
  position: relative;
  line-height: 1.6;
}
#about--faq .cont-post .unit-post dt::before {
  content: "";
  position: absolute;
  background: url(../img/common/icon__q.png) center center/contain no-repeat;
  width: 40px;
  height: 40px;
  left: 25px;
  top: 24px;
}
#about--faq .cont-post .unit-post dd {
  line-height: 2.2;
}

/* case
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#case .ttl03 {
  margin-bottom: var(--margin-40);
}
#case .cont-post {
  gap: 30px;
}
#case .cont-post .unit-post {
  padding: 50px 0;
  background: #f2fafe;
  border-radius: 33px;
  margin-bottom: var(--margin-50);
  width: calc((100% - 30px) / 2);
  height: fit-content;
}
#case .cont-post .unit-post:last-child {
  margin-bottom: 0;
}
#case .cont-post .unit-post .list-images {
  order: 1;
  padding: 0 50px;
  gap: 20px;
  margin-bottom: var(--margin-10);
}
#case .cont-post .unit-post .list-images-item {
  width: fit-content;
}
#case .cont-post .unit-post .list-images-item .title {
  color: var(--col--main-01);
  margin-top: 5px;
}
#case .cont-post .unit-post .list-images-before .item-img {
  width: 170px;
  height: 130px;
  border-radius: 10px;
  border: 4px solid #fff;
}
#case .cont-post .unit-post .list-images-before .title {
  text-align: start;
}
#case .cont-post .unit-post .list-images-after .item-img {
  width: 240px;
  height: 180px;
  border-radius: 10px;
  border: 4px solid #fff;
}
#case .cont-post .unit-post .list-images-after .title {
  text-align: end;
}
#case .cont-post .unit-post .tag_list {
  order: 2;
  padding: 0 50px;
  margin-bottom: var(--margin-20);
  gap: 20px;
}
#case .cont-post .unit-post .tag_list-item {
  background: #f0f1bf;
  padding: 5px 15px;
  width: fit-content;
  border-radius: 6px;
  font-size: var(--font-size-14);
  font-family: var(--fot--Zen-Maru-Goth);
  font-weight: 500;
}
#case .cont-post .unit-post .ttl04 {
  order: 3;
  padding: 0 50px;
  padding-bottom: var(--margin-20);
  border-bottom: 1px solid #c0dfee;
  margin-bottom: var(--margin-20);

  width : 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#case .cont-post .unit-post .ttl04 .ja {
  font-size: var(--font-size-24);
  font-weight: 700;
  letter-spacing: 0.08em;
  font-family: var(--fot--Zen-Maru-Goth);
  line-height: 1.5;
}
#case .cont-post .unit-post .item-text {
  order: 4;
  padding: 10px 50px;

  overflow: hidden;
  height: 65px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#case .tag-select-box {
  max-width: unset;
  width: 400px;
  margin-bottom: var(--margin-30);
  text-align: center;
}
#case .tag-select-box::before {
  border: unset;
  content: "";
  position: absolute;
  background: url(../img/common/icon__arrow__a_03.png) center center/contain no-repeat;
  width: 18px;
  height: 18px;
  rotate: 90deg;
  right: 30px;
  top: 50%;
  translate: 0 -50%;
}
#case .tag-select-box #tag-select {
  display: inline-block;
  background: #f0f1bf;
  text-align: center;
  border: unset;
  padding: 15px 0;
  border-radius: 12px;
  font-size: var(--font-size-18);
  font-weight: 700;
  letter-spacing: 0.08em;
  font-family: var(--fot--Zen-Maru-Goth);
}
#case .tag-select-box #tag-select option {
  display: inline-block;
  text-align: center;
  width: 100%;
  text-align: -webkit-center;
}

.case--post .cont-post {
  background: #f2fafe;
  padding: 75px 90px;
  border-radius: 33px;
  margin-bottom: var(--margin-60);
}
.case--post .cont-post .wrap-title {
  order: 1;
  padding-bottom: var(--margin-20);
  border-bottom: 1px solid var(--col--main-01);
  margin-bottom: var(--margin-20);
}
.case--post .cont-post .wrap-title .ttl04 .ja {
  font-size: var(--font-size-24);
  font-weight: 700;
  font-family: var(--fot--Zen-Maru-Goth);
  letter-spacing: 0.08em;
  line-height: 1.4;
}
.case--post .cont-post .wrap-title .tag_list {
  width: fit-content;
  gap: 20px;
}
.case--post .cont-post .wrap-title .tag_list-item {
  padding: 5px 12px;
  background: #f0f1bf;
  border-radius: 6px;
  font-size: var(--font-size-14);
  font-family: var(--fot--Zen-Maru-Goth);
}
.case--post .cont-post .list-images {
  order: 2;
  gap: 40px;
  margin-bottom: var(--margin-20);
}
.case--post .cont-post .list-images-item .title {
  font-family: var(--fot--Zen-Maru-Goth);
  color: var(--col--main-01);
  font-weight: 700;
  margin-top: 10px;
}
.case--post .cont-post .list-images-item .item-img {
  border-radius: 10px;
  border: 4px solid #fff;
}
.case--post .cont-post .list-images-before .title {
  font-size: var(--font-size-24);
}
.case--post .cont-post .list-images-before .item-img {
  width: 360px;
  height: 270px;
}
.case--post .cont-post .list-images-after .title {
  font-size: var(--font-size-30);
  text-align: end;
}
.case--post .cont-post .list-images-after .item-img {
  width: 500px;
  height: 380px;
}
.case--post .cont-post .item-text {
  order: 3;
  width: 100%;
}
.case--post .com--btn-01 {
  --width: 340px;
  margin: 0 auto;
}

/* company
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.com--table-01 {
  width: 100%;
}
.com--table-01 tr {
  width: 100%;
}
.com--table-01 tr th,
.com--table-01 tr td {
  font-size: var(--font-size-16);
  letter-spacing: 0.08em;
  padding: 20px 0;
  border-bottom: 1px solid #d3effb;
  font-family: var(--fot--Zen-Maru-Goth);
  line-height: 1.7;
}
.com--table-01 tr th {
  color: var(--col--main-01);
  padding-left: 30px;
  text-align: center;
  vertical-align: middle;
}
.com--table-01 tr td {
  padding-left: 30px;
}

/* company--comics
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#company--comics {
  background: url(../img/common/bg__img_02.png) center top 100px/100% auto no-repeat, #f7fdff;
}
#company--comics .ttl03 .sub {
  margin-bottom: 20px;
}

/* company--area
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#company--area .cont-area {
  position: relative;
  width: 100%;
  background: #f2fafe;
  padding: 50px 80px;
  border-radius: 33px;
}
#company--area .cont-area .item-img {
  position: absolute;
  right: 140px;
  top: 50%;
  translate: 0 -50%;
}

/* company--info
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#company--info {
  background: #f7fdff;
}
#company--info .cont-info {
  border-radius: 33px;
  border: 4px solid #d7f3ff;
  padding: 40px 50px;
  background: #fff;
}
#company--info .item-map {
  width: 100%;
  height: 500px;
}
#company--info .item-map iframe {
  width: 100%;
  height: 100%;
}/*# sourceMappingURL=style.css.map */