@charset "UTF-8";
/*
Sass変数

_variables.scss

各パーツの色やサイズを変数として定義しています。
*/
/*
デバイス別設定
*/
/*
メディア

_media.scss
*/
/*
メディアクエリ

※デバイスごとのブレイクポイントは_variables.scssにて変数で設定。
*/
/*
コンテナ

コンテナブロックのmax-width、左右余白などブロックスタイルの共通定義。
各セクションの左右余白の統一感はコンテナによってもたらされます。

* @mixin container
*/
/*

_projects.scss

*/
/*
ベース
*/
/* line 5, ../scss/component/_base.scss */
html {
  scroll-behavior: smooth;
}
@media only screen and (max-width: 980px) {
  /* line 5, ../scss/component/_base.scss */
  html {
    font-size: 3.73333vw;
  }
}
@media only screen and (min-width: 1025px) {
  /* line 5, ../scss/component/_base.scss */
  html {
    font-size: 16px;
  }
}

/* line 19, ../scss/component/_base.scss */
body {
  background: #fff;
  margin: 0;
  font-size: 16px;
  line-height: 1em;
  color: #042141;
}
@media only screen and (max-width: 980px) {
  /* line 19, ../scss/component/_base.scss */
  body {
    font-size: 3.2vw;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 19, ../scss/component/_base.scss */
  body {
    font-size: 1.5625vw;
  }
}

/* line 39, ../scss/component/_base.scss */
a {
  text-decoration: none;
  color: inherit;
}
/* line 43, ../scss/component/_base.scss */
a:hover {
  color: inherit;
  opacity: .8;
  transition: .4s;
}

/* line 50, ../scss/component/_base.scss */
a:focus {
  text-decoration: none;
}

/* line 57, ../scss/component/_base.scss */
pre {
  /*
  background-color: transparent;
  border: none;
  padding: 16px 0;
  */
}

/* line 65, ../scss/component/_base.scss */
p {
  margin-bottom: 0;
  line-height: 1.8em;
}

/* line 69, ../scss/component/_base.scss */
dd {
  margin-bottom: 0;
}

/* line 73, ../scss/component/_base.scss */
h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 0;
}

/* line 79, ../scss/component/_base.scss */
ul, li, dl {
  padding: 0;
  margin: 0;
  list-style: none;
}

/* line 84, ../scss/component/_base.scss */
img {
  width: 100%;
  height: auto;
}

/* line 89, ../scss/component/_base.scss */
label {
  margin: 0;
  font-weight: normal;
}

/* line 94, ../scss/component/_base.scss */
.view-pc {
  display: block;
}
@media only screen and (max-width: 980px) {
  /* line 94, ../scss/component/_base.scss */
  .view-pc {
    display: none;
  }
}
@media only screen and (min-width: 1025px) {
  /* line 94, ../scss/component/_base.scss */
  .view-pc {
    display: block;
  }
}

/* line 103, ../scss/component/_base.scss */
.view-sp {
  display: none;
}
@media only screen and (max-width: 980px) {
  /* line 103, ../scss/component/_base.scss */
  .view-sp {
    display: block;
  }
}
@media only screen and (min-width: 1025px) {
  /* line 103, ../scss/component/_base.scss */
  .view-sp {
    display: none;
  }
}

/* line 114, ../scss/component/_base.scss */
.noTab {
  display: block;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 114, ../scss/component/_base.scss */
  .noTab {
    display: none;
  }
}

/* line 121, ../scss/component/_base.scss */
.ttl {
  line-height: 1;
}

/* line 124, ../scss/component/_base.scss */
.text, .desc {
  line-height: 1.5em;
}

/* line 128, ../scss/component/_base.scss */
.flexBox {
  display: flex;
}

/*
レイアウトフレーム
*/
/* line 5, ../scss/component/_fonts.scss */
body {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/* line 16, ../scss/component/_fonts.scss */
.ff-en {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-style: normal;
}

/*
ボタン生成
*/
/* line 4, ../scss/component/_buttonsize.scss */
.btn {
  border: 1px solid #000;
  border-radius: 30px;
  border: 1px solid #005BAC;
  background-color: #fff;
  color: #005BAC;
  display: block;
  font-size: 18px;
  width: 380px;
  height: 60px;
  line-height: 58px;
  text-align: center;
  position: relative;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto 14px;
}
/* line 21, ../scss/component/_buttonsize.scss */
.btn:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 980px) {
  /* line 4, ../scss/component/_buttonsize.scss */
  .btn {
    border-radius: 6vw;
    font-size: 3.733333333333334vw;
    height: 12vw;
    width: 100%;
    line-height: 11.733333333333333vw;
  }
}
/* line 33, ../scss/component/_buttonsize.scss */
.btn:hover {
  opacity: 0.8;
  color: #005BAC;
}
/* line 38, ../scss/component/_buttonsize.scss */
.btn.telBtn {
  color: #005BAC;
  font-size: 28px;
}
@media only screen and (max-width: 980px) {
  /* line 38, ../scss/component/_buttonsize.scss */
  .btn.telBtn {
    font-size: 4.8vw;
  }
}
/* line 46, ../scss/component/_buttonsize.scss */
.btn.telBtn .ico {
  font-size: 16px;
  font-weight: 500;
  margin-right: 6px;
}
@media only screen and (max-width: 980px) {
  /* line 46, ../scss/component/_buttonsize.scss */
  .btn.telBtn .ico {
    font-size: 2.4vw;
    margin-right: 1.2vw;
  }
}
/* line 58, ../scss/component/_buttonsize.scss */
.btn.mailBtn {
  font-family: "Noto Sans JP", sans-serif;
}
/* line 60, ../scss/component/_buttonsize.scss */
.btn.mailBtn span {
  position: relative;
  padding-right: 40px;
}
@media only screen and (max-width: 980px) {
  /* line 60, ../scss/component/_buttonsize.scss */
  .btn.mailBtn span {
    padding-right: 6vw;
  }
}
/* line 68, ../scss/component/_buttonsize.scss */
.btn.mailBtn span::after {
  content: "";
  background: url(../assets/img/ico-mail.svg) no-repeat center center/cover;
  width: 23.07px;
  height: 18.53px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 980px) {
  /* line 68, ../scss/component/_buttonsize.scss */
  .btn.mailBtn span::after {
    width: 4.896vw;
    height: 3.933333333333333vw;
  }
}

/* line 5, ../scss/component/_color.scss */
.crl-primary {
  color: #005BAC;
}

/* line 17, ../scss/component/_color.scss */
.bg-primary {
  color: #005BAC;
}

