@charset "utf-8";

/* ==========================================================================
  common
  ========================================================================== */
.sectionTtl {
  font-weight: 100;
  line-height: 1;
}
.sectionTtl span {
  margin-bottom: 5px;
  color: #ff456a;
  font-family: "Advent Pro", sans-serif;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.boxSubTtl {
  margin: 0;
  border-left: 3px solid #00b7e7;
  font-weight: 500;
  letter-spacing: 0.12rem;
  line-height: 1;
}
.hr {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  border-bottom: 1px solid #b3b3b3;
}

@media screen and (max-width: 767px) {
  .sectionTtl {
    font-size: 2.3rem;
  }
  .sectionTtl span {
    display: block;
    font-size: 1.5rem;
  }
  .boxSubTtl {
    padding-left: 7px;
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px) {
  .sectionTtl {
    font-size: 3.6rem;
  }
  .sectionTtl span {
    display: inline-block;
    margin-right: 20px;
    font-size: 2rem;
    line-height: 40px;
    vertical-align: top;
  }
  .boxSubTtl {
    padding-left: 10px;
    font-size: 1.8rem;
  }
}

/* ==========================================================================
  policy
  ========================================================================== */
.policy {
}
.policy .container {
}
.policy .sectionTtl {
}
.policy .sectionSubTtl {
  font-weight: 500;
  letter-spacing: 0.05em;
}
.policy .column {
}
.policy .columnItem {
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .policy {
    margin-bottom: 30px;
    padding-bottom: 35px;
    border-bottom: 1px solid #b3b3b3;
  }
  .policy .container {
  }
  .policy .sectionTtl {
    margin: 0 0 25px;
  }
  .policy .sectionSubTtl {
    margin: 0 0 10px;
    font-size: 1.9rem;
  }
  .policy .column {
  }
  .policy .columnItem {
    margin-bottom: 25px;
    font-size: 1.3rem;
    line-height: 1.6;
  }
  .policy .columnItem:last-child {
    margin-bottom: 0;
  }
  .policy .messages {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
}

@media screen and (min-width: 768px) {
  .policy {
    margin-bottom: 160px;
  }
  .policy .container {
  }
  .policy .sectionTtl {
    margin: 0 0 50px;
  }
  .policy .messages {
    display: flex;
    flex-direction: column;
    gap: 120px;
  }
  .policy .sectionSubTtl {
    margin: 0 0 50px;
    font-size: 2.8rem;
  }
  .policy .column {
  }
  .policy .columnItem {
    margin: 0;
    font-size: 1.5rem;
    line-height: 2;
  }
  .policy .columnItem:nth-child(odd) {
    padding-right: 20px;
  }
  .policy .columnItem:nth-child(even) {
    padding-left: 20px;
  }
}

/* ==========================================================================
  cherish
  ========================================================================== */
.cherish {
}
.cherish .container {
}
.cherish .sectionTtl {
}
.cherish .column {
}
.cherish .columnItem {
}
.cherish .imgArea {
}
.cherish .imgArea img {
  width: 100%;
  height: auto;
}
.cherish .txtArea {
}
.cherish .txtArea h4 {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.cherish .txtArea p {
  margin: 0;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .cherish {
    margin-bottom: 30px;
    padding-bottom: 35px;
    border-bottom: 1px solid #b3b3b3;
  }
  .cherish .container {
  }
  .cherish .sectionTtl {
    margin: 0 0 35px;
  }
  .cherish .column {
  }
  .cherish .columnItem {
    margin-bottom: 40px;
  }
  .cherish .columnItem:last-child {
    margin-bottom: 0;
  }
  .cherish .imgArea {
    margin-bottom: 30px;
  }
  .cherish .imgArea img {
  }
  .cherish .txtArea {
  }
  .cherish .txtArea h4 {
    margin: 0 0 10px;
    font-size: 1.9rem;
  }
  .cherish .txtArea p {
    font-size: 1.3rem;
  }
}

@media screen and (min-width: 768px) {
  .cherish {
    margin-bottom: 100px;
  }
  .cherish .container {
    max-width: none;
    margin: 0;
    padding: 0;
  }
  .cherish .sectionTtl {
    max-width: 1120px;
    margin: 0 auto 55px;
    padding: 0 20px;
  }
  .cherish .column {
    margin-bottom: 115px;
  }
  .cherish .columnItem {
  }
  .cherish .imgArea {
    margin-bottom: 55px;
  }
  .cherish .imgArea img {
  }
  .cherish .txtArea {
    padding: 0 16.82%;
    border-left: 1px solid #b3b3b3;
  }
  .cherish .columnItem:first-child .txtArea {
    border-left: none;
  }
  .cherish .txtArea h4 {
    margin: 0 0 15px;
    font-size: 2rem;
  }
  .cherish .txtArea p {
    font-size: 1.5rem;
  }
}

/* ==========================================================================
  flow
  ========================================================================== */
.flow {
}
.flow .container {
}
.flow .sectionTtl {
}
.flow .flowList {
  padding: 0;
  list-style: none;
}
.flow .flowList li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.flow .flowList li:first-child::before,
.flow .flowList li:nth-child(2)::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228px%22%20height%3D%2240px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(35%2C%2040%2C%2050)%22%20d%3D%22M15.262%2C38.542%20L26.596%2C27.198%20C27.288%2C26.505%2027.289%2C25.383%2026.596%2C24.691%20C25.904%2C23.997%2024.783%2C23.997%2024.091%2C24.691%20L15.780%2C33.010%20L15.780%2C2.713%20C15.780%2C1.731%2014.987%2C0.938%2014.010%2C0.936%20C13.032%2C0.939%2012.239%2C1.733%2012.239%2C2.713%20L12.238%2C33.008%20L3.928%2C24.691%20C3.236%2C23.998%202.115%2C24.000%201.423%2C24.691%20C1.078%2C25.039%200.905%2C25.490%200.904%2C25.944%20C0.906%2C26.399%201.078%2C26.850%201.424%2C27.198%20L12.757%2C38.543%20C13.449%2C39.234%2014.569%2C39.234%2015.262%2C38.542%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: contain;
}
.flow .flowList li:nth-child(2) {
}
.flow .flowList li:nth-child(2)::before {
}
.flow .flowList li:last-child {
  margin-bottom: 0;
}
.flow .flowList .ico {
  background: #fcff00;
  border-radius: 50%;
  font-family: "Advent Pro", sans-serif;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
}
.flow .flowList .txtArea {
  box-sizing: border-box;
}
.flow .flowList .txtArea h4 {
  font-weight: 500;
  letter-spacing: 0.05em;
}
.flow .flowList .txtArea p {
  margin: 0;
  letter-spacing: 0.05em;
}
.flow .borderBox {
  border: 3px solid #b3b3b3;
}
.flow .borderBox .boxTtl {
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.05em;
}
.flow .borderBox .block {
  border-bottom: 1px solid #b3b3b3;
}
.flow .borderBox .block:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}
.flow .borderBox .block p {
  margin: 0;
  letter-spacing: 0.05em;
}
.flow .borderBox .columnItem {
}
.flow .borderBox .linkArea {
}
.flow .borderBox .linkArea .btnLink {
}
.flow .borderBox .linkArea .downloadList {
}
.flow .borderBox .linkArea .downloadList dt {
  font-weight: 500;
}
.flow .borderBox .linkArea .downloadList dd {
}
.flow .borderBox .linkArea .downloadList dd a {
  position: relative;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216px%22%20height%3D%2211px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%2069%2C%20106)%22%20d%3D%22M15.782%2C4.974%20L11.021%2C0.218%20C10.730%2C-0.073%2010.259%2C-0.073%209.968%2C0.218%20C9.677%2C0.508%209.677%2C0.978%209.968%2C1.269%20L13.458%2C4.757%20L0.743%2C4.757%20C0.333%2C4.757%200.000%2C5.089%200.000%2C5.500%20C0.000%2C5.910%200.333%2C6.244%200.743%2C6.244%20L13.458%2C6.244%20L9.968%2C9.731%20C9.677%2C10.021%209.677%2C10.492%209.968%2C10.782%20C10.113%2C10.927%2010.305%2C11.001%2010.495%2C11.001%20C10.685%2C11.001%2010.875%2C10.927%2011.021%2C10.782%20L15.782%2C6.025%20C16.072%2C5.735%2016.072%2C5.265%2015.782%2C4.974%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: left center;
}
.flow .borderBox .linkArea .downloadList dd a::after {
  position: absolute;
  right: 0;
  top: 50%;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212px%22%20height%3D%2212px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%2069%2C%20106)%22%20d%3D%22M10.999%2C12.000%20L7.000%2C12.000%20L7.000%2C11.000%20L10.999%2C11.000%20L10.999%2C0.999%20L0.999%2C0.999%20L0.999%2C5.001%20L0.000%2C5.001%20L0.000%2C0.999%20L0.000%2C-0.001%20L0.999%2C-0.001%20L10.999%2C-0.001%20L12.001%2C-0.001%20L12.001%2C0.999%20L12.001%2C11.000%20L12.001%2C12.000%20L10.999%2C12.000%20ZM0.999%2C8.000%20L0.999%2C7.001%20L4.000%2C7.001%20L5.000%2C7.001%20L5.000%2C8.000%20L5.000%2C11.000%20L4.000%2C11.000%20L4.000%2C8.724%20L1.120%2C11.605%20L0.412%2C10.898%20L3.309%2C8.000%20L0.999%2C8.000%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  transform: translateY(-50%);
}
.flow .costSection .row {
  display: flex;
}
.flow .costTextBox {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.flow .costSection h4:not(.boxSubTtl) {
  padding: 20px 35px;
  margin: 0;
  font-size: 1.7rem;
  font-weight: 500;
  background-color: #f3f3f3;
  border-radius: 6px;
}
.flow .costSection p {
  margin: 0;
  line-height: 1.8;
}
.flow .costTable {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
.flow .costTable tr.beforeBorder th,
.flow .costTable tr.beforeBorder td {
  border-bottom: 1px solid #000000;
}
.flow .costTable tr.border th,
.flow .costTable tr.border td {
  border-top: 1px solid #000000;
}
.flow .costTable thead th {
  text-align: center;
  padding: 20px 10px;
}
.flow .costTable th,
.flow .costTable td {
  font-weight: normal;
  border-top: 1px solid #b3b3b3;
  border-bottom: 1px solid #b3b3b3;
  box-sizing: border-box;
}
.flow .costTable .bold {
  font-weight: bold;
}
.flow .costTable th {
  text-align: left;
  background-color: #f3f3f3;
}
.flow .costTable td {
  text-align: right;
}
.flow .costTable td.border {
  border-right: 1px solid #000000;
}
.flow .costTable td.border + td {
  border-left: 1px solid #000000;
}
.flow .costTable td + td {
  border-left: 1px solid #f3f3f3;
}
.flow .costChildSections {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.flow .costChildSection {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.flow .borderBox .costChildSection .boxSubTtl {
  margin: 0 0 0;
}
.flow .blankLink {
  color: #ff456a;
  text-decoration: underline;
}
.flow .blankLink::after {
  content: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212px%22%20height%3D%2212px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%2069%2C%20106)%22%20d%3D%22M10.999%2C12.000%20L7.000%2C12.000%20L7.000%2C11.000%20L10.999%2C11.000%20L10.999%2C0.999%20L0.999%2C0.999%20L0.999%2C5.001%20L0.000%2C5.001%20L0.000%2C0.999%20L0.000%2C-0.001%20L0.999%2C-0.001%20L10.999%2C-0.001%20L12.001%2C-0.001%20L12.001%2C0.999%20L12.001%2C11.000%20L12.001%2C12.000%20L10.999%2C12.000%20ZM0.999%2C8.000%20L0.999%2C7.001%20L4.000%2C7.001%20L5.000%2C7.001%20L5.000%2C8.000%20L5.000%2C11.000%20L4.000%2C11.000%20L4.000%2C8.724%20L1.120%2C11.605%20L0.412%2C10.898%20L3.309%2C8.000%20L0.999%2C8.000%20Z%22%2F%3E%3C%2Fsvg%3E");
  margin: 0 4px;
}

@media screen and (max-width: 767px) {
  .flow {
    margin-bottom: 30px;
    padding-bottom: 45px;
    border-bottom: 1px solid #b3b3b3;
    overflow: hidden;
  }
  .flow .container {
  }
  .flow .sectionTtl {
    margin: 0 0 35px;
  }
  .flow .flowList {
    margin: 0 0 45px;
  }
  .flow .flowList li {
    margin-bottom: 35px;
    align-items: flex-start;
  }
  .flow .flowList li:first-child::before,
  .flow .flowList li:nth-child(2)::before {
    left: 25px;
    top: 60%;
    width: 13px;
    height: 25px;
  }
  .flow .flowList li:nth-child(2) {
  }
  .flow .flowList li:nth-child(2)::before {
  }
  .flow .flowList .ico {
    width: 60px;
    height: 60px;
    font-size: 2.1rem;
    line-height: 60px;
  }
  .flow .flowList .ico::before {
  }
  .flow .flowList .txtArea {
    width: calc(100% - 60px);
    padding-left: 20px;
  }
  .flow .flowList .txtArea h4 {
    margin: 0 0 10px;
    font-size: 1.9rem;
  }
  .flow .flowList .txtArea .btnLink {
    margin-top: 16px;
    max-width: 195px;
  }
  .flow .flowList .txtArea p {
    font-size: 1.3rem;
  }
  .flow .borderBox {
    border: none;
  }
  .flow .borderBox .boxTtl {
    margin: 0 0 30px;
    padding-bottom: 20px;
    font-size: 2rem;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #b3b3b3;
  }
  .flow .borderBox .block {
    margin-bottom: 25px;
    padding-bottom: 20px;
  }
  .flow .borderBox .block p {
    font-size: 1.3rem;
  }
  .flow .borderBox .columnItem + .columnItem {
    margin-top: 20px;
  }
  .flow .borderBox .columnItem p + p {
    margin-top: 20px;
  }
  .flow .borderBox .linkArea {
    margin-top: 25px;
  }
  .flow .borderBox .linkArea .btnLink {
    width: 76.78%;
    margin: 0 auto;
  }
  .flow .borderBox .linkArea .downloadList {
    margin: 25px 0 0;
  }
  .flow .borderBox .linkArea .downloadList dt {
    margin-bottom: 10px;
    font-size: 1.3rem;
    letter-spacing: 0.05em;
  }
  .flow .borderBox .linkArea .downloadList dd {
    margin: 0;
  }
  .flow .borderBox .linkArea .downloadList dd:last-child a {
    border-bottom: 1px solid #b3b3b3;
  }
  .flow .borderBox .linkArea .downloadList dd a {
    display: block;
    padding: 15px 20px;
    border-top: 1px solid #b3b3b3;
    font-size: 1.3rem;
  }
  .flow .borderBox .linkArea .downloadList dd a::after {
    width: 9px;
    height: 9px;
  }
  .flow .costSections {
    display: flex;
    flex-direction: column;
    gap: 50px;
  }
  .flow .costSection {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  .flow .costSection .row {
    flex-direction: column;
    gap: 20px;
  }
  .flow .costSection h4:not(.boxSubTtl) {
    padding: 15px;
    font-size: 1.4rem;
    border-radius: 3px;
  }
  .flow .costTableWrapper {
    overflow: hidden;
    overflow-x: scroll;
  }
  .flow .costTable {
    margin-bottom: 10px;
  }
  .flow .costTable th,
  .flow .costTable td {
    padding: 7px 15px;
    font-size: 1.3rem;
  }
  .flow .costTextBox {
    gap: 8px;
  }
  .flow .costSection p {
    font-size: 1.25rem;
  }
  .flow .costTable tbody th {
    min-width: 130px;
  }
  .flow .costTable tbody td {
    min-width: 100px;
  }
  .flow .costTable thead th {
    padding: 7px;
  }
  .flow .scroll-hint-icon-wrap .scroll-hint-icon {
    top: 50%;
    transform: translateY(-50%);
  }
  .flow .costChildSections {
    gap: 40px;
  }
}

@media screen and (min-width: 768px) {
  .flow {
    margin-bottom: 80px;
  }
  .flow .container {
  }
  .flow .sectionTtl {
    margin: 0 0 90px;
  }
  .flow .flowList {
    margin: 0 0 120px;
  }
  .flow .flowList li {
    margin-bottom: 70px;
    align-items: center;
  }
  .flow .flowList li:first-child::before,
  .flow .flowList li:nth-child(2)::before {
    width: 26px;
    height: 38px;
  }
  .flow .flowList li:first-child::before {
    left: 145px;
    bottom: -55px;
    transform: rotate(-45deg);
  }
  .flow .flowList li:nth-child(2) {
    margin-left: 160px;
  }
  .flow .flowList li:nth-child(2)::before {
    left: -13px;
    bottom: -55px;
    transform: rotate(45deg);
  }
  .flow .flowList .ico {
    width: 160px;
    height: 160px;
    font-size: 4.5rem;
    line-height: 160px;
  }
  .flow .flowList .txtArea {
    width: calc(100% - 160px);
    padding-left: 75px;
  }
  .flow .flowList .txtArea h4 {
    margin: 0 0 15px;
    font-size: 2rem;
  }
  .flow .flowList .txtArea .flex {
    display: flex;
    align-items: flex-start;
    gap: 60px;
  }
  .flow .flowList .txtArea .btnLink {
    width: 232px;
    flex-shrink: 0;
  }
  .flow .flowList .txtArea p {
    font-size: 1.5rem;
  }
  .flow .borderBox {
    margin-bottom: 130px;
    padding: 5.8% 7.14% 4.01%;
  }
  .flow .borderBox .boxTtl {
    margin: 0 0 55px;
    padding-bottom: 35px;
    font-size: 3rem;
    letter-spacing: 0.05em;
  }
  .flow .borderBox .block {
    margin-bottom: 50px;
    padding-bottom: 50px;
  }
  .flow .borderBox .block p {
    font-size: 1.5rem;
  }
  .flow .borderBox .columnItem:nth-child(odd) {
    padding-right: 50px;
  }
  .flow .borderBox .columnItem:nth-child(even) {
    padding-left: 50px;
  }
  .flow .borderBox .columnItem p + p {
    margin-top: 25px;
  }
  .flow .borderBox .linkArea {
    display: flex;
    align-items: flex-start;
  }
  .flow .borderBox .linkArea .btnLink {
    width: 260px;
  }
  .flow .borderBox .linkArea .downloadList {
    margin: 0 0 0 30px;
  }
  .flow .borderBox .linkArea .downloadList dt {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .flow .borderBox .linkArea .downloadList dd {
    margin: 10px 0 0;
  }
  .flow .borderBox .linkArea .downloadList dd a {
    padding: 0 20px 0 25px;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    transition: all 0.2s ease-out;
  }
  .flow .borderBox .linkArea .downloadList dd a::after {
    width: 12px;
    height: 12px;
  }
  .flow .borderBox .linkArea .downloadList dd a:hover {
    background-position: 5px center;
    color: #ff456a;
    transition: all 0.2s ease-out;
  }
  .flow .costSections {
    display: flex;
    flex-direction: column;
    gap: 100px;
  }
  .flow .costSection {
    display: flex;
    flex-direction: column;
    gap: 30px;
    font-size: 1.5rem;
    letter-spacing: 0.06rem;
  }
  .flow .costSection .row {
    gap: 80px;
  }
  .flow .constTableBox {
    width: 55%;
  }
  .flow .costTable th,
  .flow .costTable td {
    padding: 20px 24px;
  }
}

/* ==========================================================================
  staff
  ========================================================================== */
.staff {
}
.staff .container {
}
.staff .sectionTtl {
}
.staff .representArea {
}
.staff .representArea .imgArea {
}
.staff .representArea .imgArea img {
  width: 100%;
  height: auto;
}
.staff .representArea .txtArea {
}
.staff .representArea .txtArea *:last-child {
  margin-bottom: 0;
}
.staff .representArea .txtArea h4 {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
.staff .representArea .txtArea h4 .position {
  display: block;
  font-weight: 400;
}
.staff .representArea .txtArea h4 .phonetic {
  display: block;
  color: #ff456a;
  font-family: "Advent Pro", sans-serif;
  font-weight: 600;
}
.staff .representArea .txtArea p {
  letter-spacing: 0.05em;
}
.staff .representArea .txtArea h5 {
  border-left: 3px solid #00b7e7;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
.staff .staffList {
  display: flex;
  flex-wrap: wrap;
}
.staff .staffItem {
}
.staff .staffItem .arrow {
  display: block;
  margin: 0 auto;
}
.staff .staffItem .imgArea {
}
.staff .staffItem .imgArea img {
  width: 100%;
  height: auto;
}
.staff .staffItem .txtArea {
  text-align: center;
  margin-bottom: 14px;
}
.staff .staffItem .txtArea h4 {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
.staff .staffItem .txtArea h4 .position {
  display: block;
}
.staff .staffItem .txtArea h4 .phonetic {
  display: block;
  color: #ff456a;
  font-family: "Advent Pro", sans-serif;
  font-weight: 600;
}
.staff .staffItem .txtArea-image img {
  width: 100%;
  margin-bottom: 14px;
}
.staff .staffItem .txtArea p {
  margin: 0;
}
.staff .note {
}
.staff .guideline {
  border: 1px solid #b3b3b3;
}
.staff .guideline a {
  position: relative;
  display: inline-block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216px%22%20height%3D%2211px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%2069%2C%20106)%22%20d%3D%22M15.782%2C4.974%20L11.021%2C0.218%20C10.730%2C-0.073%2010.259%2C-0.073%209.968%2C0.218%20C9.677%2C0.508%209.677%2C0.978%209.968%2C1.269%20L13.458%2C4.757%20L0.743%2C4.757%20C0.333%2C4.757%200.000%2C5.089%200.000%2C5.500%20C0.000%2C5.910%200.333%2C6.244%200.743%2C6.244%20L13.458%2C6.244%20L9.968%2C9.731%20C9.677%2C10.021%209.677%2C10.492%209.968%2C10.782%20C10.113%2C10.927%2010.305%2C11.001%2010.495%2C11.001%20C10.685%2C11.001%2010.875%2C10.927%2011.021%2C10.782%20L15.782%2C6.025%20C16.072%2C5.735%2016.072%2C5.265%2015.782%2C4.974%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-position: left center;
  background-repeat: no-repeat;
}
.staff .guideline a::after {
  position: absolute;
  right: 0;
  top: 50%;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212px%22%20height%3D%2212px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%2069%2C%20106)%22%20d%3D%22M10.999%2C12.000%20L7.000%2C12.000%20L7.000%2C11.000%20L10.999%2C11.000%20L10.999%2C0.999%20L0.999%2C0.999%20L0.999%2C5.001%20L0.000%2C5.001%20L0.000%2C0.999%20L0.000%2C-0.001%20L0.999%2C-0.001%20L10.999%2C-0.001%20L12.001%2C-0.001%20L12.001%2C0.999%20L12.001%2C11.000%20L12.001%2C12.000%20L10.999%2C12.000%20ZM0.999%2C8.000%20L0.999%2C7.001%20L4.000%2C7.001%20L5.000%2C7.001%20L5.000%2C8.000%20L5.000%2C11.000%20L4.000%2C11.000%20L4.000%2C8.724%20L1.120%2C11.605%20L0.412%2C10.898%20L3.309%2C8.000%20L0.999%2C8.000%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  transform: translateY(-50%);
}
.staff .borderBox {
  border: 3px solid #b3b3b3;
}
.staff .borderBox .boxTtl {
  border-bottom: 1px solid #b3b3b3;
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.05em;
}
.staff .borderBox .detail {
}
.staff .borderBox .imgArea {
}
.staff .borderBox .imgArea img {
}
.staff .borderBox .txtArea {
}
.staff .borderBox .txtArea h4 {
  font-weight: 500;
}
.staff .borderBox .txtArea .txt {
  letter-spacing: 0.05em;
}
.staff .borderBox .txtArea .btnLink {
}
.staff .borderBox .txtArea .price {
  margin: 0;
}
.staff .borderBox .txtArea .price span {
}
.staff .modalContent .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.staff .modalImage {
  width: 150px;
  margin-bottom: 25px;
}
.staff .modalContent .txtArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.staff .modalContent .name {
  width: 100%;
  margin: 0 0 30px;
  padding-bottom: 16px;
  font-size: 2.3rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
  border-bottom: 2px solid #ff456a;
}
.staff .modalContent .name img {
  width: 120px;
}
.staff .modalContent .name .position {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.4;
}
.staff .modalContent .name .phonetic {
  display: block;
  font-size: 1.2rem;
  color: #ff456a;
  font-family: "Advent Pro", sans-serif;
  font-weight: 600;
  line-height: 1.4;
}
.staff .advisor {
  margin-bottom: 130px;
}
.staff .advisor .boxSubTtl {
  margin-bottom: 30px;
}
.staff .advisor ul {
  display: flex;
  flex-direction: column;
  gap: 30px;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 1.5rem;
}
.staff .advisor .name {
  margin: 0 0 14px;
  font-weight: 500;
}
.staff .advisor .title {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .staff {
    margin-bottom: 30px;
    padding-bottom: 45px;
    border-bottom: 1px solid #b3b3b3;
  }
  .staff .container {
  }
  .staff .sectionTtl {
    margin: 0 0 35px;
  }
  .staff .representArea {
    margin-bottom: 30px;
  }
  .staff .representArea .imgArea {
    margin-bottom: 30px;
  }
  .staff .representArea .imgArea img {
  }
  .staff .representArea .txtArea {
  }
  .staff .representArea .txtArea h4 {
    margin: 0 0 15px;
    font-size: 2rem;
  }
  .staff .representArea .txtArea h4 .position {
    margin-bottom: 12px;
    font-size: 1.3rem;
  }
  .staff .representArea .txtArea h4 .phonetic {
    margin-top: 10px;
    font-size: 1rem;
  }
  .staff .representArea .txtArea p {
    margin: 0 0 20px;
    font-size: 1.3rem;
  }
  .staff .representArea .txtArea h5 {
    margin: 0 0 15px;
    padding-left: 7px;
    font-size: 1.5rem;
  }
  .staff .staffList {
    margin-bottom: 30px;
    justify-content: space-between;
  }
  .staff .staffItem {
    width: 45%;
    margin-top: 20px;
  }
  .staff .staffItem .arrow {
    width: 22px;
  }
  .staff .staffItem:nth-of-type(-n + 2) {
    margin-top: 0;
  }
  .staff .staffItem .imgArea {
    margin-bottom: 10px;
  }
  .staff .staffItem .imgArea img {
  }
  .staff .staffItem .txtArea {
    margin-bottom: 8px;
  }
  .staff .staffItem .txtArea h4 {
    margin: 0 0 10px;
    font-size: 2rem;
  }
  .staff .staffItem .txtArea h4 .position {
    margin-bottom: 10px;
    font-size: 1.3rem;
  }
  .staff .staffItem .txtArea h4 .phonetic {
    margin-top: 5px;
    font-size: 1rem;
  }
  .staff .staffItem .txtArea p {
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
  .staff .note {
    margin-bottom: 30px;
    font-size: 1.1rem;
  }
  .staff .guideline {
    margin-bottom: 40px;
    padding: 20px;
    border-radius: 4px;
  }
  .staff .guideline a {
    padding: 0 18px;
    background-size: 14px 10px;
  }
  .staff .guideline a::after {
    width: 9px;
    height: 9px;
  }
  .staff .borderBox {
    padding: 8.92% 5.35% 10.7%;
  }
  .staff .borderBox .boxTtl {
    margin: 0 0 25px;
    padding-bottom: 20px;
    font-size: 2rem;
  }
  .staff .borderBox .detail {
    margin-bottom: 25px;
    padding-bottom: 30px;
    border-bottom: 1px solid #b3b3b3;
  }
  .staff .borderBox .detail:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .staff .borderBox .imgArea {
    width: 50%;
    margin: 0 auto 25px;
  }
  .staff .borderBox .imgArea img {
    width: 100%;
    height: auto;
  }
  .staff .borderBox .txtArea {
  }
  .staff .borderBox .txtArea h4 {
    margin: 0 0 10px;
    font-size: 1.9rem;
    letter-spacing: 0.05em;
    line-height: 1.31;
  }
  .staff .borderBox .txtArea .txt {
    margin: 0 0 20px;
    font-size: 1.3rem;
  }
  .staff .borderBox .txtArea .btnLink {
    width: 62.5%;
    margin: 0 auto 5px;
  }
  .staff .borderBox .txtArea .price {
    font-size: 1.3rem;
    text-align: center;
    letter-spacing: 0.05em;
  }
  .staff .borderBox .txtArea .price span {
    margin-right: 15px;
  }
  .staff .modalImage {
    width: 100px;
    height: 100px;
    margin-bottom: 15px;
  }
  .staff .modalContent .name {
    padding-bottom: 10px;
    margin: 0 0 25px;
    font-size: 2rem;
    border-width: 1px;
  }
  .staff .modalContent .name .position {
    font-size: 1.2rem;
  }
  .staff .modalContent .name .phonetic {
    font-size: 1rem;
  }
  .staff .modalContent .name img {
    width: 98px;
  }
  .staff .advisor {
    margin-bottom: 0;
  }
  .staff .advisor .boxSubTtl {
    margin-bottom: 20px;
  }
  .staff .advisor ul {
    gap: 14px;
    font-size: 1.25rem;
  }
  .staff .advisor .name {
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 768px) {
  .staff {
    margin-bottom: 80px;
  }
  .staff .container {
  }
  .staff .sectionTtl {
    margin: 0 0 70px;
  }
  .staff .representArea {
    margin-bottom: 90px;
  }
  .staff .representArea .imgArea {
    margin-top: 140px;
    order: 1;
  }
  .staff .representArea .imgArea img {
  }
  .staff .representArea .txtArea {
    padding-right: 5.35%;
    order: 0;
  }
  .staff .representArea .txtArea h4 {
    margin: 0 0 50px;
    font-size: 2.8rem;
  }
  .staff .representArea .txtArea h4 .position {
    margin-bottom: 25px;
    font-size: 1.5rem;
  }
  .staff .representArea .txtArea h4 .phonetic {
    margin-top: 10px;
    font-size: 1.2rem;
  }
  .staff .representArea .txtArea p {
    margin: 0 0 30px;
    font-size: 1.5rem;
  }
  .staff .representArea .txtArea h5 {
    margin: 0 0 15px;
    padding-left: 10px;
    font-size: 1.8rem;
  }
  .staff .staffList {
    margin-bottom: 60px;
  }
  .staff .staffItem {
    width: 20%;
    margin: 85px 6.66% 0 0;
  }
  .staff .staffItem:nth-of-type(4n) {
    margin-right: 0;
  }
  .staff .staffItem:nth-of-type(-n + 4) {
    margin-top: 0;
  }
  .staff .staffItem .imgArea {
    margin-bottom: 25px;
  }
  .staff .staffItem .imgArea img {
  }
  .staff .staffItem .txtArea {
  }
  .staff .staffItem .txtArea h4 {
    margin: 0 0 15px;
    font-size: 2.4rem;
  }
  .staff .staffItem .txtArea h4 .position {
    margin-bottom: 15px;
    font-size: 1.5rem;
  }
  .staff .staffItem .txtArea h4 .phonetic {
    margin-top: 10px;
    font-size: 1.2rem;
  }
  .staff .staffItem .txtArea p {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .staff .note {
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
  .staff .guideline {
    margin-bottom: 60px;
    padding: 20px 30px;
    border-radius: 5px;
  }
  .staff .guideline a {
    padding: 0 20px 0 30px;
    background-size: 16px 10px;
    transition: all 0.2s ease-out;
  }
  .staff .guideline a:hover {
    color: #ff456a;
    background-position: 5px center;
    transition: all 0.2s ease-out;
  }
  .staff .guideline a::after {
    width: 12px;
    height: 12px;
  }
  .staff .borderBox {
    margin-bottom: 145px;
    padding: 5.8% 7.14% 4.01%;
  }
  .staff .borderBox .boxTtl {
    margin: 0 0 55px;
    padding-bottom: 35px;
    font-size: 3rem;
  }
  .staff .borderBox .detail {
    display: flex;
    margin-bottom: 65px;
    padding-bottom: 35px;
    border-bottom: 1px solid #b3b3b3;
  }
  .staff .borderBox .detail:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .staff .borderBox .imgArea {
    width: 220px;
  }
  .staff .borderBox .imgArea img {
  }
  .staff .borderBox .txtArea {
    width: calc(100% - 220px);
    padding-left: 80px;
    box-sizing: border-box;
  }
  .staff .borderBox .txtArea h4 {
    margin: 0 0 15px;
    font-size: 2rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
  .staff .borderBox .txtArea .txt {
    margin: 0 0 30px;
    font-size: 1.5rem;
  }
  .staff .borderBox .txtArea .btnLink {
    width: 150px;
    margin-bottom: 15px;
  }
  .staff .borderBox .txtArea .price {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .staff .borderBox .txtArea .price span {
    margin-right: 20px;
  }
}

/* ==========================================================================
  access
  ========================================================================== */
.access {
}
.access .container {
}
.access .sectionTtl {
}
.access p {
  letter-spacing: 0.05em;
}
.access iframe {
  width: 100%;
}
.access dl {
}
.access dl:last-child {
  margin-bottom: 0;
}
.access dt {
  line-height: 1;
  letter-spacing: 0.05em;
}
.access dd {
  margin: 0;
}

@media screen and (max-width: 767px) {
  .access {
  }
  .access .container {
  }
  .access .sectionTtl {
    margin: 0 0 20px;
  }
  .access p {
    margin: 0 0 15px;
    font-size: 1.3rem;
  }
  .access iframe {
    height: 173px;
    margin-bottom: 25px;
  }
  .access dl {
    margin: 0 0 25px;
  }
  .access dt {
    margin-bottom: 15px;
    padding-left: 7px;
    border-left: 3px solid #00b7e7;
    font-size: 1.4rem;
  }
  .access dd {
    font-size: 1.3rem;
    letter-spacing: 0.05em;
  }
}

@media screen and (min-width: 768px) {
  .access {
  }
  .access .container {
  }
  .access .sectionTtl {
    margin: 0 0 30px;
  }
  .access p {
    margin: 0 0 30px;
    font-size: 1.5rem;
  }
  .access iframe {
    height: 346px;
    margin-bottom: 30px;
  }
  .access dl {
    margin: 0 0 30px;
  }
  .access dt {
    margin-bottom: 15px;
    padding-left: 13px;
    border-left: 5px solid #00b7e7;
    font-size: 1.8rem;
  }
  .access dd {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
}

/* ==========================================================================
  commuting
  ========================================================================== */
.commuting {
  margin-bottom: 80px;
}
.commuting .container {
  padding-bottom: 130px;
}
.commuting .column {
  flex-wrap: nowrap;
  gap: 80px;
}
.commuting h3 {
  margin-bottom: 80px;
}
.commuting h4 {
  margin-bottom: 20px;
}
.commuting p {
  margin: 0;
}

@media screen and (max-width: 767px) {
  .commuting {
    margin-bottom: 30px;
  }
  .commuting .container {
    padding-bottom: 45px;
  }
  .commuting .column {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }
  .commuting h3 {
    margin-bottom: 25px;
  }
  .commuting h4 {
    margin-bottom: 14px;
  }
  .commuting p {
    font-size: 1.25rem;
  }
}

/* ==========================================================================
  protect
  ========================================================================== */
.protect {
  margin-bottom: 80px;
}
.protect .sectionTtl {
  margin-bottom: 80px;
}
.protect .borderBox {
  border: 3px solid #b3b3b3;
}
.protect .borderBox .boxTtl {
  border-bottom: 1px solid #b3b3b3;
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.05em;
}
.protect .borderBox .detail {
}
.protect .borderBox .imgArea {
}
.protect .borderBox .imgArea img {
}
.protect .borderBox .txtArea {
}
.protect .borderBox .txtArea h4 {
  font-weight: 500;
}
.protect .borderBox .txtArea .txt {
  letter-spacing: 0.05em;
}
.protect .borderBox .txtArea .btnLink {
}
.protect .borderBox .txtArea .price {
  margin: 0;
}
.protect .borderBox .txtArea .price span {
}
.protect .column {
  margin-bottom: 130px;
}
.protect .column .columnItem {
  width: 50%;
}
.protect .column .img img {
  width: 100%;
}
.protect .column .text {
  display: flex;
  flex-direction: column;
  gap: 60px;
  padding-left: 60px;
}
.protect .column .text h4 {
  margin-bottom: 20px;
}
.protect .column .text p {
  font-size: 1.5rem;
  letter-spacing: 0.06rem;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .protect .borderBox {
    padding: 8.92% 5.35% 10.7%;
  }
  .protect .borderBox .boxTtl {
    margin: 0 0 25px;
    padding-bottom: 20px;
    font-size: 2rem;
  }
  .protect .borderBox .detail {
    margin-bottom: 25px;
    padding-bottom: 30px;
    border-bottom: 1px solid #b3b3b3;
  }
  .protect .borderBox .detail:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .protect .borderBox .imgArea {
    width: 50%;
    margin: 0 auto 25px;
  }
  .protect .borderBox .imgArea img {
    width: 100%;
    height: auto;
  }
  .protect .borderBox .txtArea {
  }
  .protect .borderBox .txtArea h4 {
    margin: 0 0 10px;
    font-size: 1.9rem;
    letter-spacing: 0.05em;
    line-height: 1.31;
  }
  .protect .borderBox .txtArea .txt {
    margin: 0 0 20px;
    font-size: 1.3rem;
  }
  .protect .borderBox .txtArea .btnLink {
    width: 62.5%;
    margin: 0 auto 5px;
  }
  .protect .borderBox .txtArea .price {
    font-size: 1.3rem;
    text-align: center;
    letter-spacing: 0.05em;
  }
  .protect .borderBox .txtArea .price span {
    margin-right: 15px;
  }
  .protect .sectionTtl {
    margin-bottom: 30px;
  }
  .protect .column {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 45px;
  }
  .protect .column .columnItem {
    width: 100%;
  }
  .protect .column .text {
    gap: 30px;
    padding: 0;
  }
  .protect .column .text h4 {
    margin-bottom: 12px;
  }
  .protect .column .text p {
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .protect .borderBox {
    margin-bottom: 130px;
    padding: 5.8% 7.14% 4.01%;
  }
  .protect .borderBox .boxTtl {
    margin: 0 0 55px;
    padding-bottom: 35px;
    font-size: 3rem;
  }
  .protect .borderBox .detail {
    display: flex;
    margin-bottom: 65px;
    padding-bottom: 35px;
    border-bottom: 1px solid #b3b3b3;
  }
  .protect .borderBox .detail:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .protect .borderBox .imgArea {
    width: 220px;
  }
  .protect .borderBox .imgArea img {
  }
  .protect .borderBox .txtArea {
    width: calc(100% - 220px);
    padding-left: 80px;
    box-sizing: border-box;
  }
  .protect .borderBox .txtArea h4 {
    margin: 0 0 15px;
    font-size: 2rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
  .protect .borderBox .txtArea .txt {
    margin: 0 0 30px;
    font-size: 1.5rem;
  }
  .protect .borderBox .txtArea .btnLink {
    width: 150px;
    margin-bottom: 15px;
  }
  .protect .borderBox .txtArea .price {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .protect .borderBox .txtArea .price span {
    margin-right: 20px;
  }
}