/* line 4, ../scss/project/_header.scss */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #005BAC;
  padding-left: 70px;
  height: 90px;
  line-height: 90px;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  /* line 4, ../scss/project/_header.scss */
  .header {
    padding-left: 40px;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 4, ../scss/project/_header.scss */
  .header {
    height: 13.3333333333vw;
    padding-left: 4vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 4, ../scss/project/_header.scss */
  .header {
    height: 16vw;
    padding-left: 4vw;
  }
}
/* line 26, ../scss/project/_header.scss */
.header .flexBox {
  justify-content: space-between;
  align-items: center;
}
/* line 30, ../scss/project/_header.scss */
.header .telBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 90px;
  line-height: 90px;
  padding-left: 40px;
  border-left: 1px solid #e3e3e3;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  /* line 30, ../scss/project/_header.scss */
  .header .telBox {
    padding-left: 24px;
  }
}
/* line 44, ../scss/project/_header.scss */
.header .tel {
  display: inline-block;
  color: #005BAC;
  font-size: 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  padding-left: 40px;
  line-height: 1em;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  /* line 44, ../scss/project/_header.scss */
  .header .tel {
    padding-left: 20px;
    font-size: 24px;
  }
}
/* line 58, ../scss/project/_header.scss */
.header .tel span {
  position: relative;
}
/* line 61, ../scss/project/_header.scss */
.header .tel span::before {
  content: "";
  background: url(../assets/img/ico-tel.svg) no-repeat center center/cover;
  width: 18.33px;
  height: 23.9px;
  position: absolute;
  top: 50%;
  left: -24px;
  transform: translateY(-50%);
}
/* line 73, ../scss/project/_header.scss */
.header .note {
  color: #005BAC;
  display: block;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  margin-top: 10px;
  line-height: 1.8em;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  /* line 73, ../scss/project/_header.scss */
  .header .note {
    font-size: 10px;
  }
}
/* line 87, ../scss/project/_header.scss */
.header .navRole {
  background-color: #fff;
  padding-left: 40px;
  padding-right: 60px;
}
@media only screen and (min-width: 1025px) and (max-width: 1400px) {
  /* line 87, ../scss/project/_header.scss */
  .header .navRole {
    padding-left: 24px;
    padding-right: 24px;
  }
}
/* line 95, ../scss/project/_header.scss */
.header .navRole .nav-list {
  display: flex;
  gap: 40px;
  padding-right: 60px;
}
@media only screen and (min-width: 1025px) and (max-width: 1400px) {
  /* line 95, ../scss/project/_header.scss */
  .header .navRole .nav-list {
    gap: 20px;
    padding-right: 30px;
    font-size: 14px;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 87, ../scss/project/_header.scss */
  .header .navRole {
    display: none;
  }
}
@media only screen and (max-width: 980px) {
  /* line 87, ../scss/project/_header.scss */
  .header .navRole {
    display: none;
  }
}

/* line 115, ../scss/project/_header.scss */
.h__logo {
  display: block;
  max-width: 340px;
  width: 30%;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 115, ../scss/project/_header.scss */
  .h__logo {
    width: 50vw;
    max-width: initial;
  }
}
@media only screen and (max-width: 980px) {
  /* line 115, ../scss/project/_header.scss */
  .h__logo {
    width: 70vw;
    max-width: initial;
  }
}

/* line 131, ../scss/project/_header.scss */
.toggle-menu > li {
  position: relative;
}

/* line 134, ../scss/project/_header.scss */
.toggle-menu .child-menu {
  display: none;
  top: 90px;
  position: absolute;
  background-color: #fff;
  width: 160px;
  line-height: 1;
  z-index: 100;
}
/* line 143, ../scss/project/_header.scss */
.toggle-menu .child-menu a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 24px;
}

/* line 4, ../scss/project/_footer.scss */
.footer {
  background-image: linear-gradient(95deg, #005bac 10%, #02438d);
  color: #fff;
  padding-top: 345px;
  padding-bottom: 40px;
}
@media only screen and (max-width: 980px) {
  /* line 4, ../scss/project/_footer.scss */
  .footer {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 4, ../scss/project/_footer.scss */
  .footer {
    padding-top: 13.666666666666668vw;
    padding-bottom: 4vw;
  }
}
/* line 19, ../scss/project/_footer.scss */
.footer .flexBox {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 980px) {
  /* line 19, ../scss/project/_footer.scss */
  .footer .flexBox {
    flex-wrap: wrap;
    gap: 8vw;
  }
}
/* line 29, ../scss/project/_footer.scss */
.footer .f__content {
  max-width: 1600px;
  margin: 0 auto;
}
@media only screen and (min-width: 1025px) and (max-width: 1700px) {
  /* line 29, ../scss/project/_footer.scss */
  .footer .f__content {
    width: 90%;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 29, ../scss/project/_footer.scss */
  .footer .f__content {
    width: 90%;
  }
}
/* line 41, ../scss/project/_footer.scss */
.footer .f__content .f__logo {
  width: 390px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 980px) {
  /* line 41, ../scss/project/_footer.scss */
  .footer .f__content .f__logo {
    width: 78vw;
    margin-bottom: 8vw;
  }
}
/* line 50, ../scss/project/_footer.scss */
.footer .f__content .text {
  margin-bottom: 20px;
}
@media only screen and (max-width: 980px) {
  /* line 50, ../scss/project/_footer.scss */
  .footer .f__content .text {
    margin-bottom: 2.666666666666667vw;
  }
}
/* line 57, ../scss/project/_footer.scss */
.footer .f__content a {
  display: block;
  line-height: 2em;
}
/* line 61, ../scss/project/_footer.scss */
.footer .f__content .nav-list {
  display: flex;
  flex-direction: column;
  gap: 28px 0;
  margin-left: 80px;
}
@media only screen and (max-width: 980px) {
  /* line 61, ../scss/project/_footer.scss */
  .footer .f__content .nav-list {
    gap: 4vw;
    margin-left: 13.333333333333334vw;
  }
}
/* line 72, ../scss/project/_footer.scss */
.footer .f__content .nav-list:first-child {
  margin-left: 0;
}
/* line 76, ../scss/project/_footer.scss */
.footer .f__content .nav {
  position: relative;
  padding-left: 20px;
  display: block;
}
@media only screen and (max-width: 980px) {
  /* line 76, ../scss/project/_footer.scss */
  .footer .f__content .nav {
    padding-left: 2vw;
  }
}
/* line 85, ../scss/project/_footer.scss */
.footer .f__content .nav::before {
  content: "";
  background: url(../assets/img/carat.svg) no-repeat center center/cover;
  width: 8px;
  height: 6.77px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 980px) {
  /* line 85, ../scss/project/_footer.scss */
  .footer .f__content .nav::before {
    width: 1.0666666666666667vw;
    height: .9026666666666665vw;
  }
}
/* line 103, ../scss/project/_footer.scss */
.footer .copyrights {
  display: block;
  font-size: 10px;
  text-align: right;
  margin-top: 124px;
}
@media only screen and (max-width: 980px) {
  /* line 103, ../scss/project/_footer.scss */
  .footer .copyrights {
    font-size: 2.4vw;
    margin-top: 20vw;
    text-align: center;
  }
}

/* line 4, ../scss/project/_mv.scss */
.mvRole {
  background-color: #005BAC;
  color: #fff;
  padding: 90px 70px;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 4, ../scss/project/_mv.scss */
  .mvRole {
    flex-direction: column-reverse;
    align-items: flex-start;
    padding: 8vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 4, ../scss/project/_mv.scss */
  .mvRole {
    flex-direction: column-reverse;
    align-items: flex-start;
    padding: 12vw 6vw;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 21, ../scss/project/_mv.scss */
  .mvRole .catch__wrp {
    max-width: 100%;
    width: 100%;
    padding-right: 4vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 21, ../scss/project/_mv.scss */
  .mvRole .catch__wrp {
    padding-right: 4vw;
    max-width: 100%;
    width: 100%;
  }
}
/* line 33, ../scss/project/_mv.scss */
.mvRole .catch {
  font-size: 2.375rem;
  font-weight: 500;
  line-height: 2em;
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 30px;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 33, ../scss/project/_mv.scss */
  .mvRole .catch {
    font-size: 3.515625vw;
    line-height: 1.5em;
    margin-bottom: 2.666666666666667vw;
    padding-bottom: 2.666666666666667vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 33, ../scss/project/_mv.scss */
  .mvRole .catch {
    font-size: 6vw;
    line-height: 1.8em;
    margin-bottom: 2.666666666666667vw;
    padding-bottom: 2.666666666666667vw;
  }
}
/* line 56, ../scss/project/_mv.scss */
.mvRole .catch::after {
  content: "";
  background-color: #fff;
  width: 90px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media only screen and (max-width: 980px) {
  /* line 56, ../scss/project/_mv.scss */
  .mvRole .catch::after {
    width: 70.66666666666667vw;
    height: .13333333333333333vw;
  }
}
/* line 73, ../scss/project/_mv.scss */
.mvRole .lead {
  font-size: 16px;
  line-height: 2.5em;
  letter-spacing: .01em;
  text-align: justify;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 73, ../scss/project/_mv.scss */
  .mvRole .lead {
    font-size: 1.953125vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 73, ../scss/project/_mv.scss */
  .mvRole .lead {
    font-size: 3.4666666666666663vw;
  }
}
/* line 88, ../scss/project/_mv.scss */
.mvRole .ph {
  max-width: 1309px;
  width: 70%;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 88, ../scss/project/_mv.scss */
  .mvRole .ph {
    width: 100%;
    margin-bottom: 4vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 88, ../scss/project/_mv.scss */
  .mvRole .ph {
    width: 100%;
    margin-bottom: 4vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1550px) {
  /* line 102, ../scss/project/_mv.scss */
  .mvRole .ph {
    width: 60%;
  }
  /* line 106, ../scss/project/_mv.scss */
  .mvRole .catch {
    font-size: 30px;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1340px) {
  /* line 4, ../scss/project/_mv.scss */
  .mvRole {
    padding-left: 70px;
  }
  /* line 114, ../scss/project/_mv.scss */
  .mvRole .ph {
    width: 60%;
  }
  /* line 118, ../scss/project/_mv.scss */
  .mvRole .catch {
    font-size: 26px;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  /* line 124, ../scss/project/_mv.scss */
  .mvRole .lead {
    font-size: 12px;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1140px) {
  /* line 130, ../scss/project/_mv.scss */
  .mvRole .catch {
    font-size: 24px;
  }
}

/* line 142, ../scss/project/_mv.scss */
.page .mvRole {
  padding: 160px 4vw;
  position: relative;
}
/* line 146, ../scss/project/_mv.scss */
.page .mvRole .ph {
  width: 100%;
  max-width: initial;
}
/* line 150, ../scss/project/_mv.scss */
.page .mvRole .hd__wrp {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-bottom: 40px;
}
@media only screen and (max-width: 980px) {
  /* line 150, ../scss/project/_mv.scss */
  .page .mvRole .hd__wrp {
    padding-bottom: 4vw;
  }
}
/* line 161, ../scss/project/_mv.scss */
.page .mvRole .hd__wrp .hd-en,
.page .mvRole .hd__wrp .hd-jp {
  color: #fff;
}

/* line 4, ../scss/project/_drawer.scss */
.scroll-prevent {
  position: sticky;
  top: 0;
  right: 0;
}

/* line 22, ../scss/project/_drawer.scss */
.drawerMenuRole {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9998;
  background-color: rgba(255, 255, 255, 0.95);
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  color: #fff;
  visibility: hidden;
  transform: translate3d(-100%, 0, 0);
  transition: 0.5s;
  padding: 3.5999999999999996vw 4vw;
}
@media only screen and (min-width: 1025px) {
  /* line 22, ../scss/project/_drawer.scss */
  .drawerMenuRole {
    display: none;
  }
}
/* line 43, ../scss/project/_drawer.scss */
.drawerMenuRole.is-active {
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
/* line 48, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole {
  margin-top: 16vw;
  padding-left: 4vw;
  padding-right: 8vw;
}
/* line 53, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .nav-list {
  display: flex;
  flex-direction: column;
  gap: 7vw;
  margin-bottom: 8vw;
}
/* line 59, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .nav {
  display: block;
  color: #005BAC;
  font-size: 8vw;
  font-weight: 400;
  font-family: "Cormorant Garamond", serif;
}
/* line 66, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .nav .jp {
  display: block;
  color: #042141;
  font-size: 2.666666666666667vw;
  margin-top: 3.5vw;
}
/* line 73, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .nav .child {
  display: block;
  line-height: 1;
  color: #005BAC;
  font-size: 3.2vw;
  margin-top: 4.266666666666667vw;
  padding-left: 3.6vw;
  position: relative;
}
/* line 82, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .nav .child::before {
  content: "";
  background-color: #005BAC;
  width: 2.666666666666667vw;
  height: .2666666666666666vw;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
/* line 95, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .btn {
  margin: 0;
  width: 100%;
  height: 18.71333333333333vw;
  line-height: 18.71333333333333vw;
  border-radius: 0;
}
/* line 102, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .btn.telBtn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #005BAC;
  border-radius: 0;
  color: #fff;
  font-size: 7.6vw;
  margin-bottom: 4vw;
}
/* line 112, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .btn.telBtn .num {
  line-height: 1.2em;
  position: relative;
  padding-left: 11.200000000000001vw;
}
/* line 117, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .btn.telBtn .num::before {
  content: "TEL.";
  font-size: 4.533333333333333vw;
  color: #fff;
  position: absolute;
  bottom: -1vw;
  left: 0;
}
/* line 126, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .btn.telBtn .text {
  font-size: 2.1333333333333333vw;
}
/* line 131, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .btn.mailBtn {
  font-size: 4vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
/* line 136, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .btn.mailBtn span {
  padding-right: 8vw;
}
/* line 138, ../scss/project/_drawer.scss */
.drawerMenuRole .navRole .btn.mailBtn span::after {
  width: 4.795999999999999vw;
  height: 3.853333333333333vw;
}

/*
  ドロワー開閉ボタン
  
  ドロワー開閉ボタンはスマホ時に表示されます。
  */
/* ドロワーボタン */
/* line 154, ../scss/project/_drawer.scss */
.drawerButton {
  background-color: #fff;
  display: block;
  cursor: pointer;
  position: absolute;
  z-index: 9999;
  width: 13.333333333333334vw;
  height: 13.333333333333334vw;
  top: 0;
  right: 0;
}
/* line 165, ../scss/project/_drawer.scss */
body.have_curtain .drawerButton {
  background-color: transparent;
}
@media only screen and (max-width: 980px) {
  /* line 154, ../scss/project/_drawer.scss */
  .drawerButton {
    width: 16vw;
    height: 16vw;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 154, ../scss/project/_drawer.scss */
  .drawerButton {
    display: block;
  }
}
@media only screen and (min-width: 1025px) {
  /* line 154, ../scss/project/_drawer.scss */
  .drawerButton {
    display: none;
  }
}
/* line 182, ../scss/project/_drawer.scss */
.drawerButton .burger {
  display: block;
  width: 44px;
  height: 4px;
  margin: 0 auto;
  background-color: #005BAC;
  transition: 0.3s;
  position: relative;
  top: 50%;
  /* ドロワー表示時 */
}
@media only screen and (max-width: 980px) {
  /* line 182, ../scss/project/_drawer.scss */
  .drawerButton .burger {
    width: 6vw;
    height: 0.26666666666666666vw;
  }
}
/* line 197, ../scss/project/_drawer.scss */
.drawerButton .burger:before, .drawerButton .burger:after {
  content: "";
  display: block;
  width: 44px;
  height: 4px;
  background-color: #005BAC;
  position: absolute;
  transition: 0.3s;
}
@media only screen and (max-width: 980px) {
  /* line 197, ../scss/project/_drawer.scss */
  .drawerButton .burger:before, .drawerButton .burger:after {
    width: 6vw;
    height: 0.26666666666666666vw;
  }
}
/* line 213, ../scss/project/_drawer.scss */
.drawerButton .burger:before {
  top: -12px;
}
@media only screen and (max-width: 980px) {
  /* line 213, ../scss/project/_drawer.scss */
  .drawerButton .burger:before {
    top: -2vw;
  }
}
/* line 220, ../scss/project/_drawer.scss */
.drawerButton .burger:after {
  bottom: -12px;
}
@media only screen and (max-width: 980px) {
  /* line 220, ../scss/project/_drawer.scss */
  .drawerButton .burger:after {
    bottom: -2vw;
  }
}
/* line 228, ../scss/project/_drawer.scss */
body.have_curtain .drawerButton .burger {
  background-color: transparent;
}
/* line 231, ../scss/project/_drawer.scss */
body.have_curtain .drawerButton .burger:before {
  top: 0;
  transform: rotate(225deg);
}
/* line 236, ../scss/project/_drawer.scss */
body.have_curtain .drawerButton .burger:after {
  bottom: 0;
  transform: rotate(135deg);
}

/* line 244, ../scss/project/_drawer.scss */
.have_curtain {
  overflow: hidden;
}

/* line 3, ../scss/project/_slider.scss */
.slide-container {
  position: relative;
  /* 矢印を消して画像に変更する */
  /* 前に戻る矢印の画像パス */
  /* 次に進む矢印の画像パス */
}
/* line 6, ../scss/project/_slider.scss */
.slide-container .slide-button-wrp {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 586px;
  height: 64px;
}
@media only screen and (max-width: 980px) {
  /* line 6, ../scss/project/_slider.scss */
  .slide-container .slide-button-wrp {
    width: 78.13333333333333vw;
    height: 8.533333333333333vw;
  }
}
/* line 18, ../scss/project/_slider.scss */
.slide-container .slide-button-wrp .wrp {
  position: relative;
  width: 100%;
  height: 64px;
}
@media only screen and (max-width: 980px) {
  /* line 18, ../scss/project/_slider.scss */
  .slide-container .slide-button-wrp .wrp {
    height: 8.533333333333333vw;
  }
}
/* line 29, ../scss/project/_slider.scss */
.slide-container .swiper-button-lock {
  display: block;
}
/* line 33, ../scss/project/_slider.scss */
.slide-container .swiper-button-prev,
.slide-container .swiper-button-next {
  height: 32px;
  width: 16px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0;
}
@media only screen and (max-width: 980px) {
  /* line 33, ../scss/project/_slider.scss */
  .slide-container .swiper-button-prev,
  .slide-container .swiper-button-next {
    height: 4.266666666666667vw;
    width: 2.1333333333333333vw;
  }
}
/* line 47, ../scss/project/_slider.scss */
.slide-container .swiper-button-prev {
  left: -2.5rem;
}
@media only screen and (max-width: 980px) {
  /* line 47, ../scss/project/_slider.scss */
  .slide-container .swiper-button-prev {
    left: -5.333333333333334vw;
  }
}
/* line 54, ../scss/project/_slider.scss */
.slide-container .swiper-button-next {
  right: -2.5rem;
}
@media only screen and (max-width: 980px) {
  /* line 54, ../scss/project/_slider.scss */
  .slide-container .swiper-button-next {
    right: -5.333333333333334vw;
  }
}
/* line 62, ../scss/project/_slider.scss */
.slide-container .swiper-button-prev::after,
.slide-container .swiper-button-next::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  height: 32px;
  width: 16px;
  margin: auto;
}
@media only screen and (max-width: 980px) {
  /* line 62, ../scss/project/_slider.scss */
  .slide-container .swiper-button-prev::after,
  .slide-container .swiper-button-next::after {
    height: 4.266666666666667vw;
    width: 2.1333333333333333vw;
  }
}
/* line 77, ../scss/project/_slider.scss */
.slide-container .swiper-button-prev::after {
  background: url(../assets/img/arrow_sec_A.svg) no-repeat center center/cover;
  transform: rotate(180deg);
}
/* line 82, ../scss/project/_slider.scss */
.slide-container .swiper-button-next::after {
  background: url(../assets/img/arrow_sec_A.svg) no-repeat center center/cover;
}

/* line 86, ../scss/project/_slider.scss */
.slider {
  width: 100%;
}
/* line 89, ../scss/project/_slider.scss */
.slider .swiper-slide {
  opacity: 0.3;
  transition: opacity 0.5s;
  width: 960px;
}
/* line 93, ../scss/project/_slider.scss */
.slider .swiper-slide-active {
  opacity: 1;
}
/* line 98, ../scss/project/_slider.scss */
.slider .swiper-slide-next,
.slider .swiper-slide-prev {
  opacity: 0.3;
}
/* line 102, ../scss/project/_slider.scss */
.slider .swiper-button-prev:after,
.slider .swiper-rtl .swiper-button-next:after {
  content: none;
}
/* line 106, ../scss/project/_slider.scss */
.slider .swiper-button-next:after,
.slider .swiper-rtl .swiper-button-prev:after {
  content: none;
}

/* line 111, ../scss/project/_slider.scss */
.thum-container {
  width: 586px;
  height: 64px;
  margin: 1.875rem auto 0;
  position: relative;
}
@media only screen and (max-width: 980px) {
  /* line 111, ../scss/project/_slider.scss */
  .thum-container {
    width: 78.13333333333333vw;
    height: 8.533333333333333vw;
    margin: 5.333333333333334vw auto 0;
  }
}

/* line 124, ../scss/project/_slider.scss */
.sliderThumbnail .swiper-slide {
  opacity: 0.5;
  transition: opacity 0.5s;
  width: calc(100% / 6);
}
/* line 129, ../scss/project/_slider.scss */
.sliderThumbnail .swiper-slide-thumb-active {
  opacity: 1;
}

/* line 8, ../scss/project/_heading.scss */
.hd-en {
  color: #005BAC;
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 70px;
  text-align: center;
}
@media only screen and (max-width: 980px) {
  /* line 8, ../scss/project/_heading.scss */
  .hd-en {
    font-size: 10.666666666666668vw;
  }
}

/* line 19, ../scss/project/_heading.scss */
.hd-jp {
  color: #005BAC;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 12px;
  text-align: center;
  letter-spacing: .05em;
}
@media only screen and (max-width: 980px) {
  /* line 19, ../scss/project/_heading.scss */
  .hd-jp {
    font-size: 3.2vw;
  }
}

/* line 33, ../scss/project/_heading.scss */
.hd-lead {
  text-align: center;
  margin-top: 44px;
}
@media only screen and (max-width: 980px) {
  /* line 33, ../scss/project/_heading.scss */
  .hd-lead {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 33, ../scss/project/_heading.scss */
  .hd-lead {
    margin-top: 5.866666666666666vw;
  }
}

/* line 5, ../scss/project/_tp.scss */
.secRole {
  padding: 80px 0 100px;
}
@media only screen and (max-width: 980px) {
  /* line 5, ../scss/project/_tp.scss */
  .secRole {
    padding: 10.666666666666668vw 0 13.333333333333334vw;
  }
}
/* line 12, ../scss/project/_tp.scss */
.secRole .content {
  margin-top: 80px;
}
@media only screen and (max-width: 980px) {
  /* line 12, ../scss/project/_tp.scss */
  .secRole .content {
    margin-top: 12vw;
  }
}
/* line 19, ../scss/project/_tp.scss */
.secRole .container {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
/* line 25, ../scss/project/_tp.scss */
.secRole .container-2 {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
}

/* line 33, ../scss/project/_tp.scss */
.featureRole .content {
  margin-top: 80px;
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 33, ../scss/project/_tp.scss */
  .featureRole .content {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 980px) {
  /* line 33, ../scss/project/_tp.scss */
  .featureRole .content {
    margin-top: 8vw;
  }
}
/* line 45, ../scss/project/_tp.scss */
.featureRole .d-flex {
  gap: 60px;
  justify-content: center;
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 45, ../scss/project/_tp.scss */
  .featureRole .d-flex {
    gap: 40px;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 45, ../scss/project/_tp.scss */
  .featureRole .d-flex {
    gap: 24px;
    width: 90%;
  }
}
@media only screen and (max-width: 980px) {
  /* line 45, ../scss/project/_tp.scss */
  .featureRole .d-flex {
    display: block !important;
    flex-wrap: wrap;
    gap: 5.333333333333334vw;
    padding: 0 4vw;
  }
}
/* line 64, ../scss/project/_tp.scss */
.featureRole .text {
  background-color: #fff;
  font-size: 24px;
  font-weight: 500;
  color: #005BAC;
  line-height: 1.8em;
  padding: 24px 0 24px 28px;
  border: 2px solid #005BAC;
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 64, ../scss/project/_tp.scss */
  .featureRole .text {
    font-size: 20px;
    left: auto;
    right: 0;
    width: auto;
    padding: 24px 24px 24px 28px;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 64, ../scss/project/_tp.scss */
  .featureRole .text {
    font-size: 20px;
    left: auto;
    right: 0;
    width: auto;
    padding: 16px 16px 16px 16px;
  }
}
@media only screen and (max-width: 980px) {
  /* line 64, ../scss/project/_tp.scss */
  .featureRole .text {
    font-size: 4.266666666666667vw;
    padding: 3.2vw 4.8vw;
    width: auto;
    left: auto;
  }
}
/* line 97, ../scss/project/_tp.scss */
.featureRole .point {
  flex: 1;
  height: 100%;
  position: relative;
}
@media only screen and (max-width: 980px) {
  /* line 101, ../scss/project/_tp.scss */
  .featureRole .point:nth-child(2) {
    margin-top: 0;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 97, ../scss/project/_tp.scss */
  .featureRole .point {
    width: calc((100% - 80px) / 3);
  }
}
@media only screen and (max-width: 980px) {
  /* line 97, ../scss/project/_tp.scss */
  .featureRole .point {
    width: 100%;
    margin-bottom: 20px;
  }
  /* line 116, ../scss/project/_tp.scss */
  .featureRole .point .ph {
    display: block;
  }
  /* line 121, ../scss/project/_tp.scss */
  .featureRole .point:nth-child(1) .ph {
    width: 64.8vw;
  }
  /* line 124, ../scss/project/_tp.scss */
  .featureRole .point:nth-child(1) .text {
    right: 6.666666666666667vw;
  }
  /* line 129, ../scss/project/_tp.scss */
  .featureRole .point:nth-child(2) .ph {
    width: 78vw;
    float: right;
  }
  /* line 133, ../scss/project/_tp.scss */
  .featureRole .point:nth-child(2) .text {
    left: 8vw;
  }
  /* line 138, ../scss/project/_tp.scss */
  .featureRole .point:nth-child(3) .ph {
    width: 67.73333333333333vw;
  }
  /* line 141, ../scss/project/_tp.scss */
  .featureRole .point:nth-child(3) .text {
    right: 13.333333333333334vw;
  }
}

/* line 149, ../scss/project/_tp.scss */
.serviceRole {
  position: relative;
  padding-bottom: 60px;
}
@media only screen and (max-width: 980px) {
  /* line 149, ../scss/project/_tp.scss */
  .serviceRole {
    padding-bottom: 13.333333333333334vw;
  }
}
/* line 157, ../scss/project/_tp.scss */
.serviceRole .bg-1 {
  background-color: #EFF3F9;
  width: 100%;
  height: 887px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
@media only screen and (max-width: 980px) {
  /* line 157, ../scss/project/_tp.scss */
  .serviceRole .bg-1 {
    height: 86.53333333333333vw;
  }
}
/* line 171, ../scss/project/_tp.scss */
.serviceRole .bg-2 {
  background-color: #005BAC;
  width: 91%;
  height: 679px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 171, ../scss/project/_tp.scss */
  .serviceRole .bg-2 {
    width: 95%;
  }
}
@media only screen and (max-width: 980px) {
  /* line 171, ../scss/project/_tp.scss */
  .serviceRole .bg-2 {
    width: 100%;
    height: 100%;
    z-index: -11;
  }
}
/* line 191, ../scss/project/_tp.scss */
.serviceRole .content {
  margin-top: 40px;
  position: relative;
  z-index: 100;
}
@media only screen and (max-width: 980px) {
  /* line 191, ../scss/project/_tp.scss */
  .serviceRole .content {
    margin-top: 8vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
/* line 202, ../scss/project/_tp.scss */
.serviceRole .content .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #ddd;
  margin-bottom: 40px;
}
@media only screen and (max-width: 980px) {
  /* line 202, ../scss/project/_tp.scss */
  .serviceRole .content .list {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* line 213, ../scss/project/_tp.scss */
.serviceRole .content .list .item {
  position: relative;
  padding: 3rem;
  text-align: center;
  background-color: #fff;
}
/* line 218, ../scss/project/_tp.scss */
.serviceRole .content .list .item img {
  width: 50%;
  height: auto;
}
@media only screen and (max-width: 980px) {
  /* line 213, ../scss/project/_tp.scss */
  .serviceRole .content .list .item {
    padding: 1.5rem;
  }
  /* line 225, ../scss/project/_tp.scss */
  .serviceRole .content .list .item:last-child {
    display: none;
  }
}
/* line 231, ../scss/project/_tp.scss */
.serviceRole .content .list .desc {
  text-align: left;
}
@media only screen and (max-width: 980px) {
  /* line 231, ../scss/project/_tp.scss */
  .serviceRole .content .list .desc {
    font-size: 2.933333333333333vw;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 231, ../scss/project/_tp.scss */
  .serviceRole .content .list .desc {
    font-size: 1.5625vw;
  }
}
/* line 242, ../scss/project/_tp.scss */
.serviceRole .content .num {
  color: #005BAC;
  font-size: 20px;
  border-bottom: 1px solid #005BAC;
  padding-bottom: 3px;
  position: absolute;
  top: 20px;
  left: 24px;
}
@media only screen and (max-width: 980px) {
  /* line 242, ../scss/project/_tp.scss */
  .serviceRole .content .num {
    border-bottom: 0.13333vw solid #005BAC;
    font-size: 3.2vw;
    top: 2.2666666666666666vw;
    left: 3.2vw;
    padding-bottom: 0.6666666666666667vw;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 242, ../scss/project/_tp.scss */
  .serviceRole .content .num {
    font-size: 2.34375vw;
    padding-bottom: 0.9765625vw;
  }
}
/* line 264, ../scss/project/_tp.scss */
.serviceRole .content .ttl {
  color: #0E4686;
  font-size: 24px;
  margin-bottom: 16px;
  text-align: center;
}
@media only screen and (max-width: 980px) {
  /* line 264, ../scss/project/_tp.scss */
  .serviceRole .content .ttl {
    font-size: 4.266666666666667vw;
    margin-bottom: 2.666666666666667vw;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 264, ../scss/project/_tp.scss */
  .serviceRole .content .ttl {
    font-size: 1.953125vw;
  }
}
/* line 281, ../scss/project/_tp.scss */
.serviceRole .text {
  color: #fff;
  font-weight: 500;
  text-align: center;
  margin-bottom: 40px;
}
@media only screen and (max-width: 980px) {
  /* line 281, ../scss/project/_tp.scss */
  .serviceRole .text {
    margin-bottom: 8vw;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 281, ../scss/project/_tp.scss */
  .serviceRole .text {
    font-size: 1.953125vw;
  }
}
/* line 296, ../scss/project/_tp.scss */
.serviceRole .linkBtn {
  border: 1px solid #fff;
  color: #fff;
  display: block;
  width: 360px;
  height: 70px;
  line-height: 68px;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 980px) {
  /* line 296, ../scss/project/_tp.scss */
  .serviceRole .linkBtn {
    font-size: 4vw;
    border: 0.13333vw solid #fff;
    width: 80%;
    height: 12vw;
    line-height: 11.733333333333333vw;
  }
}
/* line 315, ../scss/project/_tp.scss */
.serviceRole .linkBtn::after {
  content: "";
  width: 63px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: -31.5px;
  transform: translateY(-50%);
}
@media only screen and (max-width: 980px) {
  /* line 315, ../scss/project/_tp.scss */
  .serviceRole .linkBtn::after {
    right: -4vw;
    width: 8.4vw;
    height: 0.13333333333333333vw;
  }
}

/* line 334, ../scss/project/_tp.scss */
.lawyerRole {
  padding-bottom: 0;
}
/* line 337, ../scss/project/_tp.scss */
.lawyerRole .content {
  margin-top: 175px;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 337, ../scss/project/_tp.scss */
  .lawyerRole .content {
    width: 100%;
    margin: 9.765625vw auto 0;
  }
}
@media only screen and (max-width: 980px) {
  /* line 337, ../scss/project/_tp.scss */
  .lawyerRole .content {
    margin-top: 8vw;
  }
}
/* line 349, ../scss/project/_tp.scss */
.lawyerRole .item {
  margin-bottom: 253px;
  position: relative;
}
@media only screen and (max-width: 980px) {
  /* line 349, ../scss/project/_tp.scss */
  .lawyerRole .item {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 349, ../scss/project/_tp.scss */
  .lawyerRole .item {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 349, ../scss/project/_tp.scss */
  .lawyerRole .item {
    margin-bottom: 7.8125vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 349, ../scss/project/_tp.scss */
  .lawyerRole .item {
    margin-bottom: 8vw;
  }
}
/* line 367, ../scss/project/_tp.scss */
.lawyerRole .item:last-child {
  margin-bottom: 0;
}
/* line 371, ../scss/project/_tp.scss */
.lawyerRole .item::before {
  content: "";
  background-color: #EFF3F9;
  width: 91%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 371, ../scss/project/_tp.scss */
  .lawyerRole .item::before {
    width: 98%;
  }
}
@media only screen and (max-width: 980px) {
  /* line 371, ../scss/project/_tp.scss */
  .lawyerRole .item::before {
    top: auto;
    bottom: 0;
    width: 100%;
    height: 90%;
  }
}
/* line 394, ../scss/project/_tp.scss */
.lawyerRole .item:nth-child(2n)::before {
  right: 0;
  left: auto;
}
@media only screen and (max-width: 980px) {
  /* line 399, ../scss/project/_tp.scss */
  .lawyerRole .item:nth-child(2n) .flexBox {
    flex-direction: column;
  }
}
/* line 405, ../scss/project/_tp.scss */
.lawyerRole .item .flexBox {
  display: flex;
  justify-content: center;
  gap: 0 108px;
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 405, ../scss/project/_tp.scss */
  .lawyerRole .item .flexBox {
    gap: 0 80px;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 405, ../scss/project/_tp.scss */
  .lawyerRole .item .flexBox {
    gap: 3.90625vw;
    padding-left: 3.90625vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 405, ../scss/project/_tp.scss */
  .lawyerRole .item .flexBox {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
}
/* line 425, ../scss/project/_tp.scss */
.lawyerRole .item .inner {
  padding: 60px 0 70px;
  max-width: 658px;
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 425, ../scss/project/_tp.scss */
  .lawyerRole .item .inner {
    width: 50%;
    max-width: initial;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 425, ../scss/project/_tp.scss */
  .lawyerRole .item .inner {
    width: 40%;
  }
}
@media only screen and (max-width: 980px) {
  /* line 425, ../scss/project/_tp.scss */
  .lawyerRole .item .inner {
    width: 100%;
    padding: 10.666666666666668vw 0 13.333333333333334vw;
    max-width: initial;
  }
}
/* line 443, ../scss/project/_tp.scss */
.lawyerRole .item .inner .position {
  margin-bottom: 16px;
}
@media only screen and (max-width: 980px) {
  /* line 443, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .position {
    font-size: 3.2vw;
    margin-bottom: 2.1333333333333333vw;
  }
}
/* line 451, ../scss/project/_tp.scss */
.lawyerRole .item .inner .name__wrp {
  display: flex;
  gap: 20px;
}
@media only screen and (max-width: 980px) {
  /* line 451, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .name__wrp {
    gap: 2.666666666666667vw;
  }
}
/* line 458, ../scss/project/_tp.scss */
.lawyerRole .item .inner .name__wrp .name {
  font-size: 36px;
  font-weight: 500;
  margin-bottom: 40px;
  line-height: 1em;
}
@media only screen and (max-width: 980px) {
  /* line 458, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .name__wrp .name {
    font-size: 8vw;
    margin-bottom: 5.333333333333334vw;
  }
}
/* line 469, ../scss/project/_tp.scss */
.lawyerRole .item .inner .name__wrp .en {
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 980px) {
  /* line 469, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .name__wrp .en {
    font-size: 3.2vw;
  }
}
/* line 479, ../scss/project/_tp.scss */
.lawyerRole .item .inner .text {
  margin-bottom: 40px;
}
@media only screen and (max-width: 980px) {
  /* line 479, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .text {
    margin-bottom: 5.333333333333334vw;
  }
}
/* line 486, ../scss/project/_tp.scss */
.lawyerRole .item .inner .col {
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 980px) {
  /* line 486, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .col {
    margin-bottom: 5.333333333333334vw;
  }
}
/* line 493, ../scss/project/_tp.scss */
.lawyerRole .item .inner .col .ttl {
  font-weight: 500;
  font-size: 14px;
  width: 150px;
  line-height: 2em;
  vertical-align: top;
}
@media only screen and (max-width: 980px) {
  /* line 493, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .col .ttl {
    font-size: 3.2vw;
    padding: 1.0666666666666667vw 0;
    width: 25vw;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 493, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .col .ttl {
    font-size: 1.5625vw;
  }
}
/* line 510, ../scss/project/_tp.scss */
.lawyerRole .item .inner .col .desc {
  line-height: 2em;
}
@media only screen and (max-width: 980px) {
  /* line 510, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .col .desc {
    font-size: 3.2vw;
    padding: 1.0666666666666667vw 0;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 510, ../scss/project/_tp.scss */
  .lawyerRole .item .inner .col .desc {
    font-size: 1.5625vw;
  }
}
/* line 525, ../scss/project/_tp.scss */
.lawyerRole .item .side {
  width: 514px;
}
@media only screen and (min-width: 981px) and (max-width: 1300px) {
  /* line 525, ../scss/project/_tp.scss */
  .lawyerRole .item .side {
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (max-width: 980px) {
  /* line 525, ../scss/project/_tp.scss */
  .lawyerRole .item .side {
    width: 100%;
  }
}
/* line 541, ../scss/project/_tp.scss */
.lawyerRole .item .ph {
  display: block;
  margin-top: -110px;
  height: 426px;
  position: relative;
}
@media only screen and (min-width: 981px) and (max-width: 1300px) {
  /* line 541, ../scss/project/_tp.scss */
  .lawyerRole .item .ph {
    width: 402px;
    height: 335px;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 541, ../scss/project/_tp.scss */
  .lawyerRole .item .ph {
    margin-top: -40px;
    height: auto;
  }
}
/* line 557, ../scss/project/_tp.scss */
.lawyerRole .item .ph::before {
  content: "";
  background-color: #005BAC;
  width: 522px;
  height: 384px;
  position: absolute;
  bottom: -30px;
  right: -30px;
  z-index: -1;
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 557, ../scss/project/_tp.scss */
  .lawyerRole .item .ph::before {
    width: 402px;
    height: 335px;
    bottom: -20px;
    right: -20px;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 557, ../scss/project/_tp.scss */
  .lawyerRole .item .ph::before {
    width: 380px;
    height: 300px;
    bottom: -20px;
  }
}
@media only screen and (max-width: 980px) {
  /* line 557, ../scss/project/_tp.scss */
  .lawyerRole .item .ph::before {
    width: 100%;
    height: 52.53333333333333vw;
    bottom: -3.2vw;
    right: -3.2vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 541, ../scss/project/_tp.scss */
  .lawyerRole .item .ph {
    margin-top: 0;
    height: auto;
  }
}
/* line 594, ../scss/project/_tp.scss */
.lawyerRole .item .ph.left::before {
  right: auto;
  left: -30px;
}
@media only screen and (min-width: 1025px) and (max-width: 1300px) {
  /* line 594, ../scss/project/_tp.scss */
  .lawyerRole .item .ph.left::before {
    left: -20px;
  }
}
@media only screen and (max-width: 980px) {
  /* line 594, ../scss/project/_tp.scss */
  .lawyerRole .item .ph.left::before {
    left: -3.2vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 610, ../scss/project/_tp.scss */
  .lawyerRole .btn__wrp {
    width: 100%;
    border-top: 0.13333vw solid #005BAC;
  }
}
/* line 615, ../scss/project/_tp.scss */
.lawyerRole .btn__wrp .text {
  color: #005BAC;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 76px;
  margin-bottom: 14px;
  text-align: center;
}
@media only screen and (max-width: 980px) {
  /* line 615, ../scss/project/_tp.scss */
  .lawyerRole .btn__wrp .text {
    margin-top: 5.333333333333334vw;
    margin-bottom: 2.666666666666667vw;
  }
}

/* line 631, ../scss/project/_tp.scss */
.accessRole .content {
  display: flex;
  gap: 60px;
  margin-top: 60px;
}
@media only screen and (max-width: 980px) {
  /* line 631, ../scss/project/_tp.scss */
  .accessRole .content {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 631, ../scss/project/_tp.scss */
  .accessRole .content {
    margin-top: 8vw;
    flex-wrap: wrap;
    gap: 8vw;
  }
}
/* line 644, ../scss/project/_tp.scss */
.accessRole .content .item {
  width: calc((100% - 60px) / 2);
}
@media only screen and (max-width: 980px) {
  /* line 644, ../scss/project/_tp.scss */
  .accessRole .content .item {
    width: 100%;
  }
}
/* line 651, ../scss/project/_tp.scss */
.accessRole .content .item iframe {
  height: 435px;
}
@media only screen and (max-width: 980px) {
  /* line 651, ../scss/project/_tp.scss */
  .accessRole .content .item iframe {
    height: 75.2vw;
  }
}
/* line 659, ../scss/project/_tp.scss */
.accessRole .content .item .text {
  margin-top: 20px;
}
@media only screen and (max-width: 980px) {
  /* line 659, ../scss/project/_tp.scss */
  .accessRole .content .item .text {
    margin-top: 2.666666666666667vw;
  }
}

/* line 670, ../scss/project/_tp.scss */
.contactRole {
  background: url(../assets/img/contact-bg.png) no-repeat center center/cover;
  height: 503px;
  text-align: center;
  padding-bottom: 0;
}
@media only screen and (max-width: 980px) {
  /* line 670, ../scss/project/_tp.scss */
  .contactRole {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 670, ../scss/project/_tp.scss */
  .contactRole {
    background: url(../assets/img/contact-bg-sp.png) no-repeat center center/cover;
    height: auto;
    padding-bottom: 13.333333333333334vw;
  }
}
/* line 684, ../scss/project/_tp.scss */
.contactRole .content {
  background-color: #fff;
  padding: 80px;
  max-width: 1110px;
  margin: 120px auto 0;
  position: relative;
}
@media only screen and (min-width: 981px) and (max-width: 1140px) {
  /* line 684, ../scss/project/_tp.scss */
  .contactRole .content {
    max-width: 980px;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 684, ../scss/project/_tp.scss */
  .contactRole .content {
    width: 90%;
  }
}
@media only screen and (max-width: 980px) {
  /* line 684, ../scss/project/_tp.scss */
  .contactRole .content {
    margin-top: 10.666666666666668vw;
    padding: 12.666666666666668vw 4vw 6.666666666666667vw;
  }
}
/* line 704, ../scss/project/_tp.scss */
.contactRole .content::before {
  content: "";
  position: absolute;
  background-color: #005BAC;
  width: 1px;
  height: 115px;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 980px) {
  /* line 704, ../scss/project/_tp.scss */
  .contactRole .content::before {
    width: 0.13333333333333333vw;
    top: -6.666666666666667vw;
    height: 13.333333333333334vw;
  }
}
/* line 721, ../scss/project/_tp.scss */
.contactRole .content .text {
  color: #005BAC;
  font-size: 24px;
  font-weight: 700;
  line-height: 2em;
  margin-bottom: 60px;
  text-align: center;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 721, ../scss/project/_tp.scss */
  .contactRole .content .text {
    font-size: 1.953125vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 721, ../scss/project/_tp.scss */
  .contactRole .content .text {
    font-size: 3.8vw;
    line-height: 2em;
    margin-bottom: 4vw;
  }
}
/* line 739, ../scss/project/_tp.scss */
.contactRole .content .contact__wrp {
  display: flex;
  gap: 60px;
  justify-content: center;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 739, ../scss/project/_tp.scss */
  .contactRole .content .contact__wrp {
    gap: 3.90625vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 739, ../scss/project/_tp.scss */
  .contactRole .content .contact__wrp {
    gap: 4vw;
    flex-wrap: wrap;
  }
}
/* line 753, ../scss/project/_tp.scss */
.contactRole .content .btn {
  margin: 0;
  width: 404px;
  height: 90px;
  line-height: 88px;
  border-radius: 0;
}
@media only screen and (max-width: 980px) {
  /* line 753, ../scss/project/_tp.scss */
  .contactRole .content .btn {
    width: 90%;
    height: 12vw;
    line-height: 12vw;
  }
}
/* line 766, ../scss/project/_tp.scss */
.contactRole .content .btn.telBtn {
  border: none;
  font-size: 42px;
}
@media only screen and (min-width: 981px) and (max-width: 1024px) {
  /* line 766, ../scss/project/_tp.scss */
  .contactRole .content .btn.telBtn {
    font-size: 3.515625vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 766, ../scss/project/_tp.scss */
  .contactRole .content .btn.telBtn {
    font-size: 6.133333333333333vw;
  }
}
/* line 778, ../scss/project/_tp.scss */
.contactRole .content .btn.telBtn .ico {
  font-size: 30px;
}
@media only screen and (max-width: 980px) {
  /* line 778, ../scss/project/_tp.scss */
  .contactRole .content .btn.telBtn .ico {
    font-size: 4vw;
  }
}
/* line 787, ../scss/project/_tp.scss */
.contactRole .content .btn.mailBtn {
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media only screen and (max-width: 980px) {
  /* line 787, ../scss/project/_tp.scss */
  .contactRole .content .btn.mailBtn {
    font-size: 4vw;
  }
}

/* line 5, ../scss/project/_page.scss */
.page .p-serRole {
  max-width: 1280px;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media only screen and (min-width: 981px) and (max-width: 1400px) {
  /* line 5, ../scss/project/_page.scss */
  .page .p-serRole {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media only screen and (max-width: 980px) {
  /* line 5, ../scss/project/_page.scss */
  .page .p-serRole {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
@media only screen and (max-width: 980px) {
  /* line 5, ../scss/project/_page.scss */
  .page .p-serRole {
    padding-top: 13.333333333333334vw;
    padding-bottom: 13.333333333333334vw;
  }
}
/* line 23, ../scss/project/_page.scss */
.page .p-serRole .sec__hd {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 40px;
  padding-bottom: 8px;
  position: relative;
  border-bottom: 3px solid #042141;
}
@media only screen and (max-width: 980px) {
  /* line 23, ../scss/project/_page.scss */
  .page .p-serRole .sec__hd {
    font-size: 6vw;
    margin-bottom: 4vw;
    border-bottom: .8vw solid #042141;
    padding-bottom: 2.1333333333333333vw;
  }
}
/* line 40, ../scss/project/_page.scss */
.page .p-serRole .text {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 24px;
}
@media only screen and (max-width: 980px) {
  /* line 40, ../scss/project/_page.scss */
  .page .p-serRole .text {
    font-size: 3.2vw;
    margin-bottom: 3.2vw;
  }
}
/* line 49, ../scss/project/_page.scss */
.page .p-serRole .note {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 980px) {
  /* line 49, ../scss/project/_page.scss */
  .page .p-serRole .note {
    font-size: 2.666666666666667vw;
  }
}
/* line 57, ../scss/project/_page.scss */
.page .p-serRole .list {
  margin-top: 80px;
}
@media only screen and (max-width: 980px) {
  /* line 57, ../scss/project/_page.scss */
  .page .p-serRole .list {
    margin-top: 10.666666666666668vw;
  }
}
/* line 63, ../scss/project/_page.scss */
.page .p-serRole .list .item {
  margin-bottom: 60px;
}
@media only screen and (max-width: 980px) {
  /* line 63, ../scss/project/_page.scss */
  .page .p-serRole .list .item {
    margin-bottom: 8vw;
  }
}
/* line 70, ../scss/project/_page.scss */
.page .p-serRole .list .item:last-child {
  margin-bottom: 0;
}
/* line 73, ../scss/project/_page.scss */
.page .p-serRole .list .item section {
  margin-top: 30px;
}
/* line 76, ../scss/project/_page.scss */
.page .p-serRole .list .item section h4 {
  margin-bottom: 5px;
  font-size: 1.3rem;
}
/* line 81, ../scss/project/_page.scss */
.page .p-serRole .list .item .ttl {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
  line-height: 1.5em;
}
@media only screen and (max-width: 980px) {
  /* line 81, ../scss/project/_page.scss */
  .page .p-serRole .list .item .ttl {
    font-size: 5.333333333333334vw;
    margin-bottom: 2.933333333333333vw;
  }
}
/* line 96, ../scss/project/_page.scss */
.page .p-serRole .list .item .text {
  line-height: 2.5em;
  margin-bottom: 0;
}
/* line 100, ../scss/project/_page.scss */
.page .p-serRole .list .item a {
  text-decoration: underline;
}
